diff --git a/.travis.yml b/.travis.yml index fe123e7ef6b..c855e6f3529 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ before_script: script: - travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - - travis/check-sami-parse-errors.sh $DB $TRAVIS_PHP_VERSION $NOTESTS + - travis/check-doctum-parse-errors.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS - travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION $NOTESTS ./ - travis/check-stylesheet.sh $NOTESTS diff --git a/build/build.xml b/build/build.xml index 112565d11b4..4bb43171fc5 100644 --- a/build/build.xml +++ b/build/build.xml @@ -128,13 +128,13 @@ diff --git a/build/sami-all.conf.php b/build/doctum-all.conf.php similarity index 77% rename from build/sami-all.conf.php rename to build/doctum-all.conf.php index 91f12f296ec..5acc62ba58d 100644 --- a/build/sami-all.conf.php +++ b/build/doctum-all.conf.php @@ -11,9 +11,9 @@ * */ -require __DIR__ . '/sami-checkout.conf.php'; +require __DIR__ . '/doctum-checkout.conf.php'; -$config['versions'] = Sami\Version\GitVersionCollection::create(__DIR__ . '/../') +$config['versions'] = Doctum\Version\GitVersionCollection::create(__DIR__ . '/../') /* This would be nice, but currently causes various problems that need debugging. @@ -30,4 +30,4 @@ ->add('master') ; -return new Sami\Sami($iterator, $config); +return new Doctum\Doctum($iterator, $config); diff --git a/build/doctum-checkout.conf.php b/build/doctum-checkout.conf.php new file mode 100644 index 00000000000..bbcf8f26ba2 --- /dev/null +++ b/build/doctum-checkout.conf.php @@ -0,0 +1,31 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +$iterator = Symfony\Component\Finder\Finder::create() + ->files() + ->name('*.php') + ->in(__DIR__ . '/../phpBB/') + ->notPath('#^cache/#') + ->notPath('#^develop/#') + ->notPath('#^ext/#') + ->notPath('#^vendor/#') + ->notPath('data'); + +// This variable will be used and changed in doctum-all.conf.php +$config = [ + 'title' => 'phpBB API Documentation', + 'build_dir' => __DIR__ . '/api/output/%version%', + 'cache_dir' => __DIR__ . '/api/cache/%version%', +]; + +return new Doctum\Doctum($iterator, $config); diff --git a/build/sami-checkout.conf.php b/build/sami-checkout.conf.php deleted file mode 100644 index 69d13d07c36..00000000000 --- a/build/sami-checkout.conf.php +++ /dev/null @@ -1,44 +0,0 @@ - -* @license GNU General Public License, version 2 (GPL-2.0) -* -* For full copyright and license information, please see -* the docs/CREDITS.txt file. -* -*/ - -// Prevent 'Class "acm" does not exist.' exception on removeClass(). -class PhpbbArrayStore extends Sami\Store\ArrayStore -{ - public function removeClass(Sami\Project $project, $name) - { - unset($this->classes[$name]); - } -} - -$iterator = Symfony\Component\Finder\Finder::create() - ->files() - ->name('*.php') - ->in(__DIR__ . '/../phpBB/') - ->notPath('#^cache/#') - ->notPath('#^develop/#') - ->notPath('#^ext/#') - ->notPath('#^vendor/#') - ->notPath('data') -; - -$config = array( - 'theme' => 'default', - 'title' => 'phpBB API Documentation', - 'build_dir' => __DIR__.'/api/output/%version%', - 'cache_dir' => __DIR__.'/api/cache/%version%', - 'default_opened_level' => 2, - // Do not use JsonStore. See https://github.com/fabpot/Sami/issues/79 - 'store' => new PhpbbArrayStore, -); - -return new Sami\Sami($iterator, $config); diff --git a/doctum.phar b/doctum.phar new file mode 100644 index 00000000000..d28c204e685 Binary files /dev/null and b/doctum.phar differ diff --git a/phpBB/composer.json b/phpBB/composer.json index ed636d26b2c..a1dfd429431 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -61,8 +61,7 @@ "squizlabs/php_codesniffer": "~3.4", "symfony/browser-kit": "~3.4", "symfony/css-selector": "~3.4", - "symfony/dom-crawler": "~3.4", - "sami/sami": "^4.1" + "symfony/dom-crawler": "~3.4" }, "extra": { "branch-alias": { diff --git a/phpBB/composer.lock b/phpBB/composer.lock index 1264950b30a..c951f95b75f 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0090dbf57acf8d5b9b224bff16a089ff", + "content-hash": "f148f91ac8c8783a2fe4250ff31886ff", "packages": [ { "name": "bantu/ini-get-wrapper", @@ -38,16 +38,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.7", + "version": "1.2.8", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" + "reference": "8a7ecad675253e4654ea05505233285377405215" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", + "reference": "8a7ecad675253e4654ea05505233285377405215", "shasum": "" }, "require": { @@ -95,12 +95,16 @@ "url": "https://packagist.com", "type": "custom" }, + { + "url": "https://github.com/composer", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2020-04-08T08:27:21+00:00" + "time": "2020-08-23T12:54:47+00:00" }, { "name": "composer/composer", @@ -862,7 +866,7 @@ "oauth", "security" ], - "time": "2018-02-14T22:37:14+00:00" + "time": "2016-07-12T22:15:00+00:00" }, { "name": "marc1706/fast-image-size", @@ -3357,72 +3361,6 @@ } ], "packages-dev": [ - { - "name": "blackfire/php-sdk", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/blackfireio/php-sdk.git", - "reference": "c11e9546182fcd8c2f3b1d5a4b867da062264355" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/blackfireio/php-sdk/zipball/c11e9546182fcd8c2f3b1d5a4b867da062264355", - "reference": "c11e9546182fcd8c2f3b1d5a4b867da062264355", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "php": ">=5.2.0" - }, - "require-dev": { - "guzzlehttp/psr7": "^1.6", - "psr/http-message": "^1.0", - "symfony/http-client": "^4.3" - }, - "suggest": { - "ext-blackfire": "The C version of the Blackfire probe", - "ext-zlib": "To push config to remote profiling targets" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5.x-dev" - } - }, - "autoload": { - "files": [ - "src/autostart.php" - ], - "psr-4": { - "Blackfire\\": "src/Blackfire" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Blackfire.io", - "email": "support@blackfire.io" - } - ], - "description": "Blackfire.io PHP SDK", - "keywords": [ - "performance", - "profiler", - "uprofiler", - "xhprof" - ], - "funding": [ - { - "url": "https://blackfire.io/", - "type": "custom" - } - ], - "time": "2020-05-29T11:19:11+00:00" - }, { "name": "doctrine/instantiator", "version": "1.3.1", @@ -3599,55 +3537,6 @@ "description": "A virtual machine for web artisans.", "time": "2018-12-11T02:04:35+00:00" }, - { - "name": "michelf/php-markdown", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/c83178d49e372ca967d1a8c77ae4e051b3a3c75c", - "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.3 <5.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Michelf\\": "Michelf/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "time": "2019-12-02T02:32:27+00:00" - }, { "name": "myclabs/deep-copy", "version": "1.9.5", @@ -3696,57 +3585,6 @@ ], "time": "2020-01-17T21:11:47+00:00" }, - { - "name": "nikic/php-parser", - "version": "v3.1.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2018-02-28T20:30:58+00:00" - }, { "name": "phar-io/manifest", "version": "1.0.3", @@ -3942,39 +3780,90 @@ ], "time": "2020-02-03T18:50:54+00:00" }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2020-04-27T09:25:28+00:00" + }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "doctrine/instantiator": "^1.0.5", + "mockery/mockery": "^1.0", + "phpdocumentor/type-resolver": "0.4.*", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -3986,10 +3875,58 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2019-12-28T18:55:12+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "shasum": "" + }, + "require": { + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" } ], - "time": "2016-01-25T08:17:30+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phpspec/prophecy", @@ -4357,6 +4294,7 @@ "keywords": [ "tokenizer" ], + "abandoned": true, "time": "2019-09-17T06:23:10+00:00" }, { @@ -4443,119 +4381,6 @@ ], "time": "2020-01-08T08:45:45+00:00" }, - { - "name": "pimple/pimple", - "version": "v3.2.3", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/container": "^1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "http://pimple.sensiolabs.org", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2018-01-21T07:42:36+00:00" - }, - { - "name": "sami/sami", - "version": "v4.1.2", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/Sami.git", - "reference": "19b8a82b858bd31544c468317c8307188ccb4022" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Sami/zipball/19b8a82b858bd31544c468317c8307188ccb4022", - "reference": "19b8a82b858bd31544c468317c8307188ccb4022", - "shasum": "" - }, - "require": { - "blackfire/php-sdk": "^1.5.18", - "michelf/php-markdown": "~1.3", - "nikic/php-parser": "~3.0", - "php": "^7.1.3", - "phpdocumentor/reflection-docblock": "~2.0", - "pimple/pimple": "~3.0", - "symfony/console": "~3.0|~4.0", - "symfony/filesystem": "~3.0|~4.0", - "symfony/finder": "~3.0|~4.0", - "symfony/process": "~3.0|~4.0", - "symfony/yaml": "~3.0|~4.0", - "twig/twig": "~2.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "~4.0" - }, - "bin": [ - "sami.php" - ], - "type": "application", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Sami\\": "Sami/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Sami, an API documentation generator", - "homepage": "http://sami.sensiolabs.org", - "keywords": [ - "phpdoc" - ], - "abandoned": true, - "time": "2018-07-02T13:20:39+00:00" - }, { "name": "sebastian/code-unit-reverse-lookup", "version": "1.0.1", @@ -5421,6 +5246,55 @@ ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "time": "2019-06-13T22:48:21+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2020-07-08T17:02:28+00:00" } ], "aliases": [], diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index 2c3948f644a..deb68862286 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -20,8 +20,8 @@ } /** -* @todo [smilies] check regular expressions for special char replacements (stored specialchared in db) -*/ + * @todo {smilies} check regular expressions for special char replacements (stored specialchared in db) + */ class acp_icons { var $u_action; diff --git a/phpBB/includes/acp/acp_words.php b/phpBB/includes/acp/acp_words.php index e5eeb7ab075..82b469090d2 100644 --- a/phpBB/includes/acp/acp_words.php +++ b/phpBB/includes/acp/acp_words.php @@ -20,8 +20,8 @@ } /** -* @todo [words] check regular expressions for special char replacements (stored specialchared in db) -*/ + * @todo {words} check regular expressions for special char replacements (stored specialchared in db) + */ class acp_words { var $u_action; diff --git a/phpBB/includes/functions_compatibility.php b/phpBB/includes/functions_compatibility.php index a6ae856c00f..d06e3072cd9 100644 --- a/phpBB/includes/functions_compatibility.php +++ b/phpBB/includes/functions_compatibility.php @@ -455,8 +455,8 @@ function phpbb_realpath($path) * Determine which plural form we should use. * For some languages this is not as simple as for English. * - * @param $rule int ID of the plural rule we want to use, see https://area51.phpbb.com/docs/dev/3.3.x/language/plurals.html - * @param $number int|float The number we want to get the plural case for. Float numbers are floored. + * @param int $rule ID of the plural rule we want to use, see https://area51.phpbb.com/docs/dev/3.3.x/language/plurals.html + * @param int|float $number The number we want to get the plural case for. Float numbers are floored. * @return int The plural-case we need to use for the number plural-rule combination * * @deprecated 3.2.0-dev (To be removed: 4.0.0) diff --git a/phpBB/phpbb/config/config.php b/phpBB/phpbb/config/config.php index c619cae2fd0..c40145b4578 100644 --- a/phpBB/phpbb/config/config.php +++ b/phpBB/phpbb/config/config.php @@ -20,14 +20,14 @@ class config implements \ArrayAccess, \IteratorAggregate, \Countable { /** * The configuration data - * @var array(string => string) + * @var array */ protected $config; /** * Creates a configuration container with a default set of values * - * @param array(string => string) $config The configuration data. + * @param array $config The configuration data. */ public function __construct(array $config) { diff --git a/phpBB/phpbb/content_visibility.php b/phpBB/phpbb/content_visibility.php index 77afec03068..a3b0e378fc5 100644 --- a/phpBB/phpbb/content_visibility.php +++ b/phpBB/phpbb/content_visibility.php @@ -838,7 +838,7 @@ public function set_topic_visibility($visibility, $topic_id, $forum_id, $user_id * Add post to topic and forum statistics * * @param $data array Contains information from the topics table about given topic - * @param &$sql_data array Populated with the SQL changes, may be empty at call time + * @param $sql_data array Populated with the SQL changes, may be empty at call time (by reference) * @return null */ public function add_post_to_statistic($data, &$sql_data) @@ -859,7 +859,7 @@ public function add_post_to_statistic($data, &$sql_data) * Remove post from topic and forum statistics * * @param $data array Contains information from the topics table about given topic - * @param &$sql_data array Populated with the SQL changes, may be empty at call time + * @param $sql_data array Populated with the SQL changes, may be empty at call time (by reference) * @return null */ public function remove_post_from_statistic($data, &$sql_data) @@ -892,7 +892,7 @@ public function remove_post_from_statistic($data, &$sql_data) * Remove topic from forum statistics * * @param $data array Post and topic data - * @param &$sql_data array Populated with the SQL changes, may be empty at call time + * @param $sql_data array Populated with the SQL changes, may be empty at call time (by reference) * @return null */ public function remove_topic_from_statistic($data, &$sql_data) diff --git a/phpBB/phpbb/error_collector.php b/phpBB/phpbb/error_collector.php index bf8efd10656..894082b938b 100644 --- a/phpBB/phpbb/error_collector.php +++ b/phpBB/phpbb/error_collector.php @@ -26,7 +26,7 @@ class error_collector * the error_reporting() function will be used to determine which errors * the collector will keep. * - * @see PHPBB3-13306 + * @see https://tracker.phpbb.com/browse/PHPBB3-13306 * @param int|null $error_types */ function __construct($error_types = null) diff --git a/phpBB/phpbb/feed/attachments_base.php b/phpBB/phpbb/feed/attachments_base.php index 5d3272e0d9d..01d7acbad35 100644 --- a/phpBB/phpbb/feed/attachments_base.php +++ b/phpBB/phpbb/feed/attachments_base.php @@ -87,8 +87,8 @@ protected function fetch_attachments($post_ids = array(), $topic_ids = array()) /** * Get attachments related to a given post * - * @param $post_id int Post id - * @return mixed Attachments related to $post_id + * @param int $post_id Post id + * @return mixed Attachments related to $post_id */ public function get_attachments($post_id) { diff --git a/phpBB/phpbb/group/helper.php b/phpBB/phpbb/group/helper.php index aa3876b3251..639315c960b 100644 --- a/phpBB/phpbb/group/helper.php +++ b/phpBB/phpbb/group/helper.php @@ -84,7 +84,7 @@ public function __construct(auth $auth, cache $cache, config $config, language $ } /** - * @param $group_name string The stored group name + * @param string $group_name The stored group name * * @return string Group name or translated group name if it exists */ diff --git a/phpBB/phpbb/language/language.php b/phpBB/phpbb/language/language.php index bcb40504d8a..6af024f1768 100644 --- a/phpBB/phpbb/language/language.php +++ b/phpBB/phpbb/language/language.php @@ -194,7 +194,7 @@ public function add_lang($component, $extension_name = null) } /** - * @param $key array|string The language key we want to know more about. Can be string or array. + * @param array|string $key The language key we want to know more about. Can be string or array. * * @return bool Returns whether the language key is set. */ diff --git a/phpBB/phpbb/request/deactivated_super_global.php b/phpBB/phpbb/request/deactivated_super_global.php index ab56240b145..01e038e8bee 100644 --- a/phpBB/phpbb/request/deactivated_super_global.php +++ b/phpBB/phpbb/request/deactivated_super_global.php @@ -25,7 +25,7 @@ class deactivated_super_global implements \ArrayAccess, \Countable, \IteratorAgg private $name; /** - * @var \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE Super global constant. + * @var string (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) Super global constant. */ private $super_global; @@ -39,7 +39,7 @@ class deactivated_super_global implements \ArrayAccess, \Countable, \IteratorAgg * * @param \phpbb\request\request_interface $request A request class instance holding the real super global data. * @param string $name Name of the super global this is a replacement for - e.g. '_GET'. - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global The variable's super global constant. + * @param string $super_global The variable's super global constant (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE). */ public function __construct(\phpbb\request\request_interface $request, $name, $super_global) { diff --git a/phpBB/phpbb/request/request.php b/phpBB/phpbb/request/request.php index 4d7bc9ea484..e31be57d653 100644 --- a/phpBB/phpbb/request/request.php +++ b/phpBB/phpbb/request/request.php @@ -39,7 +39,7 @@ class request implements \phpbb\request\request_interface protected $original_request = null; /** - * @var + * @var bool */ protected $super_globals_disabled = false; @@ -137,11 +137,11 @@ public function enable_super_globals() * other methods this class provides. Using this function should be avoided if possible! It will * consume twice the the amount of memory of the value * - * @param string $var_name The name of the variable that shall be overwritten - * @param mixed $value The value which the variable shall contain. - * If this is null the variable will be unset. - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global shall be changed + * @param string $var_name The name of the variable that shall be overwritten + * @param mixed $value The value which the variable shall contain. + * If this is null the variable will be unset. + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global shall be changed */ public function overwrite($var_name, $value, $super_global = \phpbb\request\request_interface::REQUEST) { @@ -173,16 +173,16 @@ public function overwrite($var_name, $value, $super_global = \phpbb\request\requ * Central type safe input handling function. * All variables in GET or POST requests should be retrieved through this function to maximise security. * - * @param string|array $var_name The form variable's name from which data shall be retrieved. - * If the value is an array this may be an array of indizes which will give - * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") - * then specifying array("var", 1) as the name will return "a". - * @param mixed $default A default value that is returned if the variable was not set. - * This function will always return a value of the same type as the default. - * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters - * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global should be used + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global should be used * * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the * the same as that of $default. If the variable is not set $default is returned. @@ -197,16 +197,16 @@ public function variable($var_name, $default, $multibyte = false, $super_global * Same functionality as variable(), except does not run trim() on strings. * This method should be used when handling passwords. * - * @param string|array $var_name The form variable's name from which data shall be retrieved. - * If the value is an array this may be an array of indizes which will give - * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") - * then specifying array("var", 1) as the name will return "a". - * @param mixed $default A default value that is returned if the variable was not set. - * This function will always return a value of the same type as the default. - * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters - * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global should be used + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global should be used * * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the * the same as that of $default. If the variable is not set $default is returned. @@ -334,11 +334,11 @@ public function is_set_post($name) * Checks whether a certain variable is set in one of the super global * arrays. * - * @param string $var Name of the variable - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies the super global which shall be checked + * @param string $var Name of the variable + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies the super global which shall be checked * - * @return bool True if the variable was sent as input + * @return bool True if the variable was sent as input */ public function is_set($var, $super_global = \phpbb\request\request_interface::REQUEST) { @@ -370,8 +370,8 @@ public function is_secure() /** * Returns all variable names for a given super global * - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * The super global from which names shall be taken + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * The super global from which names shall be taken * * @return array All variable names that are set for the super global. * Pay attention when using these, they are unsanitised! @@ -389,17 +389,17 @@ public function variable_names($super_global = \phpbb\request\request_interface: /** * Helper function used by variable() and untrimmed_variable(). * - * @param string|array $var_name The form variable's name from which data shall be retrieved. - * If the value is an array this may be an array of indizes which will give - * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") - * then specifying array("var", 1) as the name will return "a". - * @param mixed $default A default value that is returned if the variable was not set. - * This function will always return a value of the same type as the default. - * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters - * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global should be used - * @param bool $trim Indicates whether trim() should be applied to string values. + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global should be used + * @param bool $trim Indicates whether trim() should be applied to string values. * * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the * the same as that of $default. If the variable is not set $default is returned. diff --git a/phpBB/phpbb/request/request_interface.php b/phpBB/phpbb/request/request_interface.php index a1fbf0ae451..c42c309cc1c 100644 --- a/phpBB/phpbb/request/request_interface.php +++ b/phpBB/phpbb/request/request_interface.php @@ -36,11 +36,11 @@ interface request_interface * other methods this class provides. Using this function should be avoided if possible! It will * consume twice the the amount of memory of the value * - * @param string $var_name The name of the variable that shall be overwritten - * @param mixed $value The value which the variable shall contain. - * If this is null the variable will be unset. - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global shall be changed + * @param string $var_name The name of the variable that shall be overwritten + * @param mixed $value The value which the variable shall contain. + * If this is null the variable will be unset. + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global shall be changed */ public function overwrite($var_name, $value, $super_global = \phpbb\request\request_interface::REQUEST); @@ -56,8 +56,8 @@ public function overwrite($var_name, $value, $super_global = \phpbb\request\requ * This function will always return a value of the same type as the default. * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global should be used + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global shall be changed * * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the * the same as that of $default. If the variable is not set $default is returned. @@ -78,8 +78,8 @@ public function variable($var_name, $default, $multibyte = false, $super_global * then specifying array("var", 1) as the name will return "a". * @param mixed $default A default value that is returned if the variable was not set. * This function will always return a value of the same type as the default. - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies which super global should be used + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global shall be changed * * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the * the same as that of $default. If the variable is not set $default is returned. @@ -122,11 +122,11 @@ public function is_set_post($name); * Checks whether a certain variable is set in one of the super global * arrays. * - * @param string $var Name of the variable - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * Specifies the super global which shall be checked + * @param string $var Name of the variable + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * Specifies which super global shall be changed * - * @return bool True if the variable was sent as input + * @return bool True if the variable was sent as input */ public function is_set($var, $super_global = \phpbb\request\request_interface::REQUEST); @@ -147,8 +147,8 @@ public function is_secure(); /** * Returns all variable names for a given super global * - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * The super global from which names shall be taken + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * The super global from which names shall be taken * * @return array All variable names that are set for the super global. * Pay attention when using these, they are unsanitised! @@ -158,8 +158,8 @@ public function variable_names($super_global = \phpbb\request\request_interface: /** * Returns the original array of the requested super global * - * @param \phpbb\request\request_interface::POST|GET|REQUEST|COOKIE $super_global - * The super global which will be returned + * @param string $super_global (\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) + * The super global which will be returned * * @return array The original array of the requested super global. */ diff --git a/phpBB/phpbb/template/twig/extension.php b/phpBB/phpbb/template/twig/extension.php index 3dc5e548e52..ceba1b1f11c 100644 --- a/phpBB/phpbb/template/twig/extension.php +++ b/phpBB/phpbb/template/twig/extension.php @@ -138,7 +138,7 @@ public function getOperators() * @param mixed $item A variable * @param integer $start Start of the subset * @param integer $end End of the subset - * @param Boolean $preserveKeys Whether to preserve key or not (when the input is an array) + * @param boolean $preserveKeys Whether to preserve key or not (when the input is an array) * * @return mixed The sliced variable */ diff --git a/tests/mock/session_testable.php b/tests/mock/session_testable.php index fea5db6fb91..aa903df0dbd 100644 --- a/tests/mock/session_testable.php +++ b/tests/mock/session_testable.php @@ -31,8 +31,8 @@ public function set_cookie($name, $data, $time, $httponly = true) /** * Checks if the cookies were set correctly. * - * @param PHPUnit\Framework\Assert test The test from which this is called - * @param array(string => mixed) cookies The cookie data to check against. + * @param PHPUnit\Framework\Assert $test The test from which this is called + * @param array $cookies The cookie data to check against. * The keys are cookie names, the values can either be null to * check only the existence of the cookie, or an array(d, t), * where d is the cookie data to check, or null to skip the diff --git a/travis/check-doctum-parse-errors.sh b/travis/check-doctum-parse-errors.sh new file mode 100755 index 00000000000..7b26aa00c4b --- /dev/null +++ b/travis/check-doctum-parse-errors.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# This file is part of the phpBB Forum Software package. +# +# @copyright (c) phpBB Limited +# @license GNU General Public License, version 2 (GPL-2.0) +# +# For full copyright and license information, please see +# the docs/CREDITS.txt file. +# +set -e + +DB=$1 +TRAVIS_PHP_VERSION=$2 +NOTESTS=$3 + +if [ "$NOTESTS" == '1' ] +then + if [ ! -f doctum.phar ]; then + # Download the latest (5.1.x) release if the file does not exist + # Remove it to update your phar + curl -O https://doctum.long-term.support/releases/5.1/doctum.phar + rm -f doctum.phar.sha256 + curl -O https://doctum.long-term.support/releases/5.1/doctum.phar.sha256 + sha256sum --strict --check doctum.phar.sha256 + rm -f doctum.phar.sha256 + # You can fetch the latest (5.1.x) version code here: + # https://doctum.long-term.support/releases/5.1/VERSION + fi + # Show the version to inform users of the script + php doctum.phar --version + php doctum.phar parse build/doctum-checkout.conf.php -v +fi diff --git a/travis/check-sami-parse-errors.sh b/travis/check-sami-parse-errors.sh deleted file mode 100755 index 4cc2cee5258..00000000000 --- a/travis/check-sami-parse-errors.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# -# This file is part of the phpBB Forum Software package. -# -# @copyright (c) phpBB Limited -# @license GNU General Public License, version 2 (GPL-2.0) -# -# For full copyright and license information, please see -# the docs/CREDITS.txt file. -# -set -e - -DB=$1 -TRAVIS_PHP_VERSION=$2 -NOTESTS=$3 - -if [ "$NOTESTS" == '1' ] -then - # Workarounds for - # https://github.com/fabpot/Sami/issues/116 - # and - # https://github.com/fabpot/Sami/issues/117 - errors=$( - unbuffer phpBB/vendor/bin/sami.php parse build/sami-checkout.conf.php -v | \ - sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | \ - grep "ERROR: " | \ - tee /dev/tty | \ - wc -l - ) - if [ "$errors" != "0" ] - then - exit 1 - fi -fi