Author: Derick Rethans (derickr)
Date: 2024-05-20T10:19:09-05:00

Commit: 
https://github.com/php/web-wiki/commit/19c0cfab01a27652ba8a7bd26264cf6fb3edd661
Raw diff: 
https://github.com/php/web-wiki/commit/19c0cfab01a27652ba8a7bd26264cf6fb3edd661.diff

Add locally modified files

Changed paths:
  A  Backups.README
  A  
dokuwiki/.well-known/acme-challenge/dXC50O4ZzUHrxodq9uJLd5ii4EZxiAWasCEeTlcorM0
  A  dokuwiki/lib/plugins/doodle/lang/ca/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/es/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/fr/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/hu/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/it/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/nl/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/sv/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/zh-cn/lang.php
  A  dokuwiki/lib/plugins/doodle/lang/zh-tw/lang.php
  A  dokuwiki/lib/plugins/doodle/manager.dat
  A  dokuwiki/lib/plugins/doodle/plugin.info.txt
  A  dokuwiki/lib/plugins/htmlok/.github/workflows/release.yml
  A  dokuwiki/lib/plugins/htmlok/BaseSyntaxPlugin.php
  A  dokuwiki/lib/plugins/htmlok/LICENSE
  A  dokuwiki/lib/plugins/htmlok/README.md
  A  dokuwiki/lib/plugins/htmlok/conf/default.php
  A  dokuwiki/lib/plugins/htmlok/conf/metadata.php
  A  dokuwiki/lib/plugins/htmlok/lang/en/lang.php
  A  dokuwiki/lib/plugins/htmlok/lang/en/settings.php
  A  dokuwiki/lib/plugins/htmlok/manager.dat
  A  dokuwiki/lib/plugins/htmlok/plugin.info.txt
  A  dokuwiki/lib/plugins/htmlok/syntax/htmlblock.php
  A  dokuwiki/lib/plugins/htmlok/syntax/htmlok.php
  A  dokuwiki/lib/plugins/htmlok/syntax/phpblock.php
  A  dokuwiki/lib/plugins/htmlok/syntax/phpok.php
  A  systems/refresh-letsencrypt.sh
  M  .gitignore
  M  dokuwiki/conf/acl.auth.php
  M  dokuwiki/conf/entities.conf
  M  dokuwiki/conf/local.php
  M  dokuwiki/data/index/page.idx
  M  dokuwiki/data/media/wiki/dokuwiki-128.png


Diff:

diff --git a/.gitignore b/.gitignore
index 840cee6a..fe2169a9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
 /dokuwiki/data/
+*~
+*.bak
+/.duplicacy
 /dokuwiki/conf/users.auth.php
diff --git a/Backups.README b/Backups.README
new file mode 100644
index 00000000..d2ca3bfa
--- /dev/null
+++ b/Backups.README
@@ -0,0 +1,8 @@
+This directory is backed up on b2 via Restic.
+See /etc/restic and /etc/cron.daily/restic
+
+To see a list of backed up snapshots:
+source /etc/restic/cred
+restic snapshots
+
+To restore follow the docs at https://restic.readthedocs.io/en/stable/
diff --git 
a/dokuwiki/.well-known/acme-challenge/dXC50O4ZzUHrxodq9uJLd5ii4EZxiAWasCEeTlcorM0
 
b/dokuwiki/.well-known/acme-challenge/dXC50O4ZzUHrxodq9uJLd5ii4EZxiAWasCEeTlcorM0
new file mode 100644
index 00000000..e69de29b
diff --git a/dokuwiki/conf/acl.auth.php b/dokuwiki/conf/acl.auth.php
index 059431bf..05f466f7 100644
--- a/dokuwiki/conf/acl.auth.php
+++ b/dokuwiki/conf/acl.auth.php
@@ -9,20 +9,22 @@
 *      @ALL    1
 *      @phpcvs 16
 *      @user   1
+doc    @doc    2
+doc:*  @doc    8
+internals:references   barelon 2
+internals:windows      @wintendo       2
+internals:windows:*    @wintendo       8
+licenses:*     @ALL    0
+licenses:*     @phpcvs 16
+oauth:*        @ALL    0
+oauth:*        @phpcvs 16
+pear:* @pear   8
+phpng-upgrading        @php7upgrading  2
+rfc    @rfc    2
 rfc:*  @rfc    8
-rfc    @rfc    8
+systems        @systems        2
 todo:* @todo   8
-web:*  @web    8
-pear:* @pear   8
-vcs:*  @vcs    8
-internals:windows      @wintendo       8
-internals:windows:*    @wintendo       8
+usergroups     @usergroups     2
 usergroups:*   @usergroups     8
-usergroups     @usergroups     8
-licenses:*     @ALL            0
-licenses:*     @phpcvs         16
-doc:*  @doc    8
-doc    @doc    8
-phpng-upgrading        @php7upgrading  8
-oauth:*        @ALL            0
-oauth:*        @phpcvs         16
+vcs:*  @vcs    8
+web:*  @web    8
diff --git a/dokuwiki/conf/entities.conf b/dokuwiki/conf/entities.conf
index c0d653c1..66cdb4d4 100644
--- a/dokuwiki/conf/entities.conf
+++ b/dokuwiki/conf/entities.conf
@@ -4,19 +4,3 @@
 #
 # You can use HTML entities here, but it is not recommended because it may 
break
 # non-HTML renderers. Use UTF-8 chars directly instead.
-
-<->     ↔
-->      →
-<-      ←
-<=>     ⇔
-=>      ⇒
-<=      ⇐
->>      »
-<<      «
----     —
---      –
-(c)     ©
-(tm)    ™
-(r)     ®
-...     …
-
diff --git a/dokuwiki/conf/local.php b/dokuwiki/conf/local.php
index 20a0f1dc..4c47de64 100755
--- a/dokuwiki/conf/local.php
+++ b/dokuwiki/conf/local.php
@@ -27,5 +27,6 @@
 $conf['baseurl'] = getenv('web-wiki-development-setup-baseurl') ?: 
'https://wiki.php.net';
 $conf['plugin']['smtp']['smtp_host'] = 'mailout.php.net';
 $conf['plugin']['smtp']['smtp_ssl'] = 'tls';
+$conf['plugin']['htmlok']['htmlok'] = 1;
 
 // end auto-generated content
diff --git a/dokuwiki/data/index/page.idx b/dokuwiki/data/index/page.idx
index e69de29b..f2cb5239 100755
--- a/dokuwiki/data/index/page.idx
+++ b/dokuwiki/data/index/page.idx
@@ -0,0 +1,1565 @@
+doc:articles:localdocsetup
+doc:articles:newtranslation
+doc:articles:nomenclature
+doc:articles:phd_ide
+doc:articles:updating-markup
+doc:articles:whitespace
+doc:articles:writing-tests
+doc:faq:internals
+doc:howto:communication
+doc:howto:docbook
+doc:howto:editing
+doc:howto:faq
+doc:howto:gettingstarted
+doc:howto:pecldocs
+doc:howto:skeletons
+doc:howto:structure
+doc:howto:styleguide
+doc:howto:translations
+doc:installation:debian
+doc:phd:faq
+doc:phd:install
+doc:phd:usage
+doc:phd:view
+doc:scratchpad:howto:checkout
+doc:scratchpad:howto:faq
+doc:scratchpad:upgrade:53
+doc:scratchpad:benchmark
+doc:scratchpad:howto
+doc:scratchpad:namespacefaq
+doc:scratchpad:pecldocs
+doc:scratchpad:upgrade
+doc:scratchpad:wheretohelp
+doc:skeletons:book
+doc:skeletons:configure
+doc:skeletons:constants
+doc:skeletons:examples
+doc:skeletons:function
+doc:skeletons:ide-function
+doc:skeletons:ini
+doc:skeletons:oo
+doc:skeletons:reference
+doc:skeletons:setup
+doc:skeletons:structure
+doc:todo:translations:refstruct-progress
+doc:todo:changelog
+doc:todo:gwynne
+doc:todo:include
+doc:todo:inicleanup
+doc:todo:install
+doc:todo:installrole
+doc:todo:kalle
+doc:todo:logdownloads
+doc:todo:missingdocs
+doc:todo:mysqlnd_vs_libmysql
+doc:todo:peehaa
+doc:todo:per-release-all
+doc:todo:per-release-major
+doc:todo:per-release-minor
+doc:todo:phd
+doc:todo:philip
+doc:todo:php5rewrite
+doc:todo:ross
+doc:todo:rsync_doc_build_migration
+doc:todo:spldocs
+doc:todo:translations
+doc:todo:undocumented
+doc:todo:yearly
+doc:translations:pt_br
+doc:articles
+doc:builds
+doc:editor
+doc:feeds
+doc:git
+doc:howto
+doc:installation
+doc:phd
+doc:scratchpad
+doc:todo
+doc:translations
+gsoc:2009:api
+gsoc:2009:benchmarks
+gsoc:2009:bugtracker
+gsoc:2009:ideas
+gsoc:2009:introduction
+gsoc:2009:phdoe
+gsoc:2009:phdplugins
+gsoc:2009:report_template
+gsoc:2009:runtests
+gsoc:2009:xdebug
+gsoc:2008
+gsoc:2009
+gsoc:2010
+gsoc:idea_template
+gsoc:planning_2009
+ideas:automaticcodechecker
+ideas:bugsupdate
+ideas:buildbot
+ideas:bytecodetollvm
+ideas:dependencyinterfaceapi
+ideas:fastcgiwork
+ideas:getinvolved
+ideas:gtkcodecomplete
+ideas:integratedcodecoverage
+ideas:patchserver
+ideas:phplogin
+ideas:phpnetauth
+ideas:phpnetmirroring
+ideas:phpnetsearch
+ideas:phpnetsearchsqlite
+ideas:runtests
+ideas:template
+ideas:usercomments
+internals:cmake:notes
+internals:cmake:status
+internals:engine:objects
+internals:pdo:brainstorming
+internals:windows:libs:apache22
+internals:windows:libs:bindlib
+internals:windows:libs:bzip2
+internals:windows:libs:cclient
+internals:windows:libs:dba
+internals:windows:libs:dirent
+internals:windows:libs:enchant
+internals:windows:libs:firebird
+internals:windows:libs:freetype
+internals:windows:libs:frontbase
+internals:windows:libs:gettext
+internals:windows:libs:glib
+internals:windows:libs:gmp
+internals:windows:libs:ibm_db2
+internals:windows:libs:icu
+internals:windows:libs:ldap
+internals:windows:libs:libcurl
+internals:windows:libs:libiconv
+internals:windows:libs:libjpeg
+internals:windows:libs:libmcrypt
+internals:windows:libs:libpg
+internals:windows:libs:libpng
+internals:windows:libs:libsasl
+internals:windows:libs:libssh2
+internals:windows:libs:libvpx
+internals:windows:libs:libxml2
+internals:windows:libs:libxmp
+internals:windows:libs:libxslt
+internals:windows:libs:mpir
+internals:windows:libs:mysqlnd
+internals:windows:libs:openssl
+internals:windows:libs:oracle
+internals:windows:libs:pcre
+internals:windows:libs:qdbm
+internals:windows:libs:smnp
+internals:windows:libs:tidy
+internals:windows:libs:zlib
+internals:windows:bugs2discuss
+internals:windows:compiler
+internals:windows:installer
+internals:windows:libs
+internals:windows:links
+internals:windows:peclbuilds
+internals:windows:pgobuild
+internals:windows:release
+internals:windows:releasenotes
+internals:windows:stepbystepbuild
+internals:windows:todo
+internals:windows:todocumentdev
+internals:windows:windowssdk
+internals:buildbot
+internals:cmake
+internals:engine
+internals:extensions
+internals:module_api_no
+internals:pdo
+internals:reciew_comments
+internals:references
+internals:review_comments
+internals:start
+internals:unicodeissues
+internals:windows
+internals:zend_mm
+issuetracker:docs
+issuetracker:git
+issuetracker:midterm
+issuetracker:specs
+issuetracker:template
+issuetracker:userauth
+pear:group:meetingagenda:20070513
+pear:group:meetingagenda:20070520
+pear:group:meetingagenda:20070603
+pear:group:meetingagenda:20070708
+pear:group:meetingagenda:20080406
+pear:group:meetingagenda:20080622
+pear:group:meetingagenda:20080713
+pear:group:meetingagenda:20080803
+pear:group:meetingagenda:20080824
+pear:group:meetingagenda:20080914
+pear:group:meetingagenda:20081005
+pear:group:meetingagenda:20090107
+pear:group:meetingagenda:20090816
+pear:group:meetingagenda:20090906
+pear:group:meetingagenda:20090920
+pear:group:meetingagenda:20100117
+pear:group:goals
+pear:group:meetingagenda
+pear:gsoc:2009
+pear:packages:file_bittorrent:documentation
+pear:packages:file_bittorrent:download
+pear:packages:file_bittorrent
+pear:packages:file_bittorrent2
+pear:packages:image_qrcode
+pear:packages:mdb2_schema
+pear:packages:migration
+pear:packages:numbers_words
+pear:packages:opendocument
+pear:packages:payment_process
+pear:packages:payment_process2
+pear:packages:pear2_package_wishlist
+pear:packages:services_amazon
+pear:packages:spreadsheet_excel_writer
+pear:pear2:pyrus:backport_to_pear
+pear:pear2:pyrus:roadmap
+pear:pear2:pyrus:sitemap
+pear:pear2:migration
+pear:pear2:pear2.php.net
+pear:pear2:pyrus
+pear:qa:bug_triage:2008-03-22
+pear:qa:bug_triage:2008-04-06
+pear:qa:bug_triage:2008-05-03
+pear:qa:bug_triage:2008-07-13
+pear:qa:bug_triage:2008-08-02
+pear:qa:bug_triage:2008-08-23
+pear:qa:bug_triage:2008-09-14
+pear:qa:bug_triage:2008-10-04
+pear:qa:bug_triage:2008-10-25
+pear:qa:bug_triage:2008-11-15
+pear:qa:bug_triage:2008-12-06
+pear:qa:bug_triage:2008-12-28
+pear:qa:bug_triage:2009-01-17
+pear:qa:bug_triage:2009-02-07
+pear:qa:bug_triage:2009-03-21
+pear:qa:bug_triage
+pear:qa:ci
+pear:qa:documentation
+pear:qa:mentoring
+pear:qa:policy
+pear:rfc:pear2_standards:controversial_changes
+pear:rfc:pear2_class_naming
+pear:rfc:pear2_exception_policy
+pear:rfc:pear2_naming_standards
+pear:rfc:pear2_policy
+pear:rfc:pear2_standards
+pear:rfc:pear2_versioning_standard_revision
+pear:rfc:pear_package_release_protocol
+pear:rfc:rfc_policy
+pear:faq
+pear:git
+pear:group
+pear:gsoc
+pear:packages
+pear:pear2
+pear:qa
+pear:rfc
+pecl:apc:todo:31
+pecl:apc:todo:40
+pecl:apc:meeting
+pecl:web:todo:svn_auth
+pecl:web:todo
+pecl:apc
+pecl:mysqlnd_ms
+pecl:mysqlnd_poc_plugins
+pecl:web
+php-gtk:gtkphd
+playground:playground
+qa:runtests:decisions:codingstandards
+qa:runtests:decisions:design
+qa:runtests:decisions:notimplemented
+qa:runtests:documentation:commandline
+qa:runtests:documentation:performance
+qa:runtests:configure
+qa:runtests:decisions
+qa:runtests:development
+qa:runtests:difference
+qa:runtests:differencemac
+qa:runtests:differencemac4
+qa:runtests:differencewindows
+qa:runtests:documentation
+qa:runtests:howtorun
+qa:runtests:qa
+qa:runtests:requirements
+qa:runtests:todos
+qa:temp:ext:curl
+qa:testfest:webdev
+qa:testfest-2010:mac-test-environment
+qa:testfest-2010:ubuntu-test-environment
+qa:testfest-2010:windows-test-environment
+qa:credits
+qa:organisers
+qa:phptlessonslearned
+qa:runtests
+qa:screencasts
+qa:svnnote
+qa:testcoverage
+qa:testfest-2010
+qa:testfest
+qa:testfestmentors
+qa:testfesttalk
+qa:uploading
+qa:whattotest
+rfc:apxs-loadmodule:results
+rfc:closures:object-extension
+rfc:closures:removal-of-this
+rfc:datetime_and_daylight_saving_time:vote
+rfc:dvcs:vote
+rfc:fpm:ini_syntax
+rfc:functional-elements:call-iterator
+rfc:functional-elements:is-traversable
+rfc:functional-elements:iterate
+rfc:peclversioning:solution1
+rfc:peclversioning:solution2
+rfc:propertygetsetsyntax-as-implemented:change-requests
+rfc:releaseprocess:vote
+rfc:remove_zend_api:scratchpad
+rfc:session-oo:vote
+rfc:shortsyntaxforarrays:vote
+rfc:socketactivation:activate.patch
+rfc:socketactivation:build.patch
+rfc:spl-improvements:data-structures
+rfc:spl-improvements:exceptions
+rfc:splclassloader:vote
+rfc:string-size_t:progress
+rfc:voting:vote
+rfc:weakreferences:vote
+rfc:64bit-integer-type
+rfc:allow_multiple_simultaneous_syslog_connections
+rfc:alternative_callback_syntax
+rfc:altmbstring
+rfc:annotations-in-docblock
+rfc:annotations
+rfc:anonymous_catch
+rfc:anonymous_classes
+rfc:apxs-loadmodule
+rfc:argument_unpacking
+rfc:array_column
+rfc:array_count_handlers
+rfc:array_delete
+rfc:array_part
+rfc:ast_based_parsing_compilation_process
+rfc:autoboxing
+rfc:autodefine
+rfc:autofunc
+rfc:autoload_include
+rfc:autoloader_error_handling
+rfc:automatic_get_set_methods
+rfc:automatic_property_initialization
+rfc:backslashnamespaces
+rfc:backwards_compatibility
+rfc:better_benchmarks
+rfc:binnotation4ints
+rfc:boxingandunboxing
+rfc:builtincrypt
+rfc:builtinwebserver
+rfc:callable
+rfc:calltimebyref
+rfc:changes_to_include_and_require
+rfc:class_casting_to_scalar
+rfc:class_name_scalars
+rfc:class_properties_initialization
+rfc:cli-strict
+rfc:cli_process_title
+rfc:closures
+rfc:comparable
+rfc:comparison_inconsistency
+rfc:const_scalar_expressions
+rfc:const_scalar_expressions2
+rfc:const_scalar_exprs
+rfc:constdereference
+rfc:constructor-promotion
+rfc:cookie_max-age
+rfc:crypt_function_salt
+rfc:csrandombytes
+rfc:curl-file-upload
+rfc:curl-wrappers-removal-rfc
+rfc:currying
+rfc:customfactories
+rfc:datetime-tostring
+rfc:datetime_and_daylight_saving_time
+rfc:datetime_tostring
+rfc:debugoptions
+rfc:default_encoding
+rfc:deprecated-modifier
+rfc:docblockparser
+rfc:drop_sql.safe_mode
+rfc:dtrace
+rfc:dvcs
+rfc:dvcsmigration
+rfc:e-user-deprecated-warning
+rfc:empty_isset_exprs
+rfc:engine_exceptions
+rfc:enhanced_error_handling
+rfc:enum
+rfc:error-formatting-for-developers
+rfc:error-optimizations
+rfc:error_reporting_e_notice
+rfc:errors_as_exceptions
+rfc:escaper
+rfc:expectations
+rfc:extdep
+rfc:extensions_load_order
+rfc:extensionsiberia
+rfc:fcallfcall
+rfc:finally
+rfc:foreach-non-scalar-keys
+rfc:foreachlist
+rfc:fpm
+rfc:fpm_change_hat
+rfc:free-json-parser
+rfc:function_autoloading
+rfc:function_autoloading2
+rfc:functional-elements
+rfc:functionarraydereferencing
+rfc:functiongetentropy
+rfc:generators
+rfc:get-random
+rfc:grisu3-strtod
+rfc:hash_pbkdf2
+rfc:heredoc-with-double-quotes
+rfc:horizontalreuse
+rfc:howto
+rfc:ifsetor
+rfc:improved-parser-error-message
+rfc:incompat_ctx
+rfc:indirect-method-call-by-array-var
+rfc:instance-method-call
+rfc:instance_counter
+rfc:internal_serialize_api
+rfc:invokable
+rfc:isset-set-operator
+rfc:iteration-tools
+rfc:jenkins
+rfc:jsonable
+rfc:karma-ml
+rfc:keywords_as_identifiers
+rfc:ldap_modify_batch
+rfc:lemon
+rfc:linecontrol
+rfc:list_reference_assignment
+rfc:logicalshiftoperator
+rfc:loop_else
+rfc:lsb_parentself_forwarding
+rfc:magicquotes
+rfc:magicquotes_finale
+rfc:managinglisttraffic
+rfc:mixin
+rfc:mysql_deprecation
+rfc:mysqlnd_localhost_override
+rfc:named_params
+rfc:namedparameters
+rfc:namespace-importing-with-from
+rfc:namespacecurlies
+rfc:namespaceissues
+rfc:namespaceref
+rfc:namespaceresolution
+rfc:namespaces-for-internal-classes
+rfc:namespaces
+rfc:namespaces_encapsulation
+rfc:namespaceseparator
+rfc:negative-index-support
+rfc:nested_classes
+rfc:new-output-api
+rfc:newinis
+rfc:nonbreakabletraits
+rfc:nophptags
+rfc:object-model-improvements
+rfc:object_cast_magic
+rfc:object_cast_to_types
+rfc:objectarrayliterals
+rfc:operator_overloading_gmp
+rfc:optimizerplus
+rfc:optional-t-function
+rfc:parameter_type_casting_hints
+rfc:password_hash
+rfc:pdonotices
+rfc:pdov1
+rfc:peclversioning
+rfc:performanceimprovements
+rfc:php-array-api
+rfc:php6-rethink
+rfc:php53eol
+rfc:php_ini_bcmath_default
+rfc:php_native_interface
+rfc:phpdbg
+rfc:phpp
+rfc:phpvcs
+rfc:pow-operator
+rfc:preg_extract
+rfc:propertygetsetsyntax-alternative-typehinting-syntax
+rfc:propertygetsetsyntax-as-implemented
+rfc:propertygetsetsyntax-implementation-details
+rfc:propertygetsetsyntax-v1.1
+rfc:propertygetsetsyntax-v1.2
+rfc:propertygetsetsyntax
+rfc:protectedlookup
+rfc:protocol_type_hinting
+rfc:prototype_checks
+rfc:prototypecasting
+rfc:reflection_doccomment_annotations
+rfc:releaseprocess
+rfc:releaseprocessalternatives
+rfc:removal-of-deprecated-features
+rfc:remove_preg_replace_eval_modifier
+rfc:remove_zend_api
+rfc:request-tempnam
+rfc:returntypehint
+rfc:returntypehint2
+rfc:ripples
+rfc:rounding
+rfc:runtimecache
+rfc:scalar_type_hinting_with_cast
+rfc:second_arg_to_preg_callback
+rfc:secure_unserialize
+rfc:sendrecvmsg
+rfc:session-oo
+rfc:session_regenerate_id
+rfc:session_upload_progress
+rfc:short-syntax-for-anonymous-function
+rfc:short-syntax-for-anonymous-functions
+rfc:short-syntax-for-anonymus-functions
+rfc:shortags
+rfc:shortsyntaxforarrays
+rfc:shortsyntaxforfunctions
+rfc:site_voting_poll
+rfc:size_t_and_int64
+rfc:skipparams
+rfc:slim_post_data
+rfc:socketactivation
+rfc:source_files_without_opening_tag
+rfc:spl-improvements
+rfc:spl-namespace
+rfc:splclassloader
+rfc:splweaktypehintingwithautoboxing
+rfc:stackable_error_handler
+rfc:static-classes
+rfc:streamline-phar-api
+rfc:streammetadata
+rfc:streamwrapper-factory
+rfc:strict_sessions
+rfc:strncmpnegativelen
+rfc:svnexternals
+rfc:taint
+rfc:template
+rfc:tls-peer-verification
+rfc:tls
+rfc:trailing-comma-function-args
+rfc:traits
+rfc:traitsmodifications
+rfc:true-nested-function-support
+rfc:tsrmls-fetch-reduction
+rfc:typechecking
+rfc:typecheckingparseronly
+rfc:typecheckingstrictandweak
+rfc:typecheckingstrictonly
+rfc:typecheckingweak
+rfc:typehint
+rfc:uconverter
+rfc:unset_bool
+rfc:url_dots
+rfc:use_function
+rfc:useas
+rfc:variadics
+rfc:voting
+rfc:voting_who
+rfc:weakreferences
+rfc:zendsignals
+rfc:zpp_improv
+summits:pdmnotesmay09
+systems:backups
+systems:bk1
+systems:dp1
+systems:euk1
+systems:euk2
+systems:ez1
+systems:git
+systems:idle
+systems:k1
+systems:micfo1
+systems:micfo2
+systems:munin
+systems:nex1
+systems:nex2
+systems:osu1
+systems:osu1php
+systems:oti1
+systems:oti2
+systems:ovh
+systems:pb1
+systems:pb11
+systems:pb12
+systems:rl
+systems:rl2
+systems:rs1
+systems:sc1
+systems:sgrv1
+systems:sgrv3
+systems:sgvr2
+systems:sp1
+systems:sp2
+systems:sph1
+systems:svn2
+systems:y1
+systems:y2
+systems:y3
+todo:ext:wddx
+todo:php54:vote
+todo:php531:log
+todo:backlog
+todo:ext
+todo:infrastructure
+todo:pdounicode
+todo:pecl
+todo:php44
+todo:php52
+todo:php53
+todo:php54
+todo:php55
+todo:php56
+todo:php60
+todo:php531
+todo:tests54
+todo:undoc54
+todo:wiki
+user:hartmut:index
+user:hartmut
+usergroups:handbook:sponsorship
+usergroups:handbook
+vcs:svnfaq:firefighting
+vcs:cvs2svnconversion
+vcs:cvs_related_scripts
+vcs:cvstosvnmigration
+vcs:gitfaq-usecases
+vcs:gitfaq
+vcs:gitworkflow
+vcs:https-svn
+vcs:svnfaq
+web:redesign:howtohelp
+web:redesign:mockups
+web:redesign:sitemap
+web:faq
+web:howtohelp
+web:mirror
+web:redesign
+web:redesign_take2
+wiki:dokuwiki
+wiki:syntax
+wiki:welcome
+wiki.php.net:qa:runtests:configuration
+corementorship
+doc
+gsoc
+ideas
+internals
+issuetracker
+pear
+pecl
+php-gtk
+platforms
+qa
+rfc
+start
+summits
+svnmigration
+systems
+temporary_location_for_draft_documentation
+todo
+usergroups
+vcs
+web
+xfail_poll
+rfc:alpanumeric_decrement
+doc:todo:salathe
+rfc:normalize_inc_dec
+rfc:session-lock-ini
+rfc:timing_attack
+rfc:base-convert
+usergroups:handbook:finding_a_venue
+usergroups:handbook:organisation
+rfc:gmp_number
+rfc:gmp-floating-point
+usergroups:handbook:promotion
+rfc:arrayof
+multibyte_char_handling
+rfc:multibyte_char_handling
+arrayof
+rfc:debug-info
+rfc:consistent-names
+rfc:removal_of_dead_sapis
+rfc:moduleapi-inspection
+rfc:tempnam-suffix
+rfc:improved-tls-defaults
+rfc:secure-session-options-by-default
+rfc:secure-html-escape
+rfc:build-openssl-by-default
+rfc:inconsiste-behaviors
+rfc:inconsistent-behaviors
+rfc:size_t_and_int64_next
+rfc:combined-comparison-operator
+rfc:unified-crypt-source
+rfc:unified-crypto-source
+ideas:php6
+ideas:php6:unicode
+ideas:php6:engine
+rfc:deprecate-ini-functions
+rfc:session-gc
+systems:sgrv4
+rfc:session-read_only-lazy_write
+rfc:returntypehinting
+rfc:nullable_parameters
+rfc:nullable_typehints
+rfc:travis_ci
+rfc:string-bitwise-shifts
+rfc:test
+todo:php57:windows
+rfc:catchable-call-to-member-of-non-object
+phpng
+phpng-int
+phpng-upgrading
+rfc:session.user.return-value
+rfc:phpng64
+rfc:fast_zpp
+rfc:reflectionparameter.typehint
+rfc:uniform_variable_syntax
+rfc:bare_name_arrays
+rfc:bare_name_array_literal
+rfc:bare_name_array_dereference
+web:people
+rfc:pickle
+rfc:bigint
+rfc:php6
+rfc:deprecate_mcrypt_rand
+rfc:intdiv
+rfc:use-php_mt_rand
+rfc:phpng
+rfc:password_hash_spec
+rfc:imagettf_deprecation
+rfc:abstract_syntax_tree
+rfc:closure_apply
+rfc:binary_string_comparison
+licenses
+licenses:jetbrains:intellij
+licenses:jetbrains:phpstorm
+licenses:visualstudio:visualsvn
+rfc:function_referencing
+rfc:switch.default.multiple
+usergroups:handbook:starting_a_user_group
+rfc:native_regular_expressions
+rfc:php7_57_roadmap
+rfc:pecl_http
+rfc:remove_hex_support_in_numeric_strings
+rfc:integer_semantics
+todo:php7:upgrading_64bit
+rfc:better_type_names_for_int64
+rfc:heredoc-scanner-loosening
+rfc:isset_ternary
+rfc:remove_alternative_php_tags
+rfc:fix_list_behavior_inconsistency
+rfc:remove_deprecated_functionality_in_php7
+rfc:pack_unpack_64bit_formats
+rfc:loop_default
+rfc:loop_or
+rfc:checkdnsrr-default-type
+rfc:zpp_fail_on_overflow
+rfc:sync
+rfc:engine_exceptions_for_php7
+rfc:aliases_by_reflection
+rfc:safe_cast
+rfc:php7timeline
+systems:sgvr20
+rfc:ustring
+rfc:objkey
+rfc:anonymous_classes_v2
+rfc:hashkey
+rfc:nullsafe_calls
+rfc:readonly_properties
+rfc:linking_in_stream_wrappers
+rfc:additional-splat-usage
+rfc:experimental
+rfc:http-interface
+rfc:github-pr
+systems:museum
+rfc:default_ctor
+systems:downloads.php.net
+systems:downloads
+rfc:remove_php4_constructors
+rfc:native-tls
+rfc:change_required_votes_to_two_thirds
+rfc:unicode_escape
+rfc:intl.char
+rfc:abstract_final_class
+rfc:gc_fn_pointer
+rfc:scalar_type_hints
+rfc:php57
+rfc:json_preserve_fractional_part
+rfc:case-sensitivity
+rfc:jsond
+rfc:streams-is-cacheable
+rfc:extension_prepend_files
+rfc:cyclic-replace
+rfc:array-to-string
+rfc:return_types
+rfc:nullable_types
+rfc:removal_of_dead_sapis_and_exts
+rfc:remove_re2c_generated_files
+systems:sc2
+rfc:date.timezone_warning_removal
+rfc:error_handler_callback_parameters_passed_by_reference
+rfc:batch_use_declarations
+rfc:php7_foreach
+rfc:group_use_declarations
+rfc:my_rfc
+rfc:deprecate_ini_set_get_aliases
+rfc:reflectionparameter-getclassname
+rfc:in_operator
+rfc:internal_function_return_types
+rfc:dbc
+rfc:script_and_script_once
+rfc:scalar_type_hints_v_0_1
+rfc:script_only_require
+rfc:script_path
+rfc:reserve_primitives
+rfc:dbc2
+rfc:script_only_include
+intenals:windows:libs:apache22
+rfc:undeterministic_exceptions
+rfc:void_return_type
+rfc:sum_types
+rfc:context_sensitive_lexer
+rfc:parser-extension-api
+rfc:zpp-conversion-rules
+rfc:scalar_type_hints_v5
+rfc:reserving_scalar_type_names
+rfc:reserve_more_types_in_php_7
+rfc:continue_ob
+rfc:generator-return-expressions
+rfc:encapsulation
+rfc:coercive_sth
+rfc:variadic_empty
+rfc:reserve_even_more_types_in_php_7
+rfc:easy_userland_csprng
+rfc:strict_argcount
+rfc:reclassify_e_strict
+rfc:allow_url_include
+rfc:introduce_design_by_contract
+rfc:internal_constructor_behaviour
+rfc:consistent_function_names
+rfc:generator-delegation
+rfc:class_const_visibility
+rfc:preg_replace_callback_array
+rfc:union_types
+rfc:basic_scalar_types
+rfc:improved_error_callback_mechanism
+rfc:timing_safe_encoding
+rfc:throwable
+notrfc:scalar_type_hints
+rfc:introduce-type-affinity
+rfc:precise_session_management
+rfc:apache_tail_request
+wiki:phpml
+wiki:phpbugid
+rfc:small_features
+wiki:phplinks
+rfc:json_numeric_as_string
+rfc:static_class_constructor
+rfc:generics
+todo:php70
+rfc:assert
+rfc:short_closures
+systems:pecl
+rfc:php8
+rfc:php8:merge_symbol_tables
+rfc:libsodium
+rfc:throwable-interface
+rfc:additional_soft_reservations_for_php7
+rfc:jsonserializable
+rfc:property_type_hints
+rfc:drop-datetimeinterface
+rfc:sql_injection_protection
+rfc:precise_float_value
+rfc:csprng_exceptions
+doc:translations:pt_br_fast
+rfc:core-function-exceptions
+rfc:random-function-exceptions
+rfc:range_checks_for_64_bit
+rfc:callable-types
+doc:translations:pt_br_svn
+doc:translations:pt_br_github
+doc:translations:pt_br_git
+rfc:closurefromcallable
+rfc:consistent_callables
+rfc:curl_http2_push
+rfc:arrow_functions
+php-7.1-ideas
+rfc:revisit-trailing-comma-function-args
+internals:windows:todo_bak_0
+rfc:kill_real
+rfc:list-syntax-trailing-commas
+rfc:retry-keyword
+rfc:list_default_value
+rfc:resource_typehint
+licenses:jetbrains:start
+licenses:jetbrains
+rfc:php56timeline
+rfc:array_key_first_last_index
+rfc:friend-classes
+systems:euk3
+security_fixes
+rfc:number_format_separator
+rfc:deprecations_php_7_1
+rfc:secure_serialization
+release:5.5.31
+rfc:on_demand_name_mangling
+rfc:openssl_aead
+rfc:operator-overloading
+rfc:assignment-overloading
+rfc:deprecate_mb_ereg_replace_eval_option
+rfc:adopt-code-of-conduct
+rfc:token-get-always-tokens
+rfc:invalid_strings_in_arithmetic
+rfc:cli_server_http2
+rfc:mcrypt-viking-funeral
+rfc:foreach_void
+rfc:php71-crypto
+rfc:google_groups
+release:5.5.32
+release:7.0.3
+release:5.6.18
+rfc:list_keys
+rfc:start
+rfc:simplified_named_params
+rfc:negative-string-offsets
+rfc:php_engine_constant
+adopt-code-of-conduct:guidelines
+rfc:generic-arrays
+release:5.5.33
+rfc:traits-with-interfaces
+rfc:var_deprecation
+release:7.0.4
+rfc:callableconstructors
+rfc:strict_return_types
+rfc:multiple-catch
+rfc:null_coalesce_equal_operator
+rfc:short_ternary_equal_operator
+rfc:intl.timezone.get-windows-id
+release:7.0.5
+rfc:typed-properties
+release:5.5.34
+rfc:nikita_popov
+rfc:typesafe-callable
+rfc:short_list_syntax
+rfc:session-id-without-hashing
+rfc:callable-interfaces
+rfc:apprise_on_invalid_arithmetic_operands
+rfc:nullable_return_types
+rfc:sourcemaps
+rfc:session-create-id
+rfc:exception_bt_provide_object
+rfc:intl.charset-detector
+rfc:octal.overload-checking
+rfc:nullable_returns
+rfc:functional-interfaces
+release:5.5.35
+rfc:lexican-anon
+rfc:lexical-anon
+release:7.0.6
+rfc:hash-functions-empty-key-warning
+rfc:attributes
+todo:php71
+rfc:intersection_types
+rfc:forbid_null_this_in_methods
+rfc:pipe-operator
+rfc:new-curl-error-functions
+rfc:forbid_dynamic_scope_introspection
+rfc:rng_fixes
+rfc:automatic_csrf_protection
+release:5.5.36
+rfc:load-ext-by-name
+rfc:rfc.third-party-editing
+rfc:simple-annotations
+rfc:this_var
+usergroups:community
+usergroups:communitymeetup-tek2016
+rfc:array_change_keys
+rfc:too_few_args
+rfc:reflectiontypeimprovements
+rfc:constant_redefinition
+rfc:iterable
+release:5.6.23
+release:5.5.37
+rfc:throw_error_in_extensions
+conferences
+rfc:additional-context-in-pcntl-signal-handler
+rfc:async_signals
+rfc:var_type
+rfc:var_info
+release:5.5.38
+rfc:session-use-strict-mode
+rfc:argon2_password_hash
+release:5.6.24
+release:7.0.9
+rfc:escaping_operator
+rfc:notice-for-non-valid-array-container
+rfc:structured_object_notation
+rfc:add_str_begin_and_end_functions
+rfc:add_validate_functions_to_filter
+rfc:umaintained_extensions
+rfc:socket_getaddrinfo
+rfc:partial_function_application
+rfc:object-typehint
+rfc:immutability
+rfc:get_class_disallow_null_parameter
+rfc:remove_utf_8_decode_encode
+release:5.6.25
+release:7.0.10
+internals:release-managers
+rfc:deprecate-pear-include-composer
+rfc:uniqid
+rfc:namespace_scoped_declares
+rfc:comparator_interface
+rfc:request_response
+rfc:replace_parse_url
+rfc:counting_non_countables
+rfc:deprecate-png-jpeg-2wbmp
+start:rfc:debugging_pdo_prepared_statement_emulation
+rfc:debugging_pdo_prepared_statement_emulation
+rfc:openssl.bignum
+rfc:driver-specific-pdo-param-types
+rfc:convert_numeric_keys_in_object_array_casts
+security
+rfc:deprecations_php_7_2
+rfc:security-classification
+rfc:user_defined_session_serializer
+rfc:abolish-narrow-margins
+rfc:debugging_pdo_prepared_statement_emulation_v2
+internals:windows:buildv2
+rfc:parameter-no-type-variance
+rfc:typed-properties-v2
+rfc:arrayiterator-improvements
+usergroups:handbook:resources
+rfc:distrust-sha1-certificates
+systems:php-smtp2
+systems:php-jump1
+systems:php-jump2
+systems:php-web2
+systems:php-git1
+rfc:soap_get_location
+rfc:class-like_primitive_types
+rfc:chaining_comparison
+rfc:binary_string_deprecation
+rfc:throwable-code-generalization
+rfc:pdo_escape_placeholders
+rfc:hash-context.as-resource
+rfc:deprecate-and-remove-intl_idna_variant_2003
+rfc:disallow-multiple-constructor-calls
+rfc:trailing_whitespace_numerics
+ideas:bugtracker
+rfc:ommit-double-slash-in-user-stream-wrapper-uri
+systems:sph2
+rfc:use-static-function
+rfc:deprecate-bareword-strings
+rfc:improve_predictable_prng_random
+rfc:improve_hash_hkdf_pramater
+rfc:improve_hash_hkdf_parameter
+internals:windows:stepbystepbuild_sdk_2
+rfc:inheritance_private_methods
+rfc:extended-string-types-for-pdo
+rfc:allow-abstract-function-override
+rfc:fallback-to-root-scope-deprecation
+rfc:allow-constant-override
+rfc:number_format_negative_zero
+rfc:pdo_float_type
+todo:php72
+rfc:negative_array_index
+rfc:curl_setopt_strict_types
+rfc:class_and_interface_name_types
+rfc:improved-tls-constants
+rfc:deprecate_pdo_null
+rfc:deprecate-uniqid
+rfc:uuid
+rfc:url-opcode-cache
+rfc:release-md5-deprecation
+rfc:doxygen
+rfc:class-naming
+rfc:namespaces-in-core
+rfc:arrow_function_preference
+rfc:unary_null_coalescing_operator
+rfc:short-closures
+rfc:ldap_exop
+rfc:ldap_controls
+rfc:same-site-cookie
+rfc:mixed-typehint
+qa:testfest-2009
+rfc:non_coercing_array_keys_in_strict_mode
+rfc:json_encode_decode_errors
+rfc:deprecations_php_7_3
+rfc:wddx-deprecate-class-instance-deserialization
+rfc:samesite_session_cookie
+rfc:operator_functions
+rfc:json_throw_on_error
+rfc:voting2017
+rfc:arbitrary_expression_interpolation
+gitstats_09_17
+rfc:fiber
+rfc:rfc.voting-threshold
+rfc:flexible_heredoc_nowdoc_indentation
+rfc:flexible_heredoc_nowdoc_syntaxes
+rfc:implement_sqlite_openblob_in_pdo
+rfc:trailing-commas-function-calls
+rfc:trailing-comma-function-calls
+rfc:pcre2-migration
+rfc:zend-vm-pause-api
+doc:todo:move_return_types_in_prototypes
+doc:todo:migrationguide
+rfc:explicit_send_by_ref
+rfc:deprecate-inconsistent-cast-keywords
+systems:wiki
+rfc:scalar-pseudo-type
+rfc:argon2_password_hash_enhancements
+rfc:is-countable
+rfc:null-propagation
+rfc:php8:merge_member_symbol_tables
+rfc:deprecate-backtick-operator
+rfc:default-session-strict-mode
+rfc:allow-constant-override-consistently
+todo:php73
+rfc:covariant-returns-and-contravariant-parameters
+rfc:image2wbmp
+rfc:weakrefs
+rfc:compact
+rfc:array_key_first_last
+rfc:typed_properties_v2
+todo:extensions
+rfc:iterable_to_array-and-iterable_count
+rfc:case_insensitive_constant_deprecation
+rfc:continue_on_switch_deprecation
+rfc:object-comparison
+rfc:deprecations_php_7_4
+rfc:check_and_set
+rfc:namespace-visibility
+rfc:nullable-casting
+rfc:permanent_hash_ext
+rfc:deprecate-and-remove-ext-wddx
+rfc:kill-csv-escaping
+rfc:parse_request_body_in_json
+rfc:spread_operator_for_array
+rfc:password_registry
+rfc:preload
+rfc:improve-openssl-random-pseudo-bytes
+rfc:ffi
+systems:sg1
+rfc:intl_ubidi
+rfc:mb_str_split
+rfc:iterable-stdclass
+rfc:code_free_constructor
+rfc:reference_reflection
+rfc:non_nullable_property_checks
+rfc:custom_object_serialization
+todo:php74
+rfc:jit
+rfc:voting2019
+rfc:allow-void-variance
+gitstats_02_19
+rfc:consistent_type_errors
+rfc:annotations_v2
+systems:php-git2
+voting
+zts-improvement
+rfc:remove_object_auto_vivification
+rfc:string_to_number_comparison
+rfc:array_reindex
+rfc:locked-classes
+rfc:comprehensions
+rfc:deprecate_curly_braces_array_access
+rfc:arrow_functions_v2
+rfc:dom_living_standard_api
+rfc:deprecate_php_short_tags
+rfc:abolish-short-votes
+rfc:deprecate-and-remove-ext-interbase
+rfc:concatenation_precedence
+rfc:suppressed_exceptions
+rfc:sodium.argon.hash
+rfc:review-discussion-period
+rfc:lsp_errors
+rfc:ternary_associativity
+cve
+rfc:clear-process
+rfc:tostring_exceptions
+rfc:numeric_literal_separator
+rfc:base_convert_improvements
+rfc:strict_operators
+rfc:unbundle_recode
+rfc:alternative-closure-use-syntax
+rfc:normalize-array-auto-increment-on-copy-on-write
+rfc:implement-strrstr-for-consistency
+rfc:add_str_begin_and_end_functions:vote
+rfc:unbunle-unmaintained-extensions-php8
+rfc:deprecations_php_8_0
+rfc:deprecate_php_short_tags_v2
+rfc:counterargument:deprecate_php_short_tags
+p:faq
+pplusplus:faq
+pplusplus:concerns
+rfc:p-plus-plus
+rfc:engine_warnings
+rfc:to-array
+rfc:object-initializer
+email_etiquette_for_people_new_to_php_internals
+rfc:prevent_disruptions_of_conversations
+rfc:declare_vars
+todo:ext:phar
+todo:ext:imap
+rfc:counterargument:prevent_disruptions_of_conversations
+rfc-index
+rfc:analysis:prevent_disruptions_of_conversations
+rfc:switch-expression-and-statement-improvement
+rfc:deprecate-backtick-operator-v2
+ideas:language-feature-usage-survey
+rfc:switch-expression
+rfc:union_types_v2
+rfc:php8_assertions
+pecl:releasing-a-pecl-package
+doc:todo:salathe:union_types_v2
+rfc:weak_maps
+rfc:use_global_elements
+rfc:variable_syntax_tweaks
+todo:ext:imap:xoauth2
+rfc:static_return_type
+rfc:class_name_literal_on_object
+rfc:stringable
+todo:initiatives
+rfc:userspace_operator_overloading
+doc:todo:gitdocs
+rfc:abstract_trait_method_validation
+rfc:calls_in_constant_expressions
+rfc:token_as_object
+rfc:get_debug_type
+rfc:platform_requirement_declares
+rfc:calls_in_constant_expressions_poll
+rfc:str_contains
+rfc:final_properties
+rfc:write_once_properties
+canyouvote
+rfc:increment_decrement_fixes
+rfc:attributes_v2
+rfc:compact-object-property-assignment
+rfc:locale_independent_float_to_string
+rfc:php_namespace_policy
+todo:php80
+rfc:throw_expression
+rfc:is_literal
+rfc:mixed_type_v2
+rfc:structs
+rfc:typecast_array_desctructuring
+rfc:php-namespace-in-core
+rfc:add_str_starts_with_and_ends_with_functions
+rfc:constructor_promotion
+rfc:trailing_comma_in_parameter_list
+rfc:switch_expression
+rfc:pdo_default_errmode
+rfc:var-export-array-syntax
+rfc:poll_switch_expression
+rfc:arithmetic_operator_type_checks
+rfc:magic-methods-signature
+rfc:non-capturing_catches
+rfc:rename-double-colon-token
+rfc:match_expression
+rfc:typehint_array_desctructuring
+rfc:pipe-operator-v2
+extensions-unmaintained
+rfc:unbundle_xmlprc
+rfc:always_enable_json
+systems:bugs.php.net
+rfc:deprecated_attribute
+indication_of_interest
+indication_of_interest:keep_type_of_reference_params
+rfc:add-cms-support
+rfc:scalar_extensions
+rfc:stable_sorting
+rfc:enum_v2
+rfc:guard_statement
+rfc:opcache.no_cache
+rfc:conditional_break_continue_return
+rfc:match_expression_v2
+rfc:instanceof_improvements
+rfc:attribute_amendments
+rfc:error_backtraces
+rfc:nullsafe_operator
+rfc:shorter_attribute_syntax
+rfc:change-terminology-to-allowlist-and-blocklist
+rfc:strict_operators:rfc
+rfc:strict_operators:faq
+rfc:reserve_keywords_in_php_8
+rfc:constructor_return_type
+rfc:namespaced_names_as_token
+rfc:change-terminology-to-excludelist
+rfc:make_ctor_ret_void
+rfc:readonly_and_immutable_properties
+rfc:property_write_visibility
+rfc:throwable_string_param_max_len
+rfc:saner-numeric-strings
+rfc:function_autoloading_v2
+rfc:trailing_comma_in_closure_use_list
+rfc:language-constructs-syntax-changes
+rfc:typed_class_constants
+rfc:stack-frame-class
+rfc:phar_stop_autoloading_metadata
+rfc:objects-can-be-falsifiable
+rfc:shorter_attribute_syntax_change
+rfc:renamed_parameters
+systems:edit-new
+rfc:any_and_on_iterable
+rfc:any_all_on_iterable
+oauth:applications
+rfc:fibers
+rfc:enumerations_and_adts
+rfc:short-functions
+rfc:explicit_octal_notation
+rfc:hash.context.oop
+rfc:closure_self_reference
+rfc:pattern-matching
+rfc:direct-execution-opcode
+rfc:enumerations
+rfc:deprecate_null_to_scalar_internal_arg
+rfc:restrict_globals_usage
+rfc:adts
+rfc:tagged_unions
+rfc:phase_out_serializable
+rfc:max_execution_wall_time
+rfc:short-match
+rfc:named_parameter_alias_attribute
+rfc:any_all_on_iterable_straw_poll
+rfc:is_list
+rfc:object_scope_prng
+rfc:readline_interactive_shell_result_function
+rfc:mysqli_execute_parameters
+rfc:improve_mysqli
+rfc:any_all_on_iterable_straw_poll_namespace
+rfc:readline_interactive_shell_result_function_straw_poll
+rfc:array_unpacking_string_keys
+rfc:object_keys_in_arrays
+rfc:new_error_handling
+rfc:mysqli_default_errmode
+rfc:readable_var_representation
+rfc:property_accessors
+rfc:fsync_function
+rfc:cachediterable
+rfc:mysqli_bind_in_execute
+rfc:static_variable_inheritance
+rfc:deprecations_php_8_1
+rfc:namespaces_in_bundled_extensions
+rfc:pdo-mysql-get-warning-count
+rfc:new_in_initializers
+rfc:implicit-float-int-deprecate
+rfc:internal_method_return_types
+rfc:noreturn_type
+rfc:deprecate_dollar_brace_string_interpolation
+rfc:debug_backtrace_depth
+rfc:println
+rfc:enumset
+rfc:autoload_classmap
+rfc:iterator_chaining
+rfc:auto-capture-lambda
+todo:php81
+rfc:auto-capture-closure
+rfc:resolve_symlinks
+rfc:mysqli_fetch_column
+vcs:commit-signing
+rfc:remove_utf8_decode_and_utf8_encode
+rfc:final_class_const
+rfc:sealed_classes
+rfc:intldatetimepatterngenerator
+rfc:pure-intersection-types
+rfc:deprecate_ticks
+rfc:enum_allow_static_properties
+internals:aarch64-cross-compile
+rfc:rng_extension
+rfc:first_class_callable_syntax
+rfc:autovivification_false
+rfc:cachediterable_straw_poll
+rfc:readonly_properties_v2
+rfc:json_encode_indentation
+rfc:make-reflection-setaccessible-no-op
+rfc:is_trusted
+rfc:deprecate-boolean-string-coercion
+rfc:clamp
+rfc:parse_str_alternative
+rfc:curl_user_agent
+rfc:deprecations_php_8_2
+rfc:nullable_intersection_types
+rfc:open_release_manifest
+rfc:readonly_classes
+rfc:foreach_unwrap_ref
+rfc:never_for_parameter_types
+rfc:user_defined_operator_overloads
+rfc:deprecate_dynamic_properties
+systems:windows
+rfc:deprecate_partially_supported_callables
+rfc:sorting_enum
+rfc:random_ext
+rfc:this_return_type
+qa:runtests:faq
+pecl:start
+rfc:vector
+rfc:deque
+rfc:strtolower-ascii
+rfc:null-standalone-type
+systems:bk2
+rfc:github_issues
+rfc:dnf_types
+internals:windows:libs:openblas
+internals:windows:libs:imagemagick
+internals:2021-end-of-year-releases
+rfc:shell_exec_result_code_param
+rfc:array_column_results_grouping
+rfc:the_naming_convention_for_internal_functions_arguments
+internals:windows:libs:libcouchbase
+rfc:is_not_instanceof
+rfc:allow_null
+rfc:mysqli_support_for_libmysql
+rfc:deque_straw_poll
+rfc:redact_parameters_in_back_traces
+redefine_constants_exception_strawpoll
+rfc:undefined_variable_error_promotion
+rfc:null-false-standalone-types
+rfc:arbitrary_string_interpolation
+rfc:raw-identifiers
+systems:tasks
+rfc:mysqli_execute_query
+rfc:undefined_property_error_promotion
+rfc:null_coercion_consistency
+rfc:true-type
+todo:php82
+rfc:partially-supported-callables-expand-deprecation-notices
+rfc:stricter_implicit_boolean_coercions
+rfc:global_login
+rfc:fetch_property_in_const_expressions
+systems:php-jump3
+systems:php-jump4
+rfc:random_extension_improvement
+rfc:pdo_driver_specific_subclasses
+rfc:iterator_xyz_accept_array
+rfc:constants_in_traits
+rfc:auto-implement_stringable_for_string_backed_enums
+rfc:curl-url-api
+rfc:interface-default-methods
+ideas:doodle_closeon_test
+rfc:asymmetric-visibility
+todo:php83
+rfc:deprecations_php_8_3
+rfc:is_json
+rfc:glob_streamwrapper_support
+rfc:json_validate
+rfc:improve_unserialize_error_handling
+rfc:randomizer_additions
+rfc:typedef
+rfc:destructuring_coalesce
+rfc:sqlite3_exceptions
+rfc:readonly_amendments
+rfc:clone_with
+rfc:unserialize_warn_on_trailing_data
+rfc:dynamic_class_constant_fetch
+rfc:arbitrary_static_variable_initializers
+rfc:unicode_text_processing
+rfc:datetime-exceptions
+rfc:list_assoc_unique
+rfc:property-hooks
+rfc:same-site-parameter
+rfc:saner-inc-dec-operators
+rfc:random_migration
+rfc:literal_string
+rfc:saner-array-sum-product
+rfc:file-descriptor-function
+rfc:include_cleanup
+rfc:pass_scope_to_magic_accessors
+rfc:working_with_substrings
+rfc:gd_image_export_import_pixels
+rfc:2d_matrix_operations
+rfc:typed_constants
+rfc:is_valid_utf8
+rfc:misc_variable_functions
+rfc:deprecate_functions_with_overloaded_signatures
+rfc:local_variable_types
+rfc:code_optimizations
+rfc:php_technical_committee
+rfc:deprecate-unuseful-crypt-constants
+rfc:saner-range-semantics
+rfc:proper-range-semantics
+rfc:core-autoloading
+rfc:allow_casting_closures_into_single-method_interface_implementations
+rfc:syntax-to-capture-variables-when-declaring-anonymous-classes
+rfc:structural-typing-for-closures
+rfc:allow-closures-to-declare-interfaces-they-implement
+rfc:property-capture
+rfc:treat_enum_instances_as_values
+rfc:collections
+rfc:marking_overriden_methods
+rfc:nameof
+rfc:access_scope_from_magic_accessors
+rfc:implicit_move_optimisation
+rfc:mb_str_pad
+rfc:assert-string-eval-cleanup
+rfc:array_group
+rfc:deprecations_php_8_4
+rfc:tempnam-suffix-v2
+rfc:domdocument_html5_parser
+rfc:match_blocks
+sytems:ez1
+rfc:new_rounding_modes_to_round_function
+rfc:bcrypt_cost_2023
+rfc:jit-ir
+rfc:xml_option_parse_huge
+rfc:integer-rounding
+rfc:unbundle_imap_pspell_oci8
+rfc:remove_disable_classes
+rfc:adding_bcround_bcfloor_bcceil_to_bcmath
+rfc:rfc1867-non-post
+rfc:mb_trim
+rfc:process_object_name
+rfc:change_the_edge_case_of_round
+todo:php84
+rfc:empty_function
+rfc:resource_to_object_conversion
+rfc:improve_callbacks_dom_and_xsl
+rfc:release_cycle_update
+rfc:jit_config_defaults
+rfc:final_anonymous_classes
+rfc:mixed_vs_untyped_properties
+systems:social
+rfc:not_serializable
+systems:php-web4
+rfc:policy-repository
+rfc:final_by_default_anonymous_classes
+rfc:new_without_parentheses
+rfc:http-last-response-headers
+rfc:date_improvements
+rfc:promote_php_foundation
+rfc:raising_zero_to_power_of_negative_number
+rfc:opt_in_dom_spec_compliance
+rfc:mb_ucfirst
+rfc:dedicated_stream_bucket
+rfc:deprecate-implicitly-nullable-types
+rfc:curl-oop
+rfc:sleep_function_float_support
+rfc:property-hooks:imsop-suggestion
+rfc:deprecate-get-post-sessions
+rfc:grapheme_str_split
+rfc:support_object_type_in_bcmath
+rfc:complete_callstatc_magic
+rfc:array_find
+rfc:mb_trim_change_characters
+rfc:class-naming-acronyms
+rfc:pdo_driver_specific_parsers
+rfc:define-negative-execution-time
+rfc:dom_additions_84
+rfc:data-classes
+rfc:correctly_name_the_rounding_mode_and_make_it_an_enum
+rfc:xmlreader_writer_streams
+rfc:structs-v2
+rfc:exit-as-function
diff --git a/dokuwiki/data/media/wiki/dokuwiki-128.png 
b/dokuwiki/data/media/wiki/dokuwiki-128.png
index f3f1d66b..b2306ac9 100644
Binary files a/dokuwiki/data/media/wiki/dokuwiki-128.png and 
b/dokuwiki/data/media/wiki/dokuwiki-128.png differ
diff --git a/dokuwiki/lib/plugins/doodle/lang/ca/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/ca/lang.php
new file mode 100755
index 00000000..16e132d2
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/ca/lang.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * translation by Raimon  <gwin...@auna.com>
+ */
+
+$lang['btn_submit'] = 'Envia';
+
+//Setup VIM: ex: et ts=4 enc=utf-8 :
+?>
diff --git a/dokuwiki/lib/plugins/doodle/lang/es/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/es/lang.php
new file mode 100755
index 00000000..c1d98d44
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/es/lang.php
@@ -0,0 +1,5 @@
+<?php
+ 
+  $lang['btn_submit'] = 'Enviar';
+ 
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/fr/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/fr/lang.php
new file mode 100755
index 00000000..3a75cf07
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/fr/lang.php
@@ -0,0 +1,5 @@
+<?php
+ 
+$lang['btn_submit'] = 'Envoyer';
+ 
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/hu/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/hu/lang.php
new file mode 100755
index 00000000..9e5d1aba
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/hu/lang.php
@@ -0,0 +1,5 @@
+<?php
+ 
+  $lang['btn_submit'] = 'Szavazok';
+ 
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/it/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/it/lang.php
new file mode 100755
index 00000000..cac4330e
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/it/lang.php
@@ -0,0 +1,5 @@
+<?php
+
+$lang['btn_submit'] = 'Invia';
+
+?>
diff --git a/dokuwiki/lib/plugins/doodle/lang/nl/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/nl/lang.php
new file mode 100755
index 00000000..92269a24
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/nl/lang.php
@@ -0,0 +1,6 @@
+<?php
+ 
+$lang['btn_submit'] = 'Verstuur';
+ 
+//Setup VIM: ex: et ts=4 enc=utf-8 :
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/sv/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/sv/lang.php
new file mode 100755
index 00000000..7b54d2b5
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/sv/lang.php
@@ -0,0 +1,6 @@
+<?php
+ 
+$lang['btn_submit'] = 'Skicka';
+ 
+//Setup VIM: ex: et ts=4 enc=utf-8 :
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/zh-cn/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/zh-cn/lang.php
new file mode 100755
index 00000000..f1ccf22e
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/zh-cn/lang.php
@@ -0,0 +1,6 @@
+<?php
+
+$lang['btn_submit'] = '提交';
+
+//Setup VIM: ex: et ts=4 enc=utf-8 :
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/lang/zh-tw/lang.php 
b/dokuwiki/lib/plugins/doodle/lang/zh-tw/lang.php
new file mode 100755
index 00000000..414f111a
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/lang/zh-tw/lang.php
@@ -0,0 +1,6 @@
+<?php
+
+$lang['btn_submit'] = '送出';
+
+//Setup VIM: ex: et ts=4 enc=utf-8 :
+?>
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/doodle/manager.dat 
b/dokuwiki/lib/plugins/doodle/manager.dat
new file mode 100755
index 00000000..0e64f5a1
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/manager.dat
@@ -0,0 +1,2 @@
+downloadurl=https://admin.parlenet.org/files/plugins/doodle.tgz
+installed=Wed, 08 May 2024 15:23:40 +0000
diff --git a/dokuwiki/lib/plugins/doodle/plugin.info.txt 
b/dokuwiki/lib/plugins/doodle/plugin.info.txt
new file mode 100755
index 00000000..8f678786
--- /dev/null
+++ b/dokuwiki/lib/plugins/doodle/plugin.info.txt
@@ -0,0 +1,7 @@
+base   doodle
+author Francois Merciol
+email  dokuplu...@merciol.fr
+date   2021-03-21
+name   Doodle Plugin
+desc   helps to schedule meetings
+url    http://www.dokuwiki.org/plugin:doodle
diff --git a/dokuwiki/lib/plugins/htmlok/.github/workflows/release.yml 
b/dokuwiki/lib/plugins/htmlok/.github/workflows/release.yml
new file mode 100755
index 00000000..257143f1
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/.github/workflows/release.yml
@@ -0,0 +1,25 @@
+# Create release on change to plugin.info.txt version line
+# https://github.com/dokuwiki/dokuwiki/issues/3951
+#
+# Requires DOKUWIKI_USER and DOKUWIKI_PASS secrets be set in GitHub Actions
+
+name: Release
+
+on:
+  push:
+    branches:
+      - main
+    paths:
+      - "*.info.txt"
+
+jobs:
+  release:
+    name: Release
+    # https://github.com/dokuwiki/dokuwiki/pull/3966
+    uses: 
glensc/dokuwiki/.github/workflows/plugin-release.yml@39431875f734bddc35cc6b4a899bbfdec97e8aba
+    secrets:
+      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      DOKUWIKI_USER: ${{ secrets.DOKUWIKI_USER }}
+      DOKUWIKI_PASS: ${{ secrets.DOKUWIKI_PASS }}
+
+# vim:ft=yaml:et:ts=2:sw=2
diff --git a/dokuwiki/lib/plugins/htmlok/BaseSyntaxPlugin.php 
b/dokuwiki/lib/plugins/htmlok/BaseSyntaxPlugin.php
new file mode 100755
index 00000000..a9750e58
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/BaseSyntaxPlugin.php
@@ -0,0 +1,161 @@
+<?php
+/**
+ * DokuWiki Plugin htmlok (Syntax Component)
+ *
+ * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
+ * @author  saggi <sa...@gmx.de>
+ * @author  Elan Ruusamäe <g...@delfi.ee>
+ */
+
+namespace dokuwiki\plugin\htmlok;
+
+use Doku_Handler;
+use Doku_Renderer;
+
+abstract class BaseSyntaxPlugin extends \dokuwiki\Extension\SyntaxPlugin
+{
+    /** @var string */
+    protected $type = 'protected';
+    /** @var string */
+    protected $ptype;
+    /** @var int */
+    protected $sort;
+    /** @var string */
+    protected $tag;
+    /** @var string */
+    protected $mode;
+    /** @var string|null */
+    protected $class;
+
+    public function getType(): string
+    {
+        return $this->type;
+    }
+
+    public function getPType(): string
+    {
+        return $this->ptype;
+    }
+
+    public function getSort(): int
+    {
+        return $this->sort;
+    }
+
+    public function connectTo($mode)
+    {
+        $this->Lexer->addEntryPattern("<{$this->tag}>(?=.*?</{$this->tag}>)", 
$mode, $this->mode);
+    }
+
+    public function postConnect()
+    {
+        $this->Lexer->addExitPattern("</{$this->tag}>", $this->mode);
+    }
+
+    public function handle($match, $state, $pos, Doku_Handler $handler): array
+    {
+        switch ($state) {
+            case DOKU_LEXER_ENTER:
+                return [$state, $match];
+            case DOKU_LEXER_UNMATCHED:
+                return [$state, $match];
+            case DOKU_LEXER_EXIT:
+                return [$state, ''];
+        }
+
+        return [];
+    }
+
+    public function render($mode, Doku_Renderer $renderer, $data): bool
+    {
+        if ($mode !== 'xhtml') {
+            return false;
+        }
+
+        [$state, $match] = $data;
+        switch ($state) {
+            case DOKU_LEXER_ENTER:
+                if ($this->ptype === 'block') {
+                    $renderer->doc .= '<div class="' . $this->class . '">' . 
DOKU_LF;
+                }
+                break;
+            case DOKU_LEXER_UNMATCHED:
+                $renderer->doc .= $this->renderMatch($match);
+                break;
+            case DOKU_LEXER_EXIT:
+                if ($this->ptype === 'block') {
+                    $renderer->doc .= '</div>' . DOKU_LF;
+                }
+                break;
+        }
+
+        return true;
+    }
+
+    abstract protected function renderMatch(string $match): string;
+
+    /**
+     * Execute PHP code if allowed
+     *
+     * @param string $text PHP code that is either executed or printed
+     * @param string $wrapper html element to wrap result if $conf['phpok'] is 
okff
+     *
+     * @author Andreas Gohr <a...@splitbrain.org>
+     * @author Elan Ruusamäe <g...@delfi.ee>
+     */
+    protected function php(string $text, string $wrapper = 'code'): string
+    {
+        if ($this->getConf('phpok')) {
+            ob_start();
+            eval($text);
+            $contents= ob_get_contents();
+            ob_end_clean();
+            return $contents;
+        }
+
+        return p_xhtml_cached_geshi($text, 'php', $wrapper);
+    }
+
+    /**
+     * Output block level PHP code
+     *
+     * If 'phpok' is true this should evaluate the given code and append the 
result
+     * to document.
+     *
+     * @param string $text The PHP code
+     */
+    protected function phpblock(string $text): string
+    {
+        return $this->php($text, 'pre');
+    }
+
+    /**
+     * Insert HTML if allowed
+     *
+     * @param string $text html text
+     * @param string $wrapper html element to wrap result if 'htmlok' is ok.
+     *
+     * @author Andreas Gohr <a...@splitbrain.org>
+     * @author Elan Ruusamäe <g...@delfi.ee>
+     */
+    protected function html(string $text, string $wrapper = 'code'): string
+    {
+        if ($this->getConf('htmlok')) {
+            return $text;
+        }
+
+        return p_xhtml_cached_geshi($text, 'html4strict', $wrapper);
+    }
+
+    /**
+     * Output raw block-level HTML
+     *
+     * If $conf['htmlok'] is true this should add the code as is to $doc
+     *
+     * @param string $text The HTML
+     */
+    protected function htmlblock(string $text): string
+    {
+        return $this->html($text, 'pre');
+    }
+}
diff --git a/dokuwiki/lib/plugins/htmlok/LICENSE 
b/dokuwiki/lib/plugins/htmlok/LICENSE
new file mode 100755
index 00000000..d159169d
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/LICENSE
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/dokuwiki/lib/plugins/htmlok/README.md 
b/dokuwiki/lib/plugins/htmlok/README.md
new file mode 100755
index 00000000..71800f69
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/README.md
@@ -0,0 +1,27 @@
+# htmlok plugin for DokuWiki
+
+Allows to embed HTML and PHP in Wiki Pages.
+
+All documentation for this plugin can be found at
+- https://www.dokuwiki.org/plugin:htmlok
+
+If you install this plugin manually, make sure it is installed in
+`lib/plugins/htmlok/` - if the folder is called different it
+will not work!
+
+Please refer to https://www.dokuwiki.org/extensions for additional info
+on how to install extensions in DokuWiki.
+
+----
+Copyright (C) saggi <sa...@gmx.de>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+See the LICENSE file for details
diff --git a/dokuwiki/lib/plugins/htmlok/conf/default.php 
b/dokuwiki/lib/plugins/htmlok/conf/default.php
new file mode 100755
index 00000000..1e22d56b
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/conf/default.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Default settings for the htmlok plugin
+ *
+ * @author saggi <sa...@gmx.de>
+ */
+
+$conf['htmlok']      = 0;                //may raw HTML be embedded? This may 
break layout and XHTML validity 0|1
+$conf['phpok']       = 0;                //may PHP code be embedded? Never do 
this on the internet! 0|1
+
diff --git a/dokuwiki/lib/plugins/htmlok/conf/metadata.php 
b/dokuwiki/lib/plugins/htmlok/conf/metadata.php
new file mode 100755
index 00000000..01a505dd
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/conf/metadata.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Options for the htmlok plugin
+ *
+ * @author saggi <sa...@gmx.de>
+ */
+
+
+$meta['htmlok']      = array('onoff','_caution' => 'security');
+$meta['phpok']       = array('onoff','_caution' => 'security');
+
diff --git a/dokuwiki/lib/plugins/htmlok/lang/en/lang.php 
b/dokuwiki/lib/plugins/htmlok/lang/en/lang.php
new file mode 100755
index 00000000..a1e7d297
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/lang/en/lang.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * English language file for htmlok plugin
+ *
+ * @author saggi <sa...@gmx.de>
+ */
+
+// menu entry for admin plugins
+// $lang['menu'] = 'Your menu entry';
+
+// custom language strings for the plugin
+// $lang['fixme'] = 'FIXME';
+
diff --git a/dokuwiki/lib/plugins/htmlok/lang/en/settings.php 
b/dokuwiki/lib/plugins/htmlok/lang/en/settings.php
new file mode 100755
index 00000000..73d427bd
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/lang/en/settings.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * english language file for htmlok plugin
+ *
+ * @author saggi <sa...@gmx.de>
+ */
+
+// keys need to match the config setting name
+$lang['htmlok']      = 'Allow embedded HTML. Do not enable if you cannot trust 
the editors of your wiki content!';
+$lang['phpok']       = 'Allow embedded PHP. Do not enable if you cannot trust 
the editors of your wiki content!';
+
diff --git a/dokuwiki/lib/plugins/htmlok/manager.dat 
b/dokuwiki/lib/plugins/htmlok/manager.dat
new file mode 100755
index 00000000..439bff5e
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/manager.dat
@@ -0,0 +1,2 @@
+downloadurl=https://github.com/saggi-dw/dokuwiki-plugin-htmlok/archive/refs/tags/2023-05-10.zip
+installed=Wed, 08 May 2024 15:21:49 +0000
diff --git a/dokuwiki/lib/plugins/htmlok/plugin.info.txt 
b/dokuwiki/lib/plugins/htmlok/plugin.info.txt
new file mode 100755
index 00000000..2a5e8697
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/plugin.info.txt
@@ -0,0 +1,7 @@
+base   htmlok
+author saggi, glen
+email  sa...@gmx.de
+date   2023-05-10
+name   htmlok plugin
+desc   Allows embed HTML and PHP
+url    https://www.dokuwiki.org/plugin:htmlok
diff --git a/dokuwiki/lib/plugins/htmlok/syntax/htmlblock.php 
b/dokuwiki/lib/plugins/htmlok/syntax/htmlblock.php
new file mode 100755
index 00000000..bd4d99ea
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/syntax/htmlblock.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * DokuWiki Plugin htmlok (Syntax Component)
+ *
+ * @license GPL 2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @author  saggi <sa...@gmx.de>
+ * @author  Elan Ruusamäe <g...@delfi.ee>
+ */
+
+use dokuwiki\plugin\htmlok\BaseSyntaxPlugin;
+
+class syntax_plugin_htmlok_htmlblock extends BaseSyntaxPlugin
+{
+    protected $ptype = 'block';
+    protected $sort = 190;
+    protected $tag = 'HTML';
+    protected $mode = 'plugin_htmlok_htmlblock';
+    protected $class = 'htmlblock';
+
+    protected function renderMatch(string $match): string
+    {
+        return $this->htmlblock($match);
+    }
+}
diff --git a/dokuwiki/lib/plugins/htmlok/syntax/htmlok.php 
b/dokuwiki/lib/plugins/htmlok/syntax/htmlok.php
new file mode 100755
index 00000000..ca03ca64
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/syntax/htmlok.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * DokuWiki Plugin htmlok (Syntax Component)
+ *
+ * @license GPL 2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @author  saggi <sa...@gmx.de>
+ * @author  Elan Ruusamäe <g...@delfi.ee>
+ */
+
+use dokuwiki\plugin\htmlok\BaseSyntaxPlugin;
+
+class syntax_plugin_htmlok_htmlok extends BaseSyntaxPlugin
+{
+    protected $ptype = 'normal';
+    protected $sort = 190;
+    protected $tag = 'html';
+    protected $mode = 'plugin_htmlok_htmlok';
+
+    protected function renderMatch(string $match): string
+    {
+        return $this->html($match);
+    }
+}
diff --git a/dokuwiki/lib/plugins/htmlok/syntax/phpblock.php 
b/dokuwiki/lib/plugins/htmlok/syntax/phpblock.php
new file mode 100755
index 00000000..41e92a00
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/syntax/phpblock.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * DokuWiki Plugin htmlok (Syntax Component)
+ *
+ * @license GPL 2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @author  saggi <sa...@gmx.de>
+ * @author  Elan Ruusamäe <g...@delfi.ee>
+ */
+
+use dokuwiki\plugin\htmlok\BaseSyntaxPlugin;
+
+class syntax_plugin_htmlok_phpblock extends BaseSyntaxPlugin
+{
+    protected $ptype = 'block';
+    protected $sort = 180;
+    protected $tag = 'PHP';
+    protected $mode = 'plugin_htmlok_phpblock';
+    protected $class = 'phpok';
+
+    protected function renderMatch(string $match): string
+    {
+        return $this->phpblock($match);
+    }
+}
diff --git a/dokuwiki/lib/plugins/htmlok/syntax/phpok.php 
b/dokuwiki/lib/plugins/htmlok/syntax/phpok.php
new file mode 100755
index 00000000..20d09557
--- /dev/null
+++ b/dokuwiki/lib/plugins/htmlok/syntax/phpok.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * DokuWiki Plugin htmlok (Syntax Component)
+ *
+ * @license GPL 2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @author  saggi <sa...@gmx.de>
+ * @author  Elan Ruusamäe <g...@delfi.ee>
+ */
+
+use dokuwiki\plugin\htmlok\BaseSyntaxPlugin;
+
+class syntax_plugin_htmlok_phpok extends BaseSyntaxPlugin
+{
+    protected $ptype = 'normal';
+    protected $sort = 180;
+    protected $tag = 'php';
+    protected $mode = 'plugin_htmlok_phpok';
+
+    protected function renderMatch(string $match): string
+    {
+        return $this->php($match);
+    }
+}
diff --git a/systems/refresh-letsencrypt.sh b/systems/refresh-letsencrypt.sh
new file mode 100755
index 00000000..3f399e9a
--- /dev/null
+++ b/systems/refresh-letsencrypt.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+certbot certonly -d wiki.php.net --webroot
+
+systemctl restart apache2

Reply via email to