1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-09-08 07:10:51 +02:00

Compare commits

...

1611 Commits

Author SHA1 Message Date
Andreas Fischer
799be4469a [prep-release-3.0.10] Update Changelog for 3.0.10-RC2 release. 2011-11-27 16:23:15 +01:00
Andreas Fischer
b89320ad39 Merge remote-tracking branch 'rxu/ticket/10497' into prep-release-3.0.10
* rxu/ticket/10497:
  [ticket/10497] Fix SQL error when guest visits forum with unread topic
2011-11-27 16:12:39 +01:00
rxu
77e00d14a1 [ticket/10497] Fix SQL error when guest visits forum with unread topic
Regression from the ticket PHPBB3-9008 fix.

When topic marking was enabled for guests, and a guest visited a forum with
a new topic which is marked unread, the built SQL missed an alias for a
TOPICS_TABLE which resulted in the following error:

Unknown column 't.topic_approved' in 'where clause' [1054]

The fix is to add an alias for the table.

PHPBB3-10497
PHPBB3-9008
2011-11-27 23:11:22 +08:00
Andreas Fischer
007457f182 [prep-release-3.0.10] Bumping version number for 3.0.10-RC2. 2011-11-26 22:17:43 +01:00
Oleg Pudeyev
e08e22ca12 Merge remote-tracking branch 'igorw/ticket/10483' into prep-release-3.0.10
* igorw/ticket/10483:
  [ticket/10483] Fix test suite when running with MySQL strict mode
2011-11-25 01:07:40 -05:00
Oleg Pudeyev
b531e02871 Merge remote-tracking branch 'nickvergessen/ticket/10485' into prep-release-3.0.10
* nickvergessen/ticket/10485:
  [ticket/10485] Fix invalid HTML5 markup introduced in PHPBB3-6632
2011-11-24 21:32:50 -05:00
Oleg Pudeyev
39c62cd175 Merge remote-tracking branch 'bantu/ticket/10486' into prep-release-3.0.10
* bantu/ticket/10486:
  [ticket/10486] Create git shortlog and git diff --stat in build script.
2011-11-24 19:58:53 -05:00
Oleg Pudeyev
3eda9cfc07 Merge remote-tracking branch 'bantu/ticket/10488' into prep-release-3.0.10
* bantu/ticket/10488:
  [ticket/10488] Only set $config['email_max_chunk_size'] when not already set.
2011-11-23 20:48:39 -05:00
Oleg Pudeyev
74bca1d97b Merge remote-tracking branch 'bantu/ticket/10461' into prep-release-3.0.10
* bantu/ticket/10461:
  [ticket/10461] Add a comment explaining the logic here.
  [ticket/10461] Correct $log_count check in view_log() so we show logs again.
2011-11-23 20:38:58 -05:00
Oleg Pudeyev
4cd88199c9 Merge remote-tracking branch 'nickvergessen/ticket/10479' into prep-release-3.0.10
* nickvergessen/ticket/10479:
  [ticket/10479] Remove PostgreSQL version numbers from driver's language string
2011-11-23 18:37:11 -05:00
Oleg Pudeyev
a72ea2bc98 [ticket/10461] Add a comment explaining the logic here.
PHPBB3-10461
2011-11-23 18:15:45 -05:00
Andreas Fischer
6f40960071 [ticket/10461] Correct $log_count check in view_log() so we show logs again.
We pass $log_count as false now when we do not need to know how many log
entries there are. However when $log_count is false, $log_count == 0 will be
true as well and thus we will return early with 0.

PHPBB3-9874
PHPBB3-10461
2011-11-23 23:03:41 +01:00
Andreas Fischer
43818289fe [ticket/10488] Only set $config['email_max_chunk_size'] when not already set.
PHPBB3-10488
2011-11-23 22:30:40 +01:00
Andreas Fischer
0d3697e40c [ticket/10486] Create git shortlog and git diff --stat in build script.
PHPBB3-10486
2011-11-22 20:59:51 +01:00
Joas Schilling
c67633577f [ticket/10485] Fix invalid HTML5 markup introduced in PHPBB3-6632
Remove the previous fix and fix it the way we did it in PHPBB3-10360 for 3.1

PHPBB3-6632
PHPBB3-10485
2011-11-21 23:23:02 +01:00
Igor Wiedler
aef3652d7a [ticket/10483] Fix test suite when running with MySQL strict mode
PHPBB3-10483
2011-11-21 13:09:27 +01:00
Joas Schilling
c4d3c5320e [ticket/10479] Remove PostgreSQL version numbers from driver's language string
The versions should be removed like for all other DBMS so we don't have to add
each new version.

PHPBB3-10479
2011-11-21 00:12:44 +01:00
Igor Wiedler
f5633d281e [develop-olympus] Add changelog for 3.0.10-RC1 2011-11-21 00:08:49 +01:00
Andreas Fischer
3e43b53a63 [develop-olympus] Bump version numbers for 3.0.10-RC1 release. 2011-11-20 21:50:29 +01:00
Andreas Fischer
06ae98b1e5 [develop-olympus] Bumping version numbers to final for 3.0.10 releases. 2011-11-20 21:41:24 +01:00
Igor Wiedler
92e1681761 Merge remote-tracking branch 'bantu/ticket/10446' into develop-olympus
* bantu/ticket/10446:
  [ticket/10446] Pass $config and $user via parameter to anti_abuse_headers().
  [ticket/10446] Remove leftover $headers parameter from anti_abuse_headers().
  [ticket/10446] RFC2047 encode user/server names in X-AntiAbuse headers.
  [ticket/10446] DRY X-AntiAbuse header addition.
2011-11-20 18:43:27 +01:00
Andreas Fischer
37c7668193 [ticket/10446] Pass $config and $user via parameter to anti_abuse_headers().
PHPBB3-10446
2011-11-20 16:35:31 +01:00
Andreas Fischer
a7077c9149 [ticket/10446] Remove leftover $headers parameter from anti_abuse_headers().
PHPBB3-10446
2011-11-20 14:02:22 +01:00
Oleg Pudeyev
c68973a9e0 [ticket/10446] RFC2047 encode user/server names in X-AntiAbuse headers.
PHPBB3-10446
2011-11-20 04:17:42 -05:00
Oleg Pudeyev
64d62038cd [ticket/10446] DRY X-AntiAbuse header addition.
PHPBB3-10446
2011-11-20 04:15:44 -05:00
Oleg Pudeyev
6155707071 Merge remote-tracking branch 'callumacrae/ticket/10402' into develop-olympus
* callumacrae/ticket/10402:
  [ticket/10402] Fixed a formatting issue with report details.
2011-11-20 00:15:48 -05:00
Oleg Pudeyev
2359d1e268 Merge remote-tracking branch 'callumacrae/ticket/8599' into develop-olympus
* callumacrae/ticket/8599:
  [ticket/8599] Added ability to select all to add multiple smilies screen.
2011-11-19 22:27:07 -05:00
Oleg Pudeyev
fb43029935 Merge remote-tracking branch 'cs278/ticket/10239' into develop-olympus
* cs278/ticket/10239:
  [ticket/10239] Correct undefined variable error.
  [ticket/10239] Add confirm box to backup restore.
2011-11-19 21:52:43 -05:00
Oleg Pudeyev
d03366fba2 Merge remote-tracking branch 'nickvergessen/ticket/8996' into develop-olympus
* nickvergessen/ticket/8996:
  [ticket/8996] Also fix the BBCode bug in subsilver2 and acp
  [ticket/8996] Correctly apply BBCodes in IE6-9 when applying with accesskey
2011-11-19 21:15:25 -05:00
Joas Schilling
eb1f15bc8b [ticket/8996] Also fix the BBCode bug in subsilver2 and acp 2011-11-18 23:27:25 +01:00
Chris Smith
810016ce94 [ticket/10239] Correct undefined variable error.
PHPBB3-10239
2011-11-18 21:29:02 +00:00
Nils Adermann
4be9c70827 Merge remote-tracking branch 'github-nickvergessen/ticket/9776' into develop-olympus
* github-nickvergessen/ticket/9776:
  [ticket/9776] Delete poll if no poll options were submitted.
2011-11-18 20:31:26 +01:00
Joas Schilling
4fae5eef68 [ticket/9776] Delete poll if no poll options were submitted.
PHPBB3-9776
2011-11-18 20:29:50 +01:00
Nils Adermann
6894477b60 Merge remote-tracking branch 'github-nickvergessen/ticket/9956' into develop-olympus
* github-nickvergessen/ticket/9956:
  [ticket/9956] Display error message if no disapprove reason given
2011-11-18 19:41:10 +01:00
Nils Adermann
665982bb32 Merge remote-tracking branch 'github-rxu/ticket/9416' into develop-olympus
* github-rxu/ticket/9416:
  [ticket/9416] HTML entities in poll titles and options incorrectly re-encoded
2011-11-18 19:32:36 +01:00
Nils Adermann
cfaf0e1e96 Merge remote-tracking branch 'github-nickvergessen/ticket/10296' into develop-olympus
* github-nickvergessen/ticket/10296:
  [ticket/10296] Fix CROSS JOIN with INNER JOIN on MSSQL, Postgres and Oracle
  [ticket/10296] Add unit test for CROSS JOIN with INNER JOIN
2011-11-18 19:17:20 +01:00
Andreas Fischer
93c4cdd1de Merge remote-tracking branch 'nickvergessen/ticket/10185' into develop-olympus
* nickvergessen/ticket/10185:
  [ticket/10185] Always set board startdate on conversion
2011-11-18 18:07:44 +01:00
Joas Schilling
a7d7083d75 Merge remote-tracking branch 'remotes/rxu/ticket/9008' into develop-olympus 2011-11-18 15:22:01 +01:00
Oleg Pudeyev
aeb896399c Merge remote-tracking branch 'nickvergessen/ticket/10157' into develop-olympus
* nickvergessen/ticket/10157:
  [ticket/10157] Add notification to update cpfs when installing a language.
2011-11-17 12:44:04 -05:00
rxu
3091efc501 [ticket/9416] HTML entities in poll titles and options incorrectly re-encoded
PHPBB3-9416
2011-11-17 22:16:41 +08:00
Joas Schilling
b2b057910e [ticket/10157] Add notification to update cpfs when installing a language.
We currently just copy the language-strings from the default language. But the
admin should be reminded to change them.

PHPBB3-10157
2011-11-17 10:28:16 +01:00
dmauri
3d893c8222 [ticket/10296] Fix CROSS JOIN with INNER JOIN on MSSQL, Postgres and Oracle
PHPBB3-10296
2011-11-15 22:19:45 +01:00
Joas Schilling
e8686d9dad [ticket/10296] Add unit test for CROSS JOIN with INNER JOIN
PHPBB3-10296
2011-11-15 22:14:28 +01:00
Joas Schilling
815dd3591b [ticket/10185] Always set board startdate on conversion
The board startdate should always be set to first user registration date.
The current code did not do anything at all, as the board_startdate was always
set on installation before running the convertor.

PHPBB3-10185
2011-11-15 17:23:55 +01:00
Andreas Fischer
39f8592312 Merge remote-tracking branch 'rxu/ticket/10419' into develop-olympus
* rxu/ticket/10419:
  [ticket/10419] Reword the language strings
  [ticket/10419] Reword some language strings, minor code changes
  [ticket/10419] Add mbstring PHP ini parameters checks to ACP
2011-11-15 16:46:08 +01:00
rxu
f1a53659bd [ticket/10419] Reword the language strings
PHPBB3-10419
2011-11-15 23:43:52 +08:00
Andreas Fischer
f7286e1abe Merge remote-tracking branch 'nickvergessen/ticket/10452' into develop-olympus
* nickvergessen/ticket/10452:
  [ticket/10452] Fix xHTML errors when print-viewing PMs
2011-11-14 21:57:00 +01:00
Andreas Fischer
69f943c8d6 Merge remote-tracking branch 'nickvergessen/ticket/9361' into develop-olympus
* nickvergessen/ticket/9361:
  [ticket/9361] View correct error messages when editing account information
2011-11-14 19:01:06 +01:00
Joas Schilling
14af18cb1b [ticket/9361] View correct error messages when editing account information
Currently the "current password" is only checked, when you change something.
This means you get "Your profile has been updated." although you enter a wrong
password. I also added proper error messages, when you leave the confirm fields
empty, and sorted them in the order of the field appearances on the html page.

PHPBB3-9361
2011-11-14 18:54:12 +01:00
Joas Schilling
9830453487 [ticket/10452] Fix xHTML errors when print-viewing PMs
Also changed the layout of prosilvers PM print-view, so it looks like the post
print-view and not like the subsilver2 print-view.

PHPBB3-10452
2011-11-14 18:41:19 +01:00
Andreas Fischer
f31da015fc Merge remote-tracking branch 'nickvergessen/ticket/9066' into develop-olympus
* nickvergessen/ticket/9066:
  [ticket/9066] Move regex into get_preg_expression function and add tests
  [ticket/9066] Disallow some database prefix to prevent same errors and problems
2011-11-14 15:46:50 +01:00
Joas Schilling
3302305cd4 [ticket/9066] Move regex into get_preg_expression function and add tests
PHPBB3-9066
2011-11-14 15:10:25 +01:00
Andreas Fischer
9d7b144c54 Merge remote-tracking branch 'bantu/ticket/10254' into develop-olympus
* bantu/ticket/10254:
  [ticket/10254] Add "phpBB Group" to "Modified by" in prosilver stylesheet.css
  [ticket/10254] Removing the subsilver2 NOTE, incompatible with phpBB.com.
  [ticket/10254] Removing the NOTE as it is incompatible with phpBB.com.
  [ticket/10254] Remove subsilver2 as default style on theme.
  [ticket/10254] Remove style names from themes and fix some informations on it.
2011-11-14 13:44:38 +01:00
Andreas Fischer
e543effc64 [ticket/10254] Add "phpBB Group" to "Modified by" in prosilver stylesheet.css
PHPBB3-10254
2011-11-14 13:32:54 +01:00
maelsoucaze
cf044c363b [ticket/10254] Removing the subsilver2 NOTE, incompatible with phpBB.com.
PHPBB3-10254
2011-11-14 13:29:38 +01:00
maelsoucaze
4d760630c3 [ticket/10254] Removing the NOTE as it is incompatible with phpBB.com.
PHPBB3-10254
2011-11-14 13:29:28 +01:00
maelsoucaze
c79992d1cc [ticket/10254] Remove subsilver2 as default style on theme.
PHPBB3-10254
2011-11-14 13:29:18 +01:00
maelsoucaze
dee836315c [ticket/10254] Remove style names from themes and fix some informations on it.
PHPBB3-10254
2011-11-14 13:28:42 +01:00
Andreas Fischer
9553b2239c Merge remote-tracking branch 'igorw/ticket/10087' into develop-olympus
* igorw/ticket/10087:
  [ticket/10087] Organize bans in acp_baninto optgroups
2011-11-13 21:13:22 +01:00
Andreas Fischer
0a5d2a84d1 Merge remote-tracking branch 'igorw/ticket/8616' into develop-olympus
* igorw/ticket/8616:
  [ticket/8616] Include old U_INBOX var for BC
  [ticket/8616] Rename U_INBOX to U_VIEW_MESSAGE
  [ticket/8616] Direct links in pm notification emails
2011-11-13 20:34:39 +01:00
Andreas Fischer
0579795a17 Merge remote-tracking branch 'nickvergessen/ticket/7138' into develop-olympus
* nickvergessen/ticket/7138:
  [ticket/7138] Allow simple header and footer for trigger_error() messages
2011-11-13 20:24:55 +01:00
David King
b371d62dd3 [ticket/7138] Allow simple header and footer for trigger_error() messages
Adds a template condition using S_SIMPLE_MESSAGE that must be set to true
before calling trigger_error() which will automatically use the simple
header and footer files in the template directory instead of the overall
header and footer files.

PHPBB3-7138
2011-11-13 16:30:11 +01:00
Igor Wiedler
00f792f16f Merge remote-tracking branch 'bantu/ticket/10190' into develop-olympus
* bantu/ticket/10190:
  [ticket/10190] Do not show hint about permissions when editing forum settings.
2011-11-13 16:08:19 +01:00
Andreas Fischer
4c765bb206 Merge remote-tracking branch 'igorw/ticket/10365' into develop-olympus
* igorw/ticket/10365:
  [ticket/10365] Fix up S_POST_UNAPPROVED check, make it easier to read
  [ticket/10365] Require m_report permission to see reports in mcp_post
  [ticket/10365] Make sure moderators only get mcp_reports link when allowed
2011-11-13 15:47:30 +01:00
Joas Schilling
6370ef2705 [ticket/9066] Disallow some database prefix to prevent same errors and problems
With this patch database prefixes must not be empty and only contain
alphanumeric characters, numbers and underscores.

PHPBB3-9066
2011-11-13 15:40:18 +01:00
Igor Wiedler
52bd8c307f [ticket/10365] Fix up S_POST_UNAPPROVED check, make it easier to read
PHPBB3-10365
2011-11-13 15:37:26 +01:00
Andreas Fischer
f00f3ad8ea Merge remote-tracking branch 'nickvergessen/ticket/10437' into develop-olympus
* nickvergessen/ticket/10437:
  [ticket/10437] Do not display announcements that are waiting for approval
2011-11-13 15:35:18 +01:00
Joas Schilling
91155d1330 [ticket/10437] Do not display announcements that are waiting for approval
PHPBB3-10437
2011-11-13 15:33:47 +01:00
Andreas Fischer
2d989d4322 Merge remote-tracking branch 'nickvergessen/ticket/10435' into develop-olympus
* nickvergessen/ticket/10435:
  [ticket/10435] Readd local announcements to total topic count in viewforum
2011-11-13 14:13:42 +01:00
Igor Wiedler
edd5866a6e [ticket/10087] Organize bans in acp_baninto optgroups
PHPBB3-10087
2011-11-11 23:08:52 +01:00
Igor Wiedler
2b3effb13c [ticket/8616] Include old U_INBOX var for BC
PHPBB3-8616
2011-11-11 22:34:45 +01:00
Andreas Fischer
f3c9133a6c Merge remote-tracking branch 'nickvergessen/ticket/10237' into develop-olympus
* nickvergessen/ticket/10237:
  [ticket/10237] Display login-box for guests, when (un)subscribing
2011-11-11 22:07:11 +01:00
Joas Schilling
0d3e9bf446 [ticket/10435] Readd local announcements to total topic count in viewforum
We need to readd the local announcements to the forums total topic count,
otherwise the number is different from the one in the forum list.

PHPBB3-10435
2011-11-11 14:06:02 +01:00
Joas Schilling
1a19388aa3 [ticket/10237] Display login-box for guests, when (un)subscribing
Also initialise $is_watching for PHP Notice: Undefined variable is_watching

PHPBB3-10237
2011-11-06 23:51:29 +01:00
rxu
2918fbc970 [ticket/10419] Reword some language strings, minor code changes
PHPBB3-10419
2011-11-05 01:02:40 +08:00
Andreas Fischer
945a63d204 Merge remote-tracking branch 'nickvergessen/ticket/7932' into develop-olympus
* nickvergessen/ticket/7932:
  [ticket/7932] Fix font size in select boxes
2011-11-01 20:23:20 +01:00
Andreas Fischer
0b1199f7b2 Merge remote-tracking branch 'nickvergessen/ticket/9036' into develop-olympus
* nickvergessen/ticket/9036:
  [ticket/9036] Add template variable 'S_AUTH_READ' to forumlist
2011-11-01 20:08:17 +01:00
Igor Wiedler
18ca3a32bc [ticket/10365] Require m_report permission to see reports in mcp_post
This was exposed to anyone with m_ perms in mcp_post_details.

PHPBB3-10365
2011-10-30 19:10:58 +01:00
Igor Wiedler
d6c3e7785d [ticket/10365] Make sure moderators only get mcp_reports link when allowed
The m_report permission is not not being checked when displaying the link to
mcp_reports.

PHPBB3-10365
2011-10-30 19:10:57 +01:00
Joas Schilling
a63490f744 Merge remote-tracking branch 'remotes/marc1706/ticket/9778' into develop-olympus 2011-10-30 16:10:45 +01:00
Marc Alexander
75a44a6970 [ticket/9778] Replaced "Find a member" with "Enter username"
When clicking on the "Users and groups" tab in the ACP, the user is
able to either enter the username of the member he wants to manage
or click on "Find a member" below the input field. Unfortunately,
the label for the input field is also "Find a member", which leads
some users to the idea that they can search for users using that
input field. By changing the label to "Enter username" this should
be clear to the user.

PHPBB3-9778
2011-10-30 15:46:52 +01:00
Joas Schilling
cf49b5f46f [ticket/7932] Fix font size in select boxes
PHPBB3-7932
2011-10-29 23:32:47 +02:00
Joas Schilling
da8cac280c [ticket/9036] Add template variable 'S_AUTH_READ' to forumlist
PHPBB3-9036
2011-10-29 16:26:17 +02:00
Igor Wiedler
6d913d3646 Merge remote-tracking branch 'cs278/ticket/9307' into develop-olympus
* cs278/ticket/9307:
  [ticket/9307] Add config variable to installation schema.
  [ticket/9307] Remove hardcoded chunk size of mass emails.
2011-10-29 13:01:03 +02:00
Igor Wiedler
319d12bedf Merge remote-tracking branch 'bantu/ticket/10420' into develop-olympus
* bantu/ticket/10420:
  [ticket/10420] Update includes/startup.php for PHP 5.4.
2011-10-29 12:37:16 +02:00
Igor Wiedler
d0bbb3f7f0 Merge remote-tracking branch 'cyberalien/ticket/10422' into develop-olympus
* cyberalien/ticket/10422:
  [ticket/10422] Invalid "if" in viewtopic_body.html
2011-10-29 12:35:30 +02:00
Igor Wiedler
020106eeb9 Merge remote-tracking branch 'bantu/ticket/10421' into develop-olympus
* bantu/ticket/10421:
  [ticket/10421] Correct parameter order for phpbb_check_hash() in acp_users.php
2011-10-29 12:32:25 +02:00
Igor Wiedler
17451e0842 Merge remote-tracking branch 'dellsystem/ticket/olympus/10430' into develop-olympus
* dellsystem/ticket/olympus/10430:
  [ticket/10430] Fix typos/etc in coding guidelines
2011-10-29 12:22:02 +02:00
Igor Wiedler
5e3f73c498 Merge remote-tracking branch 'bantu/ticket/10259' into develop-olympus
* bantu/ticket/10259:
  [ticket/10259] Do not send notifications to user accounts joining free groups.
2011-10-29 11:43:28 +02:00
Igor Wiedler
983b3d7f64 Merge remote-tracking branch 'bantu/ticket/10166' into develop-olympus
* bantu/ticket/10166:
  [ticket/10166] No longer refer to previous mail in admin_welcome_activated.txt
2011-10-29 11:38:57 +02:00
Joas Schilling
219bdbaf70 [ticket/8996] Correctly apply BBCodes in IE6-9 when applying with accesskey
PHPBB3-8996
2011-10-29 01:27:12 +02:00
Andreas Fischer
2e9e0a7d78 [ticket/10166] No longer refer to previous mail in admin_welcome_activated.txt
It does not make much sense to say "the username you received in a previous
e-mail" when the message itself contains the username.

PHPBB3-10166
2011-10-29 00:32:38 +02:00
Andreas Fischer
fa23def774 [ticket/10190] Do not show hint about permissions when editing forum settings.
PHPBB3-10190
2011-10-29 00:16:30 +02:00
dellsystem
8b99f04943 [ticket/10430] Fix typos/etc in coding guidelines
Mainly minor changes to correct errors and improve readability.

* "overcroud" --> "overcrowd"
* "concentinations" --> "concatenations"
* "SQL Statements", "SQL Formatting" - unnecessary capitalisation removed
* "keep a very close eye to it" --> "keep a very close eye on it"
* Fixed some fragmented sentences under the SQL Quotes section
* Added capitalisation of "sql", "select", "select distinct"
* "noticable" --> "noticeable"
* "outputed" --> "outputted"
* Added a missing "it" on the line about append_sid()
* And some other grammatical/stylistic changes, not worth listing them all

PHPBB3-10430
2011-10-28 10:27:38 -04:00
Callum Macrae
8795362879 [ticket/10402] Fixed a formatting issue with report details.
Line returns were being removed and links weren't being made clickable.
This commit adds a line (contributed by AmigoJack) to retain the link
breaks and make links clickable.

PHPBB3-10402
2011-10-22 23:03:49 +01:00
Andreas Fischer
ba1464b6e0 [ticket/10421] Correct parameter order for phpbb_check_hash() in acp_users.php
PHPBB3-10421
2011-10-18 21:25:27 +02:00
Andreas Fischer
cd184e4912 [ticket/10420] Update includes/startup.php for PHP 5.4.
PHP 5.4 dropped support for register globals and magic quotes.

Calling set_magic_quotes_runtime() on PHP 5.4 actually results in an
E_CORE_ERROR error.

PHPBB3-10420
2011-10-18 21:16:42 +02:00
Vjacheslav Trushkin
c8399b8e30 [ticket/10422] Invalid "if" in viewtopic_body.html
Fixing incorrect "IF" in viewtopic_body.html

PHPBB3-10422
2011-10-18 21:37:51 +03:00
rxu
88b31c2ab3 [ticket/10419] Add mbstring PHP ini parameters checks to ACP
PHPBB3-10419
2011-10-18 02:09:08 +08:00
Andreas Fischer
8f6cfc77d2 [ticket/10259] Do not send notifications to user accounts joining free groups.
It does not make sense to send notifications to users joining a freely open
group. They already know that they were added to the group, because they
triggered the actual join.

PHPBB3-10259
2011-10-17 19:10:41 +02:00
Andreas Fischer
cfb5135805 Merge remote-tracking branch 'nickvergessen/ticket/9525' into develop-olympus
* nickvergessen/ticket/9525:
  [ticket/9525] Minimum post length 0 is accepted but not working.
2011-10-17 16:43:58 +02:00
Igor Wiedler
ff0839e76b Merge remote-tracking branch 'bantu/ticket/10416' into develop-olympus
* bantu/ticket/10416:
  [ticket/10416] Pass dbport to PDO object in ...connection_manager::connect().
2011-10-17 02:40:44 +02:00
Andreas Fischer
cc227cc6f6 Merge remote-tracking branch 'igorw/ticket/10413' into develop-olympus
* igorw/ticket/10413:
  [ticket/10413] Fix CS
  [ticket/10413] Make create_schema_files usable
2011-10-16 20:16:12 +02:00
Andreas Fischer
fa1d9a4571 [ticket/10416] Pass dbport to PDO object in ...connection_manager::connect().
PHPBB3-10416
2011-10-16 20:10:37 +02:00
Igor Wiedler
8d33dea2cd [ticket/10413] Fix CS
PHPBB3-10413
2011-10-16 19:30:33 +02:00
Nils Adermann
7813135365 Merge remote-tracking branch 'github-igorw/ticket/10377' into develop-olympus
* github-igorw/ticket/10377:
  [ticket/10377] Do not allow all moderators to sticky posts
2011-10-14 17:56:38 +02:00
Igor Wiedler
cafefe9379 Merge remote-tracking branch 'bantu/ticket/10327' into develop-olympus
* bantu/ticket/10327:
  [ticket/10327] Use $this->tools instead of creating a new instance of db_tools.
  [ticket/10327] Also change CREATE UNIQUE INDEX to use ALTER TABLE.
2011-10-14 17:50:08 +02:00
Igor Wiedler
27279afa1e [ticket/10377] Do not allow all moderators to sticky posts
In the mcp the change_topic_type does not properly check permissions,
allowing moderators to make any post sticky or announced by visiting the
correct URL.

PHPBB3-10377
2011-10-14 17:37:12 +02:00
Andreas Fischer
607761e830 [ticket/10327] Use $this->tools instead of creating a new instance of db_tools.
PHPBB3-10327
2011-10-14 17:23:29 +02:00
Andreas Fischer
7e18d2b861 [ticket/10327] Also change CREATE UNIQUE INDEX to use ALTER TABLE.
PHPBB3-10327
2011-10-14 17:23:21 +02:00
Andreas Fischer
4effe8fb8b [ticket/8240] Add ability to get a list of columns of a tables to db_tools.
PHPBB3-8240
2011-10-14 16:35:14 +02:00
Andreas Fischer
234edf674c [ticket/8240] Add ability to get a list of tables to db_tools.
PHPBB3-8240
2011-10-14 16:35:07 +02:00
Joas Schilling
e40abfbde9 [ticket/9525] Minimum post length 0 is accepted but not working.
PHPBB3-9525
2011-10-14 15:19:47 +02:00
Igor Wiedler
1657339e6d Merge remote-tracking branch 'bantu/ticket/10327' into develop-olympus
* bantu/ticket/10327:
  [ticket/10327] Change CREATE INDEX to ALTER TABLE table ADD INDEX for MySQL.
2011-10-14 14:34:44 +02:00
Andreas Fischer
d86fccf9c9 [ticket/10327] Change CREATE INDEX to ALTER TABLE table ADD INDEX for MySQL.
* CREATE INDEX is internally mapped to an ALTER INDEX statement.
* CREATE INDEX requires the INDEX permission.
* ALTER TABLE requires the (more powerful) ALTER permission.
* We require the ALTER permission anyway for operation.
* Changing CREATE INDEX to ALTER TABLE thus removes dependency on the INDEX
  permission which is good because some management software does not give
  out the INDEX permission by default.

http://dev.mysql.com/doc/refman/5.0/en/create-index.html

PHPBB3-10327
2011-10-14 14:30:51 +02:00
Joas Schilling
893469c652 Merge remote-tracking branch 'remotes/igorw/ticket/10189' into develop-olympus 2011-10-14 04:38:42 +02:00
Igor Wiedler
c3f3435228 [ticket/10189] Get rid of $id$ from schema files
PHPBB3-10189
2011-10-14 04:29:28 +02:00
Joas Schilling
ab8ecf5b92 [ticket/9956] Display error message if no disapprove reason given
PHPBB3-9956
2011-10-14 04:18:44 +02:00
Igor Wiedler
3100b9bb7c Merge remote-tracking branch 'naderman/ticket/10212' into develop-olympus
* naderman/ticket/10212:
  [ticket/10212] Return a CAPTCHA on incorrect username for ip limited users too
2011-10-14 03:55:23 +02:00
Nils Adermann
768932a3f2 [ticket/10212] Return a CAPTCHA on incorrect username for ip limited users too
PHPBB3-10212
2011-10-14 03:41:52 +02:00
Igor Wiedler
8cf22f5529 [ticket/10189] Add "automatically generated" comment into schema-files
PHPBB3-10189
2011-10-14 03:41:02 +02:00
Igor Wiedler
7fa14e654a [ticket/10413] Make create_schema_files usable
PHPBB3-10413
2011-10-14 03:12:44 +02:00
Nils Adermann
d16b160d5c Merge remote-tracking branch 'github-nickvergessen/ticket/10074' into develop-olympus
* github-nickvergessen/ticket/10074:
  [ticket/10074] Change default value of 'Set as special rank' to No
2011-10-14 02:55:05 +02:00
Nils Adermann
cdacbd07f8 Merge remote-tracking branch 'github-bantu/ticket/10187' into develop-olympus
* github-bantu/ticket/10187:
  [ticket/10187] XHTML fix for empty groups in UCP.
2011-10-14 02:51:12 +02:00
Nils Adermann
dda1e13126 Merge remote-tracking branch 'github-bantu/ticket/10278' into develop-olympus
* github-bantu/ticket/10278:
  [ticket/10278] Show VERSIONCHECK_FAIL instead of FSOCK_TIMEOUT.
  [ticket/10278] Also timeout when receiving data over a slow connection.
  [ticket/10278] Decrease default timeout of get_remote_file() to 6 seconds.
  [ticket/10278] Return with a timeout error when fread() or fgets() time out.
  [ticket/10278] Also set timeout on stream in get_remote_file().
2011-10-14 02:47:45 +02:00
Joas Schilling
1f677d5de3 [ticket/10074] Change default value of 'Set as special rank' to No
PHPBB3-10074
2011-10-14 02:41:37 +02:00
Andreas Fischer
4e69fe6859 Merge remote-tracking branch 'igorw/ticket/10307' into develop-olympus
* igorw/ticket/10307:
  [ticket/10307] Add a test for PHPBB3-10307
  [ticket/10307] Return false in mysqli sql_fetchrow on empty result
2011-10-13 23:44:42 +02:00
Andreas Fischer
3ad5c45097 [ticket/10187] XHTML fix for empty groups in UCP.
PHPBB3-10187
2011-10-13 21:11:58 +02:00
Igor Wiedler
39f6d58315 [ticket/8616] Rename U_INBOX to U_VIEW_MESSAGE
PHPBB3-8616
2011-10-13 19:28:46 +02:00
Alan
f7c1341402 [ticket/8616] Direct links in pm notification emails
Import the "Direct links in pm notification emails" modification,
version 1.0.1.

PHPBB3-8616
2011-10-13 19:17:56 +02:00
Andreas Fischer
e43b7813a5 Merge remote-tracking branch 'igorw/ticket/10246' into develop-olympus
* igorw/ticket/10246:
  [ticket/10246] Move coding guidelines VCS section to wiki
2011-10-13 18:29:17 +02:00
Andreas Fischer
1dc1583b92 [ticket/10278] Show VERSIONCHECK_FAIL instead of FSOCK_TIMEOUT.
PHPBB3-10278
2011-10-13 18:23:33 +02:00
Andreas Fischer
091119605a [ticket/10278] Also timeout when receiving data over a slow connection.
PHPBB3-10278
2011-10-13 18:03:02 +02:00
Igor Wiedler
75ef0fde82 [ticket/10246] Move coding guidelines VCS section to wiki
The VCS section can now be found at:
* http://wiki.phpbb.com/Git#Branches

PHPBB3-10246
2011-10-13 17:43:59 +02:00
Andreas Fischer
b957639abb Merge remote-tracking branch 'igorw/ticket/8094' into develop-olympus
* igorw/ticket/8094:
  [ticket/8094] Remove ambiguity of "phpBB has no categories"
2011-10-13 17:25:10 +02:00
Andreas Fischer
8017469e59 Merge remote-tracking branch 'igorw/ticket/10275' into develop-olympus
* igorw/ticket/10275:
  [ticket/10275] Remove incorrect password information from FAQ
2011-10-13 17:20:52 +02:00
Andreas Fischer
57d157a723 Merge remote-tracking branch 'igorw/ticket/9898' into develop-olympus
* igorw/ticket/9898:
  [ticket/9898] Encourage patches in README
2011-10-13 17:16:20 +02:00
Andreas Fischer
3a92623dfa Merge remote-tracking branch 'nickvergessen/ticket/10408' into develop-olympus
* nickvergessen/ticket/10408:
  [ticket/10408] Layout of topics/attachments list is broken in UCP and MCP
2011-10-13 17:09:48 +02:00
Igor Wiedler
ee91656968 [ticket/10275] Remove incorrect password information from FAQ
FAQ contains instructions to find the password in the registration
e-mail. We no longer send the password on registration. So let's just
remove this incorrect piece of information from the FAQ.

PHPBB3-10275
2011-10-13 17:09:34 +02:00
Andreas Fischer
4c1bde350a Merge remote-tracking branch 'nickvergessen/ticket/10304' into develop-olympus
* nickvergessen/ticket/10304:
  [ticket/10304] Fix URL for ICQ while view private messages
2011-10-13 17:07:28 +02:00
Andreas Fischer
4b42646f36 Merge remote-tracking branch 'nickvergessen/ticket/10400' into develop-olympus
* nickvergessen/ticket/10400:
  [ticket/10400] Allow forum name to be '0'
2011-10-13 17:05:01 +02:00
Igor Wiedler
6d9e9d1901 [ticket/10307] Add a test for PHPBB3-10307
PHPBB3-10307
2011-10-13 16:57:42 +02:00
Igor Wiedler
3cd8c2507d [ticket/10307] Return false in mysqli sql_fetchrow on empty result
PHPBB3-10307
2011-10-13 16:43:11 +02:00
Igor Wiedler
6698a9cbd6 [ticket/8094] Remove ambiguity of "phpBB has no categories"
PHPBB3-8094
2011-10-13 16:25:41 +02:00
Joas Schilling
88aacd0f2c [ticket/10408] Layout of topics/attachments list is broken in UCP and MCP
PHPBB3-10408
2011-10-13 15:52:12 +02:00
Joas Schilling
b515f5462e Merge remote-tracking branch 'remotes/cyberalien/ticket/10397' into develop-olympus 2011-10-13 14:37:45 +02:00
Joas Schilling
f94f872624 [ticket/10304] Fix URL for ICQ while view private messages
PHPBB3-10304
2011-10-13 13:59:39 +02:00
Igor Wiedler
d4bbfae0d5 [ticket/9898] Encourage patches in README
PHPBB3-9898
2011-10-13 11:53:25 +02:00
Joas Schilling
cacb9f2ec5 [ticket/10400] Allow forum name to be '0'
PHPBB3-10400
2011-10-07 09:44:31 +02:00
Vjacheslav Trushkin
b38fbc6d25 [ticket/10397] Pagination inconsistency fix
Fixing topic_generate_pagination()

PHPBB3-10397
2011-10-04 12:24:42 +03:00
Vjacheslav Trushkin
12882084d4 [ticket/10397] Pagination inconsistency fix
Fixing inconsistency in code generated by generate_pagination()

PHPBB3-10397
2011-10-04 11:55:25 +03:00
Andreas Fischer
86f8851c40 Merge remote-tracking branch 'naderman/ticket/10394' into develop-olympus
* naderman/ticket/10394:
  [ticket/10394] Use call_user_func_array to pass a ref into a dynamic function
2011-09-27 22:39:30 +02:00
Nils Adermann
b197ea56c2 [ticket/10394] Use call_user_func_array to pass a ref into a dynamic function
PHPBB3-10394
2011-09-27 22:32:20 +02:00
Andreas Fischer
dad7aa9593 Merge remote-tracking branch 'nickvergessen/ticket/10315' into develop-olympus
* nickvergessen/ticket/10315:
  [ticket/10315] Add top/bottom margin to the options in ACP to avoid overlapping
2011-09-27 20:57:55 +02:00
Andreas Fischer
13b718e720 Merge remote-tracking branch 'naderman/ticket/10394' into develop-olympus
* naderman/ticket/10394:
  [ticket/10394] Remove call-time pass by reference from tests for PHP 5.4
2011-09-27 20:21:57 +02:00
Nils Adermann
b571b3e032 [ticket/10394] Remove call-time pass by reference from tests for PHP 5.4
PHPBB3-10394
2011-09-27 17:31:24 +02:00
Chris Smith
81f9385477 [ticket/9307] Add config variable to installation schema.
PHPBB3-9307
2011-09-25 22:13:43 +01:00
rxu
e0869b39a3 [ticket/9008] Incorrect unread topic tracking for unapproved topics
PHPBB3-9008
2011-09-25 10:59:41 +08:00
Chris Smith
138d1050fc [ticket/9307] Remove hardcoded chunk size of mass emails.
The new config option is 'email_max_chunk_size' I have not added
an interface option to change this.

PHPBB3-9307
2011-09-24 22:05:40 +01:00
Chris Smith
a1febdd429 [ticket/10239] Add confirm box to backup restore.
PHPBB3-10239
2011-09-21 21:19:37 +01:00
Joas Schilling
5b66413f69 [ticket/10315] Add top/bottom margin to the options in ACP to avoid overlapping
PHPBB3-10315
2011-09-21 01:02:28 +02:00
Nils Adermann
cc2ecc9171 Merge remote-tracking branch 'github-bantu/ticket/10370' into develop-olympus
* github-bantu/ticket/10370:
  [ticket/10370] Add function documentation for get_stacktrace().
  [ticket/10370] Explain that we are not the ones hiding backtrace pieces.
  [ticket/10370] Call htmlspecialchars() after phpbb_filter_root_path().
  [ticket/10370] Add require_once to whitelisted functions.
  [ticket/10370] Use single string instead of an array for arguments.
  [ticket/10370] Ease up code checking for arguments of include etc.
  [ticket/10370] Use unset() on the first backtrace instead of checking in loop.
  [ticket/10370] Use phpbb_filter_root_path() in get_backtrace().
2011-09-19 17:53:55 +02:00
Andreas Fischer
79ad3a3f32 [ticket/10370] Add function documentation for get_stacktrace().
PHPBB3-10370
2011-09-19 17:45:32 +02:00
Andreas Fischer
fc2af460ee [ticket/10370] Explain that we are not the ones hiding backtrace pieces.
Taken from 2db54cf7e809e731e4440377bcc06e2aa05f190d.

PHPBB3-10370
2011-09-19 17:37:16 +02:00
Andreas Fischer
19ce73c884 [ticket/10370] Call htmlspecialchars() after phpbb_filter_root_path().
PHPBB3-10370
2011-09-19 17:37:16 +02:00
Andreas Fischer
8a84f42f7d [ticket/10370] Add require_once to whitelisted functions.
PHPBB3-10370
2011-09-19 17:37:15 +02:00
Andreas Fischer
7965387201 [ticket/10370] Use single string instead of an array for arguments.
PHPBB3-10370
2011-09-19 17:37:15 +02:00
Andreas Fischer
0df7e5eefa [ticket/10370] Ease up code checking for arguments of include etc.
PHPBB3-10370
2011-09-19 17:37:10 +02:00
Andreas Fischer
12530a763b [ticket/10370] Use unset() on the first backtrace instead of checking in loop.
PHPBB3-10370
2011-09-19 16:58:25 +02:00
Andreas Fischer
9c0f75fd65 [ticket/10370] Use phpbb_filter_root_path() in get_backtrace().
PHPBB3-10370
2011-09-19 16:57:09 +02:00
Nils Adermann
410028eecf Merge remote-tracking branch 'github-bantu/ticket/10245' into develop-olympus
* github-bantu/ticket/10245:
  [ticket/10245] Use error_collector instead of ob_start() and ob_get_clean().
2011-09-18 23:25:04 +02:00
Nils Adermann
94fead702a Merge remote-tracking branch 'github-bantu/ticket/10369' into develop-olympus
* github-bantu/ticket/10369:
  [ticket/10369] Replace root path with "[ROOT]" as per IRC.
  [ticket/10369] Add warning about paths outside of phpBB root not being filtered
  [ticket/10369] Rename filter_errfile() to filter_root_path().
  [ticket/10369] DRY code to remove phpbb path from errfile.
  [ticket/10369] Always include errfile and errline in format_errors().
2011-09-18 23:20:45 +02:00
Andreas Fischer
1b390f0b49 [ticket/10369] Replace root path with "[ROOT]" as per IRC.
PHPBB3-10369
2011-09-18 23:03:28 +02:00
Andreas Fischer
c8564e6ce9 [ticket/10369] Add warning about paths outside of phpBB root not being filtered
PHPBB3-10369
2011-09-18 22:41:02 +02:00
Andreas Fischer
1ad97424a4 [ticket/10369] Rename filter_errfile() to filter_root_path().
PHPBB3-10369
2011-09-18 22:32:25 +02:00
Andreas Fischer
9006984d5a [ticket/10369] DRY code to remove phpbb path from errfile.
PHPBB3-10369
2011-09-18 22:24:14 +02:00
Andreas Fischer
7b3f6cb219 [ticket/10369] Always include errfile and errline in format_errors().
We remove the phpBB root path from errfile. This is consistent with how
msg_handler handles E_WARNING messages etc.

PHPBB3-10369
2011-09-18 22:23:41 +02:00
Andreas Fischer
05515e0510 [ticket/10245] Use error_collector instead of ob_start() and ob_get_clean().
PHPBB3-10245
2011-09-18 22:04:34 +02:00
Andreas Fischer
eb8b1c333f Merge remote-tracking branch 'galaxyAbstractor/ticket/10324' into develop-olympus
* galaxyAbstractor/ticket/10324:
  [ticket/10324] Fixed XHTML validity error in User Notes Prosilver theme
2011-09-17 23:34:30 +02:00
galaxyAbstractor
94a0b7ef2e [ticket/10324] Fixed XHTML validity error in User Notes Prosilver theme
Replaced the deprecated align and width attributes with CSS.

PHPBB3-10324
2011-09-17 21:59:11 +02:00
Andreas Fischer
92373e6d46 Merge remote-tracking branch 'bantu/ticket/10294' into develop-olympus
* bantu/ticket/10294:
  [ticket/10294] Fix sql_affectedrows() in mssqlnative driver.
2011-09-06 00:43:10 +02:00
Andreas Fischer
d28ec48675 Merge remote-tracking branch 'Noxwizard/ticket/10351' into develop-olympus
* Noxwizard/ticket/10351:
  [ticket/10351] Fix Oracle's sql_column_remove()
2011-09-06 00:42:48 +02:00
Andreas Fischer
3801101f3b Merge remote-tracking branch 'Noxwizard/ticket/10352' into develop-olympus
* Noxwizard/ticket/10352:
  [ticket/10352] Add missing break for Oracle's sql_table_drop()
2011-09-06 00:42:40 +02:00
Igor Wiedler
4e2437a6c1 Merge remote-tracking branch 'p/ticket/10354' into develop-olympus
* p/ticket/10354:
  [ticket/10354] Include cache directory path in unwritable message.
2011-09-05 09:14:30 +02:00
Igor Wiedler
85bdc65df1 Merge remote-tracking branch 'callumacrae/ticket/10240' into develop-olympus
* callumacrae/ticket/10240:
  [ticket/10240] Added optionset to mock_user in the tests.
  [ticket/10240] Fixed copyright year in censor_text_test.php.
  [ticket/10240] Fixed censor_text test assetEquals param order.
  [ticket/10240] Added censor_text tests for special characters.
  [ticket/10240] Added censor_text tests.
2011-09-05 09:07:52 +02:00
Oleg Pudeyev
cf5f0cce83 Merge remote-tracking branch 'nickvergessen/ticket/10321' into develop-olympus
* nickvergessen/ticket/10321:
  [ticket/10321] Add descriptions to the unit tests
  [ticket/10321] Do not append the ? if the param-list is empty anyway.
2011-09-05 02:42:41 -04:00
Oleg Pudeyev
1061e881bd [ticket/10354] Include cache directory path in unwritable message.
When template tests are skipped because cache directory is not
writable, include path to the cache directory into the message
saying it is not writable.

PHPBB3-10354
2011-09-05 01:20:57 -04:00
Patrick Webster
5c7f5f0516 [ticket/10352] Add missing break for Oracle's sql_table_drop()
PHPBB3-10352
2011-09-04 20:31:34 -05:00
Patrick Webster
d938d5d399 [ticket/10351] Fix Oracle's sql_column_remove()
The correct syntax is DROP COLUMN.

PHPBB3-10351
2011-09-04 20:22:36 -05:00
Andreas Fischer
8e5eacf692 Merge remote-tracking branch 'nickvergessen/ticket/10339' into develop-olympus
* nickvergessen/ticket/10339:
  [ticket/10339] Remove invalid template loop variable from mcp_front.html
2011-08-30 01:52:17 +02:00
Andreas Fischer
1daefc6177 Merge remote-tracking branch 'nickvergessen/ticket/10334' into develop-olympus
* nickvergessen/ticket/10334:
  [ticket/10334] Require permissions to view the birthday-list on board index
2011-08-30 01:39:14 +02:00
Joas Schilling
a73bc353d6 Merge remote-tracking branch 'remotes/bantu/ticket/10341' into ticket/bantu/10341
* remotes/bantu/ticket/10341:
  [ticket/10341] Also show forum/topic name of "0" as most active forum/topic.
2011-08-29 22:27:20 +02:00
Joas Schilling
6cde745e28 Merge remote-tracking branch 'remotes/naderman/ticket/10346' into ticket/10346
* remotes/naderman/ticket/10346:
  [ticket/10346] Add drop_tables to perform_schema_changes and add tests
2011-08-29 20:56:06 +02:00
Nils Adermann
0f2e45800e [ticket/10346] Add drop_tables to perform_schema_changes and add tests
PHPBB3-10346
2011-08-29 14:24:50 -04:00
Oleg Pudeyev
0d41385344 Merge remote-tracking branch 'nickvergessen/ticket/10253' into develop-olympus
* nickvergessen/ticket/10253:
  [ticket/10253] Fix IE9 handling in javascript, to correctly quote text.
2011-08-27 17:38:27 -04:00
Nils Adermann
dc9a771473 Merge remote-tracking branch 'github-bantu/ticket/10335' into develop-olympus
* github-bantu/ticket/10335:
  [ticket/10335] Add X-PHPBB-IS-BOT header so reverse proxies know about bots.
2011-08-26 05:59:13 -04:00
Nils Adermann
0d4089da7f Merge remote-tracking branch 'github-bantu/ticket/10320' into develop-olympus
* github-bantu/ticket/10320:
  [ticket/10320] Exclude passworded forums when determining "Most active topic".
  [ticket/10320] Move phpbb_feed_base::get_passworded_forums() to user class.
2011-08-25 23:20:55 -04:00
Nils Adermann
d602f74866 Merge remote-tracking branch 'github-bantu/ticket/9995' into develop-olympus
* github-bantu/ticket/9995:
  [ticket/9995] Do not run forum SQL query when marking the whole board read.
  [ticket/9995] Always continue when harvesting $forum_ids for markread().
  [ticket/9995] Remove useless statement from display_forums()
2011-08-25 23:12:22 -04:00
Nils Adermann
34491f5569 Merge remote-tracking branch 'github-bantu/ticket/10222' into develop-olympus
* github-bantu/ticket/10222:
  [ticket/10222] Also build language and styles changes in diff/patch format.
2011-08-25 22:57:39 -04:00
Andreas Fischer
7ae871dfae [ticket/9995] Do not run forum SQL query when marking the whole board read.
PHPBB3-9995
2011-08-26 03:59:39 +02:00
Andreas Fischer
afc35f610d [ticket/9995] Always continue when harvesting $forum_ids for markread().
PHPBB3-9995
2011-08-26 03:32:36 +02:00
Andreas Fischer
e4e854863f [ticket/9995] Remove useless statement from display_forums()
The $forum_ids array is only used if $mark_read == 'forums'.

When $mark_read == 'forums', we either continue when
$auth->acl_get('f_list', $forum_id) is false or true.

So this statement is never useful.

PHPBB3-9995
2011-08-26 03:29:05 +02:00
Andreas Fischer
c0507c6a9e [ticket/10278] Decrease default timeout of get_remote_file() to 6 seconds.
PHPBB3-10278
2011-08-25 20:39:35 +02:00
Andreas Fischer
29a23ae217 [ticket/10278] Return with a timeout error when fread() or fgets() time out.
PHPBB3-10278
2011-08-25 20:34:01 +02:00
Andreas Fischer
2ffdf56bfe [ticket/10278] Also set timeout on stream in get_remote_file().
From the PHP manual for fsockopen():
If you need to set a timeout for reading/writing data over the socket, use
stream_set_timeout(), as the timeout parameter to fsockopen() only applies
while connecting the socket.
http://www.php.net/manual/en/function.fsockopen.php

PHPBB3-10278
2011-08-25 20:14:49 +02:00
Andreas Fischer
d221d2f7e8 [ticket/10222] Also build language and styles changes in diff/patch format.
PHPBB3-10222
2011-08-25 19:35:01 +02:00
Andreas Fischer
4499be5795 [ticket/10341] Also show forum/topic name of "0" as most active forum/topic.
PHPBB3-10341
2011-08-25 17:44:45 +02:00
Andreas Fischer
4f8bb02a57 [ticket/10320] Exclude passworded forums when determining "Most active topic".
PHPBB3-10320
2011-08-25 17:33:39 +02:00
Andreas Fischer
4491746c73 [ticket/10320] Move phpbb_feed_base::get_passworded_forums() to user class.
PHPBB3-10320
2011-08-25 17:12:42 +02:00
Andreas Fischer
7a36c3b34b [ticket/10335] Add X-PHPBB-IS-BOT header so reverse proxies know about bots.
PHPBB3-10335
2011-08-24 14:51:37 +02:00
callumacrae
81f682a812 [ticket/8599] Added ability to select all to add multiple smilies screen.
PHPBB3-8599
2011-08-24 10:17:28 +01:00
Joas Schilling
53e0e3240c [ticket/10339] Remove invalid template loop variable from mcp_front.html
PHPBB3-10339
2011-08-24 10:33:12 +02:00
Joas Schilling
efc443aac9 [ticket/10334] Require permissions to view the birthday-list on board index
PHPBB3-10334
2011-08-23 14:49:50 +02:00
Callum Macrae
03da3c7c4c [ticket/10240] Added optionset to mock_user in the tests.
Also made optionset use the value set by optionset. We're not checking
whether the option is set or not, because we would just throw an error
if it wasn't set, and it throws an error anyway.

PHPBB3-10240
2011-08-23 13:28:42 +01:00
Callum Macrae
d4f1b92479 [ticket/10240] Fixed copyright year in censor_text_test.php.
PHPBB3-10240
2011-08-23 11:38:59 +01:00
Callum Macrae
0d104b00c8 [ticket/10240] Fixed censor_text test assetEquals param order.
Before, expected and input were the wrong way round.

PHPBB3-10240
2011-08-23 11:32:35 +01:00
Callum Macrae
e7ab7f5f7a [ticket/10240] Added censor_text tests for special characters.
PHPBB3-10240
2011-08-23 11:30:32 +01:00
Callum Macrae
fa5c7f6440 [ticket/10240] Added censor_text tests.
PHPBB-10240
2011-08-22 19:02:27 +01:00
Joas Schilling
5d66faafc1 [ticket/10321] Add descriptions to the unit tests
PHPBB3-10321
2011-08-21 18:56:47 +02:00
Andreas Fischer
540ca1a8d8 Merge remote-tracking branch 'nickvergessen/ticket/8177' into develop-olympus
* nickvergessen/ticket/8177:
  [ticket/8177] Display birthdays of 29th february on 28th in non-leap years.
2011-08-21 15:17:51 +02:00
Andreas Fischer
91b415dd01 Merge remote-tracking branch 'callumacrae/ticket/10240' into develop-olympus
* callumacrae/ticket/10240:
  [ticket/10240] Reverted a commit which added buggy code.
2011-08-21 14:26:24 +02:00
Callum Macrae
4592076366 [ticket/10240] Reverted a commit which added buggy code.
This reverts commit f9dbe33fa7.

The code which was added also removed new lines and tabs.

PHPBB3-10240
2011-08-21 13:16:50 +01:00
Andreas Fischer
9f9e4ad3d8 Merge remote-tracking branch 'p/ticket/10309' into develop-olympus
* p/ticket/10309:
  [ticket/10309] Update .gitignore and move .gitkeep.
2011-08-21 14:11:10 +02:00
Andreas Fischer
15d0fe7d9f Merge branch 'develop-olympus' of git://github.com/phpbb/phpbb3 into develop-olympus
* 'develop-olympus' of git://github.com/phpbb/phpbb3:
  [ticket/9978] Added semicolons to JavaScript in overall_header.
  [ticket/8571] Show age as 0 in birthday list when birthday is in the future.
  [ticket/8571] Show 'Age: 0' on viewprofile when birthday is in the future.
  [ticket/8571] Also display age on memberlist/viewprofile when age is 0.
2011-08-21 14:11:06 +02:00
Joas Schilling
dc149a43e4 [ticket/10321] Do not append the ? if the param-list is empty anyway.
PHPBB3-10321
2011-08-21 13:16:05 +02:00
Joas Schilling
3c7dfc7e19 [ticket/8177] Display birthdays of 29th february on 28th in non-leap years.
PHPBB3-8177
2011-08-21 01:46:47 +02:00
Oleg Pudeyev
57accade85 [ticket/10309] Update .gitignore and move .gitkeep.
PHPBB3-10309
2011-08-20 14:34:02 -04:00
Oleg Pudeyev
1680b3a2a7 Merge remote-tracking branch 'callumacrae/ticket/9978' into develop-olympus
* callumacrae/ticket/9978:
  [ticket/9978] Added semicolons to JavaScript in overall_header.
2011-08-20 14:17:31 -04:00
Callum Macrae
b18b3363e9 [ticket/9978] Added semicolons to JavaScript in overall_header.
Semicolons have been added to the anonymous functions in the javascript
in overall_header.html. This makes JSLint happier, and also makes the
code easier to minify.

PHPBB3-9978
2011-08-20 11:20:30 +01:00
Nils Adermann
6330153937 Merge remote-tracking branch 'github-bantu/ticket/8571' into develop-olympus
* github-bantu/ticket/8571:
  [ticket/8571] Show age as 0 in birthday list when birthday is in the future.
  [ticket/8571] Show 'Age: 0' on viewprofile when birthday is in the future.
  [ticket/8571] Also display age on memberlist/viewprofile when age is 0.
2011-08-18 17:43:24 -04:00
Andreas Fischer
106cec9a92 Merge remote-tracking branch 'p/ticket/10309' into develop-olympus
* p/ticket/10309:
  [ticket/10309] Coding guidelines fix.
  [ticket/10309] Write unicode data to tests/tmp.
2011-08-16 18:39:59 +02:00
Andreas Fischer
a91131c55e Merge remote-tracking branch 'p/ticket/9976' into develop-olympus
* p/ticket/9976:
  [ticket/9976] Fix link to post when two posts have the same post_time.
2011-08-16 18:09:21 +02:00
Oleg Pudeyev
a6dd3d0c65 Merge remote-tracking branch 'bantu/ticket/9297' into develop-olympus
* bantu/ticket/9297:
  [ticket/9297] Add network to class name of unit tests.
  [ticket/9297] Fix typo in localhost.
  [ticket/9297] Rename test class to reflect its contents.
  [ticket/9297] Adjust comment - IPv6 is needed for IPv6 connections to work.
  [ticket/9297] Fix markTestSkipped call in setUpBeforeClass.
  [ticket/9297] Skip FTP PASV/EPSV test if FTP connection fails.
  [ticket/9297] Separate ipv4 and ipv6 tests into separate functions.
  [ticket/9297] Update copyright year of unit test file.
  [ticket/9297] Make EPSV unit tests work without IPv6.
  [ticket/9297] Unit tests for ftp_fsock PASV and EPSV.
  [ticket/9297] Add support for Extended Passive Mode (EPSV) in ftp_fsock class.
2011-08-14 15:52:01 -04:00
Andreas Fischer
02a8cebd65 [ticket/9297] Add network to class name of unit tests.
PHPBB3-9297
2011-08-14 21:40:02 +02:00
Andreas Fischer
702985c927 [ticket/9297] Fix typo in localhost.
PHPBB3-9297
2011-08-14 20:55:21 +02:00
Oleg Pudeyev
a7e709d920 [ticket/9297] Rename test class to reflect its contents.
setUpBeforeClass logic makes this test specific to PASV/EPSV tests.

PHPBB3-9297
2011-08-14 14:47:16 -04:00
Oleg Pudeyev
2a0c9e4026 [ticket/9297] Adjust comment - IPv6 is needed for IPv6 connections to work.
Looks like IPv6-encapsulated IPv4 addresses do not actually work if
the host has no IPv6 connectivity.

PHPBB3-9297
2011-08-14 14:42:53 -04:00
Oleg Pudeyev
c211492092 [ticket/9297] Fix markTestSkipped call in setUpBeforeClass.
Need to use the static version here.

PHPBB3-9297
2011-08-14 14:33:00 -04:00
Oleg Pudeyev
2973ccbd48 [ticket/9297] Skip FTP PASV/EPSV test if FTP connection fails.
It is possible to configure PHP without IPv6, in which case
IPv6-encapsulated IPv4 addresses won't be accepted by PHP.
Instead of failing the test suite on such setups, skip the
offending test.

PHPBB3-9297
2011-08-14 14:11:58 -04:00
Oleg Pudeyev
386883cda1 [ticket/9297] Separate ipv4 and ipv6 tests into separate functions.
PHPBB3-9297
2011-08-14 13:19:09 -04:00
Andreas Fischer
7a40ab8f7a [ticket/9297] Update copyright year of unit test file.
PHPBB3-9297
2011-08-14 18:17:16 +02:00
Andreas Fischer
83fa6cffc3 [ticket/9297] Make EPSV unit tests work without IPv6.
PHPBB3-9297
2011-08-11 23:15:33 +02:00
Andreas Fischer
18f19b03ab [ticket/9297] Unit tests for ftp_fsock PASV and EPSV.
PHPBB3-9297
2011-08-11 23:15:33 +02:00
Andreas Fischer
66553fb857 [ticket/9297] Add support for Extended Passive Mode (EPSV) in ftp_fsock class.
PHPBB3-9297
2011-08-11 23:15:25 +02:00
Oleg Pudeyev
cad3e4cb45 Merge remote-tracking branch 'callumacrae/ticket/10240' into develop-olympus
* callumacrae/ticket/10240:
  [ticket/10240] Added code to strip control characters from messages.
2011-08-09 21:30:37 -04:00
Oleg Pudeyev
3df8b214cc [ticket/10309] Coding guidelines fix.
PHPBB3-10309
2011-08-09 21:16:38 -04:00
Callum Macrae
f9dbe33fa7 [ticket/10240] Added code to strip control characters from messages.
It is possible to evade the word filter using control characters.

Seeing as control characters have no practical application in a bulletin
board software, it doesn't do any harm to remove them entirely. That is
what this commit does.

PHPBB3-10240
2011-08-08 17:43:28 +01:00
Nils Adermann
b85cd7a431 Merge branch 'ticket/naderman/10313' into develop-olympus
* ticket/naderman/10313:
  [ticket/10313] Create a separate build task for slow tests.
2011-08-07 21:34:24 -04:00
Nils Adermann
32e15315a8 [ticket/10313] Create a separate build task for slow tests.
PHPBB3-10313
2011-08-07 21:28:35 -04:00
Nils Adermann
abc0c336af Merge remote-tracking branch 'github-bantu/ticket/10313' into develop-olympus
* github-bantu/ticket/10313:
  [ticket/10313] Include slow unit tests when running build script.
2011-08-07 19:19:37 -04:00
Andreas Fischer
43fc8142f5 [ticket/10313] Include slow unit tests when running build script.
PHPBB3-10313
2011-08-08 01:11:44 +02:00
Oleg Pudeyev
04e8468d28 Merge remote-tracking branch 'bantu/ticket/10298' into develop-olympus
* bantu/ticket/10298:
  [ticket/10298] Properly close embed tag for QuickTime in subsilver2.
2011-08-07 16:35:31 -04:00
Oleg Pudeyev
eb4660f4ef Merge remote-tracking branch 'naderman/ticket/8937' into develop-olympus
* naderman/ticket/8937:
  [ticket/8937] Keep space characters in front of [code] bbcode content
2011-08-07 16:23:26 -04:00
Oleg Pudeyev
f997199679 [ticket/10309] Write unicode data to tests/tmp.
When the tests are run by a different user than the one which owns
phpbb source tree, writes will go into a single, known directory.

PHPBB3-10309
2011-08-07 16:17:20 -04:00
Oleg Pudeyev
ec3f4db425 Merge remote-tracking branch 'bantu/ticket/10299' into develop-olympus
* bantu/ticket/10299:
  [ticket/10299] Fix typo in comment about $max_store_length in truncate_string()
2011-08-04 23:07:06 -04:00
Oleg Pudeyev
66867b5ac0 Merge remote-tracking branch 'cs278/ticket/10303' into develop-olympus
* cs278/ticket/10303:
  [ticket/10303] Removed HTTP_VERSION code path from send_status_line().
2011-08-04 22:56:20 -04:00
Chris Smith
cc87d553d0 [ticket/10303] Removed HTTP_VERSION code path from send_status_line().
PHPBB3-10303
2011-08-05 01:17:57 +01:00
Andreas Fischer
08ca84a3e7 [ticket/10299] Fix typo in comment about $max_store_length in truncate_string()
PHPBB3-10299
2011-07-31 15:34:45 +02:00
Joas Schilling
bb7e8bb424 [ticket/9976] Fix link to post when two posts have the same post_time.
When two posts have the same post_time, a link to the first post being on
page 1, leads you to the second post with the same timestamp on page two.
So in case the post_times are equal, we need to use the post_id to correctly
order the posts.

PHPBB3-9976
2011-07-30 23:46:53 -04:00
Oleg Pudeyev
edb745e951 Merge remote-tracking branch 'callumacrae/ticket/8173' into develop-olympus
* callumacrae/ticket/8173:
  [ticket/8173] Removed some redundant code in the BBCode JavaScript.

Conflicts:
	phpBB/adm/style/acp_users_signature.html
2011-07-30 19:33:41 -04:00
Oleg Pudeyev
5653be8e16 Merge remote-tracking branch 'callumacrae/ticket/9645' into develop-olympus
* callumacrae/ticket/9645:
  [ticket/9645] Added code to repair invalid anchor names in acp_php_info.
2011-07-30 18:47:54 -04:00
Oleg Pudeyev
7ebec68616 Merge remote-tracking branch 'callumacrae/ticket/10293' into develop-olympus
* callumacrae/ticket/10293:
  [ticket/10293] Fixed the JavaScript in the jumpbox.
2011-07-30 18:36:04 -04:00
Joas Schilling
e0bb46c852 [ticket/10253] Fix IE9 handling in javascript, to correctly quote text.
Since IE9 IE supports textarea.selectionStart and window.getSelection.
The only problem is, that the values are still incorrect.
Therefore we need to ensure that it is still treated the old way,
until IE fixes this completely.

PHPBB3-10253
2011-07-30 19:35:45 +02:00
Andreas Fischer
d59a894cd3 [ticket/10298] Properly close embed tag for QuickTime in subsilver2.
PHPBB3-10298
2011-07-30 16:58:33 +02:00
Andreas Fischer
25902c3bfc Merge remote-tracking branch 'p/ticket/10199' into develop-olympus
* p/ticket/10199:
  [ticket/10199] Delete a useless join in viewtopic.
2011-07-30 16:44:27 +02:00
Andreas Fischer
bd2fd4ec1d Merge remote-tracking branch 'bantu/ticket/10263' into develop-olympus
* bantu/ticket/10263:
  [ticket/10263] Fix comment about return value of phpbb_version_compare().
2011-07-30 16:43:37 +02:00
Callum Macrae
9c6339fb57 [ticket/8173] Removed some redundant code in the BBCode JavaScript.
The following code can be found in the ACP, when changing a user's
signature:

t: '{ BBCODE_T_HELP }',

The code that uses it and the code that produces it were changed or
removed a while ago, but this code remained. In 2c4c1f9, the accesskey
for the list item button was changed to y from t, explaining the origin of
the redundant code - although it wasn't being used then, either.

This commit also changes the helpline code of "[*]" to y, as the access
key is y, so this makes it more consistent.

PHPBB3-8173
2011-07-30 08:57:17 +01:00
Oleg Pudeyev
b960dd4e0d Merge remote-tracking branch 'callumacrae/ticket/10032' into develop-olympus
* callumacrae/ticket/10032:
  [ticket/10032] Fixed typos in bbcode button name.
2011-07-30 00:48:03 -04:00
Callum Macrae
381ebcf195 [ticket/9645] Added code to repair invalid anchor names in acp_php_info.
Some of the anchor tags produced by php_info had names like "module_Zend
Optimizer", which is obviously invalid. This commit adds some code that
repairs the names by replacing all spaces found in the names with
underscores.

PHPBB3-9645
2011-07-28 16:41:04 +01:00
Andreas Fischer
c38b083057 [ticket/10294] Fix sql_affectedrows() in mssqlnative driver.
sqlsrv_rows_affected() expects a statement resource, not a connection resource.

PHPBB3-10294
2011-07-28 15:57:09 +02:00
Andreas Fischer
65ec47abfa [ticket/10263] Fix comment about return value of phpbb_version_compare().
PHPBB3-10263
2011-07-27 00:13:23 +02:00
Callum Macrae
7e01850a42 [ticket/10293] Fixed the JavaScript in the jumpbox.
The current code is invalid, and results in an critical error which
aborts the script before it gets to return false, thus allowing the form
to submit with an invalid forum ID. This commit fixes that by
referencing "this" instead of "document.jumpbox", which didn't exist
because the form had no name.

PHPBB3-10293
2011-07-26 13:43:52 +01:00
Andreas Fischer
efc7aa00cd Merge remote-tracking branch 'callumacrae/ticket/10292' into develop-olympus
* callumacrae/ticket/10292:
  [ticket/10292] Fixed a whitespace inconsistency in acp_ranks.
2011-07-25 22:26:44 +02:00
Callum Macrae
f51b2f8fec [ticket/10292] Fixed a whitespace inconsistency in acp_ranks.
There is no space between the first radio button and "Yes", while there
is a space between the second radio button and "No". This commit fixes
that.

PHPBB3-10292
2011-07-25 21:08:26 +01:00
Oleg Pudeyev
0648923b19 [ticket/10199] Delete a useless join in viewtopic.
PHPBB3-10199
2011-07-24 04:39:00 -04:00
Andreas Fischer
49c89023fc [ticket/8571] Show age as 0 in birthday list when birthday is in the future.
PHPBB3-8571
2011-07-20 00:53:28 +02:00
Andreas Fischer
106cf14d27 [ticket/8571] Show 'Age: 0' on viewprofile when birthday is in the future.
PHPBB3-8571
2011-07-20 00:32:00 +02:00
Andreas Fischer
b4949675bf [ticket/8571] Also display age on memberlist/viewprofile when age is 0.
PHPBB3-8571
2011-07-20 00:31:45 +02:00
Nils Adermann
627e2644a2 [ticket/8937] Keep space characters in front of [code] bbcode content
PHPBB3-8937
2011-07-17 00:44:39 -04:00
Nils Adermann
13ca659f1f Merge remote-tracking branch 'github-nickvergessen/ticket/6632' into develop-olympus
* github-nickvergessen/ticket/6632:
  [ticket/6632] Better viewing of topics for wide screen displays
2011-07-16 23:08:31 -04:00
Nils Adermann
afa377d028 Merge remote-tracking branch 'github-bantu/ticket/10257' into develop-olympus
* github-bantu/ticket/10257:
  [ticket/10257] Slightly adjust comments about AAAA records on Windows XP/2003.
  [ticket/10257] Fix AAAA record parsing for old versions of Windows
  [ticket/10257] Add missing break statement after CNAME block.
2011-07-16 22:48:58 -04:00
Nils Adermann
7c84cb5f5f Merge remote-tracking branch 'github-bantu/ticket/10274' into develop-olympus
* github-bantu/ticket/10274:
  [ticket/10274] Remove hardcoded module_id from U_VERSIONCHECK_FORCE on acp_main
2011-07-16 22:45:56 -04:00
Nils Adermann
d80be455b9 Merge remote-tracking branch 'github-nickvergessen/ticket/10266' into develop-olympus
* github-nickvergessen/ticket/10266:
  [ticket/10266] Add "Return to forum" link after reporting a post
2011-07-16 22:26:46 -04:00
Nils Adermann
e9ae88338b Merge remote-tracking branch 'github-bantu/ticket/10265' into develop-olympus
* github-bantu/ticket/10265:
  [ticket/10265] Move mt_rand.php to wrapper folder and add _test suffix.
2011-07-16 22:24:07 -04:00
Nils Adermann
82fa4eff7e Merge remote-tracking branch 'github-bantu/ticket/10263' into develop-olympus
* github-bantu/ticket/10263:
  [ticket/10263] Call phpbb_version_compare() from includes/acp/acp_main.php
  [ticket/10263] Call phpbb_version_compare() from includes/acp/acp_update.php
  [ticket/10263] Adding unit tests for phpbb_version_compare().
  [ticket/10263] Add wrapper for version_compare() that allows the use of A and B
2011-07-16 22:21:49 -04:00
Nils Adermann
825d44fcc2 Merge remote-tracking branch 'github-rxu/ticket/10226' into develop-olympus
* github-rxu/ticket/10226:
  [ticket/10226] Use is_numeric() instead of preg_replace()
  [ticket/10226] Allow mysqli connections via local sockets/pipes
2011-07-16 22:18:48 -04:00
Nils Adermann
03b1f500e7 Merge remote-tracking branch 'github-nickvergessen/ticket/10252' into develop-olympus
* github-nickvergessen/ticket/10252:
  [ticket/10252] Correctly document behaviour of acl_get_list() for a_ permission
2011-07-16 22:10:57 -04:00
Nils Adermann
0f86034f03 Merge remote-tracking branch 'github-bantu/ticket/10243' into develop-olympus
* github-bantu/ticket/10243:
  [ticket/10243] Adding a few unit tests for phpbb_gmgetdate().
  [ticket/10243] Call phpbb_gmgetdate() from various places.
  [ticket/10243] Adding wrapper function for getdate() for UTC timestamps.
2011-07-16 22:05:03 -04:00
Nils Adermann
b3cdd1d169 Merge remote-tracking branch 'github-nickvergessen/ticket/10237' into develop-olympus
* github-nickvergessen/ticket/10237:
  [ticket/10237] Also display login-box on subscribing
  [ticket/10237] Handle watching and unwatching the same way.
  [ticket/10237] Use confirm-box to handle unwatching a forum/topic actions
2011-07-16 21:43:17 -04:00
Nils Adermann
dcceeb8012 Merge remote-tracking branch 'github-nickvergessen/ticket/7291' into develop-olympus
* github-nickvergessen/ticket/7291:
  [ticket/7291] Use template loop for character list, to avoid double &first_char
2011-07-16 21:05:04 -04:00
Nils Adermann
83f955a2c5 Merge remote-tracking branch 'github-nickvergessen/ticket/5506' into develop-olympus
* github-nickvergessen/ticket/5506:
  [ticket/5506] Do not display an empty last page after deleting logs.
2011-07-16 20:53:30 -04:00
Nils Adermann
e327baaa89 Merge remote-tracking branch 'github-bantu/ticket/10208' into develop-olympus
* github-bantu/ticket/10208:
  [ticket/10208] Explain what happens when 'Warning duration' is set to 0.
2011-07-15 19:55:02 -04:00
Tabitha Backoff
2bba22e9d3 [ticket/10208] Explain what happens when 'Warning duration' is set to 0.
PHPBB3-10208
2011-07-16 01:16:46 +02:00
Joas Schilling
2231488543 [ticket/10252] Correctly document behaviour of acl_get_list() for a_ permission
Be careful when using this function with permissions a_, m_, u_ and f_ ! It may not work correctly. When a user group grants an a_* permission, e.g. a_foo, but the user's a_foo permission is set to "Never", then the user does not in fact have the a_ permission. But the user will still be listed as having the a_ permission.

PHPBB3-10252
2011-07-15 10:23:06 +02:00
Andreas Fischer
0690e9f103 [ticket/10274] Remove hardcoded module_id from U_VERSIONCHECK_FORCE on acp_main
PHPBB3-10274
2011-07-15 00:06:25 +02:00
Andreas Fischer
7f56c05f24 [ticket/10263] Call phpbb_version_compare() from includes/acp/acp_main.php
PHPBB3-10263
2011-07-14 23:58:51 +02:00
Andreas Fischer
b0940f52e5 [ticket/10263] Call phpbb_version_compare() from includes/acp/acp_update.php
PHPBB3-10263
2011-07-14 23:53:41 +02:00
Joas Schilling
91b20ddba5 [ticket/7291] Use template loop for character list, to avoid double &first_char
PHPBB3-7291
2011-07-14 22:29:27 +02:00
Callum Macrae
16c5352a12 [ticket/10032] Fixed typos in bbcode button name.
addlistitem was addlitsitem.

PHPBB3-10032
2011-07-14 21:00:10 +01:00
Joas Schilling
1ace10ab92 Merge remote branch 'remotes/callumacrae/ticket/10216' into develop-olympus
* remotes/callumacrae/ticket/10216:
  [ticket/10216] Fixed a grammar error in SOME_QUERIES_FAILED.
2011-07-14 20:41:10 +02:00
Joas Schilling
7f7a0d8b9f Merge remote branch 'remotes/bantu/ticket/10267' into develop-olympus
* remotes/bantu/ticket/10267:
  [ticket/10267] Call strlen() on $table_prefix for $max_length calculation.
2011-07-14 20:13:15 +02:00
Callum Macrae
e9319ee2aa [ticket/10216] Fixed a grammar error in SOME_QUERIES_FAILED.
Previously "errors are listing below", should have said "errors are
listed below".

PHPBB3-10216
2011-07-14 18:48:37 +01:00
Joas Schilling
bb733b0204 [ticket/6632] Better viewing of topics for wide screen displays
Also fixes PHPBB3-6458 "Width of Topics and Posts columns in Board Index is causing problems with language packs" by increasing the size to 90px instead of the ~70 it was like. Also tested on RTL languages.

PHPBB3-6458
PHPBB3-6632
2011-07-14 15:05:25 +02:00
Joas Schilling
8ebc8ec182 [ticket/5506] Do not display an empty last page after deleting logs.
The fix is copied from view_inactive_users().
Also add keywords and sort parameters to url for deleting logs and inactive users.
And finally save some queries if there are no logs/users to display anyway
2011-07-14 04:05:20 +02:00
Andreas Fischer
4b2ff05a3b Merge remote-tracking branch 'nickvergessen/ticket/10255' into develop-olympus
* nickvergessen/ticket/10255:
  [ticket/10255] Add leading slash in gitignore to only ignore specified files
2011-07-14 03:18:16 +02:00
Joas Schilling
1ff0f221fa [ticket/10266] Add "Return to forum" link after reporting a post
PHPBB3-10266
2011-07-14 02:52:05 +02:00
Joas Schilling
b7459cc5f7 [ticket/10255] Add leading slash in gitignore to only ignore specified files
PHPBB3-10255
2011-07-14 02:33:32 +02:00
Andreas Fischer
b1608ae860 [ticket/10267] Call strlen() on $table_prefix for $max_length calculation.
PHPBB3-10267
2011-07-14 02:09:22 +02:00
Andreas Fischer
fdfd4ce5fd [ticket/10263] Adding unit tests for phpbb_version_compare().
PHPBB3-10263
2011-07-13 02:35:11 +02:00
Andreas Fischer
f926acf1b8 [ticket/10263] Add wrapper for version_compare() that allows the use of A and B
Add wrapper function for version_compare() that allows using uppercase A and B
for alpha and beta release version strings.

PHPBB3-10263
2011-07-13 02:33:29 +02:00
Andreas Fischer
e11f9afdce [ticket/10265] Move mt_rand.php to wrapper folder and add _test suffix.
PHPBB3-10265
2011-07-13 01:44:41 +02:00
Andreas Fischer
271c277ecc [ticket/10257] Slightly adjust comments about AAAA records on Windows XP/2003.
PHPBB3-10257
2011-07-13 01:06:32 +02:00
Patrick Webster
ae8eee16cc [ticket/10257] Fix AAAA record parsing for old versions of Windows
Older versions of Windows use a different output format for AAAA records.

PHPBB3-10257
2011-07-13 01:06:26 +02:00
Andreas Fischer
99db533524 [ticket/10257] Add missing break statement after CNAME block.
PHPBB3-10257
2011-07-13 00:55:26 +02:00
Andreas Fischer
0e85704d75 [ticket/10243] Adding a few unit tests for phpbb_gmgetdate().
PHPBB3-10243
2011-07-13 00:44:10 +02:00
Andreas Fischer
91fd6df430 [ticket/10243] Call phpbb_gmgetdate() from various places.
PHPBB3-10243
2011-07-13 00:01:37 +02:00
Andreas Fischer
db352c17f8 [ticket/10243] Adding wrapper function for getdate() for UTC timestamps.
PHPBB3-10243
2011-07-12 23:46:20 +02:00
Joas Schilling
d60ffdd55c [ticket/10237] Also display login-box on subscribing
PHPBB3-10237
2011-07-11 19:31:11 +02:00
Joas Schilling
773561f862 [ticket/10237] Handle watching and unwatching the same way.
Also add some information to the confirm-box (forum_name / topic title)

PHPBB3-10237
2011-07-11 19:24:40 +02:00
Andreas Fischer
e4707a8be7 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Bumping version number for 3.0.9 final.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-07-10 23:08:56 +02:00
Andreas Fischer
e6572b766f [prep-release-3.0.9] Bumping version number for 3.0.9 final. 2011-07-10 22:36:17 +02:00
Andreas Fischer
9efb080875 Merge remote-tracking branch 'p/ticket/10003' into develop-olympus
* p/ticket/10003:
  [ticket/10003] Fixed comment referring to db_tools duplication.
  [ticket/10003] Require db_tools.php in database_update.php.
  [ticket/10003] Use phpbb_db_tools in database_update.php.
  [ticket/10003] Delete the copy of db_tools in database_update.php.
2011-07-09 15:59:59 +02:00
Oleg Pudeyev
00f7db66f2 [ticket/10003] Fixed comment referring to db_tools duplication.
PHPBB3-10003
2011-07-09 01:56:43 -04:00
Oleg Pudeyev
fd728c2815 [ticket/10003] Require db_tools.php in database_update.php.
Use require_updated to use the new version of db_tools if one
is present.

PHPBB3-10003
2011-07-09 01:53:07 -04:00
Oleg Pudeyev
5b5c227423 [ticket/10003] Use phpbb_db_tools in database_update.php.
Now that the copy of db tools has been deleted, change which
class name is used.

PHPBB3-10003
2011-07-09 01:53:07 -04:00
Oleg Pudeyev
919ba8eb3f [ticket/10003] Delete the copy of db_tools in database_update.php.
PHPBB3-10003
2011-07-09 01:53:01 -04:00
Andreas Fischer
f2110183e0 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Update Changelog for 3.0.9-RC4 release.
  [prep-release-3.0.9] Decreasing version for an RC4 release.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-07-07 20:29:14 +02:00
Andreas Fischer
1fa77c2fd5 [prep-release-3.0.9] Update Changelog for 3.0.9-RC4 release. 2011-07-07 20:20:52 +02:00
Andreas Fischer
787245a113 [prep-release-3.0.9] Decreasing version for an RC4 release. 2011-07-07 20:19:11 +02:00
Andreas Fischer
71df03960c Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10250] The site_logo hash is different depending on imageset & language
  [ticket/10250] Destroy cached md5 hash of site_logo on refreshing an imageset
  [ticket/10250] Overwrite the site_logo width&height when the phpbb logo is used
  [ticket/10250] Added the new phpBB Logo with the Registered Trademark Symbol
2011-07-07 20:06:11 +02:00
Andreas Fischer
5fefdecc50 Merge remote-tracking branch 'naderman/ticket/10250' into prep-release-3.0.9
* naderman/ticket/10250:
  [ticket/10250] The site_logo hash is different depending on imageset & language
  [ticket/10250] Destroy cached md5 hash of site_logo on refreshing an imageset
  [ticket/10250] Overwrite the site_logo width&height when the phpbb logo is used
  [ticket/10250] Added the new phpBB Logo with the Registered Trademark Symbol
2011-07-07 20:05:47 +02:00
Joas Schilling
b2a65ac76d [ticket/10237] Use confirm-box to handle unwatching a forum/topic actions
PHPBB3-10237
2011-07-07 12:40:35 +02:00
Nils Adermann
cf4e6d8a3e Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/9859] Changing all phpBB footers to match the new credit line
  [ticket/9859] New footer copyright line with registered symbol
2011-07-06 21:51:33 -04:00
Nils Adermann
02bba23844 Merge branch 'ticket/marshalrusty/9859' into prep-release-3.0.9
* ticket/marshalrusty/9859:
  [ticket/9859] Changing all phpBB footers to match the new credit line
  [ticket/9859] New footer copyright line with registered symbol
2011-07-06 21:50:43 -04:00
Yuriy Rusko
a275d17625 [ticket/9859] Changing all phpBB footers to match the new credit line
PHPBB3-9859
2011-07-06 21:46:33 -04:00
Yuriy Rusko
f22081d21e [ticket/9859] New footer copyright line with registered symbol
PHPBB3-9859
2011-07-06 19:36:25 -04:00
Nils Adermann
b261a1a31a [ticket/10250] The site_logo hash is different depending on imageset & language
PHPBB3-10250
2011-07-06 17:53:57 -04:00
Andreas Fischer
5eeb870442 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10247] Remove attempt_id as primary key from database_update.php
2011-07-06 23:19:02 +02:00
Andreas Fischer
ca2d6a01f1 Merge remote-tracking branch 'nickvergessen/ticket/10247' into prep-release-3.0.9
* nickvergessen/ticket/10247:
  [ticket/10247] Remove attempt_id as primary key from database_update.php
2011-07-06 23:18:51 +02:00
Nils Adermann
8ec737e9c4 [ticket/10250] Destroy cached md5 hash of site_logo on refreshing an imageset
PHPBB3-10250
2011-07-05 19:38:15 -04:00
Nils Adermann
f610f44a4e [ticket/10250] Overwrite the site_logo width&height when the phpbb logo is used
The new logo is slightly wider than the old logo. If we changed the size in the
imageset.cfg we would cause a conflict for everyone who replaced the logo with
their own and modified the size. Instead we overwrite the width and height in
the img() function in session.php only if its contents are that of the stock
phpbb logo.

PHPBB3-10250
2011-07-05 19:09:09 -04:00
Joas Schilling
0c93e92eef [ticket/10247] Remove attempt_id as primary key from database_update.php
PHPBB3-10247
2011-07-05 23:19:39 +02:00
Sam Thompson
77c9422630 [ticket/10250] Added the new phpBB Logo with the Registered Trademark Symbol
PHPBB3-10250
2011-07-05 17:08:11 -04:00
Andreas Fischer
7e4460dbc9 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10247] Use COUNT(*) instead of COUNT(attempt_id)
2011-07-05 02:09:47 +02:00
Andreas Fischer
c916d49ddd Merge remote-tracking branch 'naderman/ticket/10247' into prep-release-3.0.9
* naderman/ticket/10247:
  [ticket/10247] Use COUNT(*) instead of COUNT(attempt_id)
2011-07-05 02:09:29 +02:00
Nils Adermann
0d602e1722 [ticket/10247] Use COUNT(*) instead of COUNT(attempt_id)
attempt_id column was deleted

PHPBB3-10247
2011-07-04 19:57:54 -04:00
Andreas Fischer
fa253b8b58 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Update Changelog for 3.0.9 release.
  [prep-release-3.0.9] Bumping version number for the final 3.0.9 release.
  [ticket/10247] Removing attempt_id column from the 3.0.8 to 3.0.9-RC1 updater.
  [ticket/10247] Add a db_tools test for the removal of a primary key column.
  [ticket/10247] Add empty data section to database update for RC4
  [ticket/10247] Remove unecessary attempt_id primary key column

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-07-05 01:03:37 +02:00
Andreas Fischer
7ca9c33157 [prep-release-3.0.9] Update Changelog for 3.0.9 release. 2011-07-05 00:43:09 +02:00
Andreas Fischer
d8ac2cc5f0 [prep-release-3.0.9] Bumping version number for the final 3.0.9 release. 2011-07-05 00:40:45 +02:00
Andreas Fischer
f5d86d0604 Merge remote-tracking branch 'naderman/ticket/10247' into prep-release-3.0.9
* naderman/ticket/10247:
  [ticket/10247] Removing attempt_id column from the 3.0.8 to 3.0.9-RC1 updater.
  [ticket/10247] Add a db_tools test for the removal of a primary key column.
  [ticket/10247] Add empty data section to database update for RC4
  [ticket/10247] Remove unecessary attempt_id primary key column
2011-07-05 00:27:04 +02:00
Nils Adermann
cb7604dcd8 [ticket/10247] Removing attempt_id column from the 3.0.8 to 3.0.9-RC1 updater.
To make sure that this column (which was too small and unecessary) does not
remain on 3.0.9-RCX installations and boards that were updated to a 3.0.9 RC,
the 3.0.10-RC1 release must correctly drop the column after db_tools has been
corrected and fully reviewed. The current version is not capable of dropping
primary keys correctly on all supported DBMSs.

PHPBB3-10247
2011-07-04 02:31:00 -04:00
Nils Adermann
96eab49a7a [ticket/10247] Add a db_tools test for the removal of a primary key column.
The previous drop column test already deleted the primary key, so that one was
replaced with an ordinary column.

PHPBB3-10247
2011-07-03 18:09:56 -04:00
Nils Adermann
984fd07319 [ticket/10247] Add empty data section to database update for RC4
PHPBB3-10247
2011-07-03 02:29:51 -04:00
Nils Adermann
cf4b639be5 [ticket/10247] Remove unecessary attempt_id primary key column
The database update drops any key of the same name (potential primary key) and
afterwards the column. This does not work on some of the supported DBMS and
needs further changes.

PHPBB3-10247
2011-07-03 02:15:40 -04:00
Andreas Fischer
b9b1e13e70 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Bump database version to RC3 too.

Conflicts:
	phpBB/install/database_update.php
2011-06-26 21:51:03 +02:00
Andreas Fischer
ffa6f3448f [prep-release-3.0.9] Bump database version to RC3 too. 2011-06-26 21:50:02 +02:00
Andreas Fischer
44c8126323 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Update Changelog for 3.0.9-RC3 release.
  [prep-release-3.0.9] Bumping version number for 3.0.9-RC3.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-06-26 21:00:08 +02:00
Andreas Fischer
172e3c07d6 [prep-release-3.0.9] Update Changelog for 3.0.9-RC3 release. 2011-06-26 20:57:06 +02:00
Andreas Fischer
fe0932fdf0 [prep-release-3.0.9] Bumping version number for 3.0.9-RC3. 2011-06-26 20:47:33 +02:00
Andreas Fischer
84ff04056a Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10233] IE Emulation fix breaks PM posting layout
2011-06-26 20:41:59 +02:00
Andreas Fischer
1ae42ae6ba Merge remote-tracking branch 'naderman/ticket/10233' into prep-release-3.0.9
* naderman/ticket/10233:
  [ticket/10233] IE Emulation fix breaks PM posting layout
2011-06-26 20:40:59 +02:00
Andreas Fischer
cdc23a9877 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10188] Prevent semi-compressed output
2011-06-26 20:40:25 +02:00
Andreas Fischer
f249287dc9 Merge remote-tracking branch 'naderman/ticket/10188' into prep-release-3.0.9
* naderman/ticket/10188:
  [ticket/10188] Prevent semi-compressed output
2011-06-26 20:39:54 +02:00
Nils Adermann
a5ef6c3b20 [ticket/10188] Prevent semi-compressed output
When a non-fatal error occurs at the beginning of the script before any custom
error handler is set one of two situations can be encountered:

1) if the ini option output buffer is disabled:
      - headers are sent to the http client
      - the error message is output
2) if the ini option output_buffer is enabled or the script
   is run within an ob_start()/ob_end() wrapper:
      - the error message is written to the output buffer

Once the script reaches page_header() phpbb starts gzip compression if enabled.
This is done through ob_start with a ob_gzhandler as a callback. The
compression is skipped if headers have already been sent. In situation 1) the
error message sent in plain text comes with headers and this gzip compression
is skipped. The client receives a plaintext version of the page. However in
situation 2) headers have not been sent yet and the rest of the page will be
compressed. The result is a plaintext error message followed by compressed
output. The client does not understand this output resulting in either an
error message or simply a blank page in the browser.

In addition to the above situation this problem occurs with errors that are
triggered after the custom error handler is loaded. The problem has been
noticed before, and a workaround was found. The error handler would call
ob_flush() for particular configuration settings before outputting the error
message. This resulted in headers being sent when output buffering was enabled
thus disabling gzip compression for the rest of the page. The constraints under
which ob_flush() was called were lessened over time whenever a new case was
found that would trigger this problem. Eventually ob_flush() would be called
even when code causing an E_NOTICE was simply run within an ob_start/ob_end.
This makes it impossible to use output buffering to retrieve the content of an
error message without prohibiting the page from setting headers afterwards.

This commit removes all flushing in msg_handler completely and instead fixes
the problem for both errors before and after the error handler is registered.
GZIP compression is only enabled if there is at most one level of output
buffering (e.g. the output_buffer php.ini option is enabled) and if there has
not yet been any output in this buffer. This should avoid any partial output
compression.

PHPBB3-10188
2011-06-26 20:31:22 +02:00
Raimon
d59482366a [ticket/10233] IE Emulation fix breaks PM posting layout
The minimum and maximum width of 100% make the textarea dynamically
adjust. However the smilies next to the textarea will float out of
their containing div when the default width pre-min/max is specified
as a too high value.

PHPBB3-10233
2011-06-26 11:10:05 +02:00
Nils Adermann
0e067ec3c2 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/7729] Prevent date/time functions from throwing E_WARNING on PHP 5.3.
2011-06-26 01:37:30 +02:00
Nils Adermann
fc5a68c2cf Merge branch 'ticket/bantu/7729' into prep-release-3.0.9
* ticket/bantu/7729:
  [ticket/7729] Prevent date/time functions from throwing E_WARNING on PHP 5.3.
2011-06-26 01:36:16 +02:00
Andreas Fischer
9f3b159998 [ticket/7729] Prevent date/time functions from throwing E_WARNING on PHP 5.3.
PHPBB3-7729
2011-06-25 17:42:52 +02:00
Andreas Fischer
29df4b5c60 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10228] Correct "trigger" to "triggered" in acp registration settings
2011-06-22 02:32:27 +02:00
Andreas Fischer
1ffa586583 Merge remote-tracking branch 'naderman/ticket/10228' into prep-release-3.0.9
* naderman/ticket/10228:
  [ticket/10228] Correct "trigger" to "triggered" in acp registration settings
2011-06-22 02:32:13 +02:00
Nils Adermann
237af043d6 [ticket/10228] Correct "trigger" to "triggered" in acp registration settings
PHPBB3-10228
2011-06-22 02:27:37 +02:00
rxu
18fb3d86cd [ticket/10226] Use is_numeric() instead of preg_replace()
PHPBB3-10226
2011-06-21 22:03:19 +08:00
rxu
578f9dffa6 [ticket/10226] Allow mysqli connections via local sockets/pipes
PHPBB3-10226
2011-06-21 00:55:10 +08:00
Nils Adermann
fd7e29131e Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10234] Report E_WARNING errors as "PHP Warning" instead of "PHP Notice"
2011-06-20 00:35:17 +02:00
Nils Adermann
b7069f395b Merge branch 'ticket/bantu/10234' into prep-release-3.0.9
* ticket/bantu/10234:
  [ticket/10234] Report E_WARNING errors as "PHP Warning" instead of "PHP Notice"
2011-06-20 00:33:38 +02:00
Andreas Fischer
e0ecd3e118 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10223] Make definition of phpbb_require_updated conditional
2011-06-20 00:28:35 +02:00
Andreas Fischer
d5c2bbf620 Merge remote-tracking branch 'naderman/ticket/10223' into prep-release-3.0.9
* naderman/ticket/10223:
  [ticket/10223] Make definition of phpbb_require_updated conditional
2011-06-20 00:28:02 +02:00
Andreas Fischer
8c01ed578d [ticket/10234] Report E_WARNING errors as "PHP Warning" instead of "PHP Notice"
PHPBB3-10234
2011-06-20 00:03:20 +02:00
Nils Adermann
ad5ed9d0ee [ticket/10223] Make definition of phpbb_require_updated conditional
The automatic updater defines it too and includes database_update.php
for updating which causes an error otherwise.

PHPBB3-10223
2011-06-20 00:00:30 +02:00
Andreas Fischer
1320bb7bf8 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10223] Replace spaces with tabs
2011-06-19 23:12:21 +02:00
Andreas Fischer
6a4ca8cad9 Merge remote-tracking branch 'naderman/ticket/10223' into prep-release-3.0.9
* naderman/ticket/10223:
  [ticket/10223] Replace spaces with tabs
2011-06-19 23:11:57 +02:00
Nils Adermann
67fde80fbb [ticket/10223] Replace spaces with tabs
PHPBB3-10223
2011-06-19 23:02:59 +02:00
Andreas Fischer
ee2d4f627a Merge remote-tracking branch 'rxu/ticket/10227' into develop-olympus
* rxu/ticket/10227:
  [ticket/10227] Allow persistent connections for mysqli with PHP 5.3.0+
2011-06-19 17:58:36 +02:00
Andreas Fischer
b43907d69e Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10232] Renamed S_SEARCH_HIDDEN_FIELDS to S_SEARCH_LOCAL_HIDDEN_FIELDS
2011-06-19 17:58:07 +02:00
Andreas Fischer
e2fe25fbdc Merge remote-tracking branch 'naderman/ticket/10232' into prep-release-3.0.9
* naderman/ticket/10232:
  [ticket/10232] Renamed S_SEARCH_HIDDEN_FIELDS to S_SEARCH_LOCAL_HIDDEN_FIELDS
2011-06-19 17:57:56 +02:00
Andreas Fischer
4e85731a5f Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10223] The search fid parameter is an array of forums not just an id
  [ticket/10223] Check optional before file_exists and correct require path
  [ticket/10223] requiring the new startup.php file conditionally.
2011-06-19 17:57:29 +02:00
Andreas Fischer
c4c22d4421 Merge remote-tracking branch 'naderman/ticket/10223' into prep-release-3.0.9
* naderman/ticket/10223:
  [ticket/10223] The search fid parameter is an array of forums not just an id
  [ticket/10223] Check optional before file_exists and correct require path
  [ticket/10223] requiring the new startup.php file conditionally.
2011-06-19 17:56:30 +02:00
rxu
7de078b26e [ticket/10227] Allow persistent connections for mysqli with PHP 5.3.0+
PHPBB3-10227
2011-06-19 19:03:53 +08:00
Nils Adermann
d37e8dd6d3 [ticket/10223] The search fid parameter is an array of forums not just an id
PHPBB3-10223
2011-06-19 00:13:33 +02:00
Nils Adermann
d3f1b60292 [ticket/10223] Check optional before file_exists and correct require path
PHPBB3-10223
2011-06-18 23:48:37 +02:00
Nils Adermann
6458a1a16a [ticket/10232] Renamed S_SEARCH_HIDDEN_FIELDS to S_SEARCH_LOCAL_HIDDEN_FIELDS
Avoids the global hidden fields from functions.php overwriting local
searches.

PHPBB3-10232
2011-06-18 23:22:25 +02:00
Andreas Fischer
4ac9bde2d1 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10229] On languge/acp/styles.php "%s" should be %s
2011-06-18 15:12:38 +02:00
Andreas Fischer
882cb084d7 Merge remote-tracking branch 'Raimon/ticket/10229' into prep-release-3.0.9
* Raimon/ticket/10229:
  [ticket/10229] On languge/acp/styles.php "%s" should be %s
2011-06-18 15:11:59 +02:00
Raimon
dd0606a317 [ticket/10229] On languge/acp/styles.php "%s" should be %s
PHPBB3-10229
2011-06-18 15:00:39 +02:00
Nils Adermann
1b0821a11b [ticket/10223] requiring the new startup.php file conditionally.
Added a function for this which we can potentially apply to more of the files in the
installer and database updater.

PHPBB3-10223
2011-06-18 01:02:58 +02:00
Andreas Fischer
bb1b52947e Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Update Changelog for 3.0.9-RC2 release.
2011-06-16 16:18:11 +02:00
Andreas Fischer
2bae5298e0 [prep-release-3.0.9] Update Changelog for 3.0.9-RC2 release. 2011-06-16 16:16:55 +02:00
Andreas Fischer
bd6e27d9c5 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10221] Append unit (seconds) after input field, remove from explanation
2011-06-16 16:11:27 +02:00
Andreas Fischer
1d349ee5a8 Merge remote-tracking branch 'naderman/ticket/10221' into prep-release-3.0.9
* naderman/ticket/10221:
  [ticket/10221] Append unit (seconds) after input field, remove from explanation
2011-06-16 16:11:20 +02:00
Nils Adermann
63b9b91dee [ticket/10221] Append unit (seconds) after input field, remove from explanation
PHPBB3-10221
2011-06-16 16:02:34 +02:00
Andreas Fischer
aa0c70058b Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [prep-release-3.0.9] Bumping version number for 3.0.9-RC2.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2011-06-15 19:46:28 +02:00
Andreas Fischer
48e5e56146 [prep-release-3.0.9] Bumping version number for 3.0.9-RC2. 2011-06-15 19:41:14 +02:00
Andreas Fischer
79f757d4b7 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10218] Prevent startime from being overwritten by deregister_globals()
  [ticket/10218] Moving global deregistration, etc. to startup.php

Conflicts:
	phpBB/install/database_update.php
2011-06-15 18:51:04 +02:00
Andreas Fischer
2d6df4c7fc Merge remote-tracking branch 'Marshalrusty/ticket/10218' into prep-release-3.0.9
* Marshalrusty/ticket/10218:
  [ticket/10218] Prevent startime from being overwritten by deregister_globals()
  [ticket/10218] Moving global deregistration, etc. to startup.php
2011-06-15 18:50:14 +02:00
Andreas Fischer
1e8c257bd4 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10220] Limit user agent value length for storage in login attempt table
2011-06-15 18:47:27 +02:00
Andreas Fischer
d2eebd7682 Merge remote-tracking branch 'naderman/ticket/10220' into prep-release-3.0.9
* naderman/ticket/10220:
  [ticket/10220] Limit user agent value length for storage in login attempt table
2011-06-15 18:47:26 +02:00
Andreas Fischer
bf3bac8772 Merge branch 'prep-release-3.0.9' into develop-olympus
* prep-release-3.0.9:
  [ticket/10219] Remove invalid and invisible character from web.config.
2011-06-15 18:47:24 +02:00
Nils Adermann
74785a8bda [ticket/10220] Limit user agent value length for storage in login attempt table
PHPBB3-10220
2011-06-15 18:20:16 +02:00
Igor Wiedler
62a51e681e Merge remote-tracking branch 'bantu/ticket/10219' into prep-release-3.0.9
* bantu/ticket/10219:
  [ticket/10219] Remove invalid and invisible character from web.config.
2011-06-15 08:02:00 +02:00
Yuriy Rusko
4bb98fb046 [ticket/10218] Prevent startime from being overwritten by deregister_globals()
PHPBB3-10218
2011-06-15 00:50:12 -04:00
Andreas Fischer
bc7aebe0fb [ticket/10219] Remove invalid and invisible character from web.config.
PHPBB3-10219
2011-06-14 23:18:33 +02:00
Yuriy Rusko
f8eb154714 [ticket/10218] Moving global deregistration, etc. to startup.php
Because startup.php deletes all variables, the constants in
database_update are used to preserve settings at the top.

PHPBB3-10218
2011-06-14 06:11:35 -04:00
Andreas Fischer
bf61602a28 [develop-olympus] Incrementing the version to 3.0.10-dev in develop-olympus. 2011-06-13 22:23:28 +02:00
Andreas Fischer
5223f7558b Merge remote-tracking branch 'naderman/ticket/10214' into develop-olympus
* naderman/ticket/10214:
  [ticket/10214] Correct Oracle create table query syntax in db_tools
2011-06-13 19:49:52 +02:00
Nils Adermann
c090e1c9e9 [ticket/10214] Correct Oracle create table query syntax in db_tools
Removes the semicolon at end of oracle CREATE TABLE queries and adds a
semicolon to the end of a SELECT query inside of the trigger for a new
table's auto increment column before the end keyword

PHPBB3-10214
2011-06-13 06:14:59 +02:00
Andreas Fischer
7cc45ee0d5 Merge remote-tracking branch 'naderman/ticket/10213' into develop-olympus
* naderman/ticket/10213:
  [ticket/10213] Update install schema with shorter index names.
2011-06-13 02:15:35 +02:00
Nils Adermann
47edadfc9e [ticket/10213] Update install schema with shorter index names.
PHPBB3-10213
2011-06-13 01:52:18 +02:00
Andreas Fischer
25bd58d2f9 Merge remote-tracking branch 'naderman/ticket/9892' into develop-olympus
* naderman/ticket/9892:
  [ticket/9892] _sql in the updater needs to return the transaction results
2011-06-13 00:09:37 +02:00
Nils Adermann
c9e22ac509 [ticket/9892] _sql in the updater needs to return the transaction results
PHPBB3-9892
2011-06-12 23:45:23 +02:00
Andreas Fischer
d724c3afac Merge remote-tracking branch 'naderman/ticket/9992' into develop-olympus
* naderman/ticket/9992:
  [ticket/9992] The table name constant needs to be defined in the updater
2011-06-12 23:19:37 +02:00
Nils Adermann
b65cf4c8d6 [ticket/9992] The table name constant needs to be defined in the updater
When the database update is run before updating the files the constant
is not yet defined.

PHPBB3-9992
2011-06-12 23:09:52 +02:00
Andreas Fischer
cab3b1bf7b [develop-olympus] Also build packages for 3.0.7. 2011-06-12 23:07:48 +02:00
Andreas Fischer
939bb65b17 [develop-olympus] Changelog: Changes since 3.0.8 2011-06-12 22:09:25 +02:00
Andreas Fischer
7232ca4102 [develop-olympus] Bumping version number for 3.0.9-RC1. 2011-06-12 19:45:01 +02:00
Andreas Fischer
b774520621 [develop-olympus] Bumping version number for 3.0.9-RC1 and 3.0.9 releases. 2011-06-12 19:45:01 +02:00
Andreas Fischer
a9d7c90f2a Merge remote-tracking branch 'naderman/ticket/10211' into develop-olympus
* naderman/ticket/10211:
  [ticket/10211] Add spce after dot in new language string
2011-06-12 19:42:43 +02:00
Nils Adermann
8475a8bec5 [ticket/10211] Add spce after dot in new language string
PHPBB3-10211
2011-06-12 19:36:22 +02:00
Andreas Fischer
4adfa46850 Merge remote-tracking branch 'naderman/ticket/9892' into develop-olympus
* naderman/ticket/9892:
  [ticket/9892] Correct copyright year
  [ticket/9892] Remove incorrect use of camel case
  [ticket/9892] Removing closing php tag from create_schema_files
  [ticket/9892] Transaction support for database update sql execution function
  [ticket/9892] count is a keyword in firebird, so renaming this alias
  [ticket/9892] Q&A CAPTCHA did not work on firebird, so no need to change config
  [ticket/9892] Shorten login_attempt key names to avoid firebird length problems
  [ticket/9892] Drop Q&A CAPTCHA tables if left in inconsistent state
  [ticket/9892] Adding a number of tests for db_tools
  [ticket/9892] Table prefix lengths influence index lengths in db_tools
  [ticket/9892] Shorten the index names on the q&a captcha
  [ticket/9892] column & index name limits, firebird auto increment in db_tools
2011-06-12 19:24:00 +02:00
Nils Adermann
4e0717b4d7 [ticket/9892] Correct copyright year
PHPBB3-9892
2011-06-12 12:26:49 +02:00
Nils Adermann
11750bdccc [ticket/9892] Remove incorrect use of camel case
PHPBB3-9892
2011-06-12 12:24:57 +02:00
Nils Adermann
76cc7be4d2 [ticket/9892] Removing closing php tag from create_schema_files
PHPBB3-9892
2011-06-12 11:46:55 +02:00
Nils Adermann
2569d7460a [ticket/9892] Transaction support for database update sql execution function
Updates would fail before because 'begin' as generated by
db_tools::sql_create_table would be executed literally.

PHPBB3-9892
2011-06-12 11:40:57 +02:00
Nils Adermann
ef977abe59 [ticket/9892] count is a keyword in firebird, so renaming this alias
PHPBB3-9892
2011-06-12 11:33:55 +02:00
Nils Adermann
cd3d23810f [ticket/9892] Q&A CAPTCHA did not work on firebird, so no need to change config
PHPBB3-9892
2011-06-12 11:10:18 +02:00
Nils Adermann
6cab45b28e [ticket/9892] Shorten login_attempt key names to avoid firebird length problems
PHPBB3-9892
2011-06-12 11:02:30 +02:00
Nils Adermann
32f37bf938 [ticket/9892] Drop Q&A CAPTCHA tables if left in inconsistent state
PHPBB3-9892
2011-06-12 11:02:21 +02:00
Nils Adermann
025649e14c [ticket/9892] Adding a number of tests for db_tools
The test creates a table and runs a number of queries on it to judge whether
the selected column types can hold the data they are expected to contain.
Additional test methods check the auto increment feature and a few of the
basic commands of db_tools. This is only a starting point. Plenty more
tests need to be added.

PHPBB3-9892
2011-06-12 10:34:43 +02:00
Nils Adermann
ef544ee095 [ticket/9892] Table prefix lengths influence index lengths in db_tools
PHPBB3-9892
2011-06-12 04:10:51 +02:00
Nils Adermann
8a5e3781d5 [ticket/9892] Shorten the index names on the q&a captcha
PHPBB3-9892
2011-06-12 01:28:06 +02:00
Nils Adermann
418c3d546a [ticket/9892] column & index name limits, firebird auto increment in db_tools
- Column names are limited to 30 characters
- Index names are limited to 31 characters.
  On some dbms the index name contains both table name and actual index name
  so the limit applies to the sum of the lenghts of table name and index name.
- Auto incremented column names are limited to 26 characters to provide an
  additional 4 characters for sequence names

The code for firebird auto increment support using generators/sequences with
triggers was copied from create_schema_files.php

PHPBB3-9892
2011-06-12 01:28:01 +02:00
Andreas Fischer
bf2125f0f7 Merge remote-tracking branch 'naderman/ticket/9992' into develop-olympus
* naderman/ticket/9992:
  [ticket/9992] Clarify explanations of ip and account limits on login
  [ticket/9992] Add a comma to language for IP_LOGIN_LIMIT_MAX_EXPLAIN
  [ticket/9992] Use sql_fetchfield for single row and single column result
  [ticket/9992] Adding a limit on login attempts per IP.
  [ticket/9992] Make sql_create_table and sql_table_exists available in updater
2011-06-11 19:40:03 +02:00
Igor Wiedler
76167c6b91 Merge remote-tracking branch 'bantu/ticket/10110' into develop-olympus
* bantu/ticket/10110:
  [ticket/10110] Remove multi-server syntax from Redis ACM.
2011-06-11 12:04:07 +02:00
Nils Adermann
a33b0f015a Merge branch 'ticket/bantu/10075' into develop-olympus
* ticket/bantu/10075:
  [ticket/10075] Rename nn- to Oleg in docs/AUTHORS.
  [ticket/10075] Move APTX to Former Contributors in docs/AUTHORS.
2011-06-11 03:02:43 +02:00
Andreas Fischer
41250044f8 [ticket/10075] Rename nn- to Oleg in docs/AUTHORS.
PHPBB3-10075
2011-06-11 02:58:19 +02:00
Andreas Fischer
eaf5ba7f50 [ticket/10075] Move APTX to Former Contributors in docs/AUTHORS.
PHPBB3-10075
2011-06-11 02:58:08 +02:00
Nils Adermann
f1998ddbc7 [ticket/9992] Clarify explanations of ip and account limits on login
PHPBB3-9992
2011-06-11 01:56:25 +02:00
Andreas Fischer
b9f4240c10 [ticket/10110] Remove multi-server syntax from Redis ACM.
PHPBB3-10110
2011-06-11 01:47:50 +02:00
Nils Adermann
cbcc48b8e3 [ticket/9992] Add a comma to language for IP_LOGIN_LIMIT_MAX_EXPLAIN
PHPBB3-9992
2011-06-11 01:36:28 +02:00
Nils Adermann
065bcde662 Merge branch 'ticket/bantu/9908' into develop-olympus
* ticket/bantu/9908:
  [ticket/9908] Send 301 before stripping SID so bots do (hopefully) not revisit.
2011-06-11 01:25:08 +02:00
Andreas Fischer
b5cefc400e [ticket/9908] Send 301 before stripping SID so bots do (hopefully) not revisit.
PHPBB3-9908
2011-06-10 20:08:10 +02:00
Nils Adermann
c8828473a8 [ticket/9992] Use sql_fetchfield for single row and single column result
PHPBB3-9992
2011-06-10 18:37:29 +02:00
Nils Adermann
2dee57fd43 [ticket/9992] Adding a limit on login attempts per IP.
A new table was created to save all failed login attempts with
corresponding information on username, ip and useragent. By default
the limit is 50 login attempts within 6 hours per IP. The limit is
relatively high to avoid big problems on sites behind a reverse
proxy that don't receive the forwarded-for value as REMOTE_ADDR but
see all users as coming from the same IP address. But if these
users run into problems a special forwarded-for option is available
to limit logins by forwarded-for value instead of ip.

PHPBB3-9992
2011-06-10 12:18:19 +02:00
Nils Adermann
fc9b126691 [ticket/9992] Make sql_create_table and sql_table_exists available in updater
These are defined the same way in db_tools. This duplicated code should be
removed together with the rest of the db_tools duplication at some point.

PHPBB3-9992
2011-06-10 11:06:29 +02:00
Andreas Fischer
57879d508a Merge remote-tracking branch 'naderman/ticket/10206' into develop-olympus
* naderman/ticket/10206:
  [ticket/10206] Failed unicode.org downloads no longer terminate tests
2011-06-10 02:21:55 +02:00
Nils Adermann
28801d0198 [ticket/10206] Failed unicode.org downloads no longer terminate tests
Instead a warning is triggered and an explanation echo'd.

PHPBB3-10206
2011-06-10 02:16:19 +02:00
Andreas Fischer
a4f7002995 Merge remote-tracking branch 'naderman/ticket/10198' into develop-olympus
* naderman/ticket/10198:
  [ticket/10198] range validation for strings should limit characters not bytes
  [ticket/10198] validate_config_vars() improperly validates multibyte strings
2011-06-10 01:23:17 +02:00
Nils Adermann
72479e13ab [ticket/10198] range validation for strings should limit characters not bytes
PHPBB3-10198
2011-06-10 01:21:40 +02:00
rxu
eb0ffd3503 [ticket/10198] validate_config_vars() improperly validates multibyte strings
PHPBB3-10198
2011-06-10 01:21:36 +02:00
Nils Adermann
cdfbd82504 Merge branch 'ticket/bantu/9802' into develop-olympus
* ticket/bantu/9802:
  [ticket/9802] Remove unnecessary htmlspecialchars() call on REMOTE_ADDR.
  [ticket/9802] Only check for IPv4-mapped address when address is IPv6.
  [ticket/9802] Fix tiny logic bug in loop determining REMOTE_ADDR.
  [ticket/9802] Remove redundant character class definition from preg_replace.
  [ticket/9802] Fix redundant str_replace call. No need to replace ' ' with ' '.
2011-06-10 00:47:40 +02:00
Nils Adermann
5b701dc3ed Merge branch 'ticket/rxu/6712' into develop-olympus
* ticket/rxu/6712:
  [ticket/6712] Properly explain result of setting the bump interval to 0.
  [ticket/6712] Add phpbb_ function name prefix, more docs, rename current_time
  [ticket/6712] Pass $post_data by the value instead of by the reference.
  [ticket/6712] Bump does not create new topic icon on index.
2011-06-10 00:24:43 +02:00
Nils Adermann
7f3d6150fc [ticket/6712] Properly explain result of setting the bump interval to 0.
PHPBB3-6712
2011-06-10 00:20:15 +02:00
Nils Adermann
4f4c3220ad Merge branch 'ticket/adamreyher/9878' into develop-olympus
* ticket/adamreyher/9878:
  [ticket/9878] Remove IE7 emulation from prosilver/subSilver2
2011-06-09 23:23:45 +02:00
Nils Adermann
928ee43881 Merge branch 'ticket/rxu/217' into develop-olympus
* ticket/rxu/217:
  [ticket/217] Use positive assertions in tests.
  [ticket/217] Silence errors in tests, not code.
  [ticket/217] Use positive parameter statement for bbcode_init()
  [ticket/217] Adjust patch, add tests
  [ticket/217] Multiline [url] not converted
2011-06-09 22:39:28 +02:00
Andreas Fischer
d783211f82 Merge remote-tracking branch 'nickvergessen/ticket/10068' into develop-olympus
* nickvergessen/ticket/10068:
  [ticket/10068] Style links posted in posts the same way as in signatures.
2011-06-09 22:33:12 +02:00
Andreas Fischer
e03e213d0b Merge remote-tracking branch 'nickvergessen/ticket/10171' into develop-olympus
* nickvergessen/ticket/10171:
  [ticket/10171] Fix displaying the "PM marking colours" in Firefox4.
2011-06-09 22:08:49 +02:00
Andreas Fischer
905d93ccee Merge remote-tracking branch 'naderman/ticket/7888' into develop-olympus
* naderman/ticket/7888:
  [ticket/7888] Swap in-forum/topic search to GET forms.
2011-06-09 21:57:05 +02:00
Nils Adermann
5b5ed96bc5 [ticket/7888] Swap in-forum/topic search to GET forms.
This will allow sending URLs to search results to other users. The advanced
search page has always worked like this, but these special pages used to
cause problems.

PHPBB3-7888
2011-06-09 21:53:12 +02:00
Andreas Fischer
b64159c001 Merge remote-tracking branch 'naderman/ticket/7057' into develop-olympus
* naderman/ticket/7057:
  [ticket/7057] Use GET for quicksearch and add session id to hidden fields
  [ticket/7057] Remove trailing whitespace in functions.php
2011-06-09 13:10:48 +02:00
Andreas Fischer
c6e946c65f Merge remote-tracking branch 'naderman/ticket/8138' into develop-olympus
* naderman/ticket/8138:
  [ticket/8138] Add autocomplete="off" to acp_board and ldap settings
  [ticket/8138] Add autocomplete="off" to a user and forum ACP.
2011-06-09 12:55:04 +02:00
Adam Reyher
fe425dedff [ticket/9878] Remove IE7 emulation from prosilver/subSilver2
With these changes, prosilver and subSilver2 no longer need to force IE7
emulation when browsing with IE8 due to the well-known textarea scrolling
bug.

PHPBB3-9878
2011-06-09 06:52:11 -04:00
Andreas Fischer
f7578e29b3 Merge remote-tracking branch 'naderman/ticket/10005' into develop-olympus
* naderman/ticket/10005:
  [ticket/10005] Add description to test cases
  [ticket/10005] Add validation of dropdown custom profile field values
2011-06-09 12:47:26 +02:00
Andreas Fischer
60811a507e Merge remote-tracking branch 'naderman/ticket/10204' into develop-olympus
* naderman/ticket/10204:
  [ticket/10204] Detect binary file changes in dirs with names containing dots
2011-06-09 12:45:10 +02:00
Nils Adermann
3c60cfd863 [ticket/10204] Detect binary file changes in dirs with names containing dots
PHPBB3-10204
2011-06-09 05:58:38 +02:00
Andreas Fischer
a7258fc6ce Merge remote-tracking branch 'nickvergessen/ticket/10203' into develop-olympus
* nickvergessen/ticket/10203:
  [ticket/10203] Fix quotations and hyphen in language strings for PHPBB3-10067
2011-06-09 01:19:08 +02:00
Joas Schilling
d2b5d77b2c [ticket/10203] Fix quotations and hyphen in language strings for PHPBB3-10067
PHPBB3-10203
2011-06-09 00:33:27 +02:00
Joas Schilling
c07540163c [ticket/10068] Style links posted in posts the same way as in signatures.
Firefox4 is going to have some restrictions to :visited for security purpose
(see http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ for more information)
In phpBB links inside posts therefor can not be displayed with the dotted line
anymore. So when we change this anyway we can just make links in signature and
posts look the same.

PHPBB3-10068
2011-06-06 16:54:40 +02:00
Oleg Pudeyev
c93164db58 [ticket/217] Use positive assertions in tests.
PHPBB3-217
2011-06-06 21:16:47 +08:00
Oleg Pudeyev
2d1e426ba7 [ticket/217] Silence errors in tests, not code.
Use a mock user object for testing bbcode.

PHPBB3-217
2011-06-06 21:14:10 +08:00
Andreas Fischer
759f8d5c2c Merge remote-tracking branch 'naderman/ticket/10067' into develop-olympus
* naderman/ticket/10067:
  [ticket/10067] Add separator to h_radio to place options on individual lines
2011-06-06 10:58:05 +02:00
rxu
d44b6ba5ca [ticket/217] Use positive parameter statement for bbcode_init()
PHPBB3-217
2011-06-06 00:53:54 +08:00
rxu
6585d938d2 [ticket/217] Adjust patch, add tests
PHPBB3-217
2011-06-06 00:53:53 +08:00
rxu
16ab0d8c26 [ticket/217] Multiline [url] not converted
This is the second attempt parse multiline URL text, see the ticket comments.

PHPBB3-217
2011-06-06 00:53:11 +08:00
Nils Adermann
26e052bb26 [ticket/10067] Add separator to h_radio to place options on individual lines
The previous mechanism for account activation resulted in two h_radio calls
with identical id attributes for two elements.

PHPBB3/10067
2011-06-05 09:52:17 +02:00
Nils Adermann
893d0ae96f Merge branch 'ticket/bantu/10042' into develop-olympus
* ticket/bantu/10042:
  [ticket/10042] GD CAPTCHA: Call phpbb_mt_rand() where required.
  [ticket/10042] GD CAPTCHA: Round offset to the next pixel.
  [ticket/10042] Add mt_rand() wrapper which allows swapping $min and $max.
2011-06-05 03:22:09 +02:00
Nils Adermann
ffc137986f Merge branch 'ticket/bantu/9922' into develop-olympus
* ticket/bantu/9922:
  [ticket/9922] Link post subject to the post's anchor in subsilver2.
2011-06-05 03:00:56 +02:00
Nils Adermann
a9f4e00234 Merge branch 'ticket/p/10067' into develop-olympus
* ticket/p/10067:
  [ticket/10067] Clarify language for user activation options in ACP.
2011-06-05 02:49:35 +02:00
Nils Adermann
27e1f1319f Merge branch 'ticket/nickvergessen/10158' into develop-olympus
* ticket/nickvergessen/10158:
  [ticket/10158] Remove some code duplication from generating the message.
  [ticket/10158] Only view "Return to" links if they are useful.
  [ticket/10158] Add return-link to folder, when the user replied from a folder.
  [ticket/10158] Add "Return to Inbox"-link to "PM send"-message.
2011-06-05 01:58:37 +02:00
Nils Adermann
6b6705b852 [ticket/10158] Remove some code duplication from generating the message.
PHPBB3-10158
2011-06-05 01:58:03 +02:00
Nils Adermann
b1ae6f6407 Merge branch 'ticket/bantu/10195' into develop-olympus
* ticket/bantu/10195:
  [ticket/10195] Return false in session::check_dnsbl() when IPv6 is passed.
2011-06-05 01:30:26 +02:00
Nils Adermann
f11ef89c65 [ticket/8138] Add autocomplete="off" to acp_board and ldap settings
PHPBB3-8138
2011-06-03 19:06:12 +02:00
Nils Adermann
4ddd116cd4 [ticket/8138] Add autocomplete="off" to a user and forum ACP.
PHPBB3-8138
2011-06-03 18:59:24 +02:00
Andreas Fischer
116744d4e5 Merge remote-tracking branch 'naderman/ticket/10149' into develop-olympus
* naderman/ticket/10149:
  [ticket/10149] Skip foreach over GLOBALS cookie values if cookie is scalar
2011-06-03 12:53:50 +02:00
Andreas Fischer
7a2fb9f123 Merge remote-tracking branch 'naderman/ticket/9950' into develop-olympus
* naderman/ticket/9950:
  [ticket/9950] Use actual language instead of user's language in overall header
2011-06-03 10:58:18 +02:00
Nils Adermann
a2b6605ce8 [ticket/10005] Add description to test cases
PHPBB3-10005
2011-06-03 03:12:13 +02:00
Nils Adermann
57eb02bf2c [ticket/10149] Skip foreach over GLOBALS cookie values if cookie is scalar
PHPBB3-10149
2011-06-03 02:39:00 +02:00
Andreas Fischer
b1a4de3166 Merge remote-tracking branch 'naderman/ticket/9685' into develop-olympus
* naderman/ticket/9685:
  [ticket/9685] Test for databases that are able to nest transactions
  [ticket/9685] Consistently name the new sql_buffer_nested_transactions function
2011-06-02 23:30:09 +02:00
Nils Adermann
6e8b59dce3 [ticket/7057] Use GET for quicksearch and add session id to hidden fields
Without sid a GET form logs a user out if they have cookies disabled.

PHPBB3-7057
2011-06-02 10:10:42 +02:00
Nils Adermann
d270f736e3 [ticket/7057] Remove trailing whitespace in functions.php
PHPBB3-7057
2011-06-02 10:09:40 +02:00
Nils Adermann
7b10f859de [ticket/10005] Add validation of dropdown custom profile field values
PHPBB3-10005
2011-06-02 08:49:59 +02:00
Nils Adermann
324c913ac9 [ticket/9950] Use actual language instead of user's language in overall header
PHPBB3-9950
2011-06-02 06:24:28 +02:00
Nils Adermann
f0287f7e57 [ticket/9685] Test for databases that are able to nest transactions
If a database is unable to nest transactions the dbal should implement
sql_buffer_nested_transactions to signal that buffering of the outer
results and closing of the outer transaction is required to open the
inner transaction.

PHPBB3-9685
2011-06-02 06:09:21 +02:00
Nils Adermann
2159e4f285 Merge branch 'ticket/p/10039' into develop-olympus
* ticket/p/10039:
  [ticket/10039] Added mssqlnative cases to phpBB 2.0 converter.
2011-06-02 04:52:30 +02:00
Nils Adermann
ebe83769e6 [ticket/9685] Consistently name the new sql_buffer_nested_transactions function
PHPBB3-9685
2011-06-02 01:52:25 +02:00
Andreas Fischer
83dfe0d22c [ticket/10195] Return false in session::check_dnsbl() when IPv6 is passed.
There is no support for IPv6 addresses in the blacklists we check right now.

PHPBB3-10195
2011-05-26 10:56:46 +02:00
Andreas Fischer
7da88f9103 Merge remote-tracking branch 'erikfrerejean/ticket/10192' into develop-olympus
* erikfrerejean/ticket/10192:
  [ticket/10192] Add missing semicolon
2011-05-23 23:59:45 +02:00
Andreas Fischer
e0ce73e3b8 Merge remote-tracking branch 'p/ticket/9630' into develop-olympus
* p/ticket/9630:
  [ticket/9630] Make language for moving posts clearer in quickmod/mcp.
2011-05-23 23:56:31 +02:00
Joas Schilling
67449f8f1b [ticket/10158] Only view "Return to" links if they are useful.
PHPBB3-10158
2011-05-23 12:03:04 +02:00
Erik Frèrejean
b5e5ed0033 [ticket/10192] Add missing semicolon
if the index has to be recreated it will run into the private message
table query.

PHPBB3-10192
2011-05-23 11:00:58 +02:00
Andreas Fischer
e4681f0929 Merge remote-tracking branch 'p/ticket/10191' into develop-olympus
* p/ticket/10191:
  [ticket/10191] Use ob_get_level in exit_handler for output buffering check.
2011-05-23 10:18:49 +02:00
Andreas Fischer
00a4ace573 Merge remote-tracking branch 'p/ticket/10188' into develop-olympus
* p/ticket/10188:
  [ticket/10188] Use ob_get_level in msg_handler for output buffering check.
2011-05-23 10:14:40 +02:00
Oleg Pudeyev
44cc8153cd [ticket/10191] Use ob_get_level in exit_handler for output buffering check.
Calling flush() when output buffering is enabled causes output to be
duplicated. Besides phpBB enabling output buffering for gzip compression,
output buffering may be enabled externally to phpBB via output_handler
or output_buffering directives in php.ini.

Use ob_get_level to determine whether output buffering is active and
call ob_flush in that case.

PHPBB3-10191
2011-05-22 07:16:40 -04:00
Oleg Pudeyev
9b62500a10 [ticket/10188] Use ob_get_level in msg_handler for output buffering check.
Output buffering may be enabled via various approaches, among them:

 * output_buffering in php.ini;
 * output_handler in php.ini enables output_buffering;
 * ob_start call.

ob_get_level allows us to query php runtime for the actual output buffering
status.

PHPBB3-10188
2011-05-22 06:48:59 -04:00
Patrick Webster
94c28efe07 [ticket/10039] Added mssqlnative cases to phpBB 2.0 converter.
PHPBB3-10039
2011-05-13 19:43:17 -04:00
Oleg Pudeyev
5e81b058cf Merge remote-tracking branch 'bantu/ticket/10146' into develop-olympus
* bantu/ticket/10146:
  [ticket/10146] Firebird: 1 <= precision <= 18 ==> Cast to DECIMAL(18, 0).
2011-05-13 19:32:35 -04:00
Andreas Fischer
46110d8cef Merge remote-tracking branch 'p/ticket/10186' into develop-olympus
* p/ticket/10186:
  [ticket/10186] UCP signature panel displays when not authed for signatures
2011-05-13 01:29:00 +02:00
RMcGirr83
f6fa52540c [ticket/10186] UCP signature panel displays when not authed for signatures
The signature panel link was displayed even when a user did not have the
auths to create/edit their signature. Clicking on the link gave a
trigger_error of "Not authorised to have a signature". Hide the link
when user does not have permissions to edit their signature.

PHPBB3-10186
2011-05-12 19:25:20 -04:00
Oleg Pudeyev
0d407f10d0 Merge remote-tracking branch 'bantu/ticket/10126' into develop-olympus
* bantu/ticket/10126:
  [ticket/10126] Use binary "and not" instead of binary "xor" in error_reporting.
2011-05-10 23:42:22 -04:00
Oleg Pudeyev
f670aefd36 Merge remote-tracking branch 'bantu/ticket/10170' into develop-olympus
* bantu/ticket/10170:
  [ticket/10170] Fix broken recaptcha verification host.
  [ticket/10170] Include www in hostname in language strings.
  [ticket/10170] Update language entries
  [ticket/10170] reCaptcha API has been moved.
2011-05-10 22:06:23 -04:00
Andreas Fischer
5a4a1e3c25 [ticket/10126] Use binary "and not" instead of binary "xor" in error_reporting.
Make what we want to achieve clear by using "and not" instead of "xor".

PHPBB3-10126
2011-05-11 03:56:15 +02:00
Andreas Fischer
eded608a53 [ticket/10170] Fix broken recaptcha verification host.
PHPBB3-10170
2011-05-11 03:26:36 +02:00
Andreas Fischer
2c0c8a580f [ticket/10170] Include www in hostname in language strings.
PHPBB3-10170
2011-05-11 03:14:14 +02:00
Erik Frèrejean
46fcf9c8e4 [ticket/10170] Update language entries
Update the language entries to reflect the reCaptcha
API change.

PHPBB3-10170
2011-05-10 23:34:38 +02:00
Erik Frèrejean
ca981b6d18 [ticket/10170] reCaptcha API has been moved.
The reCaptcha API has been moved from recaptcha.net to
google.com/recaptcha.

PHPBB3-10170
2011-05-10 23:31:41 +02:00
Oleg Pudeyev
7faabfb532 Merge remote-tracking branch 'bantu/ticket/10154' into develop-olympus
* bantu/ticket/10154:
  [ticket/10154] Move "copy permissions from" to below "parent" on forum creation
2011-05-09 22:35:19 -04:00
Oleg Pudeyev
820ed7a17d Merge remote-tracking branch 'bantu/ticket/9999' into develop-olympus
* bantu/ticket/9999:
  [ticket/9999] SEARCH_USER_POSTS is also used on viewtopic. Move to common.
  [ticket/9999] Remove broken and unused L_FORUM_FOLDER_ALT variable.
2011-05-09 22:24:10 -04:00
Andreas Fischer
ccb78f74a4 [ticket/9999] SEARCH_USER_POSTS is also used on viewtopic. Move to common.
PHPBB3-9999
2011-05-09 23:20:17 +02:00
Andreas Fischer
4038091382 [ticket/9999] Remove broken and unused L_FORUM_FOLDER_ALT variable.
L_FORUM_FOLDER_ALT was supposed to be a language variable but the language
variable is never looked up but directly passed as L_FORUM_FOLDER_ALT instead.

Also, the expected functionality is correctly implemented by
FORUM_FOLDER_IMG_ALT.

PHPBB3-9999
2011-05-09 23:11:56 +02:00
Andreas Fischer
2d35e60443 [ticket/10154] Move "copy permissions from" to below "parent" on forum creation
Move "copy permissions from" to below "parent forum" in forum creation form.

PHPBB3-10154
2011-05-09 22:53:08 +02:00
Joas Schilling
437013194a [ticket/10158] Add return-link to folder, when the user replied from a folder.
PHPBB3-10158
2011-05-09 12:46:34 +02:00
Andreas Fischer
52316bb3f5 Merge remote-tracking branch 'p/ticket/10178' into develop-olympus
* p/ticket/10178:
  [ticket/10178] Add path to find command to build packages on FreeBSD.
2011-05-08 16:34:23 +02:00
Andreas Fischer
4d1f6352e6 Merge remote-tracking branch 'p/ticket/10177' into develop-olympus
* p/ticket/10177:
  [ticket/10177] Add `-f -` to tar command to build packages with bsdtar.
2011-05-08 16:34:21 +02:00
Oleg Pudeyev
d987c0a118 [ticket/10178] Add path to find command to build packages on FreeBSD.
PHPBB3-10178
2011-05-07 22:31:44 -04:00
Oleg Pudeyev
129f70bf95 [ticket/10177] Add -f - to tar command to build packages with bsdtar.
PHPBB3-10177
2011-05-07 22:31:33 -04:00
Andreas Fischer
963a67332a [ticket/9922] Link post subject to the post's anchor in subsilver2.
Link post subject to the post's anchor in subsilver2 to expose full URL to post
which is otherwise only hidden behind the small post icon.

PHPBB3-9922
2011-05-05 19:53:10 +02:00
Joas Schilling
0d234cabf4 [ticket/10171] Fix displaying the "PM marking colours" in Firefox4.
PHPBB3-10171
2011-05-05 15:57:59 +02:00
Nils Adermann
e7dd37910c Merge branch 'ticket/p/10003' into develop-olympus
* ticket/p/10003:
  [ticket/10003] Delete EOL at EOF for the benefit of 3.0 modifications.
  [ticket/10003] Ported 1802b9ff92 to db_tools.
  [ticket/10003] Ported 5553cfc2ed to db_tools.
  [ticket/10003] Ported 023760c8b2 to db_tools.
  [ticket/10003] Ported 54c22ae52a to db_tools.
  [ticket/10003] Ported 96a30afcca to db_tools.
  [ticket/10003] Ported d7d96223e7 to db_tools.
2011-05-05 14:44:49 +02:00
Joas Schilling
65d956bd81 [ticket/10158] Add "Return to Inbox"-link to "PM send"-message.
PHPBB3-10158
2011-05-05 10:49:54 +02:00
Oleg Pudeyev
3a70cb478c Merge remote-tracking branch 'erikfrerejean/ticket/9954' into develop-olympus
* erikfrerejean/ticket/9954:
  [ticket/9954] Remove unneeded never permission
2011-05-03 00:24:44 -04:00
Oleg Pudeyev
c651948cb3 [ticket/9630] Make language for moving posts clearer in quickmod/mcp.
PHPBB3-9630
2011-05-02 23:54:35 -04:00
rxu
5254ec2795 [ticket/6712] Add phpbb_ function name prefix, more docs, rename current_time
PHPBB3-6712
2011-05-01 13:38:39 +08:00
Oleg Pudeyev
aa7be58d41 Merge branch 'erikfrerejean/ticket/9961' into develop-olympus
* erikfrerejean/ticket/9961:
  [ticket/9961] Create log entries when users are activated.
2011-04-30 17:41:04 -04:00
Oleg Pudeyev
8155bc5a9d [ticket/10067] Clarify language for user activation options in ACP.
PHPBB3-10067
2011-04-30 15:39:19 -04:00
Oleg Pudeyev
1e2c19f4b4 [ticket/10003] Delete EOL at EOF for the benefit of 3.0 modifications.
PHPBB3-10003
2011-04-29 02:16:02 -04:00
Oleg Pudeyev
85549fad83 [ticket/10003] Ported 1802b9ff92 to db_tools.
Most of it was already in db_tools, these changes could have applied to
code that did not exist in db_tools at the time of the commit.

PHPBB3-10003
2011-04-29 02:10:42 -04:00
Oleg Pudeyev
55ff5da70b [ticket/10003] Ported 5553cfc2ed to db_tools.
The diff in database_update was only partially relevant.

PHPBB3-10003
2011-04-29 02:10:42 -04:00
Oleg Pudeyev
761e3dd36f [ticket/10003] Ported 023760c8b2 to db_tools.
This was painful. Git wanted to patch hunks in wrong places.
Hopefully I got it right.

PHPBB3-10003
2011-04-29 02:10:42 -04:00
Oleg Pudeyev
9f34aa0b79 [ticket/10003] Ported 54c22ae52a to db_tools.
This diff applied cleanly.

PHPBB3-10003
2011-04-29 02:10:42 -04:00
Oleg Pudeyev
3cb1b90ca6 [ticket/10003] Ported 96a30afcca to db_tools.
This change is somewhat questionable, maybe it should be reviewed.

PHPBB3-10003
2011-04-29 02:10:41 -04:00
Oleg Pudeyev
e6eb11bb11 [ticket/10003] Ported d7d96223e7 to db_tools.
PHPBB3-10003
2011-04-29 02:10:41 -04:00
Igor Wiedler
850741ee16 Merge remote branch 'bantu/ticket/10145' into develop-olympus
* bantu/ticket/10145:
  [ticket/10145] Always recompile all templates when DEBUG_EXTRA is defined.
2011-04-26 21:49:21 +02:00
Andreas Fischer
569a4b2091 Merge remote branch 'p/ticket/7941' into develop-olympus
* p/ticket/7941:
  [ticket/7941] Added @return to generate_board_url docstring.
2011-04-26 19:35:49 +02:00
Andreas Fischer
a3a70e13b5 [ticket/10145] Always recompile all templates when DEBUG_EXTRA is defined.
PHPBB3-10145
2011-04-26 12:35:44 +02:00
Andreas Fischer
8a97722464 Merge branch 'ticket/p/10147' into develop-olympus
* ticket/p/10147:
  [ticket/10147] Corrected a typo in includes/functions_template.php.
2011-04-23 21:51:49 +02:00
Oleg Pudeyev
a8ecd30fe1 [ticket/10147] Corrected a typo in includes/functions_template.php.
PHPBB3-10147
2011-04-23 15:36:45 -04:00
Andreas Fischer
bc48fe1704 Merge branch 'ticket/p/10141' into develop-olympus
* ticket/p/10141:
  [ticket/10141] Save a hash lookup when value is not in cache.
  [ticket/10141] Split double-assignment into conditional and unconditional part.
  [ticket/10141] Use a cache in $auth->_fill_acl() for better performance.
2011-04-22 11:16:32 +02:00
Andreas Fischer
9cb6a69861 [ticket/10146] Firebird: 1 <= precision <= 18 ==> Cast to DECIMAL(18, 0).
PHPBB3-10146
2011-04-22 11:01:07 +02:00
Oleg Pudeyev
0a8893498d Merge branch 'ticket/bantu/10137' into develop-olympus
* ticket/bantu/10137:
  [ticket/10137] Remove unintended space at end of PHP_URL_FOPEN_SUPPORT_EXPLAIN.
2011-04-22 00:16:21 -04:00
Oleg Pudeyev
ff5274181c Merge branch 'ticket/bantu/10105' into develop-olympus 2011-04-22 00:03:02 -04:00
Oleg Pudeyev
f49656986c [ticket/10141] Save a hash lookup when value is not in cache.
PHPBB3-10141
2011-04-21 23:15:51 -04:00
Andreas Fischer
8c3cfbb40e [ticket/10105] Update AIM express link.
PHPBB3-10105
2011-04-22 00:42:49 +02:00
Andreas Fischer
78fa3a3b03 [ticket/10105] Update AIM application download link.
PHPBB3-10105
2011-04-22 00:41:55 +02:00
Andreas Fischer
6ee6245e5b [ticket/10137] Remove unintended space at end of PHP_URL_FOPEN_SUPPORT_EXPLAIN.
PHPBB3-10137
2011-04-22 00:30:13 +02:00
Andreas Fischer
b1367bce48 [ticket/10141] Split double-assignment into conditional and unconditional part.
PHPBB3-10141
2011-04-22 00:20:09 +02:00
Bart van Bragt
11dd4b54fa [ticket/10141] Use a cache in $auth->_fill_acl() for better performance.
Many sequences being converted are the same. Use a local cache to
convert each sequence once, speeding up the function.

PHPBB3-10141
2011-04-21 04:21:09 -04:00
Andreas Fischer
d1f1d8ade7 [ticket/9802] Remove unnecessary htmlspecialchars() call on REMOTE_ADDR.
The value in $_SERVER['REMOTE_ADDR'] is either validated to be a valid IP
address or is replaced by our default value. Valid IP addresses do not contain
HTML special characters, thus the htmlspecialchars() call is unnecessary.

PHPBB3-9802
2011-04-19 14:10:23 +02:00
Andreas Fischer
5ca7121ed2 [ticket/9802] Only check for IPv4-mapped address when address is IPv6.
PHPBB3-9802
2011-04-19 14:08:23 +02:00
Andreas Fischer
bef2540d9c [ticket/9802] Fix tiny logic bug in loop determining REMOTE_ADDR.
When $ip is empty() it was assigned to $this->ip.

PHPBB3-9802
2011-04-19 13:46:00 +02:00
Andreas Fischer
fd80535859 [ticket/9802] Remove redundant character class definition from preg_replace.
PHPBB3-9802
2011-04-19 13:22:48 +02:00
Andreas Fischer
ee6167879e [ticket/9802] Fix redundant str_replace call. No need to replace ' ' with ' '.
PHPBB3-9802
2011-04-19 13:22:23 +02:00
Erik Frèrejean
1d2201902f [ticket/9961] Create log entries when users are activated.
* Create log entries when a user activates own account without
   also changing their password.

 * Additionally create admin log entries when an administrator activates
   user accounts.

PHPBB3-9961
2011-04-19 13:11:20 +02:00
Oleg Pudeyev
682814180c [ticket/7941] Added @return to generate_board_url docstring.
PHPBB3-7941
2011-04-17 18:46:03 -04:00
Oleg Pudeyev
32bc980ca0 Merge branch 'ticket/nickvergessen/10109' into develop-olympus
* ticket/nickvergessen/10109:
  [ticket/10109] Fix "Undefined Index" errors when copying a topic.
2011-04-17 03:20:22 -04:00
Oleg Pudeyev
76bc4c24a5 Merge branch 'ticket/rxu/10117' into develop-olympus
* ticket/rxu/10117:
  [ticket/10117] Add one more missed 'u' modifier, add code comment
  [ticket/10117] Make smilies to be correctly parsed within unicode text.
2011-04-17 00:31:24 -04:00
Oleg Pudeyev
d4e938b25b Merge branch 'ticket/rxu/10115' into develop-olympus
* ticket/rxu/10115:
  [ticket/10115] Switch UTF-8 mode on for the rest of BBCodes
  [ticket/10115] Make some text oriented BBCodes to properly handle unicode.
2011-04-17 00:12:40 -04:00
Oleg Pudeyev
bdb84452f5 Merge branch 'ticket/bantu/10128' into develop-olympus
* ticket/bantu/10128:
  [ticket/10128] Pass E_USER_WARNING to trigger_error() calls from user_ban().
2011-04-10 19:52:06 -04:00
Oleg Pudeyev
5f05899588 Merge branch 'ticket/bantu/10123' into develop-olympus
* ticket/bantu/10123:
  [ticket/10123] Change "smilie" to "smiley" as per our coding guidelines.
2011-04-10 19:52:04 -04:00
Andreas Fischer
259929ad4e [ticket/10128] Pass E_USER_WARNING to trigger_error() calls from user_ban().
The user_ban() function is shared by the MCP and the ACP.

Mark trigger_error() calls as errors by passing E_USER_WARNING to make the
error message appear on red background (instead of green background) in the
ACP.

PHPBB3-10128
2011-04-11 00:29:48 +02:00
Oleg Pudeyev
d3b5df2548 Merge branch 'ticket/erikfrerejean/9581' into develop-olympus
* ticket/erikfrerejean/9581:
  [ticket/9581] Fix missing index
  [ticket/9581] Slightly tweaked queries
  [ticket/9581] Make banlist table select optional
  [ticket/9581] Mass e-mail to banned users
2011-04-10 11:58:29 -04:00
Andreas Fischer
5798c8f02e [ticket/10123] Change "smilie" to "smiley" as per our coding guidelines.
PHPBB3-10123
2011-04-08 12:31:56 +02:00
Andreas Fischer
c910ce1cc6 Merge branch 'ticket/nickvergessen/10084' into develop-olympus
* ticket/nickvergessen/10084:
  [ticket/10084] Add smilie/icon errors out when file is missing
2011-04-08 12:23:24 +02:00
Joas Schilling
851bb9fcd8 [ticket/10084] Add smilie/icon errors out when file is missing
PHPBB3-10084
2011-04-07 20:36:11 +02:00
Joas Schilling
a72fe8acaf [ticket/10109] Fix "Undefined Index" errors when copying a topic.
PHPBB3-10109
2011-04-07 14:53:47 +02:00
Andreas Fischer
df622a1fab Merge branch 'ticket/nickvergessen/10121' into develop-olympus
* ticket/nickvergessen/10121:
  [ticket/10121] Fix missing urlencode() for ICQ-number in viewtopic.php
  [ticket/10121] Fix ICQ profile link, leading to a dead web-messenger.
2011-04-05 00:31:33 +02:00
Joas Schilling
f96cb431a9 [ticket/10121] Fix missing urlencode() for ICQ-number in viewtopic.php
PHPBB3-10121
2011-04-03 22:14:26 +02:00
Joas Schilling
59d75c1ae6 [ticket/10121] Fix ICQ profile link, leading to a dead web-messenger.
PHPBB3-10121
2011-04-03 22:11:13 +02:00
rxu
b8adad0d48 [ticket/10117] Add one more missed 'u' modifier, add code comment
PHPBB3-10117
2011-04-03 15:28:00 +08:00
rxu
6ddb92c41e [ticket/10115] Switch UTF-8 mode on for the rest of BBCodes
PHPBB3-10115
2011-04-03 08:33:33 +08:00
rxu
d1bd5962c7 [ticket/6712] Pass $post_data by the value instead of by the reference.
PHPBB3-6712
2011-04-03 01:00:21 +08:00
rxu
25ae46b8df [ticket/10117] Make smilies to be correctly parsed within unicode text.
PHPBB3-10117
2011-04-03 00:53:00 +08:00
rxu
646d3e10d2 [ticket/10115] Make some text oriented BBCodes to properly handle unicode.
[quote], [b], [i], [size], [color], [u], [list] are affected.

PHPBB3-10115
2011-04-02 19:19:30 +08:00
Andreas Fischer
f392f55d9b Merge branch 'ticket/bantu/9751' into develop-olympus
* ticket/bantu/9751:
  [ticket/9751] Add shortcut logic for pass_complex == PASS_TYPE_ANY.
  [ticket/9751] Compare $password with empty string instead of casting it to bool
  [ticket/9751] Use a switch/case block without break for password complexity.
  [ticket/9751] Password requirement "Must contain letters and numbers" fails
2011-04-01 15:11:10 +02:00
Andreas Fischer
4dce53628c [ticket/9751] Add shortcut logic for pass_complex == PASS_TYPE_ANY.
Add shortcut logic for pass_complex because this is the default value phpBB
ships with and there is nothing to do in that function in that case.

PHPBB3-9751
2011-04-01 15:10:29 +02:00
Andreas Fischer
7cc32d3843 [ticket/9751] Compare $password with empty string instead of casting it to bool
PHPBB3-9751
2011-04-01 15:10:29 +02:00
Andreas Fischer
dba8cf12fd [ticket/9751] Use a switch/case block without break for password complexity.
PHPBB3-9751
2011-04-01 15:10:29 +02:00
rxu
a835189823 [ticket/9751] Password requirement "Must contain letters and numbers" fails
PHPBB3-9751
2011-04-01 15:10:29 +02:00
Igor Wiedler
564ce6c7f6 Merge remote branch 'callumacrae/ticket/10112' into develop-olympus
* callumacrae/ticket/10112:
  [ticket/10112] Replaced a couple occurrences of count() with sizeof()
2011-03-31 20:31:58 +02:00
Igor Wiedler
ec5ca9df6b Merge branch 'ticket/haklop/10110' into develop-olympus
* ticket/haklop/10110:
  [ticket/10110] Remove tab from empty lines
  [ticket/10110] Enable the serialization and add a constant for defined the database
  [ticket/10110] Update comments with a link to the phpredis extension
  [ticket/10110] Add Redis ACM backend
2011-03-31 20:23:30 +02:00
Eric
ddda094d3a [ticket/10110] Remove tab from empty lines
PHPBB3-10110
2011-03-31 20:16:53 +02:00
Eric
9891f5a8d2 [ticket/10110] Enable the serialization and add a constant for
defined the database

PHPBB3-10110
2011-03-31 20:16:53 +02:00
Eric
f18d93756c [ticket/10110] Update comments with a link to the phpredis extension
PHPBB3-10110
2011-03-31 20:16:53 +02:00
Eric
fad7333e72 [ticket/10110] Add Redis ACM backend
PHPBB3-10110
2011-03-31 20:16:52 +02:00
Callum Macrae
657971754b [ticket/10112] Replaced a couple occurrences of count() with sizeof()
As per the coding guidlines, sizeof() should be used instead of count().

PHPBB3-10112
2011-03-30 11:30:27 +01:00
Erik Frèrejean
83ca730544 [ticket/9581] Fix missing index
Add `u.user_lang` to the select statement to prevent "undefined
index" errors.

PHPBB3-9581
2011-03-24 10:44:36 +01:00
Andreas Fischer
6ac93d8a00 Merge branch 'ticket/jellydoughnut/9946' into develop-olympus
* ticket/jellydoughnut/9946:
  [ticket/9946] Allow storage of data >4kB on Oracle again
2011-03-24 09:22:12 +01:00
Oleg Pudeyev
df6ce22fa3 Merge branch 'ticket/bantu/10082' into develop-olympus
* ticket/bantu/10082:
  [ticket/10082] session_id is CHAR(32) not VARCHAR(32), so give them a CHAR(32).
2011-03-23 20:30:23 -04:00
Oleg Pudeyev
c53c255c64 Merge branch 'ticket/igorw/10107' into develop-olympus
* ticket/igorw/10107:
  [ticket/10107] Add cache to the enumeration, make statement more generic
  [ticket/10107] Make it clear that provided httpd samples are not perfect
  [ticket/10107] Add a webserver section to docs/INSTALL.html
2011-03-23 20:12:14 -04:00
Igor Wiedler
0793b49212 [ticket/10107] Add cache to the enumeration, make statement more generic
PHPBB3-10107
2011-03-24 00:40:56 +01:00
Igor Wiedler
03017a8946 [ticket/10107] Make it clear that provided httpd samples are not perfect
PHPBB3-10107
2011-03-24 00:35:05 +01:00
Igor Wiedler
2f6b046f4b Merge remote branch 'nickvergessen/ticket/10033' into develop-olympus
* nickvergessen/ticket/10033:
  [ticket/10033] "Disallow usernames" does not check already disallowed names.
2011-03-23 23:21:23 +01:00
Igor Wiedler
ae8131077e [ticket/10107] Add a webserver section to docs/INSTALL.html
Explain what to do with lighttpd and nginx after installing phpBB on
one of those webservers.

PHPBB3-10107
2011-03-23 23:13:52 +01:00
Joas Schilling
1564c01c38 [ticket/10033] "Disallow usernames" does not check already disallowed names.
PHPBB3-10033
2011-03-23 22:48:22 +01:00
Oleg Pudeyev
200c7e3c44 Merge branch 'ticket/igorw/10101' into develop-olympus
* ticket/igorw/10101:
  [ticket/10101] Add test case for native phpass hashes
  [ticket/10101] Add support for native phpass hashes
2011-03-22 21:25:00 -04:00
Igor Wiedler
51fb493edc Merge remote branch 'bantu/ticket/10021' into develop-olympus
* bantu/ticket/10021:
  [ticket/10021] Add comment explaining why we can check -1 as an error value.
  [ticket/10021] Check whether gmmktime() returns false before putting it in SQL.
2011-03-20 23:06:10 +01:00
Igor Wiedler
4c3cc152c8 [ticket/10101] Add test case for native phpass hashes
PHPBB3-10101
2011-03-20 22:52:31 +01:00
Igor Wiedler
5586bcf813 Merge remote branch 'bantu/ticket/10102' into develop-olympus
* bantu/ticket/10102:
  [ticket/10102] Correct member.S_PENDING_SET to S_PENDING_SET in if statement.
2011-03-20 22:42:43 +01:00
Igor Wiedler
cd9355e4dd Merge remote branch 'igorw/ticket/9806' into develop-olympus
* igorw/ticket/9806:
  [ticket/9806] Script for merging pull requests
2011-03-20 22:31:14 +01:00
Andreas Fischer
d36f78b9f1 [ticket/10082] session_id is CHAR(32) not VARCHAR(32), so give them a CHAR(32).
This fixes session unit tests on PostgreSQL in particular.

PHPBB3-10082
2011-03-19 23:20:41 +01:00
Andreas Fischer
087e7642e7 [ticket/10102] Correct member.S_PENDING_SET to S_PENDING_SET in if statement.
There is no member.S_PENDING_SET variable.

This fixes an XHTML error when managing groups with both approved and pending
users from the UCP.

PHPBB3-10102
2011-03-19 14:56:56 +01:00
Andreas Fischer
c24408f6ed [ticket/10021] Add comment explaining why we can check -1 as an error value.
PHPBB3-10021
2011-03-18 02:51:43 +01:00
Igor Wiedler
a3e8f74f72 Merge remote branch 'bantu/ticket/10100' into develop-olympus
* bantu/ticket/10100:
  [ticket/10100] Update rand_seed_last_update before rand_seed in unique_id().
2011-03-18 00:06:44 +01:00
Igor Wiedler
f8384b7302 [ticket/10101] Add support for native phpass hashes
phpass (the hashing library we use) adds a hash identifier to every
hash. By default this identifier is '$P$'. For some reason we have
changed it to '$H$'.

This patch allows both of them to be used for authentication, so that a
third party system could create users with '$P$' hashes.

PHPBB3-10101
2011-03-17 23:59:38 +01:00
Andreas Fischer
48ba841be0 [ticket/10100] Update rand_seed_last_update before rand_seed in unique_id().
Update $config['rand_seed_last_update'] before updating $config['rand_seed'] in
unique_id() to mitigate a race condition and unnecessary updates on heavily
busy boards.

PHPBB3-10100
2011-03-17 23:07:35 +01:00
Andreas Fischer
784132d7e8 Merge branch 'ticket/naderman/9685' into develop-olympus
* ticket/naderman/9685:
  [ticket/9685] Buffer posts for search indexing when using mssqlnative.
2011-03-15 01:59:47 +01:00
Nils Adermann
91b3195255 [ticket/9685] Buffer posts for search indexing when using mssqlnative.
To have a generic solution there is now a sql_buffer_nested_transaction()
which indicates that the given SQL driver requires buffering to run a
transaction while iterating over another result set.

PHPBB3-9685
2011-03-15 01:41:16 +01:00
Andreas Fischer
c75b299eb1 Merge branch 'ticket/p/10096' into develop-olympus
* ticket/p/10096:
  [ticket/10096] Fixed whitespace in functions.php.
2011-03-14 13:58:21 +01:00
Andreas Fischer
4f1056ad72 Merge branch 'ticket/p/10092' into develop-olympus
* ticket/p/10092:
  [ticket/10092] Ignore overlength comment lines in commit-msg hook.
2011-03-14 13:58:19 +01:00
Andreas Fischer
4dd7b4cb8f Merge branch 'ticket/p/10078' into develop-olympus
* ticket/p/10078:
  [ticket/10078] Avoid \n in strings given to echo for portability.
2011-03-14 13:58:17 +01:00
Oleg Pudeyev
64657ee366 [ticket/10096] Fixed whitespace in functions.php.
PHPBB3-10096
2011-03-13 23:12:52 -04:00
Igor Wiedler
1d2634f0ee [ticket/9806] Script for merging pull requests
PHPBB3-9806
2011-03-13 16:15:24 +01:00
Oleg Pudeyev
4d231112b6 Merge branch 'ticket/bantu/8802' into develop-olympus
* ticket/bantu/8802:
  [ticket/8802] Make FORUMS_MARKED more generic as it is also used for subforums.
  [ticket/8802] Rename "Mark forums read" to "Mark subforums read" for subforums.
2011-03-12 23:32:43 -05:00
Oleg Pudeyev
3dd5c95b6c Merge branch 'ticket/erikfrerejean/9948' into develop-olympus
* ticket/erikfrerejean/9948:
  [ticket/9948] Inline quicktime files won't show
2011-03-12 19:13:55 -05:00
Igor Wiedler
388171b482 Merge branch 'ticket/bantu/10088' into develop-olympus
* ticket/bantu/10088:
  [ticket/10088] Also ignore DBMS versions other than MySQLi in cache mock.
2011-03-12 18:23:31 +01:00
Igor Wiedler
bc42cbd94b Merge branch 'ticket/bantu/10046' into develop-olympus
* ticket/bantu/10046:
  [ticket/10046] Do not link bots to cron.php.
  [ticket/10046] No longer change $phpbb_root_path to an absolute path for cron.
  [ticket/10046] Call flush() in cron.php
  [ticket/10046] Remove calls to register_shutdown_function() in cron.php
2011-03-12 18:11:47 +01:00
Andreas Fischer
7a39bdef89 [ticket/10088] Also ignore DBMS versions other than MySQLi in cache mock.
PHPBB3-10088
2011-03-12 15:26:09 +01:00
Oleg Pudeyev
9a48045254 [ticket/10046] Do not link bots to cron.php.
Bots, generally speaking, will not request cron.php immediately,
thus telling them to request it is pointless.

PHPBB3-10046
2011-03-12 14:57:34 +01:00
Andreas Fischer
a8f2e79fbc [ticket/10046] No longer change $phpbb_root_path to an absolute path for cron.
This is no longer required because we no longer call
register_shutdown_function() which made this change necessary.

PHPBB3-10046
2011-03-12 14:57:26 +01:00
Andreas Fischer
79d209824f [ticket/10046] Call flush() in cron.php
PHPBB3-10046
2011-03-12 14:56:47 +01:00
Andreas Fischer
ec15ac92f3 [ticket/10046] Remove calls to register_shutdown_function() in cron.php
After reading some PHP source as well as the PHP manual we have arrived at the
following two situations with one conclusion:

 * SAPI supports flush():
   o call to flush() is enough to stop the page from displaying as loading
   o and thus register_shutdown_function is unnecessary

 * SAPI does not support flush():
   o neither a call to flush() nor the beginning of shutdown phase, which calls
     registered shutdown functions can flush anything to the client
   o and thus register_shutdown_function is unnecessary

Thanks to lacton for reporting the initial issue.
Thanks to nn- and naderman for doing all the dirty works.

PHPBB3-10046
2011-03-12 14:56:46 +01:00
Oleg Pudeyev
2f57bfb6f2 Merge branch 'ticket/bantu/9970' into develop-olympus
* ticket/bantu/9970:
  [ticket/9970] Rename validate_language() to validate_language_iso_name().
  [ticket/9970] Do not allow switching to languages not installed on reg. page.
  [ticket/9970] Check whether language pack is installed.
  [ticket/9970] User language input is checked for existance
2011-03-11 21:55:40 -05:00
Oleg Pudeyev
81d281f9e5 Merge branch 'ticket/erikfrerejean/10090' into develop-olympus
* ticket/erikfrerejean/10090:
  [ticket/10090] Add phpBB/cache/queue.php.lock to the gitignore
2011-03-11 19:44:39 -05:00
Oleg Pudeyev
94e09ac041 [ticket/10078] Avoid \n in strings given to echo for portability.
Also preserve whitespace (including newlines) when printing the
lines that exceed 80 character limit.

PHPBB3-10078
2011-03-11 19:30:40 -05:00
Oleg Pudeyev
7cf134c73d [ticket/10092] Ignore overlength comment lines in commit-msg hook.
PHPBB3-10092
2011-03-11 19:26:07 -05:00
Andreas Fischer
33c38b37d8 Merge branch 'ticket/p/10016' into develop-olympus
* ticket/p/10016:
  [ticket/10016] Add comment for text casting (for PostgreSQL 7.x)
  [ticket/10016] Leave Firebird unchanged.
  [ticket/10016] Fixed varchar to decimal cast on postgresql 7.x.
2011-03-11 01:45:45 +01:00
Erik Frèrejean
2fb9bfe3b3 [ticket/10090] Add phpBB/cache/queue.php.lock to the gitignore
PHPBB3-10090
2011-03-10 22:48:12 +01:00
Andreas Fischer
67fa589ba2 [ticket/8802] Make FORUMS_MARKED more generic as it is also used for subforums.
PHPBB3-8802
2011-03-10 16:47:00 +01:00
Andreas Fischer
dfbd8f7de9 [ticket/8802] Rename "Mark forums read" to "Mark subforums read" for subforums.
Clicking "Mark forums read" when not browsing on the index page only marks
all subforums (and sub-sub forums etc.) read, topics in the current forum have
to marked seperately by clicking the "Mark topics read" link.

Let's indicate this circumstance by using the word "subforums".

PHPBB3-8802
2011-03-10 16:28:46 +01:00
Oleg Pudeyev
aa8f4000d3 Merge branch 'ticket/rxu/10035' into develop-olympus
* ticket/rxu/10035:
  [ticket/10035] ACP template edit feature allows to read any files on webserver.
2011-03-10 05:22:37 -05:00
Andreas Fischer
c78637da1a Merge branch 'ticket/p/10057' into develop-olympus
* ticket/p/10057:
  [ticket/10057] Fixes for a bunch of small problems.
  [ticket/10057] Handle the case of missing interbase extension better.
  [ticket/10057] Fixed wrong usage of sql_error again, in firebird.
  [ticket/10057] Fixed usage of sql_error again.
  [ticket/10057] Condition file/line display on DEBUG_EXTRA or IN_INSTALL.
  [ticket/10057] Fixed wrong usage of sql_error in postgres dbal.
  [ticket/10057] Skip ibase_service_attach if firebird connection failed.
  [ticket/10057] Check for interbase function existence.
  [ticket/10057] Split statements in firebird dbal for readability.
  [ticket/10057] Include error collector class file in postgres dbal.
  [ticket/10057] Moved error collector class into its own file.
  [ticket/10057] Use a class for error collection.
  [ticket/10057] More informative error messages in postgres dbal.
  [ticket/10057] No negative array indexing.
  [ticket/10057] Report postgres db connection errors.
2011-03-09 19:46:03 +01:00
Oleg Pudeyev
87e3560c30 [ticket/10057] Fixes for a bunch of small problems.
PHPBB3-10057
2011-03-08 19:48:56 -05:00
Andreas Fischer
34929033b4 Merge branch 'ticket/p/10069' into develop-olympus
* ticket/p/10069:
  [ticket/10069] Improvements to sample nginx configuration.
2011-03-07 22:01:03 +01:00
Andreas Fischer
1277d04659 Merge branch 'ticket/bantu/10079' into develop-olympus
* ticket/bantu/10079:
  [ticket/10079] Add gallery avatars to .gitignore.
2011-03-07 22:00:22 +01:00
Nils Adermann
5646d65712 Merge branch 'ticket/aptx/10081' into develop-olympus
* ticket/aptx/10081:
  [ticket/10081] remove $phpEx.
  [ticket/10081] Cleanup Template Tests.
2011-03-07 19:10:02 +01:00
Marek A. Ruszczynski
b835f364f5 [ticket/10081] remove $phpEx.
PHPBB3-10081
2011-03-07 18:50:18 +01:00
Marek A. Ruszczynski
7147382e9e [ticket/10081] Cleanup Template Tests.
There are no incomplete template tests anymore.

PHPBB3-10081
2011-03-07 18:26:46 +01:00
Josh Woody
f6c6de4539 [ticket/9946] Allow storage of data >4kB on Oracle again
This fixes the fix to PHPBB3-9132, which introduced a fatal error on Oracle.

PHPBB3-9946
2011-03-07 10:31:25 -06:00
Andreas Fischer
a229dd9896 [ticket/10079] Add gallery avatars to .gitignore.
PHPBB3-10079
2011-03-07 16:43:39 +01:00
Andreas Fischer
21c5e6f149 Merge branch 'ticket/naderman/10040' into develop-olympus
* ticket/naderman/10040:
  [ticket/10040] Ensure the test suite runs on PHP 5.2 without E_DEPRECATED.
2011-03-07 16:32:42 +01:00
Nils Adermann
dec9d24392 [ticket/10040] Ensure the test suite runs on PHP 5.2 without E_DEPRECATED.
PHPBB3-10040
2011-03-07 16:25:52 +01:00
rxu
9a9b156a8e [ticket/10035] ACP template edit feature allows to read any files on webserver.
... and to upload/execute any script on it. Use preg_replace to filter filename

PHPBB3-10035
2011-03-07 21:22:33 +07:00
Oleg Pudeyev
020d06cdaa [ticket/10057] Handle the case of missing interbase extension better.
PHPBB3-10057
2011-03-07 09:09:40 -05:00
Oleg Pudeyev
7acbf98692 [ticket/10057] Fixed wrong usage of sql_error again, in firebird.
This necessitates adding connect_error property to firebird.

PHPBB3-10057
2011-03-07 09:04:01 -05:00
Oleg Pudeyev
e5aa2c9ac1 [ticket/10057] Fixed usage of sql_error again.
PHPBB3-10057
2011-03-07 08:52:59 -05:00
Oleg Pudeyev
40468a5adc [ticket/10057] Condition file/line display on DEBUG_EXTRA or IN_INSTALL.
PHPBB3-10057
2011-03-07 08:46:49 -05:00
Andreas Fischer
65580f7901 [ticket/10021] Check whether gmmktime() returns false before putting it in SQL.
This prevents SQL errors when large dates are entered.

PHPBB3-10021
2011-03-07 13:41:24 +01:00
Oleg Pudeyev
98388b2921 [ticket/10057] Fixed wrong usage of sql_error in postgres dbal.
pg_last_error does not work if no connection was ever established.
Therefore we must keep track of connection errors in postgres
dbal ourselves.

PHPBB3-10057
2011-03-06 23:17:01 -05:00
Oleg Pudeyev
edc1deaa3a [ticket/10057] Skip ibase_service_attach if firebird connection failed.
ibase_errmsg works for the most recent call. If the connection
fails, any error message is clobbered by ibase_service_attach call.

PHPBB3-10057
2011-03-06 23:13:19 -05:00
Oleg Pudeyev
4d92f9bb2e [ticket/10057] Check for interbase function existence.
Calling nonexistent functions with @ destroys the script with
no feedback as to the cause of the error. Check whether
interbase functions exist before calling them.

PHPBB3-10057
2011-03-06 23:10:09 -05:00
Oleg Pudeyev
af43ed655b [ticket/10057] Split statements in firebird dbal for readability.
PHPBB3-10057
2011-03-06 23:10:09 -05:00
Oleg Pudeyev
22004fa7d6 [ticket/10057] Include error collector class file in postgres dbal.
This change is in its own commit because it will be reverted for 3.1.

PHPBB3-10057
2011-03-06 20:51:09 -05:00
Oleg Pudeyev
24834543ee [ticket/10057] Moved error collector class into its own file.
This will make it autoloadable in 3.1. This commit breaks 3.0
since no code includes the error collector. Such include code
will be in its own commit since it will need to be reverted in 3.1.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
17693c2802 [ticket/10057] Use a class for error collection.
Replaced error collection functions with a class for a cleaner
implementation.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
a4100fe709 [ticket/10057] More informative error messages in postgres dbal.
When pg_connect/pg_pconnect do not exist, mention that they come
with pgsql extension.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
fc5be6928f [ticket/10057] No negative array indexing.
PHP manual does not say that negative array indices are allowed,
so it's best to assume they are not guaranteed to work the way
one would expect.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
d69a7c620a [ticket/10057] Report postgres db connection errors.
Addresses two issues:

1. When pgsql extension is missing, @pg_connect would silently
abort execution. Check for pg_connect existence before calling it,
same with pg_pconnect.

2. When connection fails, the error reported by php is discarded.
User is shown the failure message without the reason for failure,
making debugging difficult. Collect the error (if any) via a
temporarily installed error handler, and display it if connection
failed.

PHPBB3-10057
2011-03-06 20:16:16 -05:00
Andreas Fischer
ac90190682 [ticket/9970] Rename validate_language() to validate_language_iso_name().
PHPBB3-9970
2011-03-07 00:41:24 +01:00
Andreas Fischer
0f16fd3519 [ticket/9970] Do not allow switching to languages not installed on reg. page.
PHPBB3-9970
2011-03-07 00:41:24 +01:00
Andreas Fischer
405ef39828 [ticket/9970] Check whether language pack is installed.
PHPBB3-9970
2011-03-07 00:41:24 +01:00
Josh Woody
f7723b3e95 [ticket/9970] User language input is checked for existance
Users could select a language which did not exist in the database by altering
form fields because there was no back-end verification.

PHPBB3-9970
2011-03-07 00:41:14 +01:00
Oleg Pudeyev
b343920071 [ticket/10069] Improvements to sample nginx configuration.
Most of these were contributed by burningbunny:

https://github.com/burningbunny

PHPBB3-10069
2011-03-06 18:22:13 -05:00
Oleg Pudeyev
f08cbc73de Merge branch 'ticket/bantu/10075' into develop-olympus
* ticket/bantu/10075:
  [ticket/10075] Update docs/AUTHORS for 3.0.9-RC1 release.
2011-03-06 14:53:47 -05:00
Andreas Fischer
7027489c8e Merge branch 'ticket/p/10059' into develop-olympus
* ticket/p/10059:
  [ticket/10059] Fix two misspellings of consistent.
2011-03-06 15:06:58 +01:00
Andreas Fischer
12721f654e Merge branch 'ticket/p/9824' into develop-olympus
* ticket/p/9824:
  [ticket/9824] Accept commit messages with less than perfect headings.
  [ticket/9824] Allow empty lines after ticket reference.
  [ticket/9824] Use printf instead of echo to render \n.
  [ticket/9824] Handle empty commit messages in commit-msg hook.
  [ticket/9824] Add space after [ticket/12345] in prepared commit message.
  [ticket/9824] Remove space after PHPBB3-12345 in prepared commit message.
2011-03-06 14:55:57 +01:00
Andreas Fischer
18daf6345f [ticket/10042] GD CAPTCHA: Call phpbb_mt_rand() where required.
PHPBB3-10042
2011-03-05 22:59:36 +01:00
Andreas Fischer
c6c2a23ecb [ticket/10042] GD CAPTCHA: Round offset to the next pixel.
PHPBB3-10042
2011-03-05 22:59:23 +01:00
Andreas Fischer
9cdeb51a52 [ticket/10016] Add comment for text casting (for PostgreSQL 7.x)
PHPBB3-10016
2011-03-05 22:55:58 +01:00
Andreas Fischer
841061426d [ticket/10016] Leave Firebird unchanged.
PHPBB3-10016
2011-03-05 22:48:24 +01:00
Andreas Fischer
5ab4dc2983 [ticket/10042] Add mt_rand() wrapper which allows swapping $min and $max.
PHPBB3-10042
2011-03-05 22:16:50 +01:00
Andreas Fischer
32af9e8865 [ticket/10075] Update docs/AUTHORS for 3.0.9-RC1 release.
Remove:
 - A_Jelly_Doughnut
 - dhn
 - TerraFrost

Add:
 - nn-

Move:
 - Brainy

Rename:
 - Brainy -> ckwalsh

PHPBB3-10075
2011-03-04 16:54:24 +01:00
Erik Frèrejean
df76799d4b [ticket/9581] Slightly tweaked queries
Changed the queries based upon comments by Oleg and Nick, this
should return the expected result in every case.

PHPBB3-9581
2011-03-04 12:14:00 +01:00
Erik Frèrejean
1dd25ce62d [ticket/9581] Make banlist table select optional
Per Nick, only set the `BANLIST_TABLE` in the select statement
if the `$sql_ban_where` variable is set.

PHPBB3-9581
2011-03-04 11:10:09 +01:00
Erik Frèrejean
1b60613319 [ticket/9581] Mass e-mail to banned users
Implement the suggestion made by Adam in the ticket, this will add
an additional checkbox to the mass e-mail page. By checking this
the mass e-mail shall also be send to banned users. By default
banned users however are excluded from the mass e-mail.

PHPBB3-9581
2011-03-04 11:10:08 +01:00
Oleg Pudeyev
afae883619 Merge branch 'ticket/nickvergessen/9911' into develop-olympus
* ticket/nickvergessen/9911:
  [ticket/9911] Correctly open "Minimum posts" on editing a rank in IE.
2011-03-02 22:07:56 -05:00
Oleg Pudeyev
57ab0816e2 Merge branch 'ticket/nickvergessen/9915' into develop-olympus
* ticket/nickvergessen/9915:
  [ticket/9915] "Length of ban:" is not displayed in ACP
2011-03-02 20:46:28 -05:00
Joas Schilling
1b97506ec5 Merge branch 'ticket/samt/10072' into develop-olympus
* ticket/samt/10072:
  [ticket/10072] Added the POST_NUMBER template var
2011-03-03 00:14:24 +01:00
Sam Thompson
4c565774bf [ticket/10072] Added the POST_NUMBER template var
PHPBB3-10072
2011-03-02 23:41:11 +01:00
Oleg Pudeyev
e552287128 [ticket/9824] Accept commit messages with less than perfect headings.
Some commit messages exist only temporarily, because they are given
on commits that are intended to be squashed. Accept such commit
messages with a warning.

PHPBB3-9824
2011-03-01 20:59:04 -05:00
Oleg Pudeyev
d7a38fd7ef [ticket/9824] Allow empty lines after ticket reference.
PHPBB3-9824
2011-03-01 20:59:04 -05:00
Oleg Pudeyev
b90e01392c [ticket/9824] Use printf instead of echo to render \n.
On FreeBSD `echo "\n"` prints \n verbatim. Use printf instead.

PHPBB3-9824
2011-03-01 20:59:04 -05:00
Oleg Pudeyev
c489b189df [ticket/9824] Handle empty commit messages in commit-msg hook.
Git already handles the case of commit message being empty by
aborting the commit and displaying a reasonably helpful message.
If there is no commit message, the hook will exit with success
exit code to let git do its thing.

PHPBB3-9824
2011-03-01 20:59:04 -05:00
Oleg Pudeyev
36e96bbc6a [ticket/10059] Fix two misspellings of consistent.
PHPBB3-10059
2011-03-01 19:53:12 -05:00
Andreas Fischer
9bed2b119c [ticket/9824] Add space after [ticket/12345] in prepared commit message.
PHPBB3-9824
2011-03-02 00:24:34 +01:00
Andreas Fischer
16a46e6a24 [ticket/9824] Remove space after PHPBB3-12345 in prepared commit message.
PHPBB3-9824
2011-03-02 00:04:45 +01:00
Joas Schilling
51b985399d [ticket/9911] Correctly open "Minimum posts" on editing a rank in IE.
IE handles onchange after the next click on the page, instead of directly like Firefox, Opera and Safari do. Changing it to onclick works.

PHPBB3-9911
2011-03-01 17:03:06 +01:00
Joas Schilling
25c738ccdb [ticket/9915] "Length of ban:" is not displayed in ACP
Regression from PHPBB3-9695, innerHTML does not work on input-fields, so we
need to go back to "value", which we had before.

PHPBB3-9915
2011-03-01 16:48:04 +01:00
Igor Wiedler
bda64edae8 Merge branch 'ticket/nickvergessen/10024' into develop-olympus
* ticket/nickvergessen/10024:
  [ticket/10024] Populate unread information to template for styling issues.
2011-02-28 01:03:44 +01:00
Philippe Chevrier
ffe691db10 [ticket/10024] Populate unread information to template for styling issues.
PHPBB3-10024
2011-02-28 00:00:56 +01:00
Igor Wiedler
23475abab3 Merge branch 'ticket/raimon/9980' into develop-olympus
* ticket/raimon/9980:
  [ticket/9980] URLs to javascript should be T_SUPER_TEMPLATE_PATH instead of T_TEMPLATE_PATH
2011-02-27 23:18:10 +01:00
Nils Adermann
dc112092e0 Merge branch 'ticket/naderman/9984' into develop-olympus
* ticket/naderman/9984:
  [ticket/9984] Add a phing target that does not create packages.
2011-02-27 23:04:54 +01:00
Nils Adermann
dd1c12c758 [ticket/9984] Add a phing target that does not create packages.
PHPBB3-9984
2011-02-27 23:01:14 +01:00
Igor Wiedler
80a335f538 Merge branch 'task/session-tests' into develop-olympus
* task/session-tests:
  [task/session-tests] Make result check independent of returned row order.
  [task/session-tests] By default the cache check now skips over db server info
  [task/session-tests] Correctly display message on session continue test failure
  [task/session-tests] Make the session id replacement of dataset values clearer
2011-02-27 22:48:22 +01:00
Igor Wiedler
2163059632 Merge branch 'ticket/bantu/10009' into develop-olympus
* ticket/bantu/10009:
  [ticket/10009] Entries are always posts, update fields accordingly.
  [ticket/10009] Always show 'published' data in feed item statistics.
  [ticket/10009] Make atom:update output unconditional and before atom:published
  [ticket/10009] Send atom:updated whenever possible
  [ticket/10009] Differentiate published from updated in Atom feed
2011-02-27 22:27:21 +01:00
Nils Adermann
921603b09e [task/session-tests] Make result check independent of returned row order.
PHPBB3-9732
2011-02-27 22:20:36 +01:00
Nils Adermann
7255ef4f6d [task/session-tests] By default the cache check now skips over db server info
PHPBB3-9732
2011-02-27 22:17:03 +01:00
Nils Adermann
bbf3864cb4 [task/session-tests] Correctly display message on session continue test failure
PHPBB3-9732
2011-02-27 22:16:39 +01:00
Nils Adermann
3d65c3c104 [task/session-tests] Make the session id replacement of dataset values clearer
PHPBB3-9732
2011-02-27 22:06:01 +01:00
Andreas Fischer
b1d6c0a7a1 Merge branch 'ticket/nickvergessen/10036' into develop-olympus
* ticket/nickvergessen/10036:
  [ticket/10036] Use image from configuration file for displaying online-status.
2011-02-26 18:17:39 +01:00
Oleg Pudeyev
14fc25b252 Merge branch 'ticket/bantu/9912' into develop-olympus
* ticket/bantu/9912:
  [ticket/9912] Fix error in logic. Do not strip SID when user is not a bot.
2011-02-26 08:05:43 -05:00
Andreas Fischer
3b15fe0a5b [ticket/9912] Fix error in logic. Do not strip SID when user is not a bot.
This also moves the code up to the point where we know that the user is a bot.

Regression from d07e152ea7

PHPBB3-9912
2011-02-25 22:24:34 -05:00
Andreas Fischer
0c23d6c069 Merge branch 'ticket/igorw/10060' into develop-olympus
* ticket/igorw/10060:
  [ticket/10060] Fix test suite under MySQL
2011-02-25 16:58:58 +01:00
Igor Wiedler
c8ad006b71 [ticket/10060] Fix test suite under MySQL
Regression from PHPBB3-10043, a typo caused the database tests to fail
under MySQL.

PHPBB3-10060
2011-02-25 16:37:20 +01:00
Oleg Pudeyev
904bcb86a0 Merge branch 'ticket/callumacrae/7834' into develop-olympus
* ticket/callumacrae/7834:
  [ticket/7834] Topic time didn't update when first post was deleted
2011-02-24 20:56:42 -05:00
Oleg Pudeyev
e6ed55a9c1 Merge branch 'ticket/callumacrae/9872' into develop-olympus
* ticket/callumacrae/9872:
  [ticket/9872] Removed some useless code that broke delete_posts
2011-02-24 20:48:17 -05:00
Oleg Pudeyev
47dc492839 Merge branch 'ticket/callumacrae/9997' into develop-olympus
* ticket/callumacrae/9997:
  [ticket/9997] Fixed an inconsistency in the Moderator Control Panel
2011-02-24 20:43:11 -05:00
Oleg Pudeyev
441755bf17 Merge branch 'ticket/nickvergessen/9874' into develop-olympus
* ticket/nickvergessen/9874:
  [ticket/9874] view_log() performs unneeded count query over all log entries.
2011-02-24 20:30:52 -05:00
Joas Schilling
a25238e0c1 [ticket/9874] view_log() performs unneeded count query over all log entries.
PHPBB3-9874
2011-02-25 00:04:48 +01:00
Igor Wiedler
5a5560d200 Merge branch 'ticket/p/10058' into develop-olympus
* ticket/p/10058:
  [ticket/10058] Initialize $phpbb_root_path in mysql_upgrader.php.
2011-02-24 23:44:58 +01:00
Callum Macrae
9399c7c46b [ticket/7834] Topic time didn't update when first post was deleted
When the first post of a topic was deleted, the topic time didn't
update - it should have changed to the time of the next post.

This commit simply applies lefty74's patch posted in the ticket. It gets
the post time of the next post from the database, and updates the thread
accordingly.

This patch is not my work at all and all credits go to lefty74, I just
transferred it onto GitHub

PHPBB3-7834
2011-02-24 22:36:35 +00:00
Oleg Pudeyev
c4b3d3a089 [ticket/10058] Initialize $phpbb_root_path in mysql_upgrader.php.
Since knowledge base instructions tell users to place this script
in the root of the forum, use './' as phpbb root path. Actual
initialization code copied from check_flash_bbcodes.php.

PHPBB3-10058
2011-02-24 17:31:44 -05:00
Callum Macrae
e4497f4a15 [ticket/9997] Fixed an inconsistency in the Moderator Control Panel
The order of the Approve / Disapprove buttons was inconsistent in the
Moderator Control Panel - while on the main page and the moderation
queue itself the Approve button was to the right of the Disapprove
button, in the post details the Approve button was to the left of the
Disapprove button.

This very simple edit simply switches the position of these two buttons
in the post details page in the mcp.

PHPBB3-9995
2011-02-24 20:06:34 +00:00
Callum Macrae
e6219c83c7 [ticket/9872] Removed some useless code that broke delete_posts
When in the ACP, there is the option to delete a user and all their
posts. This would then call the user_delete function and define $mode as
'remove'.

On lines 485-521 was some code that would delete their topics, then
after that there would be a call to delete_posts - which would also
delete their topics. It would not update the board statistics, and the
thread count would remain the same, even though several had been
deleted. It stopped delete_topics functioning correctly, so
delete_topics would not update the board statistics either.

My solution to this is to delete lines 485-521 and allow delete_posts
to call delete_topics, thus updating the thread count in the statistics.

PHPBB3-9872
2011-02-24 14:53:44 +00:00
Joas Schilling
a875075cc8 [ticket/10036] Use image from configuration file for displaying online-status.
PHPBB3-10036
2011-02-24 12:57:28 +01:00
Andreas Fischer
5e2bbdb22b Merge branch 'ticket/p/10041' into develop-olympus
* ticket/p/10041:
  [ticket/10041] Use send_status_line more in download/file.php
2011-02-24 10:35:27 +01:00
Andreas Fischer
b10654e9a5 Merge branch 'ticket/p/10056' into develop-olympus
* ticket/p/10056:
  [ticket/10056] Corrected a typo in Firebird name.
2011-02-24 10:35:09 +01:00
Oleg Pudeyev
df92b7bdf2 Merge branch 'ticket/erikfrerejean/7778' into develop-olympus
* ticket/erikfrerejean/7778:
  [ticket/7778] Update all the schema files
  [ticket/7778] Add the column change to `mysql_upgrader.php`
  [ticket/7778] BBCode single limit
2011-02-23 22:02:39 -05:00
Erik Frèrejean
5dee60e54e [ticket/7778] Update all the schema files
Correct all the schema files to contain the new field type

PHPBB3-7778
2011-02-23 21:15:40 -05:00
Erik Frèrejean
1b88f5a316 [ticket/7778] Add the column change to mysql_upgrader.php
PHPBB3-7778
2011-02-23 21:15:40 -05:00
Erik Frèrejean
a7bc76d246 [ticket/7778] BBCode single limit
There are currently two hard limits for the number of BBCodes
allowed. One is enforced by the type of the `bbcode_id` column,
the other by an hard limit in `acp/acp_bbcode.php`. However this
limit can never be reached due to the size of the database column.

Suggested fix involves adding a new constant to define the max.
number of BBCodes (as with smilies) and chaning the database
column from a tinyint to a smallint to actually allow 1511 BBCodes

PHPBB3-7778
2011-02-23 21:15:40 -05:00
Oleg Pudeyev
a0f6e185ca [ticket/10056] Corrected a typo in Firebird name.
PHPBB3-10056
2011-02-23 20:16:23 -05:00
Oleg Pudeyev
786078d423 [ticket/10041] Use send_status_line more in download/file.php
PHPBB3-10041
2011-02-23 20:16:16 -05:00
Nils Adermann
510248da28 Merge branch 'ticket/naderman/10052' into develop-olympus
* ticket/naderman/10052:
  [ticket/10052] Add comments to the session testable factory.
  [ticket/10052] Correct session tests, and separate session factory from tests
2011-02-23 22:41:42 +01:00
Nils Adermann
cb56ab2dbd [ticket/10052] Add comments to the session testable factory.
PHPBB3-10052
2011-02-23 22:17:12 +01:00
Nils Adermann
11262afa93 [ticket/10052] Correct session tests, and separate session factory from tests
PHPBB3-10052
2011-02-23 18:33:20 +01:00
Oleg Pudeyev
15a5d2c4bf Merge branch 'ticket/nickvergessen/9675' into develop-olympus
* ticket/nickvergessen/9675:
  [ticket/9675] Correctly check whether the style/component is still in use.
  [ticket/9675] Put the code into methods to avoid code duplication.
  [ticket/9675] Adjust the language-string to reflect the changes.
  [ticket/9675] Add option to delete template/theme/imageset when deleting style.
2011-02-21 20:47:31 -05:00
Andreas Fischer
d11a0097d0 [ticket/10009] Entries are always posts, update fields accordingly.
PHPBB3-10009
2011-02-21 20:24:04 +01:00
Andreas Fischer
366107a54c [ticket/10009] Always show 'published' data in feed item statistics.
PHPBB3-10009
2011-02-21 20:23:51 +01:00
Kevin Locke
361f6fc16c [ticket/10009] Make atom:update output unconditional and before atom:published
PHPBB3-10009
2011-02-21 20:23:39 +01:00
Kevin Locke
df93856ac4 [ticket/10009] Send atom:updated whenever possible
For posts/topics which have not been edited/updated, use the creation
date to populate atom:updated, as suggested by bantu.  This should
increase compatibility with user agents which expect an atom:updated
element.

PHPBB3-10009
2011-02-21 20:22:48 +01:00
Kevin Locke
24520f26ad [ticket/10009] Differentiate published from updated in Atom feed
Change the handling of dates to differentiate between the date when an
entry was published and the date on which it was last updated.
Incorporate this information into the Atom feed by using <published> and
<updated> appropriately according to sections 4.2.9 and 4.2.15 of the
spec.

PHPBB3-10009
2011-02-21 20:19:17 +01:00
Andreas Fischer
69449417ba Merge branch 'ticket/p/10049' into develop-olympus
* ticket/p/10049:
  [ticket/10049] Mark session init test incomplete for now.
  [ticket/10049] Mark session continue test incomplete for now.
  [ticket/10049] Globalize $_SID.
  [ticket/10049] Chase assertResultEquals rename.
  [ticket/10049] Fixed requires in session tests and mock.
  [ticket/10049] Renamed session test files to proper file names.
2011-02-20 18:32:33 +01:00
Oleg Pudeyev
53a6cd607e Merge branch 'ticket/bantu/10047' into develop-olympus
* ticket/bantu/10047:
  [ticket/10047] Do not put session id in URL on posting.php when cookies are on.
2011-02-20 11:40:01 -05:00
Oleg Pudeyev
6902ecf6a9 [ticket/10049] Mark session init test incomplete for now.
This test passes by itself but fails when run as part of the
compete suite. Mark it incomplete to avoid breaking the suite.

PHPBB3-10049
2011-02-20 08:53:15 -05:00
Oleg Pudeyev
c1e198e721 [ticket/10049] Mark session continue test incomplete for now.
I am unable to find any code revision in which this test worked.
Thus to not break the entire suite I mark it incomplete.

PHPBB3-10049
2011-02-20 08:45:59 -05:00
Oleg Pudeyev
f3ab9da0e9 [ticket/10049] Globalize $_SID.
PHPBB3-10049
2011-02-19 20:54:34 -05:00
Oleg Pudeyev
26b922ac3f [ticket/10049] Chase assertResultEquals rename.
cd694e9b9d renamed
assertResultEquals to assertSqlResultEquals. However, since the
session tests were never executed calls in them were never
updated.

Parameter order also changed; chase that too.

PHPBB3-10049
2011-02-19 20:54:08 -05:00
Oleg Pudeyev
0cf741f343 [ticket/10049] Fixed requires in session tests and mock.
PHPBB3-10049
2011-02-19 20:40:32 -05:00
Oleg Pudeyev
1abf7ad809 [ticket/10049] Renamed session test files to proper file names.
phpunit.xml.dist specifies that only files ending in _test.php
are test files; with the old names session tests were not run
as a result.

PHPBB3-10049
2011-02-19 20:30:46 -05:00
Andreas Fischer
aba31aeff9 [ticket/10047] Do not put session id in URL on posting.php when cookies are on.
PHPBB3-10047
2011-02-19 14:30:39 +01:00
Oleg Pudeyev
676daf3076 Merge branch 'ticket/nickvergessen/9944' into develop-olympus
* ticket/nickvergessen/9944:
  [ticket/9944] Add empty line before the while() so you can better read the code
  [ticket/9944] Extension groups naming don't use users' language in ACP
2011-02-17 17:03:08 -05:00
Andreas Fischer
622da172d2 Merge branch 'ticket/p/10044' into develop-olympus
* ticket/p/10044:
  [ticket/10044] Updated invocation documentation.
  [ticket/10044] Stop when failed to retrieve network/collaborators.
  [ticket/10044] Added -h to setup_github_network.php.
  [ticket/10044] Error handling for remote requests in setup_github_network.php
  [ticket/10044] Made setup_github_network.php runnable as a script
2011-02-17 14:56:30 +01:00
Oleg Pudeyev
5af3cfe9ca [ticket/10044] Updated invocation documentation.
PHPBB3-10044
2011-02-16 21:13:35 -05:00
Nils Adermann
f3a3ec438f Merge branch 'task/refactor-db-testcase' into develop-olympus
* task/refactor-db-testcase:
  [task/refactor-db-testcase] Further improve error messages.
  [task/refactor-db-testcase] Do not show db password on connect error
  [task/refactor-db-testcase] Improve error message of db tests
  [task/refactor-db-testcase] Refactor phpbb_database_test_case
2011-02-16 11:53:54 +01:00
Oleg Pudeyev
bd8e5ff79e [task/refactor-db-testcase] Further improve error messages.
PHPBB3-10043
2011-02-15 21:08:33 -05:00
Oleg Pudeyev
ed53cef0aa [ticket/10044] Stop when failed to retrieve network/collaborators.
PHPBB3-10044
2011-02-15 05:20:30 -05:00
Oleg Pudeyev
bf137b7005 [ticket/10044] Added -h to setup_github_network.php.
PHPBB3-10044
2011-02-15 05:20:30 -05:00
Oleg Pudeyev
30c46a6e0c [ticket/10044] Error handling for remote requests in setup_github_network.php
PHPBB3-10044
2011-02-15 05:20:30 -05:00
Oleg Pudeyev
0f3378ca28 [ticket/10044] Made setup_github_network.php runnable as a script
PHPBB3-10044
2011-02-15 04:45:54 -05:00
Joas Schilling
bcbbeacaf8 [ticket/9944] Add empty line before the while() so you can better read the code
PHPBB3-9944
2011-02-14 16:40:12 +01:00
Igor Wiedler
d3718bf5d4 [task/refactor-db-testcase] Do not show db password on connect error
PHPBB3-10043
2011-02-14 15:25:05 +01:00
Igor Wiedler
17b17bc939 [task/refactor-db-testcase] Improve error message of db tests
If database tests cannot be run the error message is ambigous. This
commit makes it clearer:

- whether the supplied dbms is supported by us
- which dbms are supported by us
- whether the required PDO extension is loaded

PHPBB3-10043
2011-02-14 14:48:42 +01:00
Igor Wiedler
6c7f49f561 [task/refactor-db-testcase] Refactor phpbb_database_test_case
Move most of the methods to a separate connection manager class. The
test case creates a manager to handle database creation, schema loading
and more. Most of the methods could be simplified because they can
access shared pdo, config and dbms data.

PHPBB3-10043
2011-02-14 00:24:55 +01:00
Igor Wiedler
ecb29e6027 Merge branch 'ticket/hammerhead/8904' into develop-olympus
* ticket/hammerhead/8904:
  [ticket/8904] Show default value for numeric custom profile fields when editing
2011-02-13 18:33:15 +01:00
Niklas Schmidtmer
c717e44094 [ticket/8904] Show default value for numeric custom profile fields when editing
When displaying the default value for a numeric custom profile field, only use
request_var to obtain the value on creation. When editing, it will always
override the actual value with an empty string, as this is request_var's default
return value.

PHPBB3-8904
2011-02-13 18:32:11 +01:00
Igor Wiedler
42707053a2 Merge branch 'ticket/bantu/10038' into develop-olympus
* ticket/bantu/10038:
  [ticket/10038] Use request_var() in the avatar code path of download/file.php
2011-02-12 19:51:21 +01:00
Andreas Fischer
23d2798b6d [ticket/10038] Use request_var() in the avatar code path of download/file.php
There is no reason not to use request_var() here because it is available anyway
since 3afd2c6948.

This change especially prevents submitting an array which might then throw an
error in one of the string functions substr() or strpos() later on.

PHPBB3-10038
2011-02-12 19:22:51 +01:00
Igor Wiedler
0588ba25cb Merge branch 'ticket/bantu/9805' into develop-olympus
* ticket/bantu/9805:
  [ticket/9805] Setup security repository for developers.
  [ticket/9805] Move check lower down.
  [ticket/9805] Better support for already existing repositories.
  [ticket/9805] Add dry-run option.
  [ticket/9805] Use getopt(), add a few options, extend show_usage().
  [ticket/9805] Script for easily cloning a whole github network.
2011-02-12 14:55:40 +01:00
Andreas Fischer
5c009997b2 Merge branch 'ticket/p/10029' into develop-olympus
* ticket/p/10029:
  [ticket/10029] Use $_SERVER['SERVER_PROTOCOL'] for determining HTTP version.
2011-02-10 00:20:34 +01:00
Oleg Pudeyev
0e861ac3ab [ticket/10029] Use $_SERVER['SERVER_PROTOCOL'] for determining HTTP version.
PHPBB3-10029
2011-02-09 02:19:50 -05:00
Joas Schilling
65020fd5c1 [ticket/9675] Correctly check whether the style/component is still in use.
And don't allow to delete it in that case.

PHPBB3-9675
2011-02-08 14:57:43 +01:00
Joas Schilling
0e02f5cb0b [ticket/9675] Put the code into methods to avoid code duplication.
PHPBB3-9675
2011-02-08 14:57:42 +01:00
Joas Schilling
18fedfce17 [ticket/9675] Adjust the language-string to reflect the changes.
PHPBB3-9675
2011-02-08 14:57:29 +01:00
Joas Schilling
ffcd307746 [ticket/9675] Add option to delete template/theme/imageset when deleting style.
PHPBB3-9675
2011-02-08 14:27:27 +01:00
Andreas Fischer
df78a3a62d Merge branch 'ticket/nickvergessen/9949' into develop-olympus
* ticket/nickvergessen/9949:
  [ticket/9949] Unit tests for user::lang()
  [ticket/9949] $user->lang() uses last int-value to get the key not first
2011-02-07 16:30:43 +01:00
Andreas Fischer
3c04e6db97 [ticket/9949] Unit tests for user::lang()
PHPBB3-9949
2011-02-07 16:29:53 +01:00
Andreas Fischer
36a4c410ce Merge branch 'ticket/nickvergessen/9966' into develop-olympus
* ticket/nickvergessen/9966:
  [ticket/9966] Language download in ACP creates index.html and misses captcha_*
2011-02-04 17:36:14 +01:00
Andreas Fischer
181f2551cf Merge branch 'ticket/p/10020' into develop-olympus
* ticket/p/10020:
  [ticket/10020] Fix 32-bit php braindamage around INT_MIN.
  [ticket/10020] Replaced (int) 0x80000000 with portable equivalent.
2011-02-04 00:05:52 +01:00
Oleg Pudeyev
d13efa41c5 [ticket/10020] Fix 32-bit php braindamage around INT_MIN.
On 32-bit php, -2147483648, despite fitting in the int type,
is for some reason made into a floating-point value. Use an
explicit cast to make it an integer.

PHPBB3-10020
2011-02-04 00:02:38 +01:00
Oleg Pudeyev
15992ceff9 [ticket/10020] Replaced (int) 0x80000000 with portable equivalent.
PHPBB3-10020
2011-02-04 00:01:49 +01:00
Andreas Fischer
50bdb5da89 [ticket/9805] Setup security repository for developers.
PHPBB3-9805
2011-02-03 11:12:48 +01:00
Andreas Fischer
67fe441f7e [ticket/9805] Move check lower down.
PHPBB3-9805
2011-02-03 11:12:48 +01:00
Andreas Fischer
e1ae8c6a71 [ticket/9805] Better support for already existing repositories.
PHPBB3-9805
2011-02-03 11:12:48 +01:00
Andreas Fischer
8eee36dc0f [ticket/9805] Add dry-run option.
PHPBB3-9805
2011-02-03 11:12:48 +01:00
Andreas Fischer
57bd0c74e5 [ticket/9805] Use getopt(), add a few options, extend show_usage().
PHPBB3-9805
2011-02-03 11:12:41 +01:00
Andreas Fischer
b414a4d107 Merge branch 'ticket/p/10014' into develop-olympus
* ticket/p/10014:
  [ticket/10014] Clearly indicate fatal errors in file acm.
2011-02-01 07:41:21 +01:00
Andreas Fischer
e685c1c005 Merge branch 'ticket/erikfrerejean/10011' into develop-olympus
* ticket/erikfrerejean/10011:
  [ticket/10011] Tests don't work on PHP < 5.3
2011-01-31 13:18:37 +01:00
Erik Frèrejean
14891cdf4e [ticket/10011] Tests don't work on PHP < 5.3
Due to the usage of `__DIR__` for the file includes the tests can't
be ran on systems with PHP < 5.3. Replace all occurances of
`__DIR__` with `dirname(__FILE__)`.

PHPBB3-10011
2011-01-31 12:58:18 +01:00
Andreas Fischer
c3a4312650 Merge branch 'ticket/nickvergessen/9985' into develop-olympus
* ticket/nickvergessen/9985:
  [ticket/9985] 3D Wave CAPTCHA: Pass min/max in the correct order to mt_rand().
2011-01-30 00:55:07 +01:00
Joas Schilling
b32bf5aa35 [ticket/9985] 3D Wave CAPTCHA: Pass min/max in the correct order to mt_rand().
PHPBB3-9985
2011-01-30 00:49:53 +01:00
Andreas Fischer
01fb5532cf Merge branch 'ticket/nickvergessen/9989' into develop-olympus
* ticket/nickvergessen/9989:
  [ticket/9989] Skip PM popup in overall_header.html, if there are no new PMs.
2011-01-30 00:12:52 +01:00
Joas Schilling
92f99c97f4 [ticket/9949] $user->lang() uses last int-value to get the key not first
The comment in the code says: "We now get the first number passed and will
select the key based upon this number". But the loop over the arguments is not
left and therefore it uses the last int-value not the first one.

PHPBB3-9949
2011-01-29 17:22:55 +01:00
Joas Schilling
72fbd4dffa [ticket/9966] Language download in ACP creates index.html and misses captcha_*
The language pack download page includes index.html files instead of index.htm. It also does not include the new captcha_*.php files which are included since 3.0.6.

PHPBB3-9966
2011-01-29 17:08:20 +01:00
Joas Schilling
90f5e4e2b1 [ticket/9989] Skip PM popup in overall_header.html, if there are no new PMs.
PHPBB3-9989
2011-01-29 16:13:36 +01:00
Oleg Pudeyev
56c202127c [ticket/10016] Fixed varchar to decimal cast on postgresql 7.x.
PHPBB3-10016
2011-01-28 21:06:49 -05:00
Oleg Pudeyev
5e97dd74c7 [ticket/10014] Clearly indicate fatal errors in file acm.
If acm_file cannot open the cache file for writing, it prints a message
to that effect and calls die(). The message itself does not indicate that
it is a fatal error, and someone seeing the message might expect that
inability to write to cache is not fatal.

Make it clear that the error is fatal by printing the word "Fatal" before
the message.

PHPBB3-10014
2011-01-28 15:31:41 -05:00
Oleg Pudeyev
9dfb059e2e Merge branch 'ticket/bantu/9166' into develop-olympus
* ticket/bantu/9166:
  [ticket/9166] Fixed CSS element order in subsilver.
  [ticket/9166] Fixed CSS element order in prosilver.
2011-01-27 22:26:12 -05:00
Schnorrer42
ee478ec4f4 [ticket/9166] Fixed CSS element order in subsilver.
PHPBB3-9166
2011-01-28 03:21:54 +01:00
Schnorrer42
03f117ea30 [ticket/9166] Fixed CSS element order in prosilver.
PHPBB3-9166
2011-01-28 03:21:35 +01:00
Joas Schilling
4890006cbb [ticket/9944] Extension groups naming don't use users' language in ACP
Only happens on boards which were installed with 3.0.8

PHPBB3-9944
2011-01-27 17:24:03 +01:00
Oleg Pudeyev
afc856417f Merge branch 'ticket/bantu/10007' into develop-olympus
* ticket/bantu/10007:
  [ticket/10007] Add directive 'internal' to blocked folders in nginx config.
2011-01-26 05:45:16 -05:00
Andreas Fischer
a970219d61 [ticket/10007] Add directive 'internal' to blocked folders in nginx config.
The "deny" and "access" directives are IP-based in general. Both directives
only support IPv6 from nginx 0.8.22 onwards, on older versions of nginx those
directives have no effect on IPv6 requests. Thus they do not block access for
IPv6 requests.

Adding the "internal" directive blocks external access in general (both IPv4
and IPv6) and makes the web server return a status code 404 (Not Found)
response.

See:
http://nginx.org/en/CHANGES
http://wiki.nginx.org/HttpCoreModule#internal

PHPBB3-10007
2011-01-24 17:35:10 +01:00
Nils Adermann
e1e84f9bd0 Merge branch 'task/naderman/session-tests' into develop-olympus
* task/naderman/session-tests:
  [task/session-tests] Renamed assertSqlResultEquals and fixed its param order
  [task/session-tests] Test additional combinations of session_begin.
  [task/session-tests] Added tests for the session class.
2011-01-23 18:39:47 +01:00
Nils Adermann
4229490725 Merge branch 'ticket/rxu/8779' into develop-olympus
* ticket/rxu/8779:
  [ticket/8779] Slow search for 'View unread posts'
2011-01-23 18:34:50 +01:00
rxu
ab9d4b3b63 [ticket/8779] Slow search for 'View unread posts'
Adjust SQL query to speedup search for unread posts (thanks naderman).

PHPBB3-8779
2011-01-24 00:01:18 +07:00
Nils Adermann
cd694e9b9d [task/session-tests] Renamed assertSqlResultEquals and fixed its param order
PHPBB3-9732
2011-01-21 21:32:31 +01:00
Nils Adermann
8538561b31 [task/session-tests] Test additional combinations of session_begin.
PHPBB3-9732
2011-01-20 22:49:38 +01:00
Nils Adermann
74f537e89d [task/session-tests] Added tests for the session class.
Two first simple tests to check functionality of session_begin and
session_create.

Added a mock class for the cache as well as a subclass of session
which has its cookie handling function mocked out to avoid header
sending problems.

PHPBB3-9732
2011-01-20 22:47:48 +01:00
Nils Adermann
ba5c7d8e63 Merge branch 'ticket/bantu/9859' into develop-olympus
* ticket/bantu/9859:
  [ticket/9859] Remove the years from the copyright statements in docs files.
  [ticket/9859] Remove the year from the copyright meta tag in docs/*.html
  [ticket/9859] Remove the meta copyright tag as well.
  [ticket/9859] Remove the credit line comment from all html files.
  [ticket/9859] Remove years in credit line from some more files.
2011-01-16 22:25:49 +01:00
Igor Wiedler
e9c584af6a Merge branch 'ticket/bantu/9933' into develop-olympus
* ticket/bantu/9933:
  [ticket/9933] Remove empty word check.
  [ticket/9933] Add $use_unicode parameter to get_censor_preg_expression().
  [ticket/9933] Adjust word censor regex for non-unicode mode.
2011-01-16 20:25:06 +01:00
rxu
2b37a4fe56 [ticket/9933] Remove empty word check.
PHPBB3-9933
2011-01-16 20:14:35 +01:00
Andreas Fischer
97be6e7946 [ticket/9933] Add $use_unicode parameter to get_censor_preg_expression().
Rename $unicode to $unicode_support, pass in $use_unicode defaulting to true.

In unit tests we can now pass in $use_unicode as false and also test the code
path that is taken when PCRE does not support unicode.

PHPBB3-9933
2011-01-16 20:13:05 +01:00
rxu
8c1866bc0c [ticket/9933] Adjust word censor regex for non-unicode mode.
PHPBB3-9933
2011-01-16 19:55:10 +01:00
Andreas Fischer
60eff4e59a [ticket/9859] Remove the years from the copyright statements in docs files.
PHPBB3-9859
2011-01-16 18:50:53 +01:00
Andreas Fischer
180e97abdc [ticket/9859] Remove the year from the copyright meta tag in docs/*.html
PHPBB3-9859
2011-01-16 18:50:11 +01:00
Andreas Fischer
732fd5980e [ticket/9859] Remove the meta copyright tag as well.
PHPBB3-9859
2011-01-16 17:53:30 +01:00
Andreas Fischer
c617400f95 [ticket/9859] Remove the credit line comment from all html files.
PHPBB3-9859
2011-01-16 17:53:30 +01:00
Andreas Fischer
2a703b4055 [ticket/9859] Remove years in credit line from some more files.
Standard HTML output now includes:
Powered by <a href="http://www.phpbb.com/">phpBB</a> &copy; phpBB Group

Print output now includes:
Powered by phpBB &copy; phpBB Group<br />http://www.phpbb.com/

This also fixes an inconsistency where "phpBB Group" was linked instead of
"phpBB".

PHPBB3-9859
2011-01-16 17:53:30 +01:00
Andreas Fischer
be3a0b269a [ticket/9805] Script for easily cloning a whole github network.
PHPBB3-9805
2011-01-15 16:53:34 +01:00
Nils Adermann
1359cf6547 Merge branch 'ticket/igorw/9990' into develop-olympus
* ticket/igorw/9990:
  [ticket/9990] Add docs for running slow tests
  [ticket/9990] Integrate utf normalizer tests into test suite
2011-01-12 02:59:32 +01:00
Igor Wiedler
42cf9a9895 [ticket/9990] Add docs for running slow tests
PHPBB3-9990
2011-01-12 02:22:37 +01:00
Igor Wiedler
e00c5544d2 [ticket/9990] Integrate utf normalizer tests into test suite
PHPBB3-9990
2011-01-11 01:06:01 +01:00
Igor Wiedler
c9b9016ca8 Merge branch 'ticket/bantu/9764' into develop-olympus 2011-01-10 23:42:41 +01:00
Igor Wiedler
d7299f5071 Merge branch 'ticket/igorw/9987' into develop-olympus 2011-01-10 00:26:39 +01:00
Igor Wiedler
01fe91c5c4 [ticket/9987] Rename test files to include a _test suffix
PHPBB3-9987
2011-01-10 00:18:37 +01:00
Igor Wiedler
0a945100fd Merge branch 'ticket/igorw/9981' into develop-olympus
* ticket/igorw/9981:
  [ticket/9981] Fix unit test dependencies
2011-01-09 23:11:47 +01:00
Raimon
6a7c853828 [ticket/9980] URLs to javascript should be T_SUPER_TEMPLATE_PATH instead of T_TEMPLATE_PATH
PHPBB3-9980
2011-01-08 01:33:35 +01:00
Igor Wiedler
69616db1ed [ticket/9981] Fix unit test dependencies
PHPBB3-9981
2011-01-07 22:45:39 +01:00
Andreas Fischer
a469e80493 Merge branch 'ticket/rxu/9933' into develop-olympus
* ticket/rxu/9933:
  [ticket/9933] Create unit test for word censor regular expression.
  [ticket/9933] Move word censor regex into separate function in functions.php
  [ticket/9933] Wrong handling consecutive multiple asterisks in word censor
2011-01-07 15:41:12 +01:00
rxu
95cf47c4ef [ticket/9933] Create unit test for word censor regular expression.
PHPBB3-9933
2011-01-07 15:32:42 +01:00
rxu
951b7b22e0 [ticket/9933] Move word censor regex into separate function in functions.php
PHPBB3-9933
2011-01-07 15:32:34 +01:00
rxu
9a25e4ad89 [ticket/9933] Wrong handling consecutive multiple asterisks in word censor
Fix consecutive asterisks issue in word censor.

PHPBB3-9933
2011-01-07 20:51:43 +07:00
Nils Adermann
7a2348bf7f Merge branch 'task/naderman/phpdoc' into develop-olympus
* task/naderman/phpdoc:
  [task/phpdoc] Make phpdoctor output quiet instead of verbose.
2011-01-07 14:22:15 +01:00
Nils Adermann
c3fe0d99f9 [task/phpdoc] Make phpdoctor output quiet instead of verbose.
PHPBB3-9943
2011-01-07 14:15:45 +01:00
Nils Adermann
480978db41 Merge branch 'task/naderman/phpdoc' into develop-olympus
* task/naderman/phpdoc:
  [task/phpdoc] Switching from phpDocumentor to phpdoctor.
2011-01-07 02:27:57 +01:00
Nils Adermann
a1731d5e6e [task/phpdoc] Switching from phpDocumentor to phpdoctor.
You can get phpdoctor from https://github.com/peej/phpdoctor

PHPBB3-9943
2011-01-07 02:25:06 +01:00
Igor Wiedler
5b752a2fed Merge branch 'task/phpunit-xml' into develop-olympus 2011-01-07 01:15:06 +01:00
Nils Adermann
b48b909773 [task/phpunit-xml] Manually blacklisting a few PHPUnit classes from backups.
The blacklisting of these static variables is necessary because code coverage
will otherwise consume too much memory. The problem did not exist in earlier
PHPUnit versions because all classes beginning with PHPUnit are automatically
blacklisted, and code coverage as well as a few other internal classes were
still internal parts of PHPunit. These were now moved to PHP_ namespace,
causing the problem with backupStaticAttributes.

PHPBB3-9967
2011-01-07 01:07:30 +01:00
Nils Adermann
b4f95deefc [task/phpunit-xml] Only blacklist the tests directory and do not whitelist.
It would be ideal if we could whitelist the entire phpBB directory or at least
includes, but at present that still breaks because of classes with the same
name.

PHPBB3-9967
2011-01-07 00:30:38 +01:00
Nils Adermann
b720edb05b [task/phpunit-xml] Force error reporting level E_ALL | ~E_DEPRECATED.
PHPBB3-9967
2011-01-07 00:19:00 +01:00
Andreas Fischer
d968d35271 Merge branch 'ticket/bantu/9589' into develop-olympus
* ticket/bantu/9589:
  [ticket/9589] nginx.conf.sample -> nginx.sample.conf
2011-01-05 00:41:37 +01:00
Andreas Fischer
cdeffdd59f [ticket/9589] nginx.conf.sample -> nginx.sample.conf
PHPBB3-9589
2011-01-05 00:40:07 +01:00
Igor Wiedler
9a52bd0301 [task/phpunit-xml] Use phpunit.xml for test suite
PHPBB3-9967
2011-01-04 22:54:01 +01:00
Andreas Fischer
c54683be8c Merge branch 'ticket/bantu/9859' into develop-olympus
* ticket/bantu/9859:
  [ticket/9859] Remove years from the credit line.
2010-12-29 22:56:55 +01:00
Andreas Fischer
54ef781d72 Merge branch 'ticket/bantu/9348' into develop-olympus
* ticket/bantu/9348:
  [ticket/9348] Call phpbb_set_encoding() on config value 'default_dateformat'.
2010-12-29 22:56:48 +01:00
Andreas Fischer
410f1fdbc0 Merge branch 'ticket/noxwizard/9953' into develop-olympus
* ticket/noxwizard/9953:
  [ticket/9953] Set focus to password on re-authentication
2010-12-29 22:56:40 +01:00
Andreas Fischer
7442cd214c Merge branch 'ticket/noxwizard/9905' into develop-olympus
* ticket/noxwizard/9905:
  [ticket/9905] Add SQLite to the DSN description
2010-12-29 22:56:30 +01:00
Richard Foote
90c8803d59 [ticket/9348] Call phpbb_set_encoding() on config value 'default_dateformat'.
Call phpbb_set_encoding() on 'default_dateformat' to properly re-encode
non-ascii characters that might be in default_dateformat.

E.g. "d M Y à H:i"

PHPBB3-9348
2010-12-28 21:33:34 +01:00
Patrick Webster
7f0f08bcc4 [ticket/9953] Set focus to password on re-authentication
Sets the login focus to the password field when prompting for admin
re-authentication, rather than the username field.

PHPBB3-9953
2010-12-28 21:26:55 +01:00
Patrick Webster
4c076bfdc1 [ticket/9905] Add SQLite to the DSN description
The installer's DSN field has additional meanings for ODBC, PostgreSQL, and
SQLite, but only the first two are mentioned. SQLite uses it for the file path.

PHPBB3-9905
2010-12-28 21:21:16 +01:00
Andreas Fischer
c298c9d6d0 Merge branch 'ticket/igorw/9937' into develop-olympus
* ticket/igorw/9937:
  [ticket/9937] Make sure feed icon only shows for FORUM_POST
2010-12-21 22:50:39 +01:00
Igor Wiedler
cdbb609c20 [ticket/9937] Make sure feed icon only shows for FORUM_POST
This is cleaner, since feed.php only supports FORUM_POST.

PHPBB3-9937
2010-12-21 22:44:10 +01:00
Igor Wiedler
ea3d755962 Merge branch 'ticket/rmcgirr83/9937' into develop-olympus
* ticket/rmcgirr83/9937:
  [ticket/9937] The feed icon displays on External links...which we don't want
2010-12-21 20:59:52 +01:00
RMcGirr83
3f27cb2ea7 [ticket/9937] The feed icon displays on External links...which we don't want
PHPBB3-9937
2010-12-21 20:44:20 +01:00
Igor Wiedler
c1d6aceb03 Merge branch 'ticket/marc1706/9925' into develop-olympus
* ticket/marc1706/9925:
  [ticket/9925] prosilver logo margin bug in IE 6-7-8
2010-12-21 20:30:24 +01:00
Erik Frèrejean
8a07e8a4f8 [ticket/9954] Remove unneeded never permission
The `ROLE_USER_NOAVATAR` role gets a *never* permission assigned
for the two "u_masspm*" permissions. Due to this, this role changes
behaviour it isn't intended to change. It should assign "no" as is
done in the `ROLE_USER_LIMITED` role.

PHPBB3-9954
2010-12-21 15:08:07 +01:00
Marc Alexander
d1cf7ff24a [ticket/9925] prosilver logo margin bug in IE 6-7-8
PHPBB3-9925
2010-12-19 17:31:02 +01:00
Andreas Fischer
fc9516a2e3 [ticket/9859] Remove years from the credit line.
PHPBB3-9859
2010-12-16 01:19:40 +01:00
Erik Frèrejean
e4488fe788 [ticket/9948] Inline quicktime files won't show
When attaching a quicktime file and placing it
inline the movie won't be shown due to the size
the movie box is being given.

PHPBB3-9948
2010-12-15 09:39:28 +01:00
Nils Adermann
5e258a0a90 Merge branch 'ticket/igorw/9924' into develop-olympus
* ticket/igorw/9924:
  [ticket/9924] Pass template instance into $template->display hook
2010-12-13 17:21:57 +01:00
Nils Adermann
5d8ddc7480 Merge branch 'ticket/adamreyher/9928' into develop-olympus
* ticket/adamreyher/9928:
  [ticket/9928] Do not link "login to your board" to the "send statistics" page.
2010-12-13 17:09:56 +01:00
Andreas Fischer
b1c594229e Merge branch 'task/naderman/phpdoc' into develop-olympus
* task/naderman/phpdoc:
  [task/phpdoc] Added a phpdoc task to the build process
  [task/phpdoc] Added a configuration file for phpDocumentor.
2010-12-13 15:08:24 +01:00
Andreas Fischer
7c9002398a Merge branch 'feature/ChrisTX/acm-wincache' into develop-olympus
* feature/ChrisTX/acm-wincache:
  [feature/acm-wincache] Adding caching module for WinCache's User Cache.
2010-12-13 15:05:22 +01:00
Andreas Fischer
2c25a4bbb2 Merge branch 'ticket/rxu/9851' into develop-olympus
* ticket/rxu/9851:
  [ticket/9851] "Search new posts" should require login.
2010-12-13 15:03:54 +01:00
rxu
b88582199d [ticket/9851] "Search new posts" should require login.
The newposts search uses user_lastvisit, so it should require user to log in.

PHPBB3-9851
2010-12-13 14:58:43 +01:00
Nils Adermann
03c52e79b9 [task/phpdoc] Added a phpdoc task to the build process
PHPBB3-9943
2010-12-13 14:24:33 +01:00
Nils Adermann
41184e5d76 [task/phpdoc] Added a configuration file for phpDocumentor.
PHPBB3-9943
2010-12-13 14:22:45 +01:00
ChrisTX
d7287ec633 [feature/acm-wincache] Adding caching module for WinCache's User Cache.
PHPBB3-9942
2010-12-13 00:14:57 +01:00
Chris Smith
500f0c05db Merge branch 'ticket/igorw/9939' into develop-olympus
* ticket/igorw/9939:
  [ticket/9939] Fix JavaScript error in admin recaptcha template
2010-12-05 13:45:24 +00:00
Igor Wiedler
7dd06e8113 [ticket/9939] Fix JavaScript error in admin recaptcha template
PHPBB3-9939
2010-12-05 14:35:19 +01:00
Igor Wiedler
f6a48b495e Merge branch 'ticket/adamreyher/9575' into develop-olympus
* ticket/adamreyher/9575:
  [ticket/9575] Also change 'administrate' to 'administer' in templates
  [ticket/9575] Change 'administrate' to 'administer'
2010-12-05 14:10:49 +01:00
Igor Wiedler
0491bfbc2d [ticket/9575] Also change 'administrate' to 'administer' in templates
PHPBB3-9575
2010-12-05 14:09:39 +01:00
Igor Wiedler
5a4938c270 Merge branch 'ticket/rmgcirr83/8736' into develop-olympus
* ticket/rmgcirr83/8736:
  [ticket/8736] guest can have 255 chars long username
2010-12-05 13:51:09 +01:00
RMcGirr83
7a3d6a8168 [ticket/8736] guest can have 255 chars long username
when you post as a guest (anonymous) you can fill the field username with 255
chars. that will destroy the prosilver and subsilver2 style at viewtopic.
settings for username in ACP: 6-16 Chars

PHPBB3-8736
2010-12-04 20:04:10 +01:00
Adam Reyher
e6a6f00562 [ticket/9928] Do not link "login to your board" to the "send statistics" page.
PHPBB3-9928
2010-12-03 02:15:50 +01:00
Andreas Fischer
e80253209f Merge branch 'ticket/nickvergessen/9930' into develop-olympus
* ticket/nickvergessen/9930:
  [ticket/9930] Redirect failes with open_basedir enabled.
2010-12-03 01:41:43 +01:00
Andreas Fischer
b86289fdd3 Merge branch 'ticket/igorw/9910' into develop-olympus
* ticket/igorw/9910:
  [ticket/9910] Make sure S_BBCODE_ALLOWED exists when viewing PMs
2010-12-03 01:40:38 +01:00
Andreas Fischer
59d4e905ba Merge branch 'ticket/igorw/9932' into develop-olympus
* ticket/igorw/9932:
  [ticket/9932] Add the Bing bot when converting
2010-12-03 01:38:34 +01:00
Andreas Fischer
bbde10b410 Merge branch 'ticket/mungo/9921' into develop-olympus
* ticket/mungo/9921:
  [ticket/9921] Adding sample configuration file for the lighttpd webserver.
2010-12-03 01:37:27 +01:00
Adam Reyher
8b3d068e83 [ticket/9575] Change 'administrate' to 'administer'
PHPBB3-9575
2010-12-01 14:14:46 -05:00
Ingo Migliarina
b017f54ac9 [ticket/9921] Adding sample configuration file for the lighttpd webserver.
PHPBB3-9921
2010-12-01 18:39:50 +01:00
Igor Wiedler
84c59a1c20 Merge branch 'task/github-readme' into develop-olympus 2010-11-29 20:16:36 +01:00
Igor Wiedler
90ff30b7a0 [task/github-readme] Add README file for GitHub
PHPBB3-9788
2010-11-29 20:15:58 +01:00
Richard Foote
23765fa668 [ticket/9932] Add the Bing bot when converting
PHPBB3-9932
2010-11-29 08:33:10 +01:00
Joas Schilling
5ec1c88795 [ticket/9930] Redirect failes with open_basedir enabled.
Open_basedir does not allow file_exists() for "." and directories without a
trayling-slash. Therefor we must append it on the check.

PHPBB3-9930
2010-11-25 23:29:12 +01:00
Igor Wiedler
053cf790a9 [ticket/9924] Pass template instance into $template->display hook
PHPBB3-9924
2010-11-23 16:09:09 +01:00
Igor Wiedler
f204ce6825 Merge branch 'ticket/rmcgirr83/9897' into develop-olympus 2010-11-21 23:48:17 +01:00
RMcGirr83
7e934c6362 [ticket/9897] A few language fixes
PHPBB3-9897
2010-11-21 23:46:09 +01:00
Igor Wiedler
217e77d16b [ticket/9910] Make sure S_BBCODE_ALLOWED exists when viewing PMs
PHPBB3-9910
2010-11-21 23:18:09 +01:00
Nils Adermann
d2778e67ea Merge branch 'prep-release-3.0.8' into develop-olympus
* prep-release-3.0.8:
  [prep-release-3.0.8] Incrementing version number to 3.0.8 and update changelog
  [ticket/9903] Script for detecting potentially malicious flash bbcodes
  [ticket/9904] Update WebPI Parameters.xml to work with WebMatrix.
  [ticket/9903] Fix XSS in BBcode-parser's Flash-BBcode.

Conflicts:
	phpBB/includes/constants.php
	phpBB/install/database_update.php
	phpBB/install/schemas/schema_data.sql
2010-11-20 17:55:56 +01:00
Nils Adermann
af4c2a3eb1 [prep-release-3.0.8] Incrementing version number to 3.0.8 and update changelog 2010-11-19 13:22:36 +01:00
Nils Adermann
2831a3a9a9 Merge branch 'ticket/9903' into prep-release-3.0.8
* ticket/9903:
  [ticket/9903] Script for detecting potentially malicious flash bbcodes
  [ticket/9903] Fix XSS in BBcode-parser's Flash-BBcode.
2010-11-19 11:33:14 +01:00
Igor Wiedler
49b639dd95 [ticket/9903] Script for detecting potentially malicious flash bbcodes
PHPBB3-9903
2010-11-19 11:31:00 +01:00
Nils Adermann
bce138ca14 Merge branch 'ticket/igorw/9904' into prep-release-3.0.8
* ticket/igorw/9904:
  [ticket/9904] Update WebPI Parameters.xml to work with WebMatrix.
2010-11-19 11:27:57 +01:00
Chris Sfanos
e043dc316a [ticket/9904] Update WebPI Parameters.xml to work with WebMatrix.
PHPBB3-9904
2010-11-19 11:27:16 +01:00
Andreas Fischer
fbca4e9c7b Merge branch 'prep-release-3.0.8' into develop-olympus
* prep-release-3.0.8:
  [ticket/9899] Change recaptcha theme from default to 'clean' in the ACP.
  [ticket/9509] Fix a typo and wrong period placement
2010-11-18 14:04:57 +01:00
Andreas Fischer
d917b2d737 Merge branch 'ticket/igorw/9509' into prep-release-3.0.8
* ticket/igorw/9509:
  [ticket/9509] Fix a typo and wrong period placement
2010-11-18 14:01:38 +01:00
Andreas Fischer
bb9c8ca563 Merge branch 'ticket/rmcgirr83/9899' into prep-release-3.0.8
* ticket/rmcgirr83/9899:
  [ticket/9899] Change recaptcha theme from default to 'clean' in the ACP.
2010-11-18 14:01:27 +01:00
RMcGirr83
6c45754a43 [ticket/9899] Change recaptcha theme from default to 'clean' in the ACP.
Change recaptcha theme from default to 'clean' in the ACP to better match
the administration control panel.

Follow up to d6aa25ede1.

PHPBB3-9899
2010-11-18 13:59:49 +01:00
Igor Wiedler
859149f5c3 [ticket/9509] Fix a typo and wrong period placement
Thanks to Michael C. for spotting this.

PHPBB3-9509
2010-11-18 13:55:39 +01:00
Ruslan Uzdenov
291a1fff1f [ticket/9903] Fix XSS in BBcode-parser's Flash-BBcode.
Fix XSS in Flash-BBcode by validating that the supplied argument is a URL.

PHPBB3-9903
2010-11-18 13:37:56 +01:00
Nils Adermann
b02cec86d4 [develop-olympus] Revert accidental revert of db update lang fix and version
Really not my day, is it?
2010-11-11 12:13:51 +01:00
Nils Adermann
396af3853f [develop-olympus] Remove accidentally added trailing newlines. 2010-11-11 12:07:45 +01:00
Nils Adermann
87aa611a8e [develop-olympus] Incrementing the version number to 3.0.9-dev. 2010-11-11 11:49:17 +01:00
Nils Adermann
7b4cdc94a8 [develop-olympus] Updating changelog for last minute 3.0.8-RC1 fixes. 2010-11-10 19:01:54 +01:00
Nils Adermann
cdb57aaa64 Merge branch 'ticket/nickvergessen/9140' into develop-olympus
* ticket/nickvergessen/9140:
  [ticket/9140] Check current board version in incremental update packages
2010-11-10 19:00:45 +01:00
Nils Adermann
cb94085323 Merge branch 'ticket/nickvergessen/9891' into develop-olympus
* ticket/nickvergessen/9891:
  [ticket/9891] Updater drops language-selection after database-update
2010-11-10 19:00:32 +01:00
Joas Schilling
4340e5a217 [ticket/9140] Check current board version in incremental update packages
We need to use $this->current_version in this case instead of
$config['version']. Otherwise the message will be displayed after the database
got updated from database_update.php. Using PHPBB_VERSION from
includes/constants.php is not the right selection either, because than the
message is displayed after the files got updated and are checked one last time.

PHPBB3-9140
2010-11-10 18:26:02 +01:00
Joas Schilling
9d55794e33 [ticket/9891] Updater drops language-selection after database-update
PHPBB3-9891
2010-11-10 17:56:05 +01:00
Nils Adermann
88602d138c [develop-olympus] Updating changelog with latest changes for 3.0.8-RC1 2010-11-10 16:29:34 +01:00
Nils Adermann
2ed9b3e1d5 Merge branch 'ticket/nickvergessen/9886' into develop-olympus
* ticket/nickvergessen/9886:
  [ticket/9886] Update fails on PostgreSQL because of an error in _add_module
2010-11-10 16:16:16 +01:00
Nils Adermann
1b12884c7d Merge branch 'ticket/igorw/9884' into develop-olympus
* ticket/igorw/9884:
  [ticket/9884] Reduce queue interval to 60 seconds, email package size to 20
2010-11-10 15:56:53 +01:00
Igor Wiedler
c9c19874d6 [ticket/9884] Reduce queue interval to 60 seconds, email package size to 20
PHPBB3-9884
2010-11-10 15:50:53 +01:00
Joas Schilling
d722eeb64b [ticket/9886] Update fails on PostgreSQL because of an error in _add_module
PHPBB3-9886
2010-11-09 07:56:37 +01:00
Andreas Fischer
05dce726d0 Merge branch 'ticket/nickvergessen/9888' into develop-olympus
* ticket/nickvergessen/9888:
  [ticket/9888] Update fails when Bing [Bot] was already added to the users table
2010-11-08 23:41:19 +01:00
Nils Adermann
1a637a3860 Merge branch 'ticket/bantu/9885' into develop-olympus
* ticket/bantu/9885:
  [ticket/9885] Fix extension group name updater. Loop through all languages.
2010-11-08 23:22:23 +01:00
Joas Schilling
b88f35caef [ticket/9888] Update fails when Bing [Bot] was already added to the users table
Added a check whether the user already exists before we try to add it.

PHPBB3-9888
2010-11-08 23:22:06 +01:00
Nils Adermann
794c0f6b68 [develop-olympus] Bumping version number for 3.0.8-RC1. 2010-11-08 23:21:27 +01:00
Andreas Fischer
f7e37dae86 [ticket/9885] Fix extension group name updater. Loop through all languages.
Fix a regression introduced by 58dc5a191c.

The problem is that $user->add_lang() includes language strings from the board
root folder instead of the update folder. Because the database updater is run
first, the root folder files have not been upgrade yet. Thus, the language
strings we're looking for cannot be found.

Since the language strings we are looking for have been moved from the
install.php language file to acp/attachments.php it should be possible to
always find them in either file. When there is an acp/attachments.php file in
the update package, it can also be used.

We now also loop through all the installed languages as well, because the board
could have been installed in a language other than the admin's current
language.

PHPBB3-9885
PHPBB3-7717
2010-11-08 14:19:53 +01:00
Andreas Fischer
e71911a8d2 Merge branch 'ticket/sa007/9847' into develop-olympus
* ticket/sa007/9847:
  [ticket/9847] Fix typo in search synonyms. Use british english for 'judgement'.
2010-11-08 12:48:19 +01:00
SA007
fd03ecad01 [ticket/9847] Fix typo in search synonyms. Use british english for 'judgement'.
The word "gauge" was misspelled as "guage".
The word "judgement" is preferred over "judgment" in british english.

PHPBB3-9847
2010-11-08 12:32:19 +01:00
Chris Smith
6f3b06e2b5 Merge branch 'ticket/sa007/9883' into develop-olympus
* ticket/sa007/9883:
  [ticket/9883] Change an American English spelling to British English.
2010-11-08 01:43:54 +00:00
SA007
babfd0075d [ticket/9883] Change an American English spelling to British English.
PHPBB3-9883
2010-11-08 01:29:46 +00:00
Andreas Fischer
0e731ca5dd Merge branch 'task/naderman/phing-build' into develop-olympus
* task/naderman/phing-build:
  [task/phing-build] Correct the path for update package patch files.
2010-11-08 00:17:47 +01:00
Nils Adermann
2847b2125e [task/phing-build] Correct the path for update package patch files.
PHPBB3-9849
2010-11-08 00:13:23 +01:00
Andreas Fischer
6c04e7ed80 Merge branch 'ticket/bantu/9880' into develop-olympus
* ticket/bantu/9880:
  [ticket/9880] Change "antibot" to "anti-spambot".
  [ticket/9880] Changing the term 'CAPTCHA' to something more obvious.
2010-11-07 14:57:07 +01:00
Andreas Fischer
81ca3d202e [ticket/9880] Change "antibot" to "anti-spambot".
PHPBB3-9880
2010-11-07 13:17:27 +01:00
Andreas Fischer
371e54e054 Merge branch 'ticket/paul999/9696' into develop-olympus
* ticket/paul999/9696:
  [ticket/9696] Surpress is_dir() notice when using SQLite with open_basedir.
2010-11-07 13:12:16 +01:00
Paul Sohier
5cdf27edef [ticket/9696] Surpress is_dir() notice when using SQLite with open_basedir.
PHPBB3-9696
2010-11-07 12:50:32 +01:00
Andreas Fischer
2e5217f773 Merge branch 'task/naderman/phing-build' into develop-olympus
* task/naderman/phing-build:
  [task/phing-build] Automatically trigger build_diff
  [task/phing-build] Added a build.xml configuration for phing.
2010-11-07 12:33:40 +01:00
Chris Smith
7b1d9fbbe2 [ticket/9880] Changing the term 'CAPTCHA' to something more obvious.
PHPBB3-9880
2010-11-07 05:28:29 +00:00
Nils Adermann
225482c06a Merge branch 'ticket/cs278/9752' into develop-olympus
* ticket/cs278/9752:
  [ticket/9752] Mark unused language variable as such.
  [ticket/9752] Change reference to 'confirmation code' to be more generic.
2010-11-07 03:27:44 +01:00
Chris Smith
dd1532a72c [ticket/9752] Mark unused language variable as such.
PHPBB3-9752
2010-11-07 02:16:56 +00:00
576de284a7 [ticket/9752] Change reference to 'confirmation code' to be more generic.
Related to 71b35a924f

PHPBB3-9752
2010-11-07 02:15:33 +00:00
Nils Adermann
48e6126094 Merge remote branches 'github-bantu/ticket/9879' and 'github-cs278/ticket/9095' into develop-olympus
* github-bantu/ticket/9879:
  [ticket/9879] Fix markup and use Q&A instead of Q & A for consistency.
  [ticket/9879] Spelling, punctuation and grammar update for the Q&A CAPTCHA.

* github-cs278/ticket/9095:
  [ticket/9095] Update CAPTCHA related strings to reflect CAPTCHAs plugins.
2010-11-07 03:10:57 +01:00
71b35a924f [ticket/9095] Update CAPTCHA related strings to reflect CAPTCHAs plugins.
With the addition of CAPTCHA plugins in 3.0.6 a number of language
strings need updating to account for non visual based CAPTCHAs.

PHPBB3-9095
2010-11-07 01:52:53 +00:00
Nils Adermann
e1aff2841b [task/phing-build] Automatically trigger build_diff
The build_diff script generates MOD format change descriptions for
language and style files. It is automatically triggered by phin with
the correct version numbers now so it does not need to be changed
anymore.

PHPBB3-9849
2010-11-07 02:14:49 +01:00
Andreas Fischer
5d9a9d6874 [ticket/9879] Fix markup and use Q&A instead of Q & A for consistency.
PHPBB3-9879
2010-11-07 00:35:11 +01:00
2299c40137 [ticket/9879] Spelling, punctuation and grammar update for the Q&A CAPTCHA.
Fixed spelling, punctuation and grammar as well as removed registration
specific language from plugin as it can be/is used for form submissions other
than registration.

PHPBB3-9879
2010-11-07 00:13:01 +01:00
Nils Adermann
f7180f4430 Merge branch 'ticket/bantu/9075' into develop-olympus
* ticket/bantu/9075:
  [ticket/9075] CPF Numbers fields: Prevent SQL error on registration page.
2010-11-07 00:03:15 +01:00
Andreas Fischer
516282dfa9 Merge branch 'ticket/bantu/9835' into develop-olympus
* ticket/bantu/9835:
  [ticket/9835] subsilver2: Don't show "To prevent automated ..." when logging in
2010-11-06 18:53:32 +01:00
Andreas Fischer
414d8a41e5 Merge branch 'ticket/bantu/9827' into develop-olympus
* ticket/bantu/9827:
  [ticket/9827] No longer emulate Internet Explorer 7 when using IE9.
2010-11-06 18:51:52 +01:00
Andreas Fischer
46dbdfdef4 Merge branch 'ticket/igorw/9850' into develop-olympus
* ticket/igorw/9850:
  [ticket/9850] Display upgrade instructions for feature release in acp
2010-11-06 18:47:19 +01:00
Adam Reyher
3b7414fca8 [ticket/9827] No longer emulate Internet Explorer 7 when using IE9.
The IE9 beta fixes the IE8 textarea width bug which required IE7 emulation in
phpBB's styles. Emulation should only occur when using IE8 now.

PHPBB3-9827
2010-11-05 17:07:18 +01:00
Andreas Fischer
e3b460a518 Merge branch 'task/naderman/mssql-db-tests' into develop-olympus
* task/naderman/mssql-db-tests:
  [task/mssql-db-tests] Remove MS SQL helper values from SELECT LIMIT results.
  [task/mssql-db-tests] Split up database tests into SELECT and write operations
  [task/mssql-db-tests] PHPUnit output got stuck after unterminated ob_start.
  [task/mssql-db-tests] sql_query_limit must return all results when total = 0
  [task/mssql-db-tests] Add support for odbc & sqlsrv PDO test connections
  [task/mssql-db-tests] Refactored getConnection into multiple smaller parts.
  [task/mssql-db-tests] Allow test configuration with environment variables.
  [task/mssql-db-tests] No longer display an error when skipping db tests.
  [task/mssql-db-tests] Use a simple getter for test case helpers.
2010-11-03 11:32:13 +01:00
Igor Wiedler
857271ebbd [ticket/9850] Display upgrade instructions for feature release in acp
PHPBB3-9850
2010-11-02 23:53:14 +01:00
Andreas Fischer
ec3dac0595 [ticket/9075] CPF Numbers fields: Prevent SQL error on registration page.
When an administrator set a numbers field to default to 'not specified', a SQL
error was caused on the registration page because it was tried to insert an
empty string into an integer column.
Because the column already supports NULL values, empty strings are now
converted to NULL for custom profile fields of the type 'Numbers' before
insertion into the data table.

PHPBB3-9075
2010-10-30 12:42:23 +02:00
a009614afb [ticket/9835] subsilver2: Don't show "To prevent automated ..." when logging in
This makes subsilver2 consistent with prosilver.

PHPBB3-9835
2010-10-28 22:35:53 +02:00
Andreas Fischer
ac26bb458f [ticket/9764] Allow $config['mime_triggers'] to be an empty string.
explode('|', '') and explode('|', NULL) both return array(0 => '') which can
cause filespec::check_content() to reject everything starting with a '<'
character in case $config['mime_triggers'] is an empty string or not set.

fileupload::set_disallowed_content() now filters out empty strings by calling
array_diff() on the passed array, so setting $config['mime_triggers'] to an
empty string will turn off mime checking completely.

On the other side we want to fail safe if $config['mime_triggers'] is not set
at all. To do this, the array fileupload::$disallowed_content now contains some
default strings to be filtered out.

PHPBB3-9764
2010-10-28 22:00:04 +02:00
Andreas Fischer
6ff403c9f8 Merge branch 'ticket/cs278/9061' into develop-olympus
* ticket/cs278/9061:
  [ticket/9061] Simplify conditional statements by reworking the logic.
  [ticket/9061] Fixed a race condition in queue locking.
2010-10-27 13:06:21 +02:00
Chris Smith
9819700247 [ticket/9061] Simplify conditional statements by reworking the logic.
PHPBB3-9061
2010-10-27 11:31:42 +01:00
Oleg Pudeyev
01ef46a510 [ticket/9061] Fixed a race condition in queue locking.
Changed queue locking to cover all queue file operations,
in particular the check for queue file existince and
inclusion of queue file must be done under one lock.

Also refactored queue locking and unlocking into separate
methods.

PHPBB3-9061
2010-10-27 11:31:27 +01:00
Igor Wiedler
832b09d60d Merge branches 'ticket/bantu/9101', 'ticket/bantu/9595' and 'ticket/bantu/9853' into develop-olympus
* ticket/bantu/9101:
  [ticket/9101] Remove misleading 'below' from RECAPTCHA_EXPLAIN.

* ticket/bantu/9595:
  [ticket/9595] List min/max characters indexed by search for mysql_fulltext.

* ticket/bantu/9853:
  [ticket/9853] Change recaptcha theme from default to 'clean'.
2010-10-25 22:08:37 +02:00
Andreas Fischer
52546e8d15 Merge branch 'ticket/naderman/9686' into develop-olympus
* ticket/naderman/9686:
  [ticket/9686] Fix mssqlnative database data export
2010-10-25 21:54:49 +02:00
Andreas Fischer
a5bc7c90f5 Merge branch 'ticket/rxu/9478' into develop-olympus
* ticket/rxu/9478:
  [ticket/9478] Validate maximum number of allowed recipients per PM value.
2010-10-25 21:52:50 +02:00
rxu
257e264af7 [ticket/9478] Validate maximum number of allowed recipients per PM value.
Do not allow to enter the value larger than it's allowed by MySQL mediumnt(8).

PHPBB3-9478
2010-10-25 21:47:13 +02:00
Nils Adermann
76e8a9466e [task/mssql-db-tests] Remove MS SQL helper values from SELECT LIMIT results.
PHPBB3-9868
2010-10-25 19:43:39 +02:00
Nils Adermann
fa8dca2400 [task/mssql-db-tests] Split up database tests into SELECT and write operations
SELECT is based on the user table fixture, write (INSERT/UPDATE/DELETE) is
tested using the config table fixture.

PHPBB3-9868
2010-10-25 19:43:39 +02:00
Nils Adermann
9b4da98653 [task/mssql-db-tests] PHPUnit output got stuck after unterminated ob_start.
PHPBB3-9868
2010-10-25 19:43:39 +02:00
Nils Adermann
ee0993a8a6 [task/mssql-db-tests] sql_query_limit must return all results when total = 0
PHPBB3-9868
2010-10-25 19:43:39 +02:00
Nils Adermann
801f66b4a2 [task/mssql-db-tests] Add support for odbc & sqlsrv PDO test connections
PHPBB3-9868
2010-10-25 19:43:18 +02:00
Nils Adermann
832035f744 [task/mssql-db-tests] Refactored getConnection into multiple smaller parts.
This is a first step to simplify the extraction of database specific code
parts into separate classes.

PHPBB3-9868
2010-10-25 19:40:11 +02:00
Nils Adermann
a397f81a2b [task/mssql-db-tests] Allow test configuration with environment variables.
To allow execution of the tests with different configurations without having
to use the test_config.php file, environment variables of the form
PHPBB_TEST_<name> can now be used, e.g. PHPBB_TEST_DBMS to set the variables
otherwise expected in test_config.php

PHPBB3-9868
2010-10-25 19:39:12 +02:00
Nils Adermann
9dbbfea5fd [task/mssql-db-tests] No longer display an error when skipping db tests.
Tests are run with sqlite by default now anyway, so in the majority of cases
the error message explaining how to set up database test running will not be
displayed anyway. Database tests are now generally simply skipped if no
configuration can be found. The RUNNING_TESTS.txt file explains how to set
them up however, and more info is available on the wiki.

The get_database_config method was moved from test_case_helpers to
database_test_case because it has no general purpose.

PHPBB3-9868
2010-10-25 19:38:58 +02:00
Nils Adermann
ee846c461c [task/mssql-db-tests] Use a simple getter for test case helpers.
Calling initialisation to then use the member directly seems more
complicated than just having a method that returns the instance or
creates it if necessary.

PHPBB3-9868
2010-10-25 19:38:35 +02:00
Nils Adermann
5c5b0fc4be [ticket/9686] Fix mssqlnative database data export
We require version 1.1 of the sqlsrv extension anyway so the regular
sqlsrv_num_rows can be used instead of buffering the result. The result
buffer (class result_mssqlnative) should never automatically free the
resource it receives - we consistently close resources using sql_freeresult().

PHPBB3-9686
2010-10-25 03:33:37 +02:00
Nils Adermann
e87a8ef02c Merge branch 'ticket/igorw/9807' into develop-olympus
* ticket/igorw/9807:
  [ticket/9807] Update existing module permissions in database
  [ticket/9807] Hide avatar tab in UCP when avatars are disabled
2010-10-23 14:08:38 +02:00
Andreas Fischer
294c2c63c0 [ticket/9595] List min/max characters indexed by search for mysql_fulltext.
PHPBB3-9595
2010-10-21 20:31:00 +02:00
Igor Wiedler
b9afa26280 [ticket/9807] Update existing module permissions in database
PHPBB3-9807
2010-10-21 10:22:03 +02:00
Igor Wiedler
d503272645 Merge branch 'ticket/bantu/9857' into develop-olympus
* ticket/bantu/9857:
  [ticket/9857] Remove visible $Id$ from phpBB/docs files.
2010-10-19 14:03:44 +02:00
Igor Wiedler
5f0f8c25be Merge branch 'ticket/igorw/9509' into develop-olympus
* ticket/igorw/9509:
  [ticket/9509] Remove section 8 from index
  [ticket/9509] Close anchor tag in coding guidelines
  [ticket/9509] The VCS is now git
2010-10-19 13:55:18 +02:00
Igor Wiedler
c4dfe24fec [ticket/9509] Remove section 8 from index
Thanks Andreas.

PHPBB3-9509
2010-10-19 13:52:00 +02:00
Igor Wiedler
5ad5930c8f [ticket/9509] Close anchor tag in coding guidelines
Thanks Andreas.

PHPBB3-9509
2010-10-19 13:45:50 +02:00
Andreas Fischer
435636e626 Merge branch 'ticket/jellydoughnut/9854' into develop-olympus
* ticket/jellydoughnut/9854:
  [ticket/9854] Revise docs/auth_api.html to add more methods
2010-10-19 12:32:09 +02:00
Josh Woody
9950fa34c6 [ticket/9854] Revise docs/auth_api.html to add more methods
Notably, the auth_admin class is still missing documentation.

PHPBB3-9854
2010-10-19 12:31:18 +02:00
Andreas Fischer
b27b69cf37 [ticket/9857] Remove visible $Id$ from phpBB/docs files.
PHPBB3-9857
2010-10-19 12:22:07 +02:00
rxu
4091f873ea [ticket/6712] Bump does not create new topic icon on index.
Handle the topic bumping process more properly.

PHPBB3-6712
2010-10-18 21:25:52 +08:00
Nils Adermann
b6a60d4d64 [ticket/9509] The VCS is now git
Partially cherry-picked from 163a0974.

PHPBB3-9509
2010-10-18 13:17:16 +02:00
Andreas Fischer
acabe5a013 Merge branch 'ticket/rxu/9840' into develop-olympus
* ticket/rxu/9840:
  [ticket/9840] Display view unread posts link for guests.
2010-10-18 11:50:51 +02:00
Andreas Fischer
6236cfc9fa [ticket/9101] Remove misleading 'below' from RECAPTCHA_EXPLAIN.
Remove misleading 'below' from RECAPTCHA_EXPLAIN because recaptcha is actually
displayed to the side.

PHPBB3-9101
2010-10-18 11:24:04 +02:00
Andreas Fischer
d6aa25ede1 [ticket/9853] Change recaptcha theme from default to 'clean'.
Change recaptcha theme to 'clean' to better coordinate with the color schemes
of prosilver and subsilver2. The default red theme doesn't really fit prosilver
and subsilver2.

PHPBB3-9853
2010-10-18 10:59:00 +02:00
Igor Wiedler
6eb061ef0c Merge branch 'ticket/naderman/9855' into develop-olympus
* ticket/naderman/9855:
  [ticket/9855] Do not include the PHPUnit Framework manually on 3.5+.
  [ticket/9855] Make tests run under PHPUnit 3.5.
2010-10-17 23:36:09 +02:00
Nils Adermann
d56bf3b060 [ticket/9855] Do not include the PHPUnit Framework manually on 3.5+.
PHPBB3-9855
2010-10-17 23:32:57 +02:00
Nils Adermann
e195c91b1d [ticket/9855] Make tests run under PHPUnit 3.5.
PHPBB3-9855
2010-10-17 23:10:49 +02:00
Igor Wiedler
642f940bc8 Merge branch 'ticket/bantu/9848' into develop-olympus
* ticket/bantu/9848:
  [ticket/9848] Add avatars, attachments and store files to .gitignore.
2010-10-17 21:43:29 +02:00
Igor Wiedler
1722c1c819 Merge branch 'ticket/bantu/9841' into develop-olympus
* ticket/bantu/9841:
  [ticket/9841] Change "Save" to "Save draft", "Load" to "Load draft".
2010-10-17 21:38:38 +02:00
Igor Wiedler
2e26f86f02 Merge branch 'ticket/bantu/9822' into develop-olympus
* ticket/bantu/9822:
  [ticket/9822] Correct some style related ACP explain statements.
2010-10-17 21:35:41 +02:00
Igor Wiedler
8ac0efce65 Merge branch 'ticket/bantu/9698' into develop-olympus
* ticket/bantu/9698:
  [ticket/9698] Add .htaccess to the includes subdirectory.
2010-10-17 21:34:31 +02:00
Igor Wiedler
f6db95914b Merge branch 'ticket/bantu/9664' into develop-olympus
* ticket/bantu/9664:
  [ticket/9664] Resolve conflict with accesskey="t", change addlitsitem to "y".
2010-10-17 21:33:45 +02:00
Igor Wiedler
2895ade566 Merge branch 'ticket/bantu/7538' into develop-olympus
* ticket/bantu/7538:
  [ticket/7538] Limit user_login_attempts to prevent SQL errors.
2010-10-17 21:32:20 +02:00
Igor Wiedler
6582455e5d Merge branch 'ticket/bantu/7417' into develop-olympus
* ticket/bantu/7417:
  [ticket/7417] Also focus search keywords and username in subsilver2.
  [ticket/7417] Focus username field when prosilver login page is loaded.
  [ticket/7417] Focus search keywords field when prosilver search page is loaded.
2010-10-17 21:30:40 +02:00
Andreas Fischer
0aecbfa806 Merge branch 'ticket/cs278/7332' into develop-olympus
* ticket/cs278/7332:
  [ticket/7332] Fix post details expand link rendering on Webkit.
2010-10-17 18:33:29 +02:00
Andreas Fischer
003fe87080 Merge branch 'ticket/igorw/9162' into develop-olympus
* ticket/igorw/9162:
  [ticket/9162] Prevent notice on unset poll title
2010-10-17 18:30:59 +02:00
Chris Smith
e2d57fb4da [ticket/7332] Fix post details expand link rendering on Webkit.
PHPBB3-7332
2010-10-17 12:25:20 +01:00
Nils Adermann
5d9aef4794 [task/phing-build] Added a build.xml configuration for phing.
The current state of the phing build script allowed the removal of
some code from the old packaging process written entirely in PHP.
Further simplifcations of the PHP code and additions to the phing
build file will follow.

PHPBB3-9849
2010-10-17 01:19:23 +02:00
rxu
880bace355 [ticket/9840] Display view unread posts link for guests.
Display view unread posts link for guests if applicable.

PHPBB3-9840
2010-10-16 20:46:38 +08:00
Igor Wiedler
07a8d5a3dd [ticket/9162] Prevent notice on unset poll title
Regression from a81c857c96

PHPBB3-9162
2010-10-16 13:55:17 +02:00
Oleg Pudeyev
940191973f [ticket/7417] Also focus search keywords and username in subsilver2.
PHPBB3-7417
2010-10-16 12:24:54 +02:00
Oleg Pudeyev
6e9cf09adb [ticket/7417] Focus username field when prosilver login page is loaded.
PHPBB3-7417
2010-10-16 12:24:48 +02:00
Oleg Pudeyev
105de6b637 [ticket/7417] Focus search keywords field when prosilver search page is loaded.
PHPBB3-7417
2010-10-16 12:24:37 +02:00
Andreas Fischer
931bd25e34 [ticket/9841] Change "Save" to "Save draft", "Load" to "Load draft".
This has confused people that are less familiar with phpBB or web applications
in general. "Save draft" should make it clear that a draft is being saved, but
it is still short enough to be used in a button.

PHPBB3-9841
2010-10-15 19:42:29 +02:00
Andreas Fischer
2c4c1f9257 [ticket/9664] Resolve conflict with accesskey="t", change addlitsitem to "y".
PHPBB3-9664
2010-10-15 19:14:20 +02:00
Andreas Fischer
0452da2bf1 [ticket/7538] Limit user_login_attempts to prevent SQL errors.
PHPBB3-7538
2010-10-15 19:00:14 +02:00
Andreas Fischer
32ee8955b2 [ticket/9848] Add avatars, attachments and store files to .gitignore.
PHPBB3-9848
2010-10-15 18:08:43 +02:00
Andreas Fischer
59e62d271c [ticket/9822] Correct some style related ACP explain statements.
Remove "Additionally, if you have permission you can elect to remove the set
from the filesystem." because that functionality is not implemented.

Also remove unnecessary "When the imageset is deleted it is gone for good."
statement, "It is recommended that you first export your set for possible
future use." should be clear enough.

PHPBB3-9822
2010-10-15 17:57:43 +02:00
Andreas Fischer
d485664404 [ticket/9698] Add .htaccess to the includes subdirectory.
Add .htaccess to the includes folder to prevent full path disclosure when
running PHP 5.3. When the error_reporting setting in php.ini contains the
E_DEPRECATED error level, the PHP parser throws an error message containing
the local filesystem path when accessing one of the captcha plugins directly.
This is because the captcha plugins return explicit references for PHP 4
compatibility.

PHPBB3-9698
2010-10-15 16:47:21 +02:00
Andreas Fischer
b8f37a5024 Merge branch 'ticket/igorw/9816' into develop-olympus
* ticket/igorw/9816:
  [ticket/9816] Remove config.php from repository

Conflicts:
	.gitignore
2010-10-15 15:39:36 +02:00
Andreas Fischer
7ac8838b69 Merge branch 'ticket/igorw/9830' into develop-olympus
* ticket/igorw/9830:
  [ticket/9830] Redirect to install directly when config.php does not exist.
2010-10-15 15:33:27 +02:00
Igor Wiedler
c439cdc618 Merge branch 'ticket/marc1706/9810' into develop-olympus
* ticket/marc1706/9810:
  [ticket/9810] Hide "Select All" of code bbcode on print page
2010-10-04 20:27:00 +02:00
Igor Wiedler
8e7f2e179e Merge branch 'ticket/bantu/9829' into develop-olympus
* ticket/bantu/9829:
  [ticket/9829] Fix error in recaptcha validation.
2010-10-04 17:17:09 +02:00
Andreas Fischer
e081531a21 Merge branch 'ticket/igorw/9804' into develop-olympus
* ticket/igorw/9804:
  [ticket/9804] Account evil3 renamed to igorw, adjust AUTHORS
2010-09-24 12:07:26 +02:00
Igor Wiedler
f6700815a8 [ticket/9804] Account evil3 renamed to igorw, adjust AUTHORS
PHPBB3-9804
2010-09-21 00:53:30 +02:00
Cristian Rodriguez
68b35b5845 [ticket/9829] Fix error in recaptcha validation.
The recaptcha plugin falsely accepted error responses by recaptcha as valid
solutions.

PHPBB3-9829
2010-09-19 16:29:12 +02:00
Igor Wiedler
41245f9f7a Merge branch 'ticket/bantu/9091' into develop-olympus
* ticket/bantu/9091:
  [ticket/9091] Extract IPv4 address from addresses mapped into IPv6.
2010-09-16 23:38:50 +02:00
Igor Wiedler
ed783506c6 Merge branch 'ticket/bantu/9825' into develop-olympus
* ticket/bantu/9825:
  [ticket/9825] Add unit test config and db to gitignore
  [ticket/9825] Unit tests: Use sqlite when possible and no test_config exists.
2010-09-16 23:17:29 +02:00
Igor Wiedler
81d3f382a9 [ticket/9825] Add unit test config and db to gitignore
PHPBB3-9825
2010-09-16 23:16:30 +02:00
Igor Wiedler
46810f8747 Merge branch 'ticket/bantu/9644' into develop-olympus
* ticket/bantu/9644:
  [ticket/9644] Check $mode before calling user_notification() from submit_post()
2010-09-16 22:42:07 +02:00
Igor Wiedler
9015e03d05 Merge branch 'ticket/bantu/9613' into develop-olympus
* ticket/bantu/9613:
  [ticket/9613] Slightly update language strings.
  [ticket/9613] Fix missing database part for unread posts search load switch.
  [ticket/9613] Implement a load switch for unread posts search feature.
2010-09-16 22:34:48 +02:00
Igor Wiedler
3465c5e48d Merge branch 'ticket/bantu/9785' into develop-olympus
* ticket/bantu/9785:
  [ticket/9785] Allow users to request new passwords when board is disabled.
2010-09-16 22:29:18 +02:00
Igor Wiedler
6b5d5e1f63 Merge branch 'ticket/bantu/9609' into develop-olympus
* ticket/bantu/9609:
  [ticket/9609] Change header() calls setting HTTP status to send_status_line().
2010-09-16 22:24:49 +02:00
Igor Wiedler
6bfae1cd1a [ticket/9830] Redirect to install directly when config.php does not exist.
PHPBB3-9830
2010-09-16 22:00:17 +02:00
Andreas Fischer
ac753fa853 [ticket/9825] Unit tests: Use sqlite when possible and no test_config exists.
PHPBB3-9825
2010-09-16 00:03:52 +02:00
Andreas Fischer
d874c32374 Merge branch 'ticket/evil3/9592' into develop-olympus
* ticket/evil3/9592:
  [ticket/9592] Slight adjustments to simplify db test cases
  [ticket/9592] Remove test cases for empty IN()
  [ticket/9592] Test suite does not run on SQlite
2010-09-15 16:01:12 +02:00
Igor Wiedler
a4742f795e [ticket/9592] Slight adjustments to simplify db test cases
PHPBB3-9592
2010-09-15 09:50:04 +02:00
Andreas Fischer
20460dc12c Merge branch 'ticket/nickvergessen/9162' into develop-olympus
* ticket/nickvergessen/9162:
  [ticket/9162] BBCode in poll options is broken, when posting without question.
2010-09-14 16:47:46 +02:00
Andreas Fischer
b4b3efa45b Merge branch 'ticket/nickvergessen/9820' into develop-olympus
* ticket/nickvergessen/9820:
  [ticket/9820] phpBB Debug Error when trying to post a new topic.
2010-09-14 16:29:21 +02:00
Joas Schilling
ffd9437948 [ticket/9820] phpBB Debug Error when trying to post a new topic.
Regression from aa4519fb44

PHPBB3-9820
PHPBB3-7260
2010-09-14 15:43:05 +02:00
Joas Schilling
a81c857c96 [ticket/9162] BBCode in poll options is broken, when posting without question.
PHPBB3-9162
2010-09-14 13:20:38 +02:00
Igor Wiedler
05c88bb00d Merge branch 'ticket/bantu/9804' into develop-olympus
* ticket/bantu/9804:
  [ticket/9804] Update docs/AUTHORS. Move DavidMJ, add evil<3.
2010-09-12 20:36:34 +02:00
Andreas Fischer
4776952959 [ticket/9804] Update docs/AUTHORS. Move DavidMJ, add evil<3.
PHPBB3-9804
2010-09-12 19:19:30 +02:00
Igor Wiedler
161be96c66 Merge branch 'ticket/bantu/9748' into develop-olympus
* ticket/bantu/9748:
  [ticket/9748] Replace <br /> before converting < and > to their entities.
2010-09-12 14:59:59 +02:00
Igor Wiedler
20505ff326 [ticket/9816] Remove config.php from repository
PHPBB3-9816
2010-09-12 14:21:25 +02:00
Igor Wiedler
e08395745b Merge branch 'ticket/bantu/9503' into develop-olympus
* ticket/bantu/9503:
  [ticket/9503] Show 'No subject specified' in 'Posts awaiting approval'.
2010-09-12 13:40:02 +02:00
Igor Wiedler
e51e7701cd Merge branch 'ticket/bantu/9754' into develop-olympus
* ticket/bantu/9754:
  [ticket/9754] Populate S_USER_POSTED variable with correct value in search.php
2010-09-12 13:11:21 +02:00
Igor Wiedler
566ddf8a4b [ticket/9592] Remove test cases for empty IN()
They failed under SQLite because SQLite accepts empty IN() syntax.

PHPBB3-9592
2010-09-12 00:51:27 +02:00
Igor Wiedler
4fd45adfc5 [ticket/9592] Test suite does not run on SQlite
PHPBB3-9592
2010-09-11 23:34:14 +02:00
Andreas Fischer
bef108a5cc [ticket/9609] Change header() calls setting HTTP status to send_status_line().
PHPBB3-9609
2010-09-11 22:01:31 +02:00
Marc Alexander
a235f770f6 [ticket/9810] Hide "Select All" of code bbcode on print page
PHPBB3-9810
2010-09-10 05:34:57 -07:00
Igor Wiedler
fecca4ef21 Merge branch 'ticket/cs278/8935' into develop-olympus
* ticket/cs278/8935:
  [ticket/8935] Prevent setting maximum avatar dimensions less than the minimums.
2010-09-10 10:31:07 +02:00
Chris Smith
264ef66c5c [ticket/8935] Prevent setting maximum avatar dimensions less than the minimums.
This change actually applies to any configruation setting that is a pair
of values one representing the maximum and one minimum. This change enforces
that the maximum value cannot be less than the minimum value.

PHPBB3-8935
2010-09-09 23:42:20 +01:00
Igor Wiedler
2e891c5eba Merge branch 'task/cs278/git-tools' into develop-olympus
* task/cs278/git-tools:
  [task/git-tools] Change the GNU --lines argument to the POSIX -l
  [task/git-tools] Solve dependency on the GNU wc --max-line-length option
2010-09-09 00:20:38 +02:00
Chris Smith
e08e1e0d9a [task/git-tools] Change the GNU --lines argument to the POSIX -l
Changed to awk which handles the formatting differences between the
two versions of wc -- BSD version prefixes the output with spaces,
the GNU version does not.

PHPBB3-9808
2010-09-08 22:53:37 +01:00
Chris Smith
8ce2f63d73 [task/git-tools] Solve dependency on the GNU wc --max-line-length option
PHPBB3-9808
2010-09-07 23:35:47 +01:00
Igor Wiedler
a27811b1d4 [ticket/9807] Hide avatar tab in UCP when avatars are disabled
PHPBB3-9807
2010-09-07 22:27:41 +02:00
Chris Smith
1b3b79b694 Merge branch 'ticket/evil3/8944' into develop-olympus
* ticket/evil3/8944:
  [ticket/8944] Patch db_tools to support index length for MySQL4
  [ticket/8944] Add index length to CREATE INDEX for MySQL4 in database_update
2010-09-05 02:41:34 +01:00
Chris Smith
7de1fc40b3 Merge branch 'ticket/evil3/9800' into develop-olympus
* ticket/evil3/9800:
  [ticket/9800] Update tracker URL in docs/README.html
2010-09-05 02:14:46 +01:00
Igor Wiedler
e7b86871f0 [ticket/8944] Patch db_tools to support index length for MySQL4 2010-09-05 03:14:27 +02:00
Chris Smith
1b7c840bc8 Merge branch 'ticket/evil3/9039' into develop-olympus
* ticket/evil3/9039:
  [ticket/9039] Make mssqlnative.php non-executable
2010-09-05 02:07:14 +01:00
Igor Wiedler
58bdd91d61 [ticket/9039] Make mssqlnative.php non-executable
PHPBB3-9039
2010-09-03 22:43:29 +02:00
Igor Wiedler
bb191a1d69 [ticket/8944] Add index length to CREATE INDEX for MySQL4 in database_update
Fixes following SQL error when updating the database to 3.0.6.

BLOB column 'post_username' used in key specification without a key length

PHPBB3-8944
2010-09-03 22:26:06 +02:00
Igor Wiedler
fdd04eef49 [ticket/9800] Update tracker URL in docs/README.html
PHPBB3-9800
2010-09-02 20:15:33 +02:00
Andreas Fischer
ba0072080d Merge branch 'ticket/jellydoughnut/9662' into develop-olympus
* ticket/jellydoughnut/9662:
  [ticket/9662] Search flood interval no longer applies to non-keyword searches
2010-09-02 17:32:15 +02:00
Chris Smith
ebb4a50d9b Merge branch 'ticket/bantu/9615' into develop-olympus
* ticket/bantu/9615:
  [ticket/9615] magic_quotes_gpc: call stripslashes() before utf8_basename()
2010-08-30 14:55:50 +01:00
Nils Adermann
bb4eb41088 Merge branch 'ticket/bantu/9793' into develop-olympus
* ticket/bantu/9793:
  [ticket/9793] Make sure send_status_line() is defined when in avatar mode.
2010-08-30 00:19:31 +02:00
Andreas Fischer
f9764c684f [ticket/9613] Slightly update language strings.
PHPBB3-9613
2010-08-29 16:50:57 +02:00
rxu
b83163634f [ticket/9613] Fix missing database part for unread posts search load switch.
A record for load_unreads_search parameter had to be added to CONFIG_TABLE.

PHPBB3-9613
2010-08-29 16:09:41 +02:00
rxu
f1d5005797 [ticket/9613] Implement a load switch for unread posts search feature.
Since unread posts search can produce a high server load in certain
circumstances, we implement a switch for ACP "Load settings" to have an option
to disable this type of search.

PHPBB3-9613
2010-08-29 16:09:09 +02:00
Andreas Fischer
dbe8fb6488 Merge branch 'ticket/rxu/9117' into develop-olympus
* ticket/rxu/9117:
  [ticket/9117] Wrong redirection after login.
2010-08-28 23:25:30 +02:00
Andreas Fischer
098ff47602 Merge branch 'ticket/cs278/7369' into develop-olympus
* ticket/cs278/7369:
  [ticket/7369] CPF date should always render the users selection.
2010-08-28 23:25:21 +02:00
Andreas Fischer
250c04c8d5 Merge branch 'ticket/nickvergessen/7296' into develop-olympus
* ticket/nickvergessen/7296:
  [ticket/7296] Exporting styles to tar creates corrupted archives.
2010-08-28 23:25:14 +02:00
Andreas Fischer
dfd3c4a5df Merge branch 'ticket/nickvergessen/9519' into develop-olympus
* ticket/nickvergessen/9519:
  [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
  [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
  [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
  [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
2010-08-28 23:25:05 +02:00
Andreas Fischer
3c02a1cff7 Merge branch 'ticket/jellydoughnut/9772' into develop-olympus
* ticket/jellydoughnut/9772:
  [ticket/9772] Unify permissions for sending email when board_email_form is off
2010-08-28 23:24:55 +02:00
rxu
c71236ff4d [ticket/9117] Wrong redirection after login.
Go easy way for now - just place S_LOGIN_REDIRECT before S_HIDDEN_FIELDS so
the last value override the previous one.

PHPBB3-9117
2010-08-28 23:16:00 +02:00
Josh Woody
2a59e6d486 [ticket/9772] Unify permissions for sending email when board_email_form is off
Sending email via memberlist.php was limited to users having u_sendemail. When
board_email_form is disabled, no such requirement was enforced.  This is now
changed.

PHPBB3-9772
2010-08-28 15:49:47 -05:00
Andreas Fischer
3afd2c6948 [ticket/9793] Make sure send_status_line() is defined when in avatar mode.
When download/file.php is in avatar mode set_modified_headers() can be called,
which then calls send_status_line() which is not available because
includes/functions.php is not included in avatar mode.

We also load includes/functions.php in the bootstrap now to solve this problem.

Regression from c1a4cb1d01.

PHPBB3-9793
PHPBB3-7782
2010-08-27 15:36:26 +02:00
Chris Smith
50c6af0216 [ticket/7369] CPF date should always render the users selection.
CPF render code was incorrectly adding the users timezone offset instead
of removing it to compensate for the addition made in user::format_date().

PHPBB3-7369
2010-08-23 06:24:13 +01:00
Andreas Fischer
cd46b39967 Merge branch 'ticket/jellydoughnut/9646' into develop-olympus
* ticket/jellydoughnut/9646:
  [ticket/9646] Honor CSS comments in @import statements
2010-08-22 21:50:17 +02:00
Chris Smith
e4a1f08364 Merge branch 'ticket/nickvergessen/7260' into develop-olympus
* ticket/nickvergessen/7260:
  [ticket/7260] Don't delete poll if one exists and editing user lacks permission
2010-08-22 19:39:46 +01:00
Joas Schilling
aa4519fb44 [ticket/7260] Don't delete poll if one exists and editing user lacks permission
PHPBB3-7260
2010-08-22 19:30:43 +01:00
Andreas Fischer
889eace41c [ticket/9785] Allow users to request new passwords when board is disabled.
PHPBB3-9785
2010-08-22 20:26:18 +02:00
Joas Schilling
3cbcff56b2 [ticket/7296] Exporting styles to tar creates corrupted archives.
Add the folders to the archive before putting the files inside, seems to break
the tar-archives.

PHPBB3-7296
2010-08-22 11:16:19 -04:00
Andreas Fischer
9731f2492f Merge branch 'ticket/nickvergessen/7716' into develop-olympus
* ticket/nickvergessen/7716:
  [ticket/7716] Data too long for column 'message_subject'
2010-08-21 21:27:07 +02:00
Andreas Fischer
32bffe1a32 Revert "[ticket/7716] Data too long for column 'message_subject'"
This reverts commit 91a60aa878.
2010-08-21 21:25:34 +02:00
Andreas Fischer
7474b69175 Merge branch 'ticket/nickvergessen/7716' into develop-olympus
* ticket/nickvergessen/7716:
  [ticket/7716] Data too long for column 'message_subject'
2010-08-21 21:19:12 +02:00
Joas Schilling
2455a744e6 [ticket/7716] Data too long for column 'message_subject'
PHPBB3-7716
2010-08-21 15:14:16 -04:00
Andreas Fischer
81db8a8644 Merge branch 'ticket/nickvergessen/9104' into develop-olympus
* ticket/nickvergessen/9104:
  [ticket/9104] Safari does not display box headers correctly in the ACP.
2010-08-21 20:32:45 +02:00
Andreas Fischer
4222510e9c Merge branch 'ticket/cs278/7332' into develop-olympus
* ticket/cs278/7332:
  [ticket/7332] Redirect users back to post details when performing actions.
  [ticket/7332] Collapse post details content down to a maximum of 300px heigh
2010-08-21 20:30:33 +02:00
Josh Woody
c3a5fd30ee [ticket/9646] Honor CSS comments in @import statements
Add a basic CSS comment parser that allows comments to prevent loading an
@import statement. For simplicity, only whitespace is allowed between /* and
the @import. Also adjust regex to not parse improper quotation marks.

PHPBB3-9646
PHPBB3-8169
2010-08-20 16:02:58 -05:00
Andreas Fischer
bcf4f4fbdf Merge branch 'ticket/cs278/7972' into develop-olympus
* ticket/cs278/7972:
  [ticket/7972] Copying topics in the MCP now indexes the new topic.
2010-08-20 22:25:20 +02:00
Andreas Fischer
34c3732856 Merge branch 'ticket/nickvergessen/9635' into develop-olympus
* ticket/nickvergessen/9635:
  [ticket/9635] Useless parameter $data['post_time'] in function submit_post.
2010-08-20 22:15:15 +02:00
Andreas Fischer
31144ed4c5 Merge branch 'ticket/nickvergessen/9782' into develop-olympus
* ticket/nickvergessen/9782:
  [ticket/9782] Board disable radio set on when server load high
2010-08-20 22:11:04 +02:00
Chris Smith
de8c334aeb Merge branch 'ticket/bantu/9780' into develop-olympus
* ticket/bantu/9780:
  [ticket/9780] Adding unit tests for gen_rand_string().
  [ticket/9780] Add length check back to gen_rand_string().
2010-08-20 20:56:17 +01:00
Andreas Fischer
e09d6c6d71 [ticket/9780] Adding unit tests for gen_rand_string().
PHPBB3-9780
2010-08-20 21:36:56 +02:00
Josh Woody
c901a9eb70 [ticket/9662] Search flood interval no longer applies to non-keyword searches
The search interval was not consistently applied to "special" searches like
"unread posts" and "view your topics."  Now the special searches are always
exempt from the flood interval.

PHPBB3-9662
2010-08-20 14:22:56 -05:00
Joas Schilling
d533121741 [ticket/9780] Add length check back to gen_rand_string().
PHPBB3-9780
2010-08-20 20:11:36 +02:00
Chris Smith
b73d45ffc8 [ticket/7972] Copying topics in the MCP now indexes the new topic.
PHPBB3-7972
2010-08-20 13:59:21 -04:00
Joas Schilling
932b35ab7a [ticket/9782] Board disable radio set on when server load high
PHPBB3-9782
2010-08-20 13:41:06 -04:00
Joas Schilling
cc9a1952d9 [ticket/9635] Useless parameter $data['post_time'] in function submit_post.
PHPBB3-9635
2010-08-19 23:48:25 -04:00
Joas Schilling
5e330044b8 [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
In the ACM-Modules we need to check whether the function is loaded, before we
use it, as this is not the case from download/file.php in avatar-mode.

PHPBB3-9519
2010-08-19 12:30:24 -04:00
Chris Smith
0ee49ca432 Merge branch 'ticket/bantu/9777' into develop-olympus
* ticket/bantu/9777:
  [ticket/9777] Print error message in pre-commit hook when php is not installed.
2010-08-19 17:26:35 +01:00
Joas Schilling
44125f5533 [ticket/9104] Safari does not display box headers correctly in the ACP.
PHPBB3-9104
2010-08-19 12:22:18 -04:00
Josh Woody
3eb01d50cb Merge branch 'ticket/bantu/9702' into develop-olympus
* ticket/bantu/9702:
  [ticket/9702] Take user's timezone settings into account when banning Until ->
2010-08-19 10:56:34 -05:00
Josh Woody
f0aaecd6cc Merge branch 'ticket/bantu/9599' into develop-olympus
* ticket/bantu/9599:
  [ticket/9599] Reimplement phpbb_checkdnsrr() function.
  [ticket/9599] Adding tests for phpbb_checkdnsrr().
  [ticket/9599] Adding network function tests.
2010-08-19 10:53:10 -05:00
Josh Woody
6343e67fab Merge branch 'ticket/bantu/9534' into develop-olympus
* ticket/bantu/9534:
  [ticket/9534] Update function documentation for user_ipwhois().
  [ticket/9534] Adding support for IPv6 addresses in user_ipwhois().
2010-08-19 10:48:41 -05:00
Oleg Pudeyev
90d8fc7e86 [ticket/9777] Print error message in pre-commit hook when php is not installed.
PHPBB3-9777
2010-08-19 17:44:54 +02:00
Josh Woody
5eb175cefd Merge branch 'ticket/bantu/9694' into develop-olympus
* ticket/bantu/9694:
  [ticket/9694] Call error_reporting() in download/file.php when in avatar mode.
  [ticket/9694] Make sure string offset 0 exists to avoid E_NOTICE message.
2010-08-19 10:26:49 -05:00
Josh Woody
68744484c8 Merge branch 'ticket/bantu/9167' into develop-olympus
* ticket/bantu/9167:
  [ticket/9167] Detect and remove any dead left over shadow topics on update.
  [ticket/9167] Remove shadow topics from remaining forums when deleting a forum

Conflicts:
	phpBB/install/database_update.php
2010-08-19 10:09:32 -05:00
Joas Schilling
91a60aa878 [ticket/7716] Data too long for column 'message_subject'
PHPBB3-7716
2010-08-19 11:00:42 -04:00
Josh Woody
25c579c00d Merge branch 'ticket/bantu/9612' into develop-olympus
* ticket/bantu/9612:
  [ticket/9612] Introduce new function gen_rand_string_friendly().
2010-08-19 09:11:36 -05:00
Josh Woody
46d2d97a37 Merge branch 'ticket/bantu/9611' into develop-olympus
* ticket/bantu/9611:
  [ticket/9611] Make length of activation keys variable between 6 and 10.
2010-08-19 09:03:45 -05:00
Joas Schilling
89b35f7ab9 [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
PHPBB3-9519
2010-08-13 17:10:35 +02:00
Joas Schilling
884cc2ac9b [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
includes/functions_convert.php and install/install_convert.php tested by Dicky.

PHPBB3-9519
2010-08-13 16:40:56 +02:00
Joas Schilling
4c95ed0eeb [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
acm_memory.php is untested. install/install_convert.php and
includes/functions_convert.php are going to be tested and committed afterwards.

PHPBB3-9519
2010-08-10 16:11:39 +02:00
Andreas Fischer
64e6faa877 Merge branch 'ticket/cs278/9771' into develop-olympus
* ticket/cs278/9771:
  [ticket/9771] Remove query string parameters that have no name.
2010-08-10 16:05:45 +02:00
Andreas Fischer
59a0bcd38f Merge branch 'ticket/cs278/9761' into develop-olympus
* ticket/cs278/9761:
  [ticket/9761] Reworded quote nesting depth ACP option to match the behaviour
2010-08-10 16:05:18 +02:00
Andreas Fischer
d66aadc33f Merge branch 'ticket/cs278/9760' into develop-olympus
* ticket/cs278/9760:
  [ticket/9760] Remove unrestricted wildcards from search terms.
2010-08-10 16:04:49 +02:00
Andreas Fischer
19599b4c69 Merge branch 'ticket/nickvergessen/9743' into develop-olympus
* ticket/nickvergessen/9743:
  [ticket/9743] Fix background of top2-class in prosilver for RTL-languages.
2010-08-10 16:03:56 +02:00
Andreas Fischer
19d9d12339 Merge branch 'ticket/rxu/6747' into develop-olympus
* ticket/rxu/6747:
  [ticket/9747] Improve word censor.
2010-08-10 16:00:28 +02:00
Andreas Fischer
1778b53f12 Merge branch 'task/cs278/git-tools' into develop-olympus
* task/cs278/git-tools:
  [task/git-tools] Ignore git commit message comments
  [task/git-tools] Adjust the hook to enforce that a ticket is always mentioned
  [task/git-tools] Vastly expanded commit-msg hook.
  [task/git-tools] Beginnings of a syntax checking hook.
  [task/git-tools] Append ticket identifier to commit message prior to editing.
  [task/git-tools] add install and uninstall scripts for hooks
  [task/git-tools] move ticket id appending to commit-msg hook
  [task/git-tools] append ticket id to git log message
2010-08-10 15:50:53 +02:00
Chris Smith
e17ffa01e6 [task/git-tools] Ignore git commit message comments
Git commit message comments can be contained anywhere in the message and
this change ignores where they appear.

PHPBB3-9768
2010-08-10 14:48:46 +01:00
Chris Smith
a9046e5608 [task/git-tools] Adjust the hook to enforce that a ticket is always mentioned
PHPBB3-9768
2010-08-10 14:48:46 +01:00
Chris Smith
db13dc2d43 [task/git-tools] Vastly expanded commit-msg hook.
This updated hook supports validates each line of the commit message
confirms to the phpBB standards [1], there are two git config options
which adjust the behaviour of the hook. They are:

* phpbb.hooks.commit-msg.fatal: Set to false for the hook to allow
	commits with malformed structure, useful if you'll be squashing
	or editing the commits later. True is the default value.
* phpbb.hooks.commit-msg.debug: Any integer value greater than 0 will
	increase the debugging verbosity of the hook, the default value is 0.

[1] http://wiki.phpbb.com/display/DEV/Git

PHPBB3-9768
2010-08-10 14:48:46 +01:00
Chris Smith
66e58234ec [task/git-tools] Beginnings of a syntax checking hook.
Currently this hook checks line length is less than or equal to 80 characters.

PHPBB3-9768
2010-08-10 14:48:45 +01:00
Chris Smith
bfa7b28734 [task/git-tools] Append ticket identifier to commit message prior to editing.
PHPBB3-9770
2010-08-10 14:48:40 +01:00
Chris Smith
b7a1add009 [ticket/7332] Redirect users back to post details when performing actions.
Moderators are redirected to the index page of the MCP after locking a post,
a better location would be to direct them back to the post details.

PHPBB3-7332
2010-08-08 22:54:21 +01:00
Chris Smith
42e7c8a440 [ticket/7332] Collapse post details content down to a maximum of 300px heigh
The MCP post details can be difficult to use if the post is particularly long
this change shrinks the post area to a maximum of 300 pixels, like the topic
review, making it easier to access the functions beneath the post content.

PHPBB3-7332
2010-08-08 22:49:48 +01:00
Chris Smith
013f0b62b8 [ticket/9771] Remove query string parameters that have no name.
PHPBB3-9771
2010-08-08 16:14:05 +01:00
Chris Smith
76348ce43f [ticket/9760] Remove unrestricted wildcards from search terms.
Wildcards without any further result restrictions will cause phpBB to search
for everything, potentially allowing a DoS attack against the DB server by any
user who can use the search system.

PHPBB3-9760
2010-08-08 14:02:34 +01:00
Andreas Fischer
dd63f57344 [ticket/9615] magic_quotes_gpc: call stripslashes() before utf8_basename()
When magic_quotes_gpc is 'On' it also affects the $_FILES array and a filename
like 'bantu"s testfile.txt' will be returned as 'bantu\"s testfile.txt'.

Because utf8_basename() also strips off anything before the last backslash
the filename was returned as '"s testfile.txt'.

Calling stripslashes() before utf8_basename() solves the problem.

PHPBB3-9615
2010-08-04 12:35:19 +02:00
Andreas Fischer
24e23755cf [ticket/9599] Reimplement phpbb_checkdnsrr() function.
Use gethostbyname(), checkdnsrr(), dns_get_record() or nslookup via exec().

PHPBB3-9599
2010-08-03 10:50:41 +02:00
Andreas Fischer
4707b0c18e [ticket/9599] Adding tests for phpbb_checkdnsrr().
Tests for existing and non-existing records of the types:
MX, A, AAAA, NS, CNAME, TXT

PHPBB3-9599
2010-08-03 10:50:41 +02:00
Andreas Fischer
3e111bb41a [ticket/9599] Adding network function tests.
PHPBB3-9599
2010-08-03 10:50:41 +02:00
Joas Schilling
8045f63b41 [ticket/9743] Fix background of top2-class in prosilver for RTL-languages.
PHPBB3-9743
2010-08-02 11:35:38 +02:00
Andreas Fischer
e1328e87ce Merge branch 'ticket/jellydoughnut/9757' into develop-olympus
* ticket/jellydoughnut/9757:
  [ticket/9757] Fix empty template variable {HISTORY_TITLE}
2010-07-31 02:11:33 +02:00
Andreas Fischer
f179987f64 Merge branch 'ticket/jellydoughnut/9499' into develop-olympus
* ticket/jellydoughnut/9499:
  [ticket/9499] Unify definition of dE() and other javascript functions
2010-07-31 02:10:00 +02:00
Andreas Fischer
ccb4182d29 Merge branch 'ticket/kellanved/9521' into develop-olympus
* ticket/kellanved/9521:
  [ticket/9521] Fix error reporting for the native SQL Server plugin.
2010-07-31 02:08:40 +02:00
Andreas Fischer
4d61788843 Merge branch 'ticket/jellydoughnut/9679' into develop-olympus
* ticket/jellydoughnut/9679:
  [ticket/9679] phpBB offers to notify poster even if notification is disabled
2010-07-31 02:07:25 +02:00
Andreas Fischer
d0d9122165 Merge branch 'ticket/jellydoughnut/9722' into develop-olympus
* ticket/jellydoughnut/9722:
  [ticket/9722] Adjust "New Topic" title attribute for consistency in prosilver
2010-07-31 02:06:44 +02:00
Andreas Fischer
4de440826d Merge branch 'ticket/jellydoughnut/9749' into develop-olympus
* ticket/jellydoughnut/9749:
  [ticket/9749] Fulltext mysql unexpected behavior on entering a dash in query
2010-07-31 02:06:12 +02:00
Andreas Fischer
c8bb9a2d37 Merge branch 'ticket/jellydoughnut/9559' into develop-olympus
* ticket/jellydoughnut/9559:
  [ticket/9559] Do not override queue package size in the case of an overflow
2010-07-31 02:04:54 +02:00
Henry Sudhof
47557fd4d2 [ticket/9521] Fix error reporting for the native SQL Server plugin.
The native SQL Server plugin used to return an error string when calling
sql_error. However, some error condition checks are done using is_array.
This patch wraps the error into an array to follow the error logic used
elsewhere.

PHPBB3-9521
2010-07-31 01:48:13 +02:00
Josh Woody
15d7010d46 [ticket/9757] Fix empty template variable {HISTORY_TITLE}
The template variable {HISTORY_TITLE} was always being set to the empty string.
It is now filled with the title of the currently displayed message.  It is not
showed in prosilver or subsilver2 for aesthetic reasons (title is already
prominent)

PHPBB3-9757
2010-07-29 13:19:19 -05:00
Josh Woody
ac56b71c3e [ticket/9749] Fulltext mysql unexpected behavior on entering a dash in query
The Fulltext_mysql class had different behavior when a dash was entered in the
search query than the fulltext_native class.  Specifically, a dash was
automatically turned into boolean NOT even when the user wanted to search for
legitimate hyphenated words like farty-pants

PHPBB3-9749
2010-07-29 10:13:17 -05:00
Josh Woody
8ea0309ed1 [ticket/9679] phpBB offers to notify poster even if notification is disabled
The "notify user" check box would not do anything if checked in this case, but
it was still presented.  The checkbox is now only shown if there are
notification options enabled.

PHPBB3-9679
2010-07-29 10:01:35 -05:00
Andreas Fischer
18079d01b3 Merge branch 'task/evil3/set-permissions' into develop-olympus
* task/evil3/set-permissions:
  [task/set-permissions] shell script to set file permissions
2010-07-29 14:57:53 +02:00
Andreas Fischer
843d6e53fb [ticket/9754] Populate S_USER_POSTED variable with correct value in search.php
PHPBB3-9754
2010-07-26 23:58:10 +02:00
Josh Woody
4880305436 [ticket/9499] Unify definition of dE() and other javascript functions
dE() was defined differently in the ACP and in prosilver.  Other javascript
in editor.js files has also been unified (taking the prosilver implementation
as cannonical)

PHPBB3-9499
2010-07-26 13:29:53 -05:00
rxu
4d0a53b5ee [ticket/9747] Improve word censor.
Better handling of the asterisk inside censor pattern like 'bad*word' etc.

PHPBB3-9747
2010-07-25 16:57:00 +08:00
Richard Foote
66fc086742 [ticket/9748] Replace <br /> before converting < and > to their entities.
PHPBB3-9748
2010-07-24 11:48:47 +02:00
Andreas Fischer
95e0340daf [ticket/9644] Check $mode before calling user_notification() from submit_post()
PHPBB3-9644
2010-07-23 20:30:21 +02:00
Andreas Fischer
2f67eafd34 [ticket/9503] Show 'No subject specified' in 'Posts awaiting approval'.
Show 'No subject specified' in 'Posts awaiting approval' if post subject is
empty.

PHPBB3-9503
2010-07-23 19:50:17 +02:00
Andreas Fischer
aca0e024fa [ticket/9702] Take user's timezone settings into account when banning Until ->
PHPBB3-9702
2010-07-23 18:41:49 +02:00
Andreas Fischer
e5d5d58172 [ticket/9091] Extract IPv4 address from addresses mapped into IPv6.
PHPBB3-9091
2010-07-23 12:48:01 +02:00
Josh Woody
2f312b2175 [ticket/9559] Do not override queue package size in the case of an overflow
This reverts r8025 to includes/functions_messenger.php.  That code caused
problems on hosters with email limits less than package_size*2.5.  And it isn't
desirable in general to over-ride the admin's configuration options.

PHPBB3-9559
2010-07-22 10:44:31 -05:00
Josh Woody
c284ffade9 [ticket/9722] Adjust "New Topic" title attribute for consistency in prosilver
Title attribute was being applied to a <div> at the top of the page and to an
<a> at the bottom of the page.  Now both being applied to the <div>.

PHPBB3-9722
2010-07-21 22:42:44 -05:00
Andreas Fischer
fc25fe694a Merge branch 'ticket/bantu/9068' into develop-olympus
* ticket/bantu/9068:
  [ticket/9068] Added a missing comma in acp load settings explanation text.
2010-07-22 01:41:02 +02:00
Andreas Fischer
0f5814ac4f Merge branch 'ticket/bantu/9744' into develop-olympus
* ticket/bantu/9744:
  [ticket/9744] Fix mistyped word 'then' in FAQ. It should be 'than'.
2010-07-22 01:40:44 +02:00
Andreas Fischer
fada2ad261 Merge branch 'ticket/t-backoff/9099' into develop-olympus
* ticket/t-backoff/9099:
  [ticket/9099] Add missing commas in acp language.
2010-07-22 01:40:19 +02:00
Andreas Fischer
cfe0b5356f Merge branch 'ticket/jellydoughnut/9727' into develop-olympus
* ticket/jellydoughnut/9727:
  [ticket/9727] Smiley Path replacement in feeds is too generic
2010-07-22 01:39:18 +02:00
Nick Anderegg
afff4f7923 [ticket/9068] Added a missing comma in acp load settings explanation text.
PHPBB3-9068
2010-07-22 01:36:08 +02:00
Andreas Fischer
72dddf3aa3 [ticket/9744] Fix mistyped word 'then' in FAQ. It should be 'than'.
PHPBB3-9744
2010-07-22 00:31:13 +02:00
Tabitha Backoff
875fcda506 [ticket/9099] Add missing commas in acp language.
PHPBB3-9099
2010-07-21 17:37:14 +02:00
Josh Woody
16c95b4f83 [ticket/9727] Smiley Path replacement in feeds is too generic
The smiley path replacement in the feeds was too broad: any post content
containing "./" was changed to the fully qualified board URL. This broke CSS
for example.

PHPBB3-9727
2010-07-18 11:51:13 -05:00
Andreas Fischer
0dc05a2d84 Merge branch 'ticket/kellanved/9504' into develop-olympus
* ticket/kellanved/9504:
  [ticket/9504] Allow whitespaces in gallery avatars
2010-07-15 23:15:41 +02:00
Andreas Fischer
cb043b0e61 Merge branch 'ticket/rxu/9658' into develop-olympus
* ticket/rxu/9658:
  [ticket/9658] Optimize topic splitting.
2010-07-15 23:15:36 +02:00
rxu
1363ee109b [ticket/9658] Optimize topic splitting.
Split topics takes too long in some cases because of wrong variables or arrays
values types adjustment. Cast values representing topic and forum ids as int.

PHPBB3-9658
2010-07-15 23:10:22 +02:00
Henry Sudhof
8690d25b4f [ticket/9504] Allow whitespaces in gallery avatars
Gallery avatars are discovered on the server filesystem; to allow linking to
the images, the filenames are urlencoded before being written to the database.
However, getimagesize needs the decoded filename as input.

PHPBB3-9504
2010-07-15 13:05:56 +02:00
Andreas Fischer
e7e98f1de5 Merge branch 'ticket/nickvergessen/7720' into develop-olympus
* ticket/nickvergessen/7720:
  [ticket/7720] Fix alternative image-description for unread posts.
2010-07-14 20:55:49 +02:00
Joas Schilling
954b3c3484 [ticket/7720] Fix alternative image-description for unread posts.
Changed the wrong word "new" to "unread" as that is, what we show with the
red-icons, not whether the post is new or not. Language variables were
kept for backwards compatibility.

PHPBB3-7720
2010-07-14 20:55:07 +02:00
Patrick W
54713dcdc7 [ticket/9761] Reworded quote nesting depth ACP option to match the behaviour
The nesting depth applies per quote block, not per post which the previous
label and description indicated.

PHPBB3-9761
2010-07-12 02:04:29 +01:00
Igor Wiedler
14e5da90c3 [task/git-tools] add install and uninstall scripts for hooks
PHPBB3-9769
2010-07-12 02:04:29 +01:00
Igor Wiedler
6b2f4b6a85 [task/git-tools] move ticket id appending to commit-msg hook
PHPBB3-9770
2010-07-12 02:04:29 +01:00
Igor Wiedler
f0509e4620 [task/git-tools] append ticket id to git log message
PHPBB3-9770
2010-07-12 02:04:29 +01:00
Andreas Fischer
da256b33d9 Merge branch 'ticket/ckwalsh/9715' into develop-olympus
* ticket/ckwalsh/9715:
  [ticket/9715] Better email regex
  [ticket/9715] Extend email unit tests
2010-07-12 01:56:00 +02:00
Andreas Fischer
d869fc9804 Merge branch 'ticket/bantu/9714' into develop-olympus
* ticket/bantu/9714:
  [ticket/9714] Use correct variable name in email regular expression tests.
2010-07-12 01:55:52 +02:00
Andreas Fischer
88f6caf012 Merge branch 'ticket/naderman/9701' into develop-olympus
* ticket/naderman/9701:
  [ticket/9701] Prevent notices from being hidden by template tests
2010-07-12 01:53:58 +02:00
Andreas Fischer
eb7254a0c4 Merge branch 'ticket/naderman/9140' into develop-olympus
* ticket/naderman/9140:
  [ticket/9140] Check current board version in incremental update packages
2010-07-12 01:38:39 +02:00
Gabriel Vazquez
2ba6360e43 [ticket/9140] Check current board version in incremental update packages
Since we do not want to limit the updater functionality we only display
a prominent warning when the current board version does not match the
version the update files are meant to update from.

PHPBB3-9140
2010-07-12 01:37:05 +02:00
Cullen Walsh
593e193bdc [ticket/9715] Better email regex
Using email regex created by James Watts and Francisco Jose Martin Moreno.
This passes many more tests for RFC valid emails.

PHPBB3-9715
2010-07-11 16:22:26 -07:00
Cullen Walsh
a0b9f7806a [ticket/9715] Extend email unit tests
Adding more email tests for a wider range of valid email formats.

PHPBB3-9715
2010-07-11 16:20:27 -07:00
Andreas Fischer
6724b79967 Merge branch 'ticket/nickvergessen/9531' into develop-olympus
* ticket/nickvergessen/9531:
  [ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:"
2010-07-12 00:04:33 +02:00
Joas Schilling
5d9948e39c [ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:"
When quoting from the topic-review the statement "Author wrote:" is missing. The fix for this was not complete: Now it's backwards compatibile and uses the LA_ for the language variables.

PHPBB3-9531
2010-07-11 10:18:45 +02:00
Andreas Fischer
062d8fda04 Merge branch 'ticket/adamreyher/9012' into develop-olympus
* ticket/adamreyher/9012:
  [ticket/9012] Adjust shadow topic title to the title at the time it was moved.
2010-07-11 02:53:06 +02:00
Adam Reyher
b939ce5940 [ticket/9012] Adjust shadow topic title to the title at the time it was moved.
Moved topics which have their title changed in the new forum will now show the
old title in the original viewforum instead of the new title.

PHPBB3-9012
2010-07-11 02:44:07 +02:00
Andreas Fischer
2d9aa45aef Merge branch 'ticket/jellydoughnut/9637' into develop-olympus
* ticket/jellydoughnut/9637:
  [ticket/9637] Do not cache SQL server version in all cases
2010-07-11 01:44:59 +02:00
Josh Woody
9c61455d26 [ticket/9637] Do not cache SQL server version in all cases
Because the existing cache is global, there is no way to differentiate between
each of two databases which may be two different DBAL objects pointing to
servers with wildly different versions of an RDBMS. phpBB only has this
situation in the UCF, thus only one file changed outside the DBAL. I have
added a second optional parameter, $use_cache to each of the implementations
of dbal::sql_server_info()

PHPBB3-9637
2010-07-11 01:41:38 +02:00
Andreas Fischer
08a34ebe94 Merge branch 'ticket/jellydoughnut/9629' into develop-olympus
* ticket/jellydoughnut/9629:
  [ticket/9629] Allow style.php to retrieve its session ID from cookies
2010-07-11 01:41:22 +02:00
Josh Woody
c40b2c7601 [ticket/9629] Allow style.php to retrieve its session ID from cookies
style.php takes a session ID to ensure it gets the right language for a user,
but that session ID is always passed in GET. This allows change allows the SID
to be read from the cookie, and theoretically makes it friendlier for caching
engines like Varnish.

PHPBB3-9629
2010-07-11 01:35:01 +02:00
Andreas Fischer
c0183cabd0 [ticket/9534] Update function documentation for user_ipwhois().
PHPBB3-9534
2010-07-11 01:19:42 +02:00
Andreas Fischer
ed44235d26 [ticket/9534] Adding support for IPv6 addresses in user_ipwhois().
whois.arin.net does currently not refer to other servers (using ReferralServer)
when queried for an IPv6 address. whois.sixxs.net however works in this case.

This also adds '.' to the hostname to make sure we're querying the dns root.

PHPBB3-9534
2010-07-11 01:19:27 +02:00
Andreas Fischer
e46745ed34 Merge branch 'ticket/nickvergessen/9678' into develop-olympus
* ticket/nickvergessen/9678:
  [ticket/9678] Flash attachments are not displayed in subsilver2.
2010-07-10 21:22:33 +02:00
Andreas Fischer
e629929958 Merge branch 'ticket/nickvergessen/9677' into develop-olympus
* ticket/nickvergessen/9677:
  [ticket/9677] Subsilver2 is missing the bbcode-helpline for inline-attachments.
2010-07-10 21:22:31 +02:00
Andreas Fischer
0c2512bea2 Merge branch 'ticket/jellydoughnut/9650' into develop-olympus
* ticket/jellydoughnut/9650:
  [ticket/9650] Do not allow banning the anonymous user by username
2010-07-10 21:22:16 +02:00
Nils Adermann
bbc3105466 [ticket/9701] Prevent notices from being hidden by template tests
The template tests disable NOTICEs for the duration of template execution since
the current version of the template engine does not generate sufficiently clean
code. The error level is reset aftwards, however that part is skipped when
trigger_error is called which is converted into a regular exception by PHPUnit
and passed down until caught. Such exceptions are now caught to reset the error
level, and then the exception is rethrown.

This uncovered another issue in the template tests which only passed because
NOTICEs were unintentionally disabled at this point. assign_display is also
required to operate without NOTICEs. The respective code has been added around
its callee as well. However no handling of exceptions takes place there. If
another test checking for errors in that function is ever added similar catch
logic will have to be added there.

PHPBB3-9701
2010-07-08 22:46:28 +02:00
Joas Schilling
df99bdbd53 [ticket/9678] Flash attachments are not displayed in subsilver2.
PHPBB3-9678
2010-07-08 21:22:54 +02:00
Joas Schilling
fc89d5d7db [ticket/9677] Subsilver2 is missing the bbcode-helpline for inline-attachments.
PHPBB3-9677
2010-07-08 21:13:17 +02:00
Andreas Fischer
c6c4d01fe9 [ticket/9714] Use correct variable name in email regular expression tests.
PHPBB3-9714
2010-07-08 20:26:50 +02:00
Josh Woody
ae967d16f1 [ticket/9650] Do not allow banning the anonymous user by username
Banning anonymous can result in bad things, like not being able to log in.  However, it was possible until now.

PHPBB3-9650
2010-07-08 13:24:45 -05:00
Andreas Fischer
6da582e8be Merge branch 'ticket/p/9570' into develop-olympus
* ticket/p/9570:
  [ticket/9570] Changed "system" to "guest" timezone in ACP, added explanation.
2010-07-08 20:02:34 +02:00
Andreas Fischer
29716cd5d5 Merge branch 'ticket/p/9589' into develop-olympus
* ticket/p/9589:
  [ticket/9589] Added sample nginx configuration file for phpbb.
2010-07-08 20:01:22 +02:00
Andreas Fischer
7a0b554724 Merge branch 'ticket/p/9593' into develop-olympus
* ticket/p/9593:
  [ticket/9593] A readme file for unit tests and running unit tests.
2010-07-08 20:00:26 +02:00
Andreas Fischer
c3db21bfa2 Merge branch 'ticket/bantu/9451' into develop-olympus
* ticket/bantu/9451:
  [ticket/9451] Add optional $can_upload parameter to avatar_process_user().
2010-07-08 19:52:29 +02:00
Andreas Fischer
f92c96d424 Merge branch 'ticket/jellydoughnut/9690' into develop-olympus
* ticket/jellydoughnut/9690:
  [ticket/9690] Add forthcoming Bing Bot to list of recognized bots
2010-07-08 19:49:22 +02:00
Andreas Fischer
c86f9eb25a Merge branch 'ticket/evil3/9704' into develop-olympus
* ticket/evil3/9704:
  [ticket/9704] Fix minor typo in coding guidelines.
2010-07-08 19:44:39 +02:00
Igor Wiedler
58cb46d344 [ticket/9704] Fix minor typo in coding guidelines.
PHPBB3-9704
2010-07-08 09:15:03 +02:00
Andreas Fischer
c79df9700d Merge branch 'ticket/nickvergessen/9578' into develop-olympus
* ticket/nickvergessen/9578:
  [ticket/9578] ACP Posting tab is missing "Post settings" module.
2010-07-08 02:20:25 +02:00
Andreas Fischer
c592cab989 Merge branch 'ticket/nickvergessen/9628' into develop-olympus
* ticket/nickvergessen/9628:
  [ticket/9628] _add_module 'after'-parameter does not work correctly.
2010-07-08 02:20:05 +02:00
Andreas Fischer
f22f89888d Merge branch 'ticket/jellydoughnut/9695' into develop-olympus
* ticket/jellydoughnut/9695:
  [ticket/9695] Correct the improper display of user input in mcp_ban.php
2010-07-08 01:41:16 +02:00
Andreas Fischer
c091a04a55 Merge branch 'ticket/nickvergessen/9697' into develop-olympus
* ticket/nickvergessen/9697:
  [ticket/9697] Backlink broken when the select parent forum does not exist.
2010-07-08 01:29:47 +02:00
Andreas Fischer
e3fe4d7b56 Merge branch 'ticket/jellydoughnut/9703' into develop-olympus
* ticket/jellydoughnut/9703:
  [ticket/9703] Correct database leak where deleting user did not rm some PM data
2010-07-08 01:24:18 +02:00
Andreas Fischer
ef753d046d Merge branch 'ticket/cs278/9712' into develop-olympus
* ticket/cs278/9712:
  [ticket/9712] Future dates can be formatted as 'less than one minute ago'
2010-07-08 01:21:55 +02:00
Chris Smith
9764a32138 [ticket/9712] Future dates can be formatted as 'less than one minute ago'
PHPBB3-9712
2010-07-07 23:04:46 +01:00
Josh Woody
d00f2ec183 [ticket/9690] Add forthcoming Bing Bot to list of recognized bots
Microsoft will rename MSN Bot to Bing Bot later this year, and change its user agent.  This updates phpBB to be aware of Bing Bot

PHPBB3-9690
2010-07-07 15:51:31 -05:00
Thatbitextra
e130a6bad9 [ticket/9451] Add optional $can_upload parameter to avatar_process_user().
Avoid unnecessary overhead in avatar_process_user() by optionally passing in
the value of $can_upload.

PHPBB3-9451
2010-07-07 16:45:00 +02:00
Oleg Pudeyev
030f9c03c6 [ticket/9593] A readme file for unit tests and running unit tests.
Added a readme file explaining prerequisites for unit tests, and how to run
unit tests.

PHPBB3-9593
2010-07-07 16:10:13 +02:00
Andreas Fischer
4ac5d5e352 Merge branch 'ticket/naderman/9659' into develop-olympus
* ticket/naderman/9659:
  [ticket/9659] Signature options in set_user_options
2010-07-07 12:09:04 +02:00
Richard Foote
b64f456c40 [ticket/9659] Signature options in set_user_options
The phpBB3 defaults are being used.

PHPBB3-9659
2010-07-06 14:43:50 +02:00
Oleg Pudeyev
097854ca85 [ticket/9570] Changed "system" to "guest" timezone in ACP, added explanation.
PHPBB3-9570
2010-07-06 13:14:04 +02:00
Josh Woody
24cc3fd0f9 [ticket/9703] Correct database leak where deleting user did not rm some PM data
Users' PM rules and PM folders were being left intact when deleting them.

PHPBB3-9703
2010-07-03 21:21:22 -05:00
Joas Schilling
0db657381b [ticket/9697] Backlink broken when the select parent forum does not exist.
PHPBB3-9697
2010-07-02 12:28:06 +02:00
Josh Woody
0e93d8386b [ticket/9695] Correct the improper display of user input in mcp_ban.php
Correct the improper display of "ban_reason" and "ban_give_reason" in mcp_ban.php

PHPBB3-9695
2010-07-01 17:48:32 -05:00
Andreas Fischer
881c74688b [ticket/9694] Call error_reporting() in download/file.php when in avatar mode.
PHPBB3-9694
2010-07-01 23:30:48 +02:00
Andreas Fischer
32882fd798 [ticket/9694] Make sure string offset 0 exists to avoid E_NOTICE message.
PHPBB3-9694
2010-07-01 23:29:25 +02:00
Igor Wiedler
38cc9ce72f [task/set-permissions] shell script to set file permissions
PHPBB3-9689
2010-06-28 18:12:56 +02:00
Andreas Fischer
b7ae0fe4e9 Merge branch 'ticket/bantu/9655' into develop-olympus
* ticket/bantu/9655:
  [ticket/9655] Pass E_USER_WARNING, so it doesn't look like a successful action.
2010-06-20 22:46:23 +02:00
Andreas Fischer
352c69f7b2 Merge branch 'ticket/bantu/9665' into develop-olympus
* ticket/bantu/9665:
  [ticket/9665] Allow preview of signature when it is the string "0".
2010-06-20 22:46:14 +02:00
Andreas Fischer
d537dc60ce Merge branch 'ticket/bantu/9656' into develop-olympus
* ticket/bantu/9656:
  [ticket/9656] Remove @ from phpinfo() to get correct error_reporting value.
2010-06-20 22:45:55 +02:00
Andreas Fischer
b91950d413 Merge branch 'ticket/bantu/9653' into develop-olympus
* ticket/bantu/9653:
  [ticket/9653] Valid XHTML with code BBCode in subsilver2 viewtopic signatures
2010-06-20 22:45:47 +02:00
Andreas Fischer
3496948b94 Merge branch 'ticket/bantu/9643' into develop-olympus
* ticket/bantu/9643:
  [ticket/9643] Only split $port from $sqlserver, if it's not an IPv6 address.
2010-06-20 22:45:28 +02:00
Andreas Fischer
6b1f7a2d9d Merge branch 'ticket/bantu/9112' into develop-olympus
* ticket/bantu/9112:
  [ticket/9112] Make sure current user can see most active forum/topic.
2010-06-20 22:45:16 +02:00
Andreas Fischer
ac45f07402 [ticket/9653] Valid XHTML with code BBCode in subsilver2 viewtopic signatures
PHPBB3-9653
2010-06-20 21:48:07 +02:00
Andreas Fischer
52c3b51c95 [ticket/9656] Remove @ from phpinfo() to get correct error_reporting value.
PHPBB3-9656
2010-06-20 21:43:56 +02:00
Andreas Fischer
6221ba4dd1 [ticket/9665] Allow preview of signature when it is the string "0".
Since only the SIGNATURE_PREVIEW parameter is evaluated in the templates
<!-- IF SIGNATURE_PREVIEW --> will not allow the signature to be "0".
<!-- IF SIGNATURE_PREVIEW != '' --> however does allow "0".

PHPBB3-9665
2010-06-20 13:38:36 +02:00
Andreas Fischer
6d248097e5 Merge branch 'ticket/jellydoughnut/9132' into develop-olympus
* ticket/jellydoughnut/9132:
  [ticket/9132] Oracle CLOB support is broken, preventing storage of long strings
2010-06-17 19:15:17 +02:00
Andreas Fischer
4eac7dca6d Merge branch 'ticket/rxu/9606' into develop-olympus
* ticket/rxu/9606:
  [ticket/9606] Optimize unread search option.
2010-06-17 19:10:59 +02:00
Andreas Fischer
876a6e4686 Merge branch 'ticket/bantu/9626' into develop-olympus
* ticket/bantu/9626:
  [ticket/9626] Adding tests for the URL regular expression.
  [ticket/9626] Add missing class prefix.
  [ticket/9626] A few tests for the email regular expression.
  [ticket/9626] More IPv6 regex tests.
  [ticket/9626] Adding tests for the IPv4 regular expression.
  [ticket/9626] Adding tests for regular expressions.
2010-06-17 18:50:41 +02:00
Andreas Fischer
26057fe3ff Merge branch 'ticket/bantu/9587' into develop-olympus
* ticket/bantu/9587:
  [ticket/9587] Replace '0px' with '0'.
2010-06-17 18:35:53 +02:00
Andreas Fischer
4bc2158235 [ticket/9587] Replace '0px' with '0'.
This has been introduced by merge of c7a25c58b8, which was not supposed to be merged. 1b2a65333b5be1f6086bbd1d438e061041bd2b75 was supposed to be merged instead.

PHPBB3-9587
2010-06-17 17:01:13 +02:00
Andreas Fischer
f9105084b0 Merge branch 'ticket/nickvergessen/9605' into develop-olympus
* ticket/nickvergessen/9605:
  [ticket/9605] Wrong class added to topiclist, when there's no announcement topic.
2010-06-17 16:47:48 +02:00
Andreas Fischer
9975d24b9d Merge branch 'ticket/nickvergessen/9605' into develop-olympus
* ticket/nickvergessen/9605:
  [ticket/9605] Wrong class added to topiclist, when there's no announcement topic.
2010-06-17 16:31:38 +02:00
Andreas Fischer
84e58260ae Merge branch 'ticket/nickvergessen/9587' into develop-olympus
* ticket/nickvergessen/9587:
  [ticket/9587] Prosilver overrides reCaptcha class.
2010-06-17 16:27:25 +02:00
Andreas Fischer
8d18b98e15 Merge branch 'feature/bantu/dbal-tests' into develop-olympus
* feature/bantu/dbal-tests:
  [feature/dbal-tests] Follow the coding guidelines and ...
  [feature/dbal-tests] Update data
  [feature/dbal-tests] Multi insert
  [feature/dbal-tests] Delete data
  [feature/dbal-tests] Insert data
  [feature/dbal-tests] Fix SQL-ERROR: invalid input syntax for integer: ""
2010-06-17 16:17:06 +02:00
Joas Schilling
ef69f22698 [feature/dbal-tests] Follow the coding guidelines and ...
resolved a bug caused by a missing order-by.

PHPBB3-9625
2010-06-17 16:06:17 +02:00
Joas Schilling
e3420de295 [feature/dbal-tests] Update data
PHPBB3-9625
2010-06-17 16:06:10 +02:00
Joas Schilling
d9c2e6cbcf [feature/dbal-tests] Multi insert
PHPBB3-9625
2010-06-17 16:06:10 +02:00
Joas Schilling
c4b0814c62 [feature/dbal-tests] Delete data
PHPBB3-9625
2010-06-17 16:06:10 +02:00
Joas Schilling
539ae0ffaf [feature/dbal-tests] Insert data
PHPBB3-9625
2010-06-17 16:06:10 +02:00
Joas Schilling
b03a7a2c83 [feature/dbal-tests] Fix SQL-ERROR: invalid input syntax for integer: ""
PHPBB3-9625
2010-06-17 16:06:10 +02:00
Joas Schilling
82db1c9c50 [ticket/9605] Wrong class added to topiclist, when there's no announcement topic.
Compare the topic_type on their real value, to ensure there is no MOD causing problems, because of a new topic-type.

PHPBB3-9605
2010-06-17 15:56:25 +02:00
Andreas Fischer
e66c089626 [ticket/9112] Make sure current user can see most active forum/topic.
PHPBB3-9112
2010-06-15 20:20:02 +02:00
Andreas Fischer
6c7d16894b Merge branch 'ticket/jellydoughnut/9633' into develop-olympus 2010-06-15 14:28:00 +02:00
Andreas Fischer
7c789795fb Merge branch 'ticket/jellydoughnut/9623' into develop-olympus 2010-06-15 13:41:02 +02:00
Josh Woody
d6551b1233 [ticket/9623] Proper UTF8 encoding for usernames in pruning section
The username textboxes were not being properly encoded in UTF8.

PHPBB3-9623
2010-06-15 13:39:58 +02:00
Andreas Fischer
46cae83264 [ticket/9655] Pass E_USER_WARNING, so it doesn't look like a successful action.
PHPBB3-9655
2010-06-14 22:27:23 +02:00
Josh Woody
e942af5331 [ticket/9132] Oracle CLOB support is broken, preventing storage of long strings
This reverts Oracle support to the state it was in prior to phpBB 3.0.6.  That is, storage of long strings works again (e.g. posts > 4 KB), but the database backup/restore functionality is broken.  We feel that the ability to store long strings is more important than the DB restore, since Oracle 10g itself provides tools for backing up databases.

PHPBB3-9132
2010-06-13 19:18:35 -05:00
Andreas Fischer
38fc35a497 [ticket/9167] Detect and remove any dead left over shadow topics on update.
PHPBB3-9167
2010-06-11 21:52:04 +02:00
Andreas Fischer
30891ffb46 [ticket/9167] Remove shadow topics from remaining forums when deleting a forum
including posts.

The function delete_topic_shadows() had to be reimplemented.
It was there but it was completly broken and hasn't been used at all.

PHPBB3-9167
2010-06-11 21:50:08 +02:00
Oleg Pudeyev
bb32daab63 [ticket/9589] Added sample nginx configuration file for phpbb.
PHPBB3-9589
2010-06-10 15:58:49 +02:00
Andreas Fischer
879bc89524 [ticket/9643] Only split $port from $sqlserver, if it's not an IPv6 address.
PHPBB3-9643
2010-06-08 19:27:55 +02:00
Josh Woody
b4df815547 [ticket/9633] Newly Registered Group Colour not used in "Our Newest Member"
Due to an oversight, the default group was not properly checked in the user_add function.  This fix corrects the check.  No other changes are needed because they go direct to the database, this one used an array in memory.

PHPBB3-9633
2010-06-01 00:19:43 -05:00
Nils Adermann
a5b238019b Merge branch 'feature/notify_status' into develop-olympus
* feature/notify_status:
  [ticket/9179] Remove unnecessary newline.
2010-05-30 15:20:37 +02:00
Andreas Fischer
491fc0516e [ticket/9179] Remove unnecessary newline.
cc8d22bed6 added one empty line too much.

PHPBB3-9179
2010-05-30 15:20:15 +02:00
Nils Adermann
c38cb1761c Merge branch 'ticket/nickvergessen/9147' into develop-olympus
* ticket/nickvergessen/9147:
  [ticket/9147] "Change topic type"-option "Normal" always selected.
2010-05-30 15:05:06 +02:00
Nils Adermann
8f91e6ce8b Merge branch 'ticket/nickvergessen/9135' into develop-olympus
* ticket/nickvergessen/9135:
  [ticket/9135] Fix report-icon for moderators in PM folders.
2010-05-30 14:58:30 +02:00
Nils Adermann
a6b07eef5a Merge branch 'ticket/nickvergessen/9094' into develop-olympus
* ticket/nickvergessen/9094:
  [ticket/9094] Hide "Copy permissions" message, when permissions were copied.
2010-05-30 14:54:22 +02:00
Nils Adermann
760957e7e7 Merge branch 'ticket/nickvergessen/8936' into develop-olympus
* ticket/nickvergessen/8936:
  [ticket/8936] Subsilver2 missing reply-to-all feature.
2010-05-30 14:26:17 +02:00
Nils Adermann
b7afeadd6d Merge branch 'ticket/bantu/8792' into develop-olympus
* ticket/bantu/8792:
  [ticket/8792] Add LDAP_SEARCH_FAILED string for when ldap_search() fails.
2010-05-30 14:19:58 +02:00
Nils Adermann
26c2efc083 Merge branch 'ticket/p/7782' into develop-olympus
* ticket/p/7782:
  [ticket/7782] Return 404 HTTP status code for nonexistent attachments.
  [ticket/7782] Added spaces.
  [ticket/7782] Added phpdoc comment for send_status_line function.
  [ticket/7782] Send status line using refactored download/file.php logic.
2010-05-29 23:23:08 +02:00
Joas Schilling
801a44b3f0 [ticket/9147] "Change topic type"-option "Normal" always selected.
PHPBB3-9147
2010-05-28 14:25:56 +02:00
Joas Schilling
4637709f0a [ticket/9628] _add_module 'after'-parameter does not work correctly.
The modules were grouped by left_id so num_modules is always one (hopefully), but the number of rows is the actual value we'd like to know. Removing the GROUP BY resolves the issue.

PHPBB3-9628
2010-05-28 13:13:53 +02:00
Joas Schilling
160d1bfd07 [ticket/9578] ACP Posting tab is missing "Post settings" module.
PHPBB3-9578
2010-05-28 13:03:56 +02:00
Joas Schilling
4746a60d22 [ticket/9094] Hide "Copy permissions" message, when permissions were copied.
When creating a forum, you afterwards read "Forum created successfully. Now you are able to set permissions for this forum.", also when you already copied the permissions from another forum.

PHPBB3-9094
2010-05-27 15:17:03 +02:00
Joas Schilling
9e24993855 [ticket/9135] Fix report-icon for moderators in PM folders.
There was a S_TOPIC_REPORTED switch in the template of prosilver, which should indicate whether the PM is reported. But the variable was neither filled, nor named correctly. Now it is filled with a boolean and a link to the report is displayed for permitted users.

PHPBB3-9135
2010-05-26 01:38:19 +02:00
Andreas Fischer
aaaa4f9abe [ticket/9626] Adding tests for the URL regular expression.
PHPBB3-9626
2010-05-25 12:08:52 +02:00
Andreas Fischer
646b16f5db [ticket/9626] Add missing class prefix.
PHPBB3-9626
2010-05-25 12:08:51 +02:00
Andreas Fischer
6a5ad05d8a [ticket/9626] A few tests for the email regular expression.
PHPBB3-9626
2010-05-25 12:08:51 +02:00
Andreas Fischer
12e92fc45e [ticket/9626] More IPv6 regex tests.
PHPBB3-9626
2010-05-25 12:08:51 +02:00
Andreas Fischer
1c59f3dbd0 [ticket/9626] Adding tests for the IPv4 regular expression.
PHPBB3-9626
2010-05-25 12:08:51 +02:00
Andreas Fischer
222173adae [ticket/9626] Adding tests for regular expressions.
Adding tests for the IPv6 regular expression returned by get_preg_expression()

PHPBB3-9626
2010-05-25 12:08:51 +02:00
Joas Schilling
c7a25c58b8 [ticket/9587] Prosilver overrides reCaptcha class.
PHPBB3-9587
2010-05-24 23:59:28 +02:00
Joas Schilling
b6df5bdb14 [ticket/8936] Subsilver2 missing reply-to-all feature.
PHPBB3-8936
2010-05-24 23:32:18 +02:00
Joas Schilling
877d852a52 [ticket/9605] Wrong class added to topiclist, when there's no announcement topic.
Just added a check whether the type is announcement or higher.

PHPBB3-9605
2010-05-24 20:12:34 +02:00
Oleg Pudeyev
c185e45e09 [ticket/7782] Return 404 HTTP status code for nonexistent attachments.
PHPBB3-7782
2010-05-17 14:14:53 -04:00
rxu
d819ee343a [ticket/9606] Optimize unread search option.
Get rid of redundant SQL query in search.php that should increase performance slightly.

PHPBB3-9606
2010-05-17 21:14:02 +08:00
Andreas Fischer
c2b29c317f [ticket/9612] Introduce new function gen_rand_string_friendly().
Introduce new function gen_rand_string_friendly() for user friendly random
strings like passwords and captcha codes. Strings generated by
gen_rand_string_friendly() will not contain the characters 0 and O.

By adding a new function we can increase the entropy of strings
generated by gen_rand_string() by putting 0 and O back in.

PHPBB3-9612
2010-05-17 09:44:48 +02:00
Andreas Fischer
af21e38c1d [ticket/9611] Make length of activation keys variable between 6 and 10.
PHPBB3-9611
2010-05-17 08:54:51 +02:00
Oleg Pudeyev
d721e94b88 [ticket/7782] Added spaces.
PHPBB3-7782
2010-05-17 02:01:13 -04:00
Oleg Pudeyev
691f682fc2 [ticket/7782] Added phpdoc comment for send_status_line function.
PHPBB3-7782
2010-05-16 19:52:01 -04:00
Oleg Pudeyev
c1a4cb1d01 [ticket/7782] Send status line using refactored download/file.php logic.
PHPBB3-7782
2010-05-16 18:24:26 -04:00
Andreas Fischer
327f9afbc0 [ticket/8792] Add LDAP_SEARCH_FAILED string for when ldap_search() fails.
No longer use LDAP_NO_SERVER_CONNECTION in case ldap_search() fails.
Add and use LDAP_SEARCH_FAILED instead, so users can tell the difference
between ldap_connect() failing and ldap_search() failing.

PHPBB3-8792
2010-05-16 23:05:13 +02:00
Joas Schilling
6d7e30ae99 [develop-olympus] Move rxu and nickvergessen to Developers 2010-05-16 20:06:11 +02:00
Nils Adermann
0bf2c3eed5 Merge branch 'feature/notify_status' into develop-olympus
* feature/notify_status:
  [feature/notify_status] Define'd constants for notify_status
2010-05-16 19:51:25 +02:00
Mark
cc8d22bed6 [feature/notify_status] Define'd constants for notify_status
define'd constants NOTIFY_YES, NOTIFY_NO to replace magic numbers in
forums_watch table and topics_watch table

PHPBB3-9179
2010-05-16 19:50:35 +02:00
Nils Adermann
e36da18b1c Merge branch 'ticket/p/7782' into develop-olympus
* ticket/p/7782:
  [ticket/7782] Send 404 HTTP code when a nonexistent user/forum/topic is requested.
2010-05-16 19:25:41 +02:00
Oleg Pudeyev
82ce29ac58 [ticket/7782] Send 404 HTTP code when a nonexistent user/forum/topic is requested.
PHPBB3-7782
2010-05-16 19:23:54 +02:00
Nils Adermann
321f7a9946 Merge branch 'ticket/nickvergessen/9530' into develop-olympus
* ticket/nickvergessen/9530:
  [ticket/9530] The prosilver problem in #9531 exists in subsilver2 editor.js
  [ticket/9530] Subsilver2 is missing BBCode-less quotes fallback-option when bbcodes are disabled.
2010-05-16 19:17:25 +02:00
Joas Schilling
a11fa9c738 [ticket/9530] The prosilver problem in #9531 exists in subsilver2 editor.js
PHPBB3-9530
2010-05-16 19:14:57 +02:00
Joas Schilling
d147bdcd73 [ticket/9530] Subsilver2 is missing BBCode-less quotes fallback-option when bbcodes are disabled.
PHPBB3-9530
2010-05-16 19:14:36 +02:00
Nils Adermann
b1f9b39475 Merge branch 'ticket/nickvergessen/9531' into develop-olympus
* ticket/nickvergessen/9531:
  [ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:" line when quoting from topic-review.
2010-05-16 19:13:32 +02:00
Joas Schilling
fe9c5019b6 [ticket/9531] BBCode-less quotes fallback-option is missing "Author wrote:" line when quoting from topic-review.
PHPBB3-9531
2010-05-16 19:13:22 +02:00
Nils Adermann
b308cfe5ea Merge branch 'ticket/bantu/9547' into develop-olympus
* ticket/bantu/9547:
  [ticket/9547] Use separate constants for display/enable active topics.
2010-05-16 18:58:15 +02:00
Andreas Fischer
d555e83b80 [ticket/9547] Use separate constants for display/enable active topics.
Split S_DISPLAY_ACTIVE_TOPICS into S_DISPLAY_ACTIVE_TOPICS and
S_ENABLE_ACTIVE_TOPICS so we have correct default values when changing the
forum type.

PHPBB3-9547
2010-05-16 18:54:48 +02:00
Nils Adermann
7499c7c884 Merge branch 'ticket/nickvergessen/9535' into develop-olympus
* ticket/nickvergessen/9535:
  [ticket/9535] Also fix the margin in the install_update.html
  [ticket/9535] Fix some more rtl margin issues.
  [ticket/9535] Correctly set margin of textarea in ACP > Users signature for RTL languages.
2010-05-16 18:51:09 +02:00
Joas Schilling
9fa8bb82e4 [ticket/9535] Also fix the margin in the install_update.html
PHPBB3-9535
2010-05-16 18:50:48 +02:00
Joas Schilling
0da86964d5 [ticket/9535] Fix some more rtl margin issues.
PHPBB3-9535
2010-05-16 18:50:25 +02:00
Joas Schilling
41498fe3ee [ticket/9535] Correctly set margin of textarea in ACP > Users signature for RTL languages.
PHPBB3-9535
2010-05-16 18:49:17 +02:00
Nils Adermann
8ade14a036 Merge branch 'ticket/nickvergessen/9548' into develop-olympus
* ticket/nickvergessen/9548:
  [ticket/9548] Delete user quicktool drop down should have an empty or invalid selection as the default
2010-05-16 18:42:46 +02:00
Nils Adermann
273d926b08 Merge branch 'ticket/aptx/9525' into develop-olympus
* ticket/aptx/9525:
  [ticket/9524] IPv6 regex does not match all valid IPv6 addresses starting with ::
2010-05-16 18:38:28 +02:00
Marek A. Ruszczyński
1d2b4ffc65 [ticket/9524] IPv6 regex does not match all valid IPv6 addresses starting with ::
:: can replace 1 or more groups (not 2 or more)

PHPBB3-9524
2010-05-16 18:36:21 +02:00
Josh Woody
e6b9178c44 [ticket/9510] Unable to copy permissions from and to forums you cannot see
This commit fixes the bug mentioned, plus a large number of regressions caused by changing the behavior of make_forum_select() (in svn r10427, dated Jan 18, 2010).  It also rolls back the changes from branch "bug/58415", which are no longer needed.

PHPBB3-9510
2010-05-16 18:20:54 +02:00
Josh Woody
ed0a26ab16 [ticket/9510] Unable to copy permissions from and to forums you cannot see
This commit fixes the bug mentioned, plus a large number of regressions caused by changing the behavior of make_forum_select() (in svn r10427, dated Jan 18, 2010).  It also rolls back the changes from branch "bug/58415", which are no longer needed.

PHPBB3-9510
2010-05-16 18:19:28 +02:00
Nils Adermann
63d172e379 Merge branch 'ticket/bantu/9545' into develop-olympus
* ticket/bantu/9545:
  [ticket/9545] Initial forum should display active topics by default.
2010-05-16 17:50:36 +02:00
Andreas Fischer
36c1986986 [ticket/9545] Initial forum should display active topics by default.
The initial forum 'Your first forum' should show topics
(especially the 'Welcome to phpBB3' topic) in the active topics list after
installing phpBB because this is the default setting for new forums
(but not categories).

The default database column value for forum_flags is 32 =
FORUM_FLAG_POST_REVIEW, we therefore have to explicitly set forum_flags to
FORUM_FLAG_POST_REVIEW + FORUM_FLAG_ACTIVE_TOPICS = 48 for this forum.

PHPBB3-9545
2010-05-16 17:49:06 +02:00
Nils Adermann
2a806ddbaf Merge branch 'ticket/nickvergessen/9546' into develop-olympus
* ticket/nickvergessen/9546:
  [ticket/9546] Also delete bookmarks, when a topic is deleted.
2010-05-16 17:47:38 +02:00
Joas Schilling
d8b4c0db0c [ticket/9546] Also delete bookmarks, when a topic is deleted.
PHPBB3-9546
2010-05-16 17:47:05 +02:00
Nils Adermann
ffe17fa426 Merge branch 'ticket/rxu/9567' into develop-olympus
* ticket/rxu/9567:
  [ticket/9567] Newly registered users group description rewording.
2010-05-16 17:32:46 +02:00
Nils Adermann
a625e4b48a Merge branch 'ticket/nickvergessen/9529' into develop-olympus
* ticket/nickvergessen/9529:
  [ticket/9529] Topic review is not showing all selected posts.
2010-05-16 17:11:47 +02:00
Joas Schilling
a3874c2cd6 [ticket/9529] Topic review is not showing all selected posts.
PHPBB3-9529
2010-05-16 17:09:25 +02:00
Nils Adermann
355d4b8ff8 Merge branch 'ticket/nickvergessen/9528' into develop-olympus
* ticket/nickvergessen/9528:
  [ticket/9528] Also fall back to bbcode-less quotes for PMs, when bbcodes are disabled.
2010-05-16 17:06:50 +02:00
Joas Schilling
18e0b07487 [ticket/9528] Also fall back to bbcode-less quotes for PMs, when bbcodes are disabled.
PHPBB3-9528
2010-05-16 17:06:28 +02:00
Nils Adermann
1326264823 Merge branch 'ticket/nickvergessen/9146' into develop-olympus
* ticket/nickvergessen/9146:
  [ticket/9146] Fix double occurring tabindex="6" in prosilver's QR
2010-05-16 17:00:26 +02:00
Joas Schilling
97d180ab66 [ticket/9146] Fix double occurring tabindex="6" in prosilver's QR
PHPBB3-9146
2010-05-16 16:59:48 +02:00
Nils Adermann
0f35101c49 Merge branch 'ticket/nickvergessen/9119' into develop-olympus
* ticket/nickvergessen/9119:
  [ticket/9119] Respect language selection on automated update.
2010-05-16 16:56:29 +02:00
Joas Schilling
d8b5594c14 [ticket/9119] Respect language selection on automated update.
PHPBB3-9119
2010-05-16 16:54:29 +02:00
Nils Adermann
e477b3acc8 Merge branch 'ticket/nickvergessen/8894' into develop-olympus
* ticket/nickvergessen/8894:
  [ticket/8894] Fix JavaScript-Error and hide Quote-Button on topic review if BBCodes are not allowed.
2010-05-16 16:49:39 +02:00
Joas Schilling
e3ba934cd7 [ticket/8894] Fix JavaScript-Error and hide Quote-Button on topic review if BBCodes are not allowed.
PHPBB3-8894
2010-05-16 16:49:00 +02:00
Nils Adermann
478708346e Merge branch 'ticket/bantu/9174' into develop-olympus
* ticket/bantu/9174:
  [ticket/9173] No longer limit scope of numbers we store in the config table on
2010-05-14 02:46:56 +02:00
Nils Adermann
fa5845e8c5 Merge branch 'ticket/nickvergessen/7717' into develop-olympus
* ticket/nickvergessen/7717:
  [ticket/7717] Localise default extension groups for attachments
2010-05-14 02:44:19 +02:00
Joas Schilling
58dc5a191c [ticket/7717] Localise default extension groups for attachments
PHPBB3-7717
2010-05-14 02:42:21 +02:00
Nils Adermann
be1c550344 Merge branch 'ticket/bantu/9598' into develop-olympus
* ticket/bantu/9598:
  [ticket/9598] checkdnsrr() is now available on Windows with PHP 5.3 or later. Change if block order to always call checkdnsrr() if the function is available.
2010-05-14 02:39:17 +02:00
Andreas Fischer
99482e9555 [ticket/9598] checkdnsrr() is now available on Windows with PHP 5.3 or later. Change if block order to always call checkdnsrr() if the function is available.
PHPBB3-9598
2010-05-14 02:39:04 +02:00
Nils Adermann
39770de921 Merge branch 'ticket/bantu/9536' into develop-olympus
* ticket/bantu/9536:
  [ticket/9536] Small improvement for query against user/session tables when managing users from the ACP.
2010-05-14 02:33:52 +02:00
Andreas Fischer
032a9f58f9 [ticket/9173] No longer limit scope of numbers we store in the config table on
PostgreSQL and Firebird when using set_config_count().

Since we're using a VARCHAR(255) column to store the numbers we have to CAST
the varchar string to a type we can do maths on. Using int4 or integer as the
type however limits the scope to 4-byte-integer = 32-bit. Using DECIMAL(255, 0)
allows the 'full' scope of decimals in varchar(255).

PHPBB3-9173
2010-05-14 02:33:31 +02:00
Andreas Fischer
823f2571f5 [ticket/9536] Small improvement for query against user/session tables when managing users from the ACP.
There can be multiple entries in the session table for one user_id. We only need and also only fetch one. Using LIMIT 1 should therefore increase performance slightly. This is especially true when editing the anonymous user account because the session table can have many entries for the user_id ANONYMOUS.

PHPBB3-9536
2010-05-14 02:31:44 +02:00
Nils Adermann
928fbb0126 Merge branch 'ticket/bantu/9526' into develop-olympus
* ticket/bantu/9526:
  [ticket/9526] If an admin changes a user's 'user_allow_viewonline' flag to 'hide me' the admin usually wants that user to be hidden immediately. We therefore have to update his session if one exists.
2010-05-14 02:28:59 +02:00
Andreas Fischer
cb642cff11 [ticket/9526] If an admin changes a user's 'user_allow_viewonline' flag to 'hide me' the admin usually wants that user to be hidden immediately. We therefore have to update his session if one exists.
In the UCP this is not necessary, because there is code in $user->setup() that updates the session table on the next page reload.

Since we cannot tell if the user generally wants to be hidden or the user only wants to be hidden for one session, we only update the session table when setting the flag to 'hide me', but not 'show me' - equivalent to how it works in the UCP.

If the user is a bot we however also update the session when setting the flag to 'show me' because bots cannot login at all.

PHPBB3-9526
2010-05-14 02:27:37 +02:00
Nils Adermann
c7e8e7e0bc Merge branch 'ticket/bantu/9518' into develop-olympus
* ticket/bantu/9518:
  [ticket/9518] Correctly create new connection on PostgreSQL when new connection is forced.
2010-05-14 02:23:13 +02:00
Andreas Fischer
970848409d [ticket/9518] Correctly create new connection on PostgreSQL when new connection is forced.
pg_connect() takes an integer as the second parameter, but we were passing a boolean parameter. The function especially requires passing the PGSQL_CONNECT_FORCE_NEW constant if a new connection is to be forced. Passing 0 as the second parameter for 'do not force a new connection' doesn't work as expected, hence we're calling the function without a second parameter in this case.

PHPBB3-9518
2010-05-14 02:22:24 +02:00
Nils Adermann
8196d7d711 Merge branch 'ticket/bantu/9514' into develop-olympus
* ticket/bantu/9514:
  [ticket/9514] Correctly delete big datasets when deleting a forum including topics/posts on non-MySQL databases.
2010-05-14 02:17:45 +02:00
Nils Adermann
528816dcbd Merge branch 'ticket/bantu/9176' into develop-olympus
* ticket/bantu/9176:
  [ticket/9176] Take current board timezone settings into account when setting board date format.
2010-05-14 02:14:48 +02:00
Andreas Fischer
9ce0873bd1 [ticket/9514] Correctly delete big datasets when deleting a forum including topics/posts on non-MySQL databases.
PHPBB3-9514
2010-05-14 02:10:50 +02:00
Nils Adermann
b3bbe57603 Merge branch 'ticket/p/6726' into develop-olympus
* ticket/p/6726:
  [ticket/6726] Added localhost/127.0.0.1 note to database server hostname explanation in install language.
2010-05-14 01:41:31 +02:00
Oleg Pudeyev
3a515bffb9 [ticket/6726] Added localhost/127.0.0.1 note to database server hostname explanation in install language.
When using PostgreSQL adapter and connecting to local database server,
use localhost to connect via UNIX domain socket and 127.0.0.1 to connect
via TCP.

PHPBB3-6726
2010-05-14 01:41:10 +02:00
Nils Adermann
5fb945c220 Merge branch 'feature/bantu/remote_upload-filesize' into develop-olympus
* feature/bantu/remote_upload-filesize:
  [feature/remote_upload-filesize] Also check HTTP content-length before actually starting the file transfer.
  [feature/remote_upload-filesize] When transferring files from a remote webserver, abort the transfer as soon as the allowed filesize has been exceeded.
2010-05-14 01:19:49 +02:00
Andreas Fischer
e4398ef42e [feature/remote_upload-filesize] Also check HTTP content-length before actually starting the file transfer.
PHPBB3-9517
2010-05-14 01:19:34 +02:00
Andreas Fischer
d19565756a [feature/remote_upload-filesize] When transferring files from a remote webserver, abort the transfer as soon as the allowed filesize has been exceeded.
PHPBB3-9517
2010-05-14 01:19:34 +02:00
Andreas Fischer
3e9d15a25d [ticket/9176] Take current board timezone settings into account when setting board date format.
PHPBB3-9176
2010-05-13 14:25:44 +02:00
Nils Adermann
91399fd357 Merge branch 'feature/webpi' into develop-olympus
* feature/webpi:
  [feature/webpi] Validate inline with MSSQL password policy.
2010-05-03 19:43:57 +02:00
Nils Adermann
ad93eaaaf3 Merge branch 'ticket/cs278/9582' into develop-olympus
* ticket/cs278/9582:
  [ticket/9582] MSSQL native backups can now be restored.
  [ticket/9582] Advanced search cannot be accessed using MSSQL native.
  [ticket/9582] Removing a report reason leaves reports with an unknown reason under MSSQL native.
  [ticket/9582] Unable to edit CPFs from UCP under MSSQL native driver.
  [ticket/9582] Custom profile fields cannot be created under MSSQL native.
2010-05-03 19:41:04 +02:00
Chris Smith
11d097fc1a [ticket/9582] MSSQL native backups can now be restored.
PHPBB3-9583
PHPBB3-9582
2010-05-03 19:40:45 +02:00
e95faaeb68 [ticket/9582] Advanced search cannot be accessed using MSSQL native.
PHPBB3-9562
PHPBB3-9582
2010-05-03 19:40:39 +02:00
a20576fdd4 [ticket/9582] Removing a report reason leaves reports with an unknown reason under MSSQL native.
PHPBB3-9564
PHPBB3-9582
2010-05-03 19:40:33 +02:00
5739426136 [ticket/9582] Unable to edit CPFs from UCP under MSSQL native driver.
PHPBB3-9566
PHPBB3-9582
2010-05-03 19:40:26 +02:00
171807213f [ticket/9582] Custom profile fields cannot be created under MSSQL native.
PHPBB3-9565
PHPBB3-9582
2010-05-03 19:38:42 +02:00
Nils Adermann
38ba3dcdd9 Merge branch 'ticket/cs278/9520' into develop-olympus
* ticket/cs278/9520:
  [ticket/9520] Additionally filter requests for {common,config}.php
  [ticket/9520] New web.config file as suggested by Microsoft using request filter
  [ticket/9520] Removed per directory web.config files.
  [ticket/9520] Add suggested web.config for root files as suggested by Microsoft.
  [ticket/9520] Add some default web.config files for IIS.
2010-05-03 19:36:18 +02:00
Chris Smith
43f47dba4c [ticket/9520] Additionally filter requests for {common,config}.php
PHPBB3-9520
2010-05-03 19:32:29 +02:00
Chris Smith
8612fc23d4 [ticket/9520] New web.config file as suggested by Microsoft using request filter
PHPBB3-9520
2010-05-03 19:31:54 +02:00
Chris Smith
e11e53e11b [ticket/9520] Removed per directory web.config files.
These use the IIS rewriter to reject requests, Microsoft have suggested
we just use a single web.config with the builtin request filter.

PHPBB3-9520
2010-05-03 19:31:40 +02:00
Chris Smith
9ac7c492ed [ticket/9520] Add suggested web.config for root files as suggested by Microsoft.
PHPBB3-9520
2010-05-03 19:31:18 +02:00
Chris Smith
cdd9ecdd68 [ticket/9520] Add some default web.config files for IIS.
These deny access to the various directories written to by phpBB.

PHPBB3-9520
2010-05-03 19:30:52 +02:00
Nils Adermann
fd23bccd4d [develop-olympus] Basic gitignore file for cache files and backups. 2010-05-02 23:44:42 +02:00
Nils Adermann
e09ab8a4c5 Merge branch 'ticket/bantu/9170' into develop-olympus
* ticket/bantu/9170:
  [ticket/9170] Unable to get image size in img bbcode when URL has multiple parameters.
2010-05-02 23:43:46 +02:00
Andreas Fischer
abacc2d07d [ticket/9170] Unable to get image size in img bbcode when URL has multiple parameters.
Since we htmlspecialchars() all input we have to htmlspecialchars_decode() before passing the URL along to getimagesize().

PHPBB3-9170
2010-05-02 23:43:32 +02:00
rxu
b3028567c8 [ticket/9567] Newly registered users group description rewording.
Reword 'NEW_MEMBER_GROUP_DEFAULT_EXPLAIN' language entry to make it more linguistically correct.

PHPBB3-9567
2010-05-02 14:50:33 +08:00
Nils Adermann
cb3cf71805 Merge branch 'feature/cs278/git-tools' into develop-olympus
* feature/cs278/git-tools:
  [git-tools] Use @ instead of : in sed command in pre-commit hook for wider compatibility.
  [git-tools] Adjusted pre-commit hook to run under freebsd /bin/sh.
  [git-tools] Changed pre-commit hook to use sh instead of bash
2010-04-28 12:31:24 +02:00
Joas Schilling
5f4c6e9c91 [ticket/9548] Delete user quicktool drop down should have an empty or invalid selection as the default
PHPBB3-9548
2010-04-18 15:13:53 +02:00
Chris Smith
b22a651c5c [feature/webpi] Validate inline with MSSQL password policy. 2010-04-15 23:00:27 +01:00
Chris Smith
f6dd150ed8 Merge branch 'p/git-tools' into git-tools 2010-04-13 21:46:19 +01:00
Oleg Pudeyev
9674214b2f [git-tools] Use @ instead of : in sed command in pre-commit hook for wider compatibility. 2010-04-13 21:44:18 +01:00
Oleg Pudeyev
9afe2c9b6e [git-tools] Adjusted pre-commit hook to run under freebsd /bin/sh. 2010-04-13 21:44:12 +01:00
Oleg Pudeyev
5a3ec9901d [git-tools] Changed pre-commit hook to use sh instead of bash 2010-04-13 21:44:03 +01:00
Nils Adermann
03d50a2e83 Merge branch 'feature/cs278/webpi' into develop-olympus
* feature/cs278/webpi:
  [feature/webpi] Web PI supports UNIX line endings so we'll remove them
  [feature/webpi] Hopefully finally fix this
  [feature/webpi] Fix messed up line endings
  [feature/webpi] Add WebPI support to the build script.
  [feature/webpi] Package files for Microsoft Web Platform Installer
  [feature/dbal-tests] Remove hardcoded 'mysql' from PDO DSN in DBAL test.
  [feature/dbal-tests] Fix mysql (not mysqli) dbal test.
2010-04-09 09:10:12 +02:00
Chris Smith
cc127d8217 [feature/webpi] Web PI supports UNIX line endings so we'll remove them 2010-04-08 17:23:15 +01:00
Chris Smith
a2fe71a6d3 [feature/webpi] Hopefully finally fix this 2010-04-08 17:01:10 +01:00
Chris Smith
f9946de5b3 [feature/webpi] Fix messed up line endings 2010-04-08 16:56:24 +01:00
Chris Smith
839f464b78 [feature/webpi] Add WebPI support to the build script. 2010-04-08 17:29:05 +02:00
Chris Smith
02aed4b66f [feature/webpi] Package files for Microsoft Web Platform Installer 2010-04-08 17:28:47 +02:00
Andreas Fischer
eaa591046f [feature/dbal-tests] Remove hardcoded 'mysql' from PDO DSN in DBAL test. 2010-04-08 17:26:39 +02:00
Andreas Fischer
584206b8ae [feature/dbal-tests] Fix mysql (not mysqli) dbal test.
Correctly determine MySQL version from the database.
2010-04-08 17:26:38 +02:00
Nils Adermann
925a135613 Merge branch 'bug/cs278/59465' into develop-olympus
* bug/cs278/59465:
  [bug/59465] Remove start=0 from topic pagination links.
  [bug/59465] Removes start=0 from URLs used by viewtopic and viewforum.
2010-04-04 15:32:36 +02:00
Nils Adermann
560a1b3ad4 Merge branch 'bug/nickvergessen/9047' into develop-olympus
* bug/nickvergessen/9047:
  [bug/9047] Use correct forum_id to generate the active topics list. (Bug #9047)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-04 15:31:38 +02:00
Nils Adermann
1af1a96501 Merge branch 'feature/nickvergessen/unapproved-posts-in-feed' into develop-olympus
* feature/nickvergessen/unapproved-posts-in-feed:
  [feature/unapproved-posts-in-feed] Little changelog correction
  [feature/unapproved-posts-in-feed] Increase performance of is_moderator_approve_forum() as per bantu
  [feature/unapproved-posts-in-feed] View note for moderators on unapproved posts/topics with unapproved posts in ATOM Feed

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-04 15:29:45 +02:00
Nils Adermann
feb3987802 Merge branch 'bug/nickvergessen/9512' into develop-olympus
* bug/nickvergessen/9512:
  [bug/9512] Fix dead link in MCP on reports for global announcements in prosilver. (Bug #9512)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-04 15:26:50 +02:00
Nils Adermann
5b5463a981 Merge branch 'bug/nickvergessen/58745' into develop-olympus
* bug/nickvergessen/58745:
  [bug/58745] Correct changelog message
  [bug/58745] Correctly close user-delete-form in ACP User Overview (Bug #58745)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-04 15:21:27 +02:00
Nils Adermann
f07c9fab2b Merge branch 'bug/nickvergessen/58695' into develop-olympus
* bug/nickvergessen/58695:
  [bug/58695] Use method to get forums where user is moderator, thanks to bantu for the hint
  [bug/58695] Only show unapproved posts in ATOM Feeds for moderators (Bug #58695)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-04 15:17:48 +02:00
Nils Adermann
fa9510be23 Merge branch 'feature/evil3/git-tools' into develop-olympus
* feature/evil3/git-tools:
  [git-tools] add note about PHP_BIN using env
  [git-tools] do not display stderr
  [git-tools] Prepend the branch to the commit message for all branches.
  [git-tools] Use env to find the correct paths to binaries.
  [git-tools] Display what parse errors were found.
  [git-tools] This script requires bash to run, so point directly to bash.
  [git-tools] Improvements for the pre-commit hook
  [git-tools] Improvements on prepare-commt-msg hook
  [git-tools] Some pre-commit enhancements, abolish tempfile
  [git-tools] use mktemp in pre-commit (thanks nn-)
  [git-tools] pre-commit hook for syntax checking
2010-04-04 15:04:28 +02:00
Joas Schilling
39f26c5cfd [bug/9047] Use correct forum_id to generate the active topics list. (Bug #9047) 2010-04-04 12:23:07 +02:00
Joas Schilling
5f044a015e [bug/9512] Fix dead link in MCP on reports for global announcements in prosilver. (Bug #9512) 2010-04-04 02:03:23 +02:00
Joas Schilling
19c7ea3c16 [feature/unapproved-posts-in-feed] Little changelog correction 2010-04-04 01:49:56 +02:00
Joas Schilling
9b596faa39 [feature/unapproved-posts-in-feed] Increase performance of is_moderator_approve_forum() as per bantu 2010-04-04 01:35:55 +02:00
Joas Schilling
46f85329da [feature/unapproved-posts-in-feed] View note for moderators on unapproved posts/topics with unapproved posts in ATOM Feed 2010-04-04 01:34:47 +02:00
Igor Wiedler
11de6a46b1 [git-tools] add note about PHP_BIN using env 2010-04-03 22:06:25 +02:00
Igor Wiedler
8091e31666 [git-tools] do not display stderr 2010-04-03 21:53:09 +02:00
Joas Schilling
738914ac83 [bug/58745] Correct changelog message 2010-04-03 13:11:23 +02:00
Joas Schilling
492d86000e [bug/58745] Correctly close user-delete-form in ACP User Overview (Bug #58745) 2010-04-03 13:05:44 +02:00
Joas Schilling
0d4daeb615 [bug/58695] Use method to get forums where user is moderator, thanks to bantu for the hint 2010-04-03 12:56:52 +02:00
Joas Schilling
8d0c0dcbcd [bug/58695] Only show unapproved posts in ATOM Feeds for moderators (Bug #58695) 2010-04-03 12:55:31 +02:00
Igor Wiedler
e3ebdbd79b Merge branch 'develop-olympus' into git-tools 2010-04-03 10:47:07 +02:00
Chris Smith
3e5236dcd6 [git-tools] Prepend the branch to the commit message for all branches. 2010-04-03 02:13:48 +01:00
Chris Smith
b6920b7ca8 [git-tools] Use env to find the correct paths to binaries. 2010-04-03 02:12:21 +01:00
Chris Smith
5568b2134b [git-tools] Display what parse errors were found. 2010-04-03 01:53:12 +01:00
Chris Smith
a06ec8c7fd [git-tools] This script requires bash to run, so point directly to bash. 2010-04-03 01:51:37 +01:00
Nils Adermann
43774ef423 Merge branch 'feature/dbal-tests' into develop-olympus
* feature/dbal-tests:
  [feature/dbal-tests] Remove hardcoded 'mysql' from PDO DSN in DBAL test.
  [feature/dbal-tests] Fix mysql (not mysqli) dbal test.
2010-04-02 18:29:08 +02:00
Andreas Fischer
4a2a84d7a2 [feature/dbal-tests] Remove hardcoded 'mysql' from PDO DSN in DBAL test. 2010-04-02 18:28:40 +02:00
Andreas Fischer
e9de68f9a3 [feature/dbal-tests] Fix mysql (not mysqli) dbal test.
Correctly determine MySQL version from the database.
2010-04-02 18:28:06 +02:00
Nils Adermann
a2545d1203 Merge branch 'bug/bantu/9108' into develop-olympus
* bug/bantu/9108:
  [bug/9108] Fix table binding issues with PostgreSQL in board-wide feed. (Old Bug #58425)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-01 21:27:19 +02:00
Nils Adermann
6d9d2b6be6 Merge branch 'feature/dbal-tests' into develop-olympus
* feature/dbal-tests:
  [feature/dbal-tests] Only output the missing config error message once.
  [feature/dbal-tests] Make the PDO prefix depend on the dbms.
  [feature/dbal-tests] Fix whitespace and line endings.
  [feature/dbal-tests] Make some tests for build_array_data on SELECT
  [feature/dbal-tests] Make some tests for return_on_error on SELECT-queries
  [feature/dbal-tests] Tests for $db->sql_query_limit()
  [feature/dbal-tests] Load phpbb-schema after creating the connection to the database
  [feature/dbal-tests] Added tests for dbal fetchrow and fetchfield.
  [feature/dbal-tests] Added database test & refactored test framework
2010-04-01 19:16:45 +02:00
Nils Adermann
2bbfa9c29f [feature/dbal-tests] Only output the missing config error message once.
The error message was also not properly escaping the variables, thus
producing an incorrect example configuration file.
2010-04-01 19:15:34 +02:00
Nils Adermann
53ab8886b1 [feature/dbal-tests] Make the PDO prefix depend on the dbms.
The database base test will need a few more changes to run on all the
databases we support. But those really need to be made on a system where
they run and can be tested. Patches welcome!
2010-04-01 19:08:11 +02:00
Nils Adermann
23beaceadd [feature/dbal-tests] Fix whitespace and line endings. 2010-04-01 18:59:26 +02:00
Nils Adermann
f97d0e0195 Merge branch 'bug/nickvergessen/59135' into develop-olympus
* bug/nickvergessen/59135:
  [bug/59135] Fix open_basedir issues when accessing styles- and language-management. (Bug #59135)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-04-01 18:55:16 +02:00
Andreas Fischer
2b696cc632 [bug/9108] Fix table binding issues with PostgreSQL in board-wide feed. (Old Bug #58425)
The order in the FROM clause is important.
The posts table has to be the last one in the chain, so it can be correctly bound with the forums table in the LEFT JOIN.

This only affects the overall feed (board-wide feed). All the other feeds are unaffected.
2010-04-01 13:14:58 +02:00
Nils Adermann
e35392cb4f Merge branch 'bug/kellanved/59425' into develop-olympus
* bug/kellanved/59425:
  [bug/59425] Correctly check for double inclusion in captcha garbage collection
2010-03-28 15:09:09 +02:00
Nils Adermann
b111e4d927 Merge branch 'bug/kellanved/58465' into develop-olympus
* bug/kellanved/58465:
  [bug/58465] The redirect hidden field is now XHTML conform
2010-03-28 15:09:05 +02:00
U-H-PC\H
9be61f9e53 [bug/59425] Correctly check for double inclusion in captcha garbage collection
The check to avoid the double inclusion of the captcha factory class in the
garbage collection code was faulty, checking for "captcha_factory" instead of "phpbb_captcha_factory".
TerryE pointed the problem out, thanks!
2010-03-28 14:37:31 +02:00
U-H-PC\H
6cfb4c82dd [bug/58465] The redirect hidden field is now XHTML conform
The result of build_url was falsely un-entitized.
2010-03-28 14:17:42 +02:00
Igor Wiedler
472739bcbc Merge branch 'develop-olympus' into git-tools 2010-03-28 14:12:36 +02:00
Joas Schilling
53d316dc9e [feature/dbal-tests] Make some tests for build_array_data on SELECT 2010-03-27 10:42:09 +01:00
Joas Schilling
147d6fd590 [feature/dbal-tests] Make some tests for return_on_error on SELECT-queries 2010-03-26 23:27:49 +01:00
Joas Schilling
c6442ce640 [feature/dbal-tests] Tests for $db->sql_query_limit() 2010-03-26 21:02:56 +01:00
Nils Adermann
d79cff235c Merge remote branch 'github-nickvergessen/develop-olympus' into develop-olympus
* github-nickvergessen/develop-olympus:
  [develop-olympus] Make this test run on windows with backslash-paths.
2010-03-26 18:27:39 +01:00
Nils Adermann
4515a45e0c Merge branch 'bug/jellydoughnut/56965' into develop-olympus
* bug/jellydoughnut/56965:
  [bug/56965] Redirect fails with directory traversal
2010-03-26 18:24:47 +01:00
Joas Schilling
a7581085e0 [feature/dbal-tests] Load phpbb-schema after creating the connection to the database 2010-03-26 17:37:01 +01:00
Joas Schilling
af654814f6 [feature/dbal-tests] Added tests for dbal fetchrow and fetchfield. 2010-03-26 16:41:19 +01:00
Joas Schilling
94bc65e203 [feature/dbal-tests] Added database test & refactored test framework
There is now a phpbb_database_test_case which can be used as a base class for tests that require database access. You have to set up a test_config.php file in your tests/ directory containing host, user, pass etc.

Extra test functionality has been moved to phpbb_test_case_helpers to provide the same functionality in database tests and regular tests without duplicating the code. This is achieved through delegation of method calls.
2010-03-26 16:39:37 +01:00
Joas Schilling
c71b1245ec [develop-olympus] Make this test run on windows with backslash-paths. 2010-03-26 14:46:18 +01:00
Josh Woody
eca2db4afe [bug/56965] Redirect fails with directory traversal
Correct invalid r10536 with a boolean flag.  Note that this fix for the bug will not actually correct the redirects, it will only prevent phpBB from redirecting outside $phpbb_root_path when redirect()'s third argument is not provided.
2010-03-22 21:16:11 -05:00
Igor Wiedler
a5057c9f25 Merge branch 'develop-olympus' into git-tools 2010-03-22 22:54:24 +01:00
Nils Adermann
b3ff3be0dc Merge branch 'bug/cs278/58685' into develop-olympus
* bug/cs278/58685:
  [bug/58685] Correct spelling errors in append_sid() comments.
2010-03-18 22:13:25 +01:00
Nils Adermann
c6870ac3fe Merge branch 'bug/cs278/58025' into develop-olympus
* bug/cs278/58025:
  [bug/58025] Search robots are now redirected if they send a SID in the request

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-03-18 22:10:31 +01:00
Chris Smith
b64686073a [bug/58685] Correct spelling errors in append_sid() comments. 2010-03-18 21:07:19 +00:00
Chris Smith
492063cec6 [bug/59465] Remove start=0 from topic pagination links.
Patch once again by nn-.
2010-03-18 20:28:59 +00:00
Chris Smith
a3a8fb989c [bug/59465] Removes start=0 from URLs used by viewtopic and viewforum.
Having start=0 makes search engines index the page twice once with and
once without the start=0 parameter. This results in duplicate results
in the search results. Patch contributed by nn-.
2010-03-18 17:22:30 +00:00
Nils Adermann
5193160546 Merge branch 'feature/arstechnica/memcache-multi-server' into develop-olympus
* feature/arstechnica/memcache-multi-server:
  [feature/arstechnica/memcache-multi-server] Add memcache-multi-server to the changelog.
2010-03-18 17:09:52 +01:00
Nils Adermann
f7c41e1db7 [feature/arstechnica/memcache-multi-server] Add memcache-multi-server to the changelog. 2010-03-18 17:09:18 +01:00
Nils Adermann
da5c36fdeb Merge branch 'feature/arstechnica/memcache-multi-server' into develop-olympus
* feature/arstechnica/memcache-multi-server:
  [feature/memcache-multi-server] Changing format for multiple memcache hosts. Fixing code style issues in changes.
  [feature/memcache-multi-server] Adding support for multiple memcache servers to acm_memcache.php
2010-03-18 17:04:14 +01:00
mrkurt
c57c1f3fc6 [feature/memcache-multi-server] Changing format for multiple memcache hosts. Fixing code style issues in changes.
Host and ports are now represented like this in config:
host1/port1,host2/port2,host3/port3
2010-03-18 17:01:50 +01:00
mrkurt
559313eda6 [feature/memcache-multi-server] Adding support for multiple memcache servers to acm_memcache.php
You can define multiple memcache servers in your config using this format:

host::port,host::port,host::port

Example:
@define(PHPBB_ACM_MEMCACHE, '127.0.0.1::11211,10.0.0.2::11211,memcache1::11211'
2010-03-18 17:01:21 +01:00
Igor Wiedler
ae48c8ee9e [git-tools] Improvements for the pre-commit hook
One major issue with the pre-hook so far was partially staged files,
because it used filenames for php lint. These changes will make the hook read the file contents from the index instead.

Great thanks to David Soria Parra.
2010-03-17 23:07:57 +01:00
Nils Adermann
10f81ee79f Merge branch 'bug/jellydoughnut/58415' into develop-olympus
* bug/jellydoughnut/58415:
  Allow setting parent forums regardless of permission settings. (Bug #58415)

Conflicts:
	phpBB/docs/CHANGELOG.html
2010-03-17 18:05:17 +01:00
Josh Woody
144effd74c Allow setting parent forums regardless of permission settings. (Bug #58415) 2010-03-17 10:04:07 -05:00
Igor Wiedler
6a9304021f [git-tools] Improvements on prepare-commt-msg hook
prepare-commit-hook now uses `git symbolic-ref HEAD` instead of reading
$GIT_DIR/HEAD directly. This seems to be a more portable solution.

Thanks to Chris (cs278/ToonArmy) for the suggestion.
2010-03-13 13:10:14 +01:00
Joas Schilling
4349bec316 [bug/59135] Fix open_basedir issues when accessing styles- and language-management. (Bug #59135)
introduced in r10496 and r10360/r10361
2010-03-13 11:37:06 +01:00
Chris Smith
d07e152ea7 [bug/58025] Search robots are now redirected if they send a SID in the request
Previously search robots could stumble upon a board link somewhere on the web
containing a SID they'd follow it and end up indexing that page with the SID
in the request URI, this fix prevents that by redirecting them to the same URI
just without the SID.
2010-03-13 02:15:39 +00:00
Igor Wiedler
f9192bed79 [git-tools] Some pre-commit enhancements, abolish tempfile 2010-03-11 19:44:21 +01:00
Igor Wiedler
6df10358aa [git-tools] use mktemp in pre-commit (thanks nn-) 2010-03-10 21:37:55 +01:00
Igor Wiedler
3dd9040cc1 Merge branch 'develop-olympus' into git-tools 2010-03-10 20:12:10 +01:00
Igor Wiedler
db8c557e4c [git-tools] pre-commit hook for syntax checking
This pre-commit hook utilises PHP's command-line -l (lint) option, which
checks for syntax errors. In case of an error the commit is rejected and
the error displayed.

Testing is welcome.
2010-03-10 20:07:10 +01:00
Nils Adermann
60bd1edcb5 [develop-olympus] Backported 3.1 unit tests to 3.0.
Start adding unit tests for bugs you fix! Tests for anything are
welcome really. We have to work on these a lot.
2010-03-10 16:24:19 +01:00
Nils Adermann
d9567f121b Merge branch 'develop-olympus' of git://github.com/evil3/phpbb3 into develop-olympus 2010-03-08 01:07:27 +01:00
Igor Wiedler
0a6db697e6 Add feature/ support to branchname hook
The previously introduced branchname hook now will also use feature/
branch names, in addition to the existing bug/.
2010-03-08 01:04:33 +01:00
Nils Adermann
9f8d258de4 Merge branch 'develop-olympus' of git://github.com/evil3/phpbb3 into develop-olympus 2010-03-08 00:50:48 +01:00
Igor Wiedler
d0d1ab5471 Adding a branchname prepare-commit-msg hook
Git supports several hooks, some of which are client-side. The
prepare-commit-msg hook is run right after a `git commit` call, before
the editor is opened. This allows the initial message to be altered.

This hook will check if the current branch name begins with `bug/`, in
which case it will prepend `[$branchname]` to the commit message. This
makes it easier to create proper commit messages.

http://wiki.phpbb.com/Git#Commit_Messages

For more information refer to the hook source.
2010-03-08 00:41:42 +01:00
Nils Adermann
23141a2c51 Merge branch 'bug/dpward/58755' into develop-olympus 2010-03-07 21:56:48 +01:00
Nils Adermann
62e0c325b4 Merge branch 'bug/evil3/12531' into develop-olympus 2010-03-07 21:56:07 +01:00
Nils Adermann
c52a7e9a08 Adding the bugfix for #58755 to the changelog. 2010-03-07 21:54:56 +01:00
David Ward
865123ffda [bug/58755] Fix a redirection bug that can occur after login
This issue affects any forum (i.e. https://myforum/phpBB3/) where:
 - the forum is located in a directory underneath the web root (i.e., NOT https://myforum/)
 - a user accesses the forum with a URI pointing to a directory rather than a script (i.e., NOT https://myforum/phpBB3/index.php)
 - the URI used ends in a slash (i.e., NOT https://myforum/phpBB3)

If these conditions are met, after successful login the user is redirected to an invalid URI (i.e., https://myforum/phpBB3/phpBB3?sid=).

This change fixes extract_current_page() to handle the case correctly where the URI ends in a slash and is not the web root. So after successful login, the redirection back to the main page will work (i.e., https://myforum/phpBB3/?sid=)
2010-03-07 13:56:24 -05:00
Igor Wiedler
5cfa354433 [bug/12531] proposed solution for bug #12531 2010-03-06 17:57:27 +01:00
Nils Adermann
568fb83373 Merge branch 'master' into develop-olympus 2010-03-06 02:29:04 +01:00
Nils Adermann
5d1d32a65b Merge branch 'bug/evil3/51555' into develop-olympus 2010-03-06 02:13:31 +01:00
Igor Wiedler
9d005973b0 [bug/51555] proposed fix for bug #51555 2010-03-06 01:39:44 +01:00
Cullen Walsh
0307d1f4aa Oops, forgot the changelog for #57105 2010-03-06 01:36:23 +01:00
Nils Adermann
c4e02a1916 Merge commit 'release-3.0.7-PL1' 2010-03-06 01:20:12 +01:00
Nils Adermann
2e1cd98a5a exclude the image file with text in the name from having newlines fixed 2010-03-05 22:22:39 +01:00
Nils Adermann
39490abfff Incrementing the version number to 3.0.7-PL1 2010-03-05 21:09:37 +01:00
Nils Adermann
c8fd9f4266 Mark the bugfix #58595 as a security fix 2010-03-05 21:00:13 +01:00
Andreas Fischer
b1ab74b043 Fix Bug #58595 - ATOM Feed exposes forum content under some circumstances. 2010-03-05 20:59:20 +01:00
Nils Adermann
07fd270530 Merge branch 'bug/bantu/58595' into develop-olympus 2010-03-05 20:56:45 +01:00
Nils Adermann
f0a82396d4 Mark the bugfix #58595 as a security fix 2010-03-05 20:56:06 +01:00
Andreas Fischer
7f991e8480 Fix Bug #58595 - ATOM Feed exposes forum content under some circumstances. 2010-03-05 18:51:30 +01:00
Nils Adermann
ac32927566 Merge remote branch 'github-ckwalsh/bug/57105' into bug/ckwalsh/57105 2010-03-02 22:27:45 +01:00
Cullen Walsh
b853845069 Oops, forgot the changelog for #57105 2010-03-02 13:01:05 -08:00
Nils Adermann
be78817d27 Merge remote branch 'github-ckwalsh/bug/57105' into bug/ckwalsh/57105 2010-03-02 21:41:24 +01:00
Cullen Walsh
965ab55394 Parse urls in signature taking into account the allow_sig_links config option introduced in phpBB 3.0.6, per bug #57105 2010-03-02 12:22:11 -08:00
Nils Adermann
f493509eb2 Merge branch 'bug/aptx/54945' into develop-olympus 2010-03-02 21:15:13 +01:00
Marek A. Ruszczyński
93a2407f65 Bug #54945 again: MySQL 4 does not support aggregation in ORDER BY.
Moved the MIN(smiley_order) to the SELECT column list now, so it can be
used for sorting on MySQL 4, but also still works on MSSQL, which the
bug was originally about.
2010-03-02 21:12:35 +01:00
Chris Smith
5003595ed6 Missed one half of bug #54855 whoops 2010-03-02 21:07:07 +01:00
Nils Adermann
72e2af08e1 Merge remote branch 'github-cs278/bug/54855' into bug/cs278/54855 2010-03-02 20:46:19 +01:00
Nils Adermann
24fda6671d Merging master after 3.0.7 release into develop-olympus to make sure there are no inconsistencies. 2010-03-02 20:33:50 +01:00
Chris Smith
2f6c8a0164 Missed one half of bug #54855 whoops 2010-03-02 19:30:37 +00:00
Nils Adermann
ca8cc03763 Merge commit 'release-3.0.7' 2010-03-02 01:09:13 +01:00
Nils Adermann
35a62ed008 Merge commit 'release-3.0.7-RC2' 2010-03-02 01:09:11 +01:00
Nils Adermann
3b46681652 Merge commit 'release-3.0.7-RC1' 2010-03-02 01:09:02 +01:00
Nils Adermann
6606e4bffe Merge commit 'release-3.0.6' 2010-03-02 01:05:41 +01:00
Nils Adermann
723e38ece2 Merge commit 'release-3.0.6-RC4' 2010-03-02 01:05:41 +01:00
Nils Adermann
6ebc26e330 Merge commit 'release-3.0.6-RC3' 2010-03-02 01:05:41 +01:00
Nils Adermann
f0eb18fffd Merge commit 'release-3.0.6-RC2' 2010-03-02 01:05:40 +01:00
Nils Adermann
021c186be9 Merge commit 'release-3.0.6-RC1' 2010-03-02 01:05:40 +01:00
Nils Adermann
4f9c3b8f5c Merge commit 'release-3.0.5' 2010-03-02 01:05:40 +01:00
Nils Adermann
a45bca7c49 Merge commit 'release-3.0.5-RC1' 2010-03-02 01:05:39 +01:00
Nils Adermann
1f3498c0d6 Merge commit 'release-3.0.4' 2010-03-02 01:05:39 +01:00
Nils Adermann
a0b5877217 Merge commit 'release-3.0.4-RC1' 2010-03-02 01:05:39 +01:00
Nils Adermann
6482e72e7c Merge commit 'release-3.0.3' 2010-03-02 01:05:39 +01:00
Nils Adermann
25052e1f67 Merge commit 'release-3.0.3-RC1' 2010-03-02 01:05:39 +01:00
Nils Adermann
4cc06650d4 Merge commit 'release-3.0.2' 2010-03-02 01:05:39 +01:00
Nils Adermann
92271af9cd Merge commit 'release-3.0.2-RC2' 2010-03-02 01:05:38 +01:00
Nils Adermann
ee781806eb Merge commit 'release-3.0.2-RC1' 2010-03-02 01:05:38 +01:00
Nils Adermann
5324afeffd Merge commit 'release-3.0.1' 2010-03-02 01:05:38 +01:00
Nils Adermann
0434ccf303 Merge commit 'release-3.0.1-RC1' 2010-03-02 01:05:38 +01:00
Nils Adermann
2ba97da524 Merge commit 'release-3.0.0' 2010-03-02 01:05:37 +01:00
Nils Adermann
aa4495b8ad Merge commit 'release-3.0-RC8' 2010-03-02 01:05:37 +01:00
Nils Adermann
8a3c323933 Merge commit 'release-3.0-RC7' 2010-03-02 01:05:37 +01:00
Nils Adermann
54f94e0d42 Merge commit 'release-3.0-RC6' 2010-03-02 01:05:37 +01:00
Nils Adermann
1a09d0e238 Merge commit 'release-3.0-RC5' 2010-03-02 01:05:36 +01:00
Nils Adermann
75e7ffc317 Merge commit 'release-3.0-RC4' 2010-03-02 01:05:36 +01:00
Nils Adermann
1ceddd9eec Merge commit 'release-3.0-RC3' 2010-03-02 01:05:36 +01:00
Nils Adermann
0e0c8d7819 Merge commit 'release-3.0-RC2' 2010-03-02 01:05:35 +01:00
Nils Adermann
bae824e818 Merge commit 'release-3.0-RC1' 2010-03-02 01:05:35 +01:00
Nils Adermann
517f253532 Merge commit 'release-3.0-B5' 2010-03-02 01:05:34 +01:00
Nils Adermann
89b37954f9 Merge commit 'release-3.0-B4' 2010-03-02 01:05:34 +01:00
Nils Adermann
07633a66e8 Merge commit 'release-3.0-B3' 2010-03-02 01:05:34 +01:00
Nils Adermann
ee82970d96 Merge commit 'release-3.0-B2' 2010-03-02 01:05:33 +01:00
Nils Adermann
f7a28642fe Tagging the "Run, bugs, run! Bertie is coming!" 3.0.7 release.
git-svn-id: file:///svn/phpbb/tags/release_3_0_7@10557 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 22:24:04 +00:00
Yuriy Rusko
d62068cfad #58285 - Language pack fix
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10556 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 21:01:16 +00:00
Nils Adermann
872ad322ec Increment version number to 3.0.7
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10555 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 19:30:58 +00:00
Nils Adermann
a6f2f7e9a9 Merge r10487 into 3.0.7: Make those warnings more consistent.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10554 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 19:20:23 +00:00
Nils Adermann
c089fe8e39 Prepare 3.0.7 release
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10553 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 00:41:56 +00:00
Nils Adermann
cb2d1bd4fc Merge r10551 into 3.0.7: Make the new {INTTEXT} work on pcre installations without utf8 support, it only matches ascii characters & numbers there. [Bug #58055]
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10552 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-28 00:00:39 +00:00
Nils Adermann
5bd9d461e0 Make the new {INTTEXT} work on pcre installations without utf8 support, it only matches ascii characters & numbers there. [Bug #58055]
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10551 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 23:57:13 +00:00
Nils Adermann
33de245e64 Merge r10549 into 3.0.7: After generating all packages go through the full installs and make sure the files do not contain any errors [Bug #58255]
3.0.7-RC2 contains an image file missing one byte (icon_textbox_search.gif) you can take it from an previous phpBB3 release, it was not changed.


git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10550 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 22:08:43 +00:00
Nils Adermann
e5c6cac09a After generating all packages go through the full installs and make sure the files do not contain any errors [Bug #58255]
3.0.7-RC2 contains an image file missing one byte (icon_textbox_search.gif) you can take it from an previous phpBB3 release, it was not changed.


git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10549 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 21:19:43 +00:00
Nils Adermann
bba33ead30 Updating the create_schema_files.php file to reflect the minor mssql schema change introduced in r10489 (implementing mssql native driver support - Bug #57055)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10548 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 18:04:32 +00:00
Henry Sudhof
1d098379d9 #58055 again
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10547 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 11:10:34 +00:00
Henry Sudhof
c115ad2b8f #58055 again
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10546 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-27 11:09:23 +00:00
Henry Sudhof
df3ac64083 okay, minus should work now #58055
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10545 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-26 20:43:54 +00:00
Henry Sudhof
204b5f579e okay, minus should work now #58055
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10544 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-26 20:32:00 +00:00
Henry Sudhof
9e389e8a5b possible cause of #58055
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10543 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-26 08:36:53 +00:00
Henry Sudhof
f03e986f81 possible cause of #58055
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10542 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-26 08:35:41 +00:00
Henry Sudhof
df24e4feaf only whitespaces, not newlines
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10541 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 21:50:00 +00:00
Henry Sudhof
c2f2bff2ae only whitespaces, not newlines
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10540 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 21:48:21 +00:00
Andreas Fischer
cdc96b0c7d Bug #58085 - Add terminating semicolons to JavaScript code found by JSLint. Patch by nn-
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10539 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 10:51:35 +00:00
Andreas Fischer
27fa1a69e8 Merge r10537 into 3.0.7. branch
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_7@10538 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 10:42:25 +00:00
Andreas Fischer
e57981d1f5 Fix Bug #57875 - We have to add the paragraph tags there. Patch by HardStyle, Regression from r10096.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10537 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 10:33:06 +00:00
Josh Woody
9e64c3bd84 Bug #56965 - Allow redirect() to redirect across directories.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10536 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-25 00:18:30 +00:00
Nils Adermann
8f5155d272 Quick reply enable button was merged into 3.0.7: r10491, r10492 and r10529
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10530 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-23 23:49:15 +00:00
Nils Adermann
47ce0f2a93 Update: Store expected resulting file contents in cache and do not suggest further merges if the contents match, also fixes infinite merge loop [Bug #54075]
If you were trying to update from 3.0.5 to 3.0.6 but were presented with a dialogue
suggesting to merge the same file over and over take the install/install_update.php
from 3.0.7-RC2 or current svn, and replace your 3.0.5 one with it. It works fine in
3.0.5.


git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10528 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-23 23:35:48 +00:00
Andreas Fischer
2ec1d92388 Fix Bug #57375 - Do not delete unrelated attachments when deleting empty forums.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10526 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-23 18:52:06 +00:00
Nils Adermann
2c3c97b8ee merge r10513 into 3.0 branch: propdel
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10525 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-23 16:18:57 +00:00
Nils Adermann
83cf74de2b Fixing the code changes from diff building script: When an edit was detected as replacing an empty line by diff it would get dropped from the code changes
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10522 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-23 15:07:58 +00:00
Andreas Fischer
e8f01ff74b We have to use a 'snapshot' of the function there, because it might not be available yet. - Bug #57755
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10520 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-22 19:33:27 +00:00
Chris Smith
e01171ca85 General errors can't be logged if there isn't a database connection, introduced in r9924 #57975
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10518 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-22 00:57:01 +00:00
Henry Sudhof
22621e0439 Enter stage left: the INTTEXT token
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10516 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-21 11:33:29 +00:00
Nils Adermann
6b99b85c8f BBCode parser now uses the user object for all settings rather than taking some from the template object [Bug #57365]
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10515 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-21 01:31:10 +00:00
Yuriy Rusko
a4727a0f81 Bugs #53925 and #52085 - Language fixes related to the quick reply settings
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10514 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-20 22:36:22 +00:00
Henry Sudhof
14e21a1a38 warn users about TEXT
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10511 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-20 16:18:28 +00:00
Chris Smith
14b5aab07f Firebird based board can now access their global announcements, took a while to discover this one. #57525
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10509 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-20 00:02:56 +00:00
Josh Woody
d49806a043 #57715 - Correct behavior of "force_approved_state" when value is false.
(Merging r10507 into branches/phpBB-3_0_0)

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10508 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-18 04:57:23 +00:00
Andreas Fischer
576722cead Adding 3.0.7-RC2 to database updater
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10504 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-18 02:06:20 +00:00
Andreas Fischer
c02fedb6c7 Revising r10499, #57755
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10503 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-18 02:01:32 +00:00
Andreas Fischer
9bcb25cd10 We can put the fix for #57505 into 3.0.7 because we have to regenerate the packages with the template changes anyway.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10500 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-18 01:23:31 +00:00
Andreas Fischer
30b83896a1 Fix Bug #57755 - Make user_email_hash() function independent from system's architecture.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10499 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-18 01:17:30 +00:00
Andreas Fischer
68cac354aa Add 3.0.7-RC1 to the updater.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10497 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-17 12:58:52 +00:00
Joas Schilling
c0e9bc5126 Bug #57795 - [Fix] Restrict search for language/../iso.txt to folders.
Authorised by: bantu


git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10496 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-17 12:49:05 +00:00
Andreas Fischer
e1ae09a787 Let's fix #57825 in 3.0.7. - r10493
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10494 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-17 09:59:04 +00:00
Andreas Fischer
68393ecc1c Fix Bug #57825 - Small language correction for the FAQ page.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10493 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-16 20:42:55 +00:00
Andreas Fischer
a0531a990b r10491 - Also in the Post Settings section. Thanks leviatan21
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10492 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-16 10:42:24 +00:00
Andreas Fischer
c6e176d88e Add sql_bit_or() dbal method. Add ability to enable quick reply in all forums. -- Voila ;-)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10491 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-15 15:04:44 +00:00
Nils Adermann
7332b3b741 Forgot to properly update the file header of mssqlnative.php, revising r10489 [Bug #57055]
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10490 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-11 00:05:32 +00:00
Nils Adermann
1802b9ff92 Support for Microsoft's Native SQL Server Driver for PHP - Patch by Chris Pucci at Microsoft [Bug #57055]
If you are using SQL Server, please try to test this new dbal so we can safely include it in 3.0.8. If you
want to try it on a current phpBB version you can apply the latest version of the patch to your board which
you can find attached to the bug tracker ticket (look in the comments for the latest version, the one in the
ticket itself is outdated): http://www.phpbb.com/bugs/phpbb3/ticket.php?ticket_id=57055



git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10489 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-11 00:02:51 +00:00
Andreas Fischer
6c321c53a1 Fix Bug #57505 - Replace button2 with btnlite, button2 doesn't exist.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10488 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-09 14:10:42 +00:00
Andreas Fischer
964e9cf3ef Make those warnings more consistent.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10487 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-08 23:58:37 +00:00
Andreas Fischer
e3b07a88f4 Let's adjust those to the format of the other entries.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10485 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-08 16:49:21 +00:00
Andreas Fischer
037aea067b Fix Bug #57455 - Fix problems with firebird by no longer using 'count' as a column alias.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10484 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-08 16:43:39 +00:00
Josh Woody
d26f66703b Fix #57395, a regression from r10427
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10482 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-07 01:04:10 +00:00
Andreas Fischer
64b4a8bd44 No longer needed, as of r10480.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10481 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-07 00:50:21 +00:00
Andreas Fischer
4bb3266cc6 Bug #57345 - No longer return the character O in generated random strings and passwords.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10480 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-07 00:27:00 +00:00
Andreas Fischer
c0836e8835 Bug #13181 - Honor minimum and maximum password length in generated passwords as much as we can.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10479 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-07 00:20:46 +00:00
Andreas Fischer
aec50a4328 Fix Bug #57385
Correctly sort database backup file list by date on database restore page.
Take admin's time zone settings into account when listing database backup files.


git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10478 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-06 21:19:40 +00:00
Andreas Fischer
52c13bc741 Add 'Changes since 3.0.7' section to Changelog.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10477 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-06 21:07:25 +00:00
Josh Woody
8adf583bdf Bug #38765 - Unify BBCode selection across browsers (also needs fixing in subsilver2)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10474 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-04 01:04:52 +00:00
Josh Woody
99c608e88c Bug #57265 - Convertors cannot read configuration files
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10473 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-04 00:40:19 +00:00
Josh Woody
63be6762f3 Bug #38765 - Unify BBCode selection across browsers
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10472 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-04 00:04:25 +00:00
Nils Adermann
67e8cbdd00 Tagging the 3.0.7-RC1 release.
git-svn-id: file:///svn/phpbb/tags/release_3_0_7-RC1@10471 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-02 01:32:43 +00:00
Chris Smith
6b519c8bdf Slight performance optimisation for r9624 refs #54265
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10470 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-01 22:14:04 +00:00
Nils Adermann
f90bab90c7 Change version number to 3.0.8-dev in preparation for development on next release
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10469 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-01 01:18:21 +00:00
Nils Adermann
5a429ee61e Change version numbers to 3.0.7 and 3.0.8-dev in preparation for development on next release
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10468 89ea8834-ac86-4346-8a33-228a782c2dd0
2010-02-01 01:14:06 +00:00
Meik Sievertsen
338559baca Tag phpBB 3.0.6 Release
git-svn-id: file:///svn/phpbb/tags/release_3_0_6@10278 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-17 15:33:03 +00:00
Meik Sievertsen
98a2e3b938 merge focus qr code from 3_0_0
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10277 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-16 17:09:15 +00:00
Meik Sievertsen
7bf1e08a35 merge r10271 (late-late fix. :) But good someone at least noticed)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10272 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-16 10:33:51 +00:00
Meik Sievertsen
46a07c94ba merge r10269
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10270 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-14 23:00:30 +00:00
Meik Sievertsen
0cdf46db0f merge r10267
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10268 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-14 20:15:50 +00:00
Meik Sievertsen
43598d7727 merge r10262
Fix for r10255

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10263 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-09 16:49:15 +00:00
Meik Sievertsen
700347738c merging r10260
Fix sql error in cache_moderators() if using postgresql. (Bug #53765)

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10261 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-09 16:29:30 +00:00
Meik Sievertsen
d5a7d20579 Branch off 3.0.6. This ensures we are able to work on the next release and also decide what will be included as late fixes in RC's.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_6@10259 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-09 14:24:06 +00:00
Meik Sievertsen
199bb13660 Tag phpBB Release Candidate 4
git-svn-id: file:///svn/phpbb/tags/release_3_0_6-RC4@10250 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-11-01 19:19:17 +00:00
Meik Sievertsen
8d12b40fc4 Tag phpBB 3.0.6-RC3
git-svn-id: file:///svn/phpbb/tags/release_3_0_6-RC3@10222 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-10-13 12:27:40 +00:00
Meik Sievertsen
ac5995551b Tag phpBB 3.0.6 Release Candidate 2
git-svn-id: file:///svn/phpbb/tags/release_3_0_6-RC2@10190 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-09-25 17:05:47 +00:00
Meik Sievertsen
3ddedd5ff2 Tag 3.0.6-RC1
git-svn-id: file:///svn/phpbb/tags/release_3_0_6-RC1@10140 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-09-12 17:15:03 +00:00
Meik Sievertsen
6c2760a736 Tag 3.0.5 release before we release
git-svn-id: file:///svn/phpbb/tags/release_3_0_5@9522 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-05-31 15:26:58 +00:00
Meik Sievertsen
6485d66743 3.0.5-RC1 release
git-svn-id: file:///svn/phpbb/tags/release_3_0_5-RC1@9509 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-05-03 12:02:38 +00:00
Meik Sievertsen
a94c760650 Move tag 3_0_0_RC1 to 3_0_0-RC1, i tagged it wrongly
git-svn-id: file:///svn/phpbb/tags/release_3_0_4-RC1@9189 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-12-13 12:03:47 +00:00
Meik Sievertsen
d78df35da9 Tag 3.0.4
git-svn-id: file:///svn/phpbb/tags/release_3_0_4@9188 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-12-13 01:11:04 +00:00
Meik Sievertsen
141eeec915 Tag phpBB 3.0.4-RC1
git-svn-id: file:///svn/phpbb/tags/release_3_0_4_RC1@9183 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-12-08 14:37:33 +00:00
Meik Sievertsen
615b0d4e37 3.0.3 tag
git-svn-id: file:///svn/phpbb/tags/release_3_0_3@9059 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-11-12 21:06:22 +00:00
Meik Sievertsen
b0e185e7db Tag 3.0.3-RC1 release
git-svn-id: file:///svn/phpbb/tags/release_3_0_3-RC1@9047 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-11-02 22:13:35 +00:00
Meik Sievertsen
b21ca5be71 Tagging 3.0.2 release
git-svn-id: file:///svn/phpbb/tags/release_3_0_2@8679 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-07-10 21:19:26 +00:00
Meik Sievertsen
7e97da5285 3.0.2-RC2 released
git-svn-id: file:///svn/phpbb/tags/release_3_0_2-RC2@8676 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-06-29 10:39:19 +00:00
Meik Sievertsen
e2ef990121 Tag 3.0.2 RC1
git-svn-id: file:///svn/phpbb/tags/release_3_0_2-RC1@8658 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-06-14 15:20:12 +00:00
Meik Sievertsen
4ff33f5d49 tag release 3.0.1
git-svn-id: file:///svn/phpbb/tags/release_3.0.1@8498 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-04-08 12:21:52 +00:00
Meik Sievertsen
21ce021519 Creating Tag for 3.0.1-RC1
git-svn-id: file:///svn/phpbb/tags/release_3_0_1-RC1@8470 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-03-26 11:47:33 +00:00
(no author)
7ecd17a993 This commit was manufactured by cvs2svn to create tag
'release_3_0_0'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_0@8279 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-12-12 16:46:54 +00:00
(no author)
0aef1e57a7 This commit was manufactured by cvs2svn to create tag
'release_3_0_RC8'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC8@8260 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-12-01 13:16:37 +00:00
(no author)
438f31326a This commit was manufactured by cvs2svn to create tag
'release_3_0_RC7'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC7@8195 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-10-14 23:10:22 +00:00
(no author)
b5535db081 This commit was manufactured by cvs2svn to create tag
'release_3_0_RC6'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC6@8175 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-10-13 12:30:53 +00:00
(no author)
f1e54d97fc This commit was manufactured by cvs2svn to create tag
'release_3_0_RC5'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC5@8071 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-08-24 18:26:15 +00:00
(no author)
e02e530204 This commit was manufactured by cvs2svn to create tag
'release_3_0_RC4'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC4@7975 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-07-28 16:40:59 +00:00
(no author)
aadda93973 This commit was manufactured by cvs2svn to create tag
'release_3_0_RC3'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC3@7843 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-07-08 16:39:48 +00:00
(no author)
4319ebbaf6 This commit was manufactured by cvs2svn to create tag
'release_3_0_RC2'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC2@7793 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-24 16:38:12 +00:00
(no author)
19c923cf1b This commit was manufactured by cvs2svn to create tag
'release_3_0_RC1'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_RC1@7657 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-05-20 14:59:17 +00:00
(no author)
7068d8b462 This commit was manufactured by cvs2svn to create tag
'release_3_0_B5'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_B5@6949 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-01-28 17:00:03 +00:00
(no author)
80d429a02d This commit was manufactured by cvs2svn to create tag
'release_3_0_B4'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_B4@6680 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-11-27 21:41:56 +00:00
(no author)
5cfa0ec0c3 This commit was manufactured by cvs2svn to create tag
'release_3_0_B3'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_B3@6579 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-11-12 19:45:36 +00:00
(no author)
108312d52a This commit was manufactured by cvs2svn to create tag
'release_3_0_B2'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_B2@6288 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-08-12 20:24:25 +00:00
(no author)
c9f68f0b5c This commit was manufactured by cvs2svn to create tag
'release_3_0_B1'.

git-svn-id: file:///svn/phpbb/tags/release_3_0_B1@6094 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-06-17 20:30:41 +00:00
367 changed files with 14886 additions and 4956 deletions

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
*~
/phpunit.xml
/phpBB/cache/*.php
/phpBB/cache/queue.php.lock
/phpBB/config.php
/phpBB/files/*
/phpBB/images/avatars/gallery/*
/phpBB/images/avatars/upload/*
/phpBB/store/*
/tests/phpbb_unit_tests.sqlite2
/tests/test_config.php
/tests/tmp/*

20
README.md Normal file
View File

@@ -0,0 +1,20 @@
[![phpBB](http://www.phpbb.com/theme/images/logos/blue/160x52.png)](http://www.phpbb.com)
## ABOUT
phpBB is a free bulletin board written in PHP.
## COMMUNITY
Find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the development on [area51](http://area51.phpbb.com/phpBB/index.php).
## CONTRIBUTE
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
2. [Create a ticket (unless there already is one)](http://tracker.phpbb.com/secure/CreateIssue!default.jspa)
3. [Read our Git Contribution Guidelines](http://wiki.phpbb.com/Git); if you're new to git, also read [the introduction guide](http://wiki.phpbb.com/display/DEV/Working+with+Git)
4. Send us a pull request
## LICENSE
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)

175
build/build.xml Normal file
View File

@@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
<!-- a few settings for the build -->
<property name="newversion" value="3.0.10-RC2" />
<property name="prevversion" value="3.0.9" />
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.7-PL1, 3.0.8, 3.0.10-RC1" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
<property name="versions" value="${oldversions}, ${newversion}" />
<!-- These are the main targets which you will probably want to use -->
<target name="package" depends="clean,prepare,create-package" />
<target name="all" depends="clean,prepare,test,docs,create-package" />
<target name="build" depends="clean,prepare,test,docs" />
<target name="prepare">
<mkdir dir="build/logs" />
<mkdir dir="build/api" />
<mkdir dir="build/codebrowser" />
<mkdir dir="build/coverage" />
<mkdir dir="build/cpd" />
<mkdir dir="build/dependencies" />
<mkdir dir="build/new_version" />
<mkdir dir="build/new_version/files" />
<mkdir dir="build/new_version/patches" />
<mkdir dir="build/new_version/release_files" />
<mkdir dir="build/new_version/update" />
<mkdir dir="build/old_versions" />
<mkdir dir="build/save" />
</target>
<target name="clean">
<delete dir="build/logs" />
<delete dir="build/api" />
<delete dir="build/codebrowser" />
<delete dir="build/coverage" />
<delete dir="build/cpd" />
<delete dir="build/dependencies" />
<delete dir="build/new_version" />
<delete dir="build/old_versions" />
<delete dir="build/save" />
</target>
<target name="test" depends="clean,prepare">
<exec dir="."
command="phpunit --log-junit build/logs/phpunit.xml
--coverage-clover build/logs/clover.xml
--coverage-html build/coverage"
passthru="true" />
</target>
<target name="test-slow" depends="clean,prepare">
<exec dir="."
command="phpunit --log-junit build/logs/phpunit.xml
--configuration phpunit.xml.all
--group slow
--coverage-clover build/logs/clover-slow.xml
--coverage-html build/coverage-slow"
passthru="true" />
</target>
<target name="docs">
<!-- only works if you setup phpdoctor:
git clone https://github.com/peej/phpdoctor.git
and then create an executable phpdoctor in your path containing
#!/bin/sh
php -f /path/to/phpdoctor/phpdoc.php $@
-->
<exec dir="build"
command="phpdoctor phpdoc-phpbb.ini"
passthru="true" />
</target>
<target name="old-version-diffs">
<foreach list="${oldversions}" param="version" target="old-version-diff" />
</target>
<!-- This target retrieves an old version from the git tag release-${version}
and creates a diff between that release and the new one -->
<target name="old-version-diff">
<echo msg="Retrieving version ${version}" />
<mkdir dir="build/old_versions/release-${version}" />
<phingcall target="export">
<property name="revision" value="release-${version}" />
<property name="dir" value="build/old_versions/release-${version}" />
</phingcall>
<phingcall target="clean-diff-dir">
<property name="dir" value="build/old_versions/release-${version}" />
</phingcall>
<exec dir="build/old_versions" command="diff -crNEBwd release-${version} release-${newversion} >
../new_version/patches/phpBB-${version}_to_${newversion}.patch" escape="false" />
</target>
<target name="prepare-new-version">
<!-- select the currently checked out commit (HEAD) for packaging -->
<mkdir dir="build/new_version/phpBB3" />
<phingcall target="export">
<property name="revision" value="HEAD" />
<property name="dir" value="build/new_version/phpBB3" />
</phingcall>
<!-- copy into directory for diffs -->
<exec dir="build" command="cp -rp new_version/phpBB3 old_versions/release-${newversion}" />
<!-- and clean up -->
<phingcall target="clean-diff-dir">
<property name="dir" value="build/old_versions/release-${newversion}" />
</phingcall>
<!-- create an empty config.php file (not for diffs) -->
<touch file="build/new_version/phpBB3/config.php" />
</target>
<target name="create-package" depends="prepare-new-version,old-version-diffs">
<exec dir="build" command="php -f package.php '${versions}' > logs/package.log" escape="false" />
<exec dir="build" command="php -f build_diff.php '${prevversion}' '${newversion}' > logs/build_diff.log" escape="false" />
<exec dir="build" escape="false"
command="diff -crNEBwd old_versions/release-${prevversion}/language new_version/phpBB3/language >
save/save_${prevversion}_to_${newversion}/language/phpbb-${prevversion}_to_${newversion}_language.patch" />
<exec dir="build" escape="false"
command="diff -crNEBwd old_versions/release-${prevversion}/styles/prosilver new_version/phpBB3/styles/prosilver >
save/save_${prevversion}_to_${newversion}/prosilver/phpbb-${prevversion}_to_${newversion}_prosilver.patch" />
<exec dir="build" escape="false"
command="diff -crNEBwd old_versions/release-${prevversion}/styles/subsilver2 new_version/phpBB3/styles/subsilver2 >
save/save_${prevversion}_to_${newversion}/subsilver2/phpbb-${prevversion}_to_${newversion}_subsilver2.patch" />
<exec dir="build" escape="false"
command="git shortlog --summary --numbered release-${prevversion}...HEAD >
save/save_${prevversion}_to_${newversion}/phpbb-${prevversion}_to_${newversion}_git_shortlog.txt" />
<exec dir="build" escape="false"
command="git diff --stat release-${prevversion}...HEAD >
save/save_${prevversion}_to_${newversion}/phpbb-${prevversion}_to_${newversion}_git_diffstat.txt" />
</target>
<!--
This target can be called using phingcall to retrieve a clean
checkout of a commit from git. It will only export the phpBB directory.
The properties revision and dir are required.
This target will remove directories that are not needed in distribution
and set correct permissions.
-->
<target name="export">
<exec dir="phpBB"
command="git archive ${revision} | tar -xf - -C ../${dir}"
checkreturn="true" />
<delete file="${dir}/config.php" />
<delete dir="${dir}/develop" />
<delete dir="${dir}/install/data" />
<echo msg="Setting permissions for checkout of ${revision} in ${dir}" />
<!-- set permissions of all files to 644, directories to 755 -->
<exec dir="${dir}" command="find . -type f|xargs chmod 644" escape="false" />
<exec dir="${dir}" command="find . -type d|xargs chmod 755" escape="false" />
<!-- set permissions of some directories to 777 -->
<chmod mode="0777" file="${dir}/cache" />
<chmod mode="0777" file="${dir}/store" />
<chmod mode="0777" file="${dir}/files" />
<chmod mode="0777" file="${dir}/images/avatars/upload" />
</target>
<target name="clean-diff-dir">
<delete dir="${dir}/cache" />
<delete dir="${dir}/docs" />
<delete dir="${dir}/files" />
<delete dir="${dir}/install" />
<delete dir="${dir}/store" />
</target>
</project>

View File

@@ -9,16 +9,26 @@
*
*/
// CONFIG - Begin
$substitute_old = '3.0.6';
$substitute_new = '3.0.7-RC2';
$simple_name_old = 'phpbb306';
$simple_name_new = 'phpbb307-RC2';
if ($_SERVER['argc'] != 3)
{
die("Please specify the previous and current version as arguments (e.g. build_diff.php '1.0.2' '1.0.3').");
}
$old_version = trim($_SERVER['argv'][1]);
$new_version = trim($_SERVER['argv'][2]);
$substitute_old = $old_version;
$substitute_new = $new_version;
$simple_name_old = 'release-' . $old_version;
$simple_name_new = 'release-' . $new_version;
$echo_changes = false;
// DO NOT EVER USE THE FOLLOWING! Fix the script to generate proper changes,
// do NOT manually create them.
// Set this to true to just compress the changes and do not build them again
// This should be used for building custom modified txt file. ;)
$package_changed_files = false;
// CONFIG - End
//$debug_file = 'includes/functions_user.php'; //'styles/prosilver/style.cfg';
$debug_file = false;
@@ -36,9 +46,6 @@ if (!$package_changed_files)
{
if (!$echo_changes)
{
// Cleanup...
run_command("rm -R $location/save/*");
// Create directory...
run_command("mkdir $location/save/{$s_name}");
run_command("mkdir $location/save/{$s_name}/language");
@@ -72,14 +79,14 @@ if (!$echo_changes)
foreach ($compress_programs as $extension => $compress_command)
{
echo "Packaging code changes for $extension\n";
run_command("rm ./../../release_files/{$code_changes_filename}.{$extension}");
run_command("rm ./../../new_version/release_files/{$code_changes_filename}.{$extension}");
flush();
// Build Package
run_command("$compress_command ./../../release_files/{$code_changes_filename}.{$extension} *");
run_command("$compress_command ./../../new_version/release_files/{$code_changes_filename}.{$extension} *");
// Build MD5 Sum
run_command("md5sum ./../../release_files/{$code_changes_filename}.{$extension} > ./../../release_files/{$code_changes_filename}.{$extension}.md5");
run_command("md5sum ./../../new_version/release_files/{$code_changes_filename}.{$extension} > ./../../new_version/release_files/{$code_changes_filename}.{$extension}.md5");
flush();
}
}

View File

@@ -14,10 +14,6 @@ class build_package
var $old_packages;
var $versions;
var $locations;
var $clean_directory_structure;
var $files_to_copy;
var $files_to_remove;
var $remove_from_diff_structure;
// -c - context diff
// -r - compare recursive
@@ -53,11 +49,11 @@ class build_package
$this->package_infos = array(
'package_name' => 'phpBB3',
'name_prefix' => 'phpbb',
'simple_name' => 'phpbb' . str_replace('.', '', $_latest),
'simple_name' => 'release-' . $_latest,
'new_version_number' => $_latest,
'short_version_number' => str_replace('.', '', $_latest),
'release_filename' => 'phpBB-' . $_latest,
'last_version' => 'phpbb' . str_replace('.', '', $_before),
'last_version' => 'release-' . $_before,
'last_version_number' => $_before,
);
@@ -78,112 +74,7 @@ class build_package
continue;
}
$this->old_packages['phpbb' . str_replace('.', '', $package_version)] = $package_version . '_to_';
}
// We need to make sure this is up to date with the latest version
$this->clean_directory_structure = array(
'adm' => array(
'images' => '',
'style' => '',
),
'cache' => '',
'docs' => '',
'download' => '',
'files' => '',
'images' => array(
'avatars' => array(
'gallery' => '',
'upload' => '',
),
'icons' => array(
'misc' => '',
'smile' => '',
),
'ranks' => '',
'smilies' => '',
'upload_icons' => '',
),
'includes' => array(
'acm' => '',
'acp' => array(
'info' => '',
),
'auth' => '',
'captcha' => array(
'plugins' => '',
),
'diff' => '',
'db' => '',
'hooks' => '',
'mcp' => array(
'info' => '',
),
'questionnaire' => '',
'search' => '',
'ucp' => array(
'info' => '',
),
'utf' => array(
'data' => '',
),
),
'install' => array(
'convertors'=> '',
'schemas' => '',
// 'data' => '',
),
'language' => array(
'en' => array(
'acp' => '',
'email' => '',
'mods' => '',
),
),
'store' => '',
'styles' => array(
'subsilver2' => array(
'imageset' => array(
'en' => '',
),
'template' => '',
'theme' => array(
'images' => '',
),
),
'prosilver' => array(
'imageset' => array(
'en' => '',
),
'template' => '',
'theme' => array(
'images' => '',
),
),
),
);
// Files to remove (not include within package)
$this->files_to_remove = array(); //array('includes/utf/data/recode_cjk.php');
// Files within the main directory to copy - do not include config.php
$this->files_to_copy = array(
'.htaccess', 'common.php', 'cron.php', 'faq.php', 'feed.php', 'index.php', 'mcp.php', 'memberlist.php', 'posting.php', 'report.php',
'search.php', 'style.php', 'ucp.php', 'viewforum.php', 'viewonline.php', 'viewtopic.php'
);
// These files/directories will be removed and not used for creating the patch files
$this->remove_from_diff_structure = array(
'config.php', 'cache', 'docs', 'files', 'install', 'store', 'develop'
);
// Writeable directories
$this->writeable = array('cache', 'store', 'images/avatars/upload', 'files');
// Fill the rest of the files_to_copy array
foreach ($this->clean_directory_structure as $cur_dir => $dir_struct)
{
$this->_fill_files_to_copy($this->locations['new_version'] . $cur_dir, $cur_dir, $dir_struct);
$this->old_packages['release-' . $package_version] = $package_version . '_to_';
}
}
@@ -192,66 +83,6 @@ class build_package
return $this->package_infos[$var];
}
function _fill_files_to_copy($directory, $cur_dir, $dir_struct)
{
$dh = opendir($directory);
while ($file = readdir($dh))
{
if (is_file($directory . '/' . $file) && $file != '.' && $file != '..')
{
$_loc = str_replace($this->locations['new_version'], '', $directory . '/' . $file);
if (in_array($_loc, $this->files_to_remove))
{
continue;
}
$this->files_to_copy[] = $cur_dir . '/' . $file;
}
}
closedir($dh);
if (is_array($dir_struct))
{
foreach ($dir_struct as $_cur_dir => $_dir_struct)
{
$this->_fill_files_to_copy($directory . '/' . $_cur_dir, $cur_dir . '/' . $_cur_dir, $_dir_struct);
}
}
}
function adjust_permissions($directory)
{
$dh = opendir($directory);
while ($file = readdir($dh))
{
if ($file == '.' || $file == '..' || $file == '.svn')
{
continue;
}
// If file, then 644
if (is_file($directory . '/' . $file))
{
chmod($directory . '/' . $file, 0644);
}
else if (is_dir($directory . '/' . $file))
{
$_loc = str_replace($this->package_infos['dest_dir'] . '/', '', $directory . '/' . $file);
// If directory is within the writeable chmod to 777, else 755
$mode = (in_array($_loc, $this->writeable)) ? 0777 : 0755;
chmod($directory . '/' . $file, $mode);
// Now traverse to the directory
$this->adjust_permissions($directory . '/' . $file);
}
}
closedir($dh);
}
function begin_status($headline)
{
if ($this->status_begun)
@@ -346,7 +177,7 @@ class build_package
}
// Is binary?
if (preg_match('/^Binary files ' . $package_name . '\/(.*) and [a-z0-9_-]+\/\1 differ/i', $line, $match))
if (preg_match('/^Binary files ' . $package_name . '\/(.*) and [a-z0-9._-]+\/\1 differ/i', $line, $match))
{
$binary[] = trim($match[1]);
}

39
build/compare.sh Executable file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
orig_dir="../../phpBB"
rm -rf test_release_files
mkdir test_release_files
cd test_release_files
for ext in "tar.bz2" "zip"
do
cp "../new_version/release_files/$1.$ext" ./
if [ "$ext" = "tar.bz2" ]
then
command="tar -xjf"
else
command="unzip -q"
fi
$command "$1.$ext"
for file in `find phpBB3 -name '.svn' -prune -o -type f -print`
do
orig_file="${file/#phpBB3/$orig_dir}"
diff_result=`diff $orig_file $file`
if [ -n "$diff_result" ]
then
echo "Difference in package $1.$ext"
echo $diff_result
fi
done
rm -rf phpBB3
done
cd ..
rm -rf test_release_files

View File

@@ -9,14 +9,17 @@
*
*/
// The only thing i need to adjust. ;)
// Please always add the latest version number to the end
// Only have 5 releases here...
// If RC8 drops remove the install/data directory
//$versions = array('3.0.2', '3.0.3-RC1', '3.0.3', '3.0.4-RC1', '3.0.4', '3.0.5-RC1', '3.0.5', '3.0.6-RC1', '3.0.6-RC2', '3.0.6-RC3');
//$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7');
$versions = array('3.0.2', '3.0.3-RC1', '3.0.3', '3.0.4-RC1', '3.0.4', '3.0.5-RC1', '3.0.5', '3.0.6-RC1', '3.0.6-RC2', '3.0.6-RC3', '3.0.6-RC4', '3.0.6', '3.0.7-RC1', '3.0.7-RC2');
$verbose = false;
//$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7-RC2', '3.0.7', '3.0.7-PL1');
if ($_SERVER['argc'] < 2)
{
die("Please specify a list of versions as the first argument (e.g. package.php '1.0.0, 1.0.1, 1.0.2').");
}
$versions = explode(',', $_SERVER['argv'][1]);
$versions = array_map('trim', $versions);
$verbose = true;
require('build_helper.php');
@@ -25,130 +28,6 @@ $package = new build_package($versions, $verbose);
echo "Building Release Packages\n";
echo "Now all three package types (patch, files, release) are built as well as the update package (update).\n";
$package->begin_status('Remove temporary files');
// Cleanup...
$package->run_command('rm -Rv ' . $package->get('dest_dir'));
$package->run_command('rm -Rv ' . $package->get('diff_dir'));
$package->run_command('rm -Rv ' . $package->get('patch_directory'));
$package->run_command('rm -Rv ' . $package->get('files_directory'));
$package->run_command('rm -Rv ' . $package->get('update_directory'));
$package->run_command('rm -Rv ' . $package->get('release_directory'));
$package->begin_status('Create new directories');
// Make sure the directories got removed
while (file_exists($package->get('update_directory')))
{
sleep(1);
}
if (!file_exists($package->get('dest_dir')))
{
$package->run_command('mkdir ' . $package->get('dest_dir'));
}
if (!file_exists($package->get('diff_dir')))
{
$package->run_command('mkdir ' . $package->get('diff_dir'));
}
if (!file_exists($package->get('patch_directory')))
{
$package->run_command('mkdir ' . $package->get('patch_directory'));
}
if (!file_exists($package->get('files_directory')))
{
$package->run_command('mkdir ' . $package->get('files_directory'));
}
if (!file_exists($package->get('update_directory')))
{
$package->run_command('mkdir ' . $package->get('update_directory'));
}
if (!file_exists($package->get('release_directory')))
{
$package->run_command('mkdir ' . $package->get('release_directory'));
}
$package->begin_status('Copy release files to clean release directory');
// Create config.php file
$package->run_command('touch ' . $package->get('dest_dir') . '/config.php');
//$package->run_command('sudo chown www-data:www-data ' . $package->get('dest_dir') . '/config.php');
// Create new directory structure
foreach ($package->clean_directory_structure as $dir => $dir_struct)
{
$package->create_directory($package->get('dest_dir') . '/' . $dir, $dir_struct);
}
// First step is to copy the new version over (clean structure)
foreach ($package->files_to_copy as $file)
{
$source_file = $package->locations['new_version'] . $file;
$dest_file = $package->get('dest_dir') . '/' . $file;
$package->run_command("cp -p $source_file $dest_file");
}
// fix line endings
chdir($package->get('dest_dir'));
$package->run_command($package->locations['new_version'] . 'develop/fix_files.sh');
// Now clean up the permissions
$package->begin_status('Adjust permissions');
$package->adjust_permissions($package->get('dest_dir'));
// Now create a version for diffing the version - copy the tree over to old_versions...
$package->begin_status('Create diff directory for obtaining file differences');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/* ' . $package->get('diff_dir'));
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/.htaccess ' . $package->get('diff_dir'));
// Cleanup diff directory (only contents to diff)
foreach ($package->remove_from_diff_structure as $remove_dir)
{
$package->run_command('rm -Rv ' . $package->get('diff_dir') . '/' . $remove_dir);
}
// Now, first of all we need to rebuild all old packages we want to support
foreach ($package->old_packages as $package_name => $tag_name)
{
$package->begin_status('Create old packages directory for diffing to ' . $package_name);
chdir($package->locations['old_versions']);
if (is_dir($package->locations['old_versions'] . $package_name))
{
$package->run_command('rm -Rv ' . $package->locations['old_versions'] . $package_name);
}
// Now, create a new one...
$tag_name = 'release_' . str_replace(array('.', '_to_'), array('_', ''), $tag_name);
$package->run_command('svn export --non-interactive http://code.phpbb.com/svn/phpbb/tags/' . $tag_name . '/phpBB/ ' . $package_name);
$location = $package->locations['old_versions'] . $package_name;
chdir($location . '/');
$package->run_command($package->locations['new_version'] . 'develop/fix_files.sh');
// Now clean up the permissions
$package->begin_status('Adjust permissions for package ' . $package_name);
$package->adjust_permissions($location);
// Cleanup diff directory (only contents to diff)
foreach ($package->remove_from_diff_structure as $remove_dir)
{
$package->run_command('rm -Rv ' . $location . '/' . $remove_dir);
}
}
// Go trough all versions making a diff if we even have old versions
// For phpBB 3.0.x we might choose a different update method, rendering the things below useless...
if (sizeof($package->old_packages))
@@ -160,13 +39,13 @@ if (sizeof($package->old_packages))
foreach ($package->old_packages as $_package_name => $dest_package_filename)
{
$package->begin_status('Creating patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
$dest_package_filename = $package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch';
$package->run_command('diff ' . $package->diff_options . ' ' . $_package_name . ' ' . $package->get('simple_name') . ' > ' . $dest_package_filename);
$package->begin_status('Parsing patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
// Parse this diff to determine file changes from the checked versions and save them
$diff_file_changes[$_package_name] = $package->collect_diff_files($dest_package_filename, $_package_name);
$diff_file_changes[$_package_name] = $package->collect_diff_files(
$package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch',
$_package_name
);
}
// Now put those files determined within the correct directories
@@ -404,7 +283,6 @@ if (sizeof($package->old_packages))
foreach ($compress_programs as $extension => $compress_command)
{
$package->begin_status('Packaging phpBB Patch Files for ' . $extension);
$package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-patch.' . $extension);
// Build Package
$package->run_command($compress_command . ' ../release_files/' . $package->get('release_filename') . '-patch.' . $extension . ' *');
@@ -420,7 +298,6 @@ if (sizeof($package->old_packages))
{
$package->begin_status('Packaging phpBB Files for ' . $extension);
$package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-files.' . $extension);
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
@@ -457,7 +334,6 @@ if (sizeof($package->old_packages))
$package->begin_status('Packaging phpBB Update for ' . $extension);
$package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-update.' . $extension);
$package->run_command('mkdir ' . $package->get('update_directory') . '/release');
// Pack update files
@@ -518,4 +394,16 @@ foreach ($compress_programs as $extension => $compress_command)
$package->run_command('md5sum ./release_files/' . $package->get('release_filename') . '.' . $extension . ' > ./release_files/' . $package->get('release_filename') . '.' . $extension . '.md5');
}
// Microsoft Web PI packaging
$package->begin_status('Packaging phpBB for Microsoft WebPI');
$file = './release_files/' . $package->get('release_filename') . '.webpi.zip';
$package->run_command('cp -p ./release_files/' . $package->get('release_filename') . ".zip $file");
$package->run_command('cd ./../webpi && ' . $compress_programs['zip'] . " ./../new_version/$file *");
$package->run_command("md5sum $file > $file.md5");
// verify results
chdir($package->locations['root']);
$package->begin_status('********** Verifying packages **********');
$package->run_command('./compare.sh ' . $package->package_infos['release_filename']);
echo "Done.\n";

145
build/phpdoc-phpbb.ini Normal file
View File

@@ -0,0 +1,145 @@
; Default configuration file for PHPDoctor
; This config file will cause PHPDoctor to generate API documentation of
; itself.
; PHPDoctor settings
; -----------------------------------------------------------------------------
; Names of files to parse. This can be a single filename, or a comma separated
; list of filenames. Wildcards are allowed.
files = "*.php"
; Names of files or directories to ignore. This can be a single filename, or a
; comma separated list of filenames. Wildcards are NOT allowed.
;ignore = "CVS, .svn, .git, _compiled"
ignore = templates_c/,*HTML/default/*,spec/,*config.php*,*CVS/,test_chora.php,testupdate/,cache/,store/,*proSilver/,develop/,includes/utf/data/,includes/captcha/fonts/,install/update/,install/update.new/,files/,*phpinfo.php*,*update_script.php*,*upgrade.php*,*convert.php*,install/converter/,language/de/,script/,*swatch.php*,*test.php*,*test2.php*,*install.php*,*functions_diff.php*,*acp_update.php*,acm_xcache.php
; The directory to look for files in, if not used the PHPDoctor will look in
; the current directory (the directory it is run from).
source_path = "../phpBB/"
; If you do not want PHPDoctor to look in each sub directory for files
; uncomment this line.
;subdirs = off
; Set how loud PHPDoctor is as it runs. Quiet mode suppresses all output other
; than warnings and errors. Verbose mode outputs additional messages during
; execution.
quiet = on
;verbose = on
; Select the doclet to use for generating output.
doclet = standard
;doclet = debug
; The directory to find the doclet in. Doclets control the HTML output of
; phpDoctor and can be modified to suit your needs. They are expected to be
; in a directory named after themselves at the location given.
;doclet_path = ./doclets
; Select the formatter to use for generating output.
;formatter = htmlStandardFormatter
; The directory to find the formatter in. Formatters convert textual markup
; for use by the doclet.
;formatter_path = ./formatters
; The directory to find taglets in. Taglets allow you to make PHPDoctor handle
; new tags and to alter the behavour of existing tags and their output.
;taglet_path = ./taglets
; If the code you are parsing does not use package tags or not all elements
; have package tags, use this setting to place unbound elements into a
; particular package.
default_package = "phpBB"
use_class_path_as_package = off
ignore_package_tags = off
; Specifies the name of a HTML file containing text for the overview
; documentation to be placed on the overview page. The path is relative to
; "source_path" unless an absolute path is given.
overview = ../README.md
; Package comments will be looked for in a file named package.html in the same
; directory as the first source file parsed in that package or in the directory
; given below. If package comments are placed in the directory given below then
; they should be named "<packageName>.html".
package_comment_dir = ./
; Parse out global variables and/or global constants?
;globals = off
;constants = off
; Generate documentation for all class members
;private = on
; Generate documentation for public and protected class members
;protected = on
; Generate documentation for only public class members
;public = on
; Use the PEAR compatible handling of the docblock first sentence
;pear_compat = on
; Standard doclet settings
; -----------------------------------------------------------------------------
; The directory to place generated documentation in. If the given path is
; relative to it will be relative to "source_path".
d = "../build/api/"
; Specifies the title to be placed in the HTML <title> tag.
windowtitle = "phpBB3"
; Specifies the title to be placed near the top of the overview summary file.
doctitle = "phpBB3 Sourcecode Documentation"
; Specifies the header text to be placed at the top of each output file. The
; header will be placed to the right of the upper navigation bar.
header = "phpBB3"
; Specifies the footer text to be placed at the bottom of each output file. The
; footer will be placed to the right of the lower navigation bar.
footer = "phpBB3"
; Specifies the text to be placed at the bottom of each output file. The text
; will be placed at the bottom of the page, below the lower navigation bar.
;bottom = "This document was generated by <a href="http://peej.github.com/phpdoctor/">PHPDoctor: The PHP Documentation Creator</a>"
; Create a class tree?
;tree = off
; Use GeSHi to include formatted source files in the documentation. PHPDoctor will look in the current doclet directory for a /geshi subdirectory. Unpack the GeSHi archive from http://qbnz.com/highlighter to get this directory - it will contain a php script and a subdirectory with formatting files.
include_source = off

View File

@@ -0,0 +1,39 @@
/**********************************************************************/
/* Install.SQL */
/* Creates a login and makes the user a member of db roles */
/* */
/**********************************************************************/
-- Declare variables for database name, username and password
DECLARE @dbName sysname,
@dbUser sysname,
@dbPwd nvarchar(max);
-- Set variables for database name, username and password
SET @dbName = 'PlaceHolderForDb';
SET @dbUser = 'PlaceHolderForUser';
SET @dbPwd = 'PlaceHolderForPassword';
DECLARE @cmd nvarchar(max)
-- Create login
IF( SUSER_SID(@dbUser) is null )
BEGIN
print '-- Creating login '
SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N''''
EXEC(@cmd)
END
-- Create database user and map to login
-- and add user to the datareader, datawriter, ddladmin and securityadmin roles
--
SET @cmd = N'USE ' + quotename(@DBName) + N';
IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N'''))
BEGIN
print ''-- Creating user'';
CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N';
print ''-- Adding user'';
EXEC sp_addrolemember ''db_owner'', ''' + replace(@dbUser, '''', '''''') + N''';
END'
EXEC(@cmd)
GO

View File

@@ -0,0 +1,15 @@
USE PlaceHolderForDb$$
DROP PROCEDURE IF EXISTS add_user $$
CREATE PROCEDURE add_user()
BEGIN
DECLARE EXIT HANDLER FOR 1044 BEGIN END;
GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword';
FLUSH PRIVILEGES;
END
$$
CALL add_user() $$
DROP PROCEDURE IF EXISTS add_user $$

13
build/webpi/manifest.xml Normal file
View File

@@ -0,0 +1,13 @@
<msdeploy.iisapp>
<iisapp path="phpBB3" />
<dbmysql path="install/mysql.sql" commandDelimiter="$$" removeCommandDelimiter="true" />
<dbfullsql path="install/mssql.sql" />
<setAcl path="phpBB3/cache" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
<setAcl path="phpBB3/files" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
<setAcl path="phpBB3/store" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
<setAcl path="phpBB3/images/avatars/upload" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
<setAcl path="phpBB3/config.php" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" setAclResourceType="File" />
</msdeploy.iisapp>

256
build/webpi/parameters.xml Normal file
View File

@@ -0,0 +1,256 @@
<parameters>
<parameter
name="AppPath"
defaultValue="Default Web Site/phpBB3"
tags="iisapp">
<parameterEntry
type="ProviderPath"
scope="iisapp"
match="phpBB3" />
</parameter>
<!--ACLs-->
<parameter
name="aclCache"
description="Sets the ACL on the cache/ folder"
defaultValue="{AppPath}/cache"
tags="Hidden">
<parameterEntry
type="ProviderPath"
scope="setAcl"
match="phpBB3/cache$" />
</parameter>
<parameter
name="aclFiles"
description="Sets the ACL on the files/ folder"
defaultValue="{AppPath}/files"
tags="Hidden">
<parameterEntry
type="ProviderPath"
scope="setAcl"
match="phpBB3/files$" />
</parameter>
<parameter
name="aclStore"
description="Sets the ACL on the store/ folder"
defaultValue="{AppPath}/store"
tags="Hidden">
<parameterEntry
type="ProviderPath"
scope="setAcl"
match="phpBB3/store$" />
</parameter>
<parameter
name="aclAvatarUpload"
description="Sets the ACL on the avatars/upload/ folder"
defaultValue="{AppPath}/images/avatars/upload"
tags="Hidden">
<parameterEntry
type="ProviderPath"
scope="setAcl"
match="phpBB3/images/avatars/upload$" />
</parameter>
<parameter
name="aclConfig"
description="Sets the ACL on the config.php file"
defaultValue="{AppPath}/config.php"
tags="Hidden">
<parameterEntry
type="ProviderPath"
scope="setAcl"
match="phpBB3/config.php$" />
</parameter>
<!-- SQL parameters -->
<parameter name="SQL Database Server" description="Enter the database server (usually machine name ) " defaultValue="." tags="SQL">
</parameter>
<parameter name="SQL DatabaseServer Instance" description="Enter the database instance name" defaultValue="SQLExpress" tags="SQL">
</parameter>
<!-- Read database server from config.php . Update 'dbhost' in config.php on publish -->
<parameter name="SQL Automatic DatabaseServer" defaultValue="dbhost = '{SQL Database Server}\\{SQL DatabaseServer Instance}';" tags="Hidden,SQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbhost\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="SQL DatabaseName" description="Database name for your application." defaultValue="phpbb" tags="SQL, dbName">
<parameterEntry type="TextFile" scope="install/mssql.sql" match="PlaceHolderForDb" />
</parameter>
<!-- Read database name from config.php . Update 'dbname' in config.php on publish -->
<parameter name="SQL Automatic DatabaseName" defaultValue="dbname = '{SQL DatabaseName}';" tags="Hidden,SQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbname\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="SQL DatabaseAdministrator"
description="Database server administartor username."
defaultValue="sa"
tags="SQL, DbAdminUsername" >
</parameter>
<parameter
name="SQL DatabaseAdministratorPassword"
description="Database server administrator password."
tags="Password,SQL,DbAdminPassword">
</parameter>
<parameter
name="SQL Database Username"
description="Username to access your database."
defaultValue="phpbb"
tags="SQL, DbUsername">
<parameterEntry
type="TextFile"
scope="install/mssql.sql"
match="PlaceHolderForUser" />
</parameter>
<!-- Read database user from config.php . Update 'dbuser' in config.php on publish -->
<parameter name="SQL Automatic Database User" defaultValue="dbuser = '{SQL Database Username}';" tags="Hidden,SQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbuser\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="SQL Database Password"
description="Password for your phpBB database. (Must be at least 8 characters, contain at least one lower case letter, one upper case letter and one digit)"
tags="New, Password,SQL, DbUserPassword">
<parameterValidation
type = "RegularExpression"
validationString = "^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$" />
<parameterEntry
type="TextFile"
scope="install/mssql.sql"
match="PlaceHolderForPassword" />
</parameter>
<!-- Read database user password from config.php . Update 'dbpasswd' in config.php on publish -->
<parameter name="SQL Automatic Database Password" defaultValue="dbpasswd = '{SQL Database Password}';" tags="Hidden,SQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbpasswd\s*=\s*'([^']*)'\s*;" />
</parameter>
<!-- SQL Connection string -->
<parameter
name="SQL ConnectionString"
description="Automatically sets the connection string for the connection request."
defaultValue="Server={SQL Database Server}\{SQL DatabaseServer Instance};Database={SQL DatabaseName};uid={SQL DatabaseAdministrator};Pwd={SQL DatabaseAdministratorPassword};"
tags="Hidden,SQLConnectionString,Validate">
<parameterEntry
type="ProviderPath"
scope="dbfullsql"
match="install/mssql.sql" />
</parameter>
<parameter
name="SQL Database type"
description="SQL database type"
defaultValue="mssql"
tags="SQL,Hidden">
</parameter>
<!-- MYSQL parameters -->
<parameter
name="MySQL Database Server"
description="Enter the hostname"
defaultValue="localhost"
tags="MySQL, dbServer">
<parameterEntry
type="TextFile"
scope="install/mysql.sql"
match="PlaceHolderForServer" />
</parameter>
<!-- Read database server from config.php . Update 'dbhost' in config.php on publish -->
<parameter name="Automatic MySQL DatabaseServer" defaultValue="dbhost = '{MySQL Database Server}';" tags="Hidden,MySQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbhost\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="MySQL Database Name"
description="Database Name for your application."
defaultValue="phpbb"
tags="MySQL, dbName">
<parameterEntry
type="TextFile"
scope="install/mysql.sql"
match="PlaceHolderForDb" />
</parameter>
<!-- Read database name from config.php . Update 'dbname' in config.php on publish -->
<parameter name="Automatic MySQL Database Name" defaultValue="dbname = '{MySQL Database Name}';" tags="Hidden,MySQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbname\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="MySQL Database Username"
description="Username to access your phpBB database."
defaultValue="phpbb"
tags="MySQL, DbUsername">
<parameterEntry
type="TextFile"
scope="install/mysql.sql"
match="PlaceHolderForUser" />
</parameter>
<!-- Read database user from config.php . Update 'dbuser' in config.php on publish -->
<parameter name="Automatic MySQL Database User" defaultValue="dbuser = '{MySQL Database Username}';" tags="Hidden,MySQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbuser\s*=\s*'([^']*)'\s*;" />
</parameter>
<parameter
name="MySQL Database Password"
description="Password for your phpBB database. (Minimum 4 characters)"
tags="New, Password,MySQL,DbUserPassword">
<parameterValidation
type = "RegularExpression"
validationString = "^.{4,}$" />
<parameterEntry
type="TextFile"
scope="install/mysql.sql"
match="PlaceHolderForPassword" />
</parameter>
<!-- Read database password from config.php . Update 'dbpasswd' in config.php on publish -->
<parameter name="MySQL Automatic Database Password" defaultValue="dbpasswd = '{MySQL Database Password}';" tags="Hidden,MySQL">
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbpasswd\s*=\s*'([^']*)'\s*;" />
</parameter>
<!-- MySQL admin credentials -->
<parameter
name="MySQL Database Administrator"
description="Database administrator username."
defaultValue="root"
tags="MySQL, DbAdminUsername" >
</parameter>
<parameter
name="MySQL Database Administrator Password"
description="Database administrator password."
tags="Password,MySQL,DbAdminPassword" >
</parameter>
<!-- MySQL Connectionstring -->
<parameter
name="MySQLConnectionString"
description="Automatically sets the connection string for the connection request."
defaultValue="Server={MySQL Database Server};Database={MySQL Database Name};uid={MySQL Database Administrator};Pwd={MySQL Database Administrator Password};"
tags="Hidden,MySQLConnectionString,Validate">
<parameterEntry
type="ProviderPath"
scope="dbmysql"
match="install/mysql.sql" />
</parameter>
</parameters>

289
git-tools/hooks/commit-msg Executable file
View File

@@ -0,0 +1,289 @@
#!/bin/sh
#
# A hook to check syntax of a phpBB3 commit message, per:
# * <http://wiki.phpbb.com/display/DEV/Git>
# * <http://area51.phpbb.com/phpBB/viewtopic.php?p=209919#p209919>
#
# This is a commit-msg hook.
#
# To install this you can either copy or symlink it to
# $GIT_DIR/hooks, example:
#
# ln -s ../../git-tools/hooks/commit-msg \\
# .git/hooks/commit-msg
config_ns="phpbb.hooks.commit-msg";
if [ "$(git config --bool $config_ns.fatal)" = "false" ]
then
fatal=0;
else
fatal=1;
fi
debug_level=$(git config --int $config_ns.debug || echo 0);
# Error codes
ERR_LENGTH=1;
ERR_HEADER=2;
ERR_EMPTY=3;
ERR_DESCRIPTION=4;
ERR_FOOTER=5;
ERR_EOF=6;
ERR_UNKNOWN=42;
debug()
{
local level;
level=$1;
shift;
if [ $debug_level -ge $level ]
then
echo $@;
fi
}
quit()
{
if [ $1 -gt 0 ] && [ $1 -ne $ERR_UNKNOWN ] && [ $fatal -eq 0 ]
then
exit 0;
else
exit $1;
fi
}
# Check for empty commit message
if ! grep -qv '^#' "$1"
then
# Commit message is empty (or contains only comments).
# Let git handle this.
# It will abort with a message like so:
#
# Aborting commit due to empty commit message.
exit 0
fi
msg=$(grep -v '^#' "$1" |grep -nE '.{81,}')
if [ $? -eq 0 ]
then
echo "The following lines are greater than 80 characters long:" >&2;
echo >&2
echo "$msg" >&2;
quit $ERR_LENGTH;
fi
lines=$(wc -l "$1" | awk '{ print $1; }');
expecting=header;
in_description=0;
in_empty=0;
ticket=0;
branch_regex="[a-z]+[a-z0-9-]*[a-z0-9]+";
i=1;
tickets="";
while [ $i -le $lines ]
do
# Grab the line we are studying
line=$(head -n$i "$1" | tail -n1);
debug 1 "==> [$i] $line (description: $in_description, empty: $in_empty)";
err=$ERR_UNKNOWN;
if [ -z "$expecting" ]
then
quit $err;
fi
if [ "${expecting#comment}" = "$expecting" ]
then
# Prefix comments to the expected tokens list
expecting="comment $expecting";
fi
debug 2 "Expecting: $expecting";
# Loop over each of the expected line formats
for expect in $expecting
do
# Reset the error code each iteration
err=$ERR_UNKNOWN;
# Test for validity of each line format
# This is done first so $? contains the result
case $expect in
"header")
err=$ERR_HEADER;
echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] .+$"
result=$?
if ! echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] [A-Z].+$"
then
# Don't be too strict.
# Commits may be temporary, intended to be squashed later.
# Just issue a warning here.
echo "Warning: heading should be a sentence beginning with a capital letter." 1>&2
echo "You entered:" 1>&2
echo "$line" 1>&2
fi
# restore exit code
(exit $result)
;;
"empty")
err=$ERR_EMPTY;
echo "$line" | grep -Eq "^$"
;;
"description")
err=$ERR_DESCRIPTION;
# Free flow text, the line length was constrained by the initial check
echo "$line" | grep -Eq "^.+$";
;;
"footer")
err=$ERR_FOOTER;
# Each ticket is on its own line
echo "$line" | grep -Eq "^PHPBB3-[0-9]+$";
;;
"eof")
err=$ERR_EOF;
# Should not end up here
false
;;
"possibly-eof")
# Allow empty and/or comment lines at the end
! tail -n +"$i" "$1" |grep -qvE '^($|#)'
;;
"comment")
echo "$line" | grep -Eq "^#";
;;
*)
echo "Unrecognised token $expect" >&2;
quit $err;
;;
esac
# Preserve the result of the line check
result=$?;
debug 2 "$expect - '$line' - $result";
if [ $result -eq 0 ]
then
# Break out the loop on success
# otherwise roll on round and keep looking for a match
break;
fi
done
if [ $result -eq 0 ]
then
# Have we switched out of description mode?
if [ $in_description -eq 1 ] && [ "$expect" != "description" ] && [ "$expect" != "empty" ] && [ "$expect" != "comment" ]
then
# Yes, okay we need to backtrace one line and reanalyse
in_description=0;
i=$(( $i - $in_empty ));
# Reset the empty counter
in_empty=0;
continue;
fi
# Successful match, but on which line format
case $expect in
"header")
expecting="empty";
echo "$line" | grep -Eq "^\[ticket/[0-9]+\]$" && (
ticket=$(echo "$line" | sed 's,\[ticket/\([0-9]*\)\].*,\1,');
)
;;
"empty")
# Description might have empty lines as spacing
expecting="footer description";
in_empty=$(($in_empty + 1));
if [ $in_description -eq 1 ]
then
expecting="$expecting empty";
fi
;;
"description")
expecting="description empty";
in_description=1;
;;
"footer")
expecting="footer possibly-eof";
if [ "$tickets" = "" ]
then
tickets="$line";
else
tickets="$tickets $line";
fi
;;
"comment")
# Comments should expect the same thing again
;;
"possibly-eof")
expecting="eof";
;;
*)
echo "Unrecognised token $expect" >&2;
quit 254;
;;
esac
if [ "$expect" != "empty" ]
then
in_empty=0;
fi
debug 3 "Now expecting: $expecting";
else
# None of the expected line formats matched
# Guess we'll call it a day here then
echo "Syntax error on line $i:" >&2;
echo ">> $line" >&2;
echo -n "Expecting: " >&2;
echo "$expecting" | sed 's/ /, /g' >&2;
exit $err;
fi
i=$(( $i + 1 ));
done
# If EOF is expected exit cleanly
echo "$expecting" | grep -q "eof" || (
# Unexpected EOF, error
echo "Unexpected EOF encountered" >&2;
quit $ERR_EOF;
) && (
# Do post scan checks
if [ ! -z "$tickets" ]
then
# Check for duplicate tickets
dupes=$(echo "$tickets" | sed 's/ /\n/g' | sort | uniq -d);
if [ ! -z "$dupes" ]
then
echo "The following tickets are repeated:" >&2;
echo "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
quit $ERR_FOOTER;
fi
fi
# Check the branch ticket is mentioned, doesn't make sense otherwise
if [ $ticket -gt 0 ]
then
echo "$tickets" | grep -Eq "\bPHPBB3-$ticket\b" || (
echo "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
echo "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
quit $ERR_FOOTER;
) || exit $?;
fi
# Got here okay exit to reality
exit 0;
);
exit $?;

17
git-tools/hooks/install Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
#
# Script to install the git hooks
# by symlinking them into the .git/hooks directory
#
# Usage (from within git-tools/hooks):
# ./install
dir=$(dirname $0)
for file in $(ls $dir)
do
if [ $file != "install" ] && [ $file != "uninstall" ]
then
ln -s "../../git-tools/hooks/$file" "$dir/../../.git/hooks/$file"
fi
done

82
git-tools/hooks/pre-commit Executable file
View File

@@ -0,0 +1,82 @@
#!/bin/sh
#
# A hook to disallow php syntax errors to be committed
# by running php -l (lint) on them. It requires php-cli
# to be installed.
#
# This is a pre-commit hook.
#
# To install this you can either copy or symlink it to
# $GIT_DIR/hooks, example:
#
# ln -s ../../git-tools/hooks/pre-commit \\
# .git/hooks/pre-commit
# NOTE: this is run through /usr/bin/env
PHP_BIN=php
# necessary check for initial commit
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
error=0
errors=""
if ! which $PHP_BIN >/dev/null 2>&1
then
echo "PHP Syntax check failed:"
echo "PHP binary does not exist or is not in path: $PHP_BIN"
exit 1
fi
# dash does not support $'\n':
# http://forum.soft32.com/linux2/Bug-409179-DASH-Settings-IFS-work-properly-ftopict70039.html
IFS='
'
# get a list of staged files
for line in $(git diff-index --cached --full-index $against)
do
# split needed values
sha=$(echo $line | cut -d' ' -f4)
temp=$(echo $line | cut -d' ' -f5)
status=$(echo $temp | cut -d' ' -f1)
filename=$(echo $temp | cut -d' ' -f2)
# file extension
ext=$(echo $filename | sed 's/^.*\.//')
# only check files with php extension
if [ $ext != "php" ]
then
continue
fi
# do not check deleted files
if [ $status = "D" ]
then
continue
fi
# check the staged file content for syntax errors
# using php -l (lint)
result=$(git cat-file -p $sha | /usr/bin/env $PHP_BIN -l 2>/dev/null)
if [ $? -ne 0 ]
then
error=1
# Swap back in correct filenames
errors=$(echo "$errors"; echo "$result" |sed -e "s@in - on@in $filename on@g")
fi
done
unset IFS
if [ $error -eq 1 ]
then
echo -e "PHP Syntax check failed:";
echo -e "$errors" | grep "^Parse error:"
exit 1
fi

View File

@@ -0,0 +1,42 @@
#!/bin/sh
#
# A hook to add [$branch] to the beginning of a commit message
# if certain conditions are met.
#
# This is a prepare-commit-msg hook.
#
# To install this you can either copy or symlink it to
# $GIT_DIR/hooks, example:
#
# ln -s ../../git-tools/hooks/prepare-commit-msg \\
# .git/hooks/prepare-commit-msg
# get branch name
branch="$(git symbolic-ref HEAD)"
# exit if no branch name is present
# (eg. detached HEAD)
if [ $? -ne 0 ]
then
exit
fi
# strip off refs/heads/
branch="$(echo "$branch" | sed "s/refs\/heads\///g")"
# add [branchname] to commit message
# * only run when normal commit is made (without -m or -F;
# not a merge, etc.)
# * also make sure the branch name begins with bug/ or feature/
if [ "$2" = "" ]
then
tail="";
# Branch is prefixed with 'ticket/', append ticket ID to message
if [ "$branch" != "${branch##ticket/}" ];
then
tail="$(printf "\n\nPHPBB3-${branch##ticket/}")";
fi
echo "[$branch] $tail$(cat "$1")" > "$1"
fi

16
git-tools/hooks/uninstall Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
#
# Script to uninstall the git hooks
#
# Usage (from within git-tools/hooks):
# ./uninstall
dir=$(dirname $0)
for file in $(ls $dir)
do
if [ $file != "install" ] && [ $file != "uninstall" ]
then
rm -f "$dir/../../.git/hooks/$file"
fi
done

175
git-tools/merge.php Executable file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/env php
<?php
/**
*
* @package phpBB3
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
function show_usage()
{
$filename = basename(__FILE__);
echo "$filename merges a github pull request.\n";
echo "\n";
echo "Usage: [php] $filename -p pull_request_id [OPTIONS]\n";
echo "\n";
echo "Options:\n";
echo " -p pull_request_id The pull request id to be merged (mandatory)\n";
echo " -r remote Remote of upstream, defaults to 'upstream' (optional)\n";
echo " -d Outputs the commands instead of running them (optional)\n";
echo " -h This help text\n";
exit(2);
}
// Handle arguments
$opts = getopt('p:r:dh');
if (empty($opts) || isset($opts['h']))
{
show_usage();
}
$pull_id = get_arg($opts, 'p', '');
$remote = get_arg($opts, 'r', 'upstream');
$dry_run = !get_arg($opts, 'd', true);
try
{
exit(work($pull_id, $remote));
}
catch (RuntimeException $e)
{
echo $e->getMessage();
exit($e->getCode());
}
function work($pull_id, $remote)
{
// Get some basic data
$pull = get_pull('phpbb', 'phpbb3', $pull_id);
if (!$pull_id)
{
show_usage();
}
if ($pull['state'] != 'open')
{
throw new RuntimeException(sprintf("Error: pull request is closed\n",
$target_branch), 5);
}
$pull_user = $pull['head'][0];
$pull_branch = $pull['head'][1];
$target_branch = $pull['base'][1];
switch ($target_branch)
{
case 'develop-olympus':
run("git checkout develop-olympus");
run("git pull $remote develop-olympus");
add_remote($pull_user, 'phpbb3');
run("git fetch $pull_user");
run("git merge --no-ff $pull_user/$pull_branch");
run("phpunit");
run("git checkout develop");
run("git pull $remote develop");
run("git merge --no-ff develop-olympus");
run("phpunit");
break;
case 'develop':
run("git checkout develop");
run("git pull $remote develop");
add_remote($pull_user, 'phpbb3');
run("git fetch $pull_user");
run("git merge --no-ff $pull_user/$pull_branch");
run("phpunit");
break;
default:
throw new RuntimeException(sprintf("Error: pull request target branch '%s' is not a main branch\n",
$target_branch), 5);
break;
}
}
function add_remote($username, $repository, $pushable = false)
{
$url = get_repository_url($username, $repository, false);
run("git remote add $username $url", true);
if ($pushable)
{
$ssh_url = get_repository_url($username, $repository, true);
run("git remote set-url --push $username $ssh_url");
}
}
function get_repository_url($username, $repository, $ssh = false)
{
$url_base = ($ssh) ? 'git@github.com:' : 'git://github.com/';
return $url_base . $username . '/' . $repository . '.git';
}
function api_request($query)
{
$contents = file_get_contents("http://github.com/api/v2/json/$query");
if ($contents === false)
{
throw new RuntimeException("Error: failed to retrieve pull request data\n", 4);
}
return json_decode($contents);
}
function get_pull($username, $repository, $pull_id)
{
$request = api_request("pulls/$username/$repository/$pull_id");
$pull = $request->pull;
$pull_data = array(
'base' => array($pull->base->user->login, $pull->base->ref),
'head' => array($pull->head->user->login, $pull->head->ref),
'state' => $pull->state,
);
return $pull_data;
}
function get_arg($array, $index, $default)
{
return isset($array[$index]) ? $array[$index] : $default;
}
function run($cmd, $ignore_fail = false)
{
global $dry_run;
if (!empty($dry_run))
{
echo "$cmd\n";
}
else
{
passthru(escapeshellcmd($cmd), $status);
if ($status != 0 && !$ignore_fail)
{
throw new RuntimeException(sprintf("Error: command '%s' failed with status %s'\n",
$cmd, $status), 6);
}
}
}

View File

@@ -0,0 +1,248 @@
#!/usr/bin/env php
<?php
/**
*
* @package phpBB3
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
function show_usage()
{
$filename = basename(__FILE__);
echo "$filename adds repositories of a github network as remotes to a local git repository.\n";
echo "\n";
echo "Usage: [php] $filename -s collaborators|organisation|contributors|network [OPTIONS]\n";
echo "\n";
echo "Scopes:\n";
echo " collaborators Repositories of people who have push access to the specified repository\n";
echo " contributors Repositories of people who have contributed to the specified repository\n";
echo " organisation Repositories of members of the organisation at github\n";
echo " network All repositories of the whole github network\n";
echo "\n";
echo "Options:\n";
echo " -s scope See description above (mandatory)\n";
echo " -u github_username Overwrites the github username (optional)\n";
echo " -r repository_name Overwrites the repository name (optional)\n";
echo " -m your_github_username Sets up ssh:// instead of git:// for pushable repositories (optional)\n";
echo " -d Outputs the commands instead of running them (optional)\n";
echo " -h This help text\n";
exit(1);
}
// Handle arguments
$opts = getopt('s:u:r:m:dh');
if (empty($opts) || isset($opts['h']))
{
show_usage();
}
$scope = get_arg($opts, 's', '');
$username = get_arg($opts, 'u', 'phpbb');
$repository = get_arg($opts, 'r', 'phpbb3');
$developer = get_arg($opts, 'm', '');
$dry_run = !get_arg($opts, 'd', true);
run(null, $dry_run);
exit(work($scope, $username, $repository, $developer));
function work($scope, $username, $repository, $developer)
{
// Get some basic data
$network = get_network($username, $repository);
$collaborators = get_collaborators($username, $repository);
if ($network === false || $collaborators === false)
{
echo "Error: failed to retrieve network or collaborators\n";
return 1;
}
switch ($scope)
{
case 'collaborators':
$remotes = array_intersect_key($network, $collaborators);
break;
case 'organisation':
$remotes = array_intersect_key($network, get_organisation_members($username));
break;
case 'contributors':
$remotes = array_intersect_key($network, get_contributors($username, $repository));
break;
case 'network':
$remotes = $network;
break;
default:
show_usage();
}
if (file_exists('.git'))
{
add_remote($username, $repository, isset($collaborators[$developer]));
}
else
{
clone_repository($username, $repository, isset($collaborators[$developer]));
}
// Add private security repository for developers
if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer]))
{
run("git remote add $username-security " . get_repository_url($username, "$repository-security", true));
}
// Skip blessed repository.
unset($remotes[$username]);
foreach ($remotes as $remote)
{
add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer);
}
run('git remote update');
}
function clone_repository($username, $repository, $pushable = false)
{
$url = get_repository_url($username, $repository, false);
run("git clone $url ./ --origin $username");
if ($pushable)
{
$ssh_url = get_repository_url($username, $repository, true);
run("git remote set-url --push $username $ssh_url");
}
}
function add_remote($username, $repository, $pushable = false)
{
$url = get_repository_url($username, $repository, false);
run("git remote add $username $url");
if ($pushable)
{
$ssh_url = get_repository_url($username, $repository, true);
run("git remote set-url --push $username $ssh_url");
}
}
function get_repository_url($username, $repository, $ssh = false)
{
$url_base = ($ssh) ? 'git@github.com:' : 'git://github.com/';
return $url_base . $username . '/' . $repository . '.git';
}
function api_request($query)
{
$contents = file_get_contents("http://github.com/api/v2/json/$query");
if ($contents === false)
{
return false;
}
return json_decode($contents);
}
function get_contributors($username, $repository)
{
$request = api_request("repos/show/$username/$repository/contributors");
if ($request === false)
{
return false;
}
$usernames = array();
foreach ($request->contributors as $contributor)
{
$usernames[$contributor->login] = $contributor->login;
}
return $usernames;
}
function get_organisation_members($username)
{
$request = api_request("organizations/$username/public_members");
if ($request === false)
{
return false;
}
$usernames = array();
foreach ($request->users as $member)
{
$usernames[$member->login] = $member->login;
}
return $usernames;
}
function get_collaborators($username, $repository)
{
$request = api_request("repos/show/$username/$repository/collaborators");
if ($request === false)
{
return false;
}
$usernames = array();
foreach ($request->collaborators as $collaborator)
{
$usernames[$collaborator] = $collaborator;
}
return $usernames;
}
function get_network($username, $repository)
{
$request = api_request("repos/show/$username/$repository/network");
if ($request === false)
{
return false;
}
$usernames = array();
foreach ($request->network as $network)
{
$usernames[$network->owner] = array(
'username' => $network->owner,
'repository' => $network->name,
);
}
return $usernames;
}
function get_arg($array, $index, $default)
{
return isset($array[$index]) ? $array[$index] : $default;
}
function run($cmd, $dry = false)
{
static $dry_run;
if (is_null($cmd))
{
$dry_run = $dry;
}
else if (!empty($dry_run))
{
echo "$cmd\n";
}
else
{
passthru(escapeshellcmd($cmd));
}
}

View File

@@ -237,7 +237,7 @@ function build_select($option_ary, $option_default = false)
/**
* Build radio fields in acp pages
*/
function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
function h_radio($name, $input_ary, $input_default = false, $id = false, $key = false, $separator = '')
{
global $user;
@@ -246,7 +246,7 @@ function h_radio($name, &$input_ary, $input_default = false, $id = false, $key =
foreach ($input_ary as $value => $title)
{
$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>' . $separator;
$id_assigned = true;
}
@@ -276,7 +276,7 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '"' . (($tpl_type[0] === 'password') ? ' autocomplete="off"' : '') . ' />';
break;
case 'dimension':
@@ -402,7 +402,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
switch ($validator[$type])
{
case 'string':
$length = strlen($cfg_array[$config_name]);
$length = utf8_strlen($cfg_array[$config_name]);
// the column is a VARCHAR
$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;
@@ -432,6 +432,20 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
{
$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
}
if (strpos($config_name, '_max') !== false)
{
// Min/max pairs of settings should ensure that min <= max
// Replace _max with _min to find the name of the minimum
// corresponding configuration variable
$min_name = str_replace('_max', '_min', $config_name);
if (isset($cfg_array[$min_name]) && is_numeric($cfg_array[$min_name]) && $cfg_array[$config_name] < $cfg_array[$min_name])
{
// A minimum value exists and the maximum value is less than it
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], (int) $cfg_array[$min_name]);
}
}
break;
// Absolute path
@@ -533,7 +547,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
// Check if the path is writable
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
{
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name]))
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !phpbb_is_writable($phpbb_root_path . $cfg_array[$config_name]))
{
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
}
@@ -559,7 +573,11 @@ function validate_range($value_ary, &$error)
'BOOL' => array('php_type' => 'int', 'min' => 0, 'max' => 1),
'USINT' => array('php_type' => 'int', 'min' => 0, 'max' => 65535),
'UINT' => array('php_type' => 'int', 'min' => 0, 'max' => (int) 0x7fffffff),
'INT' => array('php_type' => 'int', 'min' => (int) 0x80000000, 'max' => (int) 0x7fffffff),
// Do not use (int) 0x80000000 - it evaluates to different
// values on 32-bit and 64-bit systems.
// Apparently -2147483648 is a float on 32-bit systems,
// despite fitting in an int, thus explicit cast is needed.
'INT' => array('php_type' => 'int', 'min' => (int) -2147483648, 'max' => (int) 0x7fffffff),
'TINT' => array('php_type' => 'int', 'min' => -128, 'max' => 127),
'VCHAR' => array('php_type' => 'string', 'min' => 0, 'max' => 255),
@@ -582,7 +600,7 @@ function validate_range($value_ary, &$error)
{
case 'string' :
$max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
if (strlen($value['value']) > $max)
if (utf8_strlen($value['value']) > $max)
{
$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
}

View File

@@ -31,8 +31,8 @@
function display_details(option)
{
document.getElementById('acp_unban').unbangivereason.value = ban_give_reason[option];
document.getElementById('acp_unban').unbanreason.value = ban_reason[option];
document.getElementById('acp_unban').unbangivereason.innerHTML = ban_give_reason[option];
document.getElementById('acp_unban').unbanreason.innerHTML = ban_reason[option];
document.getElementById('acp_unban').unbanlength.value = ban_length[option];
}

View File

@@ -38,6 +38,10 @@
<dt><label for="priority">{L_MAIL_PRIORITY}:</label></dt>
<dd><select id="priority" name="mail_priority_flag">{S_PRIORITY_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="banned">{L_MAIL_BANNED}:</label><br /><span>{L_MAIL_BANNED_EXPLAIN}</span></dt>
<dd><input id="banned" name="mail_banned_flag" type="checkbox" class="radio" /></dd>
</dl>
<dl>
<dt><label for="send">{L_SEND_IMMEDIATELY}:</label></dt>
<dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>

View File

@@ -58,7 +58,7 @@
/**
* Init the wanted display functionality if javascript is enabled.
* If javascript is not available, the user is still able to properly administrate.
* If javascript is not available, the user is still able to properly administer.
*/
onload = function()
{
@@ -140,6 +140,12 @@
<dt><label for="parent">{L_FORUM_PARENT}:</label></dt>
<dd><select id="parent" name="forum_parent_id"><option value="0"<!-- IF not S_FORUM_PARENT_ID --> selected="selected"<!-- ENDIF -->>{L_NO_PARENT}</option>{S_PARENT_OPTIONS}</select></dd>
</dl>
<!-- IF S_CAN_COPY_PERMISSIONS -->
<dl>
<dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
<dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="forum_name">{L_FORUM_NAME}:</label></dt>
<dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
@@ -160,11 +166,11 @@
</dl>
<dl>
<dt><label for="forum_password">{L_FORUM_PASSWORD}:</label><br /><span>{L_FORUM_PASSWORD_EXPLAIN}</span></dt>
<dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" /></dd>
<dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" autocomplete="off" /></dd>
</dl>
<dl>
<dt><label for="forum_password_confirm">{L_FORUM_PASSWORD_CONFIRM}:</label><br /><span>{L_FORUM_PASSWORD_CONFIRM_EXPLAIN}</span></dt>
<dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" /></dd>
<dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;<!-- ENDIF -->" autocomplete="off" /></dd>
</dl>
<!-- IF S_FORUM_PASSWORD_SET -->
<dl>
@@ -176,12 +182,6 @@
<dt><label for="forum_style">{L_FORUM_STYLE}:</label></dt>
<dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
</dl>
<!-- IF S_CAN_COPY_PERMISSIONS -->
<dl>
<dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
<dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
</dl>
<!-- ENDIF -->
</fieldset>
<div id="forum_cat_options">
@@ -189,8 +189,8 @@
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
<dl>
<dt><label for="display_active">{L_DISPLAY_ACTIVE_TOPICS}:</label><br /><span>{L_DISPLAY_ACTIVE_TOPICS_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
<dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_ENABLE_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_ENABLE_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
</fieldset>
</div>

View File

@@ -74,7 +74,7 @@
<fieldset class="tabulated">
<legend>{L_TITLE}</legend>
<table cellspacing="1">
<table cellspacing="1" id="smilies">
<thead>
<tr>
<th colspan="{COLSPAN}">{L_CONFIG}</th>
@@ -94,7 +94,7 @@
<td>{L_ORDER}</td>
<!-- ENDIF -->
<!-- IF S_ADD -->
<td>{L_ADD}</td>
<td>{L_ADD} <a href="#" onclick="marklist('smilies', 'add_img', true); return false;">({L_MARK_ALL})</a></td>
<!-- ENDIF -->
</tr>
</thead>

View File

@@ -34,6 +34,36 @@
</div>
<!-- ENDIF -->
<!-- IF S_MBSTRING_LOADED -->
<!-- IF S_MBSTRING_FUNC_OVERLOAD_FAIL -->
<div class="errorbox">
<h3>{L_ERROR_MBSTRING_FUNC_OVERLOAD}</h3>
<p>{L_ERROR_MBSTRING_FUNC_OVERLOAD_EXPLAIN}</p>
</div>
<!-- ENDIF -->
<!-- IF S_MBSTRING_ENCODING_TRANSLATION_FAIL -->
<div class="errorbox">
<h3>{L_ERROR_MBSTRING_ENCODING_TRANSLATION}</h3>
<p>{L_ERROR_MBSTRING_ENCODING_TRANSLATION_EXPLAIN}</p>
</div>
<!-- ENDIF -->
<!-- IF S_MBSTRING_HTTP_INPUT_FAIL -->
<div class="errorbox">
<h3>{L_ERROR_MBSTRING_HTTP_INPUT}</h3>
<p>{L_ERROR_MBSTRING_HTTP_INPUT_EXPLAIN}</p>
</div>
<!-- ENDIF -->
<!-- IF S_MBSTRING_HTTP_OUTPUT_FAIL -->
<div class="errorbox">
<h3>{L_ERROR_MBSTRING_HTTP_OUTPUT}</h3>
<p>{L_ERROR_MBSTRING_HTTP_OUTPUT_EXPLAIN}</p>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF S_WRITABLE_CONFIG -->
<div class="errorbox notice">
<p>{L_WRITABLE_CONFIG}</p>

View File

@@ -35,8 +35,8 @@
</dl>
<dl>
<dt><label for="special_rank">{L_RANK_SPECIAL}:</label></dt>
<dd><label><input onchange="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
<dd><label><input onclick="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input onclick="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<!-- IF S_SPECIAL_RANK --><div id="posts" style="display: none;"><!-- ELSE --><div id="posts"><!-- ENDIF -->
<dl>

View File

@@ -22,6 +22,21 @@
<dt><label for="new_id">{L_REPLACE}:</label><br /><span>{L_REPLACE_EXPLAIN}</span></dt>
<dd><select id="new_id" name="new_id">{S_REPLACE_OPTIONS}</select></dd>
</dl>
<!-- IF S_DELETE_STYLE -->
<hr />
<dl>
<dt><label for="new_template_id">{L_DELETE_TEMPLATE}:</label><br /><span>{L_REPLACE_TEMPLATE_EXPLAIN}</span></dt>
<dd><select id="new_template_id" name="new_template_id">{S_REPLACE_TEMPLATE_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="new_theme_id">{L_DELETE_THEME}:</label><br /><span>{L_REPLACE_THEME_EXPLAIN}</span></dt>
<dd><select id="new_theme_id" name="new_theme_id">{S_REPLACE_THEME_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="new_imageset_id">{L_DELETE_IMAGESET}:</label><br /><span>{L_REPLACE_IMAGESET_EXPLAIN}</span></dt>
<dd><select id="new_imageset_id" name="new_imageset_id">{S_REPLACE_IMAGESET_OPTIONS}</select></dd>
</dl>
<!-- ENDIF -->
<p class="quick">
<input class="button1" type="submit" name="update" value="{L_DELETE}" />
@@ -77,7 +92,7 @@
/**
* Init the wanted display functionality if javascript is enabled.
* If javascript is not available, the user is still able to properly administrate.
* If javascript is not available, the user is still able to properly administer.
*/
onload = function()
{

View File

@@ -18,6 +18,12 @@
</div>
<!-- ENDIF -->
<!-- IF NEXT_FEATURE_VERSION -->
<div class="errorbox">
<p>{UPGRADE_INSTRUCTIONS}</p>
</div>
<!-- ENDIF -->
<fieldset>
<legend></legend>
<dl>

View File

@@ -13,7 +13,7 @@
<fieldset>
<legend>{L_SELECT_USER}</legend>
<dl>
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
<dt><label for="username">{L_ENTER_USERNAME}:</label></dt>
<dd><input class="text medium" type="text" id="username" name="username" /></dd>
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>

View File

@@ -43,19 +43,19 @@
</dl>
<dl>
<dt><label for="user_email">{L_EMAIL}:</label></dt>
<dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" /></dd>
<dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" autocomplete="off" /></dd>
</dl>
<dl>
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label><br /><span>{L_CONFIRM_EMAIL_EXPLAIN}</span></dt>
<dd><input class="text medium" type="text" id="email_confirm" name="email_confirm" value="" /></dd>
<dd><input class="text medium" type="text" id="email_confirm" name="email_confirm" value="" autocomplete="off" /></dd>
</dl>
<dl>
<dt><label for="new_password">{L_NEW_PASSWORD}:</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
<dd><input type="password" id="new_password" name="new_password" value="" /></dd>
<dd><input type="password" id="new_password" name="new_password" value="" autocomplete="off" /></dd>
</dl>
<dl>
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
<dd><input type="password" id="password_confirm" name="password_confirm" value="" /></dd>
<dd><input type="password" id="password_confirm" name="password_confirm" value="" autocomplete="off" /></dd>
</dl>
<p class="quick">
@@ -140,7 +140,7 @@
<legend>{L_DELETE_USER}</legend>
<dl>
<dt><label for="delete_type">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
<dd><select id="delete_type" name="delete_type"><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
<dd><select id="delete_type" name="delete_type"><option class="sep" value="">{L_SELECT_OPTION}</option><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
</dl>
<p class="quick">
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
@@ -148,6 +148,6 @@
{S_FORM_TOKEN}
</p>
</fieldset>
<!-- ENDIF -->
</form>
<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -22,9 +22,8 @@
w: '{LA_BBCODE_W_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
e: '{LA_BBCODE_E_HELP}',
y: '{LA_BBCODE_Y_HELP}',
d: '{LA_BBCODE_D_HELP}',
t: '{LA_BBCODE_T_HELP}',
tip: '{L_STYLES_TIP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
@@ -56,7 +55,7 @@
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
<input type="button" class="button2" accesskey="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('y')" onmouseout="helpline('tip')" />
<!-- IF S_BBCODE_IMG -->
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
@@ -93,8 +92,8 @@
// ]]>
</script>
</dt>
<dd style="margin-left: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();">{SIGNATURE}</textarea></dd>
<dd style="margin-left: 90px; margin-top: 5px;">
<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();">{SIGNATURE}</textarea></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
<!-- IF S_BBCODE_ALLOWED -->
<label><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label>
<!-- ENDIF -->
@@ -105,7 +104,7 @@
<label><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label>
<!-- ENDIF -->
</dd>
<dd style="margin-left: 90px; margin-top: 10px;"><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 10px;"><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
</dl>
</fieldset>

View File

@@ -670,14 +670,10 @@ legend {
position: relative;
text-transform: none;
line-height: 1.2em;
top: 0;
top: -.2em;
vertical-align: middle;
}
/* Hide from macIE \*/
legend { top: -1.2em; }
/* end */
* html legend {
margin: 0 0 -10px -7px;
line-height: 1em;
@@ -903,12 +899,15 @@ html>body dd label input { vertical-align: text-bottom;} /* Tweak for Moz to ali
dd input {
font-size: 1.00em;
max-width: 100%;
margin: 2px 0;
}
dd select {
font-size: 100%;
font-size: 1em;
width: auto;
max-width: 100%;
margin: 2px 0;
}
dd textarea {
@@ -916,11 +915,6 @@ dd textarea {
width: 90%;
}
dd select {
width: auto;
font-size: 1.00em;
}
fieldset dl {
margin-bottom: 10px;
font-size: 0.85em;

View File

@@ -4,7 +4,8 @@
<script type="text/javascript">
// <![CDATA[
var RecaptchaOptions = {
lang : '{LA_RECAPTCHA_LANG}'
lang : '{LA_RECAPTCHA_LANG}',
theme : 'clean'
};
// ]]>
</script>

View File

@@ -28,8 +28,8 @@ function helpline(help)
/**
* Fix a bug involving the TextRange object. From
* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
*/
function initInsertions()
*/
function initInsertions()
{
var doc;
if(document.forms[form_name])
@@ -46,7 +46,11 @@ function initInsertions()
{
textarea.focus();
baseHeight = doc.selection.createRange().duplicate().boundingHeight;
// document.body.focus();
if (!document.forms[form_name])
{
document.body.focus();
}
}
}
@@ -62,7 +66,7 @@ function bbstyle(bbnumber)
else
{
insert_text('[*]');
document.forms[form_name].elements[text_name].focus();
document.forms[form_name].elements[text_name].focus();
}
}
@@ -72,7 +76,7 @@ function bbstyle(bbnumber)
function bbfontstyle(bbopen, bbclose)
{
theSelection = false;
var textarea = document.forms[form_name].elements[text_name];
textarea.focus();
@@ -80,14 +84,10 @@ function bbfontstyle(bbopen, bbclose)
if ((clientVer >= 4) && is_ie && is_win)
{
// Get text selection
theSelection = document.selection.createRange().text;
if (theSelection)
if (textarea.createTextRange && textarea.caretPos)
{
// Add tags around selection
document.selection.createRange().text = bbopen + theSelection + bbclose;
document.forms[form_name].elements[text_name].focus();
theSelection = '';
textarea.caretPos.text = bbopen + textarea.caretPos.text + bbclose;
textarea.focus();
return;
}
}
@@ -98,10 +98,10 @@ function bbfontstyle(bbopen, bbclose)
theSelection = '';
return;
}
//The new position for the cursor after adding the bbcode
var caret_pos = getCaretPosition(textarea).start;
var new_pos = caret_pos + bbopen.length;
var new_pos = caret_pos + bbopen.length;
// Open tag
insert_text(bbopen + bbclose);
@@ -112,12 +112,12 @@ function bbfontstyle(bbopen, bbclose)
{
textarea.selectionStart = new_pos;
textarea.selectionEnd = new_pos;
}
}
// IE
else if (document.selection)
{
var range = textarea.createTextRange();
range.move("character", new_pos);
var range = textarea.createTextRange();
range.move("character", bbopen.length);
range.select();
storeCaret(textarea);
}
@@ -132,7 +132,7 @@ function bbfontstyle(bbopen, bbclose)
function insert_text(text, spaces, popup)
{
var textarea;
if (!popup)
{
textarea = document.forms[form_name].elements[text_name];
@@ -152,21 +152,21 @@ function insert_text(text, spaces, popup)
var sel_start = textarea.selectionStart;
var sel_end = textarea.selectionEnd;
mozWrap(textarea, text, '')
mozWrap(textarea, text, '');
textarea.selectionStart = sel_start + text.length;
textarea.selectionEnd = sel_end + text.length;
}
}
else if (textarea.createTextRange && textarea.caretPos)
{
if (baseHeight != textarea.caretPos.boundingHeight)
if (baseHeight != textarea.caretPos.boundingHeight)
{
textarea.focus();
storeCaret(textarea);
}
var caret_pos = textarea.caretPos;
caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
}
else
{
@@ -229,7 +229,8 @@ function addquote(post_id, username)
theSelection = theSelection.replace(/<br\/>/ig, '\n');
theSelection = theSelection.replace(/&lt\;/ig, '<');
theSelection = theSelection.replace(/&gt\;/ig, '>');
theSelection = theSelection.replace(/&amp\;/ig, '&');
theSelection = theSelection.replace(/&amp\;/ig, '&');
theSelection = theSelection.replace(/&nbsp\;/ig, ' ');
}
else if (document.all)
{
@@ -263,18 +264,18 @@ function mozWrap(txtarea, open, close)
var selEnd = txtarea.selectionEnd;
var scrollTop = txtarea.scrollTop;
if (selEnd == 1 || selEnd == 2)
if (selEnd == 1 || selEnd == 2)
{
selEnd = selLength;
}
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s2 = (txtarea.value).substring(selStart, selEnd);
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
txtarea.selectionStart = selEnd + open.length + close.length;
txtarea.selectionEnd = txtarea.selectionStart;
txtarea.selectionStart = selStart + open.length;
txtarea.selectionEnd = selEnd + open.length;
txtarea.focus();
txtarea.scrollTop = scrollTop;
@@ -287,7 +288,17 @@ function mozWrap(txtarea, open, close)
*/
function storeCaret(textEl)
{
if (textEl.createTextRange)
var keyCode = false;
if (is_ie)
{
keyCode = (event.keyCode) ? event.keyCode : event.charCode;
}
// Did the user press Shift (16), Ctrl (17) or Alt (18)?
// If so, we do not update the caretPos, so BBCodes can still be applied correctly.
var is_control_key = (keyCode == 16 || keyCode == 17 || keyCode == 18);
if ((!is_ie || !is_control_key) && (textEl.createTextRange))
{
textEl.caretPos = document.selection.createRange().duplicate();
}
@@ -323,12 +334,12 @@ function colorPalette(dir, width, height)
{
document.writeln('<tr>');
}
for (b = 0; b < 5; b++)
{
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
document.write('<td bgcolor="#' + color + '">');
document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" onmouseover="helpline(\'s\');" onmouseout="helpline(\'tip\');"><img src="images/spacer.gif" width="' + width + '" height="' + height + '" alt="#' + color + '" title="#' + color + '" /></a>');
document.write('<td bgcolor="#' + color + '" style="width: ' + width + 'px; height: ' + height + 'px;">');
document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;"><img src="images/spacer.gif" width="' + width + '" height="' + height + '" alt="#' + color + '" title="#' + color + '" /></a>');
document.writeln('</td>');
}
@@ -363,9 +374,9 @@ function caretPosition()
function getCaretPosition(txtarea)
{
var caretPos = new caretPosition();
// simple Gecko/Opera way
if (txtarea.selectionStart || txtarea.selectionStart == 0)
if (!is_ie && (txtarea.selectionStart || txtarea.selectionStart == 0))
{
caretPos.start = txtarea.selectionStart;
caretPos.end = txtarea.selectionEnd;
@@ -379,19 +390,19 @@ function getCaretPosition(txtarea)
// a new selection of the whole textarea
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtarea);
// calculate selection start point by moving beginning of range_all to beginning of range
var sel_start;
for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
{
range_all.moveStart('character', 1);
}
txtarea.sel_start = sel_start;
// we ignore the end value for IE, this is already dirty enough and we don't need it
caretPos.start = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
}
return caretPos;

View File

@@ -6,20 +6,9 @@
</div>
</div>
</div>
<!--
We request you retain the full copyright notice below including the link to www.phpbb.com.
This not only gives respect to the large amount of time given freely by the developers
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
forums may be affected.
The phpBB Group : 2006
// -->
<div id="page-footer">
Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
</div>
</div>

View File

@@ -200,7 +200,7 @@
<legend><img src="{T_IMAGE_PATH}file_up_to_date.gif" alt="{L_STATUS_UP_TO_DATE}" /></legend>
<!-- BEGIN up_to_date -->
<dl>
<dd class="full" style="text-align: left;"><strong>{up_to_date.FILENAME}</strong></dd>
<dd class="full" style="text-align: {S_CONTENT_FLOW_BEGIN};"><strong>{up_to_date.FILENAME}</strong></dd>
</dl>
<!-- END up_to_date -->
</fieldset>
@@ -218,11 +218,11 @@
<dt style="width: 60%;"><strong><!-- IF new.DIR_PART -->{new.DIR_PART}<br /><!-- ENDIF -->{new.FILE_PART}</strong>
<!-- IF new.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{new.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-left: 60%;">
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">
<!-- IF not new.S_BINARY -->[<a href="{new.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF new.S_CUSTOM -->
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{new.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><label><input type="checkbox" name="no_update[]" value="{new.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- END new -->
@@ -242,9 +242,9 @@
<dt style="width: 60%;"><strong><!-- IF not_modified.DIR_PART -->{not_modified.DIR_PART}<br /><!-- ENDIF -->{not_modified.FILE_PART}</strong>
<!-- IF not_modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{not_modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-left: 60%;"><!-- IF not not_modified.S_BINARY -->[<a href="{not_modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{not_modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><!-- IF not not_modified.S_BINARY -->[<a href="{not_modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{not_modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
<!-- IF not_modified.S_CUSTOM -->
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{not_modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><label><input type="checkbox" name="no_update[]" value="{not_modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- END not_modified -->
@@ -263,22 +263,22 @@
<dt style="width: 60%;"><strong><!-- IF modified.DIR_PART -->{modified.DIR_PART}<br /><!-- ENDIF -->{modified.FILE_PART}</strong>
<!-- IF modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-left: 60%;">&nbsp;</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">&nbsp;</dd>
<!-- IF modified.S_CUSTOM -->
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="0" checked="checked" /> {L_MERGE_MODIFICATIONS_OPTION}</label></dt>
<dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-left: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
</dl>
</fieldset>
<!-- END modified -->
@@ -296,11 +296,11 @@
<dt style="width: 60%;"><strong><!-- IF new_conflict.DIR_PART -->{new_conflict.DIR_PART}<br /><!-- ENDIF -->{new_conflict.FILE_PART}</strong>
<!-- IF new_conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{new_conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-left: 60%;">
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">
<!-- IF not new_conflict.S_BINARY -->[<a href="{new_conflict.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new_conflict.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF new_conflict.S_CUSTOM -->
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- END new_conflict -->
@@ -320,35 +320,35 @@
<!-- IF conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}: </em>{conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
<!-- IF conflict.NUM_CONFLICTS --><br /><span>{L_NUM_CONFLICTS}: {conflict.NUM_CONFLICTS}</span><!-- ENDIF -->
</dt>
<dd style="margin-left: 60%;">
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">
<!-- IF not conflict.S_BINARY -->[<a href="{conflict.U_SHOW_DIFF}">{L_DOWNLOAD_CONFLICTS}</a>]<br />{L_DOWNLOAD_CONFLICTS_EXPLAIN}
<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF conflict.S_CUSTOM -->
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- IF conflict.S_BINARY -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-left: 60%;">&nbsp;</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">&nbsp;</dd>
</dl>
<!-- ELSE -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="3" checked="checked" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
<dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
<dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-left: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<!-- ENDIF -->
</fieldset>

View File

@@ -6,21 +6,10 @@
</div>
</div>
</div>
<!--
We request you retain the full copyright notice below including the link to www.phpbb.com.
This not only gives respect to the large amount of time given freely by the developers
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
forums may be affected.
The phpBB Group : 2006
// -->
<div id="page-footer">
<!-- IF S_COPYRIGHT_HTML -->
Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -40,7 +40,7 @@
<dl class="permissions-simple">
<dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}:</label></dt>
<!-- IF p_mask.f_mask.S_ROLE_OPTIONS -->
<dd style="margin-left: 20%"><select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select></dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 20%"><select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select></dd>
<!-- ELSE -->
<dd>{L_NO_ROLE_AVAILABLE}</dd>
<!-- ENDIF -->
@@ -118,7 +118,7 @@
</div>
<!-- IF not p_mask.S_VIEW -->
<fieldset class="quick" style="margin-right: 11px;">
<fieldset class="quick" style="margin-{S_CONTENT_FLOW_END}: 11px;">
<p class="small">{L_APPLY_PERMISSIONS_EXPLAIN}</p>
<input class="button1" type="submit" name="psubmit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="{L_APPLY_PERMISSIONS}" />
<!-- IF .p_mask.f_mask gt 1 or .p_mask gt 1 -->

View File

@@ -2,21 +2,10 @@
<br /><br />
</div>
<!--
We request you retain the full copyright notice below including the link to www.phpbb.com.
This not only gives respect to the large amount of time given freely by the developers
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
forums may be affected.
The phpBB Group : 2006
// -->
<div id="page-footer">
<!-- IF S_COPYRIGHT_HTML -->
<br />Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
<br />Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -16,119 +16,12 @@ if (!defined('IN_PHPBB'))
exit;
}
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
require($phpbb_root_path . 'includes/startup.' . $phpEx);
// Report all errors, except notices and deprecation messages
if (!defined('E_DEPRECATED'))
if (file_exists($phpbb_root_path . 'config.' . $phpEx))
{
define('E_DEPRECATED', 8192);
require($phpbb_root_path . 'config.' . $phpEx);
}
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
/*
* Remove variables created by register_globals from the global scope
* Thanks to Matt Kavanagh
*/
function deregister_globals()
{
$not_unset = array(
'GLOBALS' => true,
'_GET' => true,
'_POST' => true,
'_COOKIE' => true,
'_REQUEST' => true,
'_SERVER' => true,
'_SESSION' => true,
'_ENV' => true,
'_FILES' => true,
'phpEx' => true,
'phpbb_root_path' => true
);
// Not only will array_merge and array_keys give a warning if
// a parameter is not an array, array_merge will actually fail.
// So we check if _SESSION has been initialised.
if (!isset($_SESSION) || !is_array($_SESSION))
{
$_SESSION = array();
}
// Merge all into one extremely huge array; unset this later
$input = array_merge(
array_keys($_GET),
array_keys($_POST),
array_keys($_COOKIE),
array_keys($_SERVER),
array_keys($_SESSION),
array_keys($_ENV),
array_keys($_FILES)
);
foreach ($input as $varname)
{
if (isset($not_unset[$varname]))
{
// Hacking attempt. No point in continuing unless it's a COOKIE
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
{
exit;
}
else
{
$cookie = &$_COOKIE;
while (isset($cookie['GLOBALS']))
{
foreach ($cookie['GLOBALS'] as $registered_var => $value)
{
if (!isset($not_unset[$registered_var]))
{
unset($GLOBALS[$registered_var]);
}
}
$cookie = &$cookie['GLOBALS'];
}
}
}
unset($GLOBALS[$varname]);
}
unset($input);
}
// If we are on PHP >= 6.0.0 we do not need some code
if (version_compare(PHP_VERSION, '6.0.0-dev', '>='))
{
/**
* @ignore
*/
define('STRIP', false);
}
else
{
@set_magic_quotes_runtime(0);
// Be paranoid with passed vars
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get'))
{
deregister_globals();
}
define('STRIP', (get_magic_quotes_gpc()) ? true : false);
}
if (defined('IN_CRON'))
{
$phpbb_root_path = dirname(__FILE__) . DIRECTORY_SEPARATOR;
}
if (!file_exists($phpbb_root_path . 'config.' . $phpEx))
{
die("<p>The config.$phpEx file could not be found.</p><p><a href=\"{$phpbb_root_path}install/index.$phpEx\">Click here to install phpBB</a></p>");
}
require($phpbb_root_path . 'config.' . $phpEx);
if (!defined('PHPBB_INSTALLED'))
{

View File

@@ -21,7 +21,6 @@ $user->session_begin(false);
$auth->acl($user->data);
$cron_type = request_var('cron_type', '');
$use_shutdown_function = (@function_exists('register_shutdown_function')) ? true : false;
// Output transparent gif
header('Cache-Control: no-cache');
@@ -30,10 +29,9 @@ header('Content-length: 43');
echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
// test without flush ;)
// flush();
// Flush here to prevent browser from showing the page as loading while running cron.
flush();
//
if (!isset($config['cron_lock']))
{
set_config('cron_lock', '0', true);
@@ -79,23 +77,10 @@ switch ($cron_type)
break;
}
// A user reported using the mail() function while using shutdown does not work. We do not want to risk that.
if ($use_shutdown_function && !$config['smtp_delivery'])
{
$use_shutdown_function = false;
}
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
$queue = new queue();
if ($use_shutdown_function)
{
register_shutdown_function(array(&$queue, 'process'));
}
else
{
$queue->process();
}
$queue->process();
break;
@@ -106,14 +91,7 @@ switch ($cron_type)
break;
}
if ($use_shutdown_function)
{
register_shutdown_function(array(&$cache, 'tidy'));
}
else
{
$cache->tidy();
}
$cache->tidy();
break;
@@ -138,14 +116,7 @@ switch ($cron_type)
break;
}
if ($use_shutdown_function)
{
register_shutdown_function(array(&$search, 'tidy'));
}
else
{
$search->tidy();
}
$search->tidy();
break;
@@ -158,14 +129,7 @@ switch ($cron_type)
include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
if ($use_shutdown_function)
{
register_shutdown_function('tidy_warnings');
}
else
{
tidy_warnings();
}
tidy_warnings();
break;
@@ -178,14 +142,7 @@ switch ($cron_type)
include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
if ($use_shutdown_function)
{
register_shutdown_function('tidy_database');
}
else
{
tidy_database();
}
tidy_database();
break;
@@ -196,14 +153,7 @@ switch ($cron_type)
break;
}
if ($use_shutdown_function)
{
register_shutdown_function(array(&$user, 'session_gc'));
}
else
{
$user->session_gc();
}
$user->session_gc();
break;
@@ -230,26 +180,12 @@ switch ($cron_type)
if ($row['prune_days'])
{
if ($use_shutdown_function)
{
register_shutdown_function('auto_prune', $row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']);
}
else
{
auto_prune($row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']);
}
auto_prune($row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']);
}
if ($row['prune_viewed'])
{
if ($use_shutdown_function)
{
register_shutdown_function('auto_prune', $row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']);
}
else
{
auto_prune($row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']);
}
auto_prune($row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']);
}
}
@@ -257,16 +193,8 @@ switch ($cron_type)
}
// Unloading cache and closing db after having done the dirty work.
if ($use_shutdown_function)
{
register_shutdown_function('unlock_cron');
register_shutdown_function('garbage_collection');
}
else
{
unlock_cron();
garbage_collection();
}
unlock_cron();
garbage_collection();
exit;

View File

@@ -0,0 +1,163 @@
<?php
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2009, 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* This script will check your database for potentially dangerous flash BBCode tags
*/
//
// Security message:
//
// This script is potentially dangerous.
// Remove or comment the next line (die(".... ) to enable this script.
// Do NOT FORGET to either remove this script or disable it after you have used it.
//
die("Please read the first lines of this script for instructions on how to enable it\n");
/**
*/
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);
if (php_sapi_name() != 'cli')
{
header('Content-Type: text/plain');
}
check_table_flash_bbcodes(POSTS_TABLE, 'post_id', 'post_text', 'bbcode_uid', 'bbcode_bitfield');
check_table_flash_bbcodes(PRIVMSGS_TABLE, 'msg_id', 'message_text', 'bbcode_uid', 'bbcode_bitfield');
check_table_flash_bbcodes(USERS_TABLE, 'user_id', 'user_sig', 'user_sig_bbcode_uid', 'user_sig_bbcode_bitfield');
check_table_flash_bbcodes(FORUMS_TABLE, 'forum_id', 'forum_desc', 'forum_desc_uid', 'forum_desc_bitfield');
check_table_flash_bbcodes(FORUMS_TABLE, 'forum_id', 'forum_rules', 'forum_rules_uid', 'forum_rules_bitfield');
check_table_flash_bbcodes(GROUPS_TABLE, 'group_id', 'group_desc', 'group_desc_uid', 'group_desc_bitfield');
echo "If potentially dangerous flash bbcodes were found, please reparse the posts using the Support Toolkit (http://www.phpbb.com/support/stk/) and/or file a ticket in the Incident Tracker (http://www.phpbb.com/incidents/).\n";
function check_table_flash_bbcodes($table_name, $id_field, $content_field, $uid_field, $bitfield_field)
{
echo "Checking $content_field on $table_name\n";
$ids = get_table_flash_bbcode_pkids($table_name, $id_field, $content_field, $uid_field, $bitfield_field);
$size = sizeof($ids);
if ($size)
{
echo "Found $size potentially dangerous flash bbcodes.\n";
echo "$id_field: " . implode(', ', $ids) . "\n";
}
else
{
echo "No potentially dangerous flash bbcodes found.\n";
}
echo "\n";
}
function get_table_flash_bbcode_pkids($table_name, $id_field, $content_field, $uid_field, $bitfield_field)
{
global $db;
$ids = array();
$sql = "SELECT $id_field, $content_field, $uid_field, $bitfield_field
FROM $table_name
WHERE $content_field LIKE '%[/flash:%'
AND $bitfield_field <> ''";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$uid = $row[$uid_field];
// thanks support toolkit
$content = html_entity_decode_utf8($row[$content_field]);
set_var($content, $content, 'string', true);
$content = utf8_normalize_nfc($content);
$bitfield_data = $row[$bitfield_field];
if (!is_valid_flash_bbcode($content, $uid) && has_flash_enabled($bitfield_data))
{
$ids[] = (int) $row[$id_field];
}
}
$db->sql_freeresult($result);
return $ids;
}
function get_flash_regex($uid)
{
return "#\[flash=([0-9]+),([0-9]+):$uid\](.*?)\[/flash:$uid\]#";
}
// extract all valid flash bbcodes
// check if the bbcode content is a valid URL for each match
function is_valid_flash_bbcode($cleaned_content, $uid)
{
$regex = get_flash_regex($uid);
$url_regex = get_preg_expression('url');
$www_url_regex = get_preg_expression('www_url');
if (preg_match_all($regex, $cleaned_content, $matches))
{
foreach ($matches[3] as $flash_url)
{
if (!preg_match("#^($url_regex|$www_url_regex)$#i", $flash_url))
{
return false;
}
}
}
return true;
}
// check if a bitfield includes flash
// 11 = flash bit
function has_flash_enabled($bitfield_data)
{
$bitfield = new bitfield($bitfield_data);
return $bitfield->get(11);
}
// taken from support toolkit
function html_entity_decode_utf8($string)
{
static $trans_tbl;
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'code2utf8(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'code2utf8(\\1)', $string);
// replace literal entities
if (!isset($trans_tbl))
{
$trans_tbl = array();
foreach (get_html_translation_table(HTML_ENTITIES) as $val=>$key)
$trans_tbl[$key] = utf8_encode($val);
}
return strtr($string, $trans_tbl);
}
// taken from support toolkit
// Returns the utf string corresponding to the unicode value (from php.net, courtesy - romans@void.lv)
function code2utf8($num)
{
if ($num < 128) return chr($num);
if ($num < 2048) return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
if ($num < 65536) return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
if ($num < 2097152) return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
return '';
}

View File

@@ -12,11 +12,7 @@
* If you overwrite the original schema files please make sure you save the file with UNIX linefeeds.
*/
die("Please read the first lines of this script for instructions on how to enable it");
@set_time_limit(0);
$schema_path = './../install/schemas/';
$schema_path = dirname(__FILE__) . '/../install/schemas/';
if (!is_writable($schema_path))
{
@@ -242,7 +238,7 @@ $supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', '
foreach ($supported_dbms as $dbms)
{
$fp = fopen($schema_path . '_' . $dbms . '_schema.sql', 'wt');
$fp = fopen($schema_path . $dbms . '_schema.sql', 'wt');
$line = '';
@@ -251,31 +247,43 @@ foreach ($supported_dbms as $dbms)
{
case 'mysql_40':
case 'mysql_41':
$line = "#\n# \$I" . "d: $\n#\n\n";
case 'firebird':
case 'sqlite':
fwrite($fp, "# DO NOT EDIT THIS FILE, IT IS GENERATED\n");
fwrite($fp, "#\n");
fwrite($fp, "# To change the contents of this file, edit\n");
fwrite($fp, "# phpBB/develop/create_schema_files.php and\n");
fwrite($fp, "# run it.\n");
break;
case 'mssql':
case 'oracle':
case 'postgres':
fwrite($fp, "/*\n");
fwrite($fp, " * DO NOT EDIT THIS FILE, IT IS GENERATED\n");
fwrite($fp, " *\n");
fwrite($fp, " * To change the contents of this file, edit\n");
fwrite($fp, " * phpBB/develop/create_schema_files.php and\n");
fwrite($fp, " * run it.\n");
fwrite($fp, " */\n\n");
break;
}
switch ($dbms)
{
case 'firebird':
$line = "#\n# \$I" . "d: $\n#\n\n";
$line .= custom_data('firebird') . "\n";
break;
case 'sqlite':
$line = "#\n# \$I" . "d: $\n#\n\n";
$line .= "BEGIN TRANSACTION;\n\n";
break;
case 'mssql':
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
$line .= "BEGIN TRANSACTION\nGO\n\n";
break;
case 'oracle':
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
$line .= custom_data('oracle') . "\n";
break;
case 'postgres':
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
$line .= "BEGIN;\n\n";
$line .= custom_data('postgres') . "\n";
break;
@@ -328,6 +336,15 @@ foreach ($supported_dbms as $dbms)
// Write columns one by one...
foreach ($table_data['COLUMNS'] as $column_name => $column_data)
{
if (strlen($column_name) > 30)
{
trigger_error("Column name '$column_name' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
}
if (isset($column_data[2]) && $column_data[2] == 'auto_increment' && strlen($column_name) > 26) // "${column_name}_gen"
{
trigger_error("Index name '${column_name}_gen' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
}
// Get type
if (strpos($column_data[0], ':') !== false)
{
@@ -631,6 +648,11 @@ foreach ($supported_dbms as $dbms)
$key_data[1] = array($key_data[1]);
}
if (strlen($table_name . $key_name) > 30)
{
trigger_error("Index name '${table_name}_$key_name' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
}
switch ($dbms)
{
case 'mysql_40':
@@ -749,7 +771,8 @@ foreach ($supported_dbms as $dbms)
switch ($dbms)
{
case 'mssql':
$line = "\nCOMMIT\nGO\n\n";
// No need to do this, no transaction support for schema changes
//$line = "\nCOMMIT\nGO\n\n";
break;
case 'sqlite':
@@ -924,7 +947,7 @@ function get_schema_struct()
$schema_data['phpbb_bbcodes'] = array(
'COLUMNS' => array(
'bbcode_id' => array('TINT:3', 0),
'bbcode_id' => array('USINT', 0),
'bbcode_tag' => array('VCHAR:16', ''),
'bbcode_helpline' => array('VCHAR_UNI', ''),
'display_on_posting' => array('BOOL', 0),
@@ -1205,6 +1228,24 @@ function get_schema_struct()
),
);
$schema_data['phpbb_login_attempts'] = array(
'COLUMNS' => array(
'attempt_ip' => array('VCHAR:40', ''),
'attempt_browser' => array('VCHAR:150', ''),
'attempt_forwarded_for' => array('VCHAR:255', ''),
'attempt_time' => array('TIMESTAMP', 0),
'user_id' => array('UINT', 0),
'username' => array('VCHAR_UNI:255', 0),
'username_clean' => array('VCHAR_CI', 0),
),
'KEYS' => array(
'att_ip' => array('INDEX', array('attempt_ip', 'attempt_time')),
'att_for' => array('INDEX', array('attempt_forwarded_for', 'attempt_time')),
'att_time' => array('INDEX', array('attempt_time')),
'user_id' => array('INDEX', 'user_id'),
),
);
$schema_data['phpbb_moderator_cache'] = array(
'COLUMNS' => array(
'forum_id' => array('UINT', 0),
@@ -2045,4 +2086,3 @@ EOF;
echo 'done';
?>

View File

@@ -83,7 +83,7 @@ $html_skeleton .= '<br><br><a name="ref"></a><b>References: </b>{SEE_FILES}';
$html_skeleton .= '
<br><br>
<div class="copyright" align="center">Powered by phpBB 2.2 &copy; <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div>
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group</div>
<br clear="all" /></td>
</tr>
@@ -405,7 +405,7 @@ $html_data .= '<br><li><a href="./lang_index.html" class="gen">Appendix A: Langu
$html_data .= '
</ol><br><br>
<div class="copyright" align="center">Powered by phpBB 2.2 &copy; <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div>
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group</div>
<br clear="all" /></td>
</tr>
@@ -528,7 +528,7 @@ foreach ($lang_fp as $filepointer)
$html_data .= '
<br><br>
<div class="copyright" align="center">Powered by phpBB 2.2 &copy; <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div>
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group</div>
<br clear="all" /></td>
</tr>

View File

@@ -14,7 +14,7 @@ find . > FILELIST.$$
grep -sv FILELIST FILELIST.$$ > FILELIST2.$$
grep -sv $(basename $0) FILELIST2.$$ > FILELIST.$$
grep -sv "^\.$" FILELIST.$$ > FILELIST2.$$
file -f FILELIST2.$$ |grep text | sed -e 's/^\([^\:]*\)\:.*$/\1/' > FILELIST
file -f FILELIST2.$$ |grep text | grep -v icon_textbox_search.gif | sed -e 's/^\([^\:]*\)\:.*$/\1/' > FILELIST
file -f FILELIST2.$$ |grep -sv text | sed -e 's/^\([^\:]*\)\:.*$/Not Modifying file: \1/'
rm FILELIST2.$$
rm FILELIST.$$

View File

@@ -21,6 +21,7 @@
die("Please read the first lines of this script for instructions on how to enable it");
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);
@@ -252,7 +253,7 @@ foreach ($schema_data as $table_name => $table_data)
// Do we now need to re-add the fulltext index? ;)
if ($table_name == ($prefix . 'posts') && $drop_index)
{
echo "ALTER TABLE $table_name ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text){$newline}";
echo "ALTER TABLE $table_name ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text);{$newline}";
}
}
@@ -414,7 +415,7 @@ function get_schema_struct()
$schema_data['phpbb_bbcodes'] = array(
'COLUMNS' => array(
'bbcode_id' => array('TINT:3', 0),
'bbcode_id' => array('USINT', 0),
'bbcode_tag' => array('VCHAR:16', ''),
'bbcode_helpline' => array('VCHAR_UNI', ''),
'display_on_posting' => array('BOOL', 0),

View File

@@ -18,14 +18,15 @@ $ls32 = "(?:$h16:$h16|$ipv4)";
$ipv6_construct = array(
array(false, '', '{6}', $ls32),
array(false, '::', '{5}', $ls32),
array(false, '::', '{0,5}', "(?:$h16(?::$h16)?|$ipv4)"),
array('', ':', '{4}', $ls32),
array('{1,2}', ':', '{3}', $ls32),
array('{1,3}', ':', '{2}', $ls32),
array('{1,4}', ':', '', $ls32),
array('{1,5}', ':', false, $ls32),
array('{1,6}', ':', false, $h16),
array('{1,7}', ':', false, '')
array('{1,7}', ':', false, ''),
array(false, '::', false, '')
);
$ipv6 = '(?:';

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# set permissions required for installation
dir=$(dirname $0)
for file in cache files store config.php images/avatars/upload
do
chmod a+w $dir/../$file
done

View File

@@ -1,6 +1,6 @@
/**
*
* phpBB3 © Copyright 2000, 2002, 2005, 2007 phpBB Group
* phpBB3 © Copyright phpBB Group
* http://www.phpbb.com
*
* This program is free software: you can redistribute it and/or modify
@@ -22,21 +22,18 @@ involved in phpBB.
phpBB Lead Developer: naderman (Nils Adermann)
phpBB Developers: A_Jelly_Doughnut (Josh Woody)
Acyd Burn (Meik Sievertsen) [Lead 09/2005 - 01/2010]
APTX (Marek A. R.)
phpBB Developers: Acyd Burn (Meik Sievertsen) [Lead 09/2005 - 01/2010]
bantu (Andreas Fischer)
DavidMJ (David M.)
dhn (Dominik Dröscher)
ckwalsh (Cullen Walsh)
igorw (Igor Wiedler)
kellanved (Henry Sudhof)
Terrafrost (Jim Wigginton)
nickvergessen (Joas Schilling)
Oleg (Oleg Pudeyev)
rxu (Ruslan Uzdenov)
ToonArmy (Chris Smith)
Contributions by: Brainy (Cullen Walsh)
leviatan21 (Gabriel Vazquez)
nickvergessen (Joas Schilling)
Contributions by: leviatan21 (Gabriel Vazquez)
Raimon (Raimon Meuldijk)
rxu (Ruslan Uzdenov)
Xore (Robert Hetzler)
@@ -47,10 +44,15 @@ phpBB Project Manager: theFinn (James Atkinson) [Founder - 04/2007]
phpBB Lead Developer: psoTFX (Paul S. Owen) [2001 - 09/2005]
phpBB Developers: Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
BartVB (Bart van Bragt) [11/2000 - 03/2006]
GrahamJE (Graham Eames) [09/2005 - 11/2006]
Vic D'Elfant (Vic D'Elfant) [04/2007 - 04/2009]
phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
APTX (Marek A. Ruszczyński) [12/2007 - 04/2011]
Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
BartVB (Bart van Bragt) [11/2000 - 03/2006]
DavidMJ (David M.) [12/2005 - 08/2009]
dhn (Dominik Dröscher) [05/2007 - 01/2011]
GrahamJE (Graham Eames) [09/2005 - 11/2006]
TerraFrost (Jim Wigginton) [04/2009 - 01/2011]
Vic D'Elfant (Vic D'Elfant) [04/2007 - 04/2009]
-- Copyrights --

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.0.x frequently asked questions" />
<title>phpBB3 &bull; FAQ</title>
@@ -328,7 +328,7 @@ I want to sue you because i think you host an illegal board!</h2>
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.0.x Installation, updating and conversion informations" />
<title>phpBB3 &bull; Install</title>
@@ -79,6 +79,7 @@
<li><a href="#postinstall">Important (security related) post-Install tasks for all installation methods</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#avatars">Uploadable avatars</a></li>
<li><a href="#webserver_configuration">Webserver configuration</a></li>
</ol>
</li>
<li><a href="#disclaimer">Disclaimer</a></li>
@@ -273,7 +274,7 @@
<p>This package is meant for those wanting to only replace changed files from a previous version to the latest version. This package normally contains the changed files from up to five previous versions.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.6</samp> you should select the phpBB-3.0.6_to_3.0.7.zip/tar.gz file.</p>
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.9</samp> you should select the phpBB-3.0.9_to_3.0.10.zip/tar.gz file.</p>
<p>The directory structure has been preserved enabling you (if you wish) to simply upload the contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any MODs these files will overwrite the originals possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
@@ -285,7 +286,7 @@
<p>The patch file is one solution for those with many Modifications (MODs) or other changes who do not want to re-add them back to all the changed files if they use the method explained above. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application but still want to use this update approach, we strongly recommend the <a href="#update_auto">Automatic update package</a> explained below. It is also the recommended update method.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is 3.0.5 you need the phpBB-3.0.6_to_3.0.7.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is <samp>3.0.9</samp> you need the phpBB-3.0.9_to_3.0.10.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>If you do get failures you should look at using the <a href="#update_files">Changed files only</a> package to replace the files which failed to patch, please note that you will need to manually re-add any Modifications (MODs) to these particular files. Alternatively if you know how you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
@@ -408,6 +409,12 @@
<p>Please be aware that setting a directories permissions to global write access is a potential security issue. While it is unlikely that anything nasty will occur (such as all the avatars being deleted) there are always people out there to cause trouble. Therefore you should monitor this directory and if possible make regular backups.</p>
<a name="webserver_configuration"></a><h3>6.ii. Webserver configuration</h3>
<p>Depending on your web server you may have to configure your server to deny web access to the <code>cache/</code>, <code>files/</code>, <code>store/</code> and other directories. This is to prevent users from accessing sensitive files.</p>
<p>For <strong>apache</strong> there are <code>.htaccess</code> files already in place to do this for you. For other webservers you will have to adjust the configuration yourself. Sample files for <strong>nginx</strong> and <strong>lighttpd</strong> to help you get started may be found in docs directory.</p>
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
@@ -424,7 +431,7 @@
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="phpBB 3.0.x Readme" />
<title>phpBB3 &bull; Readme</title>
@@ -242,7 +242,7 @@
<p>The phpBB Group uses a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums, they will be locked. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
<p><a href="http://www.phpbb.com/bugs/">http://www.phpbb.com/bugs/</a></p>
<p><a href="http://tracker.phpbb.com/">http://tracker.phpbb.com/</a></p>
<p>While we very much appreciate receiving bug reports (the more reports the more stable phpBB will be) we ask you carry out a few steps before adding new entries:</p>
@@ -263,7 +263,7 @@
<p>The relevant database type/version is listed within the administration control panel</p>
<p>Please also be as detailed as you can in your report, if possible list the steps required to duplicate the problem. If you have a fix which you are <strong>VERY SURE</strong> works (and is consistent with our <a href="coding-guidelines.html">coding guidelines</a>) and does not introduce further problems or incompatibilities please let us know. However only include it in the bug report if you really must, if we need it we'll ask you for it.</p>
<p>Please also be as detailed as you can in your report, if possible list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request <a href="https://github.com/phpbb/phpbb3">on GitHub</a>.</p>
<p>Once a bug has been submitted you will be emailed any follow up comments added to it. <strong>Please</strong> if you are requested to supply additional information, do so! It is frustrating for us to receive bug reports, ask for additional information but get nothing. In these cases we have a policy of closing the bug, which may leave a very real problem in place. Obviously we would rather not have this situation arise.</p>
@@ -339,7 +339,7 @@
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="This is an explanation of how to use the phpBB auth/acl API" />
<title>phpBB3 &bull; Auth API</title>
@@ -61,6 +61,9 @@
<li><a href="#acl_getf">acl_getf</a></li>
<li><a href="#acl_getf_global">acl_getf_global</a></li>
<li><a href="#acl_cache">acl_cache</a></li>
<li><a href="#acl_clear_prefetch">acl_clear_prefetch</a></li>
<li><a href="#acl_get_list">acl_get_list</a></li>
<li><a href="#misc">Miscellaneous</a></li>
</ol>
</li>
<li><a href="#admin_related">Admin related functions</a></li>
@@ -176,7 +179,7 @@ array(<em>forum_id1</em> =&gt; array(<em>option</em> =&gt; <em>integer</em>), <e
<p>This method is used to find out whether a user has a permission in at least one forum or globally. This method is similar to checking whether <code>acl_getf(option, true)</code> returned one or more forums but it's faster. It should be called in the following way:</p>
<div class="codebox"><pre>
$result = acl_getf_global(<code>option</code>)
$result = $auth-&gt;acl_getf_global(<code>option</code>)
</pre></div>
<p>As with the previous methods option is a string specifying the permission which has to be checked.</p>
@@ -187,6 +190,49 @@ $result = acl_getf_global(<code>option</code>)
<p>This should be considered a private method and not be called externally. It handles the generation of the user_permissions data from the basic user and group authorisation data. When necessary this method is called automatically by <code>acl</code>.</p>
<a name="acl_clear_prefetch"></a><h3>2.vii. acl_clear_prefetch</h3>
<p>This method clears the user_permissions column in the users table for the given user. If the user ID passed is zero, the permissions cache is cleared for all users. This method should be called whenever permissions are set.</p>
<div class="codebox"><pre>
// clear stored permissions for user 2
$user_id = 2;
$auth->acl_clear_prefetch($user_id);
</pre></div>
<p>This method returns void.</p>
<a name="acl_get_list"></a><h3>2.viii. acl_get_list</h3>
<p>This method returns an an array describing which users have permissions in given fora. The resultant array contains an entry for permission that every user has in every forum when no arguments are passed.</p>
<div class="codebox"><pre>
$user_id = array(2, 53);
$permissions = array('f_list', 'f_read');
$forum_id = array(1, 2, 3);
$result = $auth-&gt;acl_get_list($user_id, $permissions, $forum_id);
</pre></div>
<p>The parameters may be of the following legal types:</p>
<ul>
<li><strong>$user_id</strong>: <code>false</code>, int, array(int, int, int, ...)</li>
<li><strong>$permissions</strong>: <code>false</code>, string, array(string, string, ...)</li>
<li><strong>$forum_id</strong>: <code>false</code>, int, array(int, int, int, ...)</li>
</ul>
<a name="misc"></a><h3>2.ix. Miscellaneous</h3>
<p>There are other methods defined in the auth class which serve mostly as private methods, but are available for use if needed. Each of them is used to pull data directly from the database tables. They are:</p>
<ul>
<li><pre>function acl_group_raw_data($group_id = false, $opts = false, $forum_id = false)</pre></li>
<li><pre>function acl_user_raw_data($user_id = false, $opts = false, $forum_id = false)</pre></li>
<li><pre>function acl_raw_data_single_user($user_id)</pre></li>
<li><pre>function acl_raw_data($user_id = false, $opts = false, $forum_id = false)</pre></li>
<li><pre>function acl_role_data($user_type, $role_type, $ug_id = false, $forum_id = false)</pre></li>
</ul>
<p>Of these, <code>acl_raw_data</code> is the most general, but the others will be faster if you need a smaller amount of data.</p>
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
@@ -229,7 +275,7 @@ $auth_admin = new auth_admin();
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>
@@ -241,7 +287,7 @@ $auth_admin = new auth_admin();
<!-- END DOCUMENT -->
<div id="page-footer">
<div class="version"> $Id$ </div>
<div class="version">&nbsp;</div>
</div>
</div></div>

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="Olympus coding guidelines document" />
<title>phpBB3 &bull; Coding Guidelines</title>
@@ -87,13 +87,6 @@
<li><a href="#writingstyle">Writing Style</a></li>
</ol>
</li>
<li><a href="#vcs">VCS Guidelines</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#repostruct">Repository structure</a></li>
<li><a href="#commitmessage">Commit messages</a></li>
</ol>
</li>
<li><a href="#changes">Guidelines Changelog</a></li>
<li><a href="#disclaimer">Copyright and disclaimer</a></li>
</ol>
@@ -241,6 +234,11 @@ PHPBB_ACM_MEMCACHE_PORT (overwrite memcached port, default is 11211)
PHPBB_ACM_MEMCACHE_COMPRESS (overwrite memcached compress setting, default is disabled)
PHPBB_ACM_MEMCACHE_HOST (overwrite memcached host name, default is localhost)
PHPBB_ACM_REDIS_HOST (overwrite redis host name, default is localhost)
PHPBB_ACM_REDIS_PORT (overwrite redis port, default is 6379)
PHPBB_ACM_REDIS_PASSWORD (overwrite redis password, default is empty)
PHPBB_ACM_REDIS_DB (overwrite redis default database)
PHPBB_QA (Set board to QA-Mode, which means the updater also checks for RC-releases)
</pre></div>
@@ -288,7 +286,7 @@ PHPBB_QA (Set board to QA-Mode, which means the updater also c
<div class="content">
<p>Please note that these Guidelines applies to all php, html, javascript and css files.</p>
<p>Please note that these guidelines apply to all php, html, javascript and css files.</p>
<a name="namingvars"></a><h3>2.i. Variable/Function Naming</h3>
@@ -464,12 +462,12 @@ do_stuff($str);
$post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&amp;amp;start=' . $start;
</pre></div>
<p class="good">// Double quotes are sometimes needed to not overcroud the line with concentinations</p>
<p class="good">// Double quotes are sometimes needed to not overcrowd the line with concatenations.</p>
<div class="codebox"><pre>
$post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&amp;amp;start=$start";
</pre></div>
<p>In SQL Statements mixing single and double quotes is partly allowed (following the guidelines listed here about SQL Formatting), else it should be tryed to only use one method - mostly single quotes.</p>
<p>In SQL statements mixing single and double quotes is partly allowed (following the guidelines listed here about SQL formatting), else one should try to only use one method - mostly single quotes.</p>
<h4>Associative array keys:</h4>
<p>In PHP, it's legal to use a literal string as a key to an associative array without quoting that string. We don't want to do this -- the string should always be quoted to avoid confusion. Note that this is only when we're using a literal, not when we're using a variable, examples:</p>
@@ -498,7 +496,7 @@ $foo = $assoc_array[$var];
<p>Each complex function should be preceded by a comment that tells a programmer everything they need to know to use that function. The meaning of every parameter, the expected input, and the output are required as a minimal comment. The function's behaviour in error conditions (and what those error conditions are) should also be present - but mostly included within the comment about the output.<br /><br />Especially important to document are any assumptions the code makes, or preconditions for its proper operation. Any one of the developers should be able to look at any part of the application and figure out what's going on in a reasonable amount of time.<br /><br />Avoid using <code>/* */</code> comment blocks for one-line comments, <code>//</code> should be used for one/two-liners.</p>
<h4>Magic numbers:</h4>
<p>Don't use them. Use named constants for any literal value other than obvious special cases. Basically, it's ok to check if an array has 0 elements by using the literal 0. It's not ok to assign some special meaning to a number and then use it everywhere as a literal. This hurts readability AND maintainability. The constants <code>true</code> and <code>false</code> should be used in place of the literals 1 and 0 -- even though they have the same values (but not type!), it's more obvious what the actual logic is when you use the named constants. Typecast variables where it is needed, do not rely on the correct variable type (PHP is currently very loose on typecasting which can lead to security problems if a developer does not have a very close eye to it).</p>
<p>Don't use them. Use named constants for any literal value other than obvious special cases. Basically, it's ok to check if an array has 0 elements by using the literal 0. It's not ok to assign some special meaning to a number and then use it everywhere as a literal. This hurts readability AND maintainability. The constants <code>true</code> and <code>false</code> should be used in place of the literals 1 and 0 -- even though they have the same values (but not type!), it's more obvious what the actual logic is when you use the named constants. Typecast variables where it is needed, do not rely on the correct variable type (PHP is currently very loose on typecasting which can lead to security problems if a developer does not keep a very close eye on it).</p>
<h4>Shortcut operators:</h4>
<p>The only shortcut operators that cause readability problems are the shortcut increment <code>$i++</code> and decrement <code>$j--</code> operators. These operators should not be used as part of an expression. They can, however, be used on their own line. Using them in expressions is just not worth the headaches when debugging, examples:</p>
@@ -667,7 +665,7 @@ $sql = 'SELECT *
</pre></div>
<h4>SQL Quotes: </h4>
<p>Double quotes where applicable (The variables in these examples are typecasted to integers before) ... examples: </p>
<p>Use double quotes where applicable. (The variables in these examples are typecasted to integers beforehand.) Examples: </p>
<p class="bad">// These are wrong.</p>
<div class="codebox"><pre>
@@ -828,7 +826,7 @@ SELECT FROM phpbb_forums WHERE forum_id <strong>&lt;&gt;</strong> 1
<h4>sql_build_query():</h4>
<p>The <code>$db-&gt;sql_build_query()</code> function is responsible for building sql statements for select and select distinct queries if you need to JOIN on more than one table or retrieving data from more than one table while doing a JOIN. This needs to be used to make sure the resulting statement is working on all supported db's. Instead of explaining every possible combination, i will give a short example:</p>
<p>The <code>$db-&gt;sql_build_query()</code> function is responsible for building sql statements for SELECT and SELECT DISTINCT queries if you need to JOIN on more than one table or retrieve data from more than one table while doing a JOIN. This needs to be used to make sure the resulting statement is working on all supported db's. Instead of explaining every possible combination, I will give a short example:</p>
<div class="codebox"><pre>
$sql_array = array(
@@ -913,7 +911,7 @@ for ($i = 0, $size = sizeof($post_data); $i &lt; $size; $i++)
</pre></div>
<h4>Use of in_array(): </h4>
<p>Try to avoid using in_array() on huge arrays, and try to not place them into loops if the array to check consist of more than 20 entries. in_array() can be very time consuming and uses a lot of cpu processing time. For little checks it is not noticable, but if checked against a huge array within a loop those checks alone can be a bunch of seconds. If you need this functionality, try using isset() on the arrays keys instead, actually shifting the values into keys and vice versa. A call to <code>isset($array[$var])</code> is a lot faster than <code>in_array($var, array_keys($array))</code> for example.</p>
<p>Try to avoid using in_array() on huge arrays, and try to not place them into loops if the array to check consist of more than 20 entries. in_array() can be very time consuming and uses a lot of cpu processing time. For little checks it is not noticeable, but if checked against a huge array within a loop those checks alone can take several seconds. If you need this functionality, try using isset() on the arrays keys instead, actually shifting the values into keys and vice versa. A call to <code>isset($array[$var])</code> is a lot faster than <code>in_array($var, array_keys($array))</code> for example.</p>
<a name="general"></a><h3>2.v. General Guidelines</h3>
@@ -926,7 +924,7 @@ for ($i = 0, $size = sizeof($post_data); $i &lt; $size; $i++)
<p>No attempt should be made to remove any copyright information (either contained within the source or displayed interactively when the source is run/compiled), neither should the copyright information be altered in any way (it may be added to).</p>
<h4>Variables: </h4>
<p>Make use of the <code>request_var()</code> function for anything except for submit or single checking params. </p>
<p>Make use of the <code>request_var()</code> function for anything except for submit or single checking params.</p>
<p>The request_var function determines the type to set from the second parameter (which determines the default value too). If you need to get a scalar variable type, you need to tell this the request_var function explicitly. Examples:</p>
<p class="bad">// Old method, do not use it</p>
@@ -993,7 +991,7 @@ $user-&gt;setup();
<p>The <code>$user-&gt;setup()</code> call can be used to pass on additional language definition and a custom style (used in viewforum).</p>
<h4>Errors and messages: </h4>
<p>All messages/errors should be outputed by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
<p>All messages/errors should be outputted by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
<div class="codebox"><pre>
trigger_error('NO_FORUM');
@@ -1011,7 +1009,7 @@ trigger_error('NO_MODE', E_USER_ERROR);
<p>All urls pointing to internal files need to be prepended by the <code>$phpbb_root_path</code> variable. Within the administration control panel all urls pointing to internal files need to be prepended by the <code>$phpbb_admin_path</code> variable. This makes sure the path is always correct and users being able to just rename the admin folder and the acp still working as intended (though some links will fail and the code need to be slightly adjusted).</p>
<p>The <code>append_sid()</code> function from 2.0.x is available too, though does not handle url alterations automatically. Please have a look at the code documentation if you want to get more details on how to use append_sid(). A sample call to append_sid() can look like this:</p>
<p>The <code>append_sid()</code> function from 2.0.x is available too, though it does not handle url alterations automatically. Please have a look at the code documentation if you want to get more details on how to use append_sid(). A sample call to append_sid() can look like this:</p>
<div class="codebox"><pre>
append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;g=' . $row['group_id'])
@@ -1019,7 +1017,7 @@ append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;
<h4>General function usage: </h4>
<p>Some of these functions are only chosen over others because of personal preference and having no other benefit than to be consistant over the code.</p>
<p>Some of these functions are only chosen over others because of personal preference and have no benefit other than maintaining consistency throughout the code.</p>
<ul>
<li>
@@ -1069,7 +1067,7 @@ append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;
required_imageset = prosilver
</pre></div>
<a name="genstyling"></a><h3>3.2. General Styling Rules</h3>
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the intendation and coding guidelines also apply to templates where possible.</p>
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the indentation and coding guidelines also apply to templates where possible.</p>
<p>The outer table class <code>forumline</code> has gone and is replaced with <code>tablebg</code>.</p>
<p>When writing <code>&lt;table&gt;</code> the order <code>&lt;table class="" cellspacing="" cellpadding="" border="" align=""&gt;</code> creates consistency and allows everyone to easily see which table produces which "look". The same applies to most other tags for which additional parameters can be set, consistency is the major aim here.</p>
@@ -1089,7 +1087,7 @@ append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;
<p>Row colours/classes are now defined by the template, use an <code>IF S_ROW_COUNT</code> switch, see viewtopic or viewforum for an example.</p>
<p>Remember block level ordering is important ... while not all pages validate as XHTML 1.0 Strict compliant it is something we're trying to work too.</p>
<p>Remember block level ordering is important ... while not all pages validate as XHTML 1.0 Strict compliant it is something we're trying to work on.</p>
<p>Use a standard cellpadding of 2 and cellspacing of 0 on outer tables. Inner tables can vary from 0 to 3 or even 4 depending on the need.</p>
@@ -1138,12 +1136,12 @@ append_sid(&quot;{$phpbb_root_path}memberlist.$phpEx&quot;, 'mode=group&amp;amp;
<a name="templates"></a><h3>4.i. General Templating</h3>
<h4>File naming</h4>
<p>Firstly templates now take the suffix &quot;.html&quot; rather than &quot;.tpl&quot;. This was done simply to make the lifes of some people easier wrt syntax highlighting, etc.</p>
<p>Firstly templates now take the suffix &quot;.html&quot; rather than &quot;.tpl&quot;. This was done simply to make the lives of some people easier wrt syntax highlighting, etc.</p>
<h4>Variables</h4>
<p>All template variables should be named appropriately (using underscores for spaces), language entries should be prefixed with L_, system data with S_, urls with U_, javascript urls with UA_, language to be put in javascript statements with LA_, all other variables should be presented 'as is'.</p>
<p>L_* template variables are automatically tried to be mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically. For example <code>{L_USERNAME}</code> maps to <code>$user-&gt;lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped to be put in javascript code. This should reduce the need to assign loads of new lang vars in Modifications.
<p>L_* template variables are automatically mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically and if the language entry exists. For example <code>{L_USERNAME}</code> maps to <code>$user-&gt;lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped so they can be put in javascript code. This should reduce the need to assign loads of new language variables in MODifications.
</p>
<h4>Blocks/Loops</h4>
@@ -1426,9 +1424,9 @@ div
<span class="comment">&lt;!-- END l_block1 --&gt;</span>
</pre></div>
<p>Here we open the loop l_block1 and doing some things if the value S_SELECTED within the current loop iteration is true, else we write the blocks link and title. Here, you see <code>{l_block1.L_TITLE}</code> referenced - you remember that L_* variables get automatically assigned the corresponding language entry? This is true, but not within loops. The L_TITLE variable within the loop l_block1 is assigned within the code itself.</p>
<p>Here we open the loop l_block1 and do some things if the value S_SELECTED within the current loop iteration is true, else we write the blocks link and title. Here, you see <code>{l_block1.L_TITLE}</code> referenced - you remember that L_* variables get automatically assigned the corresponding language entry? This is true, but not within loops. The L_TITLE variable within the loop l_block1 is assigned within the code itself.</p>
<p>Let's have a closer look to the markup:</p>
<p>Let's have a closer look at the markup:</p>
<div class="codebox"><pre>
<span class="comment">&lt;!-- BEGIN l_block1 --&gt;</span>
@@ -1522,7 +1520,7 @@ div
&lt;/ul&gt; <span class="comment">&lt;!-- written on third iteration --&gt;</span>
</pre></div>
<p>Just always remember that processing is taking place from up to down.</p>
<p>Just always remember that processing is taking place from top to bottom.</p>
<h4>Forms</h4>
<p>If a form is used for a non-trivial operation (i.e. more than a jumpbox), then it should include the <code>{S_FORM_TOKEN}</code> template variable.</p>
@@ -1538,11 +1536,9 @@ div
</pre></div><br />
<a name="inheritance"></a><h3>4.ii. Template Inheritance</h3>
<p>When basing a new template on an existing one, it is not necessary to provide all template files. By declaring the template to be &quot;<strong>inheriting</strong>&quot; in the template configuration file.</p>
<p>When basing a new style on an existing one, it is not necessary to provide all the template files. By declaring the base style name in the <strong>inherit_from</strong> field in the template configuration file, the style can be set to inherit template files from the base style. The limitation on this is that the base style has to be installed and complete, meaning that it is not itself inheriting.</p>
<p>The limitation on this is that the base style has to be installed and complete, meaning that it is not itself inheriting.</p>
<p>The effect of doing so is that the template engine will use the files in the new template where they exist, but fall back to files in the base template otherwise. Declaring a style to be inheriting also causes it to use some of the configuration settings of the base style, notably database storage.</p>
<p>The effect of doing so is that the template engine will use the template files in the new style where they exist, but fall back to files in the base style otherwise. Declaring a style to inherit from another also causes it to use some of the configuration settings of the base style, notably database storage.</p>
<p>We strongly encourage the use of inheritance for styles based on the bundled styles, as it will ease the update procedure.</p>
@@ -1669,7 +1665,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<h4>Encoding:</h4>
<p>With phpBB3, the output encoding for the forum in now UTF-8, a Universal Character Encoding by the Unicode Consortium that is by design a superset to US-ASCII and ISO-8859-1. By using one character set which simultaenously supports all scripts which previously would have required different encodings (eg: ISO-8859-1 to ISO-8859-15 (Latin, Greek, Cyrillic, Thai, Hebrew, Arabic); GB2312 (Simplified Chinese); Big5 (Traditional Chinese), EUC-JP (Japanese), EUC-KR (Korean), VISCII (Vietnamese); et cetera), this removes the need to convert between encodings and improves the accessibility of multilingual forums.</p>
<p>With phpBB3, the output encoding for the forum in now UTF-8, a Universal Character Encoding by the Unicode Consortium that is by design a superset to US-ASCII and ISO-8859-1. By using one character set which simultaenously supports all scripts which previously would have required different encodings (eg: ISO-8859-1 to ISO-8859-15 (Latin, Greek, Cyrillic, Thai, Hebrew, Arabic); GB2312 (Simplified Chinese); Big5 (Traditional Chinese), EUC-JP (Japanese), EUC-KR (Korean), VISCII (Vietnamese); et cetera), we remove the need to convert between encodings and improves the accessibility of multilingual forums.</p>
<p>The impact is that the language files for phpBB must now also be encoded as UTF-8, with a caveat that the files must <strong>not contain</strong> a <acronym title="Byte-Order-Mark">BOM</acronym> for compatibility reasons with non-Unicode aware versions of PHP. For those with forums using the Latin character set (ie: most European languages), this change is transparent since UTF-8 is superset to US-ASCII and ISO-8859-1.</p>
@@ -2319,151 +2315,14 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
<hr />
<a name="vcs"></a><h2>7. VCS Guidelines</h2>
<a name="disclaimer"></a><h2>8. Copyright and disclaimer</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>The version control system for phpBB3 is subversion. The repository is available at <a href="http://code.phpbb.com/svn/phpbb" title="repository">http://code.phpbb.com/svn/phpbb</a>.</p>
<a name="repostruct"></a><h3>7.i. Repository Structure</h3>
<ul>
<li><strong>trunk</strong><br />The latest unstable development version with new features etc. Contains the actual board in <code>/trunk/phpBB</code></li>
<li><strong>branches</strong><br />Development branches of stable phpBB releases. Copied from <code>/trunk</code> at the time of release.
<ul>
<li><strong>phpBB3.0</strong><code>/branches/phpBB-3_0_0/phpBB</code><br />Development branch of the stable 3.0 line. Bug fixes are applied here.</li>
<li><strong>phpBB2</strong><code>/branches/phpBB-2_0_0/phpBB</code><br />Old phpBB2 development branch.</li>
</ul>
</li>
<li><strong>tags</strong><br />Released versions. Copies of trunk or the respective branch, made at the time of release.
<ul>
<li><code>/tags/release_3_0_BX</code><br />Beta release X of the 3.0 line.</li>
<li><code>/tags/release_3_0_RCX</code><br />Release candidate X of the 3.0 line.</li>
<li><code>/tags/release_3_0_X-RCY</code><br />Release candidate Y of the stable 3.0.X release.</li>
<li><code>/tags/release_3_0_X</code><br />Stable <strong>3.0.X</strong> release.</li>
<li><code>/tags/release_2_0_X</code><br />Old stable 2.0.X release.</li>
</ul>
</li>
</ul>
<a name="commitmessage"></a><h3>7.ii. Commit Messages</h3>
<p>The commit message should contain a brief explanation of all changes made within the commit. Often identical to the changelog entry. A bug ticket can be referenced by specifying the ticket ID with a hash, e.g. #12345. A reference to another revision should simply be prefixed with r, e.g. r12345.</p>
<p>Junior Developers need to have their patches approved by a development team member first. The commit message must end in a line with the following format:</p>
<div class="codebox"><pre>
Authorised by: developer1[, developer2[, ...]]
</pre></div>
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr />
<a name="changes"></a><h2>8. Guidelines Changelog</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<h3>Revision 10007</h3>
<ul>
<li>Added <a href="#constants">Special Constants</a> section.</li>
</ul>
<h3>Revision 9817</h3>
<ul>
<li>Added VCS section.</li>
</ul>
<h3>Revision 8732</h3>
<ul>
<li>Added cfg files.</li>
<li>Added template <a href="#inheritance">inheritance</a>.</li>
</ul>
<h3>Revision 8596+</h3>
<ul>
<li>Removed sql_build_array('MULTI_INSERT'... statements.</li>
<li>Added sql_multi_insert() explanation.</li>
</ul>
<h3>Revision 1.31</h3>
<ul>
<li>Added add_form_key and check_form_key. </li>
</ul>
<h3>Revision 1.24</h3>
<ul>
<li>Added <a href="#translation">5. Character Sets and Encodings</a> section to explain the recommended treatment of strings in phpBB.</li>
</ul>
<h3>Revision 1.16</h3>
<ul>
<li>Added <a href="#translation">6. Translation (<abbr title="Internationalisation">i18n</abbr>/<abbr title="Localisation">L10n</abbr>) Guidelines</a> section to explain expected format and authoring considerations for language packs that are to be created for phpBB.</li>
</ul>
<h3>Revision 1.11-1.15</h3>
<ul>
<li>Various document formatting, spelling, punctuation, grammar bugs.</li>
</ul>
<h3>Revision 1.9-1.10</h3>
<ul>
<li>Added sql_query_limit to <a href="#sql">2.iii. SQL/SQL Layout</a>.</li>
</ul>
<h3>Revision 1.8</h3>
<ul>
<li>Some adjustements to wordings</li>
<li>Updated paragraph <a href="#locations">1.iii. File Locations</a> to reflect recent changes</li>
<li>Extended paragraph <a href="#codelayout">2.ii. Code Layout</a>.</li>
<li>Added sql_in_set and sql_build_query explanation to <a href="#sql">2.iii. SQL/SQL Layout</a>.</li>
<li>Updated paragraph <a href="#styling">3. Styling</a>.</li>
<li>Updated paragraph <a href="#templating">4. Templating</a> to explain loop checking, loop breaking and other changes we recently made.</li>
</ul>
<h3>Revision 1.5</h3>
<ul>
<li>Changed General function usage paragraph in <a href="#general">2.v. General Guidelines</a></li>
</ul>
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr />
<a name="disclaimer"></a><h2>9. Copyright and disclaimer</h2>
<div class="paragraph">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>
@@ -2475,7 +2334,7 @@ Authorised by: developer1[, developer2[, ...]]
<!-- END DOCUMENT -->
<div id="page-footer">
<div class="version"> $Id$ </div>
<div class="version">&nbsp;</div>
</div>
</div></div>

View File

@@ -8,7 +8,7 @@
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="copyright" content="2007 phpBB Group" />
<meta name="copyright" content="phpBB Group" />
<meta name="keywords" content="" />
<meta name="description" content="Hook System explanation" />
<title>phpBB3 &bull; Hook System</title>
@@ -380,6 +380,8 @@ a:active { color: #368AD2; }
<code>$template-&gt;display($handle, $include_once = true);</code> which is called directly before outputting the (not-yet-compiled) template.<br />
<code>exit_handler();</code> which is called at the very end of phpBB3's execution.</p>
<p>Please note: The <code>$template-&gt;display</code> hook takes a third <code>$template</code> argument, which is the template instance being used, which should be used instead of the global.</p>
<p>There are also valid external constants you may want to use if you embed phpBB3 into your application:</p>
<div class="codebox"><pre>
@@ -865,7 +867,7 @@ function phpbb_hook_register(&amp;$hook)
<div class="content">
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
<p>This application is opensource software released under the <a href="http://opensource.org/licenses/gpl-license.php">GPL</a>. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) <a href="http://www.phpbb.com/">phpBB Group</a>, All Rights Reserved.</p>
</div>
@@ -875,7 +877,7 @@ function phpbb_hook_register(&amp;$hook)
</div>
<div id="page-footer">
<div class="version">$Id$</div>
<div class="version">&nbsp;</div>
</div>
</div></div>

View File

@@ -0,0 +1,60 @@
# Sample lighttpd configuration file for phpBB.
# Global settings have been removed, copy them
# from your system's lighttpd.conf.
# Tested with lighttpd 1.4.26
# Load moules
server.modules += (
"mod_access",
"mod_fastcgi",
"mod_accesslog"
)
# If you have domains with and without www prefix,
# redirect one to the other.
$HTTP["host"] =~ "^(myforums\.com)$" {
url.redirect = (
".*" => "http://www.%1$0"
)
}
$HTTP["host"] == "www.myforums.com" {
server.name = "www.myforums.com"
server.document-root = "/path/to/phpbb"
server.dir-listing = "disable"
index-file.names = ( "index.php", "index.htm", "index.html" )
accesslog.filename = "/var/log/lighttpd/access-www.myforums.com.log"
# Deny access to internal phpbb files.
$HTTP["url"] =~ "^/(config\.php|common\.php|includes|cache|files|store|images/avatars/upload)" {
url.access-deny = ( "" )
}
# Deny access to version control system directories.
$HTTP["url"] =~ "/\.svn|/\.git" {
url.access-deny = ( "" )
}
# Deny access to apache configuration files.
$HTTP["url"] =~ "/\.htaccess|/\.htpasswd|/\.htgroups" {
url.access-deny = ( "" )
}
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 4,
"idle-timeout" => 30,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "10",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
))
)
}

View File

@@ -0,0 +1,89 @@
# Sample nginx configuration file for phpBB.
# Global settings have been removed, copy them
# from your system's nginx.conf.
# Tested with nginx 0.8.35.
http {
# Compression - requires gzip and gzip static modules.
gzip on;
gzip_static on;
gzip_vary on;
gzip_http_version 1.1;
gzip_min_length 700;
# Compression levels over 6 do not give an appreciable improvement
# in compression ratio, but take more resources.
gzip_comp_level 6;
# IE 6 and lower do not support gzip with Vary correctly.
gzip_disable "msie6";
# Before nginx 0.7.63:
#gzip_disable "MSIE [1-6]\.";
# Catch-all server for requests to invalid hosts.
# Also catches vulnerability scanners probing IP addresses.
server {
# default specifies that this block is to be used when
# no other block matches.
listen 80 default;
server_name bogus;
return 444;
root /var/empty;
}
# If you have domains with and without www prefix,
# redirect one to the other.
server {
# Default port is 80.
#listen 80;
server_name myforums.com;
# A trick from http://wiki.nginx.org/Pitfalls#Taxing_Rewrites:
rewrite ^ http://www.myforums.com$request_uri permanent;
# Equivalent to:
#rewrite ^(.*)$ http://www.myforums.com$1 permanent;
}
# The actual board domain.
server {
#listen 80;
server_name www.myforums.com;
root /path/to/phpbb;
location / {
# phpbb uses index.htm
index index.php index.html index.htm;
}
# Deny access to internal phpbb files.
location ~ /(config\.php|common\.php|includes|cache|files|store|images/avatars/upload) {
deny all;
# deny was ignored before 0.8.40 for connections over IPv6.
# Use internal directive to prohibit access on older versions.
internal;
}
# Pass the php scripts to fastcgi server specified in upstream declaration.
location ~ \.php$ {
fastcgi_pass php;
# Necessary for php.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Unmodified fastcgi_params from nginx distribution.
include fastcgi_params;
}
# Deny access to version control system directories.
location ~ /\.svn|/\.git {
deny all;
internal;
}
}
# If running php as fastcgi, specify php upstream.
upstream php {
server unix:/tmp/php.sock;
}
}

View File

@@ -31,6 +31,7 @@ else if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'
if (isset($_GET['avatar']))
{
require($phpbb_root_path . 'includes/startup.' . $phpEx);
require($phpbb_root_path . 'config.' . $phpEx);
if (!defined('PHPBB_INSTALLED') || empty($dbms) || empty($acm_type))
@@ -42,6 +43,7 @@ if (isset($_GET['avatar']))
require($phpbb_root_path . 'includes/cache.' . $phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
$db = new $sql_db();
$cache = new cache();
@@ -57,11 +59,11 @@ if (isset($_GET['avatar']))
$browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : 'msie 6.0';
$config = $cache->obtain_config();
$filename = $_GET['avatar'];
$filename = request_var('avatar', '');
$avatar_group = false;
$exit = false;
if ($filename[0] === 'g')
if (isset($filename[0]) && $filename[0] === 'g')
{
$avatar_group = true;
$filename = substr($filename, 1);
@@ -70,7 +72,7 @@ if (isset($_GET['avatar']))
// '==' is not a bug - . as the first char is as bad as no dot at all
if (strpos($filename, '.') == false)
{
header('HTTP/1.0 403 Forbidden');
send_status_line(403, 'Forbidden');
$exit = true;
}
@@ -84,7 +86,7 @@ if (isset($_GET['avatar']))
if (!$exit && !in_array($ext, array('png', 'gif', 'jpg', 'jpeg')))
{
// no way such an avatar could exist. They are not following the rules, stop the show.
header("HTTP/1.0 403 Forbidden");
send_status_line(403, 'Forbidden');
$exit = true;
}
@@ -94,7 +96,7 @@ if (isset($_GET['avatar']))
if (!$filename)
{
// no way such an avatar could exist. They are not following the rules, stop the show.
header("HTTP/1.0 403 Forbidden");
send_status_line(403, 'Forbidden');
}
else
{
@@ -118,11 +120,13 @@ $user->setup('viewtopic');
if (!$download_id)
{
send_status_line(404, 'Not Found');
trigger_error('NO_ATTACHMENT_SELECTED');
}
if (!$config['allow_attachments'] && !$config['allow_pm_attach'])
{
send_status_line(404, 'Not Found');
trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}
@@ -135,11 +139,13 @@ $db->sql_freeresult($result);
if (!$attachment)
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
if ((!$attachment['in_message'] && !$config['allow_attachments']) || ($attachment['in_message'] && !$config['allow_pm_attach']))
{
send_status_line(404, 'Not Found');
trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}
@@ -152,6 +158,7 @@ if ($attachment['is_orphan'])
if (!$own_attachment || ($attachment['in_message'] && !$auth->acl_get('u_pm_download')) || (!$attachment['in_message'] && !$auth->acl_get('u_download')))
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
@@ -184,6 +191,7 @@ else
}
else
{
send_status_line(403, 'Forbidden');
trigger_error('SORRY_AUTH_VIEW_ATTACH');
}
}
@@ -192,7 +200,7 @@ else
$row['forum_id'] = false;
if (!$auth->acl_get('u_pm_download'))
{
header('HTTP/1.0 403 Forbidden');
send_status_line(403, 'Forbidden');
trigger_error('SORRY_AUTH_VIEW_ATTACH');
}
@@ -215,7 +223,7 @@ else
if (!$allowed)
{
header('HTTP/1.0 403 Forbidden');
send_status_line(403, 'Forbidden');
trigger_error('ERROR_NO_ATTACHMENT');
}
}
@@ -224,13 +232,14 @@ else
$extensions = array();
if (!extension_allowed($row['forum_id'], $attachment['extension'], $extensions))
{
send_status_line(404, 'Forbidden');
trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension']));
}
}
if (!download_allowed())
{
header('HTTP/1.0 403 Forbidden');
send_status_line(403, 'Forbidden');
trigger_error($user->lang['LINKAGE_FORBIDDEN']);
}
@@ -246,6 +255,7 @@ $db->sql_freeresult($result);
if (!$attachment)
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
@@ -288,6 +298,7 @@ else
// This presenting method should no longer be used
if (!@is_dir($phpbb_root_path . $config['upload_path']))
{
send_status_line(500, 'Internal Server Error');
trigger_error($user->lang['PHYSICAL_DOWNLOAD_NOT_POSSIBLE']);
}
@@ -376,7 +387,7 @@ function send_avatar_to_browser($file, $browser)
}
else
{
header('HTTP/1.0 404 Not Found');
send_status_line(404, 'Not Found');
}
}
@@ -412,6 +423,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
if (!@file_exists($filename))
{
send_status_line(404, 'Not Found');
trigger_error($user->lang['ERROR_NO_ATTACHMENT'] . '<br /><br />' . sprintf($user->lang['FILE_NOT_FOUND_404'], $filename));
}
@@ -438,9 +450,11 @@ function send_file_to_browser($attachment, $upload_dir, $category)
// PHP track_errors setting On?
if (!empty($php_errormsg))
{
send_status_line(500, 'Internal Server Error');
trigger_error($user->lang['UNABLE_TO_DELIVER_FILE'] . '<br />' . sprintf($user->lang['TRACKED_PHP_ERROR'], $php_errormsg));
}
send_status_line(500, 'Internal Server Error');
trigger_error('UNABLE_TO_DELIVER_FILE');
}
@@ -670,15 +684,7 @@ function set_modified_headers($stamp, $browser)
{
if ($last_load !== false && $last_load >= $stamp)
{
if (substr(strtolower(@php_sapi_name()),0,3) === 'cgi')
{
// in theory, we shouldn't need that due to php doing it. Reality offers a differing opinion, though
header('Status: 304 Not Modified', true, 304);
}
else
{
header('HTTP/1.0 304 Not Modified', true, 304);
}
send_status_line(304, 'Not Modified');
// seems that we need those too ... browsers
header('Pragma: public');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));

View File

@@ -95,11 +95,13 @@ while ($row = $feed->get_item())
$title = (isset($row[$feed->get('title')]) && $row[$feed->get('title')] !== '') ? $row[$feed->get('title')] : ((isset($row[$feed->get('title2')])) ? $row[$feed->get('title2')] : '');
$item_time = (int) $row[$feed->get('date')];
$published = ($feed->get('published') !== NULL) ? (int) $row[$feed->get('published')] : 0;
$updated = ($feed->get('updated') !== NULL) ? (int) $row[$feed->get('updated')] : 0;
$item_row = array(
'author' => ($feed->get('creator') !== NULL) ? $row[$feed->get('creator')] : '',
'pubdate' => feed_format_date($item_time),
'published' => ($published > 0) ? feed_format_date($published) : '',
'updated' => ($updated > 0) ? feed_format_date($updated) : '',
'link' => '',
'title' => censor_text($title),
'category' => ($config['feed_item_statistics'] && !empty($row['forum_id'])) ? $board_url . '/viewforum.' . $phpEx . '?f=' . $row['forum_id'] : '',
@@ -113,7 +115,7 @@ while ($row = $feed->get_item())
$item_vars[] = $item_row;
$feed_updated_time = max($feed_updated_time, $item_time);
$feed_updated_time = max($feed_updated_time, $published, $updated);
}
// If we do not have any items at all, sending the current time is better than sending no time.
@@ -171,6 +173,12 @@ if (defined('DEBUG_EXTRA') && request_var('explain', 0) && $auth->acl_get('a_'))
header("Content-Type: application/atom+xml; charset=UTF-8");
header("Last-Modified: " . gmdate('D, d M Y H:i:s', $feed_updated_time) . ' GMT');
if (!empty($user->data['is_bot']))
{
// Let reverse proxies know we detected a bot.
header('X-PHPBB-IS-BOT: yes');
}
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="' . $global_vars['FEED_LANG'] . '">' . "\n";
echo '<link rel="self" type="application/atom+xml" href="' . $global_vars['SELF_LINK'] . '" />' . "\n\n";
@@ -192,7 +200,13 @@ foreach ($item_vars as $row)
echo '<author><name><![CDATA[' . $row['author'] . ']]></name></author>' . "\n";
}
echo '<updated>' . $row['pubdate'] . '</updated>' . "\n";
echo '<updated>' . ((!empty($row['updated'])) ? $row['updated'] : $row['published']) . '</updated>' . "\n";
if (!empty($row['published']))
{
echo '<published>' . $row['published'] . '</published>' . "\n";
}
echo '<id>' . $row['link'] . '</id>' . "\n";
echo '<link href="' . $row['link'] . '"/>' . "\n";
echo '<title type="html"><![CDATA[' . $row['title'] . ']]></title>' . "\n\n";
@@ -276,8 +290,8 @@ function feed_generate_content($content, $uid, $bitfield, $options)
// Add newlines
$content = str_replace('<br />', '<br />' . "\n", $content);
// Relative Path to Absolute path, Windows style
$content = str_replace('./', $board_url . '/', $content);
// Convert smiley Relative paths to Absolute path, Windows style
$content = str_replace($phpbb_root_path . $config['smilies_path'], $board_url . '/' . $config['smilies_path'], $content);
// Remove "Select all" link and mouse events
$content = str_replace('<a href="#" onclick="selectCode(this); return false;">' . $user->lang['SELECT_ALL_CODE'] . '</a>', '', $content);
@@ -522,7 +536,7 @@ class phpbb_feed_base
if (!isset($forum_ids))
{
$forum_ids = array_keys($auth->acl_getf('f_read'));
$forum_ids = array_keys($auth->acl_getf('f_read', true));
}
return $forum_ids;
@@ -535,12 +549,30 @@ class phpbb_feed_base
if (!isset($forum_ids))
{
$forum_ids = array_keys($auth->acl_getf('m_approve'));
$forum_ids = array_keys($auth->acl_getf('m_approve', true));
}
return $forum_ids;
}
function is_moderator_approve_forum($forum_id)
{
static $forum_ids;
if (!isset($forum_ids))
{
$forum_ids = array_flip($this->get_moderator_approve_forums());
}
if (!$forum_id)
{
// Global announcement, your a moderator in any forum than it's okay.
return (!empty($forum_ids)) ? true : false;
}
return (isset($forum_ids[$forum_id])) ? true : false;
}
function get_excluded_forums()
{
global $db, $cache;
@@ -578,30 +610,9 @@ class phpbb_feed_base
function get_passworded_forums()
{
global $db, $user;
global $user;
// Exclude passworded forums
$sql = 'SELECT f.forum_id, fa.user_id
FROM ' . FORUMS_TABLE . ' f
LEFT JOIN ' . FORUMS_ACCESS_TABLE . " fa
ON (fa.forum_id = f.forum_id
AND fa.session_id = '" . $db->sql_escape($user->session_id) . "')
WHERE f.forum_password <> ''";
$result = $db->sql_query($sql);
$forum_ids = array();
while ($row = $db->sql_fetchrow($result))
{
$forum_id = (int) $row['forum_id'];
if ($row['user_id'] != $user->data['user_id'])
{
$forum_ids[$forum_id] = $forum_id;
}
}
$db->sql_freeresult($result);
return $forum_ids;
return $user->get_passworded_forums();
}
function get_item()
@@ -657,7 +668,8 @@ class phpbb_feed_post_base extends phpbb_feed_base
$this->set('author_id', 'user_id');
$this->set('creator', 'username');
$this->set('date', 'post_time');
$this->set('published', 'post_time');
$this->set('updated', 'post_edit_time');
$this->set('text', 'post_text');
$this->set('bitfield', 'bbcode_bitfield');
@@ -677,7 +689,8 @@ class phpbb_feed_post_base extends phpbb_feed_base
if ($config['feed_item_statistics'])
{
$item_row['statistics'] = $user->lang['POSTED'] . ' ' . $user->lang['POST_BY_AUTHOR'] . ' ' . $this->user_viewprofile($row)
. ' ' . $this->separator_stats . ' ' . $user->format_date($row['post_time']);
. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('published')])
. (($this->is_moderator_approve_forum($row['forum_id']) && !$row['post_approved']) ? ' ' . $this->separator_stats . ' ' . $user->lang['POST_UNAPPROVED'] : '');
}
}
}
@@ -698,7 +711,8 @@ class phpbb_feed_topic_base extends phpbb_feed_base
$this->set('author_id', 'topic_poster');
$this->set('creator', 'topic_first_poster_name');
$this->set('date', 'topic_time');
$this->set('published', 'post_time');
$this->set('updated', 'post_edit_time');
$this->set('text', 'post_text');
$this->set('bitfield', 'bbcode_bitfield');
@@ -718,9 +732,10 @@ class phpbb_feed_topic_base extends phpbb_feed_base
if ($config['feed_item_statistics'])
{
$item_row['statistics'] = $user->lang['POSTED'] . ' ' . $user->lang['POST_BY_AUTHOR'] . ' ' . $this->user_viewprofile($row)
. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('date')])
. ' ' . $this->separator_stats . ' ' . $user->lang['REPLIES'] . ' ' . $row['topic_replies']
. ' ' . $this->separator_stats . ' ' . $user->lang['VIEWS'] . ' ' . $row['topic_views'];
. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('published')])
. ' ' . $this->separator_stats . ' ' . $user->lang['REPLIES'] . ' ' . (($this->is_moderator_approve_forum($row['forum_id'])) ? $row['topic_replies_real'] : $row['topic_replies'])
. ' ' . $this->separator_stats . ' ' . $user->lang['VIEWS'] . ' ' . $row['topic_views']
. (($this->is_moderator_approve_forum($row['forum_id']) && ($row['topic_replies_real'] != $row['topic_replies'])) ? ' ' . $this->separator_stats . ' ' . $user->lang['POSTS_UNAPPROVED'] : '');
}
}
}
@@ -780,11 +795,11 @@ class phpbb_feed_overall extends phpbb_feed_post_base
// Get the actual data
$this->sql = array(
'SELECT' => 'f.forum_id, f.forum_name, ' .
'p.post_id, p.topic_id, p.post_time, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'p.post_id, p.topic_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'u.username, u.user_id',
'FROM' => array(
POSTS_TABLE => 'p',
USERS_TABLE => 'u',
POSTS_TABLE => 'p',
),
'LEFT_JOIN' => array(
array(
@@ -912,7 +927,7 @@ class phpbb_feed_forum extends phpbb_feed_post_base
}
$this->sql = array(
'SELECT' => 'p.post_id, p.topic_id, p.post_time, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'SELECT' => 'p.post_id, p.topic_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'u.username, u.user_id',
'FROM' => array(
POSTS_TABLE => 'p',
@@ -994,7 +1009,7 @@ class phpbb_feed_topic extends phpbb_feed_post_base
if (!$this->topic_data['topic_approved'])
{
// Also require m_approve
$in_fid_ary = array_intersect($in_fid_ary, array_keys($auth->acl_getf('m_approve')));
$in_fid_ary = array_intersect($in_fid_ary, $this->get_moderator_approve_forums());
if (empty($in_fid_ary))
{
@@ -1077,7 +1092,7 @@ class phpbb_feed_topic extends phpbb_feed_post_base
global $auth, $db;
$this->sql = array(
'SELECT' => 'p.post_id, p.post_time, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'SELECT' => 'p.post_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .
'u.username, u.user_id',
'FROM' => array(
POSTS_TABLE => 'p',
@@ -1116,7 +1131,7 @@ class phpbb_feed_forums extends phpbb_feed_base
$this->set('text', 'forum_desc');
$this->set('bitfield', 'forum_desc_bitfield');
$this->set('bbcode_uid','forum_desc_uid');
$this->set('date', 'forum_last_post_time');
$this->set('updated', 'forum_last_post_time');
$this->set('options', 'forum_desc_options');
}
@@ -1241,8 +1256,8 @@ class phpbb_feed_news extends phpbb_feed_topic_base
$this->sql = array(
'SELECT' => 'f.forum_id, f.forum_name,
t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_views, t.topic_time,
p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, t.topic_last_post_time,
p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
'FROM' => array(
TOPICS_TABLE => 't',
POSTS_TABLE => 'p',
@@ -1314,8 +1329,8 @@ class phpbb_feed_topics extends phpbb_feed_topic_base
$this->sql = array(
'SELECT' => 'f.forum_id, f.forum_name,
t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_views, t.topic_time,
p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, t.topic_last_post_time,
p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
'FROM' => array(
TOPICS_TABLE => 't',
POSTS_TABLE => 'p',
@@ -1361,8 +1376,6 @@ class phpbb_feed_topics_active extends phpbb_feed_topic_base
$this->set('author_id', 'topic_last_poster_id');
$this->set('creator', 'topic_last_poster_name');
$this->set('date', 'topic_last_post_time');
$this->set('text', 'post_text');
}
function get_sql()
@@ -1412,9 +1425,9 @@ class phpbb_feed_topics_active extends phpbb_feed_topic_base
$this->sql = array(
'SELECT' => 'f.forum_id, f.forum_name,
t.topic_id, t.topic_title, t.topic_replies, t.topic_views,
t.topic_id, t.topic_title, t.topic_replies, t.topic_replies_real, t.topic_views,
t.topic_last_poster_id, t.topic_last_poster_name, t.topic_last_post_time,
p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',
'FROM' => array(
TOPICS_TABLE => 't',
POSTS_TABLE => 'p',

4
phpBB/includes/.htaccess Normal file
View File

@@ -0,0 +1,4 @@
<Files *>
Order Allow,Deny
Deny from All
</Files>

View File

@@ -78,15 +78,21 @@ class acm
if (!$this->_write('data_global'))
{
if (!function_exists('phpbb_is_writable'))
{
global $phpbb_root_path;
include($phpbb_root_path . 'includes/functions.' . $phpEx);
}
// Now, this occurred how often? ... phew, just tell the user then...
if (!@is_writable($this->cache_dir))
if (!phpbb_is_writable($this->cache_dir))
{
// We need to use die() here, because else we may encounter an infinite loop (the message handler calls $cache->unload())
die($this->cache_dir . ' is NOT writable.');
die('Fatal: ' . $this->cache_dir . ' is NOT writable.');
exit;
}
die('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx);
die('Fatal: Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx);
exit;
}
@@ -707,7 +713,13 @@ class acm
*/
function remove_file($filename, $check = false)
{
if ($check && !@is_writable($this->cache_dir))
if (!function_exists('phpbb_is_writable'))
{
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/functions.' . $phpEx);
}
if ($check && !phpbb_is_writable($this->cache_dir))
{
// E_USER_ERROR - not using language entry - intended.
trigger_error('Unable to remove files within ' . $this->cache_dir . '. Please check directory permissions.', E_USER_ERROR);

View File

@@ -37,6 +37,12 @@ if (!defined('PHPBB_ACM_MEMCACHE_HOST'))
define('PHPBB_ACM_MEMCACHE_HOST', 'localhost');
}
if (!defined('PHPBB_ACM_MEMCACHE'))
{
//can define multiple servers with host1/port1,host2/port2 format
define('PHPBB_ACM_MEMCACHE', PHPBB_ACM_MEMCACHE_HOST . '/' . PHPBB_ACM_MEMCACHE_PORT);
}
/**
* ACM for Memcached
* @package acm
@@ -54,7 +60,11 @@ class acm extends acm_memory
parent::acm_memory();
$this->memcache = new Memcache;
$this->memcache->connect(PHPBB_ACM_MEMCACHE_HOST, PHPBB_ACM_MEMCACHE_PORT);
foreach(explode(',', PHPBB_ACM_MEMCACHE) as $u)
{
$parts = explode('/', $u);
$this->memcache->addServer(trim($parts[0]), trim($parts[1]));
}
$this->flags = (PHPBB_ACM_MEMCACHE_COMPRESS) ? MEMCACHE_COMPRESSED : 0;
}
@@ -125,4 +135,4 @@ class acm extends acm_memory
}
}
?>
?>

View File

@@ -407,7 +407,13 @@ class acm_memory
*/
function remove_file($filename, $check = false)
{
if ($check && !@is_writable($this->cache_dir))
if (!function_exists('phpbb_is_writable'))
{
global $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/functions.' . $phpEx);
}
if ($check && !phpbb_is_writable($this->cache_dir))
{
// E_USER_ERROR - not using language entry - intended.
trigger_error('Unable to remove files within ' . $this->cache_dir . '. Please check directory permissions.', E_USER_ERROR);

View File

@@ -0,0 +1,145 @@
<?php
/**
*
* @package acm
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
// Include the abstract base
if (!class_exists('acm_memory'))
{
require("{$phpbb_root_path}includes/acm/acm_memory.$phpEx");
}
if (!defined('PHPBB_ACM_REDIS_PORT'))
{
define('PHPBB_ACM_REDIS_PORT', 6379);
}
if (!defined('PHPBB_ACM_REDIS_HOST'))
{
define('PHPBB_ACM_REDIS_HOST', 'localhost');
}
/**
* ACM for Redis
*
* Compatible with the php extension phpredis available
* at https://github.com/nicolasff/phpredis
*
* @package acm
*/
class acm extends acm_memory
{
var $extension = 'redis';
var $redis;
function acm()
{
// Call the parent constructor
parent::acm_memory();
$this->redis = new Redis();
$this->redis->connect(PHPBB_ACM_REDIS_HOST, PHPBB_ACM_REDIS_PORT);
if (defined('PHPBB_ACM_REDIS_PASSWORD'))
{
if (!$this->redis->auth(PHPBB_ACM_REDIS_PASSWORD))
{
global $acm_type;
trigger_error("Incorrect password for the ACM module $acm_type.", E_USER_ERROR);
}
}
$this->redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
$this->redis->setOption(Redis::OPT_PREFIX, $this->key_prefix);
if (defined('PHPBB_ACM_REDIS_DB'))
{
if (!$this->redis->select(PHPBB_ACM_REDIS_DB))
{
global $acm_type;
trigger_error("Incorrect database for the ACM module $acm_type.", E_USER_ERROR);
}
}
}
/**
* Unload the cache resources
*
* @return void
*/
function unload()
{
parent::unload();
$this->redis->close();
}
/**
* Purge cache data
*
* @return void
*/
function purge()
{
$this->redis->flushDB();
parent::purge();
}
/**
* Fetch an item from the cache
*
* @access protected
* @param string $var Cache key
* @return mixed Cached data
*/
function _read($var)
{
return $this->redis->get($var);
}
/**
* Store data in the cache
*
* @access protected
* @param string $var Cache key
* @param mixed $data Data to store
* @param int $ttl Time-to-live of cached data
* @return bool True if the operation succeeded
*/
function _write($var, $data, $ttl = 2592000)
{
return $this->redis->setex($var, $ttl, $data);
}
/**
* Remove an item from the cache
*
* @access protected
* @param string $var Cache key
* @return bool True if the operation succeeded
*/
function _delete($var)
{
if ($this->redis->delete($var) > 0)
{
return true;
}
return false;
}
}

View File

@@ -0,0 +1,84 @@
<?php
/**
*
* @package acm
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
// Include the abstract base
if (!class_exists('acm_memory'))
{
require("{$phpbb_root_path}includes/acm/acm_memory.$phpEx");
}
/**
* ACM for WinCache
* @package acm
*/
class acm extends acm_memory
{
var $extension = 'wincache';
/**
* Purge cache data
*
* @return void
*/
function purge()
{
wincache_ucache_clear();
parent::purge();
}
/**
* Fetch an item from the cache
*
* @access protected
* @param string $var Cache key
* @return mixed Cached data
*/
function _read($var)
{
$success = false;
$result = wincache_ucache_get($this->key_prefix . $var, $success);
return ($success) ? $result : false;
}
/**
* Store data in the cache
*
* @access protected
* @param string $var Cache key
* @param mixed $data Data to store
* @param int $ttl Time-to-live of cached data
* @return bool True if the operation succeeded
*/
function _write($var, $data, $ttl = 2592000)
{
return wincache_ucache_set($this->key_prefix . $var, $data, $ttl);
}
/**
* Remove an item from the cache
*
* @access protected
* @param string $var Cache key
* @return bool True if the operation succeeded
*/
function _delete($var)
{
return wincache_ucache_delete($this->key_prefix . $var);
}
}

View File

@@ -90,6 +90,7 @@ class acp_attachments
$s_assigned_groups = array();
while ($row = $db->sql_fetchrow($result))
{
$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'];
$s_assigned_groups[$row['cat_id']][] = $row['group_name'];
}
$db->sql_freeresult($result);
@@ -494,6 +495,10 @@ class acp_attachments
$sql = 'SELECT group_id
FROM ' . EXTENSION_GROUPS_TABLE . "
WHERE LOWER(group_name) = '" . $db->sql_escape(utf8_strtolower($new_group_name)) . "'";
if ($group_id)
{
$sql .= ' AND group_id <> ' . $group_id;
}
$result = $db->sql_query($sql);
if ($db->sql_fetchrow($result))
@@ -551,6 +556,7 @@ class acp_attachments
$group_id = $db->sql_nextid();
}
$group_name = (isset($user->lang['EXT_GROUP_' . $group_name])) ? $user->lang['EXT_GROUP_' . $group_name] : $group_name;
add_log('admin', 'LOG_ATTACH_EXTGROUP_' . strtoupper($action), $group_name);
}
@@ -858,7 +864,7 @@ class acp_attachments
'U_EDIT' => $this->u_action . "&amp;action=edit&amp;g={$row['group_id']}",
'U_DELETE' => $this->u_action . "&amp;action=delete&amp;g={$row['group_id']}",
'GROUP_NAME' => $row['group_name'],
'GROUP_NAME' => (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'],
'CATEGORY' => $cat_lang[$row['cat_id']],
)
);
@@ -1118,6 +1124,7 @@ class acp_attachments
$group_name = array();
while ($row = $db->sql_fetchrow($result))
{
$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'];
$group_name[] = $row;
}
$db->sql_freeresult($result);
@@ -1215,7 +1222,7 @@ class acp_attachments
return;
}
if (!is_writable($phpbb_root_path . $upload_dir))
if (!phpbb_is_writable($phpbb_root_path . $upload_dir))
{
$error[] = sprintf($user->lang['NO_WRITE_UPLOAD'], $upload_dir);
return;

View File

@@ -175,12 +175,21 @@ class acp_ban
}
$result = $db->sql_query($sql);
$banned_options = '';
$banned_options = $excluded_options = array();
$ban_length = $ban_reasons = $ban_give_reasons = array();
while ($row = $db->sql_fetchrow($result))
{
$banned_options .= '<option' . (($row['ban_exclude']) ? ' class="sep"' : '') . ' value="' . $row['ban_id'] . '">' . $row[$field] . '</option>';
$option = '<option value="' . $row['ban_id'] . '">' . $row[$field] . '</option>';
if ($row['ban_exclude'])
{
$excluded_options[] = $option;
}
else
{
$banned_options[] = $option;
}
$time_length = ($row['ban_end']) ? ($row['ban_end'] - $row['ban_start']) / 60 : 0;
@@ -224,7 +233,7 @@ class acp_ban
$template->assign_block_vars('ban_reason', array(
'BAN_ID' => $ban_id,
'REASON' => $reason,
'A_REASON' => addslashes(htmlspecialchars_decode($reason)),
'A_REASON' => addslashes($reason),
));
}
}
@@ -236,16 +245,31 @@ class acp_ban
$template->assign_block_vars('ban_give_reason', array(
'BAN_ID' => $ban_id,
'REASON' => $reason,
'A_REASON' => addslashes(htmlspecialchars_decode($reason)),
'A_REASON' => addslashes($reason),
));
}
}
$options = '';
if ($excluded_options)
{
$options .= '<optgroup label="' . $user->lang['OPTIONS_EXCLUDED'] . '">';
$options .= implode('', $excluded_options);
$options .= '</optgroup>';
}
if ($banned_options)
{
$options .= '<optgroup label="' . $user->lang['OPTIONS_BANNED'] . '">';
$options .= implode('', $banned_options);
$options .= '</optgroup>';
}
$template->assign_vars(array(
'S_BAN_END_OPTIONS' => $ban_end_options,
'S_BANNED_OPTIONS' => ($banned_options) ? true : false,
'BANNED_OPTIONS' => $banned_options)
);
'S_BANNED_OPTIONS' => ($banned_options || $excluded_options) ? true : false,
'BANNED_OPTIONS' => $options,
));
}
}

View File

@@ -33,7 +33,7 @@ class acp_bbcodes
// Set up general vars
$action = request_var('action', '');
$bbcode_id = request_var('bbcode', 0);
$this->tpl_name = 'acp_bbcodes';
$this->page_title = 'ACP_BBCODES';
$form_key = 'acp_bbcodes';
@@ -123,7 +123,7 @@ class acp_bbcodes
case 'modify':
case 'create':
$warn_text = preg_match('%<[^>]*\{text[\d]*\}[^>]*>%i', $bbcode_tpl);
if (!$warn_text || confirm_box(true))
{
@@ -171,8 +171,8 @@ class acp_bbcodes
{
trigger_error($user->lang['BBCODE_TAG_DEF_TOO_LONG'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (strlen($bbcode_helpline) > 255)
{
trigger_error($user->lang['BBCODE_HELPLINE_TOO_LONG'] . adm_back_link($this->u_action), E_USER_WARNING);
@@ -213,7 +213,7 @@ class acp_bbcodes
$bbcode_id = NUM_CORE_BBCODES + 1;
}
if ($bbcode_id > 1511)
if ($bbcode_id > BBCODE_LIMIT)
{
trigger_error($user->lang['TOO_MANY_BBCODES'] . adm_back_link($this->u_action), E_USER_WARNING);
}
@@ -243,7 +243,7 @@ class acp_bbcodes
trigger_error($user->lang[$lang] . adm_back_link($this->u_action));
}
else
{
{
confirm_box(false, $user->lang['BBCODE_DANGER'], build_hidden_fields(array(
'action' => $action,
'bbcode' => $bbcode_id,
@@ -317,6 +317,17 @@ class acp_bbcodes
$bbcode_tpl = trim($bbcode_tpl);
$utf8 = strpos($bbcode_match, 'INTTEXT') !== false;
// make sure we have utf8 support
$utf8_pcre_properties = false;
if (version_compare(PHP_VERSION, '5.1.0', '>=') || (version_compare(PHP_VERSION, '5.0.0-dev', '<=') && version_compare(PHP_VERSION, '4.4.0', '>=')))
{
// While this is the proper range of PHP versions, PHP may not be linked with the bundled PCRE lib and instead with an older version
if (@preg_match('/\p{L}/u', 'a') !== false)
{
$utf8_pcre_properties = true;
}
}
$fp_match = preg_quote($bbcode_match, '!');
$fp_replace = preg_replace('#^\[(.*?)\]#', '[$1:$uid]', $bbcode_match);
$fp_replace = preg_replace('#\[/(.*?)\]$#', '[/$1:$uid]', $fp_replace);
@@ -344,7 +355,7 @@ class acp_bbcodes
'!([a-zA-Z0-9-+.,_ ]+)!' => "$1"
),
'INTTEXT' => array(
'!([\p{L}\p{N}+-,_.\s]+)!u' => "$1"
($utf8_pcre_properties) ? '!([\p{L}\p{N}\-+,_. ]+)!u' : '!([a-zA-Z0-9\-+,_. ]+)!u' => "$1"
),
'IDENTIFIER' => array(
'!([a-zA-Z0-9-_]+)!' => "$1"
@@ -363,7 +374,7 @@ class acp_bbcodes
'EMAIL' => '(' . get_preg_expression('email') . ')',
'TEXT' => '(.*?)',
'SIMPLETEXT' => '([a-zA-Z0-9-+.,_ ]+)',
'INTTEXT' => '([\p{L}\p{N}+-,_.\s]+)',
'INTTEXT' => ($utf8_pcre_properties) ? '([\p{L}\p{N}\-+,_. ]+)' : '([a-zA-Z0-9\-+,_. ]+)',
'IDENTIFIER' => '([a-zA-Z0-9-_]+)',
'COLOR' => '([a-zA-Z]+|#[0-9abcdefABCDEF]+)',
'NUMBER' => '([0-9]+)',
@@ -371,8 +382,8 @@ class acp_bbcodes
$pad = 0;
$modifiers = 'i';
$modifiers .= ($utf8) ? 'u' : '';
$modifiers .= ($utf8 && $utf8_pcre_properties) ? 'u' : '';
if (preg_match_all('/\{(' . implode('|', array_keys($tokens)) . ')[0-9]*\}/i', $bbcode_match, $m))
{
foreach ($m[0] as $n => $token)
@@ -420,7 +431,7 @@ class acp_bbcodes
}
$fp_match = '!' . $fp_match . '!' . $modifiers;
$sp_match = '!' . $sp_match . '!s';
$sp_match = '!' . $sp_match . '!s' . (($utf8) ? 'u' : '');
if (strpos($fp_match, 'e') !== false)
{

View File

@@ -58,7 +58,7 @@ class acp_board
'board_disable_msg' => false,
'default_lang' => array('lang' => 'DEFAULT_LANGUAGE', 'validate' => 'lang', 'type' => 'select', 'function' => 'language_select', 'params' => array('{CONFIG_VALUE}'), 'explain' => false),
'default_dateformat' => array('lang' => 'DEFAULT_DATE_FORMAT', 'validate' => 'string', 'type' => 'custom', 'method' => 'dateformat_select', 'explain' => true),
'board_timezone' => array('lang' => 'SYSTEM_TIMEZONE', 'validate' => 'string', 'type' => 'select', 'function' => 'tz_select', 'params' => array('{CONFIG_VALUE}', 1), 'explain' => false),
'board_timezone' => array('lang' => 'SYSTEM_TIMEZONE', 'validate' => 'string', 'type' => 'select', 'function' => 'tz_select', 'params' => array('{CONFIG_VALUE}', 1), 'explain' => true),
'board_dst' => array('lang' => 'SYSTEM_DST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'default_style' => array('lang' => 'DEFAULT_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false),
'override_user_style' => array('lang' => 'OVERRIDE_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
@@ -188,7 +188,7 @@ class acp_board
'hot_threshold' => array('lang' => 'HOT_THRESHOLD', 'validate' => 'int:0', 'type' => 'text:3:4', 'explain' => true),
'max_poll_options' => array('lang' => 'MAX_POLL_OPTIONS', 'validate' => 'int:2:127', 'type' => 'text:4:4', 'explain' => false),
'max_post_chars' => array('lang' => 'CHAR_LIMIT', 'validate' => 'int:0', 'type' => 'text:4:6', 'explain' => true),
'min_post_chars' => array('lang' => 'MIN_CHAR_LIMIT', 'validate' => 'int:0', 'type' => 'text:4:6', 'explain' => true),
'min_post_chars' => array('lang' => 'MIN_CHAR_LIMIT', 'validate' => 'int:1', 'type' => 'text:4:6', 'explain' => true),
'max_post_smilies' => array('lang' => 'SMILIES_LIMIT', 'validate' => 'int:0', 'type' => 'text:4:4', 'explain' => true),
'max_post_urls' => array('lang' => 'MAX_POST_URLS', 'validate' => 'int:0', 'type' => 'text:5:4', 'explain' => true),
'max_post_font_size' => array('lang' => 'MAX_POST_FONT_SIZE', 'validate' => 'int:0', 'type' => 'text:5:4', 'explain' => true, 'append' => ' %'),
@@ -319,6 +319,7 @@ class acp_board
'load_online_guests' => array('lang' => 'YES_ONLINE_GUESTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'load_onlinetrack' => array('lang' => 'YES_ONLINE_TRACK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'load_birthdays' => array('lang' => 'YES_BIRTHDAYS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'load_unreads_search' => array('lang' => 'YES_UNREAD_SEARCH', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_moderators' => array('lang' => 'YES_MODERATORS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_jumpbox' => array('lang' => 'YES_JUMPBOX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'load_user_activity' => array('lang' => 'LOAD_USER_ACTIVITY', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
@@ -385,6 +386,9 @@ class acp_board
'pass_complex' => array('lang' => 'PASSWORD_TYPE', 'validate' => 'string', 'type' => 'select', 'method' => 'select_password_chars', 'explain' => true),
'chg_passforce' => array('lang' => 'FORCE_PASS_CHANGE', 'validate' => 'int:0', 'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
'max_login_attempts' => array('lang' => 'MAX_LOGIN_ATTEMPTS', 'validate' => 'int:0', 'type' => 'text:3:3', 'explain' => true),
'ip_login_limit_max' => array('lang' => 'IP_LOGIN_LIMIT_MAX', 'validate' => 'int:0', 'type' => 'text:3:3', 'explain' => true),
'ip_login_limit_time' => array('lang' => 'IP_LOGIN_LIMIT_TIME', 'validate' => 'int:0', 'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
'ip_login_limit_use_forwarded' => array('lang' => 'IP_LOGIN_LIMIT_USE_FORWARDED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'tpl_allow_php' => array('lang' => 'TPL_ALLOW_PHP', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'form_token_lifetime' => array('lang' => 'FORM_TIME_MAX', 'validate' => 'int:-1', 'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
'form_token_sid_guests' => array('lang' => 'FORM_SID_GUESTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
@@ -768,13 +772,20 @@ class acp_board
{
global $user, $config;
$radio_ary = array(USER_ACTIVATION_DISABLE => 'ACC_DISABLE', USER_ACTIVATION_NONE => 'ACC_NONE');
$radio_ary = array(
USER_ACTIVATION_DISABLE => 'ACC_DISABLE',
USER_ACTIVATION_NONE => 'ACC_NONE',
);
if ($config['email_enable'])
{
$radio_ary += array(USER_ACTIVATION_SELF => 'ACC_USER', USER_ACTIVATION_ADMIN => 'ACC_ADMIN');
$radio_ary[USER_ACTIVATION_SELF] = 'ACC_USER';
$radio_ary[USER_ACTIVATION_ADMIN] = 'ACC_ADMIN';
}
return h_radio('config[require_activation]', $radio_ary, $value, $key);
$radio_text = h_radio('config[require_activation]', $radio_ary, $value, 'require_activation', $key, '<br />');
return $radio_text;
}
/**
@@ -888,8 +899,8 @@ class acp_board
$old_tz = $user->timezone;
$old_dst = $user->dst;
$user->timezone = $config['board_timezone'];
$user->dst = $config['board_dst'];
$user->timezone = $config['board_timezone'] * 3600;
$user->dst = $config['board_dst'] * 3600;
$dateformat_options = '';

View File

@@ -89,14 +89,14 @@ class acp_captcha
}
else
{
trigger_error($user->lang['CAPTCHA_UNAVAILABLE'] . adm_back_link($this->u_action));
trigger_error($user->lang['CAPTCHA_UNAVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
}
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
}
else if ($submit)
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link());
trigger_error($user->lang['FORM_INVALID'] . adm_back_link(), E_USER_WARNING);
}
else
{

View File

@@ -109,6 +109,7 @@ class acp_database
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
$extractor = new mssql_extractor($download, $store, $format, $filename, $time);
break;
@@ -138,6 +139,7 @@ class acp_database
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
$extractor->flush('TRUNCATE TABLE ' . $table_name . "GO\n");
break;
@@ -219,6 +221,7 @@ class acp_database
case 'submit':
$delete = request_var('delete', '');
$file = request_var('file', '');
$download = request_var('download', '');
if (!preg_match('#^backup_\d{10,}_[a-z\d]{16}\.(sql(?:\.(?:gz|bz2))?)$#', $file, $matches))
{
@@ -245,10 +248,8 @@ class acp_database
confirm_box(false, $user->lang['DELETE_SELECTED_BACKUP'], build_hidden_fields(array('delete' => $delete, 'file' => $file)));
}
}
else
else if ($download || confirm_box(true))
{
$download = request_var('download', '');
if ($download)
{
$name = $matches[0];
@@ -392,6 +393,7 @@ class acp_database
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
while (($sql = $fgetd($fp, "GO\n", $read, $seek, $eof)) !== false)
{
$db->sql_query($sql);
@@ -408,6 +410,10 @@ class acp_database
trigger_error($user->lang['RESTORE_SUCCESS'] . adm_back_link($this->u_action));
break;
}
else if (!$download)
{
confirm_box(false, $user->lang['RESTORE_SELECTED_BACKUP'], build_hidden_fields(array('file' => $file)));
}
default:
$methods = array('sql');
@@ -435,7 +441,7 @@ class acp_database
{
if (in_array($matches[2], $methods))
{
$backup_files[gmdate("d-m-Y H:i:s", $matches[1])] = $file;
$backup_files[(int) $matches[1]] = $file;
}
}
}
@@ -450,7 +456,7 @@ class acp_database
{
$template->assign_block_vars('files', array(
'FILE' => $file,
'NAME' => $name,
'NAME' => $user->format_date($name, 'd-m-Y H:i:s', true),
'SUPPORTED' => true,
));
}
@@ -1509,6 +1515,10 @@ class mssql_extractor extends base_extractor
{
$this->write_data_mssql($table_name);
}
else if($db->sql_layer === 'mssqlnative')
{
$this->write_data_mssqlnative($table_name);
}
else
{
$this->write_data_odbc($table_name);
@@ -1608,7 +1618,111 @@ class mssql_extractor extends base_extractor
}
$this->flush($sql_data);
}
function write_data_mssqlnative($table_name)
{
global $db;
$ary_type = $ary_name = array();
$ident_set = false;
$sql_data = '';
// Grab all of the data from current table.
$sql = "SELECT * FROM $table_name";
$db->mssqlnative_set_query_options(array('Scrollable' => SQLSRV_CURSOR_STATIC));
$result = $db->sql_query($sql);
$retrieved_data = $db->mssqlnative_num_rows($result);
if (!$retrieved_data)
{
$db->sql_freeresult($result);
return;
}
$sql = "SELECT * FROM $table_name";
$result_fields = $db->sql_query_limit($sql, 1);
$row = new result_mssqlnative($result_fields);
$i_num_fields = $row->num_fields();
for ($i = 0; $i < $i_num_fields; $i++)
{
$ary_type[$i] = $row->field_type($i);
$ary_name[$i] = $row->field_name($i);
}
$db->sql_freeresult($result_fields);
$sql = "SELECT 1 as has_identity
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMNPROPERTY(object_id('$table_name'), COLUMN_NAME, 'IsIdentity') = 1";
$result2 = $db->sql_query($sql);
$row2 = $db->sql_fetchrow($result2);
if (!empty($row2['has_identity']))
{
$sql_data .= "\nSET IDENTITY_INSERT $table_name ON\nGO\n";
$ident_set = true;
}
$db->sql_freeresult($result2);
while ($row = $db->sql_fetchrow($result))
{
$schema_vals = $schema_fields = array();
// Build the SQL statement to recreate the data.
for ($i = 0; $i < $i_num_fields; $i++)
{
$str_val = $row[$ary_name[$i]];
// defaults to type number - better quote just to be safe, so check for is_int too
if (is_int($ary_type[$i]) || preg_match('#char|text|bool|varbinary#i', $ary_type[$i]))
{
$str_quote = '';
$str_empty = "''";
$str_val = sanitize_data_mssql(str_replace("'", "''", $str_val));
}
else if (preg_match('#date|timestamp#i', $ary_type[$i]))
{
if (empty($str_val))
{
$str_quote = '';
}
else
{
$str_quote = "'";
}
}
else
{
$str_quote = '';
$str_empty = 'NULL';
}
if (empty($str_val) && $str_val !== '0' && !(is_int($str_val) || is_float($str_val)))
{
$str_val = $str_empty;
}
$schema_vals[$i] = $str_quote . $str_val . $str_quote;
$schema_fields[$i] = $ary_name[$i];
}
// Take the ordered fields and their associated data and build it
// into a valid sql statement to recreate that field in the data.
$sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\nGO\n";
$this->flush($sql_data);
$sql_data = '';
}
$db->sql_freeresult($result);
if ($ident_set)
{
$sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n";
}
$this->flush($sql_data);
}
function write_data_odbc($table_name)
{
global $db;

View File

@@ -56,6 +56,18 @@ class acp_disallow
trigger_error($user->lang['NO_USERNAME_SPECIFIED'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$sql = 'SELECT disallow_id
FROM ' . DISALLOW_TABLE . "
WHERE disallow_username = '" . $db->sql_escape($disallowed_user) . "'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
trigger_error($user->lang['DISALLOWED_ALREADY'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$sql = 'INSERT INTO ' . DISALLOW_TABLE . ' ' . $db->sql_build_array('INSERT', array('disallow_username' => $disallowed_user));
$db->sql_query($sql);

View File

@@ -82,23 +82,48 @@ class acp_email
{
if ($group_id)
{
$sql = 'SELECT u.user_email, u.username, u.username_clean, u.user_lang, u.user_jabber, u.user_notify_type
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . ' ug
WHERE ug.group_id = ' . $group_id . '
$sql_ary = array(
'SELECT' => 'u.user_email, u.username, u.username_clean, u.user_lang, u.user_jabber, u.user_notify_type',
'FROM' => array(
USERS_TABLE => 'u',
USER_GROUP_TABLE => 'ug',
),
'WHERE' => 'ug.group_id = ' . $group_id . '
AND ug.user_pending = 0
AND u.user_id = ug.user_id
AND u.user_allow_massemail = 1
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
ORDER BY u.user_lang, u.user_notify_type';
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')',
'ORDER_BY' => 'u.user_lang, u.user_notify_type',
);
}
else
{
$sql = 'SELECT username, username_clean, user_email, user_jabber, user_notify_type, user_lang
FROM ' . USERS_TABLE . '
WHERE user_allow_massemail = 1
AND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
ORDER BY user_lang, user_notify_type';
$sql_ary = array(
'SELECT' => 'u.username, u.username_clean, u.user_email, u.user_jabber, u.user_lang, u.user_notify_type',
'FROM' => array(
USERS_TABLE => 'u',
),
'WHERE' => 'u.user_allow_massemail = 1
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')',
'ORDER_BY' => 'u.user_lang, u.user_notify_type',
);
}
// Mail banned or not
if (!isset($_REQUEST['mail_banned_flag']))
{
$sql_ary['WHERE'] .= ' AND (b.ban_id IS NULL
OR b.ban_exclude = 1)';
$sql_ary['LEFT_JOIN'] = array(
array(
'FROM' => array(
BANLIST_TABLE => 'b',
),
'ON' => 'u.user_id = b.ban_userid',
),
);
}
$sql = $db->sql_build_query('SELECT', $sql_ary);
}
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
@@ -111,8 +136,9 @@ class acp_email
$i = $j = 0;
// Send with BCC, no more than 50 recipients for one mail (to not exceed the limit)
$max_chunk_size = 50;
// Send with BCC
// Maximum number of bcc recipients
$max_chunk_size = (int) $config['email_max_chunk_size'];
$email_list = array();
$old_lang = $row['user_lang'];
$old_notify_type = $row['user_notify_type'];
@@ -169,10 +195,7 @@ class acp_email
$messenger->template('admin_send_email', $used_lang);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->anti_abuse_headers($config, $user);
$messenger->subject(htmlspecialchars_decode($subject));
$messenger->set_mail_priority($priority);

View File

@@ -169,7 +169,7 @@ class acp_forums
$forum_data['forum_status'] = ITEM_UNLOCKED;
}
$forum_data['show_active'] = ($forum_data['forum_type'] == FORUM_POST) ? request_var('display_recent', true) : request_var('display_active', true);
$forum_data['show_active'] = ($forum_data['forum_type'] == FORUM_POST) ? request_var('display_recent', true) : request_var('display_active', false);
// Get data for forum rules if specified...
if ($forum_data['forum_rules'])
@@ -190,12 +190,14 @@ class acp_forums
$forum_perm_from = request_var('forum_perm_from', 0);
$cache->destroy('sql', FORUMS_TABLE);
$copied_permissions = false;
// Copy permissions?
if ($forum_perm_from && $forum_perm_from != $forum_data['forum_id'] &&
($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))))
{
copy_forum_permissions($forum_perm_from, $forum_data['forum_id'], ($action == 'edit') ? true : false);
cache_moderators();
$copied_permissions = true;
}
/* Commented out because of questionable UI workflow - re-visit for 3.0.7
else if (!$this->parent_id && $action != 'edit' && $auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))
@@ -210,15 +212,11 @@ class acp_forums
$message = ($action == 'add') ? $user->lang['FORUM_CREATED'] : $user->lang['FORUM_UPDATED'];
// Redirect to permissions
if ($auth->acl_get('a_fauth'))
// redirect directly to permission settings screen if authed
if ($action == 'add' && !$copied_permissions && $auth->acl_get('a_fauth'))
{
$message .= '<br /><br />' . sprintf($user->lang['REDIRECT_ACL'], '<a href="' . append_sid("{$phpbb_admin_path}index.$phpEx", 'i=permissions' . $acl_url) . '">', '</a>');
}
// redirect directly to permission settings screen if authed
if ($action == 'add' && !$forum_perm_from && $auth->acl_get('a_fauth'))
{
meta_refresh(4, append_sid("{$phpbb_admin_path}index.$phpEx", 'i=permissions' . $acl_url));
}
@@ -639,7 +637,8 @@ class acp_forums
'S_PRUNE_OLD_POLLS' => ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_POLL) ? true : false,
'S_PRUNE_ANNOUNCE' => ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_ANNOUNCE) ? true : false,
'S_PRUNE_STICKY' => ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_STICKY) ? true : false,
'S_DISPLAY_ACTIVE_TOPICS' => ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) ? true : false,
'S_DISPLAY_ACTIVE_TOPICS' => ($forum_data['forum_type'] == FORUM_POST) ? ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) : true,
'S_ENABLE_ACTIVE_TOPICS' => ($forum_data['forum_type'] == FORUM_CAT) ? ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) : false,
'S_ENABLE_POST_REVIEW' => ($forum_data['forum_flags'] & FORUM_FLAG_POST_REVIEW) ? true : false,
'S_ENABLE_QUICK_REPLY' => ($forum_data['forum_flags'] & FORUM_FLAG_QUICK_REPLY) ? true : false,
'S_CAN_COPY_PERMISSIONS' => ($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))) ? true : false,
@@ -872,7 +871,7 @@ class acp_forums
$errors = array();
if (!$forum_data['forum_name'])
if ($forum_data['forum_name'] == '')
{
$errors[] = $user->lang['FORUM_NAME_EMPTY'];
}
@@ -980,7 +979,7 @@ class acp_forums
if (!$row)
{
trigger_error($user->lang['PARENT_NOT_EXIST'] . adm_back_link($this->u_action . '&amp;' . $this->parent_id), E_USER_WARNING);
trigger_error($user->lang['PARENT_NOT_EXIST'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
}
if ($row['forum_type'] == FORUM_LINK)
@@ -1639,6 +1638,9 @@ class acp_forums
delete_attachments('topic', $topic_ids, false);
// Delete shadow topics pointing to topics in this forum
delete_topic_shadows($forum_id);
// Before we remove anything we make sure we are able to adjust the post counts later. ;)
$sql = 'SELECT poster_id
FROM ' . POSTS_TABLE . '
@@ -1705,6 +1707,9 @@ class acp_forums
)
);
// Amount of rows we select and delete in one iteration.
$batch_size = 500;
foreach ($tables_ary as $field => $tables)
{
$start = 0;
@@ -1714,7 +1719,7 @@ class acp_forums
$sql = "SELECT $field
FROM " . POSTS_TABLE . '
WHERE forum_id = ' . $forum_id;
$result = $db->sql_query_limit($sql, 500, $start);
$result = $db->sql_query_limit($sql, $batch_size, $start);
$ids = array();
while ($row = $db->sql_fetchrow($result))
@@ -1733,7 +1738,7 @@ class acp_forums
}
}
}
while ($row);
while (sizeof($ids) == $batch_size);
}
unset($ids);

View File

@@ -49,7 +49,7 @@ class acp_groups
// Clear some vars
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && phpbb_is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;
$group_row = array();
// Grab basic data for group, if group_id is set and exists
@@ -394,6 +394,15 @@ class acp_groups
}
}
// Validate the length of "Maximum number of allowed recipients per private message" setting.
// We use 16777215 as a maximum because it matches MySQL unsigned mediumint maximum value
// which is the lowest amongst DBMSes supported by phpBB3
if ($max_recipients_error = validate_data($submit_ary, array('max_recipients' => array('num', false, 0, 16777215))))
{
// Replace "error" string with its real, localised form
$error = array_merge($error, array_map(array(&$user, 'lang'), $max_recipients_error));
}
if (!sizeof($error))
{
// Only set the rank, colour, etc. if it's changed or if we're adding a new

View File

@@ -394,6 +394,10 @@ class acp_icons
{
// skip images where add wasn't checked
}
else if (!file_exists($phpbb_root_path . $img_path . '/' . $image))
{
$errors[$image] = 'SMILIE_NO_FILE';
}
else
{
if ($image_width[$image] == 0 || $image_height[$image] == 0)

View File

@@ -118,10 +118,7 @@ class acp_inactive
$messenger->to($row['user_email'], $row['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'USERNAME' => htmlspecialchars_decode($row['username']))
@@ -209,10 +206,7 @@ class acp_inactive
$messenger->to($row['user_email'], $row['username']);
$messenger->im($row['user_jabber'], $row['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'USERNAME' => htmlspecialchars_decode($row['username']),
@@ -301,7 +295,7 @@ class acp_inactive
'PAGINATION' => generate_pagination($this->u_action . "&amp;$u_sort_param&amp;users_per_page=$per_page", $inactive_count, $per_page, $start, true),
'USERS_PER_PAGE' => $per_page,
'U_ACTION' => $this->u_action . '&amp;start=' . $start,
'U_ACTION' => $this->u_action . "&amp;$u_sort_param&amp;users_per_page=$per_page&amp;start=$start",
));
$this->tpl_name = 'acp_inactive';

View File

@@ -919,6 +919,9 @@ class acp_language
$default_lang_id = (int) $db->sql_fetchfield('lang_id');
$db->sql_freeresult($result);
// We want to notify the admin that custom profile fields need to be updated for the new language.
$notify_cpf_update = false;
// From the mysql documentation:
// Prior to MySQL 4.0.14, the target table of the INSERT statement cannot appear in the FROM clause of the SELECT part of the query. This limitation is lifted in 4.0.14.
// Due to this we stay on the safe side if we do the insertion "the manual way"
@@ -932,6 +935,7 @@ class acp_language
{
$row['lang_id'] = $lang_id;
$db->sql_query('INSERT INTO ' . PROFILE_LANG_TABLE . ' ' . $db->sql_build_array('INSERT', $row));
$notify_cpf_update = true;
}
$db->sql_freeresult($result);
@@ -944,12 +948,15 @@ class acp_language
{
$row['lang_id'] = $lang_id;
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_LANG_TABLE . ' ' . $db->sql_build_array('INSERT', $row));
$notify_cpf_update = true;
}
$db->sql_freeresult($result);
add_log('admin', 'LOG_LANGUAGE_PACK_INSTALLED', $lang_pack['name']);
trigger_error(sprintf($user->lang['LANGUAGE_PACK_INSTALLED'], $lang_pack['name']) . adm_back_link($this->u_action));
$message = sprintf($user->lang['LANGUAGE_PACK_INSTALLED'], $lang_pack['name']);
$message .= ($notify_cpf_update) ? '<br /><br />' . $user->lang['LANGUAGE_PACK_CPF_UPDATE'] : '';
trigger_error($message . adm_back_link($this->u_action));
break;
@@ -1055,14 +1062,14 @@ class acp_language
$iso_src .= htmlspecialchars_decode($row['lang_author']);
$compress->add_data($iso_src, 'language/' . $row['lang_iso'] . '/iso.txt');
// index.html files
$compress->add_data('', 'language/' . $row['lang_iso'] . '/index.html');
$compress->add_data('', 'language/' . $row['lang_iso'] . '/email/index.html');
$compress->add_data('', 'language/' . $row['lang_iso'] . '/acp/index.html');
// index.htm files
$compress->add_data('', 'language/' . $row['lang_iso'] . '/index.htm');
$compress->add_data('', 'language/' . $row['lang_iso'] . '/email/index.htm');
$compress->add_data('', 'language/' . $row['lang_iso'] . '/acp/index.htm');
if (sizeof($mod_files))
{
$compress->add_data('', 'language/' . $row['lang_iso'] . '/mods/index.html');
$compress->add_data('', 'language/' . $row['lang_iso'] . '/mods/index.htm');
}
$compress->close();
@@ -1120,12 +1127,12 @@ class acp_language
{
while (($file = readdir($dp)) !== false)
{
if (!is_dir($phpbb_root_path . 'language/' . $file))
if ($file[0] == '.' || !is_dir($phpbb_root_path . 'language/' . $file))
{
continue;
}
if ($file[0] != '.' && file_exists("{$phpbb_root_path}language/$file/iso.txt"))
if (file_exists("{$phpbb_root_path}language/$file/iso.txt"))
{
if (!in_array($file, $installed))
{
@@ -1217,7 +1224,7 @@ $lang = array_merge($lang, array(
';
// Language files in language root directory
$this->main_files = array("common.$phpEx", "groups.$phpEx", "install.$phpEx", "mcp.$phpEx", "memberlist.$phpEx", "posting.$phpEx", "search.$phpEx", "ucp.$phpEx", "viewforum.$phpEx", "viewtopic.$phpEx", "help_bbcode.$phpEx", "help_faq.$phpEx");
$this->main_files = array("captcha_qa.$phpEx", "captcha_recaptcha.$phpEx", "common.$phpEx", "groups.$phpEx", "install.$phpEx", "mcp.$phpEx", "memberlist.$phpEx", "posting.$phpEx", "search.$phpEx", "ucp.$phpEx", "viewforum.$phpEx", "viewtopic.$phpEx", "help_bbcode.$phpEx", "help_faq.$phpEx");
}
/**

View File

@@ -127,12 +127,12 @@ class acp_logs
// Grab log data
$log_data = array();
$log_count = 0;
view_log($mode, $log_data, $log_count, $config['topics_per_page'], $start, $forum_id, 0, 0, $sql_where, $sql_sort, $keywords);
$start = view_log($mode, $log_data, $log_count, $config['topics_per_page'], $start, $forum_id, 0, 0, $sql_where, $sql_sort, $keywords);
$template->assign_vars(array(
'L_TITLE' => $l_title,
'L_EXPLAIN' => $l_title_explain,
'U_ACTION' => $this->u_action,
'U_ACTION' => $this->u_action . "&amp;$u_sort_param$keywords_param&amp;start=$start",
'S_ON_PAGE' => on_page($log_count, $config['topics_per_page'], $start),
'PAGINATION' => generate_pagination($this->u_action . "&amp;$u_sort_param$keywords_param", $log_count, $config['topics_per_page'], $start, true),

View File

@@ -415,11 +415,8 @@ class acp_main
{
$latest_version_info = explode("\n", $latest_version_info);
$latest_version = str_replace('rc', 'RC', strtolower(trim($latest_version_info[0])));
$current_version = str_replace('rc', 'RC', strtolower($config['version']));
$template->assign_vars(array(
'S_VERSION_UP_TO_DATE' => version_compare($current_version, $latest_version, '<') ? false : true,
'S_VERSION_UP_TO_DATE' => phpbb_version_compare(trim($latest_version_info[0]), $config['version'], '<='),
));
}
@@ -521,7 +518,7 @@ class acp_main
'U_ADMIN_LOG' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=logs&amp;mode=admin'),
'U_INACTIVE_USERS' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=inactive&amp;mode=list'),
'U_VERSIONCHECK' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=update&amp;mode=version_check'),
'U_VERSIONCHECK_FORCE' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=1&amp;versioncheck_force=1'),
'U_VERSIONCHECK_FORCE' => append_sid("{$phpbb_admin_path}index.$phpEx", 'versioncheck_force=1'),
'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false,
'S_FOUNDER' => ($user->data['user_type'] == USER_FOUNDER) ? true : false,
@@ -529,7 +526,7 @@ class acp_main
);
$log_data = array();
$log_count = 0;
$log_count = false;
if ($auth->acl_get('a_viewlogs'))
{
@@ -603,6 +600,17 @@ class acp_main
$template->assign_var('S_WRITABLE_CONFIG', (bool) (@fileperms($phpbb_root_path . 'config.' . $phpEx) & 0x0002));
}
if (extension_loaded('mbstring'))
{
$template->assign_vars(array(
'S_MBSTRING_LOADED' => true,
'S_MBSTRING_FUNC_OVERLOAD_FAIL' => (intval(@ini_get('mbstring.func_overload')) & (MB_OVERLOAD_MAIL | MB_OVERLOAD_STRING)),
'S_MBSTRING_ENCODING_TRANSLATION_FAIL' => (@ini_get('mbstring.encoding_translation') != 0),
'S_MBSTRING_HTTP_INPUT_FAIL' => (@ini_get('mbstring.http_input') != 'pass'),
'S_MBSTRING_HTTP_OUTPUT_FAIL' => (@ini_get('mbstring.http_output') != 'pass'),
));
}
// Fill dbms version if not yet filled
if (empty($config['dbms_version']))
{

View File

@@ -35,9 +35,9 @@ class acp_php_info
$this->tpl_name = 'acp_php_info';
$this->page_title = 'ACP_PHP_INFO';
ob_start();
@phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES);
phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES);
$phpinfo = ob_get_clean();
$phpinfo = trim($phpinfo);
@@ -67,6 +67,9 @@ class acp_php_info
$output = preg_replace('#<img border="0"#i', '<img', $output);
$output = str_replace(array('class="e"', 'class="v"', 'class="h"', '<hr />', '<font', '</font>'), array('class="row1"', 'class="row2"', '', '', '<span', '</span>'), $output);
// Fix invalid anchor names (eg "module_Zend Optimizer")
$output = preg_replace_callback('#<a name="([^"]+)">#', array($this, 'remove_spaces'), $output);
if (empty($output))
{
trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING);
@@ -79,6 +82,11 @@ class acp_php_info
$template->assign_var('PHPINFO', $output);
}
function remove_spaces($matches)
{
return '<a name="' . str_replace(' ', '_', $matches[1]) . '">';
}
}
?>

View File

@@ -512,7 +512,7 @@ class acp_profile
else if ($field_type == FIELD_INT && $key == 'field_default_value')
{
// Permit an empty string
if (request_var('field_default_value', '') === '')
if ($action == 'create' && request_var('field_default_value', '') === '')
{
$var = '';
}
@@ -1480,6 +1480,7 @@ class acp_profile
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
// We are defining the biggest common value, because of the possibility to edit the min/max values of each field.
$sql = 'ALTER TABLE [' . PROFILE_FIELDS_DATA_TABLE . "] ADD [$field_ident] ";

View File

@@ -315,8 +315,8 @@ class acp_prune
'mode' => $mode,
'prune' => 1,
'users' => request_var('users', '', true),
'username' => request_var('username', '', true),
'users' => utf8_normalize_nfc(request_var('users', '', true)),
'username' => utf8_normalize_nfc(request_var('username', '', true)),
'email' => request_var('email', ''),
'joined_select' => request_var('joined_select', ''),
'joined' => request_var('joined', ''),
@@ -369,7 +369,7 @@ class acp_prune
{
global $user, $db;
$users = request_var('users', '', true);
$users = utf8_normalize_nfc(request_var('users', '', true));
if ($users)
{
@@ -378,7 +378,7 @@ class acp_prune
}
else
{
$username = request_var('username', '', true);
$username = utf8_normalize_nfc(request_var('username', '', true));
$email = request_var('email', '');
$joined_select = request_var('joined_select', 'lt');

View File

@@ -199,7 +199,7 @@ class acp_ranks
'RANK_TITLE' => (isset($ranks['rank_title'])) ? $ranks['rank_title'] : '',
'S_FILENAME_LIST' => $filename_list,
'RANK_IMAGE' => ($edit_img) ? $phpbb_root_path . $config['ranks_path'] . '/' . $edit_img : $phpbb_admin_path . 'images/spacer.gif',
'S_SPECIAL_RANK' => (!isset($ranks['rank_special']) || $ranks['rank_special']) ? true : false,
'S_SPECIAL_RANK' => (isset($ranks['rank_special']) && $ranks['rank_special']) ? true : false,
'MIN_POSTS' => (isset($ranks['rank_min']) && !$ranks['rank_special']) ? $ranks['rank_min'] : 0)
);

View File

@@ -233,6 +233,7 @@ class acp_reasons
// Standard? What's that?
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
// Change the reports using this reason to 'other'
$sql = "DECLARE @ptrval binary(16)

View File

@@ -392,7 +392,18 @@ class acp_search
AND post_id <= ' . (int) ($post_counter + $this->batch_size);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
$buffer = $db->sql_buffer_nested_transactions();
if ($buffer)
{
$rows = $db->sql_fetchrowset($result);
$rows[] = false; // indicate end of array for while loop below
$db->sql_freeresult($result);
}
$i = 0;
while ($row = ($buffer ? $rows[$i++] : $db->sql_fetchrow($result)))
{
// Indexing enabled for this forum or global announcement?
// Global announcements get indexed by default.
@@ -402,7 +413,10 @@ class acp_search
}
$row_count++;
}
$db->sql_freeresult($result);
if (!$buffer)
{
$db->sql_freeresult($result);
}
$post_counter += $this->batch_size;
}

View File

@@ -510,6 +510,7 @@ parse_css_file = {PARSE_CSS_FILE}
$db->sql_transaction('commit');
$cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE);
$cache->destroy('imageset_site_logo_md5');
add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']);
trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action));
@@ -643,13 +644,13 @@ parse_css_file = {PARSE_CSS_FILE}
{
while (($file = readdir($dp)) !== false)
{
if (!is_dir($phpbb_root_path . 'styles/' . $file))
if ($file[0] == '.' || !is_dir($phpbb_root_path . 'styles/' . $file))
{
continue;
}
$subpath = ($mode != 'style') ? "$mode/" : '';
if ($file[0] != '.' && file_exists("{$phpbb_root_path}styles/$file/$subpath$mode.cfg"))
if (file_exists("{$phpbb_root_path}styles/$file/$subpath$mode.cfg"))
{
if ($cfg = file("{$phpbb_root_path}styles/$file/$subpath$mode.cfg"))
{
@@ -716,7 +717,7 @@ parse_css_file = {PARSE_CSS_FILE}
$save_changes = (isset($_POST['save'])) ? true : false;
// make sure template_file path doesn't go upwards
$template_file = str_replace('..', '.', $template_file);
$template_file = preg_replace('#\.{2,}#', '.', $template_file);
// Retrieve some information about the template
$sql = 'SELECT template_storedb, template_path, template_name
@@ -748,7 +749,7 @@ parse_css_file = {PARSE_CSS_FILE}
$additional = '';
// If the template is stored on the filesystem try to write the file else store it in the database
if (!$safe_mode && !$template_info['template_storedb'] && file_exists($file) && @is_writable($file))
if (!$safe_mode && !$template_info['template_storedb'] && file_exists($file) && phpbb_is_writable($file))
{
if (!($fp = @fopen($file, 'wb')))
{
@@ -1155,7 +1156,7 @@ parse_css_file = {PARSE_CSS_FILE}
$message = $user->lang['THEME_UPDATED'];
// If the theme is stored on the filesystem try to write the file else store it in the database
if (!$safe_mode && !$theme_info['theme_storedb'] && file_exists($file) && @is_writable($file))
if (!$safe_mode && !$theme_info['theme_storedb'] && file_exists($file) && phpbb_is_writable($file))
{
if (!($fp = @fopen($file, 'wb')))
{
@@ -1587,23 +1588,23 @@ parse_css_file = {PARSE_CSS_FILE}
{
case 'style':
$sql_from = STYLES_TABLE;
$sql_select = 'style_name';
$sql_select = 'style_id, style_name, template_id, theme_id, imageset_id';
$sql_where = 'AND style_active = 1';
break;
case 'template':
$sql_from = STYLES_TEMPLATE_TABLE;
$sql_select = 'template_name, template_path, template_storedb';
$sql_select = 'template_id, template_name, template_path, template_storedb';
break;
case 'theme':
$sql_from = STYLES_THEME_TABLE;
$sql_select = 'theme_name, theme_path, theme_storedb';
$sql_select = 'theme_id, theme_name, theme_path, theme_storedb';
break;
case 'imageset':
$sql_from = STYLES_IMAGESET_TABLE;
$sql_select = 'imageset_name, imageset_path';
$sql_select = 'imageset_id, imageset_name, imageset_path';
break;
}
@@ -1633,37 +1634,14 @@ parse_css_file = {PARSE_CSS_FILE}
trigger_error($user->lang['NO_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
}
$sql = "SELECT {$mode}_id, {$mode}_name
FROM $sql_from
WHERE {$mode}_id <> $style_id
$sql_where
ORDER BY {$mode}_name ASC";
$result = $db->sql_query($sql);
$s_options = '';
if ($row = $db->sql_fetchrow($result))
{
do
{
$s_options .= '<option value="' . $row[$mode . '_id'] . '">' . $row[$mode . '_name'] . '</option>';
}
while ($row = $db->sql_fetchrow($result));
}
else
{
trigger_error($user->lang['ONLY_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
}
$db->sql_freeresult($result);
if ($update)
{
$sql = "DELETE FROM $sql_from
WHERE {$mode}_id = $style_id";
$db->sql_query($sql);
if ($mode == 'style')
{
$sql = "DELETE FROM $sql_from
WHERE {$mode}_id = $style_id";
$db->sql_query($sql);
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_style = $new_id
WHERE user_style = $style_id";
@@ -1678,19 +1656,19 @@ parse_css_file = {PARSE_CSS_FILE}
{
set_config('default_style', $new_id);
}
// Remove the components
$components = array('template', 'theme', 'imageset');
foreach ($components as $component)
{
$new_id = request_var('new_' . $component . '_id', 0);
$component_id = $style_row[$component . '_id'];
$this->remove_component($component, $component_id, $new_id, $style_id);
}
}
else
{
if ($mode == 'imageset')
{
$sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . "
WHERE imageset_id = $style_id";
$db->sql_query($sql);
}
$sql = 'UPDATE ' . STYLES_TABLE . "
SET {$mode}_id = $new_id
WHERE {$mode}_id = $style_id";
$db->sql_query($sql);
$this->remove_component($mode, $style_id, $new_id);
}
$cache->destroy('sql', STYLES_TABLE);
@@ -1700,11 +1678,12 @@ parse_css_file = {PARSE_CSS_FILE}
trigger_error($user->lang[$message] . adm_back_link($this->u_action));
}
$this->display_component_options($mode, $style_row[$mode . '_id'], $style_row);
$this->page_title = 'DELETE_' . $l_prefix;
$template->assign_vars(array(
'S_DELETE' => true,
'S_REPLACE_OPTIONS' => $s_options,
'L_TITLE' => $user->lang[$this->page_title],
'L_EXPLAIN' => $user->lang[$this->page_title . '_EXPLAIN'],
@@ -1718,6 +1697,202 @@ parse_css_file = {PARSE_CSS_FILE}
'NAME' => $style_row[$mode . '_name'],
)
);
if ($mode == 'style')
{
$template->assign_vars(array(
'S_DELETE_STYLE' => true,
));
}
}
/**
* Remove template/theme/imageset entry from the database
*/
function remove_component($component, $component_id, $new_id, $style_id = false)
{
global $db;
if (($new_id == 0) || ($component === 'template' && ($conflicts = $this->check_inheritance($component, $component_id))))
{
// We can not delete the template, as the user wants to keep the component or an other template is inheriting from this one.
return;
}
$component_in_use = array();
if ($component != 'style')
{
$component_in_use = $this->component_in_use($component, $component_id, $style_id);
}
if (($new_id == -1) && !empty($component_in_use))
{
// We can not delete the component, as it is still in use
return;
}
if ($component == 'imageset')
{
$sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . "
WHERE imageset_id = $component_id";
$db->sql_query($sql);
}
switch ($component)
{
case 'template':
$sql_from = STYLES_TEMPLATE_TABLE;
break;
case 'theme':
$sql_from = STYLES_THEME_TABLE;
break;
case 'imageset':
$sql_from = STYLES_IMAGESET_TABLE;;
break;
}
$sql = "DELETE FROM $sql_from
WHERE {$component}_id = $component_id";
$db->sql_query($sql);
$sql = 'UPDATE ' . STYLES_TABLE . "
SET {$component}_id = $new_id
WHERE {$component}_id = $component_id";
$db->sql_query($sql);
}
/**
* Display the options which can be used to replace a style/template/theme/imageset
*/
function display_component_options($component, $component_id, $style_row = false, $style_id = false)
{
global $db, $template, $user;
$component_in_use = array();
if ($component != 'style')
{
$component_in_use = $this->component_in_use($component, $component_id, $style_id);
}
$sql_where = '';
switch ($component)
{
case 'style':
$sql_from = STYLES_TABLE;
$sql_where = 'WHERE style_active = 1';
break;
case 'template':
$sql_from = STYLES_TEMPLATE_TABLE;
$sql_where = 'WHERE template_inherits_id <> ' . $component_id;
break;
case 'theme':
$sql_from = STYLES_THEME_TABLE;
break;
case 'imageset':
$sql_from = STYLES_IMAGESET_TABLE;
break;
}
$s_options = '';
if (($component != 'style') && empty($component_in_use))
{
$sql = "SELECT {$component}_id, {$component}_name
FROM $sql_from
WHERE {$component}_id = {$component_id}";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$s_options .= '<option value="-1" selected="selected">' . $user->lang['DELETE_' . strtoupper($component)] . '</option>';
$s_options .= '<option value="0">' . sprintf($user->lang['KEEP_' . strtoupper($component)], $row[$component . '_name']) . '</option>';
}
else
{
$sql = "SELECT {$component}_id, {$component}_name
FROM $sql_from
$sql_where
ORDER BY {$component}_name ASC";
$result = $db->sql_query($sql);
$s_keep_option = $s_options = '';
while ($row = $db->sql_fetchrow($result))
{
if ($row[$component . '_id'] != $component_id)
{
$s_options .= '<option value="' . $row[$component . '_id'] . '">' . sprintf($user->lang['REPLACE_WITH_OPTION'], $row[$component . '_name']) . '</option>';
}
else if ($component != 'style')
{
$s_keep_option = '<option value="0" selected="selected">' . sprintf($user->lang['KEEP_' . strtoupper($component)], $row[$component . '_name']) . '</option>';
}
}
$db->sql_freeresult($result);
$s_options = $s_keep_option . $s_options;
}
if (!$style_row)
{
$template->assign_var('S_REPLACE_' . strtoupper($component) . '_OPTIONS', $s_options);
}
else
{
$template->assign_var('S_REPLACE_OPTIONS', $s_options);
if ($component == 'style')
{
$components = array('template', 'theme', 'imageset');
foreach ($components as $component)
{
$this->display_component_options($component, $style_row[$component . '_id'], false, $component_id, true);
}
}
}
}
/**
* Check whether the component is still used by another style or component
*/
function component_in_use($component, $component_id, $style_id = false)
{
global $db;
$component_in_use = array();
if ($style_id)
{
$sql = 'SELECT style_id, style_name
FROM ' . STYLES_TABLE . "
WHERE {$component}_id = {$component_id}
AND style_id <> {$style_id}
ORDER BY style_name ASC";
}
else
{
$sql = 'SELECT style_id, style_name
FROM ' . STYLES_TABLE . "
WHERE {$component}_id = {$component_id}
ORDER BY style_name ASC";
}
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$component_in_use[] = $row['style_name'];
}
$db->sql_freeresult($result);
if ($component === 'template' && ($conflicts = $this->check_inheritance($component, $component_id)))
{
foreach ($conflicts as $temp_id => $conflict_data)
{
$component_in_use[] = $conflict_data['template_name'];
}
}
return $component_in_use;
}
/**
@@ -2040,23 +2215,18 @@ parse_css_file = {PARSE_CSS_FILE}
{
case 'tar':
$ext = '.tar';
$mimetype = 'x-tar';
$compress = 'compress_tar';
break;
case 'zip':
$ext = '.zip';
$mimetype = 'zip';
break;
case 'tar.gz':
$ext = '.tar.gz';
$mimetype = 'x-gzip';
break;
case 'tar.bz2':
$ext = '.tar.bz2';
$mimetype = 'x-bzip2';
break;
default:
@@ -2246,7 +2416,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
// a rather elaborate check we have to do here once to avoid trouble later
$check = "{$phpbb_root_path}styles/" . $style_row["{$mode}_path"] . (($mode === 'theme') ? '/theme/stylesheet.css' : '/template');
if (($style_row["{$mode}_storedb"] != $store_db) && !$store_db && ($safe_mode || !@is_writable($check)))
if (($style_row["{$mode}_storedb"] != $store_db) && !$store_db && ($safe_mode || !phpbb_is_writable($check)))
{
$error[] = $user->lang['EDIT_' . strtoupper($mode) . '_STORED_DB'];
$store_db = 1;
@@ -2326,7 +2496,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
$theme_data = $this->db_theme_data($style_row);
}
else if (!$store_db && !$safe_mode && @is_writable("{$phpbb_root_path}styles/{$style_row['theme_path']}/theme/stylesheet.css"))
else if (!$store_db && !$safe_mode && phpbb_is_writable("{$phpbb_root_path}styles/{$style_row['theme_path']}/theme/stylesheet.css"))
{
$store_db = 1;
$theme_data = $style_row['theme_data'];
@@ -2357,7 +2527,7 @@ parse_css_file = {PARSE_CSS_FILE}
}
else
{
if (!$store_db && !$safe_mode && @is_writable("{$phpbb_root_path}styles/{$style_row['template_path']}/template"))
if (!$store_db && !$safe_mode && phpbb_is_writable("{$phpbb_root_path}styles/{$style_row['template_path']}/template"))
{
$err = $this->store_in_fs('template', $style_row['template_id']);
if ($err)
@@ -2531,13 +2701,21 @@ parse_css_file = {PARSE_CSS_FILE}
// Match CSS imports
$matches = array();
preg_match_all('/@import url\(["\'](.*)["\']\);/i', $stylesheet, $matches);
preg_match_all('/@import url\((["\'])(.*)\1\);/i', $stylesheet, $matches);
// remove commented stylesheets (very simple parser, allows only whitespace
// around an @import statement)
preg_match_all('#/\*\s*@import url\((["\'])(.*)\1\);\s\*/#i', $stylesheet, $commented);
$matches[2] = array_diff($matches[2], $commented[2]);
if (sizeof($matches))
{
foreach ($matches[0] as $idx => $match)
{
$stylesheet = str_replace($match, acp_styles::load_css_file($theme_row['theme_path'], $matches[1][$idx]), $stylesheet);
if (isset($matches[2][$idx]))
{
$stylesheet = str_replace($match, acp_styles::load_css_file($theme_row['theme_path'], $matches[2][$idx]), $stylesheet);
}
}
}
@@ -3728,7 +3906,7 @@ parse_css_file = {PARSE_CSS_FILE}
$store_db = 0;
$error = array();
if (!$safe_mode && @is_writable("{$phpbb_root_path}styles/{$path}/template"))
if (!$safe_mode && phpbb_is_writable("{$phpbb_root_path}styles/{$path}/template"))
{
$sql = 'SELECT *
FROM ' . STYLES_TEMPLATE_DATA_TABLE . "

View File

@@ -37,7 +37,7 @@ class acp_update
$errstr = '';
$errno = 0;
$info = obtain_latest_version_info(request_var('versioncheck_force', false), true);
$info = obtain_latest_version_info(request_var('versioncheck_force', false));
if ($info === false)
{
@@ -51,6 +51,14 @@ class acp_update
$announcement_url = (strpos($announcement_url, '&amp;') === false) ? str_replace('&', '&amp;', $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 . "
@@ -61,12 +69,9 @@ class acp_update
$current_version = (!empty($version_update_from)) ? $version_update_from : $config['version'];
$up_to_date_automatic = (version_compare(str_replace('rc', 'RC', strtolower($current_version)), str_replace('rc', 'RC', strtolower($latest_version)), '<')) ? false : true;
$up_to_date = (version_compare(str_replace('rc', 'RC', strtolower($config['version'])), str_replace('rc', 'RC', strtolower($latest_version)), '<')) ? false : true;
$template->assign_vars(array(
'S_UP_TO_DATE' => $up_to_date,
'S_UP_TO_DATE_AUTO' => $up_to_date_automatic,
'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 . '&amp;versioncheck_force=1'),
@@ -74,8 +79,10 @@ class acp_update
'LATEST_VERSION' => $latest_version,
'CURRENT_VERSION' => $config['version'],
'AUTO_VERSION' => $version_update_from,
'NEXT_FEATURE_VERSION' => $next_feature_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,
));
}
}

View File

@@ -105,7 +105,7 @@ class acp_users
LEFT JOIN ' . SESSIONS_TABLE . ' s ON (s.session_user_id = u.user_id)
WHERE u.user_id = ' . $user_id . '
ORDER BY s.session_time DESC';
$result = $db->sql_query($sql);
$result = $db->sql_query_limit($sql, 1);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@@ -191,24 +191,31 @@ class acp_users
trigger_error($user->lang['CANNOT_REMOVE_YOURSELF'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
if (confirm_box(true))
if ($delete_type)
{
user_delete($delete_type, $user_id, $user_row['username']);
if (confirm_box(true))
{
user_delete($delete_type, $user_id, $user_row['username']);
add_log('admin', 'LOG_USER_DELETED', $user_row['username']);
trigger_error($user->lang['USER_DELETED'] . adm_back_link($this->u_action));
add_log('admin', 'LOG_USER_DELETED', $user_row['username']);
trigger_error($user->lang['USER_DELETED'] . adm_back_link($this->u_action));
}
else
{
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
'u' => $user_id,
'i' => $id,
'mode' => $mode,
'action' => $action,
'update' => true,
'delete' => 1,
'delete_type' => $delete_type))
);
}
}
else
{
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
'u' => $user_id,
'i' => $id,
'mode' => $mode,
'action' => $action,
'update' => true,
'delete' => 1,
'delete_type' => $delete_type))
);
trigger_error($user->lang['NO_MODE'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
}
@@ -224,6 +231,11 @@ class acp_users
trigger_error($user->lang['CANNOT_BAN_YOURSELF'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
if ($user_id == ANONYMOUS)
{
trigger_error($user->lang['CANNOT_BAN_ANONYMOUS'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
if ($user_row['user_type'] == USER_FOUNDER)
{
trigger_error($user->lang['CANNOT_BAN_FOUNDER'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
@@ -307,10 +319,7 @@ class acp_users
$server_url = generate_board_url();
$user_actkey = gen_rand_string(10);
$key_len = 54 - (strlen($server_url));
$key_len = ($key_len > 6) ? $key_len : 6;
$user_actkey = substr($user_actkey, 0, $key_len);
$user_actkey = gen_rand_string(mt_rand(6, 10));
$email_template = ($user_row['user_type'] == USER_NORMAL) ? 'user_reactivate_account' : 'user_resend_inactive';
if ($user_row['user_type'] == USER_NORMAL)
@@ -339,10 +348,7 @@ class acp_users
$messenger->to($user_row['user_email'], $user_row['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'WELCOME_MSG' => htmlspecialchars_decode(sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename'])),
@@ -397,10 +403,7 @@ class acp_users
$messenger->to($user_row['user_email'], $user_row['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->anti_abuse_headers($config, $user);
$messenger->assign_vars(array(
'USERNAME' => htmlspecialchars_decode($user_row['username']))
@@ -809,7 +812,7 @@ class acp_users
// Which updates do we need to do?
$update_username = ($user_row['username'] != $data['username']) ? $data['username'] : false;
$update_password = ($data['new_password'] && !phpbb_check_hash($user_row['user_password'], $data['new_password'])) ? true : false;
$update_password = ($data['new_password'] && !phpbb_check_hash($data['new_password'], $user_row['user_password'])) ? true : false;
$update_email = ($data['email'] != $user_row['user_email']) ? $data['email'] : false;
if (!sizeof($error))
@@ -1115,7 +1118,7 @@ class acp_users
// Grab log data
$log_data = array();
$log_count = 0;
view_log('user', $log_data, $log_count, $config['topics_per_page'], $start, 0, 0, $user_id, $sql_where, $sql_sort);
$start = view_log('user', $log_data, $log_count, $config['topics_per_page'], $start, 0, 0, $user_id, $sql_where, $sql_sort);
$template->assign_vars(array(
'S_FEEDBACK' => true,
@@ -1550,6 +1553,31 @@ class acp_users
WHERE user_id = $user_id";
$db->sql_query($sql);
// Check if user has an active session
if ($user_row['session_id'])
{
// We'll update the session if user_allow_viewonline has changed and the user is a bot
// Or if it's a regular user and the admin set it to hide the session
if ($user_row['user_allow_viewonline'] != $sql_ary['user_allow_viewonline'] && $user_row['user_type'] == USER_IGNORE
|| $user_row['user_allow_viewonline'] && !$sql_ary['user_allow_viewonline'])
{
// We also need to check if the user has the permission to cloak.
$user_auth = new auth();
$user_auth->acl($user_row);
$session_sql_ary = array(
'session_viewonline' => ($user_auth->acl_get('u_hideonline')) ? $sql_ary['user_allow_viewonline'] : true,
);
$sql = 'UPDATE ' . SESSIONS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $session_sql_ary) . "
WHERE session_user_id = $user_id";
$db->sql_query($sql);
unset($user_auth);
}
}
trigger_error($user->lang['USER_PREFS_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
@@ -1664,7 +1692,7 @@ class acp_users
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && phpbb_is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;
if ($submit)
{
@@ -1674,7 +1702,7 @@ class acp_users
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);
}
if (avatar_process_user($error, $user_row))
if (avatar_process_user($error, $user_row, $can_upload))
{
trigger_error($user->lang['USER_AVATAR_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_row['user_id']));
}
@@ -2084,7 +2112,7 @@ class acp_users
LEFT JOIN ' . SESSIONS_TABLE . ' s ON (s.session_user_id = u.user_id)
WHERE u.user_id = ' . $user_id . '
ORDER BY s.session_time DESC';
$result = $db->sql_query($sql);
$result = $db->sql_query_limit($sql, 1);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
}

View File

@@ -95,6 +95,9 @@ class acp_words
trigger_error($user->lang['ENTER_WORD'] . adm_back_link($this->u_action), E_USER_WARNING);
}
// Replace multiple consecutive asterisks with single one as those are not needed
$word = preg_replace('#\*{2,}#', '*', $word);
$sql_ary = array(
'word' => $word,
'replacement' => $replacement

View File

@@ -24,7 +24,7 @@ class acp_board_info
'features' => array('title' => 'ACP_BOARD_FEATURES', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
'avatar' => array('title' => 'ACP_AVATAR_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
'message' => array('title' => 'ACP_MESSAGE_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION', 'ACP_MESSAGES')),
'post' => array('title' => 'ACP_POST_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
'post' => array('title' => 'ACP_POST_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION', 'ACP_MESSAGES')),
'signature' => array('title' => 'ACP_SIGNATURE_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
'feed' => array('title' => 'ACP_FEED_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
'registration' => array('title' => 'ACP_REGISTER_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),

View File

@@ -109,6 +109,7 @@ class auth
*/
function _fill_acl($user_permissions)
{
$seq_cache = array();
$this->acl = array();
$user_permissions = explode("\n", $user_permissions);
@@ -125,8 +126,17 @@ class auth
while ($subseq = substr($seq, $i, 6))
{
if (isset($seq_cache[$subseq]))
{
$converted = $seq_cache[$subseq];
}
else
{
$converted = $seq_cache[$subseq] = str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT);
}
// We put the original bitstring into the acl array
$this->acl[$f] .= str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT);
$this->acl[$f] .= $converted;
$i += 6;
}
}
@@ -339,6 +349,14 @@ class auth
/**
* Get permission listing based on user_id/options/forum_ids
*
* Be careful when using this function with permissions a_, m_, u_ and f_ !
* It may not work correctly. When a user group grants an a_* permission,
* e.g. a_foo, but the user's a_foo permission is set to "Never", then
* the user does not in fact have the a_ permission.
* But the user will still be listed as having the a_ permission.
*
* For more information see: http://tracker.phpbb.com/browse/PHPBB3-10252
*/
function acl_get_list($user_id = false, $opts = false, $forum_id = false)
{
@@ -898,7 +916,7 @@ class auth
$method = 'login_' . $method;
if (function_exists($method))
{
$login = $method($username, $password);
$login = $method($username, $password, $user->ip, $user->browser, $user->forwarded_for);
// If the auth module wants us to create an empty profile do so and then treat the status as LOGIN_SUCCESS
if ($login['status'] == LOGIN_SUCCESS_CREATE_PROFILE)

View File

@@ -23,8 +23,21 @@ if (!defined('IN_PHPBB'))
/**
* Login function
*
* @param string $username
* @param string $password
* @param string $ip IP address the login is taking place from. Used to
* limit the number of login attempts per IP address.
* @param string $browser The user agent used to login
* @param string $forwarded_for X_FORWARDED_FOR header sent with login request
* @return array A associative array of the format
* array(
* 'status' => status constant
* 'error_msg' => string
* 'user_row' => array
* )
*/
function login_db(&$username, &$password)
function login_db($username, $password, $ip = '', $browser = '', $forwarded_for = '')
{
global $db, $config;
@@ -47,22 +60,71 @@ function login_db(&$username, &$password)
);
}
$username_clean = utf8_clean_string($username);
$sql = 'SELECT user_id, username, user_password, user_passchg, user_pass_convert, user_email, user_type, user_login_attempts
FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
WHERE username_clean = '" . $db->sql_escape($username_clean) . "'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (($ip && !$config['ip_login_limit_use_forwarded']) ||
($forwarded_for && $config['ip_login_limit_use_forwarded']))
{
$sql = 'SELECT COUNT(*) AS attempts
FROM ' . LOGIN_ATTEMPT_TABLE . '
WHERE attempt_time > ' . (time() - (int) $config['ip_login_limit_time']);
if ($config['ip_login_limit_use_forwarded'])
{
$sql .= " AND attempt_forwarded_for = '" . $db->sql_escape($forwarded_for) . "'";
}
else
{
$sql .= " AND attempt_ip = '" . $db->sql_escape($ip) . "' ";
}
$result = $db->sql_query($sql);
$attempts = (int) $db->sql_fetchfield('attempts');
$db->sql_freeresult($result);
$attempt_data = array(
'attempt_ip' => $ip,
'attempt_browser' => trim(substr($browser, 0, 149)),
'attempt_forwarded_for' => $forwarded_for,
'attempt_time' => time(),
'user_id' => ($row) ? (int) $row['user_id'] : 0,
'username' => $username,
'username_clean' => $username_clean,
);
$sql = 'INSERT INTO ' . LOGIN_ATTEMPT_TABLE . $db->sql_build_array('INSERT', $attempt_data);
$result = $db->sql_query($sql);
}
else
{
$attempts = 0;
}
if (!$row)
{
if ($config['ip_login_limit_max'] && $attempts >= $config['ip_login_limit_max'])
{
return array(
'status' => LOGIN_ERROR_ATTEMPTS,
'error_msg' => 'LOGIN_ERROR_ATTEMPTS',
'user_row' => array('user_id' => ANONYMOUS),
);
}
return array(
'status' => LOGIN_ERROR_USERNAME,
'error_msg' => 'LOGIN_ERROR_USERNAME',
'user_row' => array('user_id' => ANONYMOUS),
);
}
$show_captcha = $config['max_login_attempts'] && $row['user_login_attempts'] >= $config['max_login_attempts'];
$show_captcha = ($config['max_login_attempts'] && $row['user_login_attempts'] >= $config['max_login_attempts']) ||
($config['ip_login_limit_max'] && $attempts >= $config['ip_login_limit_max']);
// If there are too much login attempts, we need to check for an confirm image
// Every auth module is able to define what to do by itself...
@@ -90,7 +152,7 @@ function login_db(&$username, &$password)
{
$captcha->reset();
}
}
// If the password convert flag is set we need to convert it
@@ -134,7 +196,8 @@ function login_db(&$username, &$password)
// increase login attempt count to make sure this cannot be exploited
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_login_attempts = user_login_attempts + 1
WHERE user_id = ' . $row['user_id'];
WHERE user_id = ' . (int) $row['user_id'] . '
AND user_login_attempts < ' . LOGIN_ATTEMPTS_MAX;
$db->sql_query($sql);
return array(
@@ -164,6 +227,10 @@ function login_db(&$username, &$password)
$row['user_password'] = $hash;
}
$sql = 'DELETE FROM ' . LOGIN_ATTEMPT_TABLE . '
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
if ($row['user_login_attempts'] != 0)
{
// Successful, reset login attempts (the user passed all stages)
@@ -194,7 +261,8 @@ function login_db(&$username, &$password)
// Password incorrect - increase login attempts
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_login_attempts = user_login_attempts + 1
WHERE user_id = ' . $row['user_id'];
WHERE user_id = ' . (int) $row['user_id'] . '
AND user_login_attempts < ' . LOGIN_ATTEMPTS_MAX;
$db->sql_query($sql);
// Give status about wrong password...
@@ -205,4 +273,4 @@ function login_db(&$username, &$password)
);
}
?>
?>

View File

@@ -74,7 +74,7 @@ function init_ldap()
if ($search === false)
{
return $user->lang['LDAP_NO_SERVER_CONNECTION'];
return $user->lang['LDAP_SEARCH_FAILED'];
}
$result = @ldap_get_entries($ldap, $search);
@@ -335,7 +335,7 @@ function acp_ldap(&$new)
</dl>
<dl>
<dt><label for="ldap_password">' . $user->lang['LDAP_PASSWORD'] . ':</label><br /><span>' . $user->lang['LDAP_PASSWORD_EXPLAIN'] . '</span></dt>
<dd><input type="password" id="ldap_password" size="40" name="config[ldap_password]" value="' . $new['ldap_password'] . '" /></dd>
<dd><input type="password" id="ldap_password" size="40" name="config[ldap_password]" value="' . $new['ldap_password'] . '" autocomplete="off" /></dd>
</dl>
';

View File

@@ -584,6 +584,13 @@ class bbcode
$code = str_replace("\t", '&nbsp; &nbsp;', $code);
$code = str_replace(' ', '&nbsp; ', $code);
$code = str_replace(' ', ' &nbsp;', $code);
$code = str_replace("\n ", "\n&nbsp;", $code);
// keep space at the beginning
if (!empty($code) && $code[0] == ' ')
{
$code = '&nbsp;' . substr($code, 1);
}
// remove newline at the beginning
if (!empty($code) && $code[0] == "\n")

View File

@@ -84,15 +84,7 @@ class cache extends acm
$censors = array();
while ($row = $db->sql_fetchrow($result))
{
if ((version_compare(PHP_VERSION, '5.1.0', '>=') || (version_compare(PHP_VERSION, '5.0.0-dev', '<=') && version_compare(PHP_VERSION, '4.4.0', '>='))) && @preg_match('/\p{L}/u', 'a') !== false)
{
$censors['match'][] = '#(?<![\p{Nd}\p{L}_])(' . str_replace('\*', '[\p{Nd}\p{L}_]*?', preg_quote($row['word'], '#')) . ')(?![\p{Nd}\p{L}_])#iu';
}
else
{
$censors['match'][] = '#(?<!\S)(' . str_replace('\*', '\S*?', preg_quote($row['word'], '#')) . ')(?!\S)#iu';
}
$censors['match'][] = get_censor_preg_expression($row['word']);
$censors['replace'][] = $row['replacement'];
}
$db->sql_freeresult($result);
@@ -297,6 +289,7 @@ class cache extends acm
{
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
$sql = 'SELECT user_id, bot_agent, bot_ip
FROM ' . BOTS_TABLE . '
WHERE bot_active = 1

View File

@@ -77,7 +77,7 @@ class captcha
{
$denom = ($code_len - $i);
$denom = max(1.3, $denom);
$offset[$i] = mt_rand(0, (1.5 * $width_avail) / $denom);
$offset[$i] = phpbb_mt_rand(0, (int) round((1.5 * $width_avail) / $denom));
$width_avail -= $offset[$i];
}
@@ -112,7 +112,7 @@ class captcha
$noise_bitmaps = $this->captcha_noise_bg_bitmaps();
for ($i = 0; $i < $code_len; ++$i)
{
$noise[$i] = new char_cube3d($noise_bitmaps, mt_rand(1, count($noise_bitmaps['data'])));
$noise[$i] = new char_cube3d($noise_bitmaps, mt_rand(1, sizeof($noise_bitmaps['data'])));
list($min, $max) = $noise[$i]->range();
//$box = $noise[$i]->dimensions($sizes[$i]);
@@ -1669,32 +1669,32 @@ class captcha
'height' => 15,
'data' => array(
'A' => $chars['A'][mt_rand(0, min(count($chars['A']), $config['captcha_gd_fonts']) -1)],
'B' => $chars['B'][mt_rand(0, min(count($chars['B']), $config['captcha_gd_fonts']) -1)],
'C' => $chars['C'][mt_rand(0, min(count($chars['C']), $config['captcha_gd_fonts']) -1)],
'D' => $chars['D'][mt_rand(0, min(count($chars['D']), $config['captcha_gd_fonts']) -1)],
'E' => $chars['E'][mt_rand(0, min(count($chars['E']), $config['captcha_gd_fonts']) -1)],
'F' => $chars['F'][mt_rand(0, min(count($chars['F']), $config['captcha_gd_fonts']) -1)],
'G' => $chars['G'][mt_rand(0, min(count($chars['G']), $config['captcha_gd_fonts']) -1)],
'H' => $chars['H'][mt_rand(0, min(count($chars['H']), $config['captcha_gd_fonts']) -1)],
'I' => $chars['I'][mt_rand(0, min(count($chars['I']), $config['captcha_gd_fonts']) -1)],
'J' => $chars['J'][mt_rand(0, min(count($chars['J']), $config['captcha_gd_fonts']) -1)],
'K' => $chars['K'][mt_rand(0, min(count($chars['K']), $config['captcha_gd_fonts']) -1)],
'L' => $chars['L'][mt_rand(0, min(count($chars['L']), $config['captcha_gd_fonts']) -1)],
'M' => $chars['M'][mt_rand(0, min(count($chars['M']), $config['captcha_gd_fonts']) -1)],
'N' => $chars['N'][mt_rand(0, min(count($chars['N']), $config['captcha_gd_fonts']) -1)],
'O' => $chars['O'][mt_rand(0, min(count($chars['O']), $config['captcha_gd_fonts']) -1)],
'P' => $chars['P'][mt_rand(0, min(count($chars['P']), $config['captcha_gd_fonts']) -1)],
'Q' => $chars['Q'][mt_rand(0, min(count($chars['Q']), $config['captcha_gd_fonts']) -1)],
'R' => $chars['R'][mt_rand(0, min(count($chars['R']), $config['captcha_gd_fonts']) -1)],
'S' => $chars['S'][mt_rand(0, min(count($chars['S']), $config['captcha_gd_fonts']) -1)],
'T' => $chars['T'][mt_rand(0, min(count($chars['T']), $config['captcha_gd_fonts']) -1)],
'U' => $chars['U'][mt_rand(0, min(count($chars['U']), $config['captcha_gd_fonts']) -1)],
'V' => $chars['V'][mt_rand(0, min(count($chars['V']), $config['captcha_gd_fonts']) -1)],
'W' => $chars['W'][mt_rand(0, min(count($chars['W']), $config['captcha_gd_fonts']) -1)],
'X' => $chars['X'][mt_rand(0, min(count($chars['X']), $config['captcha_gd_fonts']) -1)],
'Y' => $chars['Y'][mt_rand(0, min(count($chars['Y']), $config['captcha_gd_fonts']) -1)],
'Z' => $chars['Z'][mt_rand(0, min(count($chars['Z']), $config['captcha_gd_fonts']) -1)],
'A' => $chars['A'][mt_rand(0, min(sizeof($chars['A']), $config['captcha_gd_fonts']) -1)],
'B' => $chars['B'][mt_rand(0, min(sizeof($chars['B']), $config['captcha_gd_fonts']) -1)],
'C' => $chars['C'][mt_rand(0, min(sizeof($chars['C']), $config['captcha_gd_fonts']) -1)],
'D' => $chars['D'][mt_rand(0, min(sizeof($chars['D']), $config['captcha_gd_fonts']) -1)],
'E' => $chars['E'][mt_rand(0, min(sizeof($chars['E']), $config['captcha_gd_fonts']) -1)],
'F' => $chars['F'][mt_rand(0, min(sizeof($chars['F']), $config['captcha_gd_fonts']) -1)],
'G' => $chars['G'][mt_rand(0, min(sizeof($chars['G']), $config['captcha_gd_fonts']) -1)],
'H' => $chars['H'][mt_rand(0, min(sizeof($chars['H']), $config['captcha_gd_fonts']) -1)],
'I' => $chars['I'][mt_rand(0, min(sizeof($chars['I']), $config['captcha_gd_fonts']) -1)],
'J' => $chars['J'][mt_rand(0, min(sizeof($chars['J']), $config['captcha_gd_fonts']) -1)],
'K' => $chars['K'][mt_rand(0, min(sizeof($chars['K']), $config['captcha_gd_fonts']) -1)],
'L' => $chars['L'][mt_rand(0, min(sizeof($chars['L']), $config['captcha_gd_fonts']) -1)],
'M' => $chars['M'][mt_rand(0, min(sizeof($chars['M']), $config['captcha_gd_fonts']) -1)],
'N' => $chars['N'][mt_rand(0, min(sizeof($chars['N']), $config['captcha_gd_fonts']) -1)],
'O' => $chars['O'][mt_rand(0, min(sizeof($chars['O']), $config['captcha_gd_fonts']) -1)],
'P' => $chars['P'][mt_rand(0, min(sizeof($chars['P']), $config['captcha_gd_fonts']) -1)],
'Q' => $chars['Q'][mt_rand(0, min(sizeof($chars['Q']), $config['captcha_gd_fonts']) -1)],
'R' => $chars['R'][mt_rand(0, min(sizeof($chars['R']), $config['captcha_gd_fonts']) -1)],
'S' => $chars['S'][mt_rand(0, min(sizeof($chars['S']), $config['captcha_gd_fonts']) -1)],
'T' => $chars['T'][mt_rand(0, min(sizeof($chars['T']), $config['captcha_gd_fonts']) -1)],
'U' => $chars['U'][mt_rand(0, min(sizeof($chars['U']), $config['captcha_gd_fonts']) -1)],
'V' => $chars['V'][mt_rand(0, min(sizeof($chars['V']), $config['captcha_gd_fonts']) -1)],
'W' => $chars['W'][mt_rand(0, min(sizeof($chars['W']), $config['captcha_gd_fonts']) -1)],
'X' => $chars['X'][mt_rand(0, min(sizeof($chars['X']), $config['captcha_gd_fonts']) -1)],
'Y' => $chars['Y'][mt_rand(0, min(sizeof($chars['Y']), $config['captcha_gd_fonts']) -1)],
'Z' => $chars['Z'][mt_rand(0, min(sizeof($chars['Z']), $config['captcha_gd_fonts']) -1)],
'1' => array(
array(0,0,0,1,1,0,0,0,0),

View File

@@ -62,8 +62,8 @@ class captcha
'y' => mt_rand(10, 17)
),
'lower_left' => array(
'x' => mt_rand($img_x - 5, $img_x - 45),
'y' => mt_rand($img_y - 0, $img_y - 15)
'x' => mt_rand($img_x - 45, $img_x - 5),
'y' => mt_rand($img_y - 15, $img_y - 0),
),
);

View File

@@ -59,7 +59,7 @@ class phpbb_default_captcha
{
global $user;
$this->code = gen_rand_string(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->seed = hexdec(substr(unique_id(), 4, 10));
// compute $seed % 0x7fffffff
@@ -235,7 +235,7 @@ class phpbb_default_captcha
{
global $db, $user;
$this->code = gen_rand_string(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->confirm_id = md5(unique_id($user->ip));
$this->seed = hexdec(substr(unique_id(), 4, 10));
$this->solved = 0;
@@ -259,7 +259,7 @@ class phpbb_default_captcha
{
global $db, $user;
$this->code = gen_rand_string(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->seed = hexdec(substr(unique_id(), 4, 10));
$this->solved = 0;
// compute $seed % 0x7fffffff
@@ -281,7 +281,7 @@ class phpbb_default_captcha
{
global $db, $user;
$this->code = gen_rand_string(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->code = gen_rand_string_friendly(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));
$this->seed = hexdec(substr(unique_id(), 4, 10));
$this->solved = 0;
// compute $seed % 0x7fffffff

Some files were not shown because too many files have changed in this diff Show More