mirror of
https://github.com/phpbb/phpbb.git
synced 2025-09-11 08:40:44 +02:00
Compare commits
71 Commits
release-3.
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
|
197fed16bd | ||
|
12033bc499 | ||
|
71c19f6eb7 | ||
|
d2cd24e875 | ||
|
9036edd935 | ||
|
fcc320e385 | ||
|
679559ce18 | ||
|
2e814cc43f | ||
|
087a5363bb | ||
|
3472b6c5bc | ||
|
e1277c26ca | ||
|
64d97d0787 | ||
|
dccbd573e8 | ||
|
efe3aaaf0b | ||
|
df1212ce27 | ||
|
1f31e8e243 | ||
|
16d78407db | ||
|
4e4c3de103 | ||
|
dbaee1a5da | ||
|
6380aea647 | ||
|
47663a4ad3 | ||
|
0cdd071230 | ||
|
df5366a5ca | ||
|
aa916fc43f | ||
|
b295fa4f4f | ||
|
d693d91e26 | ||
|
decabb62c0 | ||
|
47759eb096 | ||
|
2e5cc62071 | ||
|
9ccb87675d | ||
|
6cc5160d60 | ||
|
51251293ab | ||
|
d5022d87e7 | ||
|
5431aa6391 | ||
|
7f347a290c | ||
|
0d1d836a89 | ||
|
79d782c1d5 | ||
|
5cee745fc5 | ||
|
c789acc091 | ||
|
f2e9c62a97 | ||
|
4859cec0c5 | ||
|
0dcb874c09 | ||
|
81ad381263 | ||
|
18f24a2270 | ||
|
f22cd2d734 | ||
|
07e7cde560 | ||
|
ad06f6dd71 | ||
|
9ea08aa4d7 | ||
|
4e952ad443 | ||
|
6308a442d1 | ||
|
078e0c1e44 | ||
|
8443463006 | ||
|
d2e3198407 | ||
|
a43879fe91 | ||
|
103c929ff0 | ||
|
a9a67b08a5 | ||
|
b27b9a6984 | ||
|
516bd9ea51 | ||
|
14300a1475 | ||
|
6217a51920 | ||
|
c814483627 | ||
|
1cd09a03e6 | ||
|
80a9c24b6b | ||
|
08f365236a | ||
|
7a90184421 | ||
|
fdece6cdf3 | ||
|
981d3005f3 | ||
|
faf4b03c43 | ||
|
8f6fcd2744 | ||
|
58075e25e8 | ||
|
56d7c2c6ed |
@@ -2,9 +2,9 @@
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.1.0-RC6" />
|
||||
<property name="prevversion" value="3.1.0-RC5" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1, 3.1.0-RC2, 3.1.0-RC3, 3.1.0-RC4" />
|
||||
<property name="newversion" value="3.1.0" />
|
||||
<property name="prevversion" value="3.1.0-RC6" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1, 3.1.0-RC2, 3.1.0-RC3, 3.1.0-RC4, 3.1.0-RC5" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
|
@@ -20,7 +20,7 @@ if ($_SERVER['argc'] != 2)
|
||||
|
||||
$fixVersion = $_SERVER['argv'][1];
|
||||
|
||||
$query = 'project = PHPBB3
|
||||
$query = 'project IN (PHPBB3, SECURITY)
|
||||
AND resolution = Fixed
|
||||
AND fixVersion = "' . $fixVersion . '"
|
||||
AND status IN ("Unverified Fix", Closed)';
|
||||
|
151
phpBB/composer.lock
generated
151
phpBB/composer.lock
generated
@@ -108,17 +108,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/config",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Config",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Config.git",
|
||||
"reference": "b34d2b32a92938476f0689486e7a11ea1aeb079e"
|
||||
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/b34d2b32a92938476f0689486e7a11ea1aeb079e",
|
||||
"reference": "b34d2b32a92938476f0689486e7a11ea1aeb079e",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
|
||||
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -152,21 +152,21 @@
|
||||
],
|
||||
"description": "Symfony Config Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-02 07:53:48"
|
||||
"time": "2014-09-23 05:15:05"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Console",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Console.git",
|
||||
"reference": "a2723f99716c2fa6411e2eb5842edbe680e4b462"
|
||||
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Console/zipball/a2723f99716c2fa6411e2eb5842edbe680e4b462",
|
||||
"reference": "a2723f99716c2fa6411e2eb5842edbe680e4b462",
|
||||
"url": "https://api.github.com/repos/symfony/Console/zipball/aa12ac573c583a74c2cb26ad9be478e119f04ad1",
|
||||
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -205,21 +205,21 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-07 15:55:24"
|
||||
"time": "2014-10-05 13:45:10"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Debug",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Debug.git",
|
||||
"reference": "91e3a1480c67601d2406cd938735abe0243e1c95"
|
||||
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Debug/zipball/91e3a1480c67601d2406cd938735abe0243e1c95",
|
||||
"reference": "91e3a1480c67601d2406cd938735abe0243e1c95",
|
||||
"url": "https://api.github.com/repos/symfony/Debug/zipball/883f847ad179e92549a8cea372b08e5ef47ffe40",
|
||||
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -261,21 +261,21 @@
|
||||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-07-07 10:13:42"
|
||||
"time": "2014-10-09 16:42:17"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dependency-injection",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/DependencyInjection",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/DependencyInjection.git",
|
||||
"reference": "5ee5795515be251c56057d79154e561ee1efecd2"
|
||||
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/5ee5795515be251c56057d79154e561ee1efecd2",
|
||||
"reference": "5ee5795515be251c56057d79154e561ee1efecd2",
|
||||
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/e2324e1c8c39faa5f27e6170b278d7f631574141",
|
||||
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -317,21 +317,21 @@
|
||||
],
|
||||
"description": "Symfony DependencyInjection Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-27 08:32:18"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/EventDispatcher",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/EventDispatcher.git",
|
||||
"reference": "2c64e46d7e22bcafcab4413ff62bc389abf87ea5"
|
||||
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/2c64e46d7e22bcafcab4413ff62bc389abf87ea5",
|
||||
"reference": "2c64e46d7e22bcafcab4413ff62bc389abf87ea5",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/3e0b837811fadd73c833c7c06a92201d953df59d",
|
||||
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -371,21 +371,21 @@
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-07-25 15:00:14"
|
||||
"time": "2014-10-01 05:39:06"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Filesystem",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Filesystem.git",
|
||||
"reference": "007359d2822d5eba4f04f6507bc9b46877c622b4"
|
||||
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/007359d2822d5eba4f04f6507bc9b46877c622b4",
|
||||
"reference": "007359d2822d5eba4f04f6507bc9b46877c622b4",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
|
||||
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -418,21 +418,21 @@
|
||||
],
|
||||
"description": "Symfony Filesystem Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-31 03:30:23"
|
||||
"time": "2014-09-22 08:32:35"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/HttpFoundation",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/HttpFoundation.git",
|
||||
"reference": "d0125fed988da9e189864c2e6de967b3ee7f1d98"
|
||||
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/d0125fed988da9e189864c2e6de967b3ee7f1d98",
|
||||
"reference": "d0125fed988da9e189864c2e6de967b3ee7f1d98",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/30c90f08f948dd43e7310beae7a85c02ad2b655d",
|
||||
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -468,21 +468,21 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-09-03 07:39:11"
|
||||
"time": "2014-10-23 13:11:04"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/HttpKernel",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/HttpKernel.git",
|
||||
"reference": "a24817f69012b23ce7c554af6b4c7b53235c7c55"
|
||||
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/a24817f69012b23ce7c554af6b4c7b53235c7c55",
|
||||
"reference": "a24817f69012b23ce7c554af6b4c7b53235c7c55",
|
||||
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/0154ff659004d4148e8da0f2bdb672efe55e6ee5",
|
||||
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -539,21 +539,21 @@
|
||||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-09-03 09:45:27"
|
||||
"time": "2014-10-24 05:54:08"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Routing",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Routing.git",
|
||||
"reference": "aa2beef5d5f1d84250b5ca73a4056c0504e5969e"
|
||||
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Routing/zipball/aa2beef5d5f1d84250b5ca73a4056c0504e5969e",
|
||||
"reference": "aa2beef5d5f1d84250b5ca73a4056c0504e5969e",
|
||||
"url": "https://api.github.com/repos/symfony/Routing/zipball/f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
|
||||
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -563,6 +563,7 @@
|
||||
"doctrine/common": "~2.2",
|
||||
"psr/log": "~1.0",
|
||||
"symfony/config": "~2.2",
|
||||
"symfony/http-foundation": "~2.3",
|
||||
"symfony/yaml": "~2.0"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -597,21 +598,21 @@
|
||||
],
|
||||
"description": "Symfony Routing Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-15 09:05:55"
|
||||
"time": "2014-10-13 12:38:27"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Yaml",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Yaml.git",
|
||||
"reference": "71ceeca3d8164f0c5313127b24ad056071ccf2c6"
|
||||
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/71ceeca3d8164f0c5313127b24ad056071ccf2c6",
|
||||
"reference": "71ceeca3d8164f0c5313127b24ad056071ccf2c6",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/34687c6236f1dfcebc874fbebd8da74d90f9f64f",
|
||||
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -644,7 +645,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-28 01:42:35"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
@@ -1987,17 +1988,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/browser-kit",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/BrowserKit",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/BrowserKit.git",
|
||||
"reference": "262d698efaa788ce24ff9c987378789bf3f81ce9"
|
||||
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/262d698efaa788ce24ff9c987378789bf3f81ce9",
|
||||
"reference": "262d698efaa788ce24ff9c987378789bf3f81ce9",
|
||||
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
|
||||
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2038,21 +2039,21 @@
|
||||
],
|
||||
"description": "Symfony BrowserKit Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-05 07:20:55"
|
||||
"time": "2014-09-22 08:32:35"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/CssSelector",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/CssSelector.git",
|
||||
"reference": "8953d325d3341c246abadb79be172de95ef80664"
|
||||
"reference": "d9943386b648d21746bed25cc24f61fab1387943"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/8953d325d3341c246abadb79be172de95ef80664",
|
||||
"reference": "8953d325d3341c246abadb79be172de95ef80664",
|
||||
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/d9943386b648d21746bed25cc24f61fab1387943",
|
||||
"reference": "d9943386b648d21746bed25cc24f61fab1387943",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2089,21 +2090,21 @@
|
||||
],
|
||||
"description": "Symfony CssSelector Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-27 08:24:06"
|
||||
"time": "2014-10-09 12:30:02"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dom-crawler",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/DomCrawler",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/DomCrawler.git",
|
||||
"reference": "bad8d98561f071639fa67b20680bffcc256ce252"
|
||||
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/bad8d98561f071639fa67b20680bffcc256ce252",
|
||||
"reference": "bad8d98561f071639fa67b20680bffcc256ce252",
|
||||
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/64b90870ee3a4e88c9a7a12861683864de029d31",
|
||||
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2142,21 +2143,21 @@
|
||||
],
|
||||
"description": "Symfony DomCrawler Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-21 00:21:59"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Finder",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Finder.git",
|
||||
"reference": "f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55"
|
||||
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Finder/zipball/f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55",
|
||||
"reference": "f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55",
|
||||
"url": "https://api.github.com/repos/symfony/Finder/zipball/fc25dab213d14468c39f12d47e5b79a72b898d4d",
|
||||
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2189,21 +2190,21 @@
|
||||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-31 04:03:32"
|
||||
"time": "2014-10-01 05:39:06"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Process",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Process.git",
|
||||
"reference": "b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb"
|
||||
"reference": "0434822691030547f2439d30ff68758c5576a0ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Process/zipball/b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb",
|
||||
"reference": "b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb",
|
||||
"url": "https://api.github.com/repos/symfony/Process/zipball/0434822691030547f2439d30ff68758c5576a0ce",
|
||||
"reference": "0434822691030547f2439d30ff68758c5576a0ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2236,7 +2237,7 @@
|
||||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-28 09:02:24"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
}
|
||||
],
|
||||
"aliases": [
|
||||
|
@@ -84,6 +84,7 @@ services:
|
||||
- @config
|
||||
- @cache
|
||||
- @log
|
||||
- %core.root_path%
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
|
@@ -46,6 +46,7 @@
|
||||
<ol>
|
||||
<li><a href="#changelog">Changelog</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#v310RC6">Changes since 3.1.0-RC6</a></li>
|
||||
<li><a href="#v310RC5">Changes since 3.1.0-RC5</a></li>
|
||||
<li><a href="#v310RC4">Changes since 3.1.0-RC4</a></li>
|
||||
<li><a href="#v310RC3">Changes since 3.1.0-RC3</a></li>
|
||||
@@ -99,7 +100,35 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<a name="v310RC5"></a><h3>1.i. Changes since 3.1.0-RC5</h3>
|
||||
<a name="v310RC6"></a><h3>1.i. Changes since 3.1.0-RC6</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13126">PHPBB3-13126</a>] - More detailed output for migrations needed</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13208">PHPBB3-13208</a>] - Security issues are not pulled into the changelog</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13210">PHPBB3-13210</a>] - Queue Cron Job checks for wrong config variable queue_interval_config</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13211">PHPBB3-13211</a>] - Add possibility to save migrations output to log</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13225">PHPBB3-13225</a>] - phpbb_hash() undefined in phpbb\db\migration\data\v30x\release_3_0_5_rc1.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13226">PHPBB3-13226</a>] - Stray $rank_img in memberlist.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13227">PHPBB3-13227</a>] - Remote avatars do not work with cURL wrapper</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13229">PHPBB3-13229</a>] - Memberlist is getting overloaded with redundant SQL queries</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13230">PHPBB3-13230</a>] - Deprecated phpbb_clean_path() does not work anymore</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13231">PHPBB3-13231</a>] - The migration contact_admin_form must depends on config_db_text</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13232">PHPBB3-13232</a>] - Email queue does not get run</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13234">PHPBB3-13234</a>] - Remember me cookie gets unset by admin reauthentication</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13207">PHPBB3-13207</a>] - Default subscription notification setting for new users does not include email</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13215">PHPBB3-13215</a>] - Update Symfony Components to 2.3.21</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC5"></a><h3>1.ii. Changes since 3.1.0-RC5</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -123,6 +152,10 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13190">PHPBB3-13190</a>] - phpbb_session_login_keys_test::test_reset_keys fails on develop-ascraeus</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13194">PHPBB3-13194</a>] - BBCode isn't parsed when issuing a warning for a post</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13203">PHPBB3-13203</a>] - Use constant time comparison method for comparing password hashes</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13217">PHPBB3-13217</a>] - Remember me cookie leak</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13218">PHPBB3-13218</a>] - Missing token check in acp_styles</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
@@ -136,7 +169,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310RC4"></a><h3>1.ii. Changes since 3.1.0-RC4</h3>
|
||||
<a name="v310RC4"></a><h3>1.iii. Changes since 3.1.0-RC4</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -203,7 +236,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13123">PHPBB3-13123</a>] - Add events to allow post blocking and post pre/past processing</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC3"></a><h3>1.iii. Changes since 3.1.0-RC3</h3>
|
||||
<a name="v310RC3"></a><h3>1.iv. Changes since 3.1.0-RC3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -293,7 +326,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310RC2"></a><h3>1.iv. Changes since 3.1.0-RC2</h3>
|
||||
<a name="v310RC2"></a><h3>1.v. Changes since 3.1.0-RC2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -417,7 +450,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12948">PHPBB3-12948</a>] - Remove Travis CI "broken opcache on PHP 5.5.7 and 5.5.8" workaround.</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC1"></a><h3>1.v. Changes since 3.1.0-RC1</h3>
|
||||
<a name="v310RC1"></a><h3>1.vi. Changes since 3.1.0-RC1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -488,7 +521,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12829">PHPBB3-12829</a>] - Remove check for pgsql 8.3/8.2</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310b4"></a><h3>1.vi. Changes since 3.1.0-b4</h3>
|
||||
<a name="v310b4"></a><h3>1.vii. Changes since 3.1.0-b4</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -608,7 +641,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b3"></a><h3>1.vii. Changes since 3.1.0-b3</h3>
|
||||
<a name="v310b3"></a><h3>1.viii. Changes since 3.1.0-b3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -715,7 +748,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b2"></a><h3>1.viii. Changes since 3.1.0-b2</h3>
|
||||
<a name="v310b2"></a><h3>1.ix. Changes since 3.1.0-b2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -880,7 +913,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b1"></a><h3>1.ix. Changes since 3.1.0-b1</h3>
|
||||
<a name="v310b1"></a><h3>1.x. Changes since 3.1.0-b1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -948,7 +981,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310a3"></a><h3>1.x. Changes since 3.1.0-a3</h3>
|
||||
<a name="v310a3"></a><h3>1.xi. Changes since 3.1.0-a3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1095,7 +1128,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310a2"></a><h3>1.xi. Changes since 3.1.0-a2</h3>
|
||||
<a name="v310a2"></a><h3>1.xii. Changes since 3.1.0-a2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1203,7 +1236,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310a1"></a><h3>1.xii. Changes since 3.1.0-a1</h3>
|
||||
<a name="v310a1"></a><h3>1.xiii. Changes since 3.1.0-a1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1279,7 +1312,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11998">PHPBB3-11998</a>] - Add console / command line client environment </li>
|
||||
</ul>
|
||||
|
||||
<a name="v30x"></a><h3>1.xiii. Changes since 3.0.x</h3>
|
||||
<a name="v30x"></a><h3>1.xiv. Changes since 3.0.x</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1960,7 +1993,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11913">PHPBB3-11913</a>] - Apply reorganisation of download.phpbb.com to build_announcement.php</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3011"></a><h3>1.xiv. Changes since 3.0.11</h3>
|
||||
<a name="v3011"></a><h3>1.xv. Changes since 3.0.11</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2115,7 +2148,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11753">PHPBB3-11753</a>] - Upgrade mysql_upgrader.php schema data.</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3010"></a><h3>1.xv. Changes since 3.0.10</h3>
|
||||
<a name="v3010"></a><h3>1.xvi. Changes since 3.0.10</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2240,7 +2273,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
|
||||
</ul>
|
||||
|
||||
<a name="v309"></a><h3>1.xvi. Changes since 3.0.9</h3>
|
||||
<a name="v309"></a><h3>1.xvii. Changes since 3.0.9</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2376,7 +2409,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
|
||||
</ul>
|
||||
|
||||
<a name="v308"></a><h3>1.xvii. Changes since 3.0.8</h3>
|
||||
<a name="v308"></a><h3>1.xviii. Changes since 3.0.8</h3>
|
||||
|
||||
<h4> Bug
|
||||
</h4>
|
||||
@@ -2744,7 +2777,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307-PL1"></a><h3>1.xviii. Changes since 3.0.7-PL1</h3>
|
||||
<a name="v307-PL1"></a><h3>1.xix. Changes since 3.0.7-PL1</h3>
|
||||
<h4> Security
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -3202,13 +3235,13 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307"></a><h3>1.xix. Changes since 3.0.7</h3>
|
||||
<a name="v307"></a><h3>1.xx. Changes since 3.0.7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v306"></a><h3>1.xx. Changes since 3.0.6</h3>
|
||||
<a name="v306"></a><h3>1.xxi. Changes since 3.0.6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)</li>
|
||||
@@ -3312,7 +3345,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v305"></a><h3>1.xxi. Changes since 3.0.5</h3>
|
||||
<a name="v305"></a><h3>1.xxii. Changes since 3.0.5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
|
||||
@@ -3534,7 +3567,7 @@
|
||||
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
|
||||
</ul>
|
||||
|
||||
<a name="v304"></a><h3>1.xxii. Changes since 3.0.4</h3>
|
||||
<a name="v304"></a><h3>1.xxiii. Changes since 3.0.4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)</li>
|
||||
@@ -3623,7 +3656,7 @@
|
||||
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v303"></a><h3>1.xxiii. Changes since 3.0.3</h3>
|
||||
<a name="v303"></a><h3>1.xxiv. Changes since 3.0.3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
|
||||
@@ -3655,7 +3688,7 @@
|
||||
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v302"></a><h3>1.xxiv. Changes since 3.0.2</h3>
|
||||
<a name="v302"></a><h3>1.xxv. Changes since 3.0.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)</li>
|
||||
@@ -3754,7 +3787,7 @@
|
||||
<li>[Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v301"></a><h3>1.xxv. Changes since 3.0.1</h3>
|
||||
<a name="v301"></a><h3>1.xxvi. Changes since 3.0.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
|
||||
@@ -3802,7 +3835,7 @@
|
||||
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v300"></a><h3>1.xxvi. Changes since 3.0.0</h3>
|
||||
<a name="v300"></a><h3>1.xxvii. Changes since 3.0.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Change] Validate birthdays (Bug #15004)</li>
|
||||
@@ -3873,7 +3906,7 @@
|
||||
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc8"></a><h3>1.xxvii. Changes since 3.0.RC8</h3>
|
||||
<a name="v30rc8"></a><h3>1.xxviii. Changes since 3.0.RC8</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)</li>
|
||||
@@ -3882,7 +3915,7 @@
|
||||
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc7"></a><h3>1.xxviii. Changes since 3.0.RC7</h3>
|
||||
<a name="v30rc7"></a><h3>1.xxix. Changes since 3.0.RC7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixed MSSQL related bug in the update system</li>
|
||||
@@ -3917,7 +3950,7 @@
|
||||
<li>[Fix] No duplication of active topics (Bug #15474)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc6"></a><h3>1.xxix. Changes since 3.0.RC6</h3>
|
||||
<a name="v30rc6"></a><h3>1.xxx. Changes since 3.0.RC6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
|
||||
@@ -3927,7 +3960,7 @@
|
||||
<li>[Fix] Able to request new password (Bug #14743)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc5"></a><h3>1.xxx. Changes since 3.0.RC5</h3>
|
||||
<a name="v30rc5"></a><h3>1.xxxi. Changes since 3.0.RC5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
|
||||
@@ -3990,7 +4023,7 @@
|
||||
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc4"></a><h3>1.xxxi. Changes since 3.0.RC4</h3>
|
||||
<a name="v30rc4"></a><h3>1.xxxii. Changes since 3.0.RC4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
|
||||
@@ -4041,7 +4074,7 @@
|
||||
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc3"></a><h3>1.xxxii. Changes since 3.0.RC3</h3>
|
||||
<a name="v30rc3"></a><h3>1.xxxiii. Changes since 3.0.RC3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
|
||||
@@ -4150,7 +4183,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc2"></a><h3>1.xxxiii. Changes since 3.0.RC2</h3>
|
||||
<a name="v30rc2"></a><h3>1.xxxiv. Changes since 3.0.RC2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Re-allow searching within the memberlist</li>
|
||||
@@ -4196,7 +4229,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc1"></a><h3>1.xxxiv. Changes since 3.0.RC1</h3>
|
||||
<a name="v30rc1"></a><h3>1.xxxv. Changes since 3.0.RC1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>
|
||||
|
@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
|
||||
// phpBB Version
|
||||
define('PHPBB_VERSION', '3.1.0-RC6');
|
||||
define('PHPBB_VERSION', '3.1.0');
|
||||
|
||||
// QA-related
|
||||
// define('PHPBB_QA', 1);
|
||||
|
@@ -5254,7 +5254,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
|
||||
|
||||
// Call cron-type script
|
||||
$call_cron = false;
|
||||
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('cron.lock_check'))
|
||||
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('_cron.lock_check'))
|
||||
{
|
||||
$call_cron = true;
|
||||
$time_now = (!empty($user->time_now) && is_int($user->time_now)) ? $user->time_now : time();
|
||||
@@ -5286,7 +5286,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
|
||||
}
|
||||
else
|
||||
{
|
||||
$cache->put('cron.lock_check', true, 300);
|
||||
$cache->put('_cron.lock_check', true, 60);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -101,18 +101,21 @@ function phpbb_clean_path($path)
|
||||
}
|
||||
else if (!$phpbb_path_helper)
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
// The container is not yet loaded, use a new instance
|
||||
if (!class_exists('\phpbb\path_helper'))
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
require($phpbb_root_path . 'phpbb/path_helper.' . $phpEx);
|
||||
}
|
||||
|
||||
$request = new phpbb\request\request();
|
||||
$phpbb_path_helper = new phpbb\path_helper(
|
||||
new phpbb\symfony_request(
|
||||
new phpbb\request\request()
|
||||
$request
|
||||
),
|
||||
new phpbb\filesystem(),
|
||||
$request,
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
|
@@ -1491,7 +1491,7 @@ function phpbb_get_user_rank($user_data, $user_posts)
|
||||
/**
|
||||
* Prepare profile data
|
||||
*/
|
||||
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false)
|
||||
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false, $check_can_receive_pm = true)
|
||||
{
|
||||
global $config, $auth, $user, $phpEx, $phpbb_root_path, $phpbb_dispatcher;
|
||||
|
||||
@@ -1559,7 +1559,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
|
||||
}
|
||||
|
||||
// Can this user receive a Private Message?
|
||||
$can_receive_pm = (
|
||||
$can_receive_pm = $check_can_receive_pm && (
|
||||
// They must be a "normal" user
|
||||
$data['user_type'] != USER_IGNORE &&
|
||||
|
||||
|
@@ -161,9 +161,10 @@ function user_update_name($old_name, $new_name)
|
||||
*
|
||||
* @param mixed $user_row An array containing the following keys (and the appropriate values): username, group_id (the group to place the user in), user_email and the user_type(usually 0). Additional entries not overridden by defaults will be forwarded.
|
||||
* @param string $cp_data custom profile fields, see custom_profile::build_insert_sql_array
|
||||
* @param array $notifications_data The notifications settings for the new user
|
||||
* @return the new user's ID.
|
||||
*/
|
||||
function user_add($user_row, $cp_data = false)
|
||||
function user_add($user_row, $cp_data = false, $notifications_data = null)
|
||||
{
|
||||
global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;
|
||||
global $phpbb_dispatcher, $phpbb_container;
|
||||
@@ -347,6 +348,31 @@ function user_add($user_row, $cp_data = false)
|
||||
set_config('newest_user_colour', $row['group_colour'], true);
|
||||
}
|
||||
|
||||
// Use default notifications settings if notifications_data is not set
|
||||
if ($notifications_data === null)
|
||||
{
|
||||
$notifications_data = array(
|
||||
array(
|
||||
'item_type' => 'notification.type.post',
|
||||
'method' => 'notification.method.email',
|
||||
),
|
||||
array(
|
||||
'item_type' => 'notification.type.topic',
|
||||
'method' => 'notification.method.email',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// Subscribe user to notifications if necessary
|
||||
if (!empty($notifications_data))
|
||||
{
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
foreach ($notifications_data as $subscription)
|
||||
{
|
||||
$phpbb_notifications->add_subscription($subscription['item_type'], 0, $subscription['method'], $user_id);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Event that returns user id, user detals and user CPF of newly registared user
|
||||
*
|
||||
|
@@ -38,7 +38,7 @@ $dbms = $phpbb_config_php_file->convert_30_dbms_to_31($dbms);
|
||||
$convertor_data = array(
|
||||
'forum_name' => 'phpBB 2.0.x',
|
||||
'version' => '1.0.3',
|
||||
'phpbb_version' => '3.1.0-RC6',
|
||||
'phpbb_version' => '3.1.0',
|
||||
'author' => '<a href="https://www.phpbb.com/">phpBB Limited</a>',
|
||||
'dbms' => $dbms,
|
||||
'dbhost' => $dbhost,
|
||||
|
@@ -174,6 +174,8 @@ define('IN_DB_UPDATE', true);
|
||||
// End startup code
|
||||
|
||||
$migrator = $phpbb_container->get('migrator');
|
||||
$migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($user, new \phpbb\db\html_migrator_output_handler($user), $phpbb_root_path . 'store/migrations_' . time() . '.log'));
|
||||
|
||||
$migrator->create_migrations_table();
|
||||
|
||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||
@@ -199,8 +201,6 @@ $safe_time_limit = min(15, ($phpbb_ini->get_int('max_execution_time') / 2));
|
||||
|
||||
while (!$migrator->finished())
|
||||
{
|
||||
$migration_start_time = microtime(true);
|
||||
|
||||
try
|
||||
{
|
||||
$migrator->update();
|
||||
@@ -219,28 +219,6 @@ while (!$migrator->finished())
|
||||
$migrator->last_run_migration['state']
|
||||
);
|
||||
|
||||
if (isset($migrator->last_run_migration['effectively_installed']) && $migrator->last_run_migration['effectively_installed'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $migrator->last_run_migration['name']);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_DATA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
else if ($migrator->last_run_migration['task'] == 'process_data_step')
|
||||
{
|
||||
echo $user->lang('MIGRATION_DATA_IN_PROGRESS', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
else if ($state['migration_schema_done'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_SCHEMA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
}
|
||||
|
||||
echo "<br />\n";
|
||||
|
||||
// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
|
||||
if ((time() - $update_start_time) >= $safe_time_limit)
|
||||
{
|
||||
|
@@ -273,7 +273,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_system_cron', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0-RC6');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');
|
||||
|
||||
|
@@ -41,12 +41,16 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'GROUP_NOT_EXIST' => 'The group "%s" unexpectedly does not exist.',
|
||||
|
||||
'MIGRATION_APPLY_DEPENDENCIES' => 'Apply dependencies of %s.',
|
||||
'MIGRATION_DATA_DONE' => 'Installed Data: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_DATA_IN_PROGRESS' => 'Installing Data: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_DATA_RUNNING' => 'Installing Data: %s.',
|
||||
'MIGRATION_EFFECTIVELY_INSTALLED' => 'Migration already effectively installed (skipped): %s',
|
||||
'MIGRATION_EXCEPTION_ERROR' => 'Something went wrong during the request and an exception was thrown. The changes made before the error occurred were reversed to the best of our abilities, but you should check the board for errors.',
|
||||
'MIGRATION_NOT_FULFILLABLE' => 'The migration "%1$s" is not fulfillable, missing migration "%2$s".',
|
||||
'MIGRATION_NOT_VALID' => '%s is not a valid migration.',
|
||||
'MIGRATION_SCHEMA_DONE' => 'Installed Schema: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_SCHEMA_RUNNING' => 'Installing Schema: %s.',
|
||||
|
||||
'MODULE_ERROR' => 'An error occurred while creating a module: %s',
|
||||
'MODULE_INFO_FILE_NOT_EXIST' => 'A required module info file is missing: %2$s',
|
||||
|
@@ -1089,9 +1089,9 @@ switch ($mode)
|
||||
{
|
||||
$user_rank_data = phpbb_get_user_rank($group_row, false);
|
||||
|
||||
if ($rank_img)
|
||||
if ($user_rank_data['img'])
|
||||
{
|
||||
$rank_img .= '<br />';
|
||||
$user_rank_data['img'] .= '<br />';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1427,7 +1427,7 @@ switch ($mode)
|
||||
$cp_row = (isset($profile_fields_cache[$user_id])) ? $cp->generate_profile_fields_template_data($profile_fields_cache[$user_id], false) : array();
|
||||
}
|
||||
|
||||
$memberrow = array_merge(phpbb_show_profile($row), array(
|
||||
$memberrow = array_merge(phpbb_show_profile($row, false, false, false), array(
|
||||
'ROW_NUMBER' => $i + ($start + 1),
|
||||
|
||||
'S_CUSTOM_PROFILE' => (isset($cp_row['row']) && sizeof($cp_row['row'])) ? true : false,
|
||||
|
@@ -154,7 +154,7 @@ class local extends \phpbb\avatar\driver\driver
|
||||
*/
|
||||
protected function get_avatar_list($user)
|
||||
{
|
||||
$avatar_list = ($this->cache == null) ? false : $this->cache->get('avatar_local_list');
|
||||
$avatar_list = ($this->cache == null) ? false : $this->cache->get('_avatar_local_list');
|
||||
|
||||
if ($avatar_list === false)
|
||||
{
|
||||
@@ -192,7 +192,7 @@ class local extends \phpbb\avatar\driver\driver
|
||||
|
||||
if ($this->cache != null)
|
||||
{
|
||||
$this->cache->put('avatar_local_list', $avatar_list, 86400);
|
||||
$this->cache->put('_avatar_local_list', $avatar_list, 86400);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -130,8 +130,24 @@ class remote extends \phpbb\avatar\driver\driver
|
||||
{
|
||||
// Timeout after 1 second
|
||||
stream_set_timeout($file_stream, 1);
|
||||
// read some data to ensure headers are present
|
||||
fread($file_stream, 1024);
|
||||
$meta = stream_get_meta_data($file_stream);
|
||||
foreach ($meta['wrapper_data'] as $header)
|
||||
|
||||
if (isset($meta['wrapper_data']['headers']) && is_array($meta['wrapper_data']['headers']))
|
||||
{
|
||||
$headers = $meta['wrapper_data']['headers'];
|
||||
}
|
||||
else if (isset($meta['wrapper_data']) && is_array($meta['wrapper_data']))
|
||||
{
|
||||
$headers = $meta['wrapper_data'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$headers = array();
|
||||
}
|
||||
|
||||
foreach ($headers as $header)
|
||||
{
|
||||
$header = preg_split('/ /', $header, 2);
|
||||
if (strtr(strtolower(trim($header[0], ':')), '_', '-') === 'content-type')
|
||||
|
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\console\command\db;
|
||||
|
||||
use phpbb\user;
|
||||
use phpbb\db\migrator_output_handler_interface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class console_migrator_output_handler implements migrator_output_handler_interface
|
||||
{
|
||||
/**
|
||||
* User object.
|
||||
*
|
||||
* @var user
|
||||
*/
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* Console output object.
|
||||
*
|
||||
* @var OutputInterface
|
||||
*/
|
||||
private $output;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param user $user User object
|
||||
* @param OutputInterface $output Console output object
|
||||
*/
|
||||
public function __construct(user $user, OutputInterface $output)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->output = $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function write($message, $verbosity)
|
||||
{
|
||||
if ($verbosity <= $this->output->getVerbosity())
|
||||
{
|
||||
$translated_message = call_user_func_array(array($this->user, 'lang'), $message);
|
||||
|
||||
if ($verbosity === migrator_output_handler_interface::VERBOSITY_NORMAL)
|
||||
{
|
||||
$translated_message = '<info>' . $translated_message . '</info>';
|
||||
}
|
||||
else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERBOSE)
|
||||
{
|
||||
$translated_message = '<comment>' . $translated_message . '</comment>';
|
||||
}
|
||||
|
||||
$this->output->writeln($translated_message);
|
||||
}
|
||||
}
|
||||
}
|
@@ -32,13 +32,17 @@ class migrate extends \phpbb\console\command\command
|
||||
/** @var \phpbb\log\log */
|
||||
protected $log;
|
||||
|
||||
function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log)
|
||||
/** @var string phpBB root path */
|
||||
protected $phpbb_root_path;
|
||||
|
||||
function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log, $phpbb_root_path)
|
||||
{
|
||||
$this->migrator = $migrator;
|
||||
$this->extension_manager = $extension_manager;
|
||||
$this->config = $config;
|
||||
$this->cache = $cache;
|
||||
$this->log = $log;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
parent::__construct($user);
|
||||
$this->user->add_lang(array('common', 'install', 'migrator'));
|
||||
}
|
||||
@@ -53,6 +57,8 @@ class migrate extends \phpbb\console\command\command
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log'));
|
||||
|
||||
$this->migrator->create_migrations_table();
|
||||
|
||||
$this->cache->purge();
|
||||
@@ -61,8 +67,6 @@ class migrate extends \phpbb\console\command\command
|
||||
$orig_version = $this->config['version'];
|
||||
while (!$this->migrator->finished())
|
||||
{
|
||||
$migration_start_time = microtime(true);
|
||||
|
||||
try
|
||||
{
|
||||
$this->migrator->update();
|
||||
@@ -73,36 +77,6 @@ class migrate extends \phpbb\console\command\command
|
||||
$this->finalise_update();
|
||||
return 1;
|
||||
}
|
||||
|
||||
$migration_stop_time = microtime(true) - $migration_start_time;
|
||||
|
||||
$state = array_merge(
|
||||
array(
|
||||
'migration_schema_done' => false,
|
||||
'migration_data_done' => false,
|
||||
),
|
||||
$this->migrator->last_run_migration['state']
|
||||
);
|
||||
|
||||
if (!empty($this->migrator->last_run_migration['effectively_installed']))
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $this->migrator->last_run_migration['name']);
|
||||
$output->writeln("<comment>$msg</comment>");
|
||||
}
|
||||
else if ($this->migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done'])
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_DATA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time);
|
||||
$output->writeln("<info>$msg</info>");
|
||||
}
|
||||
else if ($this->migrator->last_run_migration['task'] == 'process_data_step')
|
||||
{
|
||||
$output->writeln($this->user->lang('MIGRATION_DATA_IN_PROGRESS', $this->migrator->last_run_migration['name'], $migration_stop_time));
|
||||
}
|
||||
else if ($state['migration_schema_done'])
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_SCHEMA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time);
|
||||
$output->writeln("<info>$msg</info>");
|
||||
}
|
||||
}
|
||||
|
||||
if ($orig_version != $this->config['version'])
|
||||
|
@@ -73,6 +73,7 @@ class manager
|
||||
*/
|
||||
public function find_one_ready_task()
|
||||
{
|
||||
shuffle($this->tasks);
|
||||
foreach ($this->tasks as $task)
|
||||
{
|
||||
if ($task->is_ready())
|
||||
|
@@ -73,6 +73,6 @@ class queue extends \phpbb\cron\task\base
|
||||
*/
|
||||
public function should_run()
|
||||
{
|
||||
return $this->config['last_queue_run'] < time() - $this->config['queue_interval_config'];
|
||||
return $this->config['last_queue_run'] < time() - $this->config['queue_interval'];
|
||||
}
|
||||
}
|
||||
|
48
phpBB/phpbb/db/html_migrator_output_handler.php
Normal file
48
phpBB/phpbb/db/html_migrator_output_handler.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db;
|
||||
|
||||
use phpbb\user;
|
||||
|
||||
class html_migrator_output_handler implements migrator_output_handler_interface
|
||||
{
|
||||
/**
|
||||
* User object.
|
||||
*
|
||||
* @var user
|
||||
*/
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param user $user User object
|
||||
*/
|
||||
public function __construct(user $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function write($message, $verbosity)
|
||||
{
|
||||
if ($verbosity <= migrator_output_handler_interface::VERBOSITY_VERBOSE)
|
||||
{
|
||||
$final_message = call_user_func_array(array($this->user, 'lang'), $message);
|
||||
echo $final_message . "<br />\n";
|
||||
}
|
||||
}
|
||||
}
|
95
phpBB/phpbb/db/log_wrapper_migrator_output_handler.php
Normal file
95
phpBB/phpbb/db/log_wrapper_migrator_output_handler.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db;
|
||||
|
||||
use phpbb\user;
|
||||
|
||||
class log_wrapper_migrator_output_handler implements migrator_output_handler_interface
|
||||
{
|
||||
/**
|
||||
* User object.
|
||||
*
|
||||
* @var user
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
/**
|
||||
* A migrator output handler
|
||||
*
|
||||
* @var migrator_output_handler_interface
|
||||
*/
|
||||
protected $migrator;
|
||||
|
||||
/**
|
||||
* Log file handle
|
||||
* @var resource
|
||||
*/
|
||||
protected $file_handle = false;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param user $user User object
|
||||
* @param migrator_output_handler_interface $migrator Migrator output handler
|
||||
* @param string $log_file File to log to
|
||||
*/
|
||||
public function __construct(user $user, migrator_output_handler_interface $migrator, $log_file)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->migrator = $migrator;
|
||||
$this->file_open($log_file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Open file for logging
|
||||
*
|
||||
* @param string $file File to open
|
||||
*/
|
||||
protected function file_open($file)
|
||||
{
|
||||
if (phpbb_is_writable(dirname($file)))
|
||||
{
|
||||
$this->file_handle = fopen($file, 'w');
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new \RuntimeException('Unable to write to migrator log file');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function write($message, $verbosity)
|
||||
{
|
||||
$this->migrator->write($message, $verbosity);
|
||||
|
||||
if ($this->file_handle !== false)
|
||||
{
|
||||
$translated_message = call_user_func_array(array($this->user, 'lang'), $message) . "\n";
|
||||
|
||||
if ($verbosity <= migrator_output_handler_interface::VERBOSITY_NORMAL)
|
||||
{
|
||||
$translated_message = '[INFO] ' . $translated_message;
|
||||
}
|
||||
else
|
||||
{
|
||||
$translated_message = '[DEBUG] ' . $translated_message;
|
||||
}
|
||||
|
||||
fwrite($this->file_handle, $translated_message);
|
||||
fflush($this->file_handle);
|
||||
}
|
||||
}
|
||||
}
|
@@ -31,7 +31,6 @@ class release_3_0_12_rc1 extends \phpbb\db\migration\migration
|
||||
{
|
||||
return array(
|
||||
array('custom', array(array(&$this, 'update_module_auth'))),
|
||||
array('custom', array(array(&$this, 'update_bots'))),
|
||||
array('custom', array(array(&$this, 'disable_bots_from_receiving_pms'))),
|
||||
|
||||
array('config.update', array('version', '3.0.12-RC1')),
|
||||
@@ -70,60 +69,4 @@ class release_3_0_12_rc1 extends \phpbb\db\migration\migration
|
||||
AND module_mode = \'signature\'';
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
|
||||
public function update_bots()
|
||||
{
|
||||
// Update bots
|
||||
if (!function_exists('user_delete'))
|
||||
{
|
||||
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
|
||||
}
|
||||
|
||||
$bots_updates = array(
|
||||
// Bot Deletions
|
||||
'NG-Search [Bot]' => false,
|
||||
'Nutch/CVS [Bot]' => false,
|
||||
'OmniExplorer [Bot]' => false,
|
||||
'Seekport [Bot]' => false,
|
||||
'Synoo [Bot]' => false,
|
||||
'WiseNut [Bot]' => false,
|
||||
|
||||
// Bot Updates
|
||||
// Bot name to bot user agent map
|
||||
'Baidu [Spider]' => 'Baiduspider',
|
||||
'Exabot [Bot]' => 'Exabot',
|
||||
'Voyager [Bot]' => 'voyager/',
|
||||
'W3C [Validator]' => 'W3C_Validator',
|
||||
);
|
||||
|
||||
foreach ($bots_updates as $bot_name => $bot_agent)
|
||||
{
|
||||
$sql = 'SELECT user_id
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_type = ' . USER_IGNORE . "
|
||||
AND username_clean = '" . $this->db->sql_escape(utf8_clean_string($bot_name)) . "'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$bot_user_id = (int) $this->db->sql_fetchfield('user_id');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if ($bot_user_id)
|
||||
{
|
||||
if ($bot_agent === false)
|
||||
{
|
||||
$sql = 'DELETE FROM ' . BOTS_TABLE . "
|
||||
WHERE user_id = $bot_user_id";
|
||||
$this->sql_query($sql);
|
||||
|
||||
user_delete('retain', $bot_user_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'UPDATE ' . BOTS_TABLE . "
|
||||
SET bot_agent = '" . $this->db->sql_escape($bot_agent) . "'
|
||||
WHERE user_id = $bot_user_id";
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -55,6 +55,9 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration
|
||||
|
||||
public function hash_old_passwords()
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$passwords_manager = $phpbb_container->get('passwords.manager');
|
||||
$sql = 'SELECT user_id, user_password
|
||||
FROM ' . $this->table_prefix . 'users
|
||||
WHERE user_pass_convert = 1';
|
||||
@@ -65,7 +68,7 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration
|
||||
if (strlen($row['user_password']) == 32)
|
||||
{
|
||||
$sql_ary = array(
|
||||
'user_password' => phpbb_hash($row['user_password']),
|
||||
'user_password' => '$CP$' . $passwords_manager->hash($row['user_password'], 'passwords.driver.salted_md5'),
|
||||
);
|
||||
|
||||
$this->sql_query('UPDATE ' . $this->table_prefix . 'users SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . ' WHERE user_id = ' . $row['user_id']);
|
||||
|
@@ -30,7 +30,6 @@ class release_3_0_8_rc1 extends \phpbb\db\migration\migration
|
||||
return array(
|
||||
array('custom', array(array(&$this, 'update_file_extension_group_names'))),
|
||||
array('custom', array(array(&$this, 'update_module_auth'))),
|
||||
array('custom', array(array(&$this, 'update_bots'))),
|
||||
array('custom', array(array(&$this, 'delete_orphan_shadow_topics'))),
|
||||
array('module.add', array(
|
||||
'acp',
|
||||
@@ -114,70 +113,6 @@ class release_3_0_8_rc1 extends \phpbb\db\migration\migration
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
|
||||
public function update_bots()
|
||||
{
|
||||
$bot_name = 'Bing [Bot]';
|
||||
$bot_name_clean = utf8_clean_string($bot_name);
|
||||
|
||||
$sql = 'SELECT user_id
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username_clean = '" . $this->db->sql_escape($bot_name_clean) . "'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$bing_already_added = (bool) $this->db->sql_fetchfield('user_id');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (!$bing_already_added)
|
||||
{
|
||||
$bot_agent = 'bingbot/';
|
||||
$bot_ip = '';
|
||||
$sql = 'SELECT group_id, group_colour
|
||||
FROM ' . GROUPS_TABLE . "
|
||||
WHERE group_name = 'BOTS'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$group_row = $this->db->sql_fetchrow($result);
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (!$group_row)
|
||||
{
|
||||
// default fallback, should never get here
|
||||
$group_row['group_id'] = 6;
|
||||
$group_row['group_colour'] = '9E8DA7';
|
||||
}
|
||||
|
||||
if (!function_exists('user_add'))
|
||||
{
|
||||
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
|
||||
}
|
||||
|
||||
$user_row = array(
|
||||
'user_type' => USER_IGNORE,
|
||||
'group_id' => $group_row['group_id'],
|
||||
'username' => $bot_name,
|
||||
'user_regdate' => time(),
|
||||
'user_password' => '',
|
||||
'user_colour' => $group_row['group_colour'],
|
||||
'user_email' => '',
|
||||
'user_lang' => $this->config['default_lang'],
|
||||
'user_style' => $this->config['default_style'],
|
||||
'user_timezone' => 0,
|
||||
'user_dateformat' => $this->config['default_dateformat'],
|
||||
'user_allow_massemail' => 0,
|
||||
);
|
||||
|
||||
$user_id = user_add($user_row);
|
||||
|
||||
$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $this->db->sql_build_array('INSERT', array(
|
||||
'bot_active' => 1,
|
||||
'bot_name' => (string) $bot_name,
|
||||
'user_id' => (int) $user_id,
|
||||
'bot_agent' => (string) $bot_agent,
|
||||
'bot_ip' => (string) $bot_ip,
|
||||
));
|
||||
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
public function delete_orphan_shadow_topics()
|
||||
{
|
||||
// Delete shadow topics pointing to not existing topics
|
||||
|
150
phpBB/phpbb/db/migration/data/v310/bot_update.php
Normal file
150
phpBB/phpbb/db/migration/data/v310/bot_update.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db\migration\data\v310;
|
||||
|
||||
class bot_update extends \phpbb\db\migration\migration
|
||||
{
|
||||
static public function depends_on()
|
||||
{
|
||||
return array('\phpbb\db\migration\data\v310\rc6');
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return array(
|
||||
array('custom', array(array(&$this, 'update_bing_bot'))),
|
||||
array('custom', array(array(&$this, 'update_bots'))),
|
||||
);
|
||||
}
|
||||
|
||||
public function update_bing_bot()
|
||||
{
|
||||
$bot_name = 'Bing [Bot]';
|
||||
$bot_name_clean = utf8_clean_string($bot_name);
|
||||
|
||||
$sql = 'SELECT user_id
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username_clean = '" . $this->db->sql_escape($bot_name_clean) . "'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$bing_already_added = (bool) $this->db->sql_fetchfield('user_id');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (!$bing_already_added)
|
||||
{
|
||||
$bot_agent = 'bingbot/';
|
||||
$bot_ip = '';
|
||||
$sql = 'SELECT group_id, group_colour
|
||||
FROM ' . GROUPS_TABLE . "
|
||||
WHERE group_name = 'BOTS'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$group_row = $this->db->sql_fetchrow($result);
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (!$group_row)
|
||||
{
|
||||
// default fallback, should never get here
|
||||
$group_row['group_id'] = 6;
|
||||
$group_row['group_colour'] = '9E8DA7';
|
||||
}
|
||||
|
||||
if (!function_exists('user_add'))
|
||||
{
|
||||
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
|
||||
}
|
||||
|
||||
$user_row = array(
|
||||
'user_type' => USER_IGNORE,
|
||||
'group_id' => $group_row['group_id'],
|
||||
'username' => $bot_name,
|
||||
'user_regdate' => time(),
|
||||
'user_password' => '',
|
||||
'user_colour' => $group_row['group_colour'],
|
||||
'user_email' => '',
|
||||
'user_lang' => $this->config['default_lang'],
|
||||
'user_style' => $this->config['default_style'],
|
||||
'user_timezone' => 0,
|
||||
'user_dateformat' => $this->config['default_dateformat'],
|
||||
'user_allow_massemail' => 0,
|
||||
);
|
||||
|
||||
$user_id = user_add($user_row);
|
||||
|
||||
$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $this->db->sql_build_array('INSERT', array(
|
||||
'bot_active' => 1,
|
||||
'bot_name' => (string) $bot_name,
|
||||
'user_id' => (int) $user_id,
|
||||
'bot_agent' => (string) $bot_agent,
|
||||
'bot_ip' => (string) $bot_ip,
|
||||
));
|
||||
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
public function update_bots()
|
||||
{
|
||||
// Update bots
|
||||
if (!function_exists('user_delete'))
|
||||
{
|
||||
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
|
||||
}
|
||||
|
||||
$bots_updates = array(
|
||||
// Bot Deletions
|
||||
'NG-Search [Bot]' => false,
|
||||
'Nutch/CVS [Bot]' => false,
|
||||
'OmniExplorer [Bot]' => false,
|
||||
'Seekport [Bot]' => false,
|
||||
'Synoo [Bot]' => false,
|
||||
'WiseNut [Bot]' => false,
|
||||
|
||||
// Bot Updates
|
||||
// Bot name to bot user agent map
|
||||
'Baidu [Spider]' => 'Baiduspider',
|
||||
'Exabot [Bot]' => 'Exabot',
|
||||
'Voyager [Bot]' => 'voyager/',
|
||||
'W3C [Validator]' => 'W3C_Validator',
|
||||
);
|
||||
|
||||
foreach ($bots_updates as $bot_name => $bot_agent)
|
||||
{
|
||||
$sql = 'SELECT user_id
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_type = ' . USER_IGNORE . "
|
||||
AND username_clean = '" . $this->db->sql_escape(utf8_clean_string($bot_name)) . "'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$bot_user_id = (int) $this->db->sql_fetchfield('user_id');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if ($bot_user_id)
|
||||
{
|
||||
if ($bot_agent === false)
|
||||
{
|
||||
$sql = 'DELETE FROM ' . BOTS_TABLE . "
|
||||
WHERE user_id = $bot_user_id";
|
||||
$this->sql_query($sql);
|
||||
|
||||
user_delete('retain', $bot_user_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'UPDATE ' . BOTS_TABLE . "
|
||||
SET bot_agent = '" . $this->db->sql_escape($bot_agent) . "'
|
||||
WHERE user_id = $bot_user_id";
|
||||
$this->sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -20,6 +20,11 @@ class contact_admin_form extends \phpbb\db\migration\migration
|
||||
return isset($this->config['contact_admin_form_enable']);
|
||||
}
|
||||
|
||||
static public function depends_on()
|
||||
{
|
||||
return array('\phpbb\db\migration\data\v310\config_db_text');
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return array(
|
||||
|
32
phpBB/phpbb/db/migration/data/v310/gold.php
Normal file
32
phpBB/phpbb/db/migration/data/v310/gold.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db\migration\data\v310;
|
||||
|
||||
class gold extends \phpbb\db\migration\migration
|
||||
{
|
||||
static public function depends_on()
|
||||
{
|
||||
return array(
|
||||
'\phpbb\db\migration\data\v310\rc6',
|
||||
'\phpbb\db\migration\data\v310\bot_update',
|
||||
);
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return array(
|
||||
array('config.update', array('version', '3.1.0')),
|
||||
);
|
||||
}
|
||||
}
|
@@ -67,6 +67,13 @@ class migrator
|
||||
*/
|
||||
public $last_run_migration = false;
|
||||
|
||||
/**
|
||||
* The output handler. A null handler is configured by default.
|
||||
*
|
||||
* @var migrator_output_handler
|
||||
*/
|
||||
public $output_handler;
|
||||
|
||||
/**
|
||||
* Constructor of the database migrator
|
||||
*/
|
||||
@@ -84,6 +91,8 @@ class migrator
|
||||
|
||||
$this->table_prefix = $table_prefix;
|
||||
|
||||
$this->output_handler = new null_migrator_output_handler();
|
||||
|
||||
foreach ($tools as $tool)
|
||||
{
|
||||
$this->tools[$tool->get_name()] = $tool;
|
||||
@@ -94,6 +103,16 @@ class migrator
|
||||
$this->load_migration_state();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the output handler.
|
||||
*
|
||||
* @param migrator_output_handler $handler The output handler
|
||||
*/
|
||||
public function set_output_handler(migrator_output_handler_interface $handler)
|
||||
{
|
||||
$this->output_handler = $handler;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads all migrations and their application state from the database.
|
||||
*
|
||||
@@ -161,6 +180,10 @@ class migrator
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_EFFECTIVELY_INSTALLED', $name), migrator_output_handler_interface::VERBOSITY_DEBUG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,6 +198,7 @@ class migrator
|
||||
{
|
||||
if (!class_exists($name))
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_NOT_VALID', $name), migrator_output_handler_interface::VERBOSITY_DEBUG);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -191,6 +215,11 @@ class migrator
|
||||
'migration_end_time' => 0,
|
||||
);
|
||||
|
||||
if (!empty($state['migration_depends_on']))
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_APPLY_DEPENDENCIES', $name), migrator_output_handler_interface::VERBOSITY_DEBUG);
|
||||
}
|
||||
|
||||
foreach ($state['migration_depends_on'] as $depend)
|
||||
{
|
||||
if ($this->unfulfillable($depend) !== false)
|
||||
@@ -227,6 +256,8 @@ class migrator
|
||||
);
|
||||
|
||||
$this->last_run_migration['effectively_installed'] = true;
|
||||
|
||||
$this->output_handler->write(array('MIGRATION_EFFECTIVELY_INSTALLED', $name), migrator_output_handler_interface::VERBOSITY_VERBOSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -238,23 +269,43 @@ class migrator
|
||||
|
||||
if (!$state['migration_schema_done'])
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_SCHEMA_RUNNING', $name), migrator_output_handler_interface::VERBOSITY_VERBOSE);
|
||||
|
||||
$this->last_run_migration['task'] = 'process_schema_step';
|
||||
$elapsed_time = microtime(true);
|
||||
$steps = $this->helper->get_schema_steps($migration->update_schema());
|
||||
$result = $this->process_data_step($steps, $state['migration_data_state']);
|
||||
$elapsed_time = microtime(true) - $elapsed_time;
|
||||
|
||||
$state['migration_data_state'] = ($result === true) ? '' : $result;
|
||||
$state['migration_schema_done'] = ($result === true);
|
||||
|
||||
$this->output_handler->write(array('MIGRATION_SCHEMA_DONE', $name, $elapsed_time), migrator_output_handler_interface::VERBOSITY_NORMAL);
|
||||
}
|
||||
else if (!$state['migration_data_done'])
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_DATA_RUNNING', $name), migrator_output_handler_interface::VERBOSITY_VERBOSE);
|
||||
|
||||
$this->last_run_migration['task'] = 'process_data_step';
|
||||
|
||||
$elapsed_time = microtime(true);
|
||||
$result = $this->process_data_step($migration->update_data(), $state['migration_data_state']);
|
||||
$elapsed_time = microtime(true) - $elapsed_time;
|
||||
|
||||
$state['migration_data_state'] = ($result === true) ? '' : $result;
|
||||
$state['migration_data_done'] = ($result === true);
|
||||
$state['migration_end_time'] = ($result === true) ? time() : 0;
|
||||
|
||||
if ($state['migration_schema_done'])
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_DATA_DONE', $name, $elapsed_time), migrator_output_handler_interface::VERBOSITY_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->output_handler->write(array('MIGRATION_DATA_IN_PROGRESS', $name, $elapsed_time), migrator_output_handler_interface::VERBOSITY_VERY_VERBOSE);
|
||||
}
|
||||
}
|
||||
catch (\phpbb\db\migration\exception $e)
|
||||
{
|
||||
|
31
phpBB/phpbb/db/migrator_output_handler_interface.php
Normal file
31
phpBB/phpbb/db/migrator_output_handler_interface.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db;
|
||||
|
||||
interface migrator_output_handler_interface
|
||||
{
|
||||
const VERBOSITY_QUIET = 0;
|
||||
const VERBOSITY_NORMAL = 1;
|
||||
const VERBOSITY_VERBOSE = 2;
|
||||
const VERBOSITY_VERY_VERBOSE = 3;
|
||||
const VERBOSITY_DEBUG = 4;
|
||||
|
||||
/**
|
||||
* Write output using the configured closure.
|
||||
*
|
||||
* @param string|array $message The message to write or an array containing the language key and all of its parameters.
|
||||
* @param int $verbosity The verbosity of the message.
|
||||
*/
|
||||
public function write($message, $verbosity);
|
||||
}
|
24
phpBB/phpbb/db/null_migrator_output_handler.php
Normal file
24
phpBB/phpbb/db/null_migrator_output_handler.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db;
|
||||
|
||||
class null_migrator_output_handler implements migrator_output_handler_interface
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function write($message, $verbosity)
|
||||
{
|
||||
}
|
||||
}
|
@@ -131,7 +131,7 @@ class admin_activate_user extends \phpbb\notification\type\base
|
||||
public function get_email_template_variables()
|
||||
{
|
||||
$board_url = generate_board_url();
|
||||
$username = $this->user_loader->get_username($this->item_id, 'no_profile');
|
||||
$username = $this->user_loader->get_username($this->item_id, 'username');
|
||||
|
||||
return array(
|
||||
'USERNAME' => htmlspecialchars_decode($username),
|
||||
|
@@ -577,6 +577,43 @@ class session
|
||||
}
|
||||
}
|
||||
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
$provider = $provider_collection->get_provider();
|
||||
$this->data = $provider->autologin();
|
||||
|
||||
if ($user_id !== false && sizeof($this->data) && $this->data['user_id'] != $user_id)
|
||||
{
|
||||
$this->data = array();
|
||||
}
|
||||
|
||||
if (sizeof($this->data))
|
||||
{
|
||||
$this->cookie_data['k'] = '';
|
||||
$this->cookie_data['u'] = $this->data['user_id'];
|
||||
}
|
||||
|
||||
// If we're presented with an autologin key we'll join against it.
|
||||
// Else if we've been passed a user_id we'll grab data based on that
|
||||
if (isset($this->cookie_data['k']) && $this->cookie_data['k'] && $this->cookie_data['u'] && !sizeof($this->data))
|
||||
{
|
||||
$sql = 'SELECT u.*
|
||||
FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k
|
||||
WHERE u.user_id = ' . (int) $this->cookie_data['u'] . '
|
||||
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ")
|
||||
AND k.user_id = u.user_id
|
||||
AND k.key_id = '" . $db->sql_escape(md5($this->cookie_data['k'])) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
$user_data = $db->sql_fetchrow($result);
|
||||
|
||||
if ($user_id === false || (isset($user_data['user_id']) && $user_id == $user_data['user_id']))
|
||||
{
|
||||
$this->data = $user_data;
|
||||
$bot = false;
|
||||
}
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
if ($user_id !== false && !sizeof($this->data))
|
||||
{
|
||||
$this->cookie_data['k'] = '';
|
||||
@@ -591,34 +628,6 @@ class session
|
||||
$db->sql_freeresult($result);
|
||||
$bot = false;
|
||||
}
|
||||
else if (!$bot)
|
||||
{
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
$provider = $provider_collection->get_provider();
|
||||
$this->data = $provider->autologin();
|
||||
|
||||
if (sizeof($this->data))
|
||||
{
|
||||
$this->cookie_data['k'] = '';
|
||||
$this->cookie_data['u'] = $this->data['user_id'];
|
||||
}
|
||||
|
||||
// If we're presented with an autologin key we'll join against it.
|
||||
// Else if we've been passed a user_id we'll grab data based on that
|
||||
if (isset($this->cookie_data['k']) && $this->cookie_data['k'] && $this->cookie_data['u'] && !sizeof($this->data))
|
||||
{
|
||||
$sql = 'SELECT u.*
|
||||
FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k
|
||||
WHERE u.user_id = ' . (int) $this->cookie_data['u'] . '
|
||||
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ")
|
||||
AND k.user_id = u.user_id
|
||||
AND k.key_id = '" . $db->sql_escape(md5($this->cookie_data['k'])) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
$this->data = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
$bot = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Bot user, if they have a SID in the Request URI we need to get rid of it
|
||||
// otherwise they'll index this page with the SID, duplicate content oh my!
|
||||
|
@@ -239,7 +239,7 @@ class version_helper
|
||||
*/
|
||||
public function get_versions($force_update = false, $force_cache = false)
|
||||
{
|
||||
$cache_file = 'versioncheck_' . $this->host . $this->path . $this->file;
|
||||
$cache_file = '_versioncheck_' . $this->host . $this->path . $this->file;
|
||||
|
||||
$info = $this->cache->get($cache_file);
|
||||
|
||||
|
@@ -21,8 +21,8 @@
|
||||
# General Information about this style
|
||||
name = prosilver
|
||||
copyright = © phpBB Limited, 2007
|
||||
style_version = 3.1.0-RC6
|
||||
phpbb_version = 3.1.0-RC6
|
||||
style_version = 3.1.0
|
||||
phpbb_version = 3.1.0
|
||||
|
||||
# Defining a different template bitfield
|
||||
# template_bitfield = lNg=
|
||||
|
@@ -21,8 +21,8 @@
|
||||
# General Information about this style
|
||||
name = subsilver2
|
||||
copyright = © 2005 phpBB Limited
|
||||
style_version = 3.1.0-RC6
|
||||
phpbb_version = 3.1.0-RC6
|
||||
style_version = 3.1.0
|
||||
phpbb_version = 3.1.0
|
||||
|
||||
# Defining a different template bitfield
|
||||
# template_bitfield = lNg=
|
||||
|
@@ -106,4 +106,32 @@ class phpbb_functional_memberlist_test extends phpbb_functional_test_case
|
||||
$this->assertContains('admin', $crawler->eq(0)->text());
|
||||
$this->assertNotContains('admin', $crawler->eq(1)->text());
|
||||
}
|
||||
|
||||
public function test_group_rank()
|
||||
{
|
||||
copy(__DIR__ . '/fixtures/files/valid.jpg', __DIR__ . '/../../phpBB/images/ranks/valid.jpg');
|
||||
|
||||
$this->login();
|
||||
$this->admin_login();
|
||||
$this->add_lang(array('acp/groups', 'acp/posting'));
|
||||
|
||||
// Set a group rank to the registered users
|
||||
$crawler = self::request('GET', "adm/index.php?sid={$this->sid}&i=acp_groups&mode=manage&action=edit&g=2");
|
||||
$form = $crawler->selectButton('Submit')->form();
|
||||
$form['group_rank']->select('1');
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContainsLang('GROUP_UPDATED', $crawler->filter('.successbox')->text());
|
||||
|
||||
// Set a rank image for site_admin
|
||||
$crawler = self::request('GET', "adm/index.php?sid={$this->sid}&i=acp_ranks&mode=ranks&action=edit&id=1");
|
||||
$form = $crawler->selectButton('Submit')->form();
|
||||
$form['rank_image']->select('valid.jpg');
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContainsLang('RANK_UPDATED', $crawler->filter('.successbox')->text());
|
||||
|
||||
$crawler = self::request('GET', 'memberlist.php?mode=group&g=2');
|
||||
$this->assertContains('memberlist-test-user', $crawler->text());
|
||||
|
||||
unlink(__DIR__ . '/../../phpBB/images/ranks/valid.jpg');
|
||||
}
|
||||
}
|
||||
|
@@ -129,8 +129,8 @@ class phpbb_functional_prune_shadow_topic_test extends phpbb_functional_test_cas
|
||||
$result = $this->db->sql_query($sql);
|
||||
|
||||
$crawler = self::request('GET', "viewforum.php?f={$this->data['forums']['Prune Shadow']}&sid={$this->sid}");
|
||||
$cron_link = $crawler->filter('img')->last()->attr('src');
|
||||
$crawler = self::request('GET', $cron_link . "&sid={$this->sid}", array(), false);
|
||||
$this->assertNotEmpty($crawler->filter('img')->last()->attr('src'));
|
||||
self::request('GET', "cron.php?cron_type=cron.task.core.prune_shadow_topics&f={$this->data['forums']['Prune Shadow']}&sid={$this->sid}", array(), false);
|
||||
|
||||
$this->assert_forum_details($this->data['forums']['Prune Shadow'], array(
|
||||
'forum_posts_approved' => 0,
|
||||
|
@@ -45,12 +45,24 @@ class phpbb_functional_registration_test extends phpbb_functional_test_case
|
||||
$form = $crawler->selectButton('Submit')->form(array(
|
||||
'username' => 'user-reg-test',
|
||||
'email' => 'user-reg-test@phpbb.com',
|
||||
'new_password' => 'testtest',
|
||||
'password_confirm' => 'testtest',
|
||||
'new_password' => 'user-reg-testuser-reg-test',
|
||||
'password_confirm' => 'user-reg-testuser-reg-test',
|
||||
));
|
||||
$form['tz']->select('Europe/Berlin');
|
||||
$crawler = self::submit($form);
|
||||
|
||||
$this->assertContainsLang('ACCOUNT_ADDED', $crawler->filter('#message')->text());
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends test_register_new_account
|
||||
*/
|
||||
public function test_default_subscription_options()
|
||||
{
|
||||
$this->login('user-reg-test');
|
||||
$crawler = self::request('GET', 'ucp.php?i=ucp_notifications&mode=notification_options&sid=' . $this->sid);
|
||||
$form_values = $crawler->selectButton('Submit')->form()->getValues();
|
||||
$this->assertEquals(1, $form_values['notification.type.post_notification.method.email']);
|
||||
$this->assertEquals(1, $form_values['notification.type.topic_notification.method.email']);
|
||||
}
|
||||
}
|
||||
|
@@ -556,12 +556,10 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||
$cache = new phpbb_mock_null_cache;
|
||||
|
||||
$cache_driver = new \phpbb\cache\driver\null();
|
||||
$phpbb_container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||
$phpbb_container
|
||||
->expects($this->any())
|
||||
->method('get')
|
||||
->with('cache.driver')
|
||||
->will($this->returnValue($cache_driver));
|
||||
$phpbb_container = new phpbb_mock_container_builder();
|
||||
$phpbb_container->set('cache.driver', $cache_driver);
|
||||
$phpbb_notifications = new phpbb_mock_notification_manager();
|
||||
$phpbb_container->set('notification_manager', $phpbb_notifications);
|
||||
|
||||
if (!function_exists('utf_clean_string'))
|
||||
{
|
||||
|
Reference in New Issue
Block a user