mirror of
https://github.com/phpbb/phpbb.git
synced 2025-09-16 11:07:03 +02:00
Compare commits
432 Commits
release-3.
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
|
873b5686a1 | ||
|
f9c27ccd52 | ||
|
6159c3c738 | ||
|
407e0dbd8b | ||
|
aee4534d71 | ||
|
2d987d36c1 | ||
|
87292f534e | ||
|
2071abda1f | ||
|
23b7671617 | ||
|
e1278320a2 | ||
|
eafba554fd | ||
|
d9037965c8 | ||
|
f852630ef3 | ||
|
c1b48bdd01 | ||
|
647f976c30 | ||
|
bfe872d1b7 | ||
|
0aa23d203e | ||
|
c743e28b94 | ||
|
bdce7abc84 | ||
|
7b08a483fd | ||
|
943e4e35ee | ||
|
287c2b95ee | ||
|
a6b274e8ab | ||
|
1f8ab1c196 | ||
|
60d2c1f400 | ||
|
0c40cd5f13 | ||
|
23289c89a1 | ||
|
56318fb5c4 | ||
|
7821cf0257 | ||
|
5f8f1f04fd | ||
|
4b7a718f85 | ||
|
9d87b1a3c7 | ||
|
6db1a2bfad | ||
|
3c6a17ae6b | ||
|
954f0697ce | ||
|
71246a5472 | ||
|
a45aa2e5a0 | ||
|
fb6b350c21 | ||
|
36837e1975 | ||
|
4333401a27 | ||
|
08165881f2 | ||
|
12b8460089 | ||
|
c48fe65dfd | ||
|
5df3e0a4ec | ||
|
89b0ff1da8 | ||
|
c695aa3903 | ||
|
b322cb4c11 | ||
|
92b15fbdf8 | ||
|
4f8cba3c82 | ||
|
2c0efd5d1b | ||
|
2de3943cec | ||
|
0c02eae1ad | ||
|
21bec33e0b | ||
|
8a61e4b4c0 | ||
|
6361d382b3 | ||
|
eb1dd47e39 | ||
|
bd33855e7b | ||
|
4ecfc07e03 | ||
|
16e7a1d931 | ||
|
86a88751a8 | ||
|
db63d0fbf9 | ||
|
dbebe30c9a | ||
|
03eb23cbae | ||
|
e123b0c0a0 | ||
|
d69012ea6d | ||
|
d3ddf29e59 | ||
|
c6a87e77d4 | ||
|
ca92ed918a | ||
|
871a89af07 | ||
|
dfa077710f | ||
|
b809bea3d4 | ||
|
d81a604ef8 | ||
|
6918921d53 | ||
|
3d1d25a122 | ||
|
799c575990 | ||
|
556c7d9218 | ||
|
6524513f9d | ||
|
b5310e9565 | ||
|
932e0eb17e | ||
|
1094a2b577 | ||
|
101ceed80c | ||
|
87688687e4 | ||
|
274c83c74d | ||
|
feed1441ad | ||
|
9419edd686 | ||
|
c14d2fb60f | ||
|
f75b98aa8b | ||
|
21961a25ba | ||
|
d95d062a42 | ||
|
239f72ddda | ||
|
ad6fda5776 | ||
|
8aa22550b9 | ||
|
e1d5702853 | ||
|
9b1620911d | ||
|
e8b7f68406 | ||
|
8eb15de406 | ||
|
e07f314117 | ||
|
cf468bcc09 | ||
|
8b936fc8eb | ||
|
ce4926d000 | ||
|
5a43ea2067 | ||
|
296af6c679 | ||
|
e65a6dd8f4 | ||
|
65626d602e | ||
|
4b259e3c82 | ||
|
214f515e9c | ||
|
37b19bc533 | ||
|
a35901c29b | ||
|
052bbf654f | ||
|
9aa947f7fb | ||
|
3181c44fc9 | ||
|
ea63e1412b | ||
|
a4810405d2 | ||
|
92b638ed83 | ||
|
00d86a4af1 | ||
|
1f7c891da2 | ||
|
23ea833425 | ||
|
f7020fb5d1 | ||
|
4127f92496 | ||
|
c1115d9451 | ||
|
235f7c3721 | ||
|
957e9aabc3 | ||
|
13327a13a0 | ||
|
ec4c9833ca | ||
|
fe63ac888f | ||
|
f43da31bba | ||
|
d29514f3e7 | ||
|
e8fdc1545a | ||
|
b876c07377 | ||
|
c169583dc3 | ||
|
f3d8dfd1e3 | ||
|
50dd76aef3 | ||
|
20723a9315 | ||
|
47ad92ae31 | ||
|
521c6c7d75 | ||
|
37dace4967 | ||
|
0fd172aaa4 | ||
|
38aef98a69 | ||
|
12dc36903e | ||
|
86845e48a2 | ||
|
49734db9cd | ||
|
224e3f139f | ||
|
f2d3879da4 | ||
|
cc59b5e44b | ||
|
bc74819cc9 | ||
|
b4a65da2ed | ||
|
0119a21862 | ||
|
b29c4c6358 | ||
|
2eb24d0ace | ||
|
436b1d3577 | ||
|
baed78bde7 | ||
|
cace4a50d0 | ||
|
1688d88059 | ||
|
a3033a4a86 | ||
|
7ca762c524 | ||
|
72e0fe0b22 | ||
|
00f8fe24d2 | ||
|
f2321af9ed | ||
|
9ef79776a9 | ||
|
c305bd25e4 | ||
|
7880a87c5e | ||
|
c655757aa6 | ||
|
8290dd6b1c | ||
|
1207767bb3 | ||
|
4fb19c8541 | ||
|
40e76c090e | ||
|
0036b00fc4 | ||
|
304c0799ba | ||
|
41fa32bae4 | ||
|
3b6d371310 | ||
|
c51dcbe6a0 | ||
|
b6eec5c142 | ||
|
f4645a6376 | ||
|
07c07171f9 | ||
|
275910d8b0 | ||
|
9100f4ebbf | ||
|
6491477809 | ||
|
ecf1e94726 | ||
|
51273f6fb1 | ||
|
19d0c2abd5 | ||
|
429c006440 | ||
|
aae22d699e | ||
|
1cf8554d0e | ||
|
c40b15ae19 | ||
|
600e5f6c11 | ||
|
50165fe920 | ||
|
e6f492c7ac | ||
|
f0ac25f3c5 | ||
|
d9c93337cc | ||
|
6251ca1459 | ||
|
98542547e2 | ||
|
dc5a34eb88 | ||
|
43074a1b69 | ||
|
8748032866 | ||
|
6a8f110b5a | ||
|
4b6f3f8b0f | ||
|
d380cdec02 | ||
|
40c582688b | ||
|
c1ca74ee6d | ||
|
9d25485b32 | ||
|
ad46fe62d8 | ||
|
9b1b57c649 | ||
|
3ece3223e4 | ||
|
898976f8a1 | ||
|
2e49efc12d | ||
|
4e770c2b42 | ||
|
d0b07503ad | ||
|
240eeec71d | ||
|
e88c61f85e | ||
|
fed3e7c2de | ||
|
f2059f52f3 | ||
|
a1dab58f6d | ||
|
2e5106aae1 | ||
|
71354ef185 | ||
|
0e35a85155 | ||
|
4e144005f0 | ||
|
03492e6211 | ||
|
60ca7f91e2 | ||
|
83a7e632b9 | ||
|
03ef39c1f1 | ||
|
c650078904 | ||
|
a3627a9ff7 | ||
|
9c11f4a3cf | ||
|
c82f59b5ab | ||
|
837a909f8c | ||
|
2d7e76013f | ||
|
d40fb32dcd | ||
|
5b1fbfb2f2 | ||
|
19fbd1699a | ||
|
321d430dba | ||
|
efe4393c91 | ||
|
e750d71f84 | ||
|
a2f2629e2a | ||
|
3e52d780ba | ||
|
a506e21fa7 | ||
|
b01a0fe7c5 | ||
|
9dee0647bf | ||
|
bb09cebb88 | ||
|
8db5db64c9 | ||
|
50e4cac5de | ||
|
2f31e79445 | ||
|
8e3b13d5c5 | ||
|
87fa7b98cc | ||
|
a88366f4b6 | ||
|
4970934475 | ||
|
281df15a53 | ||
|
046b1b9d98 | ||
|
f997d98a2a | ||
|
e97b0e16e0 | ||
|
6152d6c41e | ||
|
08ed4d2c67 | ||
|
79c36c885a | ||
|
d636cb0fc9 | ||
|
6d1b0d41f1 | ||
|
9f4908f0f2 | ||
|
e9ed9cd942 | ||
|
76409388af | ||
|
f2c208fa7f | ||
|
43040dd6a4 | ||
|
a823205403 | ||
|
99db2d9199 | ||
|
5c3fc4840c | ||
|
620f2840d7 | ||
|
de0b7ddce9 | ||
|
f99cce0f44 | ||
|
05d921fbbc | ||
|
ae98810ddc | ||
|
ffbc7ccb64 | ||
|
3930978e64 | ||
|
bd00b8e9bf | ||
|
87dfd76100 | ||
|
dda775c418 | ||
|
aa8f43b356 | ||
|
82e3f5a768 | ||
|
4b7932e8b3 | ||
|
888a059994 | ||
|
c0c19fbb29 | ||
|
736d11225c | ||
|
4f6b9080e8 | ||
|
2df2032b48 | ||
|
b8d30bfc80 | ||
|
42e8c2e8cf | ||
|
fe5858902e | ||
|
ccd30912d9 | ||
|
92cf69abec | ||
|
20625e896b | ||
|
cadf0dd3fd | ||
|
6d9afcd077 | ||
|
2ffca79c0e | ||
|
169b1cf6cb | ||
|
55b38e8003 | ||
|
6c8589775b | ||
|
e56f562d47 | ||
|
f43dedb3fd | ||
|
92f1980377 | ||
|
60de5e66de | ||
|
01bf27f789 | ||
|
c30668b010 | ||
|
b7dea19bf3 | ||
|
bd8951cfbe | ||
|
823dca737f | ||
|
eaf9a41ed8 | ||
|
7015fc8a00 | ||
|
c7efadc26d | ||
|
74d2d6c66a | ||
|
7a21d99b9b | ||
|
14017b7032 | ||
|
061d9fba5a | ||
|
74836f8c64 | ||
|
69c119485a | ||
|
5fc29e0d2b | ||
|
627dc886b3 | ||
|
602f4a2b54 | ||
|
cab8181af1 | ||
|
233bdfa5f6 | ||
|
1c56d28d9b | ||
|
c82967d92b | ||
|
fb662ebf50 | ||
|
a589c88d25 | ||
|
b3ecb9e1e4 | ||
|
b942615c3b | ||
|
f1c913f176 | ||
|
3cb702f4ab | ||
|
b8c836836b | ||
|
bfbf0fefbf | ||
|
5ef55d9e45 | ||
|
3bdc1e9e1c | ||
|
e4685ac80d | ||
|
9f923f2359 | ||
|
d4affedaab | ||
|
ccf12ba166 | ||
|
8960e6d777 | ||
|
587241f3a9 | ||
|
06581ba927 | ||
|
f245198652 | ||
|
c20a313ab0 | ||
|
9d1d90e336 | ||
|
89007db505 | ||
|
13e7bd76a5 | ||
|
965b3365fe | ||
|
75fa467b7b | ||
|
0888df9520 | ||
|
30fbaab8de | ||
|
4c62cb4989 | ||
|
0b2b76f951 | ||
|
488bd1a1b1 | ||
|
c864d06ac6 | ||
|
5ce0bb7630 | ||
|
5550f0fa87 | ||
|
995019a992 | ||
|
3c46aeb005 | ||
|
1e86f71133 | ||
|
6bee91c429 | ||
|
b088bf864b | ||
|
840ab75520 | ||
|
09a17b4944 | ||
|
b5105363db | ||
|
ee1c055b70 | ||
|
c36b1c16f9 | ||
|
e4129687cb | ||
|
8744b0da6d | ||
|
02674de893 | ||
|
1fdd01275e | ||
|
07f19647f4 | ||
|
ff57ecf0bc | ||
|
eb2d8fe6d8 | ||
|
81c6ca7e4c | ||
|
9b1b6bd477 | ||
|
344fde7f06 | ||
|
e8f8dcf0ea | ||
|
4663ea7c82 | ||
|
26640bad3d | ||
|
190301021b | ||
|
c2cf294be5 | ||
|
bbada27ee9 | ||
|
0ad726768c | ||
|
8dab016a7b | ||
|
f97d268a79 | ||
|
38608bfa62 | ||
|
7d04961919 | ||
|
3c640e57c5 | ||
|
8a96e0bc52 | ||
|
344baf9180 | ||
|
bf93e20afb | ||
|
32bc5d72e4 | ||
|
be28445b66 | ||
|
38eb6b0e13 | ||
|
5e1db72532 | ||
|
151c05e92e | ||
|
5f9d54646f | ||
|
1251b68668 | ||
|
f22e51c8a1 | ||
|
06e9959648 | ||
|
68b5a2b6b2 | ||
|
2c878ead31 | ||
|
455d55d497 | ||
|
779868e4f4 | ||
|
19e2449525 | ||
|
525576eaed | ||
|
98191894dd | ||
|
43ccfbc6f4 | ||
|
99d312da2a | ||
|
1aa27f400c | ||
|
657ddf8309 | ||
|
fd9366daf5 | ||
|
a71625ca76 | ||
|
80c05e861b | ||
|
f7c764986f | ||
|
6611329d83 | ||
|
3bae72d164 | ||
|
dc37f3a0e3 | ||
|
62263c13d4 | ||
|
08d69de933 | ||
|
cca4067694 | ||
|
8586171187 | ||
|
91a14a9e63 | ||
|
a41e2ca380 | ||
|
5bf4726195 | ||
|
1bb175ce77 | ||
|
e2f72539e1 | ||
|
0a418739a3 | ||
|
2b959e3331 | ||
|
7a971f896d | ||
|
c73801242d | ||
|
e4977b714e | ||
|
1450d29aba | ||
|
08fdd30917 | ||
|
31957abeb1 | ||
|
86d83f2bb2 | ||
|
098fdf95ae | ||
|
224c863377 | ||
|
72b92f70f1 |
10
.travis.yml
10
.travis.yml
@@ -4,12 +4,11 @@ php:
|
||||
- 5.3
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- hhvm
|
||||
|
||||
env:
|
||||
- DB=mariadb
|
||||
- DB=mysql
|
||||
- DB=postgres
|
||||
|
||||
services:
|
||||
- redis-server
|
||||
@@ -32,8 +31,13 @@ script:
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysql' ]; then ../phpBB/vendor/bin/phing sniff; fi"
|
||||
- cd ..
|
||||
- phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysql' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH...FETCH_HEAD; fi"
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysql' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; fi"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 5.4
|
||||
env: DB=mariadb
|
||||
- php: 5.4
|
||||
env: DB=postgres
|
||||
allow_failures:
|
||||
- php: hhvm
|
||||
|
@@ -2,9 +2,9 @@
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.1.0-a3" />
|
||||
<property name="prevversion" value="3.1.0-a2" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1" />
|
||||
<property name="newversion" value="3.1.0-b1" />
|
||||
<property name="prevversion" value="3.1.0-a3" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
|
@@ -29,6 +29,9 @@
|
||||
<!-- Method arguments with default values MUST go at the end of the argument list. -->
|
||||
<rule ref="PEAR.Functions.ValidDefaultValue" />
|
||||
|
||||
<!-- Each file MUST end with exactly one newline character -->
|
||||
<rule ref="PSR2.Files.EndFileNewline" />
|
||||
|
||||
<!-- In the argument list, there MUST NOT be a space before each comma,
|
||||
and there MUST be one space after each comma. -->
|
||||
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
|
||||
|
@@ -428,14 +428,22 @@ chdir($package->get('dest_dir') . '/install');
|
||||
// $package->run_command('rm -v database_update.php');
|
||||
$package->run_command('rm -v install_update.php');
|
||||
|
||||
chdir($package->get('dest_dir'));
|
||||
$package->run_command('mv -v styles/subsilver2 ../subsilver2');
|
||||
$package->run_command('cp -p docs/COPYING ../subsilver2/license.txt');
|
||||
|
||||
chdir($package->locations['package_dir']);
|
||||
foreach ($compress_programs as $extension => $compress_command)
|
||||
{
|
||||
$package->begin_status('Packaging phpBB for ' . $extension);
|
||||
$package->run_command('rm -v ./release_files/' . $package->get('release_filename') . ".{$extension}");
|
||||
$package->run_command('rm -v ./release_files/subsilver2_' . $package->get('new_version_number') . ".{$extension}");
|
||||
|
||||
// Build Package
|
||||
$package->run_command("$compress_command ./release_files/" . $package->get('release_filename') . '.' . $extension . ' ' . $package->get('package_name'));
|
||||
|
||||
// Build subSilver2 Package
|
||||
$package->run_command("$compress_command ./release_files/subsilver2_" . $package->get('new_version_number') . '.' . $extension . ' subsilver2');
|
||||
}
|
||||
|
||||
// Microsoft Web PI packaging
|
||||
|
@@ -5,26 +5,47 @@
|
||||
#
|
||||
# Calls the git commit-msg hook on all non-merge commits in a given commit range.
|
||||
#
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 1 ];
|
||||
then
|
||||
echo "Expected one argument (commit range, e.g. eef1b586...1666476b)."
|
||||
echo "Expected one argument (commit range, e.g. phpbb/develop..ticket/12345)."
|
||||
exit
|
||||
fi
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
COMMIT_MSG_HOOK_PATH="$DIR/hooks/commit-msg"
|
||||
|
||||
COMMIT_RANGE="$1"
|
||||
COMMIT_MSG_HOOK_PATH="$DIR/hooks/commit-msg"
|
||||
COMMIT_MSG_HOOK_FATAL=$(git config --bool phpbb.hooks.commit-msg.fatal 2> /dev/null)
|
||||
git config phpbb.hooks.commit-msg.fatal true
|
||||
|
||||
EXIT_STATUS=0
|
||||
for COMMIT_HASH in $(git rev-list --no-merges "$COMMIT_RANGE")
|
||||
do
|
||||
echo "Inspecting commit message of commit $COMMIT_HASH"
|
||||
|
||||
# The git commit-msg hook takes a path to a file containing a commit
|
||||
# message. So we have to extract the commit message into a file first,
|
||||
# which then also needs to be deleted after our work is done.
|
||||
COMMIT_MESSAGE_PATH="$DIR/commit_msg.$COMMIT_HASH"
|
||||
git log -n 1 --pretty=format:%B "$COMMIT_HASH" > "$COMMIT_MESSAGE_PATH"
|
||||
|
||||
# Invoke hook on commit message file.
|
||||
"$COMMIT_MSG_HOOK_PATH" "$COMMIT_MESSAGE_PATH"
|
||||
|
||||
# If any commit message hook complains with a non-zero exit status, we
|
||||
# will send a non-zero exit status upstream.
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
EXIT_STATUS=1
|
||||
fi
|
||||
|
||||
rm "$COMMIT_MESSAGE_PATH"
|
||||
done
|
||||
|
||||
# Restore phpbb.hooks.commit-msg.fatal config
|
||||
if [ -n "$COMMIT_MSG_HOOK_FATAL" ]
|
||||
then
|
||||
git config phpbb.hooks.commit-msg.fatal "$COMMIT_MSG_HOOK_FATAL"
|
||||
fi
|
||||
|
||||
exit $EXIT_STATUS
|
||||
|
@@ -384,7 +384,7 @@
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {S_ON_PAGE}
|
||||
• {PAGE_NUMBER}
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
@@ -430,7 +430,7 @@
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {S_ON_PAGE}
|
||||
• {PAGE_NUMBER}
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
@@ -10,38 +10,38 @@
|
||||
<legend>{L_EXT_DETAILS}</legend>
|
||||
<!-- IF META_DISPLAY_NAME -->
|
||||
<dl>
|
||||
<dt><label for="meta_display_name">{L_DISPLAY_NAME}{L_COLON}</label></dt>
|
||||
<dt><label>{L_DISPLAY_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_display_name">{META_DISPLAY_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_name">{L_CLEAN_NAME}{L_COLON}</label></dt>
|
||||
<dt><label>{L_CLEAN_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_name">{META_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF META_DESCRIPTION -->
|
||||
<dl>
|
||||
<dt><label for="meta_description">{L_DESCRIPTION}{L_COLON}</label></dt>
|
||||
<dt><label>{L_DESCRIPTION}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_description">{META_DESCRIPTION}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_version">{L_VERSION}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_version">{META_VERSION}</p></dd>
|
||||
</dl>
|
||||
<!-- IF META_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label for="meta_homepage">{L_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_homepage">{META_HOMEPAGE}</p></dd>
|
||||
<dt><label>{L_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_homepage"><a href="{META_HOMEPAGE}">{META_HOMEPAGE}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF META_TIME -->
|
||||
<dl>
|
||||
<dt><label for="meta_time">{L_TIME}{L_COLON}</label></dt>
|
||||
<dt><label>{L_TIME}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_time">{META_TIME}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_license">{L_LICENCE}{L_COLON}</label></dt>
|
||||
<dt><label>{L_LICENCE}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_license">{META_LICENCE}</p></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -51,13 +51,13 @@
|
||||
<legend>{L_REQUIREMENTS}</legend>
|
||||
<!-- IF META_REQUIRE_PHPBB -->
|
||||
<dl<!-- IF META_REQUIRE_PHPBB_FAIL --> class="requirements_not_met"<!-- ENDIF -->>
|
||||
<dt><label for="require_phpbb">{L_PHPBB_VERSION}{L_COLON}</label></dt>
|
||||
<dt><label>{L_PHPBB_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="require_phpbb">{META_REQUIRE_PHPBB}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF META_REQUIRE_PHP -->
|
||||
<dl<!-- IF META_REQUIRE_PHP_FAIL --> class="requirements_not_met"<!-- ENDIF -->>
|
||||
<dt><label for="require_php">{L_PHP_VERSION}{L_COLON}</label></dt>
|
||||
<dt><label>{L_PHP_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="require_php">{META_REQUIRE_PHP}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
@@ -69,25 +69,25 @@
|
||||
<!-- BEGIN meta_authors -->
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label for="meta_author_name">{L_AUTHOR_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_author_name">{meta_authors.AUTHOR_NAME}</strong></dd>
|
||||
<dt><label>{L_AUTHOR_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong>{meta_authors.AUTHOR_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF meta_authors.AUTHOR_EMAIL -->
|
||||
<dl>
|
||||
<dt><label for="meta_author_email">{L_AUTHOR_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_author_email"><a href="mailto:{meta_authors.AUTHOR_EMAIL}">{meta_authors.AUTHOR_EMAIL}</a></strong></dd>
|
||||
<dt><label>{L_AUTHOR_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><strong><a href="mailto:{meta_authors.AUTHOR_EMAIL}">{meta_authors.AUTHOR_EMAIL}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label for="meta_author_url">{L_AUTHOR_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_author_url"><a href="{meta_authors.AUTHOR_HOMEPAGE}">{meta_authors.AUTHOR_HOMEPAGE}</a></strong></dd>
|
||||
<dt><label>{L_AUTHOR_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><strong><a href="{meta_authors.AUTHOR_HOMEPAGE}">{meta_authors.AUTHOR_HOMEPAGE}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_ROLE -->
|
||||
<dl>
|
||||
<dt><label for="author_role">{L_AUTHOR_ROLE}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_author_role">{meta_authors.AUTHOR_ROLE}</strong></dd>
|
||||
<dt><label>{L_AUTHOR_ROLE}{L_COLON}</label></dt>
|
||||
<dd><strong>{meta_authors.AUTHOR_ROLE}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
|
@@ -17,6 +17,7 @@
|
||||
<!-- IF S_VERSIONCHECK_FAIL -->
|
||||
<div class="errorbox notice">
|
||||
<p>{L_VERSIONCHECK_FAIL}</p>
|
||||
<p>{VERSIONCHECK_FAIL_REASON}</p>
|
||||
<p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> · <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
|
||||
</div>
|
||||
<!-- ELSEIF not S_VERSION_UP_TO_DATE -->
|
||||
|
@@ -63,6 +63,10 @@
|
||||
<dt><label for="field_show_on_vt">{L_DISPLAY_ON_VT}{L_COLON}</label><br /><span>{L_DISPLAY_ON_VT_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_vt" name="field_show_on_vt" value="1"<!-- IF S_SHOW_ON_VT --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_ml">{L_DISPLAY_ON_MEMBERLIST}{L_COLON}</label><br /><span>{L_DISPLAY_ON_MEMBERLIST_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_ml" name="field_show_on_ml" value="1"<!-- IF S_SHOW_ON_MEMBERLIST --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_required">{L_REQUIRED_FIELD}{L_COLON}</label><br /><span>{L_REQUIRED_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_required" name="field_required" value="1"<!-- IF S_FIELD_REQUIRED --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
@@ -75,6 +79,12 @@
|
||||
<dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}{L_COLON}</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_hide" name="field_hide" value="1"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_is_contact">{L_FIELD_IS_CONTACT}{L_COLON}</label><br /><span>{L_FIELD_IS_CONTACT_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_is_contact" name="field_is_contact" value="1"<!-- IF S_FIELD_CONTACT --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
<dd><input class="text medium" type="text" name="field_contact_desc" id="field_contact_desc" value="{FIELD_CONTACT_DESC}" /> <label for="field_contact_desc">{L_FIELD_CONTACT_DESC}</label></dd>
|
||||
<dd><input class="text medium" type="text" name="field_contact_url" id="field_contact_url" value="{FIELD_CONTACT_URL}" /> <label for="field_contact_url">{L_FIELD_CONTACT_URL}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF S_EDIT_MODE -->
|
||||
|
@@ -19,11 +19,7 @@
|
||||
<dd><input type="text" id="email" name="email" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="email">{L_WEBSITE}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="website" name="website" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="joined">{L_JOINED}{L_COLON}</label><br /><span>{L_JOINED_EXPLAIN}</span></dt>
|
||||
<dt><label for="joined_after">{L_JOINED}{L_COLON}</label><br /><span>{L_JOINED_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<strong>{L_AFTER}</strong> <input type="text" id="joined_after" name="joined_after" />
|
||||
<br /> <br /> <strong>{L_BEFORE}</strong> <input type="text" id="joined_before" name="joined_before" />
|
||||
@@ -44,7 +40,7 @@
|
||||
<!-- IF S_GROUP_LIST -->
|
||||
<dl>
|
||||
<dt><label for="group_id">{L_GROUP}{L_COLON}</label><br /><span>{L_PRUNE_USERS_GROUP_EXPLAIN}</span></dt>
|
||||
<dd><select name="group_id">{S_GROUP_LIST}</select></dd>
|
||||
<dd><select id="group_id" name="group_id">{S_GROUP_LIST}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
@@ -1,52 +1,46 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_VERSION_CHECK -->
|
||||
|
||||
<h1>{L_VERSION_CHECK}</h1>
|
||||
<h1>{L_VERSION_CHECK}</h1>
|
||||
|
||||
<p>{L_VERSION_CHECK_EXPLAIN}</p>
|
||||
<p>{L_VERSION_CHECK_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_UP_TO_DATE and S_UP_TO_DATE_AUTO -->
|
||||
<div class="successbox">
|
||||
<p>{L_VERSION_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_UP_TO_DATE -->
|
||||
<div class="successbox">
|
||||
<p>{L_VERSION_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF NEXT_FEATURE_VERSION -->
|
||||
<div class="errorbox">
|
||||
<p>{UPGRADE_INSTRUCTIONS}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><strong><!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->{AUTO_VERSION}<!-- ELSE -->{CURRENT_VERSION}<!-- ENDIF --></strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{LATEST_VERSION}</strong></dd>
|
||||
<dd><strong>{CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- BEGIN updates_available -->
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{updates_available.current}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_RELEASE_ANNOUNCEMENT}</label></dt>
|
||||
<dd><strong><a href="{updates_available.announcement}">{updates_available.announcement}</a></strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<!-- END updates_available -->
|
||||
|
||||
<!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->
|
||||
{L_UPDATE_INSTRUCTIONS_INCOMPLETE}
|
||||
<br /><br />
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not S_UP_TO_DATE -->
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF not S_UP_TO_DATE -->
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
|
@@ -2,42 +2,10 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_PROFILE}</legend>
|
||||
<dl>
|
||||
<dt><label for="icq">{L_UCP_ICQ}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="icq" name="icq" value="{ICQ}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="aim">{L_UCP_AIM}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="aim" name="aim" value="{AIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="msn">{L_UCP_MSNM}{L_COLON}</label></dt>
|
||||
<dd><input type="email" id="msn" name="msn" value="{MSN}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="yim">{L_UCP_YIM}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="yim" name="yim" value="{YIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}{L_COLON}</label></dt>
|
||||
<dd><input type="email" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="website">{L_WEBSITE}{L_COLON}</label></dt>
|
||||
<dd><input type="url" id="website" name="website" value="{WEBSITE}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="location">{L_LOCATION}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="occupation">{L_OCCUPATION}{L_COLON}</label></dt>
|
||||
<dd><textarea id="occupation" name="occupation" rows="3" cols="30">{OCCUPATION}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="interests">{L_INTERESTS}{L_COLON}</label></dt>
|
||||
<dd><textarea id="interests" name="interests" rows="3" cols="30">{INTERESTS}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="birthday">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}{L_COLON} <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}{L_COLON} <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}{L_COLON} <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
|
@@ -87,7 +87,7 @@
|
||||
</div>
|
||||
<!-- EVENT acp_users_signature_editor_buttons_after -->
|
||||
|
||||
<dl>
|
||||
<dl class="responsive-columns">
|
||||
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{SIGNATURE}</textarea></dd>
|
||||
|
@@ -43,6 +43,10 @@ body {
|
||||
margin: 10px 15px;
|
||||
}
|
||||
|
||||
code, samp {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
@@ -571,12 +575,6 @@ li {
|
||||
padding: 3px 8px 3px 3px;
|
||||
}
|
||||
|
||||
#menu li span, #menu .header {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#menu li a:hover, #menu li a:hover span {
|
||||
text-decoration: none;
|
||||
background-color: #FFFFFF;
|
||||
@@ -1045,6 +1043,14 @@ table.styles td.users, table td.mark {
|
||||
table.responsive.styles td:first-child > dfn, table.responsive td.actions > dfn {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.horizontal-palette td:nth-child(2n), .vertical-palette tr:nth-child(2n) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.colour-palette a {
|
||||
display: inline-block !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* General form styles
|
||||
@@ -1353,6 +1359,10 @@ fieldset dt {
|
||||
border-left: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
fieldset #color_palette_placeholder {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
fieldset dd {
|
||||
margin: 0 0 0 45%;
|
||||
padding: 0 0 0 5px;
|
||||
@@ -1419,6 +1429,10 @@ input:focus, textarea:focus {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
fieldset .responsive-columns dt {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ltr fieldset dd {
|
||||
padding-left: 20px;
|
||||
}
|
||||
@@ -1556,7 +1570,7 @@ input.button1:focus, input.button2:focus, input.button3:focus {
|
||||
top: 150px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-width: 600px;
|
||||
width: 620px;
|
||||
margin: 0 auto;
|
||||
z-index: 50;
|
||||
padding: 25px;
|
||||
@@ -1626,7 +1640,7 @@ input.button1:focus, input.button2:focus, input.button3:focus {
|
||||
@media only screen and (max-width: 700px), only screen and (max-device-width: 700px)
|
||||
{
|
||||
.phpbb_alert {
|
||||
max-width: none;
|
||||
width: auto;
|
||||
margin: 0 25px;
|
||||
}
|
||||
}
|
||||
@@ -1860,7 +1874,6 @@ li.pagination ul {
|
||||
}*/
|
||||
|
||||
.clearfix, .row, #content, fieldset dl, #page-body {
|
||||
height: 1%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
@@ -1,32 +0,0 @@
|
||||
|
||||
<!-- BEGIN dropdown -->
|
||||
<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
|
||||
<!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
|
||||
</select>
|
||||
<!-- END dropdown -->
|
||||
|
||||
<!-- BEGIN text -->
|
||||
<textarea name="{text.FIELD_IDENT}" id="{text.FIELD_IDENT}" rows="{text.FIELD_ROWS}" cols="{text.FIELD_COLS}">{text.FIELD_VALUE}</textarea>
|
||||
<!-- END text -->
|
||||
|
||||
<!-- BEGIN string -->
|
||||
<input type="text" name="{string.FIELD_IDENT}" id="{string.FIELD_IDENT}" size="{string.FIELD_LENGTH}" maxlength="{string.FIELD_MAXLEN}" value="{string.FIELD_VALUE}" />
|
||||
<!-- END string -->
|
||||
|
||||
<!-- BEGIN bool -->
|
||||
<!-- IF bool.FIELD_LENGTH eq 1 -->
|
||||
<!-- BEGIN options --><label for="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}"><input type="radio" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label> <!-- END options -->
|
||||
<!-- ELSE -->
|
||||
<input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}" value="1"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
|
||||
<!-- ENDIF -->
|
||||
<!-- END bool -->
|
||||
|
||||
<!-- BEGIN int -->
|
||||
<input type="text" name="{int.FIELD_IDENT}" id="{int.FIELD_IDENT}" size="{int.FIELD_LENGTH}" value="{int.FIELD_VALUE}" />
|
||||
<!-- END int -->
|
||||
|
||||
<!-- BEGIN date -->
|
||||
<span>{L_DAY}{L_COLON}</span> <select name="{date.FIELD_IDENT}_day" id="{date.FIELD_IDENT}_day">{date.S_DAY_OPTIONS}</select>
|
||||
<span>{L_MONTH}{L_COLON}</span> <select name="{date.FIELD_IDENT}_month" id="{date.FIELD_IDENT}_month">{date.S_MONTH_OPTIONS}</select>
|
||||
<span>{L_YEAR}{L_COLON}</span> <select name="{date.FIELD_IDENT}_year" id="{date.FIELD_IDENT}_year">{date.S_YEAR_OPTIONS}</select>
|
||||
<!-- END date -->
|
@@ -11,7 +11,7 @@
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
|
||||
var on_page = '{ON_PAGE}';
|
||||
var on_page = '{CURRENT_PAGE}';
|
||||
var per_page = '{PER_PAGE}';
|
||||
var base_url = '{BASE_URL|e('js')}';
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> •
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> •
|
||||
<ul>
|
||||
<!-- BEGIN pagination -->
|
||||
<!-- IF pagination.S_IS_PREV --><li><a href="{pagination.PAGE_URL}">{L_PREVIOUS}</a></li>
|
||||
|
7
phpBB/adm/style/profilefields/bool.html
Normal file
7
phpBB/adm/style/profilefields/bool.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<!-- BEGIN bool -->
|
||||
<!-- IF bool.FIELD_LENGTH eq 1 -->
|
||||
<!-- BEGIN options --><label for="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}"><input type="radio" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}_{bool.options.OPTION_ID}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label> <!-- END options -->
|
||||
<!-- ELSE -->
|
||||
<input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" id="{bool.FIELD_IDENT}"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
|
||||
<!-- ENDIF -->
|
||||
<!-- END bool -->
|
5
phpBB/adm/style/profilefields/date.html
Normal file
5
phpBB/adm/style/profilefields/date.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- BEGIN date -->
|
||||
<label for="{date.FIELD_IDENT}_day">{L_DAY}{L_COLON} <select name="{date.FIELD_IDENT}_day" id="{date.FIELD_IDENT}_day">{date.S_DAY_OPTIONS}</select></label>
|
||||
<label for="{date.FIELD_IDENT}_month">{L_MONTH}{L_COLON} <select name="{date.FIELD_IDENT}_month" id="{date.FIELD_IDENT}_month">{date.S_MONTH_OPTIONS}</select></label>
|
||||
<label for="{date.FIELD_IDENT}_year">{L_YEAR}{L_COLON} <select name="{date.FIELD_IDENT}_year" id="{date.FIELD_IDENT}_year">{date.S_YEAR_OPTIONS}</select></label>
|
||||
<!-- END date -->
|
5
phpBB/adm/style/profilefields/dropdown.html
Normal file
5
phpBB/adm/style/profilefields/dropdown.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- BEGIN dropdown -->
|
||||
<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
|
||||
<!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
|
||||
</select>
|
||||
<!-- END dropdown -->
|
3
phpBB/adm/style/profilefields/int.html
Normal file
3
phpBB/adm/style/profilefields/int.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!-- BEGIN int -->
|
||||
<input type="number" min="{int.FIELD_MINLEN}" max="{int.FIELD_MAXLEN}" class="autowidth" name="{int.FIELD_IDENT}" id="{int.FIELD_IDENT}" size="{int.FIELD_LENGTH}" value="{int.FIELD_VALUE}" />
|
||||
<!-- END int -->
|
3
phpBB/adm/style/profilefields/string.html
Normal file
3
phpBB/adm/style/profilefields/string.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!-- BEGIN string -->
|
||||
<input type="text" class="autowidth" name="{string.FIELD_IDENT}" id="{string.FIELD_IDENT}" size="{string.FIELD_LENGTH}" maxlength="{string.FIELD_MAXLEN}" value="{string.FIELD_VALUE}" />
|
||||
<!-- END string -->
|
3
phpBB/adm/style/profilefields/text.html
Normal file
3
phpBB/adm/style/profilefields/text.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!-- BEGIN text -->
|
||||
<textarea name="{text.FIELD_IDENT}" id="{text.FIELD_IDENT}" rows="{text.FIELD_ROWS}" cols="{text.FIELD_COLS}">{text.FIELD_VALUE}</textarea>
|
||||
<!-- END text -->
|
3
phpBB/adm/style/profilefields/url.html
Normal file
3
phpBB/adm/style/profilefields/url.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!-- BEGIN url -->
|
||||
<input type="url" class="inputbox autowidth" name="{url.FIELD_IDENT}" id="{url.FIELD_IDENT}" size="{url.FIELD_LENGTH}" maxlength="{url.FIELD_MAXLEN}" value="{url.FIELD_VALUE}" />
|
||||
<!-- END url -->
|
@@ -10,7 +10,7 @@
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
|
||||
var on_page = '{ON_PAGE}';
|
||||
var on_page = '{CURRENT_PAGE}';
|
||||
var per_page = '{PER_PAGE}';
|
||||
var base_url = '{BASE_URL|e('js')}';
|
||||
|
||||
|
@@ -994,7 +994,8 @@ phpbb.colorPalette = function(dir, width, height) {
|
||||
numberList[3] = 'BF';
|
||||
numberList[4] = 'FF';
|
||||
|
||||
html += '<table style="width: auto;">';
|
||||
var table_class = (dir == 'h') ? 'horizontal-palette' : 'vertical-palette';
|
||||
html += '<table class="not-responsive colour-palette ' + table_class + '" style="width: auto;">';
|
||||
|
||||
for (r = 0; r < 5; r++) {
|
||||
if (dir == 'h') {
|
||||
|
@@ -288,7 +288,7 @@ function mozWrap(txtarea, open, close) {
|
||||
* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
|
||||
*/
|
||||
function storeCaret(textEl) {
|
||||
if (textEl.createTextRange) {
|
||||
if (textEl.createTextRange && document.selection) {
|
||||
textEl.caretPos = document.selection.createRange().duplicate();
|
||||
}
|
||||
}
|
||||
|
@@ -162,7 +162,7 @@ phpbb.plupload.insertRow = function(file) {
|
||||
var row = $(phpbb.plupload.rowTpl);
|
||||
|
||||
row.attr('id', file.id);
|
||||
row.find('.file-name').html(file.name);
|
||||
row.find('.file-name').html(plupload.xmlEncode(file.name));
|
||||
row.find('.file-size').html(plupload.formatSize(file.size));
|
||||
|
||||
if (phpbb.plupload.order == 'desc') {
|
||||
@@ -230,6 +230,9 @@ phpbb.plupload.updateHiddenData = function(row, attach, index) {
|
||||
phpbb.plupload.deleteFile = function(row, attachId) {
|
||||
// If there's no attach id, then the file hasn't been uploaded. Simply delete the row.
|
||||
if (typeof attachId === 'undefined') {
|
||||
var file = uploader.getFile(row.attr('id'));
|
||||
uploader.removeFile(file);
|
||||
|
||||
row.slideUp(100, function() {
|
||||
row.remove();
|
||||
phpbb.plupload.hideEmptyList();
|
||||
@@ -496,6 +499,8 @@ $('#file-list').on('click', '.file-error', function(e) {
|
||||
* Fires when an error occurs.
|
||||
*/
|
||||
uploader.bind('Error', function(up, error) {
|
||||
error.file.name = plupload.xmlEncode(error.file.name);
|
||||
|
||||
// The error message that Plupload provides for these is vague, so we'll be more specific.
|
||||
if (error.code === plupload.FILE_EXTENSION_ERROR) {
|
||||
error.message = plupload.translate('Invalid file extension:') + ' ' + error.file.name;
|
||||
|
@@ -5,6 +5,7 @@ services:
|
||||
- @config
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
feed.factory:
|
||||
class: phpbb\feed\factory
|
||||
|
@@ -10,6 +10,10 @@ services:
|
||||
- %core.php_ext%
|
||||
- %core.table_prefix%
|
||||
- @migrator.tool_collection
|
||||
- @migrator.helper
|
||||
|
||||
migrator.helper:
|
||||
class: phpbb\db\migration\helper
|
||||
|
||||
migrator.tool_collection:
|
||||
class: phpbb\di\service_collection
|
||||
|
@@ -80,3 +80,12 @@ services:
|
||||
- @user
|
||||
tags:
|
||||
- { name: profilefield.type }
|
||||
|
||||
profilefields.type.url:
|
||||
class: phpbb\profilefields\type\type_url
|
||||
arguments:
|
||||
- @request
|
||||
- @template
|
||||
- @user
|
||||
tags:
|
||||
- { name: profilefield.type }
|
||||
|
@@ -94,6 +94,7 @@ services:
|
||||
- @template
|
||||
- @user
|
||||
- @config
|
||||
- @controller.provider
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
@@ -104,6 +105,13 @@ services:
|
||||
- @service_container
|
||||
- @template
|
||||
|
||||
controller.provider:
|
||||
class: phpbb\controller\provider
|
||||
arguments:
|
||||
- @ext.finder
|
||||
calls:
|
||||
- [find, [%core.root_path%]]
|
||||
|
||||
cron.task_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
@@ -262,6 +270,7 @@ services:
|
||||
arguments:
|
||||
- @template
|
||||
- @user
|
||||
- @controller.helper
|
||||
|
||||
path_helper:
|
||||
class: phpbb\path_helper
|
||||
@@ -315,3 +324,11 @@ services:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.users%
|
||||
|
||||
version_helper:
|
||||
class: phpbb\version_helper
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @cache
|
||||
- @config
|
||||
- @user
|
||||
|
@@ -366,18 +366,10 @@ function make_user($username)
|
||||
|
||||
$password = md5("benchpass");
|
||||
$email = "nobody@localhost";
|
||||
$icq = "12345678";
|
||||
$website = "http://www.phpbb.com";
|
||||
$occupation = "phpBB tester";
|
||||
$location = "phpBB world hq";
|
||||
$interests = "Eating, sleeping, living, and breathing phpBB";
|
||||
$signature = "$username: phpBB tester.";
|
||||
$signature_bbcode_uid = "";
|
||||
$avatar_filename = "";
|
||||
$viewemail = 0;
|
||||
$aim = 0;
|
||||
$yim = 0;
|
||||
$msn = 0;
|
||||
$attachsig = 1;
|
||||
$allowsmilies = 1;
|
||||
$allowhtml = 1;
|
||||
@@ -422,8 +414,8 @@ function make_user($username)
|
||||
}
|
||||
|
||||
|
||||
$sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmilies, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey)
|
||||
VALUES ($new_user_id, '$username', " . time() . ", '$password', '$email', '$icq', '$website', '$occupation', '$location', '$interests', '$signature', '$signature_bbcode_uid', '$avatar_filename', $viewemail, '$aim', '$yim', '$msn', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $user_timezone, '$user_dateformat', '$user_lang', $user_style, 0, 1, ";
|
||||
$sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_password, user_email, user_sig, user_sig_bbcode_uid, user_avatar, user_viewemail, user_attachsig, user_allowsmilies, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey)
|
||||
VALUES ($new_user_id, '$username', " . time() . ", '$password', '$email', '$signature', '$signature_bbcode_uid', '$avatar_filename', $viewemail, $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $user_timezone, '$user_dateformat', '$user_lang', $user_style, 0, 1, ";
|
||||
|
||||
|
||||
$sql .= "1, '')";
|
||||
|
@@ -54,7 +54,7 @@ function export_from_eventsmd($phpbb_root_path, $filter)
|
||||
{
|
||||
$file_details = substr($file_details, strlen("* Locations:\n + "));
|
||||
$files = explode("\n + ", $file_details);
|
||||
$prosilver = $subsilver2 = array();
|
||||
$prosilver = $subsilver2 = $adm = array();
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if (strpos($file, 'styles/prosilver/template/') === 0)
|
||||
@@ -65,8 +65,19 @@ function export_from_eventsmd($phpbb_root_path, $filter)
|
||||
{
|
||||
$subsilver2[] = substr($file, strlen('styles/subsilver2/template/'));
|
||||
}
|
||||
if (strpos($file, 'adm/style/') === 0)
|
||||
{
|
||||
$adm[] = substr($file, strlen('adm/style/'));
|
||||
}
|
||||
}
|
||||
if ($filter == 'acp')
|
||||
{
|
||||
echo implode(', ', $adm);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo implode(', ', $prosilver) . ' || ' . implode(', ', $subsilver2);
|
||||
}
|
||||
echo implode(', ', $prosilver) . ' || ' . implode(', ', $subsilver2);
|
||||
}
|
||||
else if ($filter == 'acp')
|
||||
{
|
||||
@@ -110,26 +121,39 @@ function check_for_events($phpbb_root_path, $file)
|
||||
for ($i = 0, $num_lines = sizeof($lines); $i < $num_lines; $i++)
|
||||
{
|
||||
$event_line = 0;
|
||||
if ($found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->trigger_event('"))
|
||||
$found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->trigger_event('");
|
||||
if ($found_trigger_event !== false)
|
||||
{
|
||||
$event_line = $i;
|
||||
$event_name = $lines[$event_line];
|
||||
$event_name = substr($event_name, $found_trigger_event + strlen("phpbb_dispatcher->trigger_event('"));
|
||||
$event_name = substr($event_name, 0, strpos($event_name, "'"));
|
||||
|
||||
// Find $vars array lines
|
||||
$find_varsarray_line = 1;
|
||||
while (strpos($lines[$event_line - $find_varsarray_line], "vars = array('") === false)
|
||||
$current_line = trim($lines[$event_line]);
|
||||
$arguments = array();
|
||||
$found_inline_array = strpos($current_line, "', compact(array('");
|
||||
if ($found_inline_array !== false)
|
||||
{
|
||||
$find_varsarray_line++;
|
||||
|
||||
if ($find_varsarray_line > min(50, $event_line))
|
||||
{
|
||||
throw new LogicException('Can not find "$vars = array()"-line for event "' . $event_name . '" in file "' . $file . '"');
|
||||
}
|
||||
$varsarray = substr($current_line, $found_inline_array + strlen("', compact(array('"), -6);
|
||||
$arguments = explode("', '", $varsarray);
|
||||
}
|
||||
|
||||
if (empty($arguments))
|
||||
{
|
||||
// Find $vars array lines
|
||||
$find_varsarray_line = 1;
|
||||
while (strpos($lines[$event_line - $find_varsarray_line], "vars = array('") === false)
|
||||
{
|
||||
$find_varsarray_line++;
|
||||
|
||||
if ($find_varsarray_line > min(50, $event_line))
|
||||
{
|
||||
throw new LogicException('Can not find "$vars = array()"-line for event "' . $event_name . '" in file "' . $file . '"');
|
||||
}
|
||||
}
|
||||
$varsarray = substr(trim($lines[$event_line - $find_varsarray_line]), strlen("\$vars = array('"), -3);
|
||||
$arguments = explode("', '", $varsarray);
|
||||
}
|
||||
$varsarray = substr(trim($lines[$event_line - $find_varsarray_line]), strlen("\$vars = array('"), -3);
|
||||
$arguments = explode("', '", $varsarray);
|
||||
|
||||
// Validate $vars array with @var
|
||||
$find_vars_line = 3;
|
||||
@@ -153,11 +177,12 @@ function check_for_events($phpbb_root_path, $file)
|
||||
throw new LogicException('$vars array does not match the list of @var tags for event "' . $event_name . '" in file "' . $file . '"');
|
||||
}
|
||||
}
|
||||
else if ($found_trigger_event = strpos($lines[$i], "phpbb_dispatcher->dispatch('"))
|
||||
$found_dispatch = strpos($lines[$i], "phpbb_dispatcher->dispatch('");
|
||||
if ($found_dispatch !== false)
|
||||
{
|
||||
$event_line = $i;
|
||||
$event_name = $lines[$event_line];
|
||||
$event_name = substr($event_name, $found_trigger_event + strlen("phpbb_dispatcher->dispatch('"));
|
||||
$event_name = substr($event_name, $found_dispatch + strlen("phpbb_dispatcher->dispatch('"));
|
||||
$event_name = substr($event_name, 0, strpos($event_name, "'"));
|
||||
$arguments = array();
|
||||
}
|
||||
@@ -267,7 +292,7 @@ function get_file_list($dir, $path = '')
|
||||
$files[] = $file_info->getFilename() . '/' . $file;
|
||||
}
|
||||
}
|
||||
else if ($file_info->getExtension() == 'php')
|
||||
else if (substr($file_info->getFilename(), -4) == '.php')
|
||||
{
|
||||
$files[] = $file_info->getFilename();
|
||||
}
|
||||
|
@@ -46,6 +46,7 @@
|
||||
<ol>
|
||||
<li><a href="#changelog">Changelog</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#v310a3">Changes since 3.1.0-a3</a></li>
|
||||
<li><a href="#v310a2">Changes since 3.1.0-a2</a></li>
|
||||
<li><a href="#v310a1">Changes since 3.1.0-a1</a></li>
|
||||
<li><a href="#v30x">Changes since 3.0.x</a></li>
|
||||
@@ -89,7 +90,154 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<a name="v310a2"></a><h3>1.i. Changes since 3.1.0-a2</h3>
|
||||
<a name="v310a3"></a><h3>1.i. Changes since 3.1.0-a3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8041">PHPBB3-8041</a>] - Do not concatenate the destination to L_RETURN_TO to allow better translations</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8122">PHPBB3-8122</a>] - Reviewing topics/posts - not correctly displayed</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8785">PHPBB3-8785</a>] - PM recipients/bcc list looks bad</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8919">PHPBB3-8919</a>] - Localisation imageset being refreshed too frequently causing broken images</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9106">PHPBB3-9106</a>] - Upload fails to complete for large files.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9420">PHPBB3-9420</a>] - BBCode - Unable to use a proper URI token</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9459">PHPBB3-9459</a>] - Visiting ACP with screen resolution 800x600px</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10175">PHPBB3-10175</a>] - Class loader cannot find a/b_foo.php when a/b/bar.php exists</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10338">PHPBB3-10338</a>] - Attachments list is displayed incorrectly</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10722">PHPBB3-10722</a>] - Code Coverage generation fails</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11038">PHPBB3-11038</a>] - Does not correctly find module info classes using new naming conventions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11146">PHPBB3-11146</a>] - MCP topic/post approval error</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11151">PHPBB3-11151</a>] - Can use negative start for memberlist.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11218">PHPBB3-11218</a>] - File upload functional test fails</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11255">PHPBB3-11255</a>] - Some tests do not run standalone due to dbal dependency on global $cache</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11271">PHPBB3-11271</a>] - Images in ATOM feed display, but attached inline images do not.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11288">PHPBB3-11288</a>] - "Fulltext native" search fooled by hyphens</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11364">PHPBB3-11364</a>] - Add an easy-to-switch system for app.php?controller= vs mod-rewrite usage in append_sid</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11429">PHPBB3-11429</a>] - Extensions should increment assets number on enable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11581">PHPBB3-11581</a>] - General Error in UCP if PMs are disabled in ACP</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11625">PHPBB3-11625</a>] - General Error accessing MCP from Global Announcement</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11648">PHPBB3-11648</a>] - Test suite creates files in phpBB directory</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11787">PHPBB3-11787</a>] - Permission language strings use samp for highlight instead of strong</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11880">PHPBB3-11880</a>] - Schema changes can take too long and cause a timeout</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11938">PHPBB3-11938</a>] - Use of deprecated sql_attr_str2ordinal in sphinx.conf</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12003">PHPBB3-12003</a>] - ACP broken when error thrown</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12072">PHPBB3-12072</a>] - Missing word "send" in comment in schema_data.sql</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12078">PHPBB3-12078</a>] - "Can permanently delete own posts" permission has no effect</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12080">PHPBB3-12080</a>] - Responsive design in ACP / User Administration / Signature needs fixing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12093">PHPBB3-12093</a>] - IE 11 javascript selection is no longer supported</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12126">PHPBB3-12126</a>] - Alert box is aligned to the left instead of center in IE</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12132">PHPBB3-12132</a>] - viewtopic_print_head_append template event is missing in subsilver2</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12134">PHPBB3-12134</a>] - ucp_pm_viewmessage_print_head_append template event is missing in subsilver2</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12136">PHPBB3-12136</a>] - Call to undefined function generate_pagination() in functions_posting.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12138">PHPBB3-12138</a>] - Information and pagination of filtered attachments</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12139">PHPBB3-12139</a>] - Spaces missing after $show_guests in viewonline.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12141">PHPBB3-12141</a>] - Travis tests fail on 5.5</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12149">PHPBB3-12149</a>] - Division by zero in [ROOT] -/phpbb/pagination.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12153">PHPBB3-12153</a>] - PAGE_NUMBER should be assigned by pagination.generate_template_pagination()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12158">PHPBB3-12158</a>] - pagination.validate_start() returns negative value when $num_items = 0</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12168">PHPBB3-12168</a>] - Nav Header Links Alignment Issues without small-icon</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12170">PHPBB3-12170</a>] - Migration helper replaces table name with 0 when creating tables</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12171">PHPBB3-12171</a>] - Attachments from soft-deleted posts are still downloadable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12172">PHPBB3-12172</a>] - "Download all attachments" feature leaks post/pm attachments when being able to download one of them</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12175">PHPBB3-12175</a>] - Fix and run functional upload tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12176">PHPBB3-12176</a>] - No error shown when attempting to delete a founder</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12183">PHPBB3-12183</a>] - Update user_newpasswd column in users table for passwords manager</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12184">PHPBB3-12184</a>] - Undefined variable tpl_fields in profile field manager on memberlist</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12188">PHPBB3-12188</a>] - Add php 5.6 to travis tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12192">PHPBB3-12192</a>] - Avatars in PM report closed notifications are broken</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12194">PHPBB3-12194</a>] - Unknown column 'field_show_novalue' in 'field list' [1054] -</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12200">PHPBB3-12200</a>] - Profile field template files missing in adm/style</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12202">PHPBB3-12202</a>] - Variables read from style.cfg etc. should be htmlspecialchared</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12203">PHPBB3-12203</a>] - user_occ does not have a default value when registering</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12205">PHPBB3-12205</a>] - Custom Profile Field display bug</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12206">PHPBB3-12206</a>] - Errors in plupload doesn't pull lang vars right</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12207">PHPBB3-12207</a>] - prosilver layout breaks when error outputted before <html></li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12208">PHPBB3-12208</a>] - Plupload uploads files even if they were deleted from queue</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12210">PHPBB3-12210</a>] - dbtools::sql_create_table incorrectly throws error related to auto-increment length on non auto-increment fields</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12212">PHPBB3-12212</a>] - HTML in attachment file name rendered before upload</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12216">PHPBB3-12216</a>] - Undefined index: lang_options when creating date profile field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12220">PHPBB3-12220</a>] - Debug message if no unread messages are present</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12222">PHPBB3-12222</a>] - Replace hardoded comma with translatable separator in forumlist_body.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12223">PHPBB3-12223</a>] - Pagination displayes additional &bull; when PAGE_NUMBER is empty</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12226">PHPBB3-12226</a>] - Incorrectly used plurals in ucp.php MOVE_PM_ERROR and FOLDER_MESSAGE_STATUS</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12227">PHPBB3-12227</a>] - "X from Y messages" should be "X out of Y messages"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12243">PHPBB3-12243</a>] - subsilver2 is missing profile field files</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12245">PHPBB3-12245</a>] - "Invalid id refernce" for label "joined" and "group_id" in acp_prune_users.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12249">PHPBB3-12249</a>] - Undefined variable: row when editing profile</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12250">PHPBB3-12250</a>] - Remove deprecated phpbb_clean_path function</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12251">PHPBB3-12251</a>] - Clean up and Enhancement of Custom Profile Fields</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12256">PHPBB3-12256</a>] - phpbb\notification\type\admin_activate_user uses $sql as fetchrow parameter</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12261">PHPBB3-12261</a>] - Login redirect from extension front controllers broken</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12263">PHPBB3-12263</a>] - \phpbb\db\migration\tool\module.php contains several errors</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12267">PHPBB3-12267</a>] - Functional testcase method get_extension_manager() uses undefined variable php_ext</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12271">PHPBB3-12271</a>] - Decouple dropdown header/footer from #notification_list</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12272">PHPBB3-12272</a>] - Hardcoded colon in subforums list</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9255">PHPBB3-9255</a>] - Friends Sidebar has scability issues..</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9479">PHPBB3-9479</a>] - Empty paragraphs for vertical spacing are rather old-fashioned</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9709">PHPBB3-9709</a>] - Missing language files for MCP could be substituted by default / english ones</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9871">PHPBB3-9871</a>] - Update version check file to use json format</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10288">PHPBB3-10288</a>] - Templates including other templates in loop can't access variables</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10549">PHPBB3-10549</a>] - Languages variables should be used, not hardcoded</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10555">PHPBB3-10555</a>] - Copyright notice in overall_header.html is not translatable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10945">PHPBB3-10945</a>] - Show entered search query in the search box when no results are found.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11019">PHPBB3-11019</a>] - Ability to store array of data in a log</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11022">PHPBB3-11022</a>] - Add "Tahoma" to used font families in css files</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11040">PHPBB3-11040</a>] - PostgreSQL fulltext search improvement</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11111">PHPBB3-11111</a>] - Allow only vertical resize on the textarea.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11179">PHPBB3-11179</a>] - change the start parameter in search when out of bounds to display last(or first) page</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11201">PHPBB3-11201</a>] - MSNM / WLM closing - redundant profile field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11254">PHPBB3-11254</a>] - Check CRLF line endings in the test suite</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11297">PHPBB3-11297</a>] - Running tests doc should mention dbunit dependency</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11610">PHPBB3-11610</a>] - Use a more secure hashing method like bcrypt</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11645">PHPBB3-11645</a>] - Rename ".MODs" tab in the ACP</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11693">PHPBB3-11693</a>] - Change phpbb_db_driver::sql_build_array() to support DELETE</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11716">PHPBB3-11716</a>] - Migration to convert soft delete/trash bin mods to 3.1 soft delete</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12029">PHPBB3-12029</a>] - Module names in the ACP should not be truncated when they are too long</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12073">PHPBB3-12073</a>] - Small text size in ACP between <samp></samp> and <code></code> tags</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12106">PHPBB3-12106</a>] - Document exceptions to "Disable Board" in ACP.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12114">PHPBB3-12114</a>] - Convert current profile fields to custom-profile-field system</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12117">PHPBB3-12117</a>] - Nested Set Tree Classes Should be able to get all roots</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12166">PHPBB3-12166</a>] - Add template event "quickreply_editor_message_box_before"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12167">PHPBB3-12167</a>] - Allow users to change style via style parameter by default</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12190">PHPBB3-12190</a>] - Add core event "core.modify_submit_post_data"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12217">PHPBB3-12217</a>] - Add template events to viewtopic_body.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12224">PHPBB3-12224</a>] - Add template method to assign block arrays</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12231">PHPBB3-12231</a>] - Add template events to forumlist_body.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12238">PHPBB3-12238</a>] - There is no cancel input type.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12239">PHPBB3-12239</a>] - Move deprecated password functions to compatibility file</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12240">PHPBB3-12240</a>] - Adding specific class names to buttons in posting_buttons.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12241">PHPBB3-12241</a>] - Event to add and/or modify acp_board configurations</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12244">PHPBB3-12244</a>] - Remove ambiguity between Extension Tab and Extensions Management links</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12248">PHPBB3-12248</a>] - Extension Details Homepage should be a clickable link</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12259">PHPBB3-12259</a>] - Too many redundant tests are run on Travis</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12260">PHPBB3-12260</a>] - Add core event to delete_posts() function</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12262">PHPBB3-12262</a>] - Adjust a script to export the events in wiki format</li>
|
||||
</ul>
|
||||
<h4>Sub-task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12115">PHPBB3-12115</a>] - Convert occupation/interests profile field to custom field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12169">PHPBB3-12169</a>] - Convert location user field to profile field </li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12187">PHPBB3-12187</a>] - Convert website user field to profile field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12233">PHPBB3-12233</a>] - Allowing CPF to be have an icon on viewtopic and be listed in the contact section of the profile</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12234">PHPBB3-12234</a>] - Convert ICQ user field to profile field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12235">PHPBB3-12235</a>] - Convert MSN/WLM user field to profile field </li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12236">PHPBB3-12236</a>] - Convert AOL user field to profile field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12237">PHPBB3-12237</a>] - Convert Yahoo user field to profile field</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10763">PHPBB3-10763</a>] - Audit code for non-static functions called statically</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10793">PHPBB3-10793</a>] - Use db_tools in create_schema_files</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11509">PHPBB3-11509</a>] - Travis should check commit message format</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11764">PHPBB3-11764</a>] - Remove Subsilver2 from installation packages</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12177">PHPBB3-12177</a>] - Add event ucp_zebra_friend_list_before/after</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12180">PHPBB3-12180</a>] - CodeSniffer: Ensure each file ends with a single newline</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310a2"></a><h3>1.ii. Changes since 3.1.0-a2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -197,7 +345,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310a1"></a><h3>1.ii. Changes since 3.1.0-a1</h3>
|
||||
<a name="v310a1"></a><h3>1.iii. Changes since 3.1.0-a1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -273,7 +421,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11998">PHPBB3-11998</a>] - Add console / command line client environment </li>
|
||||
</ul>
|
||||
|
||||
<a name="v30x"></a><h3>1.iii. Changes since 3.0.x</h3>
|
||||
<a name="v30x"></a><h3>1.iv. Changes since 3.0.x</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -954,7 +1102,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11913">PHPBB3-11913</a>] - Apply reorganisation of download.phpbb.com to build_announcement.php</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3011"></a><h3>1.iv. Changes since 3.0.11</h3>
|
||||
<a name="v3011"></a><h3>1.v. Changes since 3.0.11</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1109,7 +1257,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11753">PHPBB3-11753</a>] - Upgrade mysql_upgrader.php schema data.</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3010"></a><h3>1.v. Changes since 3.0.10</h3>
|
||||
<a name="v3010"></a><h3>1.vi. Changes since 3.0.10</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1234,7 +1382,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
|
||||
</ul>
|
||||
|
||||
<a name="v309"></a><h3>1.vi. Changes since 3.0.9</h3>
|
||||
<a name="v309"></a><h3>1.vii. Changes since 3.0.9</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1370,7 +1518,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
|
||||
</ul>
|
||||
|
||||
<a name="v308"></a><h3>1.vii. Changes since 3.0.8</h3>
|
||||
<a name="v308"></a><h3>1.viii. Changes since 3.0.8</h3>
|
||||
|
||||
<h4> Bug
|
||||
</h4>
|
||||
@@ -1738,7 +1886,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307-PL1"></a><h3>1.viii. Changes since 3.0.7-PL1</h3>
|
||||
<a name="v307-PL1"></a><h3>1.ix. Changes since 3.0.7-PL1</h3>
|
||||
<h4> Security
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -2196,13 +2344,13 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307"></a><h3>1.ix. Changes since 3.0.7</h3>
|
||||
<a name="v307"></a><h3>1.x. Changes since 3.0.7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v306"></a><h3>1.x. Changes since 3.0.6</h3>
|
||||
<a name="v306"></a><h3>1.xi. Changes since 3.0.6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)</li>
|
||||
@@ -2306,7 +2454,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v305"></a><h3>1.xi. Changes since 3.0.5</h3>
|
||||
<a name="v305"></a><h3>1.xii. Changes since 3.0.5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
|
||||
@@ -2528,7 +2676,7 @@
|
||||
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
|
||||
</ul>
|
||||
|
||||
<a name="v304"></a><h3>1.xii. Changes since 3.0.4</h3>
|
||||
<a name="v304"></a><h3>1.xiii. Changes since 3.0.4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)</li>
|
||||
@@ -2617,7 +2765,7 @@
|
||||
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v303"></a><h3>1.xiii. Changes since 3.0.3</h3>
|
||||
<a name="v303"></a><h3>1.xiv. Changes since 3.0.3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
|
||||
@@ -2649,7 +2797,7 @@
|
||||
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v302"></a><h3>1.xiv. Changes since 3.0.2</h3>
|
||||
<a name="v302"></a><h3>1.xv. Changes since 3.0.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)</li>
|
||||
@@ -2748,7 +2896,7 @@
|
||||
<li>[Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v301"></a><h3>1.xv. Changes since 3.0.1</h3>
|
||||
<a name="v301"></a><h3>1.xvi. Changes since 3.0.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
|
||||
@@ -2796,7 +2944,7 @@
|
||||
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v300"></a><h3>1.xvi. Changes since 3.0.0</h3>
|
||||
<a name="v300"></a><h3>1.xvii. Changes since 3.0.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Change] Validate birthdays (Bug #15004)</li>
|
||||
@@ -2867,7 +3015,7 @@
|
||||
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc8"></a><h3>1.xvii. Changes since 3.0.RC8</h3>
|
||||
<a name="v30rc8"></a><h3>1.xviii. Changes since 3.0.RC8</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)</li>
|
||||
@@ -2876,7 +3024,7 @@
|
||||
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc7"></a><h3>1.xviii. Changes since 3.0.RC7</h3>
|
||||
<a name="v30rc7"></a><h3>1.xix. Changes since 3.0.RC7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixed MSSQL related bug in the update system</li>
|
||||
@@ -2911,7 +3059,7 @@
|
||||
<li>[Fix] No duplication of active topics (Bug #15474)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc6"></a><h3>1.xix. Changes since 3.0.RC6</h3>
|
||||
<a name="v30rc6"></a><h3>1.xx. Changes since 3.0.RC6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
|
||||
@@ -2921,7 +3069,7 @@
|
||||
<li>[Fix] Able to request new password (Bug #14743)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc5"></a><h3>1.xx. Changes since 3.0.RC5</h3>
|
||||
<a name="v30rc5"></a><h3>1.xxi. Changes since 3.0.RC5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
|
||||
@@ -2984,7 +3132,7 @@
|
||||
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc4"></a><h3>1.xxi. Changes since 3.0.RC4</h3>
|
||||
<a name="v30rc4"></a><h3>1.xxii. Changes since 3.0.RC4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
|
||||
@@ -3035,7 +3183,7 @@
|
||||
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc3"></a><h3>1.xxii. Changes since 3.0.RC3</h3>
|
||||
<a name="v30rc3"></a><h3>1.xxiii. Changes since 3.0.RC3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
|
||||
@@ -3144,7 +3292,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc2"></a><h3>1.xxiii. Changes since 3.0.RC2</h3>
|
||||
<a name="v30rc2"></a><h3>1.xxiv. Changes since 3.0.RC2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Re-allow searching within the memberlist</li>
|
||||
@@ -3190,7 +3338,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc1"></a><h3>1.xxiv. Changes since 3.0.RC1</h3>
|
||||
<a name="v30rc1"></a><h3>1.xxv. Changes since 3.0.RC1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>
|
||||
|
@@ -78,6 +78,22 @@ acp_users_signature_editor_buttons_before
|
||||
* Since: 3.1.0-a3
|
||||
* Purpose: Add content before BBCode posting buttons in the ACP user signature
|
||||
|
||||
forumlist_body_category_header_after
|
||||
====
|
||||
* Locations:
|
||||
+ styles/prosilver/template/forumlist_body.html
|
||||
+ styles/subsilver2/template/forumlist_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content after the header of the category on the forum list.
|
||||
|
||||
forumlist_body_category_header_before
|
||||
====
|
||||
* Locations:
|
||||
+ styles/prosilver/template/forumlist_body.html
|
||||
+ styles/subsilver2/template/forumlist_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content before the header of the category on the forum list.
|
||||
|
||||
forumlist_body_last_post_title_prepend
|
||||
====
|
||||
* Locations:
|
||||
@@ -86,6 +102,22 @@ forumlist_body_last_post_title_prepend
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add content before the post title of the latest post in a forum on the forum list.
|
||||
|
||||
forumlist_body_subforums_after
|
||||
====
|
||||
* Locations:
|
||||
+ styles/prosilver/template/forumlist_body.html
|
||||
+ styles/subsilver2/template/forumlist_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content after the list of subforums (if any) for each forum on the forum list.
|
||||
|
||||
forumlist_body_subforums_before
|
||||
====
|
||||
* Locations:
|
||||
+ styles/prosilver/template/forumlist_body.html
|
||||
+ styles/subsilver2/template/forumlist_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content before the list of subforums (if any) for each forum on the forum list.
|
||||
|
||||
index_body_linklist_after
|
||||
===
|
||||
* Locations:
|
||||
@@ -279,6 +311,22 @@ posting_editor_subject_before
|
||||
* Since: 3.1.0-a2
|
||||
* Purpose: Add field (e.g. textbox) to the posting screen before the subject
|
||||
|
||||
quickreply_editor_message_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/quickreply_editor.html
|
||||
+ styles/subsilver2/template/quickreply_editor.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content after the quick reply textbox
|
||||
|
||||
quickreply_editor_message_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/quickreply_editor.html
|
||||
+ styles/subsilver2/template/quickreply_editor.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add content before the quick reply textbox
|
||||
|
||||
simple_footer_after
|
||||
===
|
||||
* Locations:
|
||||
@@ -326,6 +374,7 @@ ucp_pm_viewmessage_print_head_append
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/ucp_pm_viewmessage_print.html
|
||||
+ styles/subsilver2/template/ucp_pm_viewmessage_print.html
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add asset calls directly before the `</head>` tag of the Print PM screen
|
||||
|
||||
@@ -397,10 +446,27 @@ ucp_prefs_view_select_menu_append
|
||||
* Purpose: Add options to the bottom of the drop-down lists block of the Edit
|
||||
Display Options screen
|
||||
|
||||
ucp_friend_list_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/ucp_zebra_friends.html
|
||||
+ styles/subsilver2/template/ucp_zebra_friends.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add optional elements before list of friends in UCP
|
||||
|
||||
ucp_friend_list_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/ucp_zebra_friends.html
|
||||
+ styles/subsilver2/template/ucp_zebra_friends.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add optional elements after list of friends in UCP
|
||||
|
||||
viewtopic_print_head_append
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_print.html
|
||||
+ styles/subsilver2/template/viewtopic_print.html
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add asset calls directly before the `</head>` tag of the Print Topic screen
|
||||
|
||||
@@ -450,6 +516,30 @@ viewtopic_body_postrow_custom_fields_before
|
||||
* Purpose: Add data before the custom fields on the user profile when viewing
|
||||
a post
|
||||
|
||||
viewtopic_body_postrow_post_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_body.html
|
||||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add data after posts
|
||||
|
||||
viewtopic_body_postrow_post_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_body.html
|
||||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add data before posts
|
||||
|
||||
viewtopic_body_topic_actions_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_body.html
|
||||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.0-a4
|
||||
* Purpose: Add data before the topic actions buttons (after the posts sorting options)
|
||||
|
||||
viewtopic_topic_title_prepend
|
||||
===
|
||||
* Locations:
|
||||
|
@@ -38,7 +38,7 @@ source source_phpbb_{SPHINX_ID}_main
|
||||
sql_attr_bool = deleted
|
||||
sql_attr_timestamp = post_time
|
||||
sql_attr_timestamp = topic_last_post_time
|
||||
sql_attr_str2ordinal = post_subject
|
||||
sql_attr_string = post_subject
|
||||
}
|
||||
source source_phpbb_{SPHINX_ID}_delta : source_phpbb_{SPHINX_ID}_main
|
||||
{
|
||||
|
@@ -144,7 +144,8 @@ require($phpbb_root_path . 'includes/functions_download' . '.' . $phpEx);
|
||||
|
||||
$download_id = request_var('id', 0);
|
||||
$topic_id = $request->variable('topic_id', 0);
|
||||
$post_msg_id = $request->variable('post_msg_id', 0);
|
||||
$post_id = $request->variable('post_id', 0);
|
||||
$msg_id = $request->variable('msg_id', 0);
|
||||
$archive = $request->variable('archive', '.tar');
|
||||
$mode = request_var('mode', '');
|
||||
$thumbnail = request_var('t', false);
|
||||
@@ -163,17 +164,22 @@ if (!$config['allow_attachments'] && !$config['allow_pm_attach'])
|
||||
if ($download_id)
|
||||
{
|
||||
// Attachment id (only 1 attachment)
|
||||
$sql_where = "attach_id = $download_id";
|
||||
$sql_where = 'attach_id = ' . $download_id;
|
||||
}
|
||||
else if ($post_msg_id)
|
||||
else if ($msg_id)
|
||||
{
|
||||
// Post id or private message id (multiple attachments)
|
||||
$sql_where = "post_msg_id = $post_msg_id AND is_orphan = 0";
|
||||
// Private message id (multiple attachments)
|
||||
$sql_where = 'is_orphan = 0 AND in_message = 1 AND post_msg_id = ' . $msg_id;
|
||||
}
|
||||
else if ($post_id)
|
||||
{
|
||||
// Post id (multiple attachments)
|
||||
$sql_where = 'is_orphan = 0 AND in_message = 0 AND post_msg_id = ' . $post_id;
|
||||
}
|
||||
else if ($topic_id)
|
||||
{
|
||||
// Topic id (multiple attachments)
|
||||
$sql_where = "topic_id = $topic_id AND is_orphan = 0";
|
||||
$sql_where = 'is_orphan = 0 AND topic_id = ' . $topic_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -240,6 +246,20 @@ else if ($download_id)
|
||||
if (!$attachment['in_message'])
|
||||
{
|
||||
phpbb_download_handle_forum_auth($db, $auth, $attachment['topic_id']);
|
||||
|
||||
$sql = 'SELECT forum_id, post_visibility
|
||||
FROM ' . POSTS_TABLE . '
|
||||
WHERE post_id = ' . (int) $attachment['post_msg_id'];
|
||||
$result = $db->sql_query($sql);
|
||||
$post_row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$post_row || ($post_row['post_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $post_row['forum_id'])))
|
||||
{
|
||||
// Attachment of a soft deleted post and the user is not allowed to see the post
|
||||
send_status_line(404, 'Not Found');
|
||||
trigger_error('ERROR_NO_ATTACHMENT');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -251,7 +271,7 @@ else if ($download_id)
|
||||
$extensions = array();
|
||||
if (!extension_allowed($row['forum_id'], $attachment['extension'], $extensions))
|
||||
{
|
||||
send_status_line(404, 'Forbidden');
|
||||
send_status_line(403, 'Forbidden');
|
||||
trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension']));
|
||||
}
|
||||
}
|
||||
@@ -328,23 +348,32 @@ else
|
||||
$archive = '.tar';
|
||||
}
|
||||
|
||||
if ($post_msg_id)
|
||||
$post_visibility = array();
|
||||
if ($msg_id)
|
||||
{
|
||||
if ($attachment['in_message'])
|
||||
{
|
||||
$sql = 'SELECT message_subject AS attach_subject
|
||||
FROM ' . PRIVMSGS_TABLE . "
|
||||
WHERE msg_id = $post_msg_id";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT post_subject AS attach_subject, forum_id
|
||||
FROM ' . POSTS_TABLE . "
|
||||
WHERE post_id = $post_msg_id";
|
||||
}
|
||||
$sql = 'SELECT message_subject AS attach_subject
|
||||
FROM ' . PRIVMSGS_TABLE . "
|
||||
WHERE msg_id = $msg_id";
|
||||
}
|
||||
else if ($post_id)
|
||||
{
|
||||
$sql = 'SELECT post_subject AS attach_subject, forum_id, post_visibility
|
||||
FROM ' . POSTS_TABLE . "
|
||||
WHERE post_id = $post_id";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT post_id, post_visibility
|
||||
FROM ' . POSTS_TABLE . "
|
||||
WHERE topic_id = $topic_id
|
||||
AND post_attachment = 1";
|
||||
$result = $db->sql_query($sql);
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$post_visibility[(int) $row['post_id']] = (int) $row['post_visibility'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT topic_title AS attach_subject, forum_id
|
||||
FROM ' . TOPICS_TABLE . "
|
||||
WHERE topic_id = $topic_id";
|
||||
@@ -361,7 +390,7 @@ else
|
||||
}
|
||||
|
||||
$clean_name = phpbb_download_clean_filename($row['attach_subject']);
|
||||
$suffix = '_' . (($post_msg_id) ? $post_msg_id : $topic_id) . '_' . $clean_name;
|
||||
$suffix = '_' . (($msg_id) ? 'm' . $msg_id : (($post_id) ? 'p' . $post_id : 't' . $topic_id)) . '_' . $clean_name;
|
||||
$archive_name = 'attachments' . $suffix;
|
||||
|
||||
$store_name = 'att_' . time() . '_' . unique_id();
|
||||
@@ -379,13 +408,25 @@ else
|
||||
$extensions = array();
|
||||
$files_added = 0;
|
||||
$forum_id = ($attachment['in_message']) ? false : (int) $row['forum_id'];
|
||||
$disallowed = array();
|
||||
$disallowed_extension = array();
|
||||
|
||||
foreach ($attachments as $attach)
|
||||
{
|
||||
if (!extension_allowed($forum_id, $attach['extension'], $extensions))
|
||||
{
|
||||
$disallowed[$attach['extension']] = $attach['extension'];
|
||||
$disallowed_extension[$attach['extension']] = $attach['extension'];
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($post_id && $row['post_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $forum_id))
|
||||
{
|
||||
// Attachment of a soft deleted post and the user is not allowed to see the post
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($topic_id && (!isset($post_visibility[$attach['post_msg_id']]) || $post_visibility[$attach['post_msg_id']] != ITEM_APPROVED) && !$auth->acl_get('m_approve', $forum_id))
|
||||
{
|
||||
// Attachment of a soft deleted post and the user is not allowed to see the post
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -409,12 +450,17 @@ else
|
||||
|
||||
unlink($archive_path);
|
||||
|
||||
if (!$files_added)
|
||||
if (!$files_added && !empty($disallowed_extension))
|
||||
{
|
||||
// None of the attachments had a valid extension
|
||||
$disallowed = implode($user->lang['COMMA_SEPARATOR'], $disallowed);
|
||||
send_status_line(404, 'Forbidden');
|
||||
trigger_error($user->lang('EXTENSION_DISABLED_AFTER_POSTING', $disallowed));
|
||||
$disallowed_extension = implode($user->lang['COMMA_SEPARATOR'], $disallowed_extension);
|
||||
send_status_line(403, 'Forbidden');
|
||||
trigger_error($user->lang('EXTENSION_DISABLED_AFTER_POSTING', $disallowed_extension));
|
||||
}
|
||||
else if (!$files_added)
|
||||
{
|
||||
send_status_line(404, 'Not Found');
|
||||
trigger_error('ERROR_NO_ATTACHMENT');
|
||||
}
|
||||
|
||||
file_gc();
|
||||
|
@@ -18,6 +18,7 @@ define('IN_PHPBB', true);
|
||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
include($phpbb_root_path . 'common.' . $phpEx);
|
||||
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
|
||||
|
||||
if (!$config['feed_enable'])
|
||||
{
|
||||
@@ -72,6 +73,9 @@ if ($feed === false)
|
||||
trigger_error('NO_FEED');
|
||||
}
|
||||
|
||||
// Get attachments for this feed
|
||||
$feed->fetch_attachments();
|
||||
|
||||
// Open Feed
|
||||
$feed->open();
|
||||
|
||||
@@ -107,7 +111,7 @@ while ($row = $feed->get_item())
|
||||
'title' => censor_text($title),
|
||||
'category' => ($config['feed_item_statistics'] && !empty($row['forum_id'])) ? $board_url . '/viewforum.' . $phpEx . '?f=' . $row['forum_id'] : '',
|
||||
'category_name' => ($config['feed_item_statistics'] && isset($row['forum_name'])) ? $row['forum_name'] : '',
|
||||
'description' => censor_text($phpbb_feed_helper->generate_content($row[$feed->get('text')], $row[$feed->get('bbcode_uid')], $row[$feed->get('bitfield')], $options)),
|
||||
'description' => censor_text($phpbb_feed_helper->generate_content($row[$feed->get('text')], $row[$feed->get('bbcode_uid')], $row[$feed->get('bitfield')], $options, $row['forum_id'], (($row['post_attachment']) ? $feed->attachments[$row['post_id']] : array()))),
|
||||
'statistics' => '',
|
||||
);
|
||||
|
||||
|
@@ -20,14 +20,37 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
class acp_attachments
|
||||
{
|
||||
var $u_action;
|
||||
var $new_config;
|
||||
/** @var \phpbb\db\driver\driver */
|
||||
protected $db;
|
||||
|
||||
/** @var \phpbb\config\config */
|
||||
protected $config;
|
||||
|
||||
/** @var ContainerBuilder */
|
||||
protected $phpbb_container;
|
||||
|
||||
/** @var \phpbb\template\template */
|
||||
protected $template;
|
||||
|
||||
/** @var \phpbb\user */
|
||||
protected $user;
|
||||
|
||||
public $id;
|
||||
public $u_action;
|
||||
protected $new_config;
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $db, $user, $auth, $template, $cache, $phpbb_container;
|
||||
global $config, $phpbb_admin_path, $phpbb_root_path, $phpEx;
|
||||
|
||||
$this->id = $id;
|
||||
$this->db = $db;
|
||||
$this->config = $config;
|
||||
$this->template = $template;
|
||||
$this->user = $user;
|
||||
$this->phpbb_container = $phpbb_container;
|
||||
|
||||
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
|
||||
|
||||
$error = $notify = array();
|
||||
@@ -1082,9 +1105,26 @@ class acp_attachments
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'stats')
|
||||
{
|
||||
$this->handle_stats_resync();
|
||||
}
|
||||
|
||||
$stats_error = $this->check_stats_accuracy();
|
||||
|
||||
if ($stats_error)
|
||||
{
|
||||
$error[] = $stats_error;
|
||||
|
||||
// Show option to resync stats
|
||||
$this->template->assign_vars(array(
|
||||
'S_ACTION_OPTIONS' => $auth->acl_get('a_board'),
|
||||
));
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_MANAGE' => true)
|
||||
);
|
||||
'S_MANAGE' => true,
|
||||
));
|
||||
|
||||
$start = request_var('start', 0);
|
||||
|
||||
@@ -1107,66 +1147,11 @@ class acp_attachments
|
||||
|
||||
$attachments_per_page = (int) $config['topics_per_page'];
|
||||
|
||||
// Handle files stats resync
|
||||
$action = request_var('action', '');
|
||||
$resync_files_stats = false;
|
||||
if ($action && $action = 'stats')
|
||||
{
|
||||
if (!confirm_box(true))
|
||||
{
|
||||
confirm_box(false, $user->lang['RESYNC_FILES_STATS_CONFIRM'], build_hidden_fields(array(
|
||||
'i' => $id,
|
||||
'mode' => $mode,
|
||||
'action' => $action,
|
||||
)));
|
||||
}
|
||||
else
|
||||
{
|
||||
$resync_files_stats = true;
|
||||
add_log('admin', 'LOG_RESYNC_FILES_STATS');
|
||||
}
|
||||
}
|
||||
|
||||
// Check if files stats are accurate
|
||||
$sql = 'SELECT COUNT(attach_id) as num_files
|
||||
FROM ' . ATTACHMENTS_TABLE . '
|
||||
WHERE is_orphan = 0';
|
||||
$result = $db->sql_query($sql, 600);
|
||||
$num_files_real = (int) $db->sql_fetchfield('num_files');
|
||||
if ($resync_files_stats === true)
|
||||
{
|
||||
set_config('num_files', $num_files_real, true);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT SUM(filesize) as upload_dir_size
|
||||
FROM ' . ATTACHMENTS_TABLE . '
|
||||
WHERE is_orphan = 0';
|
||||
$result = $db->sql_query($sql, 600);
|
||||
$total_size_real = (float) $db->sql_fetchfield('upload_dir_size');
|
||||
if ($resync_files_stats === true)
|
||||
{
|
||||
set_config('upload_dir_size', $total_size_real, true);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Get current files stats
|
||||
$num_files = (int) $config['num_files'];
|
||||
$total_size = (float) $config['upload_dir_size'];
|
||||
|
||||
// Issue warning message if files stats are inaccurate
|
||||
if (($num_files != $num_files_real) || ($total_size != $total_size_real))
|
||||
{
|
||||
$error[] = $user->lang('FILES_STATS_WRONG', (int) $num_files_real, get_formatted_filesize($total_size_real));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false,
|
||||
'U_ACTION' => $this->u_action,)
|
||||
);
|
||||
}
|
||||
$stats = $this->get_attachment_stats($limit_filetime);
|
||||
$num_files = $stats['num_files'];
|
||||
$total_size = $stats['upload_dir_size'];
|
||||
|
||||
// Make sure $start is set to the last page if it exceeds the amount
|
||||
|
||||
$pagination = $phpbb_container->get('pagination');
|
||||
$start = $pagination->validate_start($start, $attachments_per_page, $num_files);
|
||||
|
||||
@@ -1222,7 +1207,6 @@ class acp_attachments
|
||||
'TOTAL_FILES' => $num_files,
|
||||
'TOTAL_SIZE' => get_formatted_filesize($total_size),
|
||||
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $num_files, $attachments_per_page, $start),
|
||||
'S_LIMIT_DAYS' => $s_limit_days,
|
||||
'S_SORT_KEY' => $s_sort_key,
|
||||
'S_SORT_DIR' => $s_sort_dir)
|
||||
@@ -1283,6 +1267,89 @@ class acp_attachments
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get attachment file count and size of upload directory
|
||||
*
|
||||
* @param $limit string Additional limit for WHERE clause to filter stats by.
|
||||
* @return array Returns array with stats: num_files and upload_dir_size
|
||||
*/
|
||||
public function get_attachment_stats($limit = '')
|
||||
{
|
||||
$sql = 'SELECT COUNT(a.attach_id) AS num_files, SUM(a.filesize) AS upload_dir_size
|
||||
FROM ' . ATTACHMENTS_TABLE . " a
|
||||
WHERE a.is_orphan = 0
|
||||
$limit";
|
||||
$result = $this->db->sql_query($sql);
|
||||
$row = $this->db->sql_fetchrow($result);
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
return array(
|
||||
'num_files' => (int) $row['num_files'],
|
||||
'upload_dir_size' => (float) $row['upload_dir_size'],
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set config attachment stat values
|
||||
*
|
||||
* @param $stats array Array of config key => value pairs to set.
|
||||
* @return null
|
||||
*/
|
||||
public function set_attachment_stats($stats)
|
||||
{
|
||||
foreach ($stats as $key => $value)
|
||||
{
|
||||
$this->config->set($key, $value, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check accuracy of attachment statistics.
|
||||
*
|
||||
* @param $resync bool Resync stats if they're incorrect.
|
||||
* @return bool|string Returns false if stats are correct or error message
|
||||
* otherwise.
|
||||
*/
|
||||
public function check_stats_accuracy()
|
||||
{
|
||||
// Get fresh stats.
|
||||
$stats = $this->get_attachment_stats();
|
||||
|
||||
// Get current files stats
|
||||
$num_files = (int) $this->config['num_files'];
|
||||
$total_size = (float) $this->config['upload_dir_size'];
|
||||
|
||||
if (($num_files != $stats['num_files']) || ($total_size != $stats['upload_dir_size']))
|
||||
{
|
||||
return $this->user->lang('FILES_STATS_WRONG', (int) $stats['num_files'], get_formatted_filesize($stats['upload_dir_size']));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle stats resync.
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function handle_stats_resync()
|
||||
{
|
||||
if (!confirm_box(true))
|
||||
{
|
||||
confirm_box(false, $this->user->lang['RESYNC_FILES_STATS_CONFIRM'], build_hidden_fields(array(
|
||||
'i' => $this->id,
|
||||
'mode' => 'manage',
|
||||
'action' => 'stats',
|
||||
)));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->set_attachment_stats($this->get_attachment_stats());
|
||||
$log = $this->phpbb_container->get('log');
|
||||
$log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_RESYNC_FILES_STATS');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Build Select for category items
|
||||
*/
|
||||
|
@@ -28,7 +28,7 @@ class acp_board
|
||||
{
|
||||
global $db, $user, $auth, $template;
|
||||
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||
global $cache, $phpbb_container;
|
||||
global $cache, $phpbb_container, $phpbb_dispatcher;
|
||||
|
||||
$user->add_lang('acp/board');
|
||||
|
||||
@@ -456,6 +456,18 @@ class acp_board
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event to add and/or modify acp_board configurations
|
||||
*
|
||||
* @event core.acp_board_config_edit_add
|
||||
* @var array display_vars Array of config values to display and process
|
||||
* @var string mode Mode of the config page we are displaying
|
||||
* @var boolean submit Do we display the form or process the submission
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
$vars = array('display_vars', 'mode', 'submit');
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_board_config_edit_add', compact($vars)));
|
||||
|
||||
if (isset($display_vars['lang']))
|
||||
{
|
||||
$user->add_lang($display_vars['lang']);
|
||||
|
@@ -727,7 +727,6 @@ class acp_groups
|
||||
'S_GROUP_SPECIAL' => ($group_row['group_type'] == GROUP_SPECIAL) ? true : false,
|
||||
'S_ACTION_OPTIONS' => $s_action_options,
|
||||
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $total_members, $config['topics_per_page'], $start),
|
||||
'GROUP_NAME' => ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'],
|
||||
|
||||
'U_ACTION' => $this->u_action . "&g=$group_id",
|
||||
|
@@ -295,7 +295,6 @@ class acp_inactive
|
||||
'S_LIMIT_DAYS' => $s_limit_days,
|
||||
'S_SORT_KEY' => $s_sort_key,
|
||||
'S_SORT_DIR' => $s_sort_dir,
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $inactive_count, $per_page, $start),
|
||||
'USERS_PER_PAGE' => $per_page,
|
||||
|
||||
'U_ACTION' => $this->u_action . "&$u_sort_param&users_per_page=$per_page&start=$start",
|
||||
|
@@ -138,8 +138,6 @@ class acp_logs
|
||||
'L_EXPLAIN' => $l_title_explain,
|
||||
'U_ACTION' => $this->u_action . "&$u_sort_param$keywords_param&start=$start",
|
||||
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $log_count, $config['topics_per_page'], $start),
|
||||
|
||||
'S_LIMIT_DAYS' => $s_limit_days,
|
||||
'S_SORT_KEY' => $s_sort_key,
|
||||
'S_SORT_DIR' => $s_sort_dir,
|
||||
|
@@ -25,7 +25,7 @@ class acp_main
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $cache, $user, $auth, $template, $request;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
|
||||
|
||||
// Show restore permissions notice
|
||||
if ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm'))
|
||||
@@ -432,17 +432,19 @@ class acp_main
|
||||
));
|
||||
}
|
||||
|
||||
$latest_version_info = false;
|
||||
if (($latest_version_info = obtain_latest_version_info(request_var('versioncheck_force', false))) === false)
|
||||
$version_helper = $phpbb_container->get('version_helper');
|
||||
try
|
||||
{
|
||||
$template->assign_var('S_VERSIONCHECK_FAIL', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$latest_version_info = explode("\n", $latest_version_info);
|
||||
$recheck = $request->variable('versioncheck_force', false);
|
||||
$updates_available = $version_helper->get_suggested_updates($recheck);
|
||||
|
||||
$template->assign_var('S_VERSION_UP_TO_DATE', empty($updates_available));
|
||||
}
|
||||
catch (\RuntimeException $e)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_VERSION_UP_TO_DATE' => phpbb_version_compare(trim($latest_version_info[0]), $config['version'], '<='),
|
||||
'S_VERSIONCHECK_FAIL' => true,
|
||||
'VERSIONCHECK_FAIL_REASON' => ($e->getMessage() !== $user->lang('VERSIONCHECK_FAIL')) ? $e->getMessage() : '',
|
||||
));
|
||||
}
|
||||
|
||||
|
@@ -385,6 +385,10 @@ class acp_profile
|
||||
'field_show_on_reg' => 0,
|
||||
'field_show_on_pm' => 0,
|
||||
'field_show_on_vt' => 0,
|
||||
'field_show_on_ml' => 0,
|
||||
'field_is_contact' => 0,
|
||||
'field_contact_desc'=> '',
|
||||
'field_contact_url' => '',
|
||||
'lang_name' => utf8_normalize_nfc(request_var('field_ident', '', true)),
|
||||
'lang_explain' => '',
|
||||
'lang_default_value'=> '')
|
||||
@@ -395,7 +399,7 @@ class acp_profile
|
||||
|
||||
// $exclude contains the data we gather in each step
|
||||
$exclude = array(
|
||||
1 => array('field_ident', 'lang_name', 'lang_explain', 'field_option_none', 'field_show_on_reg', 'field_show_on_pm', 'field_show_on_vt', 'field_required', 'field_show_novalue', 'field_hide', 'field_show_profile', 'field_no_view'),
|
||||
1 => array('field_ident', 'lang_name', 'lang_explain', 'field_option_none', 'field_show_on_reg', 'field_show_on_pm', 'field_show_on_vt', 'field_show_on_ml', 'field_required', 'field_show_novalue', 'field_hide', 'field_show_profile', 'field_no_view', 'field_is_contact', 'field_contact_desc', 'field_contact_url'),
|
||||
2 => array('field_length', 'field_maxlen', 'field_minlen', 'field_validation', 'field_novalue', 'field_default_value'),
|
||||
3 => array('l_lang_name', 'l_lang_explain', 'l_lang_default_value', 'l_lang_options')
|
||||
);
|
||||
@@ -407,23 +411,27 @@ class acp_profile
|
||||
'field_show_on_reg',
|
||||
'field_show_on_pm',
|
||||
'field_show_on_vt',
|
||||
'field_show_on_ml',
|
||||
'field_show_profile',
|
||||
'field_hide',
|
||||
'field_is_contact',
|
||||
);
|
||||
|
||||
$options = $profile_field->prepare_options_form($exclude, $visibility_ary);
|
||||
|
||||
$cp->vars['field_ident'] = ($action == 'create' && $step == 1) ? utf8_clean_string(request_var('field_ident', $field_row['field_ident'], true)) : request_var('field_ident', $field_row['field_ident']);
|
||||
$cp->vars['lang_name'] = utf8_normalize_nfc(request_var('lang_name', $field_row['lang_name'], true));
|
||||
$cp->vars['lang_explain'] = utf8_normalize_nfc(request_var('lang_explain', $field_row['lang_explain'], true));
|
||||
$cp->vars['lang_default_value'] = utf8_normalize_nfc(request_var('lang_default_value', $field_row['lang_default_value'], true));
|
||||
$cp->vars['lang_name'] = $request->variable('lang_name', $field_row['lang_name'], true);
|
||||
$cp->vars['lang_explain'] = $request->variable('lang_explain', $field_row['lang_explain'], true);
|
||||
$cp->vars['lang_default_value'] = $request->variable('lang_default_value', $field_row['lang_default_value'], true);
|
||||
$cp->vars['field_contact_desc'] = $request->variable('field_contact_desc', $field_row['field_contact_desc'], true);
|
||||
$cp->vars['field_contact_url'] = $request->variable('field_contact_url', $field_row['field_contact_url'], true);
|
||||
|
||||
foreach ($visibility_ary as $val)
|
||||
{
|
||||
$cp->vars[$val] = ($submit || $save) ? request_var($val, 0) : $field_row[$val];
|
||||
$cp->vars[$val] = ($submit || $save) ? $request->variable($val, 0) : $field_row[$val];
|
||||
}
|
||||
|
||||
$cp->vars['field_no_view'] = request_var('field_no_view', (int) $field_row['field_no_view']);
|
||||
$cp->vars['field_no_view'] = $request->variable('field_no_view', (int) $field_row['field_no_view']);
|
||||
|
||||
// If the user has submitted a form with options (i.e. dropdown field)
|
||||
if ($options)
|
||||
@@ -620,9 +628,13 @@ class acp_profile
|
||||
'S_SHOW_ON_REG' => ($cp->vars['field_show_on_reg']) ? true : false,
|
||||
'S_SHOW_ON_PM' => ($cp->vars['field_show_on_pm']) ? true : false,
|
||||
'S_SHOW_ON_VT' => ($cp->vars['field_show_on_vt']) ? true : false,
|
||||
'S_SHOW_ON_MEMBERLIST'=> ($cp->vars['field_show_on_ml']) ? true : false,
|
||||
'S_FIELD_HIDE' => ($cp->vars['field_hide']) ? true : false,
|
||||
'S_SHOW_PROFILE' => ($cp->vars['field_show_profile']) ? true : false,
|
||||
'S_FIELD_NO_VIEW' => ($cp->vars['field_no_view']) ? true : false,
|
||||
'S_FIELD_CONTACT' => $cp->vars['field_is_contact'],
|
||||
'FIELD_CONTACT_DESC'=> $cp->vars['field_contact_desc'],
|
||||
'FIELD_CONTACT_URL' => $cp->vars['field_contact_url'],
|
||||
|
||||
'L_LANG_SPECIFIC' => sprintf($user->lang['LANG_SPECIFIC_OPTIONS'], $config['default_lang']),
|
||||
'FIELD_TYPE' => $profile_field->get_name(),
|
||||
@@ -880,9 +892,13 @@ class acp_profile
|
||||
'field_show_on_reg' => $cp->vars['field_show_on_reg'],
|
||||
'field_show_on_pm' => $cp->vars['field_show_on_pm'],
|
||||
'field_show_on_vt' => $cp->vars['field_show_on_vt'],
|
||||
'field_show_on_ml' => $cp->vars['field_show_on_ml'],
|
||||
'field_hide' => $cp->vars['field_hide'],
|
||||
'field_show_profile' => $cp->vars['field_show_profile'],
|
||||
'field_no_view' => $cp->vars['field_no_view']
|
||||
'field_no_view' => $cp->vars['field_no_view'],
|
||||
'field_is_contact' => $cp->vars['field_is_contact'],
|
||||
'field_contact_desc' => $cp->vars['field_contact_desc'],
|
||||
'field_contact_url' => $cp->vars['field_contact_url'],
|
||||
);
|
||||
|
||||
if ($action == 'create')
|
||||
|
@@ -388,7 +388,6 @@ class acp_prune
|
||||
{
|
||||
$username = request_var('username', '', true);
|
||||
$email = request_var('email', '');
|
||||
$website = request_var('website', '');
|
||||
|
||||
$active_select = request_var('active_select', 'lt');
|
||||
$count_select = request_var('count_select', 'eq');
|
||||
@@ -438,7 +437,6 @@ class acp_prune
|
||||
$where_sql = '';
|
||||
$where_sql .= ($username) ? ' AND username_clean ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($username))) : '';
|
||||
$where_sql .= ($email) ? ' AND user_email ' . $db->sql_like_expression(str_replace('*', $db->any_char, $email)) . ' ' : '';
|
||||
$where_sql .= ($website) ? ' AND user_website ' . $db->sql_like_expression(str_replace('*', $db->any_char, $website)) . ' ' : '';
|
||||
$where_sql .= $joined_sql;
|
||||
$where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';
|
||||
|
||||
|
@@ -24,64 +24,42 @@ class acp_update
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $cache;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||
global $config, $user, $template, $request;
|
||||
global $phpbb_root_path, $phpEx, $phpbb_container;
|
||||
|
||||
$user->add_lang('install');
|
||||
|
||||
$this->tpl_name = 'acp_update';
|
||||
$this->page_title = 'ACP_VERSION_CHECK';
|
||||
|
||||
// Get current and latest version
|
||||
$errstr = '';
|
||||
$errno = 0;
|
||||
|
||||
$info = obtain_latest_version_info(request_var('versioncheck_force', false));
|
||||
|
||||
if (empty($info))
|
||||
$version_helper = $phpbb_container->get('version_helper');
|
||||
try
|
||||
{
|
||||
trigger_error('VERSIONCHECK_FAIL', E_USER_WARNING);
|
||||
$recheck = $request->variable('versioncheck_force', false);
|
||||
$updates_available = $version_helper->get_suggested_updates($recheck);
|
||||
}
|
||||
catch (\RuntimeException $e)
|
||||
{
|
||||
$template->assign_var('S_VERSIONCHECK_FAIL', true);
|
||||
|
||||
$updates_available = array();
|
||||
}
|
||||
|
||||
$info = explode("\n", $info);
|
||||
$latest_version = trim($info[0]);
|
||||
foreach ($updates_available as $branch => $version_data)
|
||||
{
|
||||
$template->assign_block_vars('updates_available', $version_data);
|
||||
}
|
||||
|
||||
$announcement_url = trim($info[1]);
|
||||
$announcement_url = (strpos($announcement_url, '&') === false) ? str_replace('&', '&', $announcement_url) : $announcement_url;
|
||||
$update_link = append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update');
|
||||
|
||||
// next feature release
|
||||
$next_feature_version = $next_feature_announcement_url = false;
|
||||
if (isset($info[2]) && trim($info[2]) !== '')
|
||||
{
|
||||
$next_feature_version = trim($info[2]);
|
||||
$next_feature_announcement_url = trim($info[3]);
|
||||
}
|
||||
|
||||
// Determine automatic update...
|
||||
$sql = 'SELECT config_value
|
||||
FROM ' . CONFIG_TABLE . "
|
||||
WHERE config_name = 'version_update_from'";
|
||||
$result = $db->sql_query($sql);
|
||||
$version_update_from = (string) $db->sql_fetchfield('config_value');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$current_version = (!empty($version_update_from)) ? $version_update_from : $config['version'];
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_UP_TO_DATE' => phpbb_version_compare($latest_version, $config['version'], '<='),
|
||||
'S_UP_TO_DATE_AUTO' => phpbb_version_compare($latest_version, $current_version, '<='),
|
||||
'S_VERSION_CHECK' => true,
|
||||
'U_ACTION' => $this->u_action,
|
||||
'U_VERSIONCHECK_FORCE' => append_sid($this->u_action . '&versioncheck_force=1'),
|
||||
'S_UP_TO_DATE' => empty($updates_available),
|
||||
'U_ACTION' => $this->u_action,
|
||||
'U_VERSIONCHECK_FORCE' => append_sid($this->u_action . '&versioncheck_force=1'),
|
||||
|
||||
'LATEST_VERSION' => $latest_version,
|
||||
'CURRENT_VERSION' => $config['version'],
|
||||
'AUTO_VERSION' => $version_update_from,
|
||||
'NEXT_FEATURE_VERSION' => $next_feature_version,
|
||||
'CURRENT_VERSION' => $config['version'],
|
||||
|
||||
'UPDATE_INSTRUCTIONS' => sprintf($user->lang['UPDATE_INSTRUCTIONS'], $announcement_url, $update_link),
|
||||
'UPGRADE_INSTRUCTIONS' => $next_feature_version ? $user->lang('UPGRADE_INSTRUCTIONS', $next_feature_version, $next_feature_announcement_url) : false,
|
||||
'UPDATE_INSTRUCTIONS' => sprintf($user->lang['UPDATE_INSTRUCTIONS'], $update_link),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@@ -173,8 +173,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'))
|
||||
{
|
||||
@@ -187,6 +186,12 @@ class acp_users
|
||||
trigger_error($user->lang['CANNOT_REMOVE_ANONYMOUS'] . adm_back_link($this->u_action . '&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 . '&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 . '&u=' . $user_id), E_USER_WARNING);
|
||||
@@ -1174,7 +1179,6 @@ class acp_users
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_FEEDBACK' => true,
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $log_count, $config['topics_per_page'], $start),
|
||||
|
||||
'S_LIMIT_DAYS' => $s_limit_days,
|
||||
'S_SORT_KEY' => $s_sort_key,
|
||||
@@ -1361,15 +1365,7 @@ class acp_users
|
||||
$user_row['iso_lang_id'] = $row['lang_id'];
|
||||
|
||||
$data = array(
|
||||
'icq' => request_var('icq', $user_row['user_icq']),
|
||||
'aim' => request_var('aim', $user_row['user_aim']),
|
||||
'msn' => request_var('msn', $user_row['user_msnm']),
|
||||
'yim' => request_var('yim', $user_row['user_yim']),
|
||||
'jabber' => utf8_normalize_nfc(request_var('jabber', $user_row['user_jabber'], true)),
|
||||
'website' => request_var('website', $user_row['user_website']),
|
||||
'location' => utf8_normalize_nfc(request_var('location', $user_row['user_from'], true)),
|
||||
'occupation' => utf8_normalize_nfc(request_var('occupation', $user_row['user_occ'], true)),
|
||||
'interests' => utf8_normalize_nfc(request_var('interests', $user_row['user_interests'], true)),
|
||||
'bday_day' => 0,
|
||||
'bday_month' => 0,
|
||||
'bday_year' => 0,
|
||||
@@ -1389,21 +1385,9 @@ class acp_users
|
||||
if ($submit)
|
||||
{
|
||||
$error = validate_data($data, array(
|
||||
'icq' => array(
|
||||
array('string', true, 3, 15),
|
||||
array('match', true, '#^[0-9]+$#i')),
|
||||
'aim' => array('string', true, 3, 255),
|
||||
'msn' => array('string', true, 5, 255),
|
||||
'jabber' => array(
|
||||
array('string', true, 5, 255),
|
||||
array('jabber')),
|
||||
'yim' => array('string', true, 5, 255),
|
||||
'website' => array(
|
||||
array('string', true, 12, 255),
|
||||
array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')),
|
||||
'location' => array('string', true, 2, 100),
|
||||
'occupation' => array('string', true, 2, 500),
|
||||
'interests' => array('string', true, 2, 500),
|
||||
'bday_day' => array('num', true, 1, 31),
|
||||
'bday_month' => array('num', true, 1, 12),
|
||||
'bday_year' => array('num', true, 1901, gmdate('Y', time())),
|
||||
@@ -1425,15 +1409,7 @@ class acp_users
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$sql_ary = array(
|
||||
'user_icq' => $data['icq'],
|
||||
'user_aim' => $data['aim'],
|
||||
'user_msnm' => $data['msn'],
|
||||
'user_yim' => $data['yim'],
|
||||
'user_jabber' => $data['jabber'],
|
||||
'user_website' => $data['website'],
|
||||
'user_from' => $data['location'],
|
||||
'user_occ' => $data['occupation'],
|
||||
'user_interests'=> $data['interests'],
|
||||
'user_birthday' => $data['user_birthday'],
|
||||
);
|
||||
|
||||
@@ -1477,16 +1453,7 @@ class acp_users
|
||||
unset($now);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ICQ' => $data['icq'],
|
||||
'YIM' => $data['yim'],
|
||||
'AIM' => $data['aim'],
|
||||
'MSN' => $data['msn'],
|
||||
'JABBER' => $data['jabber'],
|
||||
'WEBSITE' => $data['website'],
|
||||
'LOCATION' => $data['location'],
|
||||
'OCCUPATION' => $data['occupation'],
|
||||
'INTERESTS' => $data['interests'],
|
||||
|
||||
'S_BIRTHDAY_DAY_OPTIONS' => $s_birthday_day_options,
|
||||
'S_BIRTHDAY_MONTH_OPTIONS' => $s_birthday_month_options,
|
||||
'S_BIRTHDAY_YEAR_OPTIONS' => $s_birthday_year_options,
|
||||
@@ -2142,7 +2109,6 @@ class acp_users
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_ATTACHMENTS' => true,
|
||||
'S_ON_PAGE' => $pagination->on_page($base_url, $num_attachments, $config['topics_per_page'], $start),
|
||||
'S_SORT_KEY' => $s_sort_key,
|
||||
'S_SORT_DIR' => $s_sort_dir,
|
||||
));
|
||||
|
@@ -2226,8 +2226,8 @@ class colour_manager
|
||||
return $this->random_colour($colour, $mode);
|
||||
}
|
||||
|
||||
$rgb = colour_manager::model_convert($colour, $mode, 'rgb');
|
||||
$store = ($this->mode == 'rgb') ? $rgb : colour_manager::model_convert($colour, $mode, $this->mode);
|
||||
$rgb = $this->model_convert($colour, $mode, 'rgb');
|
||||
$store = ($this->mode == 'rgb') ? $rgb : $this->model_convert($colour, $mode, $this->mode);
|
||||
$resource = imagecolorallocate($this->img, $rgb[0], $rgb[1], $rgb[2]);
|
||||
$this->colours[$resource] = $store;
|
||||
|
||||
@@ -2345,7 +2345,7 @@ class colour_manager
|
||||
$resource = $pre;
|
||||
}
|
||||
|
||||
$colour = colour_manager::model_convert($this->colours[$resource], $this->mode, $mode);
|
||||
$colour = $this->model_convert($this->colours[$resource], $this->mode, $mode);
|
||||
$results = ($include_original) ? array($resource) : array();
|
||||
$colour2 = $colour3 = $colour4 = $colour;
|
||||
$colour2[0] += 150;
|
||||
@@ -2380,7 +2380,7 @@ class colour_manager
|
||||
$resource = $pre;
|
||||
}
|
||||
|
||||
$colour = colour_manager::model_convert($this->colours[$resource], $this->mode, $mode);
|
||||
$colour = $this->model_convert($this->colours[$resource], $this->mode, $mode);
|
||||
|
||||
$results = array();
|
||||
if ($include_original)
|
||||
@@ -2418,11 +2418,11 @@ class colour_manager
|
||||
switch ($from_model)
|
||||
{
|
||||
case 'ahsv':
|
||||
return colour_manager::ah2h($colour);
|
||||
return $this->ah2h($colour);
|
||||
break;
|
||||
|
||||
case 'rgb':
|
||||
return colour_manager::rgb2hsv($colour);
|
||||
return $this->rgb2hsv($colour);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -2432,11 +2432,11 @@ class colour_manager
|
||||
switch ($from_model)
|
||||
{
|
||||
case 'hsv':
|
||||
return colour_manager::h2ah($colour);
|
||||
return $this->h2ah($colour);
|
||||
break;
|
||||
|
||||
case 'rgb':
|
||||
return colour_manager::h2ah(colour_manager::rgb2hsv($colour));
|
||||
return $this->h2ah($this->rgb2hsv($colour));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -2445,11 +2445,11 @@ class colour_manager
|
||||
switch ($from_model)
|
||||
{
|
||||
case 'hsv':
|
||||
return colour_manager::hsv2rgb($colour);
|
||||
return $this->hsv2rgb($colour);
|
||||
break;
|
||||
|
||||
case 'ahsv':
|
||||
return colour_manager::hsv2rgb(colour_manager::ah2h($colour));
|
||||
return $this->hsv2rgb($this->ah2h($colour));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -2462,7 +2462,7 @@ class colour_manager
|
||||
*/
|
||||
function hsv2rgb($hsv)
|
||||
{
|
||||
colour_manager::normalize_hue($hsv[0]);
|
||||
$this->normalize_hue($hsv[0]);
|
||||
|
||||
$h = $hsv[0];
|
||||
$s = min(1, max(0, $hsv[1] / 100));
|
||||
@@ -2554,7 +2554,7 @@ class colour_manager
|
||||
break;
|
||||
}
|
||||
}
|
||||
colour_manager::normalize_hue($h);
|
||||
$this->normalize_hue($h);
|
||||
|
||||
return array($h, $s * 100, $v * 100);
|
||||
}
|
||||
@@ -2578,10 +2578,10 @@ class colour_manager
|
||||
{
|
||||
if (is_array($ahue))
|
||||
{
|
||||
$ahue[0] = colour_manager::ah2h($ahue[0]);
|
||||
$ahue[0] = $this->ah2h($ahue[0]);
|
||||
return $ahue;
|
||||
}
|
||||
colour_manager::normalize_hue($ahue);
|
||||
$this->normalize_hue($ahue);
|
||||
|
||||
// blue through red is already ok
|
||||
if ($ahue >= 240)
|
||||
@@ -2612,10 +2612,10 @@ class colour_manager
|
||||
{
|
||||
if (is_array($hue))
|
||||
{
|
||||
$hue[0] = colour_manager::h2ah($hue[0]);
|
||||
$hue[0] = $this->h2ah($hue[0]);
|
||||
return $hue;
|
||||
}
|
||||
colour_manager::normalize_hue($hue);
|
||||
$this->normalize_hue($hue);
|
||||
|
||||
// blue through red is already ok
|
||||
if ($hue >= 240)
|
||||
|
@@ -24,7 +24,7 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
|
||||
// phpBB Version
|
||||
define('PHPBB_VERSION', '3.1.0-a3');
|
||||
define('PHPBB_VERSION', '3.1.0-b1');
|
||||
|
||||
// QA-related
|
||||
// define('PHPBB_QA', 1);
|
||||
@@ -289,4 +289,3 @@ define('WORDS_TABLE', $table_prefix . 'words');
|
||||
define('ZEBRA_TABLE', $table_prefix . 'zebra');
|
||||
|
||||
// Additional tables
|
||||
|
||||
|
@@ -771,11 +771,15 @@ $schema_data['phpbb_profile_fields'] = array(
|
||||
'field_show_on_reg' => array('BOOL', 0),
|
||||
'field_show_on_pm' => array('BOOL', 0),
|
||||
'field_show_on_vt' => array('BOOL', 0),
|
||||
'field_show_on_ml' => array('BOOL', 0),
|
||||
'field_show_profile' => array('BOOL', 0),
|
||||
'field_hide' => array('BOOL', 0),
|
||||
'field_no_view' => array('BOOL', 0),
|
||||
'field_active' => array('BOOL', 0),
|
||||
'field_order' => array('UINT', 0),
|
||||
'field_is_contact' => array('BOOL', 0),
|
||||
'field_contact_desc' => array('VCHAR', ''),
|
||||
'field_contact_url' => array('VCHAR', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'field_id',
|
||||
'KEYS' => array(
|
||||
@@ -787,6 +791,14 @@ $schema_data['phpbb_profile_fields'] = array(
|
||||
$schema_data['phpbb_profile_fields_data'] = array(
|
||||
'COLUMNS' => array(
|
||||
'user_id' => array('UINT', 0),
|
||||
'pf_phpbb_location' => array('VCHAR', ''),
|
||||
'pf_phpbb_interests' => array('TEXT_UNI', ''),
|
||||
'pf_phpbb_occupation' => array('TEXT_UNI', ''),
|
||||
'pf_phpbb_icq' => array('VCHAR', ''),
|
||||
'pf_phpbb_aol' => array('VCHAR', ''),
|
||||
'pf_phpbb_wlm' => array('VCHAR', ''),
|
||||
'pf_phpbb_yahoo' => array('VCHAR', ''),
|
||||
'pf_phpbb_website' => array('VCHAR', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'user_id',
|
||||
);
|
||||
@@ -1115,6 +1127,8 @@ $schema_data['phpbb_users'] = array(
|
||||
'user_password' => array('VCHAR_UNI', ''),
|
||||
'user_passchg' => array('TIMESTAMP', 0),
|
||||
'user_pass_convert' => array('BOOL', 0),
|
||||
'user_actkey' => array('VCHAR:32', ''),
|
||||
'user_newpasswd' => array('VCHAR_UNI', ''),
|
||||
'user_email' => array('VCHAR_UNI:100', ''),
|
||||
'user_email_hash' => array('BINT', 0),
|
||||
'user_birthday' => array('VCHAR:10', ''),
|
||||
@@ -1163,17 +1177,7 @@ $schema_data['phpbb_users'] = array(
|
||||
'user_sig' => array('MTEXT_UNI', ''),
|
||||
'user_sig_bbcode_uid' => array('VCHAR:8', ''),
|
||||
'user_sig_bbcode_bitfield' => array('VCHAR:255', ''),
|
||||
'user_from' => array('VCHAR_UNI:100', ''),
|
||||
'user_icq' => array('VCHAR:15', ''),
|
||||
'user_aim' => array('VCHAR_UNI', ''),
|
||||
'user_yim' => array('VCHAR_UNI', ''),
|
||||
'user_msnm' => array('VCHAR_UNI', ''),
|
||||
'user_jabber' => array('VCHAR_UNI', ''),
|
||||
'user_website' => array('VCHAR_UNI:200', ''),
|
||||
'user_occ' => array('TEXT_UNI', ''),
|
||||
'user_interests' => array('TEXT_UNI', ''),
|
||||
'user_actkey' => array('VCHAR:32', ''),
|
||||
'user_newpasswd' => array('VCHAR_UNI:40', ''),
|
||||
'user_form_salt' => array('VCHAR_UNI:32', ''),
|
||||
'user_new' => array('BOOL', 1),
|
||||
'user_reminded' => array('TINT:4', 0),
|
||||
|
@@ -367,41 +367,6 @@ function still_on_time($extra_time = 15)
|
||||
return (ceil($current_time - $start_time) < $max_execution_time) ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hash the password
|
||||
*
|
||||
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
|
||||
*
|
||||
* @param string $password Password to be hashed
|
||||
*
|
||||
* @return string|bool Password hash or false if something went wrong during hashing
|
||||
*/
|
||||
function phpbb_hash($password)
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$passwords_manager = $phpbb_container->get('passwords.manager');
|
||||
return $passwords_manager->hash($password);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for correct password
|
||||
*
|
||||
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
|
||||
*
|
||||
* @param string $password The password in plain text
|
||||
* @param string $hash The stored password hash
|
||||
*
|
||||
* @return bool Returns true if the password is correct, false if not.
|
||||
*/
|
||||
function phpbb_check_hash($password, $hash)
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$passwords_manager = $phpbb_container->get('passwords.manager');
|
||||
return $passwords_manager->check($password, $hash);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hashes an email address to a big integer
|
||||
*
|
||||
@@ -885,46 +850,6 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Eliminates useless . and .. components from specified path.
|
||||
*
|
||||
* Deprecated, use filesystem class instead
|
||||
*
|
||||
* @param string $path Path to clean
|
||||
* @return string Cleaned path
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function phpbb_clean_path($path)
|
||||
{
|
||||
global $phpbb_path_helper, $phpbb_container;
|
||||
|
||||
if (!$phpbb_path_helper && $phpbb_container)
|
||||
{
|
||||
$phpbb_path_helper = $phpbb_container->get('path_helper');
|
||||
}
|
||||
else if (!$phpbb_path_helper)
|
||||
{
|
||||
// The container is not yet loaded, use a new instance
|
||||
if (!class_exists('\phpbb\path_helper'))
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
require($phpbb_root_path . 'phpbb/path_helper.' . $phpEx);
|
||||
}
|
||||
|
||||
$phpbb_path_helper = new phpbb\path_helper(
|
||||
new phpbb\symfony_request(
|
||||
new phpbb\request\request()
|
||||
),
|
||||
new phpbb\filesystem(),
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
}
|
||||
|
||||
return $phpbb_path_helper->clean_path($path);
|
||||
}
|
||||
|
||||
// functions used for building option fields
|
||||
|
||||
/**
|
||||
@@ -2419,7 +2344,7 @@ function reapply_sid($url)
|
||||
*/
|
||||
function build_url($strip_vars = false)
|
||||
{
|
||||
global $user, $phpbb_root_path;
|
||||
global $config, $user, $phpEx, $phpbb_root_path;
|
||||
|
||||
$page = $user->page['page'];
|
||||
|
||||
@@ -2432,6 +2357,12 @@ function build_url($strip_vars = false)
|
||||
// URL
|
||||
if ($url_parts === false || empty($url_parts['scheme']) || empty($url_parts['host']))
|
||||
{
|
||||
// Remove 'app.php/' from the page, when rewrite is enabled
|
||||
if ($config['enable_mod_rewrite'] && strpos($page, 'app.' . $phpEx . '/') === 0)
|
||||
{
|
||||
$page = substr($page, strlen('app.' . $phpEx . '/'));
|
||||
}
|
||||
|
||||
$page = $phpbb_root_path . $page;
|
||||
}
|
||||
|
||||
@@ -3192,7 +3123,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')))
|
||||
@@ -3209,7 +3140,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;
|
||||
@@ -4977,7 +4912,7 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
||||
'S_TOPIC_ID' => $topic_id,
|
||||
|
||||
'S_LOGIN_ACTION' => ((!defined('ADMIN_START')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') : append_sid("{$phpbb_admin_path}index.$phpEx", false, true, $user->session_id)),
|
||||
'S_LOGIN_REDIRECT' => build_hidden_fields(array('redirect' => build_url())),
|
||||
'S_LOGIN_REDIRECT' => build_hidden_fields(array('redirect' => $phpbb_path_helper->remove_web_root_path(build_url()))),
|
||||
|
||||
'S_ENABLE_FEEDS' => ($config['feed_enable']) ? true : false,
|
||||
'S_ENABLE_FEEDS_OVERALL' => ($config['feed_overall']) ? true : false,
|
||||
|
@@ -731,7 +731,32 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s
|
||||
*/
|
||||
function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = true, $post_count_sync = true, $call_delete_topics = true)
|
||||
{
|
||||
global $db, $config, $phpbb_root_path, $phpEx, $auth, $user, $phpbb_container;
|
||||
global $db, $config, $phpbb_root_path, $phpEx, $auth, $user, $phpbb_container, $phpbb_dispatcher;
|
||||
|
||||
// Notifications types to delete
|
||||
$delete_notifications_types = array(
|
||||
'quote',
|
||||
'bookmark',
|
||||
'post',
|
||||
'approve_post',
|
||||
'post_in_queue',
|
||||
);
|
||||
|
||||
/**
|
||||
* Perform additional actions before post(s) deletion
|
||||
*
|
||||
* @event core.delete_posts_before
|
||||
* @var string where_type Variable containing posts deletion mode
|
||||
* @var mixed where_ids Array or comma separated list of posts ids to delete
|
||||
* @var bool auto_sync Flag indicating if topics/forums should be synchronized
|
||||
* @var bool posted_sync Flag indicating if topics_posted table should be resynchronized
|
||||
* @var bool post_count_sync Flag indicating if posts count should be resynchronized
|
||||
* @var bool call_delete_topics Flag indicating if topics having no posts should be deleted
|
||||
* @var array delete_notifications_types Array with notifications types to delete
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
$vars = array('where_type', 'where_ids', 'auto_sync', 'posted_sync', 'post_count_sync', 'call_delete_topics', 'delete_notifications_types');
|
||||
extract($phpbb_dispatcher->trigger_event('core.delete_posts_before', compact($vars)));
|
||||
|
||||
if ($where_type === 'range')
|
||||
{
|
||||
@@ -874,8 +899,40 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
|
||||
|
||||
delete_attachments('post', $post_ids, false);
|
||||
|
||||
/**
|
||||
* Perform additional actions during post(s) deletion
|
||||
*
|
||||
* @event core.delete_posts_in_transaction
|
||||
* @var array post_ids Array with deleted posts' ids
|
||||
* @var array poster_ids Array with deleted posts' author ids
|
||||
* @var array topic_ids Array with deleted posts' topic ids
|
||||
* @var array forum_ids Array with deleted posts' forum ids
|
||||
* @var string where_type Variable containing posts deletion mode
|
||||
* @var mixed where_ids Array or comma separated list of posts ids to delete
|
||||
* @var array delete_notifications_types Array with notifications types to delete
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
$vars = array('post_ids', 'poster_ids', 'topic_ids', 'forum_ids', 'where_type', 'where_ids', 'delete_notifications_types');
|
||||
extract($phpbb_dispatcher->trigger_event('core.delete_posts_in_transaction', compact($vars)));
|
||||
|
||||
$db->sql_transaction('commit');
|
||||
|
||||
/**
|
||||
* Perform additional actions after post(s) deletion
|
||||
*
|
||||
* @event core.delete_posts_after
|
||||
* @var array post_ids Array with deleted posts' ids
|
||||
* @var array poster_ids Array with deleted posts' author ids
|
||||
* @var array topic_ids Array with deleted posts' topic ids
|
||||
* @var array forum_ids Array with deleted posts' forum ids
|
||||
* @var string where_type Variable containing posts deletion mode
|
||||
* @var mixed where_ids Array or comma separated list of posts ids to delete
|
||||
* @var array delete_notifications_types Array with notifications types to delete
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
$vars = array('post_ids', 'poster_ids', 'topic_ids', 'forum_ids', 'where_type', 'where_ids', 'delete_notifications_types');
|
||||
extract($phpbb_dispatcher->trigger_event('core.delete_posts_after', compact($vars)));
|
||||
|
||||
// Resync topics_posted table
|
||||
if ($posted_sync)
|
||||
{
|
||||
@@ -902,13 +959,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
|
||||
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
|
||||
$phpbb_notifications->delete_notifications(array(
|
||||
'quote',
|
||||
'bookmark',
|
||||
'post',
|
||||
'approve_post',
|
||||
'post_in_queue',
|
||||
), $post_ids);
|
||||
$phpbb_notifications->delete_notifications($delete_notifications_types, $post_ids);
|
||||
|
||||
return sizeof($post_ids);
|
||||
}
|
||||
@@ -2990,7 +3041,7 @@ function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port
|
||||
return $file_info;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Tidy Warnings
|
||||
* Remove all warnings which have now expired from the database
|
||||
* The duration of a warning can be defined by the administrator
|
||||
@@ -3099,45 +3150,6 @@ function add_permission_language()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains the latest version information
|
||||
*
|
||||
* @param bool $force_update Ignores cached data. Defaults to false.
|
||||
* @param bool $warn_fail Trigger a warning if obtaining the latest version information fails. Defaults to false.
|
||||
* @param int $ttl Cache version information for $ttl seconds. Defaults to 86400 (24 hours).
|
||||
*
|
||||
* @return string | false Version info on success, false on failure.
|
||||
*/
|
||||
function obtain_latest_version_info($force_update = false, $warn_fail = false, $ttl = 86400)
|
||||
{
|
||||
global $cache;
|
||||
|
||||
$info = $cache->get('versioncheck');
|
||||
|
||||
if ($info === false || $force_update)
|
||||
{
|
||||
$errstr = '';
|
||||
$errno = 0;
|
||||
|
||||
$info = get_remote_file('version.phpbb.com', '/phpbb',
|
||||
((defined('PHPBB_QA')) ? '30x_qa.txt' : '30x.txt'), $errstr, $errno);
|
||||
|
||||
if (empty($info))
|
||||
{
|
||||
$cache->destroy('versioncheck');
|
||||
if ($warn_fail)
|
||||
{
|
||||
trigger_error($errstr, E_USER_WARNING);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
$cache->put('versioncheck', $info, $ttl);
|
||||
}
|
||||
|
||||
return $info;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables a particular flag in a bitfield column of a given table.
|
||||
*
|
||||
|
@@ -48,3 +48,78 @@ function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $
|
||||
|
||||
return phpbb_get_avatar($row, $alt, $ignore_config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hash the password
|
||||
*
|
||||
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
|
||||
*
|
||||
* @param string $password Password to be hashed
|
||||
*
|
||||
* @return string|bool Password hash or false if something went wrong during hashing
|
||||
*/
|
||||
function phpbb_hash($password)
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$passwords_manager = $phpbb_container->get('passwords.manager');
|
||||
return $passwords_manager->hash($password);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for correct password
|
||||
*
|
||||
* @deprecated 3.1.0-a2 (To be removed: 3.3.0)
|
||||
*
|
||||
* @param string $password The password in plain text
|
||||
* @param string $hash The stored password hash
|
||||
*
|
||||
* @return bool Returns true if the password is correct, false if not.
|
||||
*/
|
||||
function phpbb_check_hash($password, $hash)
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$passwords_manager = $phpbb_container->get('passwords.manager');
|
||||
return $passwords_manager->check($password, $hash);
|
||||
}
|
||||
|
||||
/**
|
||||
* Eliminates useless . and .. components from specified path.
|
||||
*
|
||||
* Deprecated, use filesystem class instead
|
||||
*
|
||||
* @param string $path Path to clean
|
||||
* @return string Cleaned path
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function phpbb_clean_path($path)
|
||||
{
|
||||
global $phpbb_path_helper, $phpbb_container;
|
||||
|
||||
if (!$phpbb_path_helper && $phpbb_container)
|
||||
{
|
||||
$phpbb_path_helper = $phpbb_container->get('path_helper');
|
||||
}
|
||||
else if (!$phpbb_path_helper)
|
||||
{
|
||||
// The container is not yet loaded, use a new instance
|
||||
if (!class_exists('\phpbb\path_helper'))
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
require($phpbb_root_path . 'phpbb/path_helper.' . $phpEx);
|
||||
}
|
||||
|
||||
$phpbb_path_helper = new phpbb\path_helper(
|
||||
new phpbb\symfony_request(
|
||||
new phpbb\request\request()
|
||||
),
|
||||
new phpbb\filesystem(),
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
}
|
||||
|
||||
return $phpbb_path_helper->clean_path($path);
|
||||
}
|
||||
|
@@ -441,7 +441,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
}
|
||||
}
|
||||
|
||||
$l_subforums = (sizeof($subforums[$forum_id]) == 1) ? $user->lang['SUBFORUM'] . ': ' : $user->lang['SUBFORUMS'] . ': ';
|
||||
$l_subforums = (sizeof($subforums[$forum_id]) == 1) ? $user->lang['SUBFORUM'] : $user->lang['SUBFORUMS'];
|
||||
$folder_image = ($forum_unread) ? 'forum_unread_subforum' : 'forum_read_subforum';
|
||||
}
|
||||
else
|
||||
@@ -962,6 +962,7 @@ function display_custom_bbcodes()
|
||||
'BBCODE_NAME' => "'[{$row['bbcode_tag']}]', '[/" . str_replace('=', '', $row['bbcode_tag']) . "]'",
|
||||
'BBCODE_ID' => $num_predefined_bbcodes + ($i * 2),
|
||||
'BBCODE_TAG' => $row['bbcode_tag'],
|
||||
'BBCODE_TAG_CLEAN' => str_replace('=', '-', $row['bbcode_tag']),
|
||||
'BBCODE_HELPLINE' => $row['bbcode_helpline'],
|
||||
'A_BBCODE_HELPLINE' => str_replace(array('&', '"', "'", '<', '>'), array('&', '"', "\'", '<', '>'), $row['bbcode_helpline']),
|
||||
);
|
||||
|
@@ -625,17 +625,29 @@ function phpbb_increment_downloads($db, $ids)
|
||||
*/
|
||||
function phpbb_download_handle_forum_auth($db, $auth, $topic_id)
|
||||
{
|
||||
$sql = 'SELECT t.forum_id, f.forum_name, f.forum_password, f.parent_id
|
||||
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . " f
|
||||
WHERE t.topic_id = " . (int) $topic_id . "
|
||||
AND t.forum_id = f.forum_id";
|
||||
$sql_array = array(
|
||||
'SELECT' => 't.topic_visibility, t.forum_id, f.forum_name, f.forum_password, f.parent_id',
|
||||
'FROM' => array(
|
||||
TOPICS_TABLE => 't',
|
||||
FORUMS_TABLE => 'f',
|
||||
),
|
||||
'WHERE' => 't.topic_id = ' . (int) $topic_id . '
|
||||
AND t.forum_id = f.forum_id',
|
||||
);
|
||||
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']))
|
||||
if ($row && $row['topic_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $row['forum_id']))
|
||||
{
|
||||
if ($row && $row['forum_password'])
|
||||
send_status_line(404, 'Not Found');
|
||||
trigger_error('ERROR_NO_ATTACHMENT');
|
||||
}
|
||||
else if ($row && $auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']))
|
||||
{
|
||||
if ($row['forum_password'])
|
||||
{
|
||||
// Do something else ... ?
|
||||
login_forum_box($row);
|
||||
|
@@ -768,13 +768,15 @@ class queue
|
||||
|
||||
if (!$this->jabber->connect())
|
||||
{
|
||||
messenger::error('JABBER', $user->lang['ERR_JAB_CONNECT']);
|
||||
$messenger = new messenger();
|
||||
$messenger->error('JABBER', $user->lang['ERR_JAB_CONNECT']);
|
||||
continue 2;
|
||||
}
|
||||
|
||||
if (!$this->jabber->login())
|
||||
{
|
||||
messenger::error('JABBER', $user->lang['ERR_JAB_AUTH']);
|
||||
$messenger = new messenger();
|
||||
$messenger->error('JABBER', $user->lang['ERR_JAB_AUTH']);
|
||||
continue 2;
|
||||
}
|
||||
|
||||
@@ -807,7 +809,8 @@ class queue
|
||||
|
||||
if (!$result)
|
||||
{
|
||||
messenger::error('EMAIL', $err_msg);
|
||||
$messenger = new messenger();
|
||||
$messenger->error('EMAIL', $err_msg);
|
||||
continue 2;
|
||||
}
|
||||
break;
|
||||
@@ -817,7 +820,8 @@ class queue
|
||||
{
|
||||
if ($this->jabber->send_message($address, $msg, $subject) === false)
|
||||
{
|
||||
messenger::error('JABBER', $this->jabber->get_log());
|
||||
$messenger = new messenger();
|
||||
$messenger->error('JABBER', $this->jabber->get_log());
|
||||
continue 3;
|
||||
}
|
||||
}
|
||||
|
@@ -125,8 +125,17 @@ class p_master
|
||||
|
||||
// Clean up module cache array to only let survive modules the user can access
|
||||
$right_id = false;
|
||||
|
||||
$hide_categories = array();
|
||||
foreach ($this->module_cache['modules'] as $key => $row)
|
||||
{
|
||||
// When the module has no mode (category) we check whether it has visible children
|
||||
// before listing it as well.
|
||||
if (!$row['module_mode'])
|
||||
{
|
||||
$hide_categories[(int) $row['module_id']] = $key;
|
||||
}
|
||||
|
||||
// Not allowed to view module?
|
||||
if (!$this->module_auth_self($row['module_auth']))
|
||||
{
|
||||
@@ -161,6 +170,22 @@ class p_master
|
||||
$right_id = $row['right_id'];
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($row['module_mode'])
|
||||
{
|
||||
// The parent category has a visible child
|
||||
// So remove it and all its parents from the hide array
|
||||
unset($hide_categories[(int) $row['parent_id']]);
|
||||
foreach ($this->module_cache['parents'][$row['module_id']] as $module_id => $row_id)
|
||||
{
|
||||
unset($hide_categories[$module_id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($hide_categories as $module_id => $row_id)
|
||||
{
|
||||
unset($this->module_cache['modules'][$row_id]);
|
||||
}
|
||||
|
||||
// Re-index (this is needed, else we are not able to array_slice later)
|
||||
@@ -495,7 +520,7 @@ class p_master
|
||||
|
||||
if ($this->active_module === false)
|
||||
{
|
||||
trigger_error('Module not accessible', E_USER_ERROR);
|
||||
trigger_error('MODULE_NOT_ACCESS', E_USER_ERROR);
|
||||
}
|
||||
|
||||
// new modules use the full class names, old ones are always called <type>_<name>, e.g. acp_board
|
||||
@@ -503,14 +528,14 @@ class p_master
|
||||
{
|
||||
if (!file_exists("$module_path/{$this->p_name}.$phpEx"))
|
||||
{
|
||||
trigger_error("Cannot find module $module_path/{$this->p_name}.$phpEx", E_USER_ERROR);
|
||||
trigger_error($user->lang('MODULE_NOT_FIND', "$module_path/{$this->p_name}.$phpEx"), E_USER_ERROR);
|
||||
}
|
||||
|
||||
include("$module_path/{$this->p_name}.$phpEx");
|
||||
|
||||
if (!class_exists($this->p_name))
|
||||
{
|
||||
trigger_error("Module file $module_path/{$this->p_name}.$phpEx does not contain correct class [{$this->p_name}]", E_USER_ERROR);
|
||||
trigger_error($user->lang('MODULE_FILE_INCORRECT_CLASS', "$module_path/{$this->p_name}.$phpEx", $this->p_name), E_USER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -21,8 +21,10 @@ if (!defined('IN_PHPBB'))
|
||||
function generate_smilies($mode, $forum_id)
|
||||
{
|
||||
global $db, $user, $config, $template, $phpbb_dispatcher;
|
||||
global $phpEx, $phpbb_root_path;
|
||||
global $phpEx, $phpbb_root_path, $phpbb_container;
|
||||
|
||||
$base_url = append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=smilies&f=' . $forum_id);
|
||||
$pagination = $phpbb_container->get('pagination');
|
||||
$start = request_var('start', 0);
|
||||
|
||||
if ($mode == 'window')
|
||||
@@ -61,7 +63,8 @@ function generate_smilies($mode, $forum_id)
|
||||
'body' => 'posting_smilies.html')
|
||||
);
|
||||
|
||||
generate_pagination(append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=smilies&f=' . $forum_id), $smiley_count, $config['smilies_per_page'], $start);
|
||||
$start = $pagination->validate_start($start, $config['smilies_per_page'], $smiley_count);
|
||||
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $smiley_count, $config['smilies_per_page'], $start);
|
||||
}
|
||||
|
||||
$display_link = false;
|
||||
@@ -139,8 +142,8 @@ function generate_smilies($mode, $forum_id)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_SHOW_SMILEY_LINK' => true,
|
||||
'U_MORE_SMILIES' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=smilies&f=' . $forum_id))
|
||||
);
|
||||
'U_MORE_SMILIES' => $base_url,
|
||||
));
|
||||
}
|
||||
|
||||
if ($mode == 'window')
|
||||
@@ -1476,6 +1479,22 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||
{
|
||||
global $db, $auth, $user, $config, $phpEx, $template, $phpbb_root_path, $phpbb_container, $phpbb_dispatcher;
|
||||
|
||||
/**
|
||||
* Modify the data for post submitting
|
||||
*
|
||||
* @event core.modify_submit_post_data
|
||||
* @var string mode Variable containing posting mode value
|
||||
* @var string subject Variable containing post subject value
|
||||
* @var string username Variable containing post author name
|
||||
* @var int topic_type Variable containing topic type value
|
||||
* @var array poll Array with the poll data for the post
|
||||
* @var array data Array with the data for the post
|
||||
* @var bool update_message Flag indicating if the post will be updated
|
||||
* @var bool update_search_index Flag indicating if the search index will be updated
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
extract($phpbb_dispatcher->trigger_event('core.modify_submit_post_data', compact(array('mode', 'subject', 'username', 'topic_type', 'poll', 'data', 'update_message', 'update_search_index'))));
|
||||
|
||||
// We do not handle erasing posts here
|
||||
if ($mode == 'delete')
|
||||
{
|
||||
|
@@ -1561,7 +1561,7 @@ function get_folder_status($folder_id, $folder)
|
||||
'percent' => ($user->data['message_limit']) ? (($user->data['message_limit'] > 0) ? round(($folder['num_messages'] / $user->data['message_limit']) * 100) : 100) : 0,
|
||||
);
|
||||
|
||||
$return['message'] = $user->lang('FOLDER_STATUS_MSG', (int) $return['max'], $return['cur'], $return['percent']);
|
||||
$return['message'] = $user->lang('FOLDER_STATUS_MSG', $user->lang('MESSAGES_COUNT', (int) $return['max']), $return['cur'], $return['percent']);
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
@@ -279,7 +279,7 @@ class ftp extends transfer
|
||||
}
|
||||
|
||||
// Init some needed values
|
||||
transfer::transfer();
|
||||
$this->transfer();
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -533,7 +533,7 @@ class ftp_fsock extends transfer
|
||||
}
|
||||
|
||||
// Init some needed values
|
||||
transfer::transfer();
|
||||
$this->transfer();
|
||||
|
||||
return;
|
||||
}
|
||||
|
@@ -53,8 +53,8 @@ function phpbb_get_url_matcher(\phpbb\extension\finder $finder, RequestContext $
|
||||
*/
|
||||
function phpbb_create_dumped_url_matcher(\phpbb\extension\finder $finder, $root_path, $php_ext)
|
||||
{
|
||||
$provider = new \phpbb\controller\provider();
|
||||
$routes = $provider->import_paths_from_finder($finder)->find($root_path);
|
||||
$provider = new \phpbb\controller\provider($finder);
|
||||
$routes = $provider->find($root_path)->get_routes();
|
||||
$dumper = new PhpMatcherDumper($routes);
|
||||
$cached_url_matcher_dump = $dumper->dump(array(
|
||||
'class' => 'phpbb_url_matcher',
|
||||
@@ -72,8 +72,8 @@ function phpbb_create_dumped_url_matcher(\phpbb\extension\finder $finder, $root_
|
||||
*/
|
||||
function phpbb_create_url_matcher(\phpbb\extension\finder $finder, RequestContext $context, $root_path)
|
||||
{
|
||||
$provider = new \phpbb\controller\provider();
|
||||
$routes = $provider->import_paths_from_finder($finder)->find($root_path);
|
||||
$provider = new \phpbb\controller\provider($finder);
|
||||
$routes = $provider->find($root_path)->get_routes();
|
||||
return new UrlMatcher($routes, $context);
|
||||
}
|
||||
|
||||
|
@@ -210,8 +210,6 @@ function user_add($user_row, $cp_data = false)
|
||||
'user_lastpage' => '',
|
||||
'user_posts' => 0,
|
||||
'user_colour' => '',
|
||||
'user_occ' => '',
|
||||
'user_interests' => '',
|
||||
'user_avatar' => '',
|
||||
'user_avatar_type' => '',
|
||||
'user_avatar_width' => 0,
|
||||
|
@@ -135,7 +135,6 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
||||
|
||||
'S_MCP_ACTION' => $url . "&i=$id&forum_action=$action&mode=$mode&start=$start" . (($merge_select) ? $selected_ids : ''),
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $forum_topics, $topics_per_page, $start),
|
||||
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $forum_topics),
|
||||
));
|
||||
|
||||
|
@@ -177,7 +177,6 @@ class mcp_logs
|
||||
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $log_count, $config['topics_per_page'], $start);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $log_count, $config['topics_per_page'], $start),
|
||||
'TOTAL' => $user->lang('TOTAL_LOGS', (int) $log_count),
|
||||
|
||||
'L_TITLE' => $user->lang['MCP_LOGS'],
|
||||
|
@@ -34,6 +34,7 @@ class mcp_main
|
||||
{
|
||||
global $auth, $db, $user, $template, $action;
|
||||
global $config, $phpbb_root_path, $phpEx, $request;
|
||||
global $phpbb_dispatcher;
|
||||
|
||||
$quickmod = ($mode == 'quickmod') ? true : false;
|
||||
|
||||
@@ -151,6 +152,16 @@ class mcp_main
|
||||
|
||||
mcp_restore_topic($topic_ids);
|
||||
break;
|
||||
|
||||
default:
|
||||
/**
|
||||
* This event allows you to handle custom quickmod options
|
||||
*
|
||||
* @event core.modify_quickmod_actions
|
||||
* @since 3.1.0-a4
|
||||
*/
|
||||
$phpbb_dispatcher->dispatch('core.modify_quickmod_actions');
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($mode)
|
||||
|
@@ -229,7 +229,6 @@ class mcp_notes
|
||||
|
||||
'L_TITLE' => $user->lang['MCP_NOTES_USER'],
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $log_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $log_count),
|
||||
|
||||
'RANK_TITLE' => $rank_title,
|
||||
|
@@ -309,7 +309,6 @@ class mcp_pm_reports
|
||||
'S_MCP_ACTION' => $this->u_action,
|
||||
'S_CLOSED' => ($mode == 'pm_reports_closed') ? true : false,
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $total, $config['topics_per_page'], $start),
|
||||
'TOTAL' => $total,
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $total),
|
||||
)
|
||||
|
@@ -547,7 +547,6 @@ class mcp_queue
|
||||
'S_TOPICS' => $is_topics,
|
||||
'S_RESTORE' => $is_restore,
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $total, $config['topics_per_page'], $start),
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOTAL' => $user->lang(((!$is_topics) ? 'VIEW_TOPIC_POSTS' : 'VIEW_FORUM_TOPICS'), (int) $total),
|
||||
));
|
||||
|
@@ -423,7 +423,6 @@ class mcp_reports
|
||||
'S_FORUM_OPTIONS' => $forum_options,
|
||||
'S_CLOSED' => ($mode == 'reports_closed') ? true : false,
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $total, $config['topics_per_page'], $start),
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOTAL' => $total,
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $total),
|
||||
|
@@ -343,7 +343,6 @@ function mcp_topic_view($id, $mode, $action)
|
||||
'RETURN_TOPIC' => sprintf($user->lang['RETURN_TOPIC'], '<a href="' . append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f={$topic_info['forum_id']}&t={$topic_info['topic_id']}&start=$start") . '">', '</a>'),
|
||||
'RETURN_FORUM' => sprintf($user->lang['RETURN_FORUM'], '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", "f={$topic_info['forum_id']}&start=$start") . '">', '</a>'),
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $total, $posts_per_page, $start),
|
||||
'TOTAL_POSTS' => $user->lang('VIEW_TOPIC_POSTS', (int) $total),
|
||||
));
|
||||
}
|
||||
|
@@ -186,7 +186,6 @@ class mcp_warn
|
||||
'S_SELECT_SORT_KEY' => $s_sort_key,
|
||||
'S_SELECT_SORT_DAYS' => $s_limit_days,
|
||||
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $user_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $user_count),
|
||||
));
|
||||
}
|
||||
|
@@ -178,7 +178,6 @@ class ucp_attachments
|
||||
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $num_attachments, $config['topics_per_page'], $start);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $num_attachments, $config['topics_per_page'], $start),
|
||||
'TOTAL_ATTACHMENTS' => $num_attachments,
|
||||
|
||||
'L_TITLE' => $user->lang['UCP_ATTACHMENTS'],
|
||||
|
@@ -821,7 +821,6 @@ class ucp_groups
|
||||
$template->assign_vars(array(
|
||||
'S_LIST' => true,
|
||||
'S_ACTION_OPTIONS' => $s_action_options,
|
||||
'S_ON_PAGE' => $pagination->on_page($template, $user, $base_url, $total_members, $config['topics_per_page'], $start),
|
||||
|
||||
'U_ACTION' => $this->u_action . "&g=$group_id",
|
||||
'S_UCP_ACTION' => $this->u_action . "&g=$group_id",
|
||||
|
@@ -195,9 +195,6 @@ class ucp_main
|
||||
'POSTS_DAY' => $user->lang('POST_DAY', $posts_per_day),
|
||||
'POSTS_PCT' => $user->lang('POST_PCT', $percentage),
|
||||
|
||||
'OCCUPATION' => (!empty($row['user_occ'])) ? $row['user_occ'] : '',
|
||||
'INTERESTS' => (!empty($row['user_interests'])) ? $row['user_interests'] : '',
|
||||
|
||||
// 'S_GROUP_OPTIONS' => $group_options,
|
||||
|
||||
'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&sr=posts') : '',
|
||||
@@ -674,7 +671,6 @@ class ucp_main
|
||||
$pagination->generate_template_pagination($this->u_action, 'pagination', 'start', $topics_count, $config['topics_per_page'], $start);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => $pagination->on_page($this->u_action, $topics_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $topics_count),
|
||||
));
|
||||
}
|
||||
|
@@ -154,7 +154,6 @@ class ucp_notifications
|
||||
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $notifications['total_count'], $config['topics_per_page'], $start);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $notifications['total_count'], $config['topics_per_page'], $start),
|
||||
'TOTAL_COUNT' => $notifications['total_count'],
|
||||
'U_MARK_ALL' => $base_url . '&mark=all&token=' . generate_link_hash('mark_all_notifications_read'),
|
||||
));
|
||||
|
@@ -352,9 +352,10 @@ class ucp_pm
|
||||
else if ($action == 'view_message')
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_VIEW_MESSAGE' => true,
|
||||
'MSG_ID' => $msg_id)
|
||||
);
|
||||
'S_VIEW_MESSAGE' => true,
|
||||
'L_RETURN_TO_FOLDER' => $user->lang('RETURN_TO', $folder_status['folder_name']),
|
||||
'MSG_ID' => $msg_id,
|
||||
));
|
||||
|
||||
if (!$msg_id)
|
||||
{
|
||||
|
@@ -230,7 +230,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
// Something went wrong, only partially moved?
|
||||
if ($num_moved != $folder_row['pm_count'])
|
||||
{
|
||||
trigger_error($user->lang('MOVE_PM_ERROR', (int) $folder_row['pm_count'], $num_moved));
|
||||
trigger_error($user->lang('MOVE_PM_ERROR', $user->lang('MESSAGES_COUNT', (int) $folder_row['pm_count']), $num_moved));
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -421,7 +421,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
|
||||
$folder[PRIVMSGS_INBOX] = array(
|
||||
'folder_name' => $user->lang['PM_INBOX'],
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', (int) $user->data['message_limit'], $num_messages),
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', $user->lang('MESSAGES_COUNT', (int) $user->data['message_limit']), $num_messages),
|
||||
);
|
||||
|
||||
$sql = 'SELECT folder_id, folder_name, pm_count
|
||||
@@ -435,7 +435,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||
$num_user_folder++;
|
||||
$folder[$row['folder_id']] = array(
|
||||
'folder_name' => $row['folder_name'],
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', (int) $user->data['message_limit'], $row['pm_count']),
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', $user->lang('MESSAGES_COUNT', (int) $user->data['message_limit']), (int) $row['pm_count']),
|
||||
);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
@@ -458,7 +458,6 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $pm_count, $config['topics_per_page'], $start);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => $pagination->on_page($base_url, $pm_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_MESSAGES' => $user->lang('VIEW_PM_MESSAGES', (int) $pm_count),
|
||||
|
||||
'POST_IMG' => (!$auth->acl_get('u_sendpm')) ? $user->img('button_topic_locked', 'POST_PM_LOCKED') : $user->img('button_pm_new', 'POST_NEW_PM'),
|
||||
|
@@ -63,7 +63,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
{
|
||||
$cp = $phpbb_container->get('profilefields.manager');
|
||||
|
||||
$profile_fields = $cp->generate_profile_fields_template('grab', $author_id);
|
||||
$profile_fields = $cp->grab_profile_fields_data($author_id);
|
||||
}
|
||||
|
||||
// Assign TO/BCC Addresses to template
|
||||
@@ -173,7 +173,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
|
||||
if (isset($profile_fields[$author_id]))
|
||||
{
|
||||
$cp_row = $cp->generate_profile_fields_template('show', false, $profile_fields[$author_id]);
|
||||
$cp_row = $cp->generate_profile_fields_template_data($profile_fields[$author_id]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,7 +188,6 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
'AUTHOR_AVATAR' => (isset($user_info['avatar'])) ? $user_info['avatar'] : '',
|
||||
'AUTHOR_JOINED' => $user->format_date($user_info['user_regdate']),
|
||||
'AUTHOR_POSTS' => (int) $user_info['user_posts'],
|
||||
'AUTHOR_FROM' => (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',
|
||||
|
||||
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : ((isset($user_info['online']) && $user_info['online']) ? $user->img('icon_user_online', $user->lang['ONLINE']) : $user->img('icon_user_offline', $user->lang['OFFLINE'])),
|
||||
'S_ONLINE' => (!$config['load_onlinetrack']) ? false : ((isset($user_info['online']) && $user_info['online']) ? true : false),
|
||||
@@ -210,11 +209,6 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
'MESSAGE_ID' => $message_row['msg_id'],
|
||||
|
||||
'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($user_info['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $author_id) : '',
|
||||
'U_WWW' => (!empty($user_info['user_website'])) ? $user_info['user_website'] : '',
|
||||
'U_ICQ' => ($user_info['user_icq']) ? 'http://www.icq.com/people/' . urlencode($user_info['user_icq']) . '/' : '',
|
||||
'U_AIM' => ($user_info['user_aim'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=aim&u=' . $author_id) : '',
|
||||
'U_YIM' => ($user_info['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . urlencode($user_info['user_yim']) . '&.src=pg' : '',
|
||||
'U_MSN' => ($user_info['user_msnm'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=msnm&u=' . $author_id) : '',
|
||||
'U_JABBER' => ($user_info['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $author_id) : '',
|
||||
|
||||
'U_DELETE' => ($auth->acl_get('u_pm_delete')) ? "$url&mode=compose&action=delete&f=$folder_id&p=" . $message_row['msg_id'] : '',
|
||||
@@ -275,7 +269,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
// Display not already displayed Attachments for this post, we already parsed them. ;)
|
||||
if (isset($attachments) && sizeof($attachments))
|
||||
{
|
||||
$methods = phpbb_gen_download_links('post_msg_id', $msg_id, $phpbb_root_path, $phpEx);
|
||||
$methods = phpbb_gen_download_links('msg_id', $msg_id, $phpbb_root_path, $phpEx);
|
||||
foreach ($methods as $method)
|
||||
{
|
||||
$template->assign_block_vars('dl_method', $method);
|
||||
|
@@ -264,15 +264,7 @@ class ucp_profile
|
||||
$cp_data = $cp_error = array();
|
||||
|
||||
$data = array(
|
||||
'icq' => request_var('icq', $user->data['user_icq']),
|
||||
'aim' => request_var('aim', $user->data['user_aim']),
|
||||
'msn' => request_var('msn', $user->data['user_msnm']),
|
||||
'yim' => request_var('yim', $user->data['user_yim']),
|
||||
'jabber' => utf8_normalize_nfc(request_var('jabber', $user->data['user_jabber'], true)),
|
||||
'website' => request_var('website', $user->data['user_website']),
|
||||
'location' => utf8_normalize_nfc(request_var('location', $user->data['user_from'], true)),
|
||||
'occupation' => utf8_normalize_nfc(request_var('occupation', $user->data['user_occ'], true)),
|
||||
'interests' => utf8_normalize_nfc(request_var('interests', $user->data['user_interests'], true)),
|
||||
);
|
||||
|
||||
if ($config['allow_birthdays'])
|
||||
@@ -295,21 +287,9 @@ class ucp_profile
|
||||
if ($submit)
|
||||
{
|
||||
$validate_array = array(
|
||||
'icq' => array(
|
||||
array('string', true, 3, 15),
|
||||
array('match', true, '#^[0-9]+$#i')),
|
||||
'aim' => array('string', true, 3, 255),
|
||||
'msn' => array('string', true, 5, 255),
|
||||
'jabber' => array(
|
||||
array('string', true, 5, 255),
|
||||
array('jabber')),
|
||||
'yim' => array('string', true, 5, 255),
|
||||
'website' => array(
|
||||
array('string', true, 12, 255),
|
||||
array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')),
|
||||
'location' => array('string', true, 2, 100),
|
||||
'occupation' => array('string', true, 2, 500),
|
||||
'interests' => array('string', true, 2, 500),
|
||||
);
|
||||
|
||||
if ($config['allow_birthdays'])
|
||||
@@ -349,15 +329,7 @@ class ucp_profile
|
||||
}
|
||||
|
||||
$sql_ary = array(
|
||||
'user_icq' => $data['icq'],
|
||||
'user_aim' => $data['aim'],
|
||||
'user_msnm' => $data['msn'],
|
||||
'user_yim' => $data['yim'],
|
||||
'user_jabber' => $data['jabber'],
|
||||
'user_website' => $data['website'],
|
||||
'user_from' => $data['location'],
|
||||
'user_occ' => $data['occupation'],
|
||||
'user_interests'=> $data['interests'],
|
||||
'user_notify_type' => $data['notify'],
|
||||
);
|
||||
|
||||
@@ -419,16 +391,7 @@ class ucp_profile
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
'ICQ' => $data['icq'],
|
||||
'YIM' => $data['yim'],
|
||||
'AIM' => $data['aim'],
|
||||
'MSN' => $data['msn'],
|
||||
'JABBER' => $data['jabber'],
|
||||
'WEBSITE' => $data['website'],
|
||||
'LOCATION' => $data['location'],
|
||||
'OCCUPATION'=> $data['occupation'],
|
||||
'INTERESTS' => $data['interests'],
|
||||
));
|
||||
|
||||
// Get additional profile fields and assign them to the template block var 'profile_fields'
|
||||
|
@@ -33,7 +33,7 @@ $dbms = phpbb_convert_30_dbms_to_31($dbms);
|
||||
$convertor_data = array(
|
||||
'forum_name' => 'phpBB 2.0.x',
|
||||
'version' => '1.0.3',
|
||||
'phpbb_version' => '3.1.0-a3',
|
||||
'phpbb_version' => '3.1.0-b1',
|
||||
'author' => '<a href="https://www.phpbb.com/">phpBB Group</a>',
|
||||
'dbms' => $dbms,
|
||||
'dbhost' => $dbhost,
|
||||
@@ -906,15 +906,7 @@ if (!$get_info)
|
||||
array('user_inactive_reason', '', 'phpbb_inactive_reason'),
|
||||
array('user_inactive_time', '', 'phpbb_inactive_time'),
|
||||
|
||||
array('user_interests', 'users.user_interests', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_occ', 'users.user_occ', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_website', 'users.user_website', 'validate_website'),
|
||||
array('user_jabber', '', ''),
|
||||
array('user_msnm', 'users.user_msnm', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_yim', 'users.user_yim', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_aim', 'users.user_aim', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_icq', 'users.user_icq', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_from', 'users.user_from', array('function1' => 'phpbb_set_encoding')),
|
||||
array('user_rank', 'users.user_rank', 'intval'),
|
||||
array('user_permissions', '', ''),
|
||||
|
||||
@@ -954,6 +946,26 @@ if (!$get_info)
|
||||
|
||||
'where' => 'users.user_id <> -1',
|
||||
),
|
||||
|
||||
array(
|
||||
'target' => PROFILE_FIELDS_DATA_TABLE,
|
||||
'primary' => 'users.user_id',
|
||||
'query_first' => array(
|
||||
array('target', $convert->truncate_statement . PROFILE_FIELDS_DATA_TABLE),
|
||||
),
|
||||
|
||||
array('user_id', 'users.user_id', 'phpbb_user_id'),
|
||||
array('pf_phpbb_occupation', 'users.user_occ', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_interests', 'users.user_interests', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_location', 'users.user_from', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_icq', 'users.user_icq', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_wlm', 'users.user_msnm', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_yahoo', 'users.user_yim', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_aol', 'users.user_aim', array('function1' => 'phpbb_set_encoding')),
|
||||
array('pf_phpbb_website', 'users.user_website', 'validate_website'),
|
||||
|
||||
'where' => 'users.user_id <> -1',
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@@ -1718,6 +1718,7 @@ class install_install extends module
|
||||
$this->error('Unable to access the language directory', __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
$installed_languages = array();
|
||||
while (($file = readdir($dir)) !== false)
|
||||
{
|
||||
$path = $phpbb_root_path . 'language/' . $file;
|
||||
@@ -1741,6 +1742,7 @@ class install_install extends module
|
||||
|
||||
$db->sql_query('INSERT INTO ' . LANG_TABLE . ' ' . $db->sql_build_array('INSERT', $lang_pack));
|
||||
|
||||
$installed_languages[] = (int) $db->sql_nextid();
|
||||
if ($db->sql_error_triggered)
|
||||
{
|
||||
$error = $db->sql_error($db->sql_error_sql);
|
||||
@@ -1749,6 +1751,29 @@ class install_install extends module
|
||||
}
|
||||
}
|
||||
closedir($dir);
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM ' . PROFILE_FIELDS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$profile_fields = array();
|
||||
$insert_buffer = new \phpbb\db\sql_insert_buffer($db, PROFILE_LANG_TABLE);
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
foreach ($installed_languages as $lang_id)
|
||||
{
|
||||
$insert_buffer->insert(array(
|
||||
'field_id' => $row['field_id'],
|
||||
'lang_id' => $lang_id,
|
||||
'lang_name' => strtoupper(substr($row['field_name'], 6)),// Remove phpbb_ from field name
|
||||
'lang_explain' => '',
|
||||
'lang_default_value' => '',
|
||||
));
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$insert_buffer->flush();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -154,14 +154,23 @@ class install_update extends module
|
||||
));
|
||||
|
||||
// Get current and latest version
|
||||
if (($latest_version = $cache->get('_version_info')) === false)
|
||||
$version_helper = $phpbb_container->get('version_helper');
|
||||
try
|
||||
{
|
||||
$this->latest_version = $this->get_file('version_info');
|
||||
$cache->put('_version_info', $this->latest_version);
|
||||
$this->latest_version = $version_helper->get_latest_on_current_branch(true);
|
||||
}
|
||||
else
|
||||
catch (\RuntimeException $e)
|
||||
{
|
||||
$this->latest_version = $latest_version;
|
||||
$this->latest_version = false;
|
||||
|
||||
$update_info = array();
|
||||
include($phpbb_root_path . 'install/update/index.' . $phpEx);
|
||||
$info = (empty($update_info) || !is_array($update_info)) ? false : $update_info;
|
||||
|
||||
if ($info !== false)
|
||||
{
|
||||
$this->latest_version = (!empty($info['version']['to'])) ? trim($info['version']['to']) : false;
|
||||
}
|
||||
}
|
||||
|
||||
// For the current version we trick a bit. ;)
|
||||
@@ -1606,37 +1615,6 @@ class install_update extends module
|
||||
|
||||
switch ($mode)
|
||||
{
|
||||
case 'version_info':
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
$info = get_remote_file('version.phpbb.com', '/phpbb',
|
||||
((defined('PHPBB_QA')) ? '30x_qa.txt' : '30x.txt'), $errstr, $errno);
|
||||
|
||||
if ($info !== false)
|
||||
{
|
||||
$info = explode("\n", $info);
|
||||
$info = trim($info[0]);
|
||||
}
|
||||
|
||||
if ($this->test_update !== false)
|
||||
{
|
||||
$info = $this->test_update;
|
||||
}
|
||||
|
||||
// If info is false the fsockopen function may not be working. Instead get the latest version from our update file (and pray it is up-to-date)
|
||||
if ($info === false)
|
||||
{
|
||||
$update_info = array();
|
||||
include($phpbb_root_path . 'install/update/index.' . $phpEx);
|
||||
$info = (empty($update_info) || !is_array($update_info)) ? false : $update_info;
|
||||
|
||||
if ($info !== false)
|
||||
{
|
||||
$info = (!empty($info['version']['to'])) ? trim($info['version']['to']) : false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'update_info':
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
|
@@ -921,11 +921,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg INTEGER DEFAULT 0 NOT NULL,
|
||||
field_show_on_pm INTEGER DEFAULT 0 NOT NULL,
|
||||
field_show_on_vt INTEGER DEFAULT 0 NOT NULL,
|
||||
field_show_on_ml INTEGER DEFAULT 0 NOT NULL,
|
||||
field_show_profile INTEGER DEFAULT 0 NOT NULL,
|
||||
field_hide INTEGER DEFAULT 0 NOT NULL,
|
||||
field_no_view INTEGER DEFAULT 0 NOT NULL,
|
||||
field_active INTEGER DEFAULT 0 NOT NULL,
|
||||
field_order INTEGER DEFAULT 0 NOT NULL
|
||||
field_order INTEGER DEFAULT 0 NOT NULL,
|
||||
field_is_contact INTEGER DEFAULT 0 NOT NULL,
|
||||
field_contact_desc VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
field_contact_url VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL
|
||||
);;
|
||||
|
||||
ALTER TABLE phpbb_profile_fields ADD PRIMARY KEY (field_id);;
|
||||
@@ -946,7 +950,15 @@ END;;
|
||||
|
||||
# Table: 'phpbb_profile_fields_data'
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id INTEGER DEFAULT 0 NOT NULL
|
||||
user_id INTEGER DEFAULT 0 NOT NULL,
|
||||
pf_phpbb_location VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
pf_phpbb_interests BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
|
||||
pf_phpbb_occupation BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
|
||||
pf_phpbb_icq VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
pf_phpbb_aol VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
pf_phpbb_wlm VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
pf_phpbb_yahoo VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
pf_phpbb_website VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL
|
||||
);;
|
||||
|
||||
ALTER TABLE phpbb_profile_fields_data ADD PRIMARY KEY (user_id);;
|
||||
@@ -1368,6 +1380,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_passchg INTEGER DEFAULT 0 NOT NULL,
|
||||
user_pass_convert INTEGER DEFAULT 0 NOT NULL,
|
||||
user_actkey VARCHAR(32) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
user_newpasswd VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_email VARCHAR(100) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_email_hash DOUBLE PRECISION DEFAULT 0 NOT NULL,
|
||||
user_birthday VARCHAR(10) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
@@ -1416,17 +1430,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_uid VARCHAR(8) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_bitfield VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
user_from VARCHAR(100) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_icq VARCHAR(15) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
user_aim VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_yim VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_msnm VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_jabber VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_website VARCHAR(200) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_occ BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
|
||||
user_interests BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
|
||||
user_actkey VARCHAR(32) CHARACTER SET NONE DEFAULT '' NOT NULL,
|
||||
user_newpasswd VARCHAR(40) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_form_salt VARCHAR(32) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
|
||||
user_new INTEGER DEFAULT 1 NOT NULL,
|
||||
user_reminded INTEGER DEFAULT 0 NOT NULL,
|
||||
|
@@ -1127,11 +1127,15 @@ CREATE TABLE [phpbb_profile_fields] (
|
||||
[field_show_on_reg] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_show_on_pm] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_show_on_vt] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_show_on_ml] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_show_profile] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_hide] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_no_view] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_active] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_order] [int] DEFAULT (0) NOT NULL
|
||||
[field_order] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_is_contact] [int] DEFAULT (0) NOT NULL ,
|
||||
[field_contact_desc] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[field_contact_url] [varchar] (255) DEFAULT ('') NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
@@ -1153,7 +1157,15 @@ GO
|
||||
Table: 'phpbb_profile_fields_data'
|
||||
*/
|
||||
CREATE TABLE [phpbb_profile_fields_data] (
|
||||
[user_id] [int] DEFAULT (0) NOT NULL
|
||||
[user_id] [int] DEFAULT (0) NOT NULL ,
|
||||
[pf_phpbb_location] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_interests] [varchar] (4000) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_occupation] [varchar] (4000) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_icq] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_aol] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_wlm] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_yahoo] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[pf_phpbb_website] [varchar] (255) DEFAULT ('') NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
@@ -1684,6 +1696,8 @@ CREATE TABLE [phpbb_users] (
|
||||
[user_password] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_passchg] [int] DEFAULT (0) NOT NULL ,
|
||||
[user_pass_convert] [int] DEFAULT (0) NOT NULL ,
|
||||
[user_actkey] [varchar] (32) DEFAULT ('') NOT NULL ,
|
||||
[user_newpasswd] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_email] [varchar] (100) DEFAULT ('') NOT NULL ,
|
||||
[user_email_hash] [float] DEFAULT (0) NOT NULL ,
|
||||
[user_birthday] [varchar] (10) DEFAULT ('') NOT NULL ,
|
||||
@@ -1732,17 +1746,7 @@ CREATE TABLE [phpbb_users] (
|
||||
[user_sig] [text] DEFAULT ('') NOT NULL ,
|
||||
[user_sig_bbcode_uid] [varchar] (8) DEFAULT ('') NOT NULL ,
|
||||
[user_sig_bbcode_bitfield] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_from] [varchar] (100) DEFAULT ('') NOT NULL ,
|
||||
[user_icq] [varchar] (15) DEFAULT ('') NOT NULL ,
|
||||
[user_aim] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_yim] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_msnm] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_jabber] [varchar] (255) DEFAULT ('') NOT NULL ,
|
||||
[user_website] [varchar] (200) DEFAULT ('') NOT NULL ,
|
||||
[user_occ] [varchar] (4000) DEFAULT ('') NOT NULL ,
|
||||
[user_interests] [varchar] (4000) DEFAULT ('') NOT NULL ,
|
||||
[user_actkey] [varchar] (32) DEFAULT ('') NOT NULL ,
|
||||
[user_newpasswd] [varchar] (40) DEFAULT ('') NOT NULL ,
|
||||
[user_form_salt] [varchar] (32) DEFAULT ('') NOT NULL ,
|
||||
[user_new] [int] DEFAULT (1) NOT NULL ,
|
||||
[user_reminded] [int] DEFAULT (0) NOT NULL ,
|
||||
|
@@ -658,11 +658,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_pm tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_vt tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_ml tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_profile tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_hide tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_no_view tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_active tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_order mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_is_contact tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_contact_desc varbinary(255) DEFAULT '' NOT NULL,
|
||||
field_contact_url varbinary(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (field_id),
|
||||
KEY fld_type (field_type),
|
||||
KEY fld_ordr (field_order)
|
||||
@@ -672,6 +676,14 @@ CREATE TABLE phpbb_profile_fields (
|
||||
# Table: 'phpbb_profile_fields_data'
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
pf_phpbb_location varbinary(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_interests blob NOT NULL,
|
||||
pf_phpbb_occupation blob NOT NULL,
|
||||
pf_phpbb_icq varbinary(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_aol varbinary(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_wlm varbinary(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_yahoo varbinary(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_website varbinary(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (user_id)
|
||||
);
|
||||
|
||||
@@ -977,6 +989,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password blob NOT NULL,
|
||||
user_passchg int(11) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
user_pass_convert tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
user_actkey varbinary(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd blob NOT NULL,
|
||||
user_email blob NOT NULL,
|
||||
user_email_hash bigint(20) DEFAULT '0' NOT NULL,
|
||||
user_birthday varbinary(10) DEFAULT '' NOT NULL,
|
||||
@@ -1025,17 +1039,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig mediumblob NOT NULL,
|
||||
user_sig_bbcode_uid varbinary(8) DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL,
|
||||
user_from blob NOT NULL,
|
||||
user_icq varbinary(15) DEFAULT '' NOT NULL,
|
||||
user_aim blob NOT NULL,
|
||||
user_yim blob NOT NULL,
|
||||
user_msnm blob NOT NULL,
|
||||
user_jabber blob NOT NULL,
|
||||
user_website blob NOT NULL,
|
||||
user_occ blob NOT NULL,
|
||||
user_interests blob NOT NULL,
|
||||
user_actkey varbinary(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd varbinary(120) DEFAULT '' NOT NULL,
|
||||
user_form_salt varbinary(96) DEFAULT '' NOT NULL,
|
||||
user_new tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
|
||||
user_reminded tinyint(4) DEFAULT '0' NOT NULL,
|
||||
|
@@ -658,11 +658,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_pm tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_vt tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_on_ml tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_show_profile tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_hide tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_no_view tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_active tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_order mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_is_contact tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
field_contact_desc varchar(255) DEFAULT '' NOT NULL,
|
||||
field_contact_url varchar(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (field_id),
|
||||
KEY fld_type (field_type),
|
||||
KEY fld_ordr (field_order)
|
||||
@@ -672,6 +676,14 @@ CREATE TABLE phpbb_profile_fields (
|
||||
# Table: 'phpbb_profile_fields_data'
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
pf_phpbb_location varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_interests text NOT NULL,
|
||||
pf_phpbb_occupation text NOT NULL,
|
||||
pf_phpbb_icq varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_aol varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_wlm varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_yahoo varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_website varchar(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (user_id)
|
||||
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
|
||||
|
||||
@@ -977,6 +989,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password varchar(255) DEFAULT '' NOT NULL,
|
||||
user_passchg int(11) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
user_pass_convert tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
|
||||
user_actkey varchar(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd varchar(255) DEFAULT '' NOT NULL,
|
||||
user_email varchar(100) DEFAULT '' NOT NULL,
|
||||
user_email_hash bigint(20) DEFAULT '0' NOT NULL,
|
||||
user_birthday varchar(10) DEFAULT '' NOT NULL,
|
||||
@@ -1025,17 +1039,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig mediumtext NOT NULL,
|
||||
user_sig_bbcode_uid varchar(8) DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_bitfield varchar(255) DEFAULT '' NOT NULL,
|
||||
user_from varchar(100) DEFAULT '' NOT NULL,
|
||||
user_icq varchar(15) DEFAULT '' NOT NULL,
|
||||
user_aim varchar(255) DEFAULT '' NOT NULL,
|
||||
user_yim varchar(255) DEFAULT '' NOT NULL,
|
||||
user_msnm varchar(255) DEFAULT '' NOT NULL,
|
||||
user_jabber varchar(255) DEFAULT '' NOT NULL,
|
||||
user_website varchar(200) DEFAULT '' NOT NULL,
|
||||
user_occ text NOT NULL,
|
||||
user_interests text NOT NULL,
|
||||
user_actkey varchar(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd varchar(40) DEFAULT '' NOT NULL,
|
||||
user_form_salt varchar(32) DEFAULT '' NOT NULL,
|
||||
user_new tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
|
||||
user_reminded tinyint(4) DEFAULT '0' NOT NULL,
|
||||
|
@@ -1230,11 +1230,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg number(1) DEFAULT '0' NOT NULL,
|
||||
field_show_on_pm number(1) DEFAULT '0' NOT NULL,
|
||||
field_show_on_vt number(1) DEFAULT '0' NOT NULL,
|
||||
field_show_on_ml number(1) DEFAULT '0' NOT NULL,
|
||||
field_show_profile number(1) DEFAULT '0' NOT NULL,
|
||||
field_hide number(1) DEFAULT '0' NOT NULL,
|
||||
field_no_view number(1) DEFAULT '0' NOT NULL,
|
||||
field_active number(1) DEFAULT '0' NOT NULL,
|
||||
field_order number(8) DEFAULT '0' NOT NULL,
|
||||
field_is_contact number(1) DEFAULT '0' NOT NULL,
|
||||
field_contact_desc varchar2(255) DEFAULT '' ,
|
||||
field_contact_url varchar2(255) DEFAULT '' ,
|
||||
CONSTRAINT pk_phpbb_profile_fields PRIMARY KEY (field_id)
|
||||
)
|
||||
/
|
||||
@@ -1265,6 +1269,14 @@ END;
|
||||
*/
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id number(8) DEFAULT '0' NOT NULL,
|
||||
pf_phpbb_location varchar2(255) DEFAULT '' ,
|
||||
pf_phpbb_interests clob DEFAULT '' ,
|
||||
pf_phpbb_occupation clob DEFAULT '' ,
|
||||
pf_phpbb_icq varchar2(255) DEFAULT '' ,
|
||||
pf_phpbb_aol varchar2(255) DEFAULT '' ,
|
||||
pf_phpbb_wlm varchar2(255) DEFAULT '' ,
|
||||
pf_phpbb_yahoo varchar2(255) DEFAULT '' ,
|
||||
pf_phpbb_website varchar2(255) DEFAULT '' ,
|
||||
CONSTRAINT pk_phpbb_profile_fields_data PRIMARY KEY (user_id)
|
||||
)
|
||||
/
|
||||
@@ -1801,6 +1813,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password varchar2(765) DEFAULT '' ,
|
||||
user_passchg number(11) DEFAULT '0' NOT NULL,
|
||||
user_pass_convert number(1) DEFAULT '0' NOT NULL,
|
||||
user_actkey varchar2(32) DEFAULT '' ,
|
||||
user_newpasswd varchar2(765) DEFAULT '' ,
|
||||
user_email varchar2(300) DEFAULT '' ,
|
||||
user_email_hash number(20) DEFAULT '0' NOT NULL,
|
||||
user_birthday varchar2(10) DEFAULT '' ,
|
||||
@@ -1849,17 +1863,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig clob DEFAULT '' ,
|
||||
user_sig_bbcode_uid varchar2(8) DEFAULT '' ,
|
||||
user_sig_bbcode_bitfield varchar2(255) DEFAULT '' ,
|
||||
user_from varchar2(300) DEFAULT '' ,
|
||||
user_icq varchar2(15) DEFAULT '' ,
|
||||
user_aim varchar2(765) DEFAULT '' ,
|
||||
user_yim varchar2(765) DEFAULT '' ,
|
||||
user_msnm varchar2(765) DEFAULT '' ,
|
||||
user_jabber varchar2(765) DEFAULT '' ,
|
||||
user_website varchar2(600) DEFAULT '' ,
|
||||
user_occ clob DEFAULT '' ,
|
||||
user_interests clob DEFAULT '' ,
|
||||
user_actkey varchar2(32) DEFAULT '' ,
|
||||
user_newpasswd varchar2(120) DEFAULT '' ,
|
||||
user_form_salt varchar2(96) DEFAULT '' ,
|
||||
user_new number(1) DEFAULT '1' NOT NULL,
|
||||
user_reminded number(4) DEFAULT '0' NOT NULL,
|
||||
|
@@ -866,11 +866,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_reg >= 0),
|
||||
field_show_on_pm INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_pm >= 0),
|
||||
field_show_on_vt INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_vt >= 0),
|
||||
field_show_on_ml INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_ml >= 0),
|
||||
field_show_profile INT2 DEFAULT '0' NOT NULL CHECK (field_show_profile >= 0),
|
||||
field_hide INT2 DEFAULT '0' NOT NULL CHECK (field_hide >= 0),
|
||||
field_no_view INT2 DEFAULT '0' NOT NULL CHECK (field_no_view >= 0),
|
||||
field_active INT2 DEFAULT '0' NOT NULL CHECK (field_active >= 0),
|
||||
field_order INT4 DEFAULT '0' NOT NULL CHECK (field_order >= 0),
|
||||
field_is_contact INT2 DEFAULT '0' NOT NULL CHECK (field_is_contact >= 0),
|
||||
field_contact_desc varchar(255) DEFAULT '' NOT NULL,
|
||||
field_contact_url varchar(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (field_id)
|
||||
);
|
||||
|
||||
@@ -882,6 +886,14 @@ CREATE INDEX phpbb_profile_fields_fld_ordr ON phpbb_profile_fields (field_order)
|
||||
*/
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
|
||||
pf_phpbb_location varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_interests varchar(4000) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_occupation varchar(4000) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_icq varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_aol varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_wlm varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_yahoo varchar(255) DEFAULT '' NOT NULL,
|
||||
pf_phpbb_website varchar(255) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (user_id)
|
||||
);
|
||||
|
||||
@@ -1249,6 +1261,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password varchar(255) DEFAULT '' NOT NULL,
|
||||
user_passchg INT4 DEFAULT '0' NOT NULL CHECK (user_passchg >= 0),
|
||||
user_pass_convert INT2 DEFAULT '0' NOT NULL CHECK (user_pass_convert >= 0),
|
||||
user_actkey varchar(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd varchar(255) DEFAULT '' NOT NULL,
|
||||
user_email varchar(100) DEFAULT '' NOT NULL,
|
||||
user_email_hash INT8 DEFAULT '0' NOT NULL,
|
||||
user_birthday varchar(10) DEFAULT '' NOT NULL,
|
||||
@@ -1297,17 +1311,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig TEXT DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_uid varchar(8) DEFAULT '' NOT NULL,
|
||||
user_sig_bbcode_bitfield varchar(255) DEFAULT '' NOT NULL,
|
||||
user_from varchar(100) DEFAULT '' NOT NULL,
|
||||
user_icq varchar(15) DEFAULT '' NOT NULL,
|
||||
user_aim varchar(255) DEFAULT '' NOT NULL,
|
||||
user_yim varchar(255) DEFAULT '' NOT NULL,
|
||||
user_msnm varchar(255) DEFAULT '' NOT NULL,
|
||||
user_jabber varchar(255) DEFAULT '' NOT NULL,
|
||||
user_website varchar(200) DEFAULT '' NOT NULL,
|
||||
user_occ varchar(4000) DEFAULT '' NOT NULL,
|
||||
user_interests varchar(4000) DEFAULT '' NOT NULL,
|
||||
user_actkey varchar(32) DEFAULT '' NOT NULL,
|
||||
user_newpasswd varchar(40) DEFAULT '' NOT NULL,
|
||||
user_form_salt varchar(32) DEFAULT '' NOT NULL,
|
||||
user_new INT2 DEFAULT '1' NOT NULL CHECK (user_new >= 0),
|
||||
user_reminded INT2 DEFAULT '0' NOT NULL,
|
||||
|
@@ -171,10 +171,10 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('limit_load', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('limit_search_load', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_anon_lastread', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_birthdays', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_memberlist', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_pm', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_memberlist', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_pm', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_viewprofile', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_viewtopic', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_cpf_viewtopic', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_db_lastread', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_db_track', '1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('load_jquery_url', '//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js');
|
||||
@@ -269,7 +269,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_system_cron', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0-a3');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0-b1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');
|
||||
|
||||
@@ -467,10 +467,10 @@ INSERT INTO phpbb_forums (forum_name, forum_desc, left_id, right_id, parent_id,
|
||||
INSERT INTO phpbb_forums (forum_name, forum_desc, left_id, right_id, parent_id, forum_type, forum_posts_approved, forum_posts_unapproved, forum_posts_softdeleted, forum_topics_approved, forum_topics_unapproved, forum_topics_softdeleted, forum_last_post_id, forum_last_poster_id, forum_last_poster_name, forum_last_poster_colour, forum_last_post_subject, forum_last_post_time, forum_link, forum_password, forum_image, forum_rules, forum_rules_link, forum_rules_uid, forum_desc_uid, prune_days, prune_viewed, forum_parents, forum_flags) VALUES ('{L_FORUMS_TEST_FORUM_TITLE}', '{L_FORUMS_TEST_FORUM_DESC}', 2, 3, 1, 1, 1, 0, 0, 1, 0, 0, 1, 2, 'Admin', 'AA0000', '{L_TOPICS_TOPIC_TITLE}', 972086460, '', '', '', '', '', '', '', 0, 0, '', 48);
|
||||
|
||||
# -- Users / Anonymous user
|
||||
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_allow_massemail) VALUES (2, 1, 'Anonymous', 'anonymous', 0, '', '', 'en', 1, 0, '', 0, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0);
|
||||
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_jabber, user_actkey, user_newpasswd, user_allow_massemail) VALUES (2, 1, 'Anonymous', 'anonymous', 0, '', '', 'en', 1, 0, '', 0, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', 0);
|
||||
|
||||
# -- username: Admin password: admin (change this or remove it once everything is working!)
|
||||
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (3, 5, 'Admin', 'admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_jabber, user_actkey, user_newpasswd) VALUES (3, 5, 'Admin', 'admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '');
|
||||
|
||||
# -- Groups
|
||||
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('GUESTS', 3, 0, '', 0, '', '', '', 5);
|
||||
@@ -622,7 +622,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
|
||||
@@ -787,6 +787,16 @@ INSERT INTO phpbb_extensions (group_id, extension) VALUES (9, 'mp3');
|
||||
INSERT INTO phpbb_extensions (group_id, extension) VALUES (9, 'ogg');
|
||||
INSERT INTO phpbb_extensions (group_id, extension) VALUES (9, 'ogm');
|
||||
|
||||
# Add default profile fields
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_location', 'profilefields.type.string', 'phpbb_location', '20', '2', '100', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_website', 'profilefields.type.url', 'phpbb_website', '40', '12', '255', '', '', '', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 2, 1, 'VISIT_WEBSITE', '%s');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_interests', 'profilefields.type.text', 'phpbb_interests', '3|30', '2', '500', '', '', '.*', 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_occupation', 'profilefields.type.text', 'phpbb_occupation', '3|30', '2', '500', '', '', '.*', 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_aol', 'profilefields.type.string', 'phpbb_aol', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 5, 1, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_icq', 'profilefields.type.string', 'phpbb_icq', '20', '3', '15', '', '', '[0-9]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 6, 1, 'SEND_ICQ_MESSAGE', 'https://www.icq.com/people/%s/');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_wlm', 'profilefields.type.string', 'phpbb_wlm', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 7, 1, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'http://edit.yahoo.com/config/send_webmesg?.target=%s&.src=pg');
|
||||
|
||||
# User Notification Options (for first user)
|
||||
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, '');
|
||||
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, 'email');
|
||||
|
@@ -639,11 +639,15 @@ CREATE TABLE phpbb_profile_fields (
|
||||
field_show_on_reg INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_show_on_pm INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_show_on_vt INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_show_on_ml INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_show_profile INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_hide INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_no_view INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_active INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_order INTEGER UNSIGNED NOT NULL DEFAULT '0'
|
||||
field_order INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_is_contact INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
field_contact_desc varchar(255) NOT NULL DEFAULT '',
|
||||
field_contact_url varchar(255) NOT NULL DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE INDEX phpbb_profile_fields_fld_type ON phpbb_profile_fields (field_type);
|
||||
@@ -652,6 +656,14 @@ CREATE INDEX phpbb_profile_fields_fld_ordr ON phpbb_profile_fields (field_order)
|
||||
# Table: 'phpbb_profile_fields_data'
|
||||
CREATE TABLE phpbb_profile_fields_data (
|
||||
user_id INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
pf_phpbb_location varchar(255) NOT NULL DEFAULT '',
|
||||
pf_phpbb_interests text(65535) NOT NULL DEFAULT '',
|
||||
pf_phpbb_occupation text(65535) NOT NULL DEFAULT '',
|
||||
pf_phpbb_icq varchar(255) NOT NULL DEFAULT '',
|
||||
pf_phpbb_aol varchar(255) NOT NULL DEFAULT '',
|
||||
pf_phpbb_wlm varchar(255) NOT NULL DEFAULT '',
|
||||
pf_phpbb_yahoo varchar(255) NOT NULL DEFAULT '',
|
||||
pf_phpbb_website varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (user_id)
|
||||
);
|
||||
|
||||
@@ -948,6 +960,8 @@ CREATE TABLE phpbb_users (
|
||||
user_password varchar(255) NOT NULL DEFAULT '',
|
||||
user_passchg INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
user_pass_convert INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
user_actkey varchar(32) NOT NULL DEFAULT '',
|
||||
user_newpasswd varchar(255) NOT NULL DEFAULT '',
|
||||
user_email varchar(100) NOT NULL DEFAULT '',
|
||||
user_email_hash bigint(20) NOT NULL DEFAULT '0',
|
||||
user_birthday varchar(10) NOT NULL DEFAULT '',
|
||||
@@ -996,17 +1010,7 @@ CREATE TABLE phpbb_users (
|
||||
user_sig mediumtext(16777215) NOT NULL DEFAULT '',
|
||||
user_sig_bbcode_uid varchar(8) NOT NULL DEFAULT '',
|
||||
user_sig_bbcode_bitfield varchar(255) NOT NULL DEFAULT '',
|
||||
user_from varchar(100) NOT NULL DEFAULT '',
|
||||
user_icq varchar(15) NOT NULL DEFAULT '',
|
||||
user_aim varchar(255) NOT NULL DEFAULT '',
|
||||
user_yim varchar(255) NOT NULL DEFAULT '',
|
||||
user_msnm varchar(255) NOT NULL DEFAULT '',
|
||||
user_jabber varchar(255) NOT NULL DEFAULT '',
|
||||
user_website varchar(200) NOT NULL DEFAULT '',
|
||||
user_occ text(65535) NOT NULL DEFAULT '',
|
||||
user_interests text(65535) NOT NULL DEFAULT '',
|
||||
user_actkey varchar(32) NOT NULL DEFAULT '',
|
||||
user_newpasswd varchar(40) NOT NULL DEFAULT '',
|
||||
user_form_salt varchar(32) NOT NULL DEFAULT '',
|
||||
user_new INTEGER UNSIGNED NOT NULL DEFAULT '1',
|
||||
user_reminded tinyint(4) NOT NULL DEFAULT '0',
|
||||
|
@@ -45,7 +45,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.',
|
||||
'DISPLAY_LAST_SUBJECT' => 'Display subject of last added post on forum list',
|
||||
'DISPLAY_LAST_SUBJECT_EXPLAIN' => 'The subject of the last added post will be displayed in the forum list with a hyperlink to the post. Subjects from password protected forums and forums in which user doesn’t have read access are not shown.',
|
||||
'OVERRIDE_STYLE' => 'Override user style',
|
||||
|
@@ -61,7 +61,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'ACP_CAT_CUSTOMISE' => 'Customise',
|
||||
'ACP_CAT_DATABASE' => 'Database',
|
||||
'ACP_CAT_DOT_MODS' => '.MODs',
|
||||
'ACP_CAT_DOT_MODS' => 'Extensions',
|
||||
'ACP_CAT_FORUMS' => 'Forums',
|
||||
'ACP_CAT_GENERAL' => 'General',
|
||||
'ACP_CAT_MAINTENANCE' => 'Maintenance',
|
||||
@@ -83,7 +83,7 @@ $lang = array_merge($lang, array(
|
||||
'ACP_EMAIL_SETTINGS' => 'Email settings',
|
||||
'ACP_EXTENSION_GROUPS' => 'Manage attachment extension groups',
|
||||
'ACP_EXTENSION_MANAGEMENT' => 'Extension management',
|
||||
'ACP_EXTENSIONS' => 'Extensions',
|
||||
'ACP_EXTENSIONS' => 'Manage extensions',
|
||||
|
||||
|
||||
'ACP_FORUM_BASED_PERMISSIONS' => 'Forum based permissions',
|
||||
@@ -288,7 +288,6 @@ $lang = array_merge($lang, array(
|
||||
'RESYNC' => 'Resynchronise',
|
||||
'RESYNC_FILES_STATS' => 'Resynchronise files statistics',
|
||||
'RESYNC_FILES_STATS_EXPLAIN' => 'Recalculates the total number and size of files attached to posts and private messages.',
|
||||
'RETURN_TO' => 'Return to…',
|
||||
|
||||
'SELECT_ANONYMOUS' => 'Select anonymous user',
|
||||
'SELECT_OPTION' => 'Select option',
|
||||
|
@@ -57,7 +57,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'ACL_NEVER' => 'Never',
|
||||
'ACL_SET' => 'Setting permissions',
|
||||
'ACL_SET_EXPLAIN' => 'Permissions are based on a simple <samp>YES</samp>/<samp>NO</samp> system. Setting an option to <samp>NEVER</samp> for a user or usergroup overrides any other value assigned to it. If you do not wish to assign a value for an option for this user or group select <samp>NO</samp>. If values are assigned for this option elsewhere they will be used in preference, else <samp>NEVER</samp> is assumed. All objects marked (with the checkbox in front of them) will copy the permission set you defined.',
|
||||
'ACL_SET_EXPLAIN' => 'Permissions are based on a simple <strong>YES</strong>/<strong>NO</strong> system. Setting an option to <strong>NEVER</strong> for a user or usergroup overrides any other value assigned to it. If you do not wish to assign a value for an option for this user or group select <strong>NO</strong>. If values are assigned for this option elsewhere they will be used in preference, else <strong>NEVER</strong> is assumed. All objects marked (with the checkbox in front of them) will copy the permission set you defined.',
|
||||
'ACL_SETTING' => 'Setting',
|
||||
|
||||
'ACL_TYPE_A_' => 'Administrative permissions',
|
||||
@@ -100,10 +100,10 @@ $lang = array_merge($lang, array(
|
||||
'ADD_USERS' => 'Add users',
|
||||
'ADVANCED_PERMISSIONS' => 'Advanced Permissions',
|
||||
'ALL_GROUPS' => 'Select all groups',
|
||||
'ALL_NEVER' => 'All <samp>NEVER</samp>',
|
||||
'ALL_NO' => 'All <samp>NO</samp>',
|
||||
'ALL_NEVER' => 'All <strong>NEVER</strong>',
|
||||
'ALL_NO' => 'All <strong>NO</strong>',
|
||||
'ALL_USERS' => 'Select all users',
|
||||
'ALL_YES' => 'All <samp>YES</samp>',
|
||||
'ALL_YES' => 'All <strong>YES</strong>',
|
||||
'APPLY_ALL_PERMISSIONS' => 'Apply all permissions',
|
||||
'APPLY_PERMISSIONS' => 'Apply permissions',
|
||||
'APPLY_PERMISSIONS_EXPLAIN' => 'The permissions and role defined for this item will only be applied to this item and all checked items.',
|
||||
@@ -137,7 +137,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'NO_AUTH_SETTING_FOUND' => 'Permission settings not defined.',
|
||||
'NO_ROLE_ASSIGNED' => 'No role assigned…',
|
||||
'NO_ROLE_ASSIGNED_EXPLAIN' => 'Setting to this role does not change permissions on the right. If you want to unset/remove all permissions you should use the “All <samp>NO</samp>” link.',
|
||||
'NO_ROLE_ASSIGNED_EXPLAIN' => 'Setting to this role does not change permissions on the right. If you want to unset/remove all permissions you should use the “All <strong>NO</strong>” link.',
|
||||
'NO_ROLE_AVAILABLE' => 'No role available',
|
||||
'NO_ROLE_NAME_SPECIFIED' => 'Please give the role a name.',
|
||||
'NO_ROLE_SELECTED' => 'Role could not be found.',
|
||||
@@ -196,7 +196,7 @@ $lang = array_merge($lang, array(
|
||||
'ROLE_DESCRIPTION_FORUM_POLLS' => 'Like Standard Access but can also create polls.',
|
||||
'ROLE_DESCRIPTION_FORUM_READONLY' => 'Can read the forum, but cannot create new topics or reply to posts.',
|
||||
'ROLE_DESCRIPTION_FORUM_STANDARD' => 'Can use most forum features including attachments and deleting own topics, but cannot lock own topics, and cannot create polls.',
|
||||
'ROLE_DESCRIPTION_FORUM_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains <samp>NEVER</samp> permissions to lock features for new users.',
|
||||
'ROLE_DESCRIPTION_FORUM_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains <strong>NEVER</strong> permissions to lock features for new users.',
|
||||
'ROLE_DESCRIPTION_MOD_FULL' => 'Can use all moderating features, including banning.',
|
||||
'ROLE_DESCRIPTION_MOD_QUEUE' => 'Can use the Moderation Queue to validate and edit posts, but nothing else.',
|
||||
'ROLE_DESCRIPTION_MOD_SIMPLE' => 'Can only use basic topic actions. Cannot send warnings or use moderation queue.',
|
||||
@@ -206,7 +206,7 @@ $lang = array_merge($lang, array(
|
||||
'ROLE_DESCRIPTION_USER_NOAVATAR' => 'Has a limited feature set and is not allowed to use the Avatar feature.',
|
||||
'ROLE_DESCRIPTION_USER_NOPM' => 'Has a limited feature set, and is not allowed to use Private Messages.',
|
||||
'ROLE_DESCRIPTION_USER_STANDARD' => 'Can access most but not all user features. Cannot change user name or ignore the flood limit, for instance.',
|
||||
'ROLE_DESCRIPTION_USER_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains <samp>NEVER</samp> permissions to lock features for new users.',
|
||||
'ROLE_DESCRIPTION_USER_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains <strong>NEVER</strong> permissions to lock features for new users.',
|
||||
|
||||
'ROLE_DESCRIPTION_EXPLAIN' => 'You are able to enter a short explanation of what the role is doing or for what it is meant for. The text you enter here will be displayed within the permissions screens too.',
|
||||
'ROLE_DESCRIPTION_LONG' => 'The role description is too long, please limit it to 4000 characters.',
|
||||
@@ -227,48 +227,48 @@ $lang = array_merge($lang, array(
|
||||
'SET_USERS_PERMISSIONS' => 'Set user permissions',
|
||||
'SET_USERS_FORUM_PERMISSIONS' => 'Set user forum permissions',
|
||||
|
||||
'TRACE_DEFAULT' => 'By default every permission is <samp>NO</samp> (unset). So the permission can be overwritten by other settings.',
|
||||
'TRACE_DEFAULT' => 'By default every permission is <strong>NO</strong> (unset). So the permission can be overwritten by other settings.',
|
||||
'TRACE_FOR' => 'Trace for',
|
||||
'TRACE_GLOBAL_SETTING' => '%s (global)',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NEVER' => 'This group’s permission is set to <samp>NEVER</samp> like the total result so the old result is kept.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> like the total result so the old result is kept.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NO' => 'This group’s permission is set to <samp>NEVER</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).',
|
||||
'TRACE_GROUP_NEVER_TOTAL_YES' => 'This group’s permission is set to <samp>NEVER</samp> which overwrites the total <samp>YES</samp> to a <samp>NEVER</samp> for this user.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> which overwrites the total <samp>YES</samp> to a <samp>NEVER</samp> for this user.',
|
||||
'TRACE_GROUP_NO' => 'The permission is <samp>NO</samp> for this group so the old total value is kept.',
|
||||
'TRACE_GROUP_NO_LOCAL' => 'The permission is <samp>NO</samp> for this group within this forum so the old total value is kept.',
|
||||
'TRACE_GROUP_YES_TOTAL_NEVER' => 'This group’s permission is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.',
|
||||
'TRACE_GROUP_YES_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.',
|
||||
'TRACE_GROUP_YES_TOTAL_NO' => 'This group’s permission is set to <samp>YES</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).',
|
||||
'TRACE_GROUP_YES_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).',
|
||||
'TRACE_GROUP_YES_TOTAL_YES' => 'This group’s permission is set to <samp>YES</samp> and the total permission is already set to <samp>YES</samp>, so the total result is kept.',
|
||||
'TRACE_GROUP_YES_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> and the total permission is already set to <samp>YES</samp>, so the total result is kept.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NEVER' => 'This group’s permission is set to <strong>NEVER</strong> like the total result so the old result is kept.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <strong>NEVER</strong> like the total result so the old result is kept.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NO' => 'This group’s permission is set to <strong>NEVER</strong> which becomes the new total value because it wasn’t set yet (set to <strong>NO</strong>).',
|
||||
'TRACE_GROUP_NEVER_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <strong>NEVER</strong> which becomes the new total value because it wasn’t set yet (set to <strong>NO</strong>).',
|
||||
'TRACE_GROUP_NEVER_TOTAL_YES' => 'This group’s permission is set to <strong>NEVER</strong> which overwrites the total <strong>YES</strong> to a <strong>NEVER</strong> for this user.',
|
||||
'TRACE_GROUP_NEVER_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <strong>NEVER</strong> which overwrites the total <strong>YES</strong> to a <strong>NEVER</strong> for this user.',
|
||||
'TRACE_GROUP_NO' => 'The permission is <strong>NO</strong> for this group so the old total value is kept.',
|
||||
'TRACE_GROUP_NO_LOCAL' => 'The permission is <strong>NO</strong> for this group within this forum so the old total value is kept.',
|
||||
'TRACE_GROUP_YES_TOTAL_NEVER' => 'This group’s permission is set to <strong>YES</strong> but the total <strong>NEVER</strong> cannot be overwritten.',
|
||||
'TRACE_GROUP_YES_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <strong>YES</strong> but the total <strong>NEVER</strong> cannot be overwritten.',
|
||||
'TRACE_GROUP_YES_TOTAL_NO' => 'This group’s permission is set to <strong>YES</strong> which becomes the new total value because it wasn’t set yet (set to <strong>NO</strong>).',
|
||||
'TRACE_GROUP_YES_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <strong>YES</strong> which becomes the new total value because it wasn’t set yet (set to <strong>NO</strong>).',
|
||||
'TRACE_GROUP_YES_TOTAL_YES' => 'This group’s permission is set to <strong>YES</strong> and the total permission is already set to <strong>YES</strong>, so the total result is kept.',
|
||||
'TRACE_GROUP_YES_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <strong>YES</strong> and the total permission is already set to <strong>YES</strong>, so the total result is kept.',
|
||||
'TRACE_PERMISSION' => 'Trace permission - %s',
|
||||
'TRACE_RESULT' => 'Trace result',
|
||||
'TRACE_SETTING' => 'Trace setting',
|
||||
|
||||
'TRACE_USER_GLOBAL_YES_TOTAL_YES' => 'The forum independent user permission evaluates to <samp>YES</samp> but the total permission is already set to <samp>YES</samp>, so the total result is kept. %sTrace global permission%s',
|
||||
'TRACE_USER_GLOBAL_YES_TOTAL_NEVER' => 'The forum independent user permission evaluates to <samp>YES</samp> which overwrites the current local result <samp>NEVER</samp>. %sTrace global permission%s',
|
||||
'TRACE_USER_GLOBAL_NEVER_TOTAL_KEPT' => 'The forum independent user permission evaluates to <samp>NEVER</samp> which doesn’t influence the local permission. %sTrace global permission%s',
|
||||
'TRACE_USER_GLOBAL_YES_TOTAL_YES' => 'The forum independent user permission evaluates to <strong>YES</strong> but the total permission is already set to <strong>YES</strong>, so the total result is kept. %sTrace global permission%s',
|
||||
'TRACE_USER_GLOBAL_YES_TOTAL_NEVER' => 'The forum independent user permission evaluates to <strong>YES</strong> which overwrites the current local result <strong>NEVER</strong>. %sTrace global permission%s',
|
||||
'TRACE_USER_GLOBAL_NEVER_TOTAL_KEPT' => 'The forum independent user permission evaluates to <strong>NEVER</strong> which doesn’t influence the local permission. %sTrace global permission%s',
|
||||
|
||||
'TRACE_USER_FOUNDER' => 'The user is a founder, therefore admin permissions are always set to <samp>YES</samp>.',
|
||||
'TRACE_USER_KEPT' => 'The user’s permission is <samp>NO</samp> so the old total value is kept.',
|
||||
'TRACE_USER_KEPT_LOCAL' => 'The user’s permission for this forum is <samp>NO</samp> so the old total value is kept.',
|
||||
'TRACE_USER_NEVER_TOTAL_NEVER' => 'The user’s permission is set to <samp>NEVER</samp> and the total value is set to <samp>NEVER</samp>, so nothing is changed.',
|
||||
'TRACE_USER_NEVER_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> and the total value is set to <samp>NEVER</samp>, so nothing is changed.',
|
||||
'TRACE_USER_NEVER_TOTAL_NO' => 'The user’s permission is set to <samp>NEVER</samp> which becomes the total value because it was set to NO.',
|
||||
'TRACE_USER_NEVER_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> which becomes the total value because it was set to NO.',
|
||||
'TRACE_USER_NEVER_TOTAL_YES' => 'The user’s permission is set to <samp>NEVER</samp> and overwrites the previous <samp>YES</samp>.',
|
||||
'TRACE_USER_NEVER_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> and overwrites the previous <samp>YES</samp>.',
|
||||
'TRACE_USER_NO_TOTAL_NO' => 'The user’s permission is <samp>NO</samp> and the total value was set to NO so it defaults to <samp>NEVER</samp>.',
|
||||
'TRACE_USER_NO_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is <samp>NO</samp> and the total value was set to NO so it defaults to <samp>NEVER</samp>.',
|
||||
'TRACE_USER_YES_TOTAL_NEVER' => 'The user’s permission is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.',
|
||||
'TRACE_USER_YES_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.',
|
||||
'TRACE_USER_YES_TOTAL_NO' => 'The user’s permission is set to <samp>YES</samp> which becomes the total value because it was set to <samp>NO</samp>.',
|
||||
'TRACE_USER_YES_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> which becomes the total value because it was set to <samp>NO</samp>.',
|
||||
'TRACE_USER_YES_TOTAL_YES' => 'The user’s permission is set to <samp>YES</samp> and the total value is set to <samp>YES</samp>, so nothing is changed.',
|
||||
'TRACE_USER_YES_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> and the total value is set to <samp>YES</samp>, so nothing is changed.',
|
||||
'TRACE_USER_FOUNDER' => 'The user is a founder, therefore admin permissions are always set to <strong>YES</strong>.',
|
||||
'TRACE_USER_KEPT' => 'The user’s permission is <strong>NO</strong> so the old total value is kept.',
|
||||
'TRACE_USER_KEPT_LOCAL' => 'The user’s permission for this forum is <strong>NO</strong> so the old total value is kept.',
|
||||
'TRACE_USER_NEVER_TOTAL_NEVER' => 'The user’s permission is set to <strong>NEVER</strong> and the total value is set to <strong>NEVER</strong>, so nothing is changed.',
|
||||
'TRACE_USER_NEVER_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <strong>NEVER</strong> and the total value is set to <strong>NEVER</strong>, so nothing is changed.',
|
||||
'TRACE_USER_NEVER_TOTAL_NO' => 'The user’s permission is set to <strong>NEVER</strong> which becomes the total value because it was set to NO.',
|
||||
'TRACE_USER_NEVER_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <strong>NEVER</strong> which becomes the total value because it was set to NO.',
|
||||
'TRACE_USER_NEVER_TOTAL_YES' => 'The user’s permission is set to <strong>NEVER</strong> and overwrites the previous <strong>YES</strong>.',
|
||||
'TRACE_USER_NEVER_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <strong>NEVER</strong> and overwrites the previous <strong>YES</strong>.',
|
||||
'TRACE_USER_NO_TOTAL_NO' => 'The user’s permission is <strong>NO</strong> and the total value was set to NO so it defaults to <strong>NEVER</strong>.',
|
||||
'TRACE_USER_NO_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is <strong>NO</strong> and the total value was set to NO so it defaults to <strong>NEVER</strong>.',
|
||||
'TRACE_USER_YES_TOTAL_NEVER' => 'The user’s permission is set to <strong>YES</strong> but the total <strong>NEVER</strong> cannot be overwritten.',
|
||||
'TRACE_USER_YES_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <strong>YES</strong> but the total <strong>NEVER</strong> cannot be overwritten.',
|
||||
'TRACE_USER_YES_TOTAL_NO' => 'The user’s permission is set to <strong>YES</strong> which becomes the total value because it was set to <strong>NO</strong>.',
|
||||
'TRACE_USER_YES_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <strong>YES</strong> which becomes the total value because it was set to <strong>NO</strong>.',
|
||||
'TRACE_USER_YES_TOTAL_YES' => 'The user’s permission is set to <strong>YES</strong> and the total value is set to <strong>YES</strong>, so nothing is changed.',
|
||||
'TRACE_USER_YES_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <strong>YES</strong> and the total value is set to <strong>YES</strong>, so nothing is changed.',
|
||||
'TRACE_WHO' => 'Who',
|
||||
'TRACE_TOTAL' => 'Total',
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user