From 19c0cfab01a27652ba8a7bd26264cf6fb3edd661 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 8 May 2024 15:41:47 +0000 Subject: [PATCH] Add locally modified files --- .gitignore | 3 + Backups.README | 8 + ...XC50O4ZzUHrxodq9uJLd5ii4EZxiAWasCEeTlcorM0 | 0 dokuwiki/conf/acl.auth.php | 34 +- dokuwiki/conf/entities.conf | 16 - dokuwiki/conf/local.php | 1 + dokuwiki/data/index/page.idx | 1565 +++++++++++++++++ dokuwiki/data/media/wiki/dokuwiki-128.png | Bin 27895 -> 33615 bytes dokuwiki/lib/plugins/doodle/lang/ca/lang.php | 9 + dokuwiki/lib/plugins/doodle/lang/es/lang.php | 5 + dokuwiki/lib/plugins/doodle/lang/fr/lang.php | 5 + dokuwiki/lib/plugins/doodle/lang/hu/lang.php | 5 + dokuwiki/lib/plugins/doodle/lang/it/lang.php | 5 + dokuwiki/lib/plugins/doodle/lang/nl/lang.php | 6 + dokuwiki/lib/plugins/doodle/lang/sv/lang.php | 6 + .../lib/plugins/doodle/lang/zh-cn/lang.php | 6 + .../lib/plugins/doodle/lang/zh-tw/lang.php | 6 + dokuwiki/lib/plugins/doodle/manager.dat | 2 + dokuwiki/lib/plugins/doodle/plugin.info.txt | 7 + .../htmlok/.github/workflows/release.yml | 25 + .../lib/plugins/htmlok/BaseSyntaxPlugin.php | 161 ++ dokuwiki/lib/plugins/htmlok/LICENSE | 339 ++++ dokuwiki/lib/plugins/htmlok/README.md | 27 + dokuwiki/lib/plugins/htmlok/conf/default.php | 10 + dokuwiki/lib/plugins/htmlok/conf/metadata.php | 11 + dokuwiki/lib/plugins/htmlok/lang/en/lang.php | 13 + .../lib/plugins/htmlok/lang/en/settings.php | 11 + dokuwiki/lib/plugins/htmlok/manager.dat | 2 + dokuwiki/lib/plugins/htmlok/plugin.info.txt | 7 + .../lib/plugins/htmlok/syntax/htmlblock.php | 24 + dokuwiki/lib/plugins/htmlok/syntax/htmlok.php | 23 + .../lib/plugins/htmlok/syntax/phpblock.php | 25 + dokuwiki/lib/plugins/htmlok/syntax/phpok.php | 23 + systems/refresh-letsencrypt.sh | 5 + 34 files changed, 2363 insertions(+), 32 deletions(-) create mode 100644 Backups.README create mode 100644 dokuwiki/.well-known/acme-challenge/dXC50O4ZzUHrxodq9uJLd5ii4EZxiAWasCEeTlcorM0 create mode 100755 dokuwiki/lib/plugins/doodle/lang/ca/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/es/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/fr/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/hu/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/it/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/nl/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/sv/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/zh-cn/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/lang/zh-tw/lang.php create mode 100755 dokuwiki/lib/plugins/doodle/manager.dat create mode 100755 dokuwiki/lib/plugins/doodle/plugin.info.txt create mode 100755 dokuwiki/lib/plugins/htmlok/.github/workflows/release.yml create mode 100755 dokuwiki/lib/plugins/htmlok/BaseSyntaxPlugin.php create mode 100755 dokuwiki/lib/plugins/htmlok/LICENSE create mode 100755 dokuwiki/lib/plugins/htmlok/README.md create mode 100755 dokuwiki/lib/plugins/htmlok/conf/default.php create mode 100755 dokuwiki/lib/plugins/htmlok/conf/metadata.php create mode 100755 dokuwiki/lib/plugins/htmlok/lang/en/lang.php create mode 100755 dokuwiki/lib/plugins/htmlok/lang/en/settings.php create mode 100755 dokuwiki/lib/plugins/htmlok/manager.dat create mode 100755 dokuwiki/lib/plugins/htmlok/plugin.info.txt create mode 100755 dokuwiki/lib/plugins/htmlok/syntax/htmlblock.php create mode 100755 dokuwiki/lib/plugins/htmlok/syntax/htmlok.php create mode 100755 dokuwiki/lib/plugins/htmlok/syntax/phpblock.php create mode 100755 dokuwiki/lib/plugins/htmlok/syntax/phpok.php create mode 100755 systems/refresh-letsencrypt.sh 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 -rfc:* @rfc 8 -rfc @rfc 8 -todo:* @todo 8 -web:* @web 8 -pear:* @pear 8 -vcs:* @vcs 8 -internals:windows @wintendo 8 -internals:windows:* @wintendo 8 -usergroups:* @usergroups 8 -usergroups @usergroups 8 -licenses:* @ALL 0 -licenses:* @phpcvs 16 +doc @doc 2 doc:* @doc 8 -doc @doc 8 -phpng-upgrading @php7upgrading 8 -oauth:* @ALL 0 -oauth:* @phpcvs 16 +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 +systems @systems 2 +todo:* @todo 8 +usergroups @usergroups 2 +usergroups:* @usergroups 8 +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['youarehere'] = 1; $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 f3f1d66bd752d6874220fa4d35415ea97de79774..b2306ac9571f39c6f30c0a5967e5b520415b3d80 100644 GIT binary patch literal 33615 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 Rnxp^#002ovPDHLkV1iIzXKw%i literal 27895 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
dvcub?Vb@%2Sp}f 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 mD>zw1-|NuAte-CN0sg<74OY!}F|f1%0000 + */ + +$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 @@ + \ 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 @@ + \ 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 @@ + \ 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 @@ + 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 @@ + \ 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 @@ + \ 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 @@ + \ 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 @@ + \ 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 dokuplugin@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 @@ + + * @author Elan Ruusamäe + */ + +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}>(?=.*?tag}>)", $mode, $this->mode); + } + + public function postConnect() + { + $this->Lexer->addExitPattern("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 .= '
' . DOKU_LF; + } + break; + case DOKU_LEXER_UNMATCHED: + $renderer->doc .= $this->renderMatch($match); + break; + case DOKU_LEXER_EXIT: + if ($this->ptype === 'block') { + $renderer->doc .= '
' . 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 + * @author Elan Ruusamäe + */ + 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 + * @author Elan Ruusamäe + */ + 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. + + + Copyright (C) + + 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. + + , 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 + +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 @@ + + */ + +$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 @@ + + */ + + +$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 @@ + + */ + +// 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 @@ + + */ + +// 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 saggi@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 @@ + + * @author Elan Ruusamäe + */ + +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 @@ + + * @author Elan Ruusamäe + */ + +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 @@ + + * @author Elan Ruusamäe + */ + +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 @@ + + * @author Elan Ruusamäe + */ + +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