aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/adm/style/acp_inactive.html2
-rw-r--r--phpBB/adm/style/acp_users_overview.html2
-rw-r--r--phpBB/adm/style/editor.js2
-rw-r--r--phpBB/composer.json4
-rw-r--r--phpBB/composer.lock452
-rw-r--r--phpBB/develop/create_schema_files.php19
-rw-r--r--phpBB/docs/AUTHORS4
-rw-r--r--phpBB/docs/CHANGELOG.html1
-rw-r--r--phpBB/docs/INSTALL.html1
-rw-r--r--phpBB/docs/README.html2
-rw-r--r--phpBB/includes/acp/acp_board.php2
-rw-r--r--phpBB/includes/acp/acp_forums.php1
-rw-r--r--phpBB/includes/acp/acp_users.php12
-rw-r--r--phpBB/includes/bbcode.php4
-rw-r--r--phpBB/includes/db/db_tools.php152
-rw-r--r--phpBB/includes/functions.php15
-rw-r--r--phpBB/includes/functions_admin.php16
-rw-r--r--phpBB/includes/functions_content.php18
-rw-r--r--phpBB/includes/functions_module.php6
-rw-r--r--phpBB/includes/functions_posting.php4
-rw-r--r--phpBB/includes/functions_profile_fields.php2
-rw-r--r--phpBB/includes/mcp/info/mcp_pm_reports.php2
-rw-r--r--phpBB/includes/mcp/mcp_queue.php6
-rw-r--r--phpBB/includes/search/fulltext_native.php39
-rw-r--r--phpBB/install/database_update.php6
-rw-r--r--phpBB/install/index.php3
-rw-r--r--phpBB/install/install_convert.php2
-rw-r--r--phpBB/install/install_install.php50
-rw-r--r--phpBB/install/schemas/mssql_schema.sql605
-rw-r--r--phpBB/install/schemas/schema_data.sql2
-rw-r--r--phpBB/language/en/acp/ban.php4
-rw-r--r--phpBB/language/en/acp/board.php4
-rw-r--r--phpBB/language/en/acp/common.php2
-rw-r--r--phpBB/language/en/acp/users.php1
-rw-r--r--phpBB/language/en/common.php5
-rw-r--r--phpBB/language/en/email/topic_notify.txt3
-rw-r--r--phpBB/language/en/memberlist.php1
-rw-r--r--phpBB/search.php15
-rw-r--r--phpBB/styles/prosilver/style.cfg4
-rw-r--r--phpBB/styles/prosilver/template/editor.js2
-rw-r--r--phpBB/styles/prosilver/template/forum_fn.js2
-rw-r--r--phpBB/styles/prosilver/template/overall_footer.html2
-rw-r--r--phpBB/styles/prosilver/template/ucp_groups_manage.html2
-rw-r--r--phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html2
-rw-r--r--phpBB/styles/prosilver/template/ucp_profile_profile_info.html6
-rw-r--r--phpBB/styles/prosilver/template/ucp_profile_reg_details.html4
-rw-r--r--phpBB/styles/prosilver/template/viewtopic_print.html2
-rw-r--r--phpBB/styles/subsilver2/style.cfg2
-rw-r--r--phpBB/styles/subsilver2/template/editor.js2
-rw-r--r--phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html1
-rw-r--r--phpBB/styles/subsilver2/template/ucp_profile_reg_details.html4
-rw-r--r--phpBB/styles/subsilver2/template/viewtopic_print.html1
-rw-r--r--phpBB/viewtopic.php24
53 files changed, 1009 insertions, 522 deletions
diff --git a/phpBB/adm/style/acp_inactive.html b/phpBB/adm/style/acp_inactive.html
index 3b20043dd9..b8e46a6e53 100644
--- a/phpBB/adm/style/acp_inactive.html
+++ b/phpBB/adm/style/acp_inactive.html
@@ -53,7 +53,7 @@
</table>
<fieldset class="display-options">
- {L_DISPLAY_LOG}: &nbsp;{S_LIMIT_DAYS}&nbsp;{L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}<!-- IF PAGINATION -->&nbsp;Users per page: <input class="inputbox autowidth" type="text" name="users_per_page" id="users_per_page" size="3" value="{USERS_PER_PAGE}" /><!-- ENDIF -->
+ {L_DISPLAY_LOG}: &nbsp;{S_LIMIT_DAYS}&nbsp;{L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}<!-- IF PAGINATION -->&nbsp;{L_USERS_PER_PAGE}: <input class="inputbox autowidth" type="text" name="users_per_page" id="users_per_page" size="3" value="{USERS_PER_PAGE}" /><!-- ENDIF -->
<input class="button2" type="submit" value="{L_GO}" name="sort" />
</fieldset>
diff --git a/phpBB/adm/style/acp_users_overview.html b/phpBB/adm/style/acp_users_overview.html
index ba350a13fb..964d6e5c17 100644
--- a/phpBB/adm/style/acp_users_overview.html
+++ b/phpBB/adm/style/acp_users_overview.html
@@ -30,7 +30,7 @@
</dl>
<dl>
<dt><label>{L_POSTS}:</label></dt>
- <dd><strong>{USER_POSTS}</strong><!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --> (<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --> ({L_POSTS_IN_QUEUE})<!-- ENDIF --></dd>
+ <dd><strong><!-- IF USER_HAS_POSTS and U_SEARCH_USER --><a href="{U_SEARCH_USER}">{USER_POSTS}</a><!-- ELSE -->{USER_POSTS}<!-- ENDIF --></strong><!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --> (<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --> ({L_POSTS_IN_QUEUE})<!-- ENDIF --></dd>
</dl>
<dl>
<dt><label>{L_WARNINGS}:</label></dt>
diff --git a/phpBB/adm/style/editor.js b/phpBB/adm/style/editor.js
index 217aa699e2..cad01aa9f2 100644
--- a/phpBB/adm/style/editor.js
+++ b/phpBB/adm/style/editor.js
@@ -292,7 +292,7 @@ function mozWrap(txtarea, open, close)
*/
function storeCaret(textEl)
{
- if (textEl.createTextRange)
+ if (textEl.createTextRange && document.selection)
{
textEl.caretPos = document.selection.createRange().duplicate();
}
diff --git a/phpBB/composer.json b/phpBB/composer.json
index 4b3fe8ebb3..434bf330ec 100644
--- a/phpBB/composer.json
+++ b/phpBB/composer.json
@@ -1,8 +1,8 @@
{
"require-dev": {
"fabpot/goutte": "1.0.*",
- "phpunit/dbunit": "1.2.*",
- "phpunit/phpunit": "3.7.*",
+ "phpunit/dbunit": "1.3.*",
+ "phpunit/phpunit": "4.1.*",
"phing/phing": "2.4.*"
}
}
diff --git a/phpBB/composer.lock b/phpBB/composer.lock
index 61ba0fdebc..6f57e67015 100644
--- a/phpBB/composer.lock
+++ b/phpBB/composer.lock
@@ -3,7 +3,7 @@
"This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
],
- "hash": "ec5fbbc971057677b452c4600e7501c6",
+ "hash": "9a505c5911182b264ea0eccffa5d5ad6",
"packages": [
],
@@ -54,7 +54,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
}
],
"description": "A simple PHP Web Scraper",
@@ -316,31 +318,32 @@
},
{
"name": "phpunit/dbunit",
- "version": "1.2.3",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/dbunit.git",
- "reference": "8386782a2d55153e44a06eb1a9d13d6ed35d9c2d"
+ "reference": "a5891b7a9c4f21587a51f9bc4e8f7042b741b480"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/8386782a2d55153e44a06eb1a9d13d6ed35d9c2d",
- "reference": "8386782a2d55153e44a06eb1a9d13d6ed35d9c2d",
+ "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/a5891b7a9c4f21587a51f9bc4e8f7042b741b480",
+ "reference": "a5891b7a9c4f21587a51f9bc4e8f7042b741b480",
"shasum": ""
},
"require": {
"ext-pdo": "*",
"ext-simplexml": "*",
"php": ">=5.3.3",
- "phpunit/phpunit": ">=3.7.0@stable"
+ "phpunit/phpunit": ">=3.7.0@stable",
+ "symfony/yaml": ">=2.1.0"
},
"bin": [
- "dbunit.php"
+ "composer/bin/dbunit"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.3.x-dev"
}
},
"autoload": {
@@ -370,44 +373,48 @@
"testing",
"xunit"
],
- "time": "2013-03-01 11:50:46"
+ "time": "2014-03-26 11:25:06"
},
{
"name": "phpunit/php-code-coverage",
- "version": "1.2.12",
+ "version": "2.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "0e9958c459d675fb497d8dc5001c91d335734e48"
+ "reference": "bccecf50645068b44f49a84009e2a0499a500b99"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/0e9958c459d675fb497d8dc5001c91d335734e48",
- "reference": "0e9958c459d675fb497d8dc5001c91d335734e48",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/bccecf50645068b44f49a84009e2a0499a500b99",
+ "reference": "bccecf50645068b44f49a84009e2a0499a500b99",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
- "phpunit/php-file-iterator": ">=1.3.0@stable",
- "phpunit/php-text-template": ">=1.1.1@stable",
- "phpunit/php-token-stream": ">=1.1.3@stable"
+ "phpunit/php-file-iterator": "~1.3.1",
+ "phpunit/php-text-template": "~1.2.0",
+ "phpunit/php-token-stream": "~1.2.2",
+ "sebastian/environment": "~1.0.0",
+ "sebastian/version": "~1.0.3"
},
"require-dev": {
- "phpunit/phpunit": "3.7.*@dev"
+ "ext-xdebug": ">=2.1.4",
+ "phpunit/phpunit": "~4.0.14"
},
"suggest": {
"ext-dom": "*",
- "ext-xdebug": ">=2.0.5"
+ "ext-xdebug": ">=2.2.1",
+ "ext-xmlwriter": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"classmap": [
- "PHP/"
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -431,20 +438,20 @@
"testing",
"xunit"
],
- "time": "2013-07-06 06:26:16"
+ "time": "2014-04-30 09:01:21"
},
{
"name": "phpunit/php-file-iterator",
- "version": "1.3.3",
+ "version": "1.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "16a78140ed2fc01b945cfa539665fadc6a038029"
+ "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/16a78140ed2fc01b945cfa539665fadc6a038029",
- "reference": "16a78140ed2fc01b945cfa539665fadc6a038029",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
+ "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
"shasum": ""
},
"require": {
@@ -471,25 +478,25 @@
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "http://www.phpunit.de/",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
],
- "time": "2012-10-11 11:44:38"
+ "time": "2013-10-10 15:34:57"
},
{
"name": "phpunit/php-text-template",
- "version": "1.1.4",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5180896f51c5b3648ac946b05f9ec02be78a0b23"
+ "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5180896f51c5b3648ac946b05f9ec02be78a0b23",
- "reference": "5180896f51c5b3648ac946b05f9ec02be78a0b23",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
+ "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
"shasum": ""
},
"require": {
@@ -520,7 +527,7 @@
"keywords": [
"template"
],
- "time": "2012-10-31 18:15:28"
+ "time": "2014-01-30 17:20:04"
},
{
"name": "phpunit/php-timer",
@@ -568,16 +575,16 @@
},
{
"name": "phpunit/php-token-stream",
- "version": "1.2.0",
+ "version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "31babf400e5b5868573bf49a000a3519d3978233"
+ "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/31babf400e5b5868573bf49a000a3519d3978233",
- "reference": "31babf400e5b5868573bf49a000a3519d3978233",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/ad4e1e23ae01b483c16f600ff1bebec184588e32",
+ "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32",
"shasum": ""
},
"require": {
@@ -614,56 +621,56 @@
"keywords": [
"tokenizer"
],
- "time": "2013-08-04 05:57:48"
+ "time": "2014-03-03 05:10:30"
},
{
"name": "phpunit/phpunit",
- "version": "3.7.24",
+ "version": "4.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "af7b77ccb5c64458bdfca95665d29558d1df7d08"
+ "reference": "efb1b1334605594417a3bd466477772d06d460a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/af7b77ccb5c64458bdfca95665d29558d1df7d08",
- "reference": "af7b77ccb5c64458bdfca95665d29558d1df7d08",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/efb1b1334605594417a3bd466477772d06d460a8",
+ "reference": "efb1b1334605594417a3bd466477772d06d460a8",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.3.3",
- "phpunit/php-code-coverage": "~1.2.1",
- "phpunit/php-file-iterator": ">=1.3.1",
- "phpunit/php-text-template": ">=1.1.1",
- "phpunit/php-timer": ">=1.0.4",
- "phpunit/phpunit-mock-objects": "~1.2.0",
+ "phpunit/php-code-coverage": "~2.0",
+ "phpunit/php-file-iterator": "~1.3.1",
+ "phpunit/php-text-template": "~1.2",
+ "phpunit/php-timer": "~1.0.2",
+ "phpunit/phpunit-mock-objects": "~2.1",
+ "sebastian/comparator": "~1.0",
+ "sebastian/diff": "~1.1",
+ "sebastian/environment": "~1.0",
+ "sebastian/exporter": "~1.0",
+ "sebastian/version": "~1.0",
"symfony/yaml": "~2.0"
},
- "require-dev": {
- "pear-pear/pear": "1.9.4"
- },
"suggest": {
- "ext-json": "*",
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "phpunit/php-invoker": ">=1.1.0,<1.2.0"
+ "phpunit/php-invoker": "~1.1"
},
"bin": [
- "composer/bin/phpunit"
+ "phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.7.x-dev"
+ "dev-master": "4.1.x-dev"
}
},
"autoload": {
"classmap": [
- "PHPUnit/"
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -688,33 +695,41 @@
"testing",
"xunit"
],
- "time": "2013-08-09 06:58:24"
+ "time": "2014-05-02 07:13:40"
},
{
"name": "phpunit/phpunit-mock-objects",
- "version": "1.2.3",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "5794e3c5c5ba0fb037b11d8151add2a07fa82875"
+ "reference": "da0eb04d8ee95ec2898187e407e519c118d3d27c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5794e3c5c5ba0fb037b11d8151add2a07fa82875",
- "reference": "5794e3c5c5ba0fb037b11d8151add2a07fa82875",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/da0eb04d8ee95ec2898187e407e519c118d3d27c",
+ "reference": "da0eb04d8ee95ec2898187e407e519c118d3d27c",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
- "phpunit/php-text-template": ">=1.1.1@stable"
+ "phpunit/php-text-template": "~1.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.1"
},
"suggest": {
"ext-soap": "*"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1.x-dev"
+ }
+ },
"autoload": {
"classmap": [
- "PHPUnit/"
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -737,7 +752,274 @@
"mock",
"xunit"
],
- "time": "2013-01-13 10:24:48"
+ "time": "2014-05-02 07:04:11"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
+ "reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "sebastian/diff": "~1.1",
+ "sebastian/exporter": "~1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "time": "2014-05-02 07:05:58"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
+ "reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "http://www.github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff"
+ ],
+ "time": "2013-08-03 16:46:33"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/79517609ec01139cd7e9fded0dd7ce08c952ef6a",
+ "reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.0.*@dev"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "time": "2014-02-18 16:17:19"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
+ "reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.0.*@dev"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "time": "2014-02-16 08:26:31"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "1.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
+ "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
+ "shasum": ""
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "time": "2014-03-07 15:35:33"
},
{
"name": "symfony/browser-kit",
@@ -783,7 +1065,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -830,7 +1114,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -887,7 +1173,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -941,7 +1229,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -988,7 +1278,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1035,7 +1327,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1048,17 +1342,17 @@
},
{
"name": "symfony/yaml",
- "version": "v2.3.4",
+ "version": "v2.4.4",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
- "reference": "5a279f1b5f5e1045a6c432354d9ea727ff3a9847"
+ "reference": "65539ecde838f9c0d18b006b2101e3deb4b5c9ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Yaml/zipball/5a279f1b5f5e1045a6c432354d9ea727ff3a9847",
- "reference": "5a279f1b5f5e1045a6c432354d9ea727ff3a9847",
+ "url": "https://api.github.com/repos/symfony/Yaml/zipball/65539ecde838f9c0d18b006b2101e3deb4b5c9ff",
+ "reference": "65539ecde838f9c0d18b006b2101e3deb4b5c9ff",
"shasum": ""
},
"require": {
@@ -1067,7 +1361,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "2.4-dev"
}
},
"autoload": {
@@ -1082,7 +1376,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1091,7 +1387,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
- "time": "2013-08-24 15:26:22"
+ "time": "2014-04-18 20:37:09"
}
],
"aliases": [
diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php
index 7b1fff40fb..b5f1202c0d 100644
--- a/phpBB/develop/create_schema_files.php
+++ b/phpBB/develop/create_schema_files.php
@@ -237,6 +237,19 @@ $supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', '
foreach ($supported_dbms as $dbms)
{
+ $schema_data = get_schema_struct();
+ if ($dbms == 'mssql')
+ {
+ foreach ($schema_data as $table_name => $table_data)
+ {
+ if (!isset($table_data['PRIMARY_KEY']))
+ {
+ $schema_data[$table_name]['COLUMNS']['mssqlindex'] = array('UINT', NULL, 'auto_increment');
+ $schema_data[$table_name]['PRIMARY_KEY'] = 'mssqlindex';
+ }
+ }
+ }
+
$fp = fopen($schema_path . $dbms . '_schema.sql', 'wb');
$line = '';
@@ -552,7 +565,7 @@ foreach ($supported_dbms as $dbms)
case 'mssql':
$line = substr($line, 0, -2);
- $line .= "\n) ON [PRIMARY]" . (($textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n";
+ $line .= "\n)";// ON [PRIMARY]" . (($textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n";
$line .= "GO\n\n";
break;
}
@@ -589,7 +602,7 @@ foreach ($supported_dbms as $dbms)
$line .= "\tCONSTRAINT [PK_{$table_name}] PRIMARY KEY CLUSTERED \n";
$line .= "\t(\n";
$line .= "\t\t[" . implode("],\n\t\t[", $table_data['PRIMARY_KEY']) . "]\n";
- $line .= "\t) ON [PRIMARY] \n";
+ $line .= "\t)\n";
$line .= "GO\n\n";
break;
@@ -684,7 +697,7 @@ foreach ($supported_dbms as $dbms)
case 'mssql':
$line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : '';
$line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : '';
- $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "]) ON [PRIMARY]\n";
+ $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "])\n";
$line .= "GO\n\n";
break;
diff --git a/phpBB/docs/AUTHORS b/phpBB/docs/AUTHORS
index 5995bd2ab4..25d2849dbe 100644
--- a/phpBB/docs/AUTHORS
+++ b/phpBB/docs/AUTHORS
@@ -23,10 +23,12 @@ involved in phpBB.
phpBB Lead Developer: naderman (Nils Adermann)
phpBB Developers: bantu (Andreas Fischer)
- EXreaction (Nathan Guse)
dhruv.goel92 (Dhruv Goel)
+ EXreaction (Nathan Guse)
imkingdavid (David King)
+ marc1706 (Marc Alexander)
nickvergessen (Joas Schilling)
+ prototech (Cesar Gallegos)
Contributions by: leviatan21 (Gabriel Vazquez)
Raimon (Raimon Meuldijk)
diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 6d8b39d524..71795f83ac 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -218,6 +218,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11368">PHPBB3-11368</a>] - Latest pm reports row count</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11583">PHPBB3-11583</a>] - InnoDB supports FULLTEXT index since MySQL 5.6.4.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11740">PHPBB3-11740</a>] - Update link in FAQ to Ideas Centre</li>
+<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11873">PHPBB3-11873</a>] - Prevent expensive hash computation in phpbb_check_hash() by rejecting very long passwords</li>
</ul>
<h4>Sub-task</h4>
<ul>
diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html
index 3fa0597fc8..74c017ecff 100644
--- a/phpBB/docs/INSTALL.html
+++ b/phpBB/docs/INSTALL.html
@@ -139,6 +139,7 @@
<li>A SQL database system, <strong>one of</strong>:
<ul>
<li>MySQL 3.23 or above (MySQLi supported)</li>
+ <li>MariaDB 5.1 or above</li>
<li>PostgreSQL 7.3+</li>
<li>SQLite 2.8.2+ (SQLite 3 is not supported)</li>
<li>Firebird 2.1+</li>
diff --git a/phpBB/docs/README.html b/phpBB/docs/README.html
index 89f573de04..d54c58eca6 100644
--- a/phpBB/docs/README.html
+++ b/phpBB/docs/README.html
@@ -329,7 +329,7 @@
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
- <p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MSSQL Server 2000, PostgreSQL 7.x, Oracle 8, SQLite 2 and Firebird. Versions of PHP used range from 4.3.3 to 5.4.x without problem. </p>
+ <p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 7.x, Oracle 8, SQLite 2 and Firebird. Versions of PHP used range from 4.3.3 to 5.4.x without problem. </p>
<a name="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php
index ebbf66657e..526d8e05da 100644
--- a/phpBB/includes/acp/acp_board.php
+++ b/phpBB/includes/acp/acp_board.php
@@ -123,7 +123,7 @@ class acp_board
'avatar_filesize' => array('lang' => 'MAX_FILESIZE', 'validate' => 'int:0', 'type' => 'text:4:10', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
'avatar_min' => array('lang' => 'MIN_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'avatar_max' => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
- 'avatar_path' => array('lang' => 'AVATAR_STORAGE_PATH', 'validate' => 'rwpath', 'type' => 'text:20:255', 'explain' => true),
+ 'avatar_path' => array('lang' => 'AVATAR_STORAGE_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true),
'avatar_gallery_path' => array('lang' => 'AVATAR_GALLERY_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true)
)
);
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php
index 50e12a0f15..dc2e6b75fb 100644
--- a/phpBB/includes/acp/acp_forums.php
+++ b/phpBB/includes/acp/acp_forums.php
@@ -56,7 +56,6 @@ class acp_forums
$total = request_var('total', 0);
$this->display_progress_bar($start, $total);
- exit;
break;
case 'delete':
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 70e08f79f2..b82be8887c 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -172,8 +172,7 @@ class acp_users
if ($submit)
{
- // You can't delete the founder
- if ($delete && $user_row['user_type'] != USER_FOUNDER)
+ if ($delete)
{
if (!$auth->acl_get('a_userdel'))
{
@@ -186,6 +185,12 @@ class acp_users
trigger_error($user->lang['CANNOT_REMOVE_ANONYMOUS'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
+ // Founders can not be deleted.
+ if ($user_row['user_type'] == USER_FOUNDER)
+ {
+ trigger_error($user->lang['CANNOT_REMOVE_FOUNDER'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
+ }
+
if ($user_id == $user->data['user_id'])
{
trigger_error($user->lang['CANNOT_REMOVE_YOURSELF'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
@@ -1032,6 +1037,7 @@ class acp_users
'U_SHOW_IP' => $this->u_action . "&amp;u=$user_id&amp;ip=" . (($ip == 'ip') ? 'hostname' : 'ip'),
'U_WHOIS' => $this->u_action . "&amp;action=whois&amp;user_ip={$user_row['user_ip']}",
'U_MCP_QUEUE' => ($auth->acl_getf_global('m_approve')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue', true, $user->session_id) : '',
+ 'U_SEARCH_USER' => ($config['load_search'] && $auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id={$user_row['user_id']}&amp;sr=posts") : '',
'U_SWITCH_PERMISSIONS' => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_row['user_id']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&amp;u={$user_row['user_id']}&amp;hash=" . generate_link_hash('switchperm')) : '',
@@ -2009,7 +2015,7 @@ class acp_users
WHERE a.poster_id = ' . $user_id . "
AND a.is_orphan = 0
ORDER BY $order_by";
- $result = $db->sql_query_limit($sql, $config['posts_per_page'], $start);
+ $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
while ($row = $db->sql_fetchrow($result))
{
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php
index 9356e3e9b4..f587e111f3 100644
--- a/phpBB/includes/bbcode.php
+++ b/phpBB/includes/bbcode.php
@@ -376,7 +376,7 @@ class bbcode
}
// Replace {L_*} lang strings
- $bbcode_tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $bbcode_tpl);
+ $bbcode_tpl = preg_replace('/{L_([A-Z0-9_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $bbcode_tpl);
if (!empty($rowset[$bbcode_id]['second_pass_replace']))
{
@@ -480,7 +480,7 @@ class bbcode
'email' => array('{EMAIL}' => '$1', '{DESCRIPTION}' => '$2')
);
- $tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $tpl);
+ $tpl = preg_replace('/{L_([A-Z0-9_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $tpl);
if (!empty($replacements[$tpl_name]))
{
diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php
index f63ff18cbe..6913960185 100644
--- a/phpBB/includes/db/db_tools.php
+++ b/phpBB/includes/db/db_tools.php
@@ -452,9 +452,6 @@ class phpbb_db_tools
// Determine if we have created a PRIMARY KEY in the earliest
$primary_key_gen = false;
- // Determine if the table must be created with TEXTIMAGE
- $create_textimage = false;
-
// Determine if the table requires a sequence
$create_sequence = false;
@@ -471,13 +468,22 @@ class phpbb_db_tools
break;
}
+ if ($this->sql_layer == 'mssql' || $this->sql_layer == 'mssqlnative')
+ {
+ if (!isset($table_data['PRIMARY_KEY']))
+ {
+ $table_data['COLUMNS']['mssqlindex'] = array('UINT', null, 'auto_increment');
+ $table_data['PRIMARY_KEY'] = 'mssqlindex';
+ }
+ }
+
// Iterate through the columns to create a table
foreach ($table_data['COLUMNS'] as $column_name => $column_data)
{
// here lies an array, filled with information compiled on the column's data
$prepared_column = $this->sql_prepare_column_data($table_name, $column_name, $column_data);
- if (isset($prepared_column['auto_increment']) && strlen($column_name) > 26) // "${column_name}_gen"
+ if (isset($prepared_column['auto_increment']) && $prepared_column['auto_increment'] && strlen($column_name) > 26) // "${column_name}_gen"
{
trigger_error("Index name '${column_name}_gen' on table '$table_name' is too long. The maximum auto increment column length is 26 characters.", E_USER_ERROR);
}
@@ -501,12 +507,6 @@ class phpbb_db_tools
$primary_key_gen = isset($prepared_column['primary_key_set']) && $prepared_column['primary_key_set'];
}
- // create textimage DDL based off of the existance of certain column types
- if (!$create_textimage)
- {
- $create_textimage = isset($prepared_column['textimage']) && $prepared_column['textimage'];
- }
-
// create sequence DDL based off of the existance of auto incrementing columns
if (!$create_sequence && isset($prepared_column['auto_increment']) && $prepared_column['auto_increment'])
{
@@ -521,13 +521,9 @@ class phpbb_db_tools
switch ($this->sql_layer)
{
case 'firebird':
- $table_sql .= "\n);";
- $statements[] = $table_sql;
- break;
-
case 'mssql':
case 'mssqlnative':
- $table_sql .= "\n) ON [PRIMARY]" . (($create_textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '');
+ $table_sql .= "\n);";
$statements[] = $table_sql;
break;
}
@@ -879,7 +875,7 @@ class phpbb_db_tools
}
}
- // Add unqiue indexes?
+ // Add unique indexes?
if (!empty($schema_changes['add_unique_index']))
{
foreach ($schema_changes['add_unique_index'] as $table => $index_array)
@@ -1290,7 +1286,7 @@ class phpbb_db_tools
}
/**
- * Check if a specified index exists in table. Does not return PRIMARY KEY and UNIQUE indexes.
+ * Check if a specified index exists in table. Does not return PRIMARY KEY indexes.
*
* @param string $table_name Table to check the index at
* @param string $index_name The index name to check
@@ -1819,22 +1815,49 @@ class phpbb_db_tools
case 'mssql':
case 'mssqlnative':
- // remove default cosntraints first
- // http://msdn.microsoft.com/en-us/library/aa175912%28v=sql.80%29.aspx
- $statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000)
- SET @drop_default_name =
- (SELECT so.name FROM sysobjects so
- JOIN sysconstraints sc ON so.id = sc.constid
- WHERE object_name(so.parent_obj) = '{$table_name}'
- AND so.xtype = 'D'
- AND sc.colid = (SELECT colid FROM syscolumns
- WHERE id = object_id('{$table_name}')
- AND name = '{$column_name}'))
- IF @drop_default_name <> ''
- BEGIN
- SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']'
- EXEC(@cmd)
- END";
+ $sql = "SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR(25)) AS mssql_version";
+ $result = $this->db->sql_query($sql);
+ $row = $this->db->sql_fetchrow($result);
+ $this->db->sql_freeresult($result);
+
+ // Remove default constraints
+ if ($row['mssql_version'][0] == '8') // SQL Server 2000
+ {
+ // http://msdn.microsoft.com/en-us/library/aa175912%28v=sql.80%29.aspx
+ // Deprecated in SQL Server 2005
+ $statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000)
+ SET @drop_default_name =
+ (SELECT so.name FROM sysobjects so
+ JOIN sysconstraints sc ON so.id = sc.constid
+ WHERE object_name(so.parent_obj) = '{$table_name}'
+ AND so.xtype = 'D'
+ AND sc.colid = (SELECT colid FROM syscolumns
+ WHERE id = object_id('{$table_name}')
+ AND name = '{$column_name}'))
+ IF @drop_default_name <> ''
+ BEGIN
+ SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']'
+ EXEC(@cmd)
+ END";
+ }
+ else
+ {
+ $sql = "SELECT dobj.name AS def_name
+ FROM sys.columns col
+ LEFT OUTER JOIN sys.objects dobj ON (dobj.object_id = col.default_object_id AND dobj.type = 'D')
+ WHERE col.object_id = object_id('{$table_name}')
+ AND col.name = '{$column_name}'
+ AND dobj.name IS NOT NULL";
+ $result = $this->db->sql_query($sql);
+ $row = $this->db->sql_fetchrow($result);
+ $this->db->sql_freeresult($result);
+
+ if ($row)
+ {
+ $statements[] = 'ALTER TABLE [' . $table_name . '] DROP CONSTRAINT [' . $row['def_name'] . ']';
+ }
+ }
+
$statements[] = 'ALTER TABLE [' . $table_name . '] DROP COLUMN [' . $column_name . ']';
break;
@@ -2038,7 +2061,7 @@ class phpbb_db_tools
$sql = "ALTER TABLE [{$table_name}] WITH NOCHECK ADD ";
$sql .= "CONSTRAINT [PK_{$table_name}] PRIMARY KEY CLUSTERED (";
$sql .= '[' . implode("],\n\t\t[", $column) . ']';
- $sql .= ') ON [PRIMARY]';
+ $sql .= ')';
$statements[] = $sql;
break;
@@ -2136,7 +2159,7 @@ class phpbb_db_tools
case 'mssql':
case 'mssqlnative':
- $statements[] = 'CREATE UNIQUE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ') ON [PRIMARY]';
+ $statements[] = 'CREATE UNIQUE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ')';
break;
}
@@ -2189,7 +2212,7 @@ class phpbb_db_tools
case 'mssql':
case 'mssqlnative':
- $statements[] = 'CREATE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ') ON [PRIMARY]';
+ $statements[] = 'CREATE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ')';
break;
}
@@ -2321,23 +2344,48 @@ class phpbb_db_tools
if (!empty($column_data['default']))
{
+ $sql = "SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR(25)) AS mssql_version";
+ $result = $this->db->sql_query($sql);
+ $row = $this->db->sql_fetchrow($result);
+ $this->db->sql_freeresult($result);
+
// Using TRANSACT-SQL for this statement because we do not want to have colliding data if statements are executed at a later stage
- $statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000)
- SET @drop_default_name =
- (SELECT so.name FROM sysobjects so
- JOIN sysconstraints sc ON so.id = sc.constid
- WHERE object_name(so.parent_obj) = '{$table_name}'
- AND so.xtype = 'D'
- AND sc.colid = (SELECT colid FROM syscolumns
- WHERE id = object_id('{$table_name}')
- AND name = '{$column_name}'))
- IF @drop_default_name <> ''
- BEGIN
- SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']'
- EXEC(@cmd)
- END
- SET @cmd = 'ALTER TABLE [{$table_name}] ADD CONSTRAINT [DF_{$table_name}_{$column_name}_1] {$column_data['default']} FOR [{$column_name}]'
- EXEC(@cmd)";
+ if ($row['mssql_version'][0] == '8') // SQL Server 2000
+ {
+ $statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000)
+ SET @drop_default_name =
+ (SELECT so.name FROM sysobjects so
+ JOIN sysconstraints sc ON so.id = sc.constid
+ WHERE object_name(so.parent_obj) = '{$table_name}'
+ AND so.xtype = 'D'
+ AND sc.colid = (SELECT colid FROM syscolumns
+ WHERE id = object_id('{$table_name}')
+ AND name = '{$column_name}'))
+ IF @drop_default_name <> ''
+ BEGIN
+ SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']'
+ EXEC(@cmd)
+ END
+ SET @cmd = 'ALTER TABLE [{$table_name}] ADD CONSTRAINT [DF_{$table_name}_{$column_name}_1] {$column_data['default']} FOR [{$column_name}]'
+ EXEC(@cmd)";
+ }
+ else
+ {
+ $statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000)
+ SET @drop_default_name =
+ (SELECT dobj.name FROM sys.columns col
+ LEFT OUTER JOIN sys.objects dobj ON (dobj.object_id = col.default_object_id AND dobj.type = 'D')
+ WHERE col.object_id = object_id('{$table_name}')
+ AND col.name = '{$column_name}'
+ AND dobj.name IS NOT NULL)
+ IF @drop_default_name <> ''
+ BEGIN
+ SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']'
+ EXEC(@cmd)
+ END
+ SET @cmd = 'ALTER TABLE [{$table_name}] ADD CONSTRAINT [DF_{$table_name}_{$column_name}_1] {$column_data['default']} FOR [{$column_name}]'
+ EXEC(@cmd)";
+ }
}
break;
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index b2b12c1445..f0657b9016 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -502,6 +502,13 @@ function phpbb_hash($password)
*/
function phpbb_check_hash($password, $hash)
{
+ if (strlen($password) > 4096)
+ {
+ // If the password is too huge, we will simply reject it
+ // and not let the server try to hash it.
+ return false;
+ }
+
$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
if (strlen($hash) == 34)
{
@@ -3360,7 +3367,7 @@ function parse_cfg_file($filename, $lines = false)
}
// Determine first occurrence, since in values the equal sign is allowed
- $key = strtolower(trim(substr($line, 0, $delim_pos)));
+ $key = htmlspecialchars(strtolower(trim(substr($line, 0, $delim_pos))));
$value = trim(substr($line, $delim_pos + 1));
if (in_array($value, array('off', 'false', '0')))
@@ -3377,7 +3384,11 @@ function parse_cfg_file($filename, $lines = false)
}
else if (($value[0] == "'" && $value[sizeof($value) - 1] == "'") || ($value[0] == '"' && $value[sizeof($value) - 1] == '"'))
{
- $value = substr($value, 1, sizeof($value)-2);
+ $value = htmlspecialchars(substr($value, 1, sizeof($value)-2));
+ }
+ else
+ {
+ $value = htmlspecialchars($value);
}
$parsed_items[$key] = $value;
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 2f73858ea2..3e69a997a2 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -3057,8 +3057,24 @@ function get_database_size()
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
+ $sql = 'SELECT @@VERSION AS mssql_version';
+ $result = $db->sql_query($sql);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
$sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize
FROM sysfiles';
+
+ if ($row)
+ {
+ // Azure stats are stored elsewhere
+ if (strpos($row['mssql_version'], 'SQL Azure') !== false)
+ {
+ $sql = 'SELECT ((SUM(reserved_page_count) * 8.0) * 1024.0) as dbsize
+ FROM sys.dm_db_partition_stats';
+ }
+ }
+
$result = $db->sql_query($sql, 7200);
$database_size = ($row = $db->sql_fetchrow($result)) ? $row['dbsize'] : false;
$db->sql_freeresult($result);
diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php
index 6213d2fd24..19459239d5 100644
--- a/phpBB/includes/functions_content.php
+++ b/phpBB/includes/functions_content.php
@@ -21,6 +21,7 @@ if (!defined('IN_PHPBB'))
* make_jumpbox()
* bump_topic_allowed()
* get_context()
+* phpbb_clean_search_string()
* decode_message()
* strip_bbcode()
* generate_text_for_display()
@@ -361,6 +362,23 @@ function get_context($text, $words, $length = 400)
}
/**
+* Cleans a search string by removing single wildcards from it and replacing multiple spaces with a single one.
+*
+* @param string $search_string The full search string which should be cleaned.
+*
+* @return string The cleaned search string without any wildcards and multiple spaces.
+*/
+function phpbb_clean_search_string($search_string)
+{
+ // This regular expressions matches every single wildcard.
+ // That means one after a whitespace or the beginning of the string or one before a whitespace or the end of the string.
+ $search_string = preg_replace('#(?<=^|\s)\*+(?=\s|$)#', '', $search_string);
+ $search_string = trim($search_string);
+ $search_string = preg_replace(array('#\s+#u', '#\*+#u'), array(' ', '*'), $search_string);
+ return $search_string;
+}
+
+/**
* Decode text whereby text is coming from the db and expected to be pre-parsed content
* We are placing this outside of the message parser because we are often in need of it...
*/
diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php
index d0e7c8cfc8..0cc2425b28 100644
--- a/phpBB/includes/functions_module.php
+++ b/phpBB/includes/functions_module.php
@@ -436,21 +436,21 @@ class p_master
if ($this->active_module === false)
{
- trigger_error('Module not accessible', E_USER_ERROR);
+ trigger_error('MODULE_NOT_ACCESS', E_USER_ERROR);
}
if (!class_exists("{$this->p_class}_$this->p_name"))
{
if (!file_exists("$module_path/{$this->p_class}_$this->p_name.$phpEx"))
{
- trigger_error("Cannot find module $module_path/{$this->p_class}_$this->p_name.$phpEx", E_USER_ERROR);
+ trigger_error($user->lang('MODULE_NOT_FIND', "$module_path/{$this->p_class}_$this->p_name.$phpEx"), E_USER_ERROR);
}
include("$module_path/{$this->p_class}_$this->p_name.$phpEx");
if (!class_exists("{$this->p_class}_$this->p_name"))
{
- trigger_error("Module file $module_path/{$this->p_class}_$this->p_name.$phpEx does not contain correct class [{$this->p_class}_$this->p_name]", E_USER_ERROR);
+ trigger_error($user->lang('MODULE_FILE_INCORRECT_CLASS', "$module_path/{$this->p_class}_$this->p_name.$phpEx", "{$this->p_class}_$this->p_name"), E_USER_ERROR);
}
if (!empty($mode))
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index 11a5067ef9..3f0a78a7cb 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -394,6 +394,10 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage
{
$upload->set_disallowed_content(explode('|', $config['mime_triggers']));
}
+ else if (!$config['check_attachment_content'])
+ {
+ $upload->set_disallowed_content(array());
+ }
if (!$local)
{
diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php
index 8573533c2c..a2c0656ca4 100644
--- a/phpBB/includes/functions_profile_fields.php
+++ b/phpBB/includes/functions_profile_fields.php
@@ -532,7 +532,7 @@ class custom_profile
switch ($this->profile_types[$field_type])
{
case 'int':
- if ($value === '' && !$ident_ary['data']['field_show_novalue'])
+ if (($value === '' || $value === null) && !$ident_ary['data']['field_show_novalue'])
{
return NULL;
}
diff --git a/phpBB/includes/mcp/info/mcp_pm_reports.php b/phpBB/includes/mcp/info/mcp_pm_reports.php
index 103f560597..84f15b7107 100644
--- a/phpBB/includes/mcp/info/mcp_pm_reports.php
+++ b/phpBB/includes/mcp/info/mcp_pm_reports.php
@@ -20,7 +20,7 @@ class mcp_pm_reports_info
'title' => 'MCP_PM_REPORTS',
'version' => '1.0.0',
'modes' => array(
- 'pm_reports' => array('title' => 'MCP_PM_REPORTS_OPEN', 'auth' => 'aclf_m_report', 'cat' => array('MCP_REPORTS')),
+ 'pm_reports' => array('title' => 'MCP_PM_REPORTS_OPEN', 'auth' => 'aclf_m_report', 'cat' => array('MCP_REPORTS')),
'pm_reports_closed' => array('title' => 'MCP_PM_REPORTS_CLOSED', 'auth' => 'aclf_m_report', 'cat' => array('MCP_REPORTS')),
'pm_report_details' => array('title' => 'MCP_PM_REPORT_DETAILS', 'auth' => 'aclf_m_report', 'cat' => array('MCP_REPORTS')),
),
diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php
index 764461fa53..acf344fd3c 100644
--- a/phpBB/includes/mcp/mcp_queue.php
+++ b/phpBB/includes/mcp/mcp_queue.php
@@ -660,15 +660,17 @@ function approve_post($post_id_list, $id, $mode)
foreach ($post_info as $post_id => $post_data)
{
+ $username = ($post_data['post_username']) ? $post_data['post_username'] : $post_data['username'];
+
if ($post_id == $post_data['topic_first_post_id'] && $post_id == $post_data['topic_last_post_id'])
{
// Forum Notifications
- user_notification('post', $post_data['topic_title'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id);
+ user_notification('post', $post_data['topic_title'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id, $username);
}
else
{
// Topic Notifications
- user_notification('reply', $post_data['post_subject'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id);
+ user_notification('reply', $post_data['post_subject'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id, $username);
}
}
diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php
index dc961f3c8a..29c5a72874 100644
--- a/phpBB/includes/search/fulltext_native.php
+++ b/phpBB/includes/search/fulltext_native.php
@@ -231,7 +231,12 @@ class fulltext_native extends search_backend
}
$db->sql_freeresult($result);
}
- unset($exact_words);
+
+ // Handle +, - without preceeding whitespace character
+ $match = array('#(\S)\+#', '#(\S)-#');
+ $replace = array('$1 +', '$1 +');
+
+ $keywords = preg_replace($match, $replace, $keywords);
// now analyse the search query, first split it using the spaces
$query = explode(' ', $keywords);
@@ -357,39 +362,21 @@ class fulltext_native extends search_backend
$this->{$mode . '_ids'}[] = $words[$word];
}
}
- // throw an error if we shall not ignore unexistant words
- else if (!$ignore_no_id)
+ else
{
if (!isset($common_ids[$word]))
{
$len = utf8_strlen($word);
- if ($len >= $this->word_length['min'] && $len <= $this->word_length['max'])
- {
- trigger_error(sprintf($user->lang['WORD_IN_NO_POST'], $word));
- }
- else
+ if ($len < $this->word_length['min'] || $len > $this->word_length['max'])
{
$this->common_words[] = $word;
}
}
}
- else
- {
- $len = utf8_strlen($word);
- if ($len < $this->word_length['min'] || $len > $this->word_length['max'])
- {
- $this->common_words[] = $word;
- }
- }
- }
-
- // we can't search for negatives only
- if (!sizeof($this->must_contain_ids))
- {
- return false;
}
- if (!empty($this->search_query))
+ // Return true if all words are not common words
+ if (sizeof($exact_words) - sizeof($this->common_words) > 0)
{
return true;
}
@@ -428,6 +415,12 @@ class fulltext_native extends search_backend
return false;
}
+ // we can't search for negatives only
+ if (empty($this->must_contain_ids))
+ {
+ return false;
+ }
+
$must_contain_ids = $this->must_contain_ids;
$must_not_contain_ids = $this->must_not_contain_ids;
$must_exclude_one_ids = $this->must_exclude_one_ids;
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index 1070b10b18..7c57dfdc1f 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -1009,6 +1009,8 @@ function database_update_info()
'3.0.12-RC1' => array(),
// No changes from 3.0.12-RC2 to 3.0.12-RC3
'3.0.12-RC2' => array(),
+ // No changes from 3.0.12-RC3 to 3.0.12
+ '3.0.12-RC3' => array(),
/** @todo DROP LOGIN_ATTEMPT_TABLE.attempt_id in 3.0.13-RC1 */
);
@@ -2248,6 +2250,10 @@ function change_database_data(&$no_updates, $version)
// No changes from 3.0.12-RC2 to 3.0.12-RC3
case '3.0.12-RC2':
break;
+
+ // No changes from 3.0.12-RC3 to 3.0.12
+ case '3.0.12-RC3':
+ break;
}
}
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index ad46e273c2..35e7c70e1d 100644
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -641,8 +641,9 @@ class module
case 'password':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
+ $autocomplete = (isset($options['autocomplete']) && $options['autocomplete'] == 'off') ? ' autocomplete="off"' : '';
- $tpl = '<input id="' . $name . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $value . '" />';
+ $tpl = '<input id="' . $name . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '"' . $autocomplete . ' value="' . $value . '" />';
break;
case 'textarea':
diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php
index fb97255981..725cb4fdee 100644
--- a/phpBB/install/install_convert.php
+++ b/phpBB/install/install_convert.php
@@ -417,7 +417,7 @@ class install_convert extends module
if (!isset($available_dbms[$src_dbms]) || !$available_dbms[$src_dbms]['AVAILABLE'])
{
- $error['db'][] = $lang['INST_ERR_NO_DB'];
+ $error[] = $lang['INST_ERR_NO_DB'];
$connect_test = false;
}
else
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index 4618cff855..cb63c70e11 100644
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -273,8 +273,8 @@ class install_install extends module
$checks = array(
array('func_overload', '&', MB_OVERLOAD_MAIL|MB_OVERLOAD_STRING),
array('encoding_translation', '!=', 0),
- array('http_input', '!=', 'pass'),
- array('http_output', '!=', 'pass')
+ array('http_input', '!=', array('pass', '')),
+ array('http_output', '!=', array('pass', ''))
);
foreach ($checks as $mb_checks)
@@ -295,7 +295,8 @@ class install_install extends module
break;
case '!=':
- if ($ini_val != $mb_checks[2])
+ if (!is_array($mb_checks[2]) && $ini_val != $mb_checks[2] ||
+ is_array($mb_checks[2]) && !in_array($ini_val, $mb_checks[2]))
{
$result = '<strong style="color:red">' . $lang['NO'] . '</strong>';
$passed['mbstring'] = false;
@@ -1624,6 +1625,45 @@ class install_install extends module
$_module->move_module_by($row, 'move_up', 5);
}
+ if ($module_class == 'mcp')
+ {
+ // Move pm report details module 3 down...
+ $sql = 'SELECT *
+ FROM ' . MODULES_TABLE . "
+ WHERE module_basename = 'pm_reports'
+ AND module_class = 'mcp'
+ AND module_mode = 'pm_report_details'";
+ $result = $db->sql_query($sql);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $_module->move_module_by($row, 'move_down', 3);
+
+ // Move closed pm reports module 3 down...
+ $sql = 'SELECT *
+ FROM ' . MODULES_TABLE . "
+ WHERE module_basename = 'pm_reports'
+ AND module_class = 'mcp'
+ AND module_mode = 'pm_reports_closed'";
+ $result = $db->sql_query($sql);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $_module->move_module_by($row, 'move_down', 3);
+
+ // Move open pm reports module 3 down...
+ $sql = 'SELECT *
+ FROM ' . MODULES_TABLE . "
+ WHERE module_basename = 'pm_reports'
+ AND module_class = 'mcp'
+ AND module_mode = 'pm_reports'";
+ $result = $db->sql_query($sql);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $_module->move_module_by($row, 'move_down', 3);
+ }
+
if ($module_class == 'ucp')
{
// Move attachment module 4 down...
@@ -2045,8 +2085,8 @@ class install_install extends module
'smtp_delivery' => array('lang' => 'USE_SMTP', 'type' => 'radio:yes_no', 'explain' => true),
'smtp_host' => array('lang' => 'SMTP_SERVER', 'type' => 'text:25:50', 'explain' => false),
'smtp_auth' => array('lang' => 'SMTP_AUTH_METHOD', 'type' => 'select', 'options' => '$this->module->mail_auth_select(\'{VALUE}\')', 'explain' => true),
- 'smtp_user' => array('lang' => 'SMTP_USERNAME', 'type' => 'text:25:255', 'explain' => true),
- 'smtp_pass' => array('lang' => 'SMTP_PASSWORD', 'type' => 'password:25:255', 'explain' => true),
+ 'smtp_user' => array('lang' => 'SMTP_USERNAME', 'type' => 'text:25:255', 'explain' => true, 'options' => array('autocomplete' => 'off')),
+ 'smtp_pass' => array('lang' => 'SMTP_PASSWORD', 'type' => 'password:25:255', 'explain' => true, 'options' => array('autocomplete' => 'off')),
'legend2' => 'SERVER_URL_SETTINGS',
'cookie_secure' => array('lang' => 'COOKIE_SECURE', 'type' => 'radio:enabled_disabled', 'explain' => true),
diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql
index 0b2f8368de..68993d45ee 100644
--- a/phpBB/install/schemas/mssql_schema.sql
+++ b/phpBB/install/schemas/mssql_schema.sql
@@ -25,29 +25,28 @@ CREATE TABLE [phpbb_attachments] (
[filesize] [int] DEFAULT (0) NOT NULL ,
[filetime] [int] DEFAULT (0) NOT NULL ,
[thumbnail] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_attachments] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_attachments] PRIMARY KEY CLUSTERED
(
[attach_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [filetime] ON [phpbb_attachments]([filetime]) ON [PRIMARY]
+CREATE INDEX [filetime] ON [phpbb_attachments]([filetime])
GO
-CREATE INDEX [post_msg_id] ON [phpbb_attachments]([post_msg_id]) ON [PRIMARY]
+CREATE INDEX [post_msg_id] ON [phpbb_attachments]([post_msg_id])
GO
-CREATE INDEX [topic_id] ON [phpbb_attachments]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_attachments]([topic_id])
GO
-CREATE INDEX [poster_id] ON [phpbb_attachments]([poster_id]) ON [PRIMARY]
+CREATE INDEX [poster_id] ON [phpbb_attachments]([poster_id])
GO
-CREATE INDEX [is_orphan] ON [phpbb_attachments]([is_orphan]) ON [PRIMARY]
+CREATE INDEX [is_orphan] ON [phpbb_attachments]([is_orphan])
GO
@@ -59,17 +58,24 @@ CREATE TABLE [phpbb_acl_groups] (
[forum_id] [int] DEFAULT (0) NOT NULL ,
[auth_option_id] [int] DEFAULT (0) NOT NULL ,
[auth_role_id] [int] DEFAULT (0) NOT NULL ,
- [auth_setting] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [auth_setting] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_acl_groups] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_acl_groups] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [group_id] ON [phpbb_acl_groups]([group_id]) ON [PRIMARY]
+CREATE INDEX [group_id] ON [phpbb_acl_groups]([group_id])
GO
-CREATE INDEX [auth_opt_id] ON [phpbb_acl_groups]([auth_option_id]) ON [PRIMARY]
+CREATE INDEX [auth_opt_id] ON [phpbb_acl_groups]([auth_option_id])
GO
-CREATE INDEX [auth_role_id] ON [phpbb_acl_groups]([auth_role_id]) ON [PRIMARY]
+CREATE INDEX [auth_role_id] ON [phpbb_acl_groups]([auth_role_id])
GO
@@ -82,17 +88,16 @@ CREATE TABLE [phpbb_acl_options] (
[is_global] [int] DEFAULT (0) NOT NULL ,
[is_local] [int] DEFAULT (0) NOT NULL ,
[founder_only] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_acl_options] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_acl_options] PRIMARY KEY CLUSTERED
(
[auth_option_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [auth_option] ON [phpbb_acl_options]([auth_option]) ON [PRIMARY]
+CREATE UNIQUE INDEX [auth_option] ON [phpbb_acl_options]([auth_option])
GO
@@ -105,20 +110,19 @@ CREATE TABLE [phpbb_acl_roles] (
[role_description] [varchar] (4000) DEFAULT ('') NOT NULL ,
[role_type] [varchar] (10) DEFAULT ('') NOT NULL ,
[role_order] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_acl_roles] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_acl_roles] PRIMARY KEY CLUSTERED
(
[role_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [role_type] ON [phpbb_acl_roles]([role_type]) ON [PRIMARY]
+CREATE INDEX [role_type] ON [phpbb_acl_roles]([role_type])
GO
-CREATE INDEX [role_order] ON [phpbb_acl_roles]([role_order]) ON [PRIMARY]
+CREATE INDEX [role_order] ON [phpbb_acl_roles]([role_order])
GO
@@ -129,18 +133,17 @@ CREATE TABLE [phpbb_acl_roles_data] (
[role_id] [int] DEFAULT (0) NOT NULL ,
[auth_option_id] [int] DEFAULT (0) NOT NULL ,
[auth_setting] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_acl_roles_data] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_acl_roles_data] PRIMARY KEY CLUSTERED
(
[role_id],
[auth_option_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [ath_op_id] ON [phpbb_acl_roles_data]([auth_option_id]) ON [PRIMARY]
+CREATE INDEX [ath_op_id] ON [phpbb_acl_roles_data]([auth_option_id])
GO
@@ -152,17 +155,24 @@ CREATE TABLE [phpbb_acl_users] (
[forum_id] [int] DEFAULT (0) NOT NULL ,
[auth_option_id] [int] DEFAULT (0) NOT NULL ,
[auth_role_id] [int] DEFAULT (0) NOT NULL ,
- [auth_setting] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [auth_setting] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_acl_users] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_acl_users] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [user_id] ON [phpbb_acl_users]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_acl_users]([user_id])
GO
-CREATE INDEX [auth_option_id] ON [phpbb_acl_users]([auth_option_id]) ON [PRIMARY]
+CREATE INDEX [auth_option_id] ON [phpbb_acl_users]([auth_option_id])
GO
-CREATE INDEX [auth_role_id] ON [phpbb_acl_users]([auth_role_id]) ON [PRIMARY]
+CREATE INDEX [auth_role_id] ON [phpbb_acl_users]([auth_role_id])
GO
@@ -179,26 +189,25 @@ CREATE TABLE [phpbb_banlist] (
[ban_exclude] [int] DEFAULT (0) NOT NULL ,
[ban_reason] [varchar] (255) DEFAULT ('') NOT NULL ,
[ban_give_reason] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_banlist] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_banlist] PRIMARY KEY CLUSTERED
(
[ban_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [ban_end] ON [phpbb_banlist]([ban_end]) ON [PRIMARY]
+CREATE INDEX [ban_end] ON [phpbb_banlist]([ban_end])
GO
-CREATE INDEX [ban_user] ON [phpbb_banlist]([ban_userid], [ban_exclude]) ON [PRIMARY]
+CREATE INDEX [ban_user] ON [phpbb_banlist]([ban_userid], [ban_exclude])
GO
-CREATE INDEX [ban_email] ON [phpbb_banlist]([ban_email], [ban_exclude]) ON [PRIMARY]
+CREATE INDEX [ban_email] ON [phpbb_banlist]([ban_email], [ban_exclude])
GO
-CREATE INDEX [ban_ip] ON [phpbb_banlist]([ban_ip], [ban_exclude]) ON [PRIMARY]
+CREATE INDEX [ban_ip] ON [phpbb_banlist]([ban_ip], [ban_exclude])
GO
@@ -216,17 +225,16 @@ CREATE TABLE [phpbb_bbcodes] (
[first_pass_replace] [text] DEFAULT ('') NOT NULL ,
[second_pass_match] [text] DEFAULT ('') NOT NULL ,
[second_pass_replace] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_bbcodes] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_bbcodes] PRIMARY KEY CLUSTERED
(
[bbcode_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [display_on_post] ON [phpbb_bbcodes]([display_on_posting]) ON [PRIMARY]
+CREATE INDEX [display_on_post] ON [phpbb_bbcodes]([display_on_posting])
GO
@@ -236,15 +244,14 @@ GO
CREATE TABLE [phpbb_bookmarks] (
[topic_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_bookmarks] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_bookmarks] PRIMARY KEY CLUSTERED
(
[topic_id],
[user_id]
- ) ON [PRIMARY]
+ )
GO
@@ -258,17 +265,16 @@ CREATE TABLE [phpbb_bots] (
[user_id] [int] DEFAULT (0) NOT NULL ,
[bot_agent] [varchar] (255) DEFAULT ('') NOT NULL ,
[bot_ip] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_bots] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_bots] PRIMARY KEY CLUSTERED
(
[bot_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [bot_active] ON [phpbb_bots]([bot_active]) ON [PRIMARY]
+CREATE INDEX [bot_active] ON [phpbb_bots]([bot_active])
GO
@@ -279,17 +285,16 @@ CREATE TABLE [phpbb_config] (
[config_name] [varchar] (255) DEFAULT ('') NOT NULL ,
[config_value] [varchar] (255) DEFAULT ('') NOT NULL ,
[is_dynamic] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_config] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_config] PRIMARY KEY CLUSTERED
(
[config_name]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [is_dynamic] ON [phpbb_config]([is_dynamic]) ON [PRIMARY]
+CREATE INDEX [is_dynamic] ON [phpbb_config]([is_dynamic])
GO
@@ -303,18 +308,17 @@ CREATE TABLE [phpbb_confirm] (
[code] [varchar] (8) DEFAULT ('') NOT NULL ,
[seed] [int] DEFAULT (0) NOT NULL ,
[attempts] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_confirm] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_confirm] PRIMARY KEY CLUSTERED
(
[session_id],
[confirm_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [confirm_type] ON [phpbb_confirm]([confirm_type]) ON [PRIMARY]
+CREATE INDEX [confirm_type] ON [phpbb_confirm]([confirm_type])
GO
@@ -324,14 +328,13 @@ GO
CREATE TABLE [phpbb_disallow] (
[disallow_id] [int] IDENTITY (1, 1) NOT NULL ,
[disallow_username] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_disallow] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_disallow] PRIMARY KEY CLUSTERED
(
[disallow_id]
- ) ON [PRIMARY]
+ )
GO
@@ -346,17 +349,16 @@ CREATE TABLE [phpbb_drafts] (
[save_time] [int] DEFAULT (0) NOT NULL ,
[draft_subject] [varchar] (255) DEFAULT ('') NOT NULL ,
[draft_message] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_drafts] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_drafts] PRIMARY KEY CLUSTERED
(
[draft_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [save_time] ON [phpbb_drafts]([save_time]) ON [PRIMARY]
+CREATE INDEX [save_time] ON [phpbb_drafts]([save_time])
GO
@@ -367,14 +369,13 @@ CREATE TABLE [phpbb_extensions] (
[extension_id] [int] IDENTITY (1, 1) NOT NULL ,
[group_id] [int] DEFAULT (0) NOT NULL ,
[extension] [varchar] (100) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_extensions] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_extensions] PRIMARY KEY CLUSTERED
(
[extension_id]
- ) ON [PRIMARY]
+ )
GO
@@ -391,14 +392,13 @@ CREATE TABLE [phpbb_extension_groups] (
[max_filesize] [int] DEFAULT (0) NOT NULL ,
[allowed_forums] [varchar] (8000) DEFAULT ('') NOT NULL ,
[allow_in_pm] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_extension_groups] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_extension_groups] PRIMARY KEY CLUSTERED
(
[group_id]
- ) ON [PRIMARY]
+ )
GO
@@ -448,20 +448,19 @@ CREATE TABLE [phpbb_forums] (
[prune_days] [int] DEFAULT (0) NOT NULL ,
[prune_viewed] [int] DEFAULT (0) NOT NULL ,
[prune_freq] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_forums] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_forums] PRIMARY KEY CLUSTERED
(
[forum_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [left_right_id] ON [phpbb_forums]([left_id], [right_id]) ON [PRIMARY]
+CREATE INDEX [left_right_id] ON [phpbb_forums]([left_id], [right_id])
GO
-CREATE INDEX [forum_lastpost_id] ON [phpbb_forums]([forum_last_post_id]) ON [PRIMARY]
+CREATE INDEX [forum_lastpost_id] ON [phpbb_forums]([forum_last_post_id])
GO
@@ -472,8 +471,7 @@ CREATE TABLE [phpbb_forums_access] (
[forum_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL ,
[session_id] [char] (32) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_forums_access] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_forums_access] PRIMARY KEY CLUSTERED
@@ -481,7 +479,7 @@ ALTER TABLE [phpbb_forums_access] WITH NOCHECK ADD
[forum_id],
[user_id],
[session_id]
- ) ON [PRIMARY]
+ )
GO
@@ -492,15 +490,14 @@ CREATE TABLE [phpbb_forums_track] (
[user_id] [int] DEFAULT (0) NOT NULL ,
[forum_id] [int] DEFAULT (0) NOT NULL ,
[mark_time] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_forums_track] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_forums_track] PRIMARY KEY CLUSTERED
(
[user_id],
[forum_id]
- ) ON [PRIMARY]
+ )
GO
@@ -510,17 +507,24 @@ GO
CREATE TABLE [phpbb_forums_watch] (
[forum_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL ,
- [notify_status] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [notify_status] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_forums_watch] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_forums_watch] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [forum_id] ON [phpbb_forums_watch]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_forums_watch]([forum_id])
GO
-CREATE INDEX [user_id] ON [phpbb_forums_watch]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_forums_watch]([user_id])
GO
-CREATE INDEX [notify_stat] ON [phpbb_forums_watch]([notify_status]) ON [PRIMARY]
+CREATE INDEX [notify_stat] ON [phpbb_forums_watch]([notify_status])
GO
@@ -549,17 +553,16 @@ CREATE TABLE [phpbb_groups] (
[group_message_limit] [int] DEFAULT (0) NOT NULL ,
[group_max_recipients] [int] DEFAULT (0) NOT NULL ,
[group_legend] [int] DEFAULT (1) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_groups] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_groups] PRIMARY KEY CLUSTERED
(
[group_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [group_legend_name] ON [phpbb_groups]([group_legend], [group_name]) ON [PRIMARY]
+CREATE INDEX [group_legend_name] ON [phpbb_groups]([group_legend], [group_name])
GO
@@ -573,17 +576,16 @@ CREATE TABLE [phpbb_icons] (
[icons_height] [int] DEFAULT (0) NOT NULL ,
[icons_order] [int] DEFAULT (0) NOT NULL ,
[display_on_posting] [int] DEFAULT (1) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_icons] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_icons] PRIMARY KEY CLUSTERED
(
[icons_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [display_on_posting] ON [phpbb_icons]([display_on_posting]) ON [PRIMARY]
+CREATE INDEX [display_on_posting] ON [phpbb_icons]([display_on_posting])
GO
@@ -597,17 +599,16 @@ CREATE TABLE [phpbb_lang] (
[lang_english_name] [varchar] (100) DEFAULT ('') NOT NULL ,
[lang_local_name] [varchar] (255) DEFAULT ('') NOT NULL ,
[lang_author] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_lang] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_lang] PRIMARY KEY CLUSTERED
(
[lang_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [lang_iso] ON [phpbb_lang]([lang_iso]) ON [PRIMARY]
+CREATE INDEX [lang_iso] ON [phpbb_lang]([lang_iso])
GO
@@ -625,29 +626,28 @@ CREATE TABLE [phpbb_log] (
[log_time] [int] DEFAULT (0) NOT NULL ,
[log_operation] [varchar] (4000) DEFAULT ('') NOT NULL ,
[log_data] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_log] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_log] PRIMARY KEY CLUSTERED
(
[log_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [log_type] ON [phpbb_log]([log_type]) ON [PRIMARY]
+CREATE INDEX [log_type] ON [phpbb_log]([log_type])
GO
-CREATE INDEX [forum_id] ON [phpbb_log]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_log]([forum_id])
GO
-CREATE INDEX [topic_id] ON [phpbb_log]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_log]([topic_id])
GO
-CREATE INDEX [reportee_id] ON [phpbb_log]([reportee_id]) ON [PRIMARY]
+CREATE INDEX [reportee_id] ON [phpbb_log]([reportee_id])
GO
-CREATE INDEX [user_id] ON [phpbb_log]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_log]([user_id])
GO
@@ -661,20 +661,27 @@ CREATE TABLE [phpbb_login_attempts] (
[attempt_time] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL ,
[username] [varchar] (255) DEFAULT (0) NOT NULL ,
- [username_clean] [varchar] (255) DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [username_clean] [varchar] (255) DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_login_attempts] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_login_attempts] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [att_ip] ON [phpbb_login_attempts]([attempt_ip], [attempt_time]) ON [PRIMARY]
+CREATE INDEX [att_ip] ON [phpbb_login_attempts]([attempt_ip], [attempt_time])
GO
-CREATE INDEX [att_for] ON [phpbb_login_attempts]([attempt_forwarded_for], [attempt_time]) ON [PRIMARY]
+CREATE INDEX [att_for] ON [phpbb_login_attempts]([attempt_forwarded_for], [attempt_time])
GO
-CREATE INDEX [att_time] ON [phpbb_login_attempts]([attempt_time]) ON [PRIMARY]
+CREATE INDEX [att_time] ON [phpbb_login_attempts]([attempt_time])
GO
-CREATE INDEX [user_id] ON [phpbb_login_attempts]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_login_attempts]([user_id])
GO
@@ -687,14 +694,21 @@ CREATE TABLE [phpbb_moderator_cache] (
[username] [varchar] (255) DEFAULT ('') NOT NULL ,
[group_id] [int] DEFAULT (0) NOT NULL ,
[group_name] [varchar] (255) DEFAULT ('') NOT NULL ,
- [display_on_index] [int] DEFAULT (1) NOT NULL
-) ON [PRIMARY]
+ [display_on_index] [int] DEFAULT (1) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_moderator_cache] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_moderator_cache] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [disp_idx] ON [phpbb_moderator_cache]([display_on_index]) ON [PRIMARY]
+CREATE INDEX [disp_idx] ON [phpbb_moderator_cache]([display_on_index])
GO
-CREATE INDEX [forum_id] ON [phpbb_moderator_cache]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_moderator_cache]([forum_id])
GO
@@ -713,23 +727,22 @@ CREATE TABLE [phpbb_modules] (
[module_langname] [varchar] (255) DEFAULT ('') NOT NULL ,
[module_mode] [varchar] (255) DEFAULT ('') NOT NULL ,
[module_auth] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_modules] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_modules] PRIMARY KEY CLUSTERED
(
[module_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [left_right_id] ON [phpbb_modules]([left_id], [right_id]) ON [PRIMARY]
+CREATE INDEX [left_right_id] ON [phpbb_modules]([left_id], [right_id])
GO
-CREATE INDEX [module_enabled] ON [phpbb_modules]([module_enabled]) ON [PRIMARY]
+CREATE INDEX [module_enabled] ON [phpbb_modules]([module_enabled])
GO
-CREATE INDEX [class_left_id] ON [phpbb_modules]([module_class], [left_id]) ON [PRIMARY]
+CREATE INDEX [class_left_id] ON [phpbb_modules]([module_class], [left_id])
GO
@@ -740,14 +753,21 @@ CREATE TABLE [phpbb_poll_options] (
[poll_option_id] [int] DEFAULT (0) NOT NULL ,
[topic_id] [int] DEFAULT (0) NOT NULL ,
[poll_option_text] [varchar] (4000) DEFAULT ('') NOT NULL ,
- [poll_option_total] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [poll_option_total] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_poll_options] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_poll_options] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [poll_opt_id] ON [phpbb_poll_options]([poll_option_id]) ON [PRIMARY]
+CREATE INDEX [poll_opt_id] ON [phpbb_poll_options]([poll_option_id])
GO
-CREATE INDEX [topic_id] ON [phpbb_poll_options]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_poll_options]([topic_id])
GO
@@ -758,17 +778,24 @@ CREATE TABLE [phpbb_poll_votes] (
[topic_id] [int] DEFAULT (0) NOT NULL ,
[poll_option_id] [int] DEFAULT (0) NOT NULL ,
[vote_user_id] [int] DEFAULT (0) NOT NULL ,
- [vote_user_ip] [varchar] (40) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
+ [vote_user_ip] [varchar] (40) DEFAULT ('') NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_poll_votes] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_poll_votes] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [topic_id] ON [phpbb_poll_votes]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_poll_votes]([topic_id])
GO
-CREATE INDEX [vote_user_id] ON [phpbb_poll_votes]([vote_user_id]) ON [PRIMARY]
+CREATE INDEX [vote_user_id] ON [phpbb_poll_votes]([vote_user_id])
GO
-CREATE INDEX [vote_user_ip] ON [phpbb_poll_votes]([vote_user_ip]) ON [PRIMARY]
+CREATE INDEX [vote_user_ip] ON [phpbb_poll_votes]([vote_user_ip])
GO
@@ -802,35 +829,34 @@ CREATE TABLE [phpbb_posts] (
[post_edit_user] [int] DEFAULT (0) NOT NULL ,
[post_edit_count] [int] DEFAULT (0) NOT NULL ,
[post_edit_locked] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_posts] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_posts] PRIMARY KEY CLUSTERED
(
[post_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [forum_id] ON [phpbb_posts]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_posts]([forum_id])
GO
-CREATE INDEX [topic_id] ON [phpbb_posts]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_posts]([topic_id])
GO
-CREATE INDEX [poster_ip] ON [phpbb_posts]([poster_ip]) ON [PRIMARY]
+CREATE INDEX [poster_ip] ON [phpbb_posts]([poster_ip])
GO
-CREATE INDEX [poster_id] ON [phpbb_posts]([poster_id]) ON [PRIMARY]
+CREATE INDEX [poster_id] ON [phpbb_posts]([poster_id])
GO
-CREATE INDEX [post_approved] ON [phpbb_posts]([post_approved]) ON [PRIMARY]
+CREATE INDEX [post_approved] ON [phpbb_posts]([post_approved])
GO
-CREATE INDEX [post_username] ON [phpbb_posts]([post_username]) ON [PRIMARY]
+CREATE INDEX [post_username] ON [phpbb_posts]([post_username])
GO
-CREATE INDEX [tid_post_time] ON [phpbb_posts]([topic_id], [post_time]) ON [PRIMARY]
+CREATE INDEX [tid_post_time] ON [phpbb_posts]([topic_id], [post_time])
GO
@@ -860,26 +886,25 @@ CREATE TABLE [phpbb_privmsgs] (
[to_address] [varchar] (4000) DEFAULT ('') NOT NULL ,
[bcc_address] [varchar] (4000) DEFAULT ('') NOT NULL ,
[message_reported] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_privmsgs] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_privmsgs] PRIMARY KEY CLUSTERED
(
[msg_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [author_ip] ON [phpbb_privmsgs]([author_ip]) ON [PRIMARY]
+CREATE INDEX [author_ip] ON [phpbb_privmsgs]([author_ip])
GO
-CREATE INDEX [message_time] ON [phpbb_privmsgs]([message_time]) ON [PRIMARY]
+CREATE INDEX [message_time] ON [phpbb_privmsgs]([message_time])
GO
-CREATE INDEX [author_id] ON [phpbb_privmsgs]([author_id]) ON [PRIMARY]
+CREATE INDEX [author_id] ON [phpbb_privmsgs]([author_id])
GO
-CREATE INDEX [root_level] ON [phpbb_privmsgs]([root_level]) ON [PRIMARY]
+CREATE INDEX [root_level] ON [phpbb_privmsgs]([root_level])
GO
@@ -891,17 +916,16 @@ CREATE TABLE [phpbb_privmsgs_folder] (
[user_id] [int] DEFAULT (0) NOT NULL ,
[folder_name] [varchar] (255) DEFAULT ('') NOT NULL ,
[pm_count] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_privmsgs_folder] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_privmsgs_folder] PRIMARY KEY CLUSTERED
(
[folder_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [user_id] ON [phpbb_privmsgs_folder]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_privmsgs_folder]([user_id])
GO
@@ -918,17 +942,16 @@ CREATE TABLE [phpbb_privmsgs_rules] (
[rule_group_id] [int] DEFAULT (0) NOT NULL ,
[rule_action] [int] DEFAULT (0) NOT NULL ,
[rule_folder_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_privmsgs_rules] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_privmsgs_rules] PRIMARY KEY CLUSTERED
(
[rule_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [user_id] ON [phpbb_privmsgs_rules]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_privmsgs_rules]([user_id])
GO
@@ -945,17 +968,24 @@ CREATE TABLE [phpbb_privmsgs_to] (
[pm_replied] [int] DEFAULT (0) NOT NULL ,
[pm_marked] [int] DEFAULT (0) NOT NULL ,
[pm_forwarded] [int] DEFAULT (0) NOT NULL ,
- [folder_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [folder_id] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_privmsgs_to] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_privmsgs_to] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [msg_id] ON [phpbb_privmsgs_to]([msg_id]) ON [PRIMARY]
+CREATE INDEX [msg_id] ON [phpbb_privmsgs_to]([msg_id])
GO
-CREATE INDEX [author_id] ON [phpbb_privmsgs_to]([author_id]) ON [PRIMARY]
+CREATE INDEX [author_id] ON [phpbb_privmsgs_to]([author_id])
GO
-CREATE INDEX [usr_flder_id] ON [phpbb_privmsgs_to]([user_id], [folder_id]) ON [PRIMARY]
+CREATE INDEX [usr_flder_id] ON [phpbb_privmsgs_to]([user_id], [folder_id])
GO
@@ -982,20 +1012,19 @@ CREATE TABLE [phpbb_profile_fields] (
[field_no_view] [int] DEFAULT (0) NOT NULL ,
[field_active] [int] DEFAULT (0) NOT NULL ,
[field_order] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_profile_fields] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_profile_fields] PRIMARY KEY CLUSTERED
(
[field_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [fld_type] ON [phpbb_profile_fields]([field_type]) ON [PRIMARY]
+CREATE INDEX [fld_type] ON [phpbb_profile_fields]([field_type])
GO
-CREATE INDEX [fld_ordr] ON [phpbb_profile_fields]([field_order]) ON [PRIMARY]
+CREATE INDEX [fld_ordr] ON [phpbb_profile_fields]([field_order])
GO
@@ -1004,14 +1033,13 @@ GO
*/
CREATE TABLE [phpbb_profile_fields_data] (
[user_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_profile_fields_data] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_profile_fields_data] PRIMARY KEY CLUSTERED
(
[user_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1024,8 +1052,7 @@ CREATE TABLE [phpbb_profile_fields_lang] (
[option_id] [int] DEFAULT (0) NOT NULL ,
[field_type] [int] DEFAULT (0) NOT NULL ,
[lang_value] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_profile_fields_lang] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_profile_fields_lang] PRIMARY KEY CLUSTERED
@@ -1033,7 +1060,7 @@ ALTER TABLE [phpbb_profile_fields_lang] WITH NOCHECK ADD
[field_id],
[lang_id],
[option_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1046,15 +1073,14 @@ CREATE TABLE [phpbb_profile_lang] (
[lang_name] [varchar] (255) DEFAULT ('') NOT NULL ,
[lang_explain] [varchar] (4000) DEFAULT ('') NOT NULL ,
[lang_default_value] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_profile_lang] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_profile_lang] PRIMARY KEY CLUSTERED
(
[field_id],
[lang_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1067,14 +1093,13 @@ CREATE TABLE [phpbb_ranks] (
[rank_min] [int] DEFAULT (0) NOT NULL ,
[rank_special] [int] DEFAULT (0) NOT NULL ,
[rank_image] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_ranks] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_ranks] PRIMARY KEY CLUSTERED
(
[rank_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1091,20 +1116,19 @@ CREATE TABLE [phpbb_reports] (
[report_closed] [int] DEFAULT (0) NOT NULL ,
[report_time] [int] DEFAULT (0) NOT NULL ,
[report_text] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_reports] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_reports] PRIMARY KEY CLUSTERED
(
[report_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [post_id] ON [phpbb_reports]([post_id]) ON [PRIMARY]
+CREATE INDEX [post_id] ON [phpbb_reports]([post_id])
GO
-CREATE INDEX [pm_id] ON [phpbb_reports]([pm_id]) ON [PRIMARY]
+CREATE INDEX [pm_id] ON [phpbb_reports]([pm_id])
GO
@@ -1116,14 +1140,13 @@ CREATE TABLE [phpbb_reports_reasons] (
[reason_title] [varchar] (255) DEFAULT ('') NOT NULL ,
[reason_description] [text] DEFAULT ('') NOT NULL ,
[reason_order] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_reports_reasons] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_reports_reasons] PRIMARY KEY CLUSTERED
(
[reason_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1135,14 +1158,13 @@ CREATE TABLE [phpbb_search_results] (
[search_time] [int] DEFAULT (0) NOT NULL ,
[search_keywords] [text] DEFAULT ('') NOT NULL ,
[search_authors] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_search_results] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_search_results] PRIMARY KEY CLUSTERED
(
[search_key]
- ) ON [PRIMARY]
+ )
GO
@@ -1154,20 +1176,19 @@ CREATE TABLE [phpbb_search_wordlist] (
[word_text] [varchar] (255) DEFAULT ('') NOT NULL ,
[word_common] [int] DEFAULT (0) NOT NULL ,
[word_count] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_search_wordlist] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_search_wordlist] PRIMARY KEY CLUSTERED
(
[word_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [wrd_txt] ON [phpbb_search_wordlist]([word_text]) ON [PRIMARY]
+CREATE UNIQUE INDEX [wrd_txt] ON [phpbb_search_wordlist]([word_text])
GO
-CREATE INDEX [wrd_cnt] ON [phpbb_search_wordlist]([word_count]) ON [PRIMARY]
+CREATE INDEX [wrd_cnt] ON [phpbb_search_wordlist]([word_count])
GO
@@ -1177,17 +1198,24 @@ GO
CREATE TABLE [phpbb_search_wordmatch] (
[post_id] [int] DEFAULT (0) NOT NULL ,
[word_id] [int] DEFAULT (0) NOT NULL ,
- [title_match] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [title_match] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_search_wordmatch] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_search_wordmatch] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE UNIQUE INDEX [unq_mtch] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match]) ON [PRIMARY]
+CREATE UNIQUE INDEX [unq_mtch] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match])
GO
-CREATE INDEX [word_id] ON [phpbb_search_wordmatch]([word_id]) ON [PRIMARY]
+CREATE INDEX [word_id] ON [phpbb_search_wordmatch]([word_id])
GO
-CREATE INDEX [post_id] ON [phpbb_search_wordmatch]([post_id]) ON [PRIMARY]
+CREATE INDEX [post_id] ON [phpbb_search_wordmatch]([post_id])
GO
@@ -1208,23 +1236,22 @@ CREATE TABLE [phpbb_sessions] (
[session_viewonline] [int] DEFAULT (1) NOT NULL ,
[session_autologin] [int] DEFAULT (0) NOT NULL ,
[session_admin] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_sessions] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_sessions] PRIMARY KEY CLUSTERED
(
[session_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [session_time] ON [phpbb_sessions]([session_time]) ON [PRIMARY]
+CREATE INDEX [session_time] ON [phpbb_sessions]([session_time])
GO
-CREATE INDEX [session_user_id] ON [phpbb_sessions]([session_user_id]) ON [PRIMARY]
+CREATE INDEX [session_user_id] ON [phpbb_sessions]([session_user_id])
GO
-CREATE INDEX [session_fid] ON [phpbb_sessions]([session_forum_id]) ON [PRIMARY]
+CREATE INDEX [session_fid] ON [phpbb_sessions]([session_forum_id])
GO
@@ -1236,18 +1263,17 @@ CREATE TABLE [phpbb_sessions_keys] (
[user_id] [int] DEFAULT (0) NOT NULL ,
[last_ip] [varchar] (40) DEFAULT ('') NOT NULL ,
[last_login] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_sessions_keys] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_sessions_keys] PRIMARY KEY CLUSTERED
(
[key_id],
[user_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [last_login] ON [phpbb_sessions_keys]([last_login]) ON [PRIMARY]
+CREATE INDEX [last_login] ON [phpbb_sessions_keys]([last_login])
GO
@@ -1259,14 +1285,13 @@ CREATE TABLE [phpbb_sitelist] (
[site_ip] [varchar] (40) DEFAULT ('') NOT NULL ,
[site_hostname] [varchar] (255) DEFAULT ('') NOT NULL ,
[ip_exclude] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_sitelist] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_sitelist] PRIMARY KEY CLUSTERED
(
[site_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1282,17 +1307,16 @@ CREATE TABLE [phpbb_smilies] (
[smiley_height] [int] DEFAULT (0) NOT NULL ,
[smiley_order] [int] DEFAULT (0) NOT NULL ,
[display_on_posting] [int] DEFAULT (1) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_smilies] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_smilies] PRIMARY KEY CLUSTERED
(
[smiley_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [display_on_post] ON [phpbb_smilies]([display_on_posting]) ON [PRIMARY]
+CREATE INDEX [display_on_post] ON [phpbb_smilies]([display_on_posting])
GO
@@ -1307,26 +1331,25 @@ CREATE TABLE [phpbb_styles] (
[template_id] [int] DEFAULT (0) NOT NULL ,
[theme_id] [int] DEFAULT (0) NOT NULL ,
[imageset_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_styles] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_styles] PRIMARY KEY CLUSTERED
(
[style_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [style_name] ON [phpbb_styles]([style_name]) ON [PRIMARY]
+CREATE UNIQUE INDEX [style_name] ON [phpbb_styles]([style_name])
GO
-CREATE INDEX [template_id] ON [phpbb_styles]([template_id]) ON [PRIMARY]
+CREATE INDEX [template_id] ON [phpbb_styles]([template_id])
GO
-CREATE INDEX [theme_id] ON [phpbb_styles]([theme_id]) ON [PRIMARY]
+CREATE INDEX [theme_id] ON [phpbb_styles]([theme_id])
GO
-CREATE INDEX [imageset_id] ON [phpbb_styles]([imageset_id]) ON [PRIMARY]
+CREATE INDEX [imageset_id] ON [phpbb_styles]([imageset_id])
GO
@@ -1342,17 +1365,16 @@ CREATE TABLE [phpbb_styles_template] (
[template_storedb] [int] DEFAULT (0) NOT NULL ,
[template_inherits_id] [int] DEFAULT (0) NOT NULL ,
[template_inherit_path] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_styles_template] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_styles_template] PRIMARY KEY CLUSTERED
(
[template_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [tmplte_nm] ON [phpbb_styles_template]([template_name]) ON [PRIMARY]
+CREATE UNIQUE INDEX [tmplte_nm] ON [phpbb_styles_template]([template_name])
GO
@@ -1364,14 +1386,21 @@ CREATE TABLE [phpbb_styles_template_data] (
[template_filename] [varchar] (100) DEFAULT ('') NOT NULL ,
[template_included] [varchar] (8000) DEFAULT ('') NOT NULL ,
[template_mtime] [int] DEFAULT (0) NOT NULL ,
- [template_data] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
+ [template_data] [text] DEFAULT ('') NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_styles_template_data] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_styles_template_data] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [tid] ON [phpbb_styles_template_data]([template_id]) ON [PRIMARY]
+CREATE INDEX [tid] ON [phpbb_styles_template_data]([template_id])
GO
-CREATE INDEX [tfn] ON [phpbb_styles_template_data]([template_filename]) ON [PRIMARY]
+CREATE INDEX [tfn] ON [phpbb_styles_template_data]([template_filename])
GO
@@ -1386,17 +1415,16 @@ CREATE TABLE [phpbb_styles_theme] (
[theme_storedb] [int] DEFAULT (0) NOT NULL ,
[theme_mtime] [int] DEFAULT (0) NOT NULL ,
[theme_data] [text] DEFAULT ('') NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_styles_theme] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_styles_theme] PRIMARY KEY CLUSTERED
(
[theme_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [theme_name] ON [phpbb_styles_theme]([theme_name]) ON [PRIMARY]
+CREATE UNIQUE INDEX [theme_name] ON [phpbb_styles_theme]([theme_name])
GO
@@ -1408,17 +1436,16 @@ CREATE TABLE [phpbb_styles_imageset] (
[imageset_name] [varchar] (255) DEFAULT ('') NOT NULL ,
[imageset_copyright] [varchar] (255) DEFAULT ('') NOT NULL ,
[imageset_path] [varchar] (100) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_styles_imageset] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_styles_imageset] PRIMARY KEY CLUSTERED
(
[imageset_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE UNIQUE INDEX [imgset_nm] ON [phpbb_styles_imageset]([imageset_name]) ON [PRIMARY]
+CREATE UNIQUE INDEX [imgset_nm] ON [phpbb_styles_imageset]([imageset_name])
GO
@@ -1433,17 +1460,16 @@ CREATE TABLE [phpbb_styles_imageset_data] (
[image_height] [int] DEFAULT (0) NOT NULL ,
[image_width] [int] DEFAULT (0) NOT NULL ,
[imageset_id] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_styles_imageset_data] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_styles_imageset_data] PRIMARY KEY CLUSTERED
(
[image_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [i_d] ON [phpbb_styles_imageset_data]([imageset_id]) ON [PRIMARY]
+CREATE INDEX [i_d] ON [phpbb_styles_imageset_data]([imageset_id])
GO
@@ -1485,32 +1511,31 @@ CREATE TABLE [phpbb_topics] (
[poll_max_options] [int] DEFAULT (1) NOT NULL ,
[poll_last_vote] [int] DEFAULT (0) NOT NULL ,
[poll_vote_change] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_topics] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_topics] PRIMARY KEY CLUSTERED
(
[topic_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [forum_id] ON [phpbb_topics]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_topics]([forum_id])
GO
-CREATE INDEX [forum_id_type] ON [phpbb_topics]([forum_id], [topic_type]) ON [PRIMARY]
+CREATE INDEX [forum_id_type] ON [phpbb_topics]([forum_id], [topic_type])
GO
-CREATE INDEX [last_post_time] ON [phpbb_topics]([topic_last_post_time]) ON [PRIMARY]
+CREATE INDEX [last_post_time] ON [phpbb_topics]([topic_last_post_time])
GO
-CREATE INDEX [topic_approved] ON [phpbb_topics]([topic_approved]) ON [PRIMARY]
+CREATE INDEX [topic_approved] ON [phpbb_topics]([topic_approved])
GO
-CREATE INDEX [forum_appr_last] ON [phpbb_topics]([forum_id], [topic_approved], [topic_last_post_id]) ON [PRIMARY]
+CREATE INDEX [forum_appr_last] ON [phpbb_topics]([forum_id], [topic_approved], [topic_last_post_id])
GO
-CREATE INDEX [fid_time_moved] ON [phpbb_topics]([forum_id], [topic_last_post_time], [topic_moved_id]) ON [PRIMARY]
+CREATE INDEX [fid_time_moved] ON [phpbb_topics]([forum_id], [topic_last_post_time], [topic_moved_id])
GO
@@ -1522,21 +1547,20 @@ CREATE TABLE [phpbb_topics_track] (
[topic_id] [int] DEFAULT (0) NOT NULL ,
[forum_id] [int] DEFAULT (0) NOT NULL ,
[mark_time] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_topics_track] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_topics_track] PRIMARY KEY CLUSTERED
(
[user_id],
[topic_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [topic_id] ON [phpbb_topics_track]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_topics_track]([topic_id])
GO
-CREATE INDEX [forum_id] ON [phpbb_topics_track]([forum_id]) ON [PRIMARY]
+CREATE INDEX [forum_id] ON [phpbb_topics_track]([forum_id])
GO
@@ -1547,15 +1571,14 @@ CREATE TABLE [phpbb_topics_posted] (
[user_id] [int] DEFAULT (0) NOT NULL ,
[topic_id] [int] DEFAULT (0) NOT NULL ,
[topic_posted] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_topics_posted] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_topics_posted] PRIMARY KEY CLUSTERED
(
[user_id],
[topic_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1565,17 +1588,24 @@ GO
CREATE TABLE [phpbb_topics_watch] (
[topic_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL ,
- [notify_status] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
+ [notify_status] [int] DEFAULT (0) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_topics_watch] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_topics_watch] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [topic_id] ON [phpbb_topics_watch]([topic_id]) ON [PRIMARY]
+CREATE INDEX [topic_id] ON [phpbb_topics_watch]([topic_id])
GO
-CREATE INDEX [user_id] ON [phpbb_topics_watch]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_topics_watch]([user_id])
GO
-CREATE INDEX [notify_stat] ON [phpbb_topics_watch]([notify_status]) ON [PRIMARY]
+CREATE INDEX [notify_stat] ON [phpbb_topics_watch]([notify_status])
GO
@@ -1586,17 +1616,24 @@ CREATE TABLE [phpbb_user_group] (
[group_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL ,
[group_leader] [int] DEFAULT (0) NOT NULL ,
- [user_pending] [int] DEFAULT (1) NOT NULL
-) ON [PRIMARY]
+ [user_pending] [int] DEFAULT (1) NOT NULL ,
+ [mssqlindex] [int] IDENTITY (1, 1) NOT NULL
+)GO
+
+ALTER TABLE [phpbb_user_group] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_user_group] PRIMARY KEY CLUSTERED
+ (
+ [mssqlindex]
+ )
GO
-CREATE INDEX [group_id] ON [phpbb_user_group]([group_id]) ON [PRIMARY]
+CREATE INDEX [group_id] ON [phpbb_user_group]([group_id])
GO
-CREATE INDEX [user_id] ON [phpbb_user_group]([user_id]) ON [PRIMARY]
+CREATE INDEX [user_id] ON [phpbb_user_group]([user_id])
GO
-CREATE INDEX [group_leader] ON [phpbb_user_group]([group_leader]) ON [PRIMARY]
+CREATE INDEX [group_leader] ON [phpbb_user_group]([group_leader])
GO
@@ -1680,26 +1717,25 @@ CREATE TABLE [phpbb_users] (
[user_new] [int] DEFAULT (1) NOT NULL ,
[user_reminded] [int] DEFAULT (0) NOT NULL ,
[user_reminded_time] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_users] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_users] PRIMARY KEY CLUSTERED
(
[user_id]
- ) ON [PRIMARY]
+ )
GO
-CREATE INDEX [user_birthday] ON [phpbb_users]([user_birthday]) ON [PRIMARY]
+CREATE INDEX [user_birthday] ON [phpbb_users]([user_birthday])
GO
-CREATE INDEX [user_email_hash] ON [phpbb_users]([user_email_hash]) ON [PRIMARY]
+CREATE INDEX [user_email_hash] ON [phpbb_users]([user_email_hash])
GO
-CREATE INDEX [user_type] ON [phpbb_users]([user_type]) ON [PRIMARY]
+CREATE INDEX [user_type] ON [phpbb_users]([user_type])
GO
-CREATE UNIQUE INDEX [username_clean] ON [phpbb_users]([username_clean]) ON [PRIMARY]
+CREATE UNIQUE INDEX [username_clean] ON [phpbb_users]([username_clean])
GO
@@ -1712,14 +1748,13 @@ CREATE TABLE [phpbb_warnings] (
[post_id] [int] DEFAULT (0) NOT NULL ,
[log_id] [int] DEFAULT (0) NOT NULL ,
[warning_time] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_warnings] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_warnings] PRIMARY KEY CLUSTERED
(
[warning_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1730,14 +1765,13 @@ CREATE TABLE [phpbb_words] (
[word_id] [int] IDENTITY (1, 1) NOT NULL ,
[word] [varchar] (255) DEFAULT ('') NOT NULL ,
[replacement] [varchar] (255) DEFAULT ('') NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_words] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_words] PRIMARY KEY CLUSTERED
(
[word_id]
- ) ON [PRIMARY]
+ )
GO
@@ -1749,15 +1783,14 @@ CREATE TABLE [phpbb_zebra] (
[zebra_id] [int] DEFAULT (0) NOT NULL ,
[friend] [int] DEFAULT (0) NOT NULL ,
[foe] [int] DEFAULT (0) NOT NULL
-) ON [PRIMARY]
-GO
+)GO
ALTER TABLE [phpbb_zebra] WITH NOCHECK ADD
CONSTRAINT [PK_phpbb_zebra] PRIMARY KEY CLUSTERED
(
[user_id],
[zebra_id]
- ) ON [PRIMARY]
+ )
GO
diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql
index e1b36e64a2..b266025c86 100644
--- a/phpBB/install/schemas/schema_data.sql
+++ b/phpBB/install/schemas/schema_data.sql
@@ -668,7 +668,7 @@ INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id,
# Bots having bot access
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (6, 2, 0, 19, 0);
-# NEW MEMBERS aren't allowed to PM
+# NEW MEMBERS are not allowed to send private messages
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (7, 0, 0, 23, 0);
# NEW MEMBERS on the queue
diff --git a/phpBB/language/en/acp/ban.php b/phpBB/language/en/acp/ban.php
index 7b2ef59a7a..bc547b6d8f 100644
--- a/phpBB/language/en/acp/ban.php
+++ b/phpBB/language/en/acp/ban.php
@@ -74,11 +74,11 @@ $lang = array_merge($lang, array(
'PERMANENT' => 'Permanent',
'UNTIL' => 'Until',
- 'USER_BAN' => 'Ban one or more usernames',
+ 'USER_BAN' => 'Ban one or more users by username',
'USER_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered users from all current bans.',
'USER_BAN_EXPLAIN' => 'You can ban multiple users in one go by entering each name on a new line. Use the <span style="text-decoration: underline;">Find a member</span> facility to look up and add one or more users automatically.',
'USER_NO_BANNED' => 'No banned usernames',
- 'USER_UNBAN' => 'Un-ban or un-exclude usernames',
+ 'USER_UNBAN' => 'Un-ban or un-exclude users by username',
'USER_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded users are emphasised.',
));
diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php
index ccd12fcb6a..e109ea6d3a 100644
--- a/phpBB/language/en/acp/board.php
+++ b/phpBB/language/en/acp/board.php
@@ -44,7 +44,7 @@ $lang = array_merge($lang, array(
'DEFAULT_LANGUAGE' => 'Default language',
'DEFAULT_STYLE' => 'Default style',
'DISABLE_BOARD' => 'Disable board',
- 'DISABLE_BOARD_EXPLAIN' => 'This will make the board unavailable to users. You can also enter a short (255 character) message to display if you wish.',
+ 'DISABLE_BOARD_EXPLAIN' => 'This will make the board unavailable to users who are neither administrators nor moderators. You can also enter a short (255 character) message to display if you wish.',
'OVERRIDE_STYLE' => 'Override user style',
'OVERRIDE_STYLE_EXPLAIN' => 'Replaces user’s style with the default.',
'SITE_DESC' => 'Site description',
@@ -104,7 +104,7 @@ $lang = array_merge($lang, array(
'AVATAR_GALLERY_PATH' => 'Avatar gallery path',
'AVATAR_GALLERY_PATH_EXPLAIN' => 'Path under your phpBB root directory for pre-loaded images, e.g. <samp>images/avatars/gallery</samp>.',
'AVATAR_STORAGE_PATH' => 'Avatar storage path',
- 'AVATAR_STORAGE_PATH_EXPLAIN' => 'Path under your phpBB root directory, e.g. <samp>images/avatars/upload</samp>.',
+ 'AVATAR_STORAGE_PATH_EXPLAIN' => 'Path under your phpBB root directory, e.g. <samp>images/avatars/upload</samp>.<br />Avatar uploading <strong>will not be available</strong> if this path is not writable.',
'MAX_AVATAR_SIZE' => 'Maximum avatar dimensions',
'MAX_AVATAR_SIZE_EXPLAIN' => 'Width x Height in pixels.',
'MAX_FILESIZE' => 'Maximum avatar file size',
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index 04d614c80d..f2ab15335d 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -50,7 +50,7 @@ $lang = array_merge($lang, array(
'ACP_BAN' => 'Banning',
'ACP_BAN_EMAILS' => 'Ban e-mails',
'ACP_BAN_IPS' => 'Ban IPs',
- 'ACP_BAN_USERNAMES' => 'Ban usernames',
+ 'ACP_BAN_USERNAMES' => 'Ban users',
'ACP_BBCODES' => 'BBCodes',
'ACP_BOARD_CONFIGURATION' => 'Board configuration',
'ACP_BOARD_FEATURES' => 'Board features',
diff --git a/phpBB/language/en/acp/users.php b/phpBB/language/en/acp/users.php
index 3b82a7022d..25e5ff8269 100644
--- a/phpBB/language/en/acp/users.php
+++ b/phpBB/language/en/acp/users.php
@@ -52,6 +52,7 @@ $lang = array_merge($lang, array(
'CANNOT_FORCE_REACT_FOUNDER' => 'You are not allowed to force reactivation on founder accounts.',
'CANNOT_FORCE_REACT_YOURSELF' => 'You are not allowed to force reactivation of your own account.',
'CANNOT_REMOVE_ANONYMOUS' => 'You are not able to remove the guest user account.',
+ 'CANNOT_REMOVE_FOUNDER' => 'You are not allowed to remove founder accounts.',
'CANNOT_REMOVE_YOURSELF' => 'You are not allowed to remove your own user account.',
'CANNOT_SET_FOUNDER_IGNORED' => 'You are not able to promote ignored users to be founders.',
'CANNOT_SET_FOUNDER_INACTIVE' => 'You need to activate users before you promote them to founders, only activated users are able to be promoted.',
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index f37f6d3b30..0bf48eb841 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -341,6 +341,9 @@ $lang = array_merge($lang, array(
'MODERATE' => 'Moderate',
'MODERATOR' => 'Moderator',
'MODERATORS' => 'Moderators',
+ 'MODULE_NOT_ACCESS' => 'Module not accessible',
+ 'MODULE_NOT_FIND' => 'Cannot find module %s',
+ 'MODULE_FILE_INCORRECT_CLASS' => 'Module file %s does not contain correct class [%s]',
'MONTH' => 'Month',
'MOVE' => 'Move',
'MSNM' => 'MSNM/WLM',
@@ -651,7 +654,7 @@ $lang = array_merge($lang, array(
'TOTAL_USERS_ZERO' => 'Total members <strong>0</strong>',
'TRACKED_PHP_ERROR' => 'Tracked PHP errors: %s',
- 'UNABLE_GET_IMAGE_SIZE' => 'It was not possible to determine the dimensions of the image.',
+ 'UNABLE_GET_IMAGE_SIZE' => 'It was not possible to determine the dimensions of the image. Please verify that the URL you entered is correct.',
'UNABLE_TO_DELIVER_FILE'=> 'Unable to deliver file.',
'UNKNOWN_BROWSER' => 'Unknown browser',
'UNMARK_ALL' => 'Unmark all',
diff --git a/phpBB/language/en/email/topic_notify.txt b/phpBB/language/en/email/topic_notify.txt
index 99865494ac..f52ce9395d 100644
--- a/phpBB/language/en/email/topic_notify.txt
+++ b/phpBB/language/en/email/topic_notify.txt
@@ -2,7 +2,7 @@ Subject: Topic reply notification - "{TOPIC_TITLE}"
Hello {USERNAME},
-You are receiving this notification because you are watching the topic "{TOPIC_TITLE}" at "{SITENAME}". This topic has received a reply<!-- IF AUTHOR_NAME !== '' --> by {AUTHOR_NAME}<!-- ENDIF --> since your last visit. You can use the following link to view the replies made, no more notifications will be sent until you visit the topic.
+You are receiving this notification because you are watching the topic "{TOPIC_TITLE}" at "{SITENAME}". This topic has received a reply<!-- IF AUTHOR_NAME !== '' --> by {AUTHOR_NAME}<!-- ENDIF --> since your last visit. No more notifications will be sent until you visit the topic.
If you want to view the newest post made since your last visit, click the following link:
{U_NEWEST_POST}
@@ -14,7 +14,6 @@ If you want to view the forum, click the following link:
{U_FORUM}
If you no longer wish to watch this topic you can either click the "Unsubscribe topic" link found at the bottom of the topic above, or by clicking the following link:
-
{U_STOP_WATCHING_TOPIC}
{EMAIL_SIG} \ No newline at end of file
diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php
index 7dc5e6b74a..f59efd3b95 100644
--- a/phpBB/language/en/memberlist.php
+++ b/phpBB/language/en/memberlist.php
@@ -138,6 +138,7 @@ $lang = array_merge($lang, array(
),
'USER_ONLINE' => 'Online',
'USER_PRESENCE' => 'Board presence',
+ 'USERS_PER_PAGE' => 'Users per page',
'VIEWING_PROFILE' => 'Viewing profile - %s',
'VISITED' => 'Last visited',
diff --git a/phpBB/search.php b/phpBB/search.php
index ad9c371f63..d0d86fac17 100644
--- a/phpBB/search.php
+++ b/phpBB/search.php
@@ -540,12 +540,6 @@ if ($keywords || $author || $author_id || $search_id || $submit)
$total_match_count = $search->author_search($show_results, $firstpost_only, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_fid_ary, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);
}
- // For some searches we need to print out the "no results" page directly to allow re-sorting/refining the search options.
- if (!sizeof($id_ary) && !$search_id)
- {
- trigger_error('NO_SEARCH_RESULTS');
- }
-
$sql_where = '';
if (sizeof($id_ary))
@@ -580,9 +574,9 @@ if ($keywords || $author || $author_id || $search_id || $submit)
}
// define some vars for urls
- $hilit = implode('|', explode(' ', preg_replace('#\s+#u', ' ', str_replace(array('+', '-', '|', '(', ')', '&quot;'), ' ', $keywords))));
- // Do not allow *only* wildcard being used for hilight
- $hilit = (strspn($hilit, '*') === strlen($hilit)) ? '' : $hilit;
+ // A single wildcard will make the search results look ugly
+ $hilit = phpbb_clean_search_string(str_replace(array('+', '-', '|', '(', ')', '&quot;'), ' ', $keywords));
+ $hilit = str_replace(' ', '|', $hilit);
$u_hilit = urlencode(htmlspecialchars_decode(str_replace('|', ' ', $hilit)));
$u_show_results = '&amp;sr=' . $show_results;
@@ -846,7 +840,8 @@ if ($keywords || $author || $author_id || $search_id || $submit)
$hilit_array = array_filter(explode('|', $hilit), 'strlen');
foreach ($hilit_array as $key => $value)
{
- $hilit_array[$key] = str_replace('\*', '\w*?', preg_quote($value, '#'));
+ $hilit_array[$key] = phpbb_clean_search_string($value);
+ $hilit_array[$key] = str_replace('\*', '\w*?', preg_quote($hilit_array[$key], '#'));
$hilit_array[$key] = preg_replace('#(^|\s)\\\\w\*\?(\s|$)#', '$1\w+?$2', $hilit_array[$key]);
}
$hilit = implode('|', $hilit_array);
diff --git a/phpBB/styles/prosilver/style.cfg b/phpBB/styles/prosilver/style.cfg
index 811e5f4376..abd5a5dd22 100644
--- a/phpBB/styles/prosilver/style.cfg
+++ b/phpBB/styles/prosilver/style.cfg
@@ -18,5 +18,5 @@
# General Information about this style
name = prosilver
-copyright = &copy; phpBB Group, 2007
-version = 3.0.12 \ No newline at end of file
+copyright = © phpBB Group, 2007
+version = 3.0.12
diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js
index c16b0ef703..42be70be92 100644
--- a/phpBB/styles/prosilver/template/editor.js
+++ b/phpBB/styles/prosilver/template/editor.js
@@ -347,7 +347,7 @@ function mozWrap(txtarea, open, close)
*/
function storeCaret(textEl)
{
- if (textEl.createTextRange)
+ if (textEl.createTextRange && document.selection)
{
textEl.caretPos = document.selection.createRange().duplicate();
}
diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js
index 240fe7e51d..6a65caf6f6 100644
--- a/phpBB/styles/prosilver/template/forum_fn.js
+++ b/phpBB/styles/prosilver/template/forum_fn.js
@@ -403,7 +403,7 @@ function apply_onkeypress_event()
// jQuery code in case jQuery is used
if (jquery_present)
{
- jQuery('form input[type=text], form input[type=password]').live('keypress', function (e)
+ jQuery('form input[type=text], form input[type=password]').on('keypress', function (e)
{
var default_button = jQuery(this).parents('form').find('input[type=submit].default-submit-action');
diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html
index 25b60be6e1..fc6a37cbe3 100644
--- a/phpBB/styles/prosilver/template/overall_footer.html
+++ b/phpBB/styles/prosilver/template/overall_footer.html
@@ -6,7 +6,7 @@
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist">
- <li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a></li>
+ <li class="icon-home"><a href="{U_INDEX}">{L_INDEX}</a></li>
<!-- IF not S_IS_BOT -->
<!-- IF S_WATCH_FORUM_LINK --><li <!-- IF S_WATCHING_FORUM -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ENDIF -->
<!-- IF U_WATCH_TOPIC --><li <!-- IF S_WATCHING_TOPIC -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{U_WATCH_TOPIC}" title="{L_WATCH_TOPIC}">{L_WATCH_TOPIC}</a></li><!-- ENDIF -->
diff --git a/phpBB/styles/prosilver/template/ucp_groups_manage.html b/phpBB/styles/prosilver/template/ucp_groups_manage.html
index c90461312e..53d2dfffb3 100644
--- a/phpBB/styles/prosilver/template/ucp_groups_manage.html
+++ b/phpBB/styles/prosilver/template/ucp_groups_manage.html
@@ -54,7 +54,7 @@
<fieldset>
<dl>
<dt><label for="group_colour">{L_GROUP_COLOR}:</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
- <dd><input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" class="inputbox narrow" /> <span style="background-color: {GROUP_COLOUR};">&nbsp;&nbsp;&nbsp;</span> [ <a href="{U_SWATCH}" onclick="popup(this.href, 636, 150, '_swatch'); return false;">{L_COLOUR_SWATCH}</a> ]</dd>
+ <dd><input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" class="inputbox narrow" /> <span style="background-color: #{GROUP_COLOUR};">&nbsp;&nbsp;&nbsp;</span> [ <a href="{U_SWATCH}" onclick="popup(this.href, 636, 150, '_swatch'); return false;">{L_COLOUR_SWATCH}</a> ]</dd>
</dl>
<dl>
<dt><label for="group_rank">{L_GROUP_RANK}:</label></dt>
diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html
index 67e14defc3..91dd4606c8 100644
--- a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html
+++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html
@@ -8,8 +8,6 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
-<meta name="keywords" content="" />
-<meta name="description" content="" />
<meta name="robots" content="noindex" />
{META}
<title>{SITENAME} &bull; {PAGE_TITLE}</title>
diff --git a/phpBB/styles/prosilver/template/ucp_profile_profile_info.html b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html
index 1bd54619b9..0d3a48c334 100644
--- a/phpBB/styles/prosilver/template/ucp_profile_profile_info.html
+++ b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html
@@ -50,9 +50,9 @@
<dl>
<dt><label for="bday_day">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
<dd>
- <label for="bday_day">{L_DAY}: <select name="bday_day" id="bday_day" style="width: 4em;">{S_BIRTHDAY_DAY_OPTIONS}</select></label>
- <label for="bday_month">{L_MONTH}: <select name="bday_month" id="bday_month" style="width: 4em;">{S_BIRTHDAY_MONTH_OPTIONS}</select></label>
- <label for="bday_year">{L_YEAR}: <select name="bday_year" id="bday_year" style="width: 6em;">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
+ <label for="bday_day">{L_DAY}: <select name="bday_day" id="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select></label>
+ <label for="bday_month">{L_MONTH}: <select name="bday_month" id="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select></label>
+ <label for="bday_year">{L_YEAR}: <select name="bday_year" id="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
</dd>
</dl>
<!-- ENDIF -->
diff --git a/phpBB/styles/prosilver/template/ucp_profile_reg_details.html b/phpBB/styles/prosilver/template/ucp_profile_reg_details.html
index 5eb55dc71c..2f24601645 100644
--- a/phpBB/styles/prosilver/template/ucp_profile_reg_details.html
+++ b/phpBB/styles/prosilver/template/ucp_profile_reg_details.html
@@ -7,7 +7,7 @@
<div class="inner"><span class="corners-top"><span></span></span>
<!-- IF S_FORCE_PASSWORD -->
- <p>{L_FORCE_PASSWORD_EXPLAIN}</p>
+ <p class="error">{L_FORCE_PASSWORD_EXPLAIN}</p>
<!-- ENDIF -->
<fieldset>
@@ -60,4 +60,4 @@
</fieldset>
</form>
-<!-- INCLUDE ucp_footer.html --> \ No newline at end of file
+<!-- INCLUDE ucp_footer.html -->
diff --git a/phpBB/styles/prosilver/template/viewtopic_print.html b/phpBB/styles/prosilver/template/viewtopic_print.html
index 39d2d76394..168305a6a4 100644
--- a/phpBB/styles/prosilver/template/viewtopic_print.html
+++ b/phpBB/styles/prosilver/template/viewtopic_print.html
@@ -8,8 +8,6 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
-<meta name="keywords" content="" />
-<meta name="description" content="" />
<meta name="robots" content="noindex" />
{META}
<title>{SITENAME} &bull; {PAGE_TITLE}</title>
diff --git a/phpBB/styles/subsilver2/style.cfg b/phpBB/styles/subsilver2/style.cfg
index b99c433ff1..b0fe5e6639 100644
--- a/phpBB/styles/subsilver2/style.cfg
+++ b/phpBB/styles/subsilver2/style.cfg
@@ -18,5 +18,5 @@
# General Information about this style
name = subsilver2
-copyright = &copy; 2005 phpBB Group
+copyright = © 2005 phpBB Group
version = 3.0.12
diff --git a/phpBB/styles/subsilver2/template/editor.js b/phpBB/styles/subsilver2/template/editor.js
index 151cf53ff1..103a271a71 100644
--- a/phpBB/styles/subsilver2/template/editor.js
+++ b/phpBB/styles/subsilver2/template/editor.js
@@ -351,7 +351,7 @@ function mozWrap(txtarea, open, close)
*/
function storeCaret(textEl)
{
- if (textEl.createTextRange)
+ if (textEl.createTextRange && document.selection)
{
textEl.caretPos = document.selection.createRange().duplicate();
}
diff --git a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html
index cd55c16a50..085e26ecd2 100644
--- a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html
+++ b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html
@@ -4,6 +4,7 @@
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Language" content="{S_USER_LANG}">
+<meta name="robots" content="noindex" />
<title>{SITENAME} :: {PAGE_TITLE}</title>
<style type="text/css">
diff --git a/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html b/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html
index 09f60ad5a7..2eca7a93c8 100644
--- a/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html
+++ b/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html
@@ -6,7 +6,7 @@
</tr>
<!-- IF S_FORCE_PASSWORD -->
<tr>
- <td class="row3" colspan="2" align="center"><span class="gensmall">{L_FORCE_PASSWORD_EXPLAIN}</span></td>
+ <td class="row3" colspan="2" align="center"><span class="gensmall error">{L_FORCE_PASSWORD_EXPLAIN}</span></td>
</tr>
<!-- ENDIF -->
<!-- IF ERROR -->
@@ -50,4 +50,4 @@
</tr>
</table>
-<!-- INCLUDE ucp_footer.html --> \ No newline at end of file
+<!-- INCLUDE ucp_footer.html -->
diff --git a/phpBB/styles/subsilver2/template/viewtopic_print.html b/phpBB/styles/subsilver2/template/viewtopic_print.html
index 1ca1eccc99..47b5bdb28e 100644
--- a/phpBB/styles/subsilver2/template/viewtopic_print.html
+++ b/phpBB/styles/subsilver2/template/viewtopic_print.html
@@ -4,6 +4,7 @@
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Language" content="{S_USER_LANG}">
+<meta name="robots" content="noindex" />
<title>{SITENAME} :: {PAGE_TITLE}</title>
<style type="text/css">
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index fb12dd925a..f52e04e1a8 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -471,17 +471,11 @@ else
$highlight_match = $highlight = '';
if ($hilit_words)
{
- foreach (explode(' ', trim($hilit_words)) as $word)
- {
- if (trim($word))
- {
- $word = str_replace('\*', '\w+?', preg_quote($word, '#'));
- $word = preg_replace('#(^|\s)\\\\w\*\?(\s|$)#', '$1\w+?$2', $word);
- $highlight_match .= (($highlight_match != '') ? '|' : '') . $word;
- }
- }
-
- $highlight = urlencode($hilit_words);
+ $highlight_match = phpbb_clean_search_string($hilit_words);
+ $highlight = urlencode($highlight_match);
+ $highlight_match = str_replace('\*', '\w+?', preg_quote($highlight_match, '#'));
+ $highlight_match = preg_replace('#(?<=^|\s)\\\\w\*\?(?=\s|$)#', '\w+?', $highlight_match);
+ $highlight_match = str_replace(' ', '|', $highlight_match);
}
// Make sure $start is set to the last page if it exceeds the amount
@@ -1509,13 +1503,19 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_edit', $forum_id) &&
+ $topic_data['topic_status'] != ITEM_LOCKED &&
!$row['post_edit_locked'] &&
($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])
)));
+ $quote_allowed = $auth->acl_get('m_edit', $forum_id) || ($topic_data['topic_status'] != ITEM_LOCKED &&
+ ($user->data['user_id'] == ANONYMOUS || $auth->acl_get('f_reply', $forum_id))
+ );
+
$delete_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_delete', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_delete', $forum_id) &&
+ $topic_data['topic_status'] != ITEM_LOCKED &&
$topic_data['topic_last_post_id'] == $row['post_id'] &&
($row['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time']) &&
// we do not want to allow removal of the last post if a moderator locked it!
@@ -1556,7 +1556,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
'S_ONLINE' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? false : (($user_cache[$poster_id]['online']) ? true : false),
'U_EDIT' => ($edit_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=edit&amp;f=$forum_id&amp;p={$row['post_id']}") : '',
- 'U_QUOTE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&amp;f=$forum_id&amp;p={$row['post_id']}") : '',
+ 'U_QUOTE' => ($quote_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&amp;f=$forum_id&amp;p={$row['post_id']}") : '',
'U_INFO' => ($auth->acl_get('m_info', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&amp;mode=post_details&amp;f=$forum_id&amp;p=" . $row['post_id'], true, $user->session_id) : '',
'U_DELETE' => ($delete_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=delete&amp;f=$forum_id&amp;p={$row['post_id']}") : '',