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

Compare commits

..

2148 Commits

Author SHA1 Message Date
(no author)
22bb74f32f This commit was manufactured by cvs2svn to create tag 'milestone_3'.
git-svn-id: file:///svn/phpbb/tags/milestone_3@5258 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:47:20 +00:00
Meik Sievertsen
45e1aa45c7 dumdidum
git-svn-id: file:///svn/phpbb/trunk@5257 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:47:20 +00:00
Meik Sievertsen
1981196e99 - some bugfixes
git-svn-id: file:///svn/phpbb/trunk@5255 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:39:47 +00:00
Meik Sievertsen
5449c591a9 - changed ucp classes to work with the new module system
- mcp is no longer working, i know.


git-svn-id: file:///svn/phpbb/trunk@5254 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:31:35 +00:00
Meik Sievertsen
95ff1f3b64 - the schema/data changes needed for the new module class
git-svn-id: file:///svn/phpbb/trunk@5253 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:26:04 +00:00
Meik Sievertsen
5082f5eb73 - Pauls (psoTFX) new module class
git-svn-id: file:///svn/phpbb/trunk@5252 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-04 21:24:51 +00:00
Meik Sievertsen
9f6864cd0c okok, maybe assigning a default ordering is not that bad. harhar
git-svn-id: file:///svn/phpbb/trunk@5251 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-03 21:52:56 +00:00
Meik Sievertsen
9439a3f49a blabla
git-svn-id: file:///svn/phpbb/trunk@5250 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-03 15:44:41 +00:00
Meik Sievertsen
ed9bac63e5 fix tiny bug. ;)
git-svn-id: file:///svn/phpbb/trunk@5249 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-03 15:21:00 +00:00
Meik Sievertsen
72e93472b0 damn line endings. :/
git-svn-id: file:///svn/phpbb/trunk@5248 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:51:32 +00:00
Meik Sievertsen
a2bafd86f8 - session changes
git-svn-id: file:///svn/phpbb/trunk@5247 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:47:06 +00:00
Meik Sievertsen
9f8bb469f1 - use the changes. ;)
git-svn-id: file:///svn/phpbb/trunk@5246 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:43:11 +00:00
Meik Sievertsen
90d901057e *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@5245 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:42:04 +00:00
Meik Sievertsen
7aa5aef8a3 - use session_begin
- fix permission presets to be at least usable


git-svn-id: file:///svn/phpbb/trunk@5244 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:25:30 +00:00
Meik Sievertsen
2a75587153 - some additional changes
- fixing pm history bug (quote post)


git-svn-id: file:///svn/phpbb/trunk@5243 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:22:59 +00:00
Meik Sievertsen
1d688c6b8d - add building multi insert to dbal
- fix sql explain in mysql4 layer


git-svn-id: file:///svn/phpbb/trunk@5242 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:18:52 +00:00
Meik Sievertsen
1a18e36684 - add even more bugs to the codebase
- changed submit_pm to carry on the from userdata


git-svn-id: file:///svn/phpbb/trunk@5241 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:17:06 +00:00
Meik Sievertsen
58d146cac6 - move some functions from global functions file to functions_display (those only needed in posting and viewtopic/forum)
git-svn-id: file:///svn/phpbb/trunk@5240 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:15:12 +00:00
Meik Sievertsen
b6e154f494 - re-add constants.php for easier modding
git-svn-id: file:///svn/phpbb/trunk@5239 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 18:12:48 +00:00
Meik Sievertsen
83b43444a2 - some bugfixes
- allow template variables in defines


git-svn-id: file:///svn/phpbb/trunk@5238 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 17:49:16 +00:00
Meik Sievertsen
2aad9c15cc - session changes (this checkin is producing a lot of errors and render the cvs useless. Those following cvs should be able to grasp what to do, others... please wait for other changes being checked in)
git-svn-id: file:///svn/phpbb/trunk@5237 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 16:57:33 +00:00
Meik Sievertsen
f379e089e4 - checking in pauls (psoTFX) search changes (with tiny adjustments from me)
git-svn-id: file:///svn/phpbb/trunk@5236 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-10-02 16:48:17 +00:00
Meik Sievertsen
1224110694 acm_main file for grouping cache-related functions.
git-svn-id: file:///svn/phpbb/trunk@5229 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-25 14:48:11 +00:00
Meik Sievertsen
db5eb3acef - adjusting group functions a little bit
git-svn-id: file:///svn/phpbb/trunk@5228 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-25 14:33:07 +00:00
Meik Sievertsen
b4fb715531 fix bbcode in bbcode problem
git-svn-id: file:///svn/phpbb/trunk@5227 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-25 14:29:05 +00:00
Bart van Bragt
d7b12970d7 Reverted checking. Missed the variable nr of arguments for group_user_add()
git-svn-id: file:///svn/phpbb/trunk@5226 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-24 09:33:12 +00:00
Bart van Bragt
8760367611 Mismatch between expected and sent arguments to group_add_users()
git-svn-id: file:///svn/phpbb/trunk@5223 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-22 21:40:22 +00:00
Bart van Bragt
357f6a725f Some missing config values and one auth setting
git-svn-id: file:///svn/phpbb/trunk@5222 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-21 22:09:18 +00:00
Bart van Bragt
8e0d23487d Use cookie_domain when setting session cookies
git-svn-id: file:///svn/phpbb/trunk@5220 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-21 18:54:40 +00:00
Bart van Bragt
de432e88d1 Logout banned users, they are unable to use the normal logout link
git-svn-id: file:///svn/phpbb/trunk@5219 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-21 12:12:58 +00:00
Bart van Bragt
95a323733f Fix for bug 73, invalid link under PM icon in memberlist/leaders
git-svn-id: file:///svn/phpbb/trunk@5218 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-21 11:50:54 +00:00
Bart van Bragt
8a728e1014 System always showed 'you are banned permanently' even for temporary bans
git-svn-id: file:///svn/phpbb/trunk@5217 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-21 11:07:20 +00:00
Bart van Bragt
d7fe796fd9 Small bug in template, some fields not shown if user posts first message in forum where postcount is not increased
git-svn-id: file:///svn/phpbb/trunk@5216 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-20 19:00:10 +00:00
Bart van Bragt
da6bbc5851 Small bug in template, some fields not shown if user posts first message in forum where postcount is not increased
git-svn-id: file:///svn/phpbb/trunk@5215 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-09-20 18:52:37 +00:00
Meik Sievertsen
269421a22f - fixing some minor bugs...
git-svn-id: file:///svn/phpbb/trunk@5203 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 16:39:46 +00:00
Meik Sievertsen
4b9215bd14 ucp -> groups -> memberships
git-svn-id: file:///svn/phpbb/trunk@5202 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 10:56:46 +00:00
Meik Sievertsen
9d825c0e20 hidden fields adjustments
git-svn-id: file:///svn/phpbb/trunk@5201 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 10:55:30 +00:00
Meik Sievertsen
bcc1eb1c0e - only bugfixes
- use usergroup function to activate users at admin index


git-svn-id: file:///svn/phpbb/trunk@5200 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 10:52:06 +00:00
Meik Sievertsen
f71d1a2a00 - add ability to limit search to groups
git-svn-id: file:///svn/phpbb/trunk@5199 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 10:48:39 +00:00
Meik Sievertsen
1b331f3dd6 no longer needed here. ;)
git-svn-id: file:///svn/phpbb/trunk@5198 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-19 10:37:07 +00:00
Meik Sievertsen
a7459cbe08 - fix some tiny glitches
git-svn-id: file:///svn/phpbb/trunk@5197 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-18 12:58:23 +00:00
Meik Sievertsen
2ffe78b4ac - fixed some bugs in group functions
git-svn-id: file:///svn/phpbb/trunk@5196 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-18 12:50:29 +00:00
Meik Sievertsen
c95fef802f - added function for easily building hidden fields
- extended confirm_box function (ability to use custom urls, ability to use custom confirm message)


git-svn-id: file:///svn/phpbb/trunk@5195 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-18 12:48:39 +00:00
Meik Sievertsen
42126c23ec - fixing annoying queue bug
git-svn-id: file:///svn/phpbb/trunk@5194 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-18 12:44:24 +00:00
Meik Sievertsen
4740e7dece - changed dbal class layout
git-svn-id: file:///svn/phpbb/trunk@5193 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-17 15:57:50 +00:00
Meik Sievertsen
1694af43aa changed name of mssql-odbc file
git-svn-id: file:///svn/phpbb/trunk@5192 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-08-17 14:29:05 +00:00
Meik Sievertsen
80f2e7dd4b do not use php5 function
git-svn-id: file:///svn/phpbb/trunk@5189 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-28 18:16:15 +00:00
Paul S. Owen
54bb90ca60 Does this work any better ... let's see ...
git-svn-id: file:///svn/phpbb/trunk@5188 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-28 11:50:27 +00:00
Paul S. Owen
540ef9d5b6 Minor updates
git-svn-id: file:///svn/phpbb/trunk@5186 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-17 14:51:57 +00:00
Bart van Bragt
7520a51ea6 Simplified the DB switch for adding a user a bit
git-svn-id: file:///svn/phpbb/trunk@5185 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-10 20:38:03 +00:00
Bart van Bragt
6f4dd17d01 the poll tables use the topic_id, not the post_id
git-svn-id: file:///svn/phpbb/trunk@5184 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-10 20:15:01 +00:00
Paul S. Owen
8b7be7c1ec Delete u and k cookies
git-svn-id: file:///svn/phpbb/trunk@5183 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-08 12:29:45 +00:00
Paul S. Owen
352b8536de Tidy up var assignment, cast integers in queries
git-svn-id: file:///svn/phpbb/trunk@5182 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 14:43:58 +00:00
Paul S. Owen
a9c3b672d8 oops, apparently I didn't commit this
git-svn-id: file:///svn/phpbb/trunk@5181 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 11:29:56 +00:00
Paul S. Owen
6f21f3102c Bye bye
git-svn-id: file:///svn/phpbb/trunk@5180 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 11:29:13 +00:00
Paul S. Owen
54e379ffe3 sigh
git-svn-id: file:///svn/phpbb/trunk@5179 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 01:53:34 +00:00
Paul S. Owen
cfa87f2407 Delete login key upon logout ... knew I forgot something from my original code
git-svn-id: file:///svn/phpbb/trunk@5178 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 01:26:23 +00:00
Paul S. Owen
7146a6bc41 Remove use of serialize for session cookie data, no need for it anymore ... at least I can't think of one.
git-svn-id: file:///svn/phpbb/trunk@5177 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-05 01:01:31 +00:00
Paul S. Owen
fad1f39abe Wanted ... someone who can commit updates without screwing up, will pay top dollar.
git-svn-id: file:///svn/phpbb/trunk@5176 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 17:52:21 +00:00
Paul S. Owen
be7442570b Session key implementation.
git-svn-id: file:///svn/phpbb/trunk@5175 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 16:54:34 +00:00
Paul S. Owen
0eae8040e8 It's been a while since I wrote schemas for non-mysql DB's ... so don't be surprised if they are spectacularly incorrect
git-svn-id: file:///svn/phpbb/trunk@5174 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 14:13:43 +00:00
Paul S. Owen
0b814956db blah
git-svn-id: file:///svn/phpbb/trunk@5173 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 12:22:30 +00:00
Paul S. Owen
cde8c382b5 oopsie
git-svn-id: file:///svn/phpbb/trunk@5172 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 12:06:47 +00:00
Paul S. Owen
4775b818c6 Timberrrrrrrr ... added new cron service to tidy expired persistent login keys.
git-svn-id: file:///svn/phpbb/trunk@5171 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 11:53:57 +00:00
Paul S. Owen
6f255e596e Me again ... yep, keep running ... that there sky will be a falling any time now
git-svn-id: file:///svn/phpbb/trunk@5170 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 11:52:02 +00:00
Paul S. Owen
adf49146b3 Blimey! A commit ... what's more, a commit from me ... quick, run for the hills the world must be ending.
git-svn-id: file:///svn/phpbb/trunk@5169 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-04 11:47:38 +00:00
Meik Sievertsen
a9e44e4bdf - checkin fixed viewtopic (just forgot to check it in, been applied to area51 after 2.0.16 release)
git-svn-id: file:///svn/phpbb/trunk@5168 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-07-03 15:11:34 +00:00
Bart van Bragt
a9fed2022c Fixed small profile fields problem
git-svn-id: file:///svn/phpbb/trunk@5163 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-22 21:41:07 +00:00
Bart van Bragt
67113ee028 Fixed a problem with editing bbcode in textfields
git-svn-id: file:///svn/phpbb/trunk@5162 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-16 21:22:28 +00:00
Meik Sievertsen
2e4ea58d28 - view active topics
- seperated search id (int) from search id (string) for security reasons


git-svn-id: file:///svn/phpbb/trunk@5161 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-13 17:51:55 +00:00
Meik Sievertsen
2ca7293a68 - memberlist changes
git-svn-id: file:///svn/phpbb/trunk@5160 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-10 19:07:17 +00:00
Meik Sievertsen
66d2e8c5b6 - sorry for this change paul. :( But it is needed for a memberlist change... hopefully not breaking anything for you. The only change is the check for the ids explicitly set to false to allow ids with "0".
git-svn-id: file:///svn/phpbb/trunk@5159 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-10 19:03:38 +00:00
Meik Sievertsen
38c7e4146f - fixed breaking quote bbcode ([quote])
git-svn-id: file:///svn/phpbb/trunk@5158 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-10 18:59:08 +00:00
Meik Sievertsen
e6469bb0d0 - log removing posts
- fix queue saving if package size is 0
- user memberships (not used atm)


git-svn-id: file:///svn/phpbb/trunk@5157 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-06-10 18:57:21 +00:00
Meik Sievertsen
d24f5d734b some language additions and tiny bugfixes related to the request_var change
git-svn-id: file:///svn/phpbb/trunk@5156 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-31 18:54:00 +00:00
Meik Sievertsen
6482d0e207 - fix two small errors i "introduced" a while back. ;)
git-svn-id: file:///svn/phpbb/trunk@5155 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-30 06:42:49 +00:00
Bart van Bragt
271e9caa8c Fix a problem with Admin Profile (text) Fields and registration
git-svn-id: file:///svn/phpbb/trunk@5154 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-27 21:16:24 +00:00
Bart van Bragt
1451204e3f Fixed small i18n related error in report.php
git-svn-id: file:///svn/phpbb/trunk@5153 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-24 10:48:38 +00:00
Meik Sievertsen
918914926b - request_var updates
- added group selection to pm filter
- fixed activation/deletion of inactive user accounts in admin index
- fixed some color swatch bugs


git-svn-id: file:///svn/phpbb/trunk@5152 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-15 20:17:35 +00:00
Meik Sievertsen
4c207e5510 - fixed url parsing ([] breakage)
git-svn-id: file:///svn/phpbb/trunk@5151 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-15 20:08:05 +00:00
Meik Sievertsen
4983385f4e - fix issue with malicious protocols
- check input on every hardcoded bbcode/check for empty content


git-svn-id: file:///svn/phpbb/trunk@5148 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-10 17:03:56 +00:00
Meik Sievertsen
0b8944c28d - check for empty uploaded file
git-svn-id: file:///svn/phpbb/trunk@5147 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-10 17:00:41 +00:00
Bart van Bragt
5b650f2c52 Ratings table is no longer available in this version
git-svn-id: file:///svn/phpbb/trunk@5146 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-09 09:03:53 +00:00
Bart van Bragt
2f68ac78c6 Changed the default charset from -15 to -1. Make sure that you set 'post_encoding' in the posts table and 'message_encoding' in the private messages table to 'iso-8859-1' after this update.
git-svn-id: file:///svn/phpbb/trunk@5144 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-07 14:19:14 +00:00
Meik Sievertsen
81c7144f68 - updated oracle schema/db files
- updated sqlite schema/db files


git-svn-id: file:///svn/phpbb/trunk@5141 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-05 17:01:07 +00:00
Meik Sievertsen
b576d6af0a - some cross-db related changes
- putting active bots array into cache


git-svn-id: file:///svn/phpbb/trunk@5140 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-05 16:55:05 +00:00
Meik Sievertsen
16e50db4ba - some private message fixes
git-svn-id: file:///svn/phpbb/trunk@5139 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-05-01 13:15:49 +00:00
Meik Sievertsen
be3bdf61d7 - some fixes here and there
git-svn-id: file:///svn/phpbb/trunk@5138 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:36:33 +00:00
Meik Sievertsen
75012dec17 - related to the updated topic tracking code
git-svn-id: file:///svn/phpbb/trunk@5137 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:34:09 +00:00
Meik Sievertsen
15c0535cbc - new queue invocation method
git-svn-id: file:///svn/phpbb/trunk@5136 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:28:07 +00:00
Meik Sievertsen
0dec4135c5 - test slightly modified topic tracking code
- some bugfixes


git-svn-id: file:///svn/phpbb/trunk@5135 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:24:13 +00:00
Meik Sievertsen
7eee98f316 - topic/forum icon img additions
git-svn-id: file:///svn/phpbb/trunk@5134 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:16:21 +00:00
Meik Sievertsen
7c8ed09c9a - changes to /acm
git-svn-id: file:///svn/phpbb/trunk@5133 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:14:08 +00:00
Meik Sievertsen
f6df4a9993 - fix smiley emotion
- some language pack updates
- profile field updates


git-svn-id: file:///svn/phpbb/trunk@5132 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:12:21 +00:00
Meik Sievertsen
20fda3315f - schema changes
git-svn-id: file:///svn/phpbb/trunk@5131 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-30 14:08:14 +00:00
Meik Sievertsen
d1f3349f7b - dbal changes
git-svn-id: file:///svn/phpbb/trunk@5130 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-22 17:44:36 +00:00
Meik Sievertsen
f0d7d05888 forgot to commit this for the img change
git-svn-id: file:///svn/phpbb/trunk@5129 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-21 19:27:03 +00:00
Meik Sievertsen
7b16107513 tiny fixes
git-svn-id: file:///svn/phpbb/trunk@5128 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-20 20:47:03 +00:00
Meik Sievertsen
3dd6b0ddc3 - fix [list] preview and list parsing in general (no [ and ] breaking)
git-svn-id: file:///svn/phpbb/trunk@5127 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-20 20:36:10 +00:00
Meik Sievertsen
8e50cf4185 - add ability to grab single image params from user::img
git-svn-id: file:///svn/phpbb/trunk@5126 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-20 19:59:59 +00:00
Meik Sievertsen
f134530566 - re-added emotion column. ;)
- postgresql schema fix


git-svn-id: file:///svn/phpbb/trunk@5125 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-20 18:04:43 +00:00
Bart van Bragt
a78e6a15af Problem with the permission caching that only showed in some race condtion
git-svn-id: file:///svn/phpbb/trunk@5122 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-17 09:30:22 +00:00
Meik Sievertsen
d92380657d - made path information available to template (T_)
- eased topic/post icon in templates (removing hardcoded img)
- added S_FIRST_ROW and S_LAST_ROW to template engine


git-svn-id: file:///svn/phpbb/trunk@5118 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-11 21:32:22 +00:00
Meik Sievertsen
557d09bb72 - added updated coding guidelines
- introduced is_registered and is_bot flags for correct determinition of guest/registered/bot users
- changed bot code to act on useragent || ip


git-svn-id: file:///svn/phpbb/trunk@5117 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-10 18:07:12 +00:00
Meik Sievertsen
c947835317 - fixed custom profile field get/store
- changed tz lang array to hold more descriptive timezones (no more tz+-13, dst is a seperate option)
- fixed bugs after jabber queue processing (data being escaped differently)


git-svn-id: file:///svn/phpbb/trunk@5116 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-10 11:21:01 +00:00
Meik Sievertsen
a01705c7d0 forgot one file
git-svn-id: file:///svn/phpbb/trunk@5115 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-09 12:26:57 +00:00
Meik Sievertsen
fc32df0358 - Documentation related changes
- added resend activation email dialog
- fixed issue in session code
- log failed/successful admin re-authentication/login
- fixed simple forum dropdown box (used in mcp and posting)


git-svn-id: file:///svn/phpbb/trunk@5114 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-09 12:26:45 +00:00
Meik Sievertsen
0ba3f620d4 say hello to our little friends, we love smilies.
git-svn-id: file:///svn/phpbb/trunk@5113 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-07 16:51:46 +00:00
Meik Sievertsen
8bc19d573b say goodbye. We do not like smiles.
git-svn-id: file:///svn/phpbb/trunk@5112 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-04-07 16:49:27 +00:00
Meik Sievertsen
df2c64f8ea new file upload class handling all file uploads.
git-svn-id: file:///svn/phpbb/trunk@5110 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-03-21 23:12:41 +00:00
Meik Sievertsen
e4fe2d853d - and my second attempt
git-svn-id: file:///svn/phpbb/trunk@5109 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-03-21 23:10:11 +00:00
Meik Sievertsen
a4e51c9699 - first try to break things...
git-svn-id: file:///svn/phpbb/trunk@5108 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-03-21 22:43:07 +00:00
Bart van Bragt
68b7397da8 It's really hard to get a commit right the first time. Really\! It is\!
git-svn-id: file:///svn/phpbb/trunk@5105 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-03-17 23:34:00 +00:00
Bart van Bragt
a6d2d210db Show a useful error message if a language file is missing
git-svn-id: file:///svn/phpbb/trunk@5104 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-03-17 22:41:20 +00:00
Meik Sievertsen
4269b318a2 change viewonline page slightly.
Mental Note: Step away from using in_array in conjunction with huge arrays (and within a loop), might get slow. ;)


git-svn-id: file:///svn/phpbb/trunk@5091 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-02-10 20:19:48 +00:00
Bart van Bragt
9841f6145c Missing UCP language string, some small activation issues on adm/index.php
git-svn-id: file:///svn/phpbb/trunk@5090 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-02-02 13:14:46 +00:00
Meik Sievertsen
57a9f3f8db let composing pms work again. :)
git-svn-id: file:///svn/phpbb/trunk@5089 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-30 17:26:56 +00:00
Meik Sievertsen
0aacc24526 fix last_post_information for moderated topics
git-svn-id: file:///svn/phpbb/trunk@5088 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-29 14:46:16 +00:00
Bart van Bragt
261e79c920 Fixed dotted topics on reply
git-svn-id: file:///svn/phpbb/trunk@5087 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-29 13:33:30 +00:00
Meik Sievertsen
9c2cde7dfd put user into appropiate group after activating his account
git-svn-id: file:///svn/phpbb/trunk@5086 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-29 11:29:35 +00:00
Meik Sievertsen
da674eae0c - some additions
- working with safe mode enabled too


git-svn-id: file:///svn/phpbb/trunk@5085 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-28 22:56:16 +00:00
Bart van Bragt
e15083f451 Only send PM notification if the user wants to receive one
git-svn-id: file:///svn/phpbb/trunk@5084 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-28 11:38:16 +00:00
Meik Sievertsen
b57ccb8cb9 fix admin_session "bug"
git-svn-id: file:///svn/phpbb/trunk@5083 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-27 18:59:38 +00:00
Meik Sievertsen
7253ee19ca - fix serious bug (not updating topic/post count), i do not know why this slipped through and no one noticed... :) Maybe only i, lately i was performing very badly, had a few flaws, need to update myself to a stable version...
git-svn-id: file:///svn/phpbb/trunk@5082 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-27 18:54:20 +00:00
Meik Sievertsen
b26f910eb1 - sticky bug fix
git-svn-id: file:///svn/phpbb/trunk@5081 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-27 18:36:57 +00:00
Bart van Bragt
89b5c490ef Fixed some issues with avatars
git-svn-id: file:///svn/phpbb/trunk@5080 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-27 14:10:31 +00:00
Paul S. Owen
8527310272 I'ml unwell, give me a break
git-svn-id: file:///svn/phpbb/trunk@5079 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-26 22:11:41 +00:00
Paul S. Owen
3f88d08672 Display poll results after voting even if you can change said vote
git-svn-id: file:///svn/phpbb/trunk@5078 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-26 13:37:29 +00:00
Bart van Bragt
c8b0cdc0e8 Fixed small bug related to email sending
git-svn-id: file:///svn/phpbb/trunk@5077 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-26 10:42:34 +00:00
Bart van Bragt
0a1b040588 BBCode enabled profile fields, removed field_name from profile fields, fixed some uninitialised variable issues, some small conversion issues
git-svn-id: file:///svn/phpbb/trunk@5076 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-24 13:14:31 +00:00
Meik Sievertsen
61fbde5a72 here we go, a new admin file, only first draft.
git-svn-id: file:///svn/phpbb/trunk@5075 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-23 23:07:26 +00:00
Meik Sievertsen
1613c37d91 - change registration page language on-the-fly
- added download function to functions_compress as well as tiny bugfixes
- added local_name and author to iso.txt file


git-svn-id: file:///svn/phpbb/trunk@5074 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-23 23:02:10 +00:00
Meik Sievertsen
055aef5003 damn
git-svn-id: file:///svn/phpbb/trunk@5073 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-22 12:24:33 +00:00
Meik Sievertsen
4e7d5e88c6 tiny addition
git-svn-id: file:///svn/phpbb/trunk@5072 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-22 12:07:32 +00:00
Meik Sievertsen
e4be0ca799 - removed unnecessary pm options
- added one option to clearly define email visibility


git-svn-id: file:///svn/phpbb/trunk@5071 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-21 19:20:26 +00:00
Meik Sievertsen
1438067953 - fix sql error (mysql4.1)
git-svn-id: file:///svn/phpbb/trunk@5070 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-21 09:48:46 +00:00
Meik Sievertsen
f71dae3365 - hrm
git-svn-id: file:///svn/phpbb/trunk@5069 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-21 09:17:16 +00:00
Meik Sievertsen
9c1a4bdac1 - bugfixes
- default sort options for posts too
- adjusted format_date to remove the (time intensive) preg_ calls
- temporary style.php code.


git-svn-id: file:///svn/phpbb/trunk@5068 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-20 20:57:45 +00:00
Meik Sievertsen
a7ef13c639 - search_array be mediumtext
git-svn-id: file:///svn/phpbb/trunk@5067 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-19 10:01:35 +00:00
Meik Sievertsen
20d7a22615 - do not add post to queue (if moderated forum) if posting user is able to approve posts.
git-svn-id: file:///svn/phpbb/trunk@5066 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-16 12:09:43 +00:00
Meik Sievertsen
e41a6ecceb - fix bugs in mysql4 layer
git-svn-id: file:///svn/phpbb/trunk@5065 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-16 11:39:49 +00:00
Meik Sievertsen
5c680ea93f - remove group informations from session queries
git-svn-id: file:///svn/phpbb/trunk@5064 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-15 18:50:22 +00:00
Meik Sievertsen
f68771d64c - bugfixes
- do not hardcode url bbcode tag (please change the bitfield accordingly - see schema file!)


git-svn-id: file:///svn/phpbb/trunk@5063 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-15 18:49:54 +00:00
Paul S. Owen
2e4ae506a6 Just a precaution
git-svn-id: file:///svn/phpbb/trunk@5062 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 23:36:56 +00:00
Paul S. Owen
c68949ed37 oopsie, forgot this
git-svn-id: file:///svn/phpbb/trunk@5061 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 23:35:40 +00:00
Paul S. Owen
c6e4143739 These aren't the search files you're looking for ... I can go about my business ... move along ...
git-svn-id: file:///svn/phpbb/trunk@5060 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 22:30:42 +00:00
Paul S. Owen
14e010cd53 Censor topic name, signature, occupation, interests and location
git-svn-id: file:///svn/phpbb/trunk@5059 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 22:25:40 +00:00
Paul S. Owen
5f37f2758a Fix profile msn contact link
git-svn-id: file:///svn/phpbb/trunk@5058 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 16:56:00 +00:00
Paul S. Owen
19438e7001 Fix topic count display for subfora
git-svn-id: file:///svn/phpbb/trunk@5057 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-13 15:31:11 +00:00
Paul S. Owen
676ca63ef0 Some uncommitted till now changes
git-svn-id: file:///svn/phpbb/trunk@5056 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-12 18:46:48 +00:00
Bart van Bragt
0b91fffe8b Fixed small PM issue in header
git-svn-id: file:///svn/phpbb/trunk@5055 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-11 20:58:48 +00:00
Meik Sievertsen
17aeca1cb5 - make file available in gallery avatar_column
git-svn-id: file:///svn/phpbb/trunk@5054 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-10 19:37:14 +00:00
Meik Sievertsen
04f91c3ee2 this should eliminate most problems with statements not interpreted but valid. We really do not use/need multiline conditionals. ;)
git-svn-id: file:///svn/phpbb/trunk@5053 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-10 07:14:02 +00:00
Meik Sievertsen
3de2acb3df - this should work... he says
git-svn-id: file:///svn/phpbb/trunk@5052 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-09 20:10:26 +00:00
Meik Sievertsen
e5ae182a38 - interbase/firebird 1.5+ support (still needs some tweaking)
git-svn-id: file:///svn/phpbb/trunk@5051 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-09 20:01:20 +00:00
Paul S. Owen
fdac7fa800 No support for MS Access in the next major release - sorry guys, it's really not meant for use with multiple concurrent users anyway
git-svn-id: file:///svn/phpbb/trunk@5050 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-09 15:01:57 +00:00
Meik Sievertsen
b7ac18d9f9 - postgresql schema, NOT TESTED
git-svn-id: file:///svn/phpbb/trunk@5049 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-08 12:28:10 +00:00
Meik Sievertsen
7a1b178fe6 - merged getting of unread pm count function to get_folder function
- made folder usable within the template (especially custom folder)


git-svn-id: file:///svn/phpbb/trunk@5048 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-06 23:03:08 +00:00
Meik Sievertsen
b66f68a779 - small change in text size. ;)
git-svn-id: file:///svn/phpbb/trunk@5047 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-05 18:18:58 +00:00
Meik Sievertsen
ccde3b3e41 - split long urls fix (& into &)
git-svn-id: file:///svn/phpbb/trunk@5046 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-05 06:35:44 +00:00
Meik Sievertsen
d6fa1319e5 - mssql related changes
- only added NOT NULL text columns to schema_data, no updates here. ;)


git-svn-id: file:///svn/phpbb/trunk@5045 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-04 22:07:53 +00:00
Meik Sievertsen
c73bc2314c - not tested mssql schema (should be mssql 7 compatible)
git-svn-id: file:///svn/phpbb/trunk@5044 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-04 11:47:42 +00:00
Meik Sievertsen
f3659f1d9d - admin user has a post count of 1
git-svn-id: file:///svn/phpbb/trunk@5043 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:52:12 +00:00
Meik Sievertsen
16d41b20d8 - mysql 4.1.x support (mysqli extension)
git-svn-id: file:///svn/phpbb/trunk@5042 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:50:07 +00:00
Meik Sievertsen
cf1d36aa77 - check for zero user_posts
git-svn-id: file:///svn/phpbb/trunk@5041 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:12:56 +00:00
Meik Sievertsen
52f17c49d7 - make use of new get_supported_image_types format
- added mysql 4.1.x support for database size


git-svn-id: file:///svn/phpbb/trunk@5040 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:12:14 +00:00
Meik Sievertsen
9c4b9d9dae - added ability to grab supported gd formats
git-svn-id: file:///svn/phpbb/trunk@5039 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:08:07 +00:00
Meik Sievertsen
a082635b76 ...see if i am able to break the cookie tracking system this time. :D
- made some session code updates
- added new acl function (might be helpful later)


git-svn-id: file:///svn/phpbb/trunk@5038 89ea8834-ac86-4346-8a33-228a782c2dd0
2005-01-02 19:06:45 +00:00
Meik Sievertsen
cf54570f6c - fixed [code=php]
- optimized db/mysql.php a little bit


git-svn-id: file:///svn/phpbb/trunk@5037 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-31 13:58:41 +00:00
Paul S. Owen
1e334fca0e Remove version information from display
git-svn-id: file:///svn/phpbb/trunk@5036 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-22 02:06:42 +00:00
Meik Sievertsen
5ac4556ef1 - some fixes/changes
git-svn-id: file:///svn/phpbb/trunk@5035 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-19 17:59:15 +00:00
Meik Sievertsen
3c6c673476 fix highlight issue in 2.1
git-svn-id: file:///svn/phpbb/trunk@5034 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-18 16:42:21 +00:00
Meik Sievertsen
40880e7705 - removed custom code. ;)
- fixed display of global, unapproved topics in mcp front (still a lot of bugs regarding global announcements)


git-svn-id: file:///svn/phpbb/trunk@5033 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-15 18:30:50 +00:00
Meik Sievertsen
20d18e1a9f - fix attachment mod errors
- make upload path consistent with all other 2.2 path settings
- fix "post title wrong after split" bug


git-svn-id: file:///svn/phpbb/trunk@5032 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-12-12 14:07:02 +00:00
Paul S. Owen
af82f66658 Add warning notice
git-svn-id: file:///svn/phpbb/trunk@5031 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-30 11:05:23 +00:00
Bart van Bragt
b66e8ee627 Tiny fix for ImageMagick detection on windows
git-svn-id: file:///svn/phpbb/trunk@5030 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-25 21:52:47 +00:00
Meik Sievertsen
d4d1307e15 - letting urls work again, fixing [code] breakage on urls, corrected magic_url to be able to parse urls at the beginning/end of bbcode blocks
- fixed "edited by" message.


git-svn-id: file:///svn/phpbb/trunk@5027 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-14 17:12:07 +00:00
Bart van Bragt
d62c5a6fcd Some small touchups
git-svn-id: file:///svn/phpbb/trunk@5026 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-10 14:15:16 +00:00
Meik Sievertsen
e9eda1bd3e *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@5025 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-07 12:38:04 +00:00
Meik Sievertsen
cf465cda3f - minor fixes
git-svn-id: file:///svn/phpbb/trunk@5024 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:24:34 +00:00
Meik Sievertsen
541a049725 - a bunch of updates, most of them bbcode related
git-svn-id: file:///svn/phpbb/trunk@5023 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:22:04 +00:00
Meik Sievertsen
836771cfb8 - adding recalc_btree (not used atm)
git-svn-id: file:///svn/phpbb/trunk@5022 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:11:47 +00:00
Meik Sievertsen
87d4e80a77 - script to add missing permissions
git-svn-id: file:///svn/phpbb/trunk@5021 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:08:04 +00:00
Meik Sievertsen
df106e455b - signature controls + new permission
git-svn-id: file:///svn/phpbb/trunk@5020 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:06:27 +00:00
Meik Sievertsen
729fe8f13b - lang updates
git-svn-id: file:///svn/phpbb/trunk@5019 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-06 14:04:55 +00:00
Bart van Bragt
ea0b1ec23c Damn EOL, damn vim :S
git-svn-id: file:///svn/phpbb/trunk@5018 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-01 12:43:41 +00:00
Bart van Bragt
fef9854c59 Fixed small problem with finding Imagemagick
git-svn-id: file:///svn/phpbb/trunk@5017 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-11-01 12:26:29 +00:00
Paul S. Owen
4a6cefcb15 Hello everyone! My name is functions_module, happy to meet you ... no humping please
git-svn-id: file:///svn/phpbb/trunk@5016 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-31 13:26:38 +00:00
Meik Sievertsen
4e86987ee3 language updates
git-svn-id: file:///svn/phpbb/trunk@5015 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:18:29 +00:00
Meik Sievertsen
880545561b template updates
git-svn-id: file:///svn/phpbb/trunk@5014 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:15:11 +00:00
Meik Sievertsen
978d58e73d - new function + a few fixes suggested by cyberalien
git-svn-id: file:///svn/phpbb/trunk@5013 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:11:58 +00:00
Meik Sievertsen
c987a54bb0 more ucp updates
git-svn-id: file:///svn/phpbb/trunk@5012 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:07:52 +00:00
Meik Sievertsen
34a954eaf1 fix subject bug
git-svn-id: file:///svn/phpbb/trunk@5011 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:04:44 +00:00
Meik Sievertsen
cb3424716a - only small fixes to the memberlist
git-svn-id: file:///svn/phpbb/trunk@5010 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:02:41 +00:00
Meik Sievertsen
4683e23427 - fix stopword handling for searches in search results
git-svn-id: file:///svn/phpbb/trunk@5009 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-30 17:01:27 +00:00
Bart van Bragt
1a432006e3 Fixing up my "remove DEFAULT '0'" mess and fixing the real problem (a DEFAULT combined with auto_increment).
git-svn-id: file:///svn/phpbb/trunk@5008 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-29 10:45:51 +00:00
Bart van Bragt
f1bcefcaa8 Removed "DEFAULT '0'" for INTs because of problems with installation on Windows. MySQL defaults to 0 anyway for integers.
git-svn-id: file:///svn/phpbb/trunk@5007 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-28 13:41:37 +00:00
Bart van Bragt
c5e40db2a0 Removed duplicate declaration of build_cfg_template()
git-svn-id: file:///svn/phpbb/trunk@5006 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-21 13:15:01 +00:00
Meik Sievertsen
e5b8ff9404 /me destroyed posting messages completly, now operating normal again. :) (... hopefully, never trust a dev)
git-svn-id: file:///svn/phpbb/trunk@5005 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-21 10:04:57 +00:00
Meik Sievertsen
bb275f269d - merge search results
git-svn-id: file:///svn/phpbb/trunk@5004 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-19 19:28:32 +00:00
Meik Sievertsen
c091164d7e - search updates
git-svn-id: file:///svn/phpbb/trunk@5003 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-19 19:26:58 +00:00
Meik Sievertsen
028c05a9a6 - fix $user->img (once assigned alt/title tag not able to be overwritten because of static variable)
git-svn-id: file:///svn/phpbb/trunk@5002 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-13 20:41:55 +00:00
Meik Sievertsen
c941f666cf - ucp register/remind/activate fixes mostly regarding account activation
- general ucp fixing (profile and ucp_main)
- created three new functions (return correct topic author string, generate topic related pagination and get topic type/status...). These general bits are used on several pages (subscribed topics, bookmarks, viewforum).
- config basic schema fix
- commented out inline fix for unread topic tracking in viewforum, instead tried another method (hopefully working as well)


git-svn-id: file:///svn/phpbb/trunk@5001 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-13 19:30:02 +00:00
Meik Sievertsen
4804c05bca language updates
git-svn-id: file:///svn/phpbb/trunk@5000 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-13 11:34:34 +00:00
Meik Sievertsen
01d79f2200 - reinemachefrau
git-svn-id: file:///svn/phpbb/trunk@4999 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-08 11:29:36 +00:00
Meik Sievertsen
2fcb764f3e - more pm updates
git-svn-id: file:///svn/phpbb/trunk@4998 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-08 11:13:01 +00:00
Meik Sievertsen
3f85d01341 - fixed move_pm and delete_pm
git-svn-id: file:///svn/phpbb/trunk@4997 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-08 11:04:18 +00:00
Meik Sievertsen
2ac2d296e0 - cur_page no longer in use
- fix confirm box (since it used cur_page) :)


git-svn-id: file:///svn/phpbb/trunk@4996 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-08 11:01:30 +00:00
Meik Sievertsen
6fe3f0e7d4 - load_moderators taken into account at index.php
- added S_UNREAD_TOPIC to viewforum
- changed S_UNREAD to S_UNREAD_POST in viewtopic


git-svn-id: file:///svn/phpbb/trunk@4995 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-08 10:59:23 +00:00
Meik Sievertsen
a50b38c277 set correct dynamic config field if config name not present
git-svn-id: file:///svn/phpbb/trunk@4994 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-06 12:05:18 +00:00
Meik Sievertsen
cd7e18e9f2 - search indexing fix
git-svn-id: file:///svn/phpbb/trunk@4993 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-06 12:04:29 +00:00
Meik Sievertsen
b2d88fa157 - fix pm date display and attachments in pms
git-svn-id: file:///svn/phpbb/trunk@4992 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-06 12:01:14 +00:00
Paul S. Owen
f66a06e947 Remove globalsearch action, no need
git-svn-id: file:///svn/phpbb/trunk@4991 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-02 12:20:05 +00:00
Paul S. Owen
5b5a089ab6 Global search action
git-svn-id: file:///svn/phpbb/trunk@4990 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-10-01 11:27:14 +00:00
Meik Sievertsen
bca152dada - fixing ongoing "topic/post icons bug"
git-svn-id: file:///svn/phpbb/trunk@4989 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-28 17:46:57 +00:00
Meik Sievertsen
857670f522 now it's clear why install isn't working. ;)
git-svn-id: file:///svn/phpbb/trunk@4988 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-26 13:50:08 +00:00
Meik Sievertsen
310edb4eb8 small update only fixing two obvious bugs
git-svn-id: file:///svn/phpbb/trunk@4987 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-19 20:40:20 +00:00
Meik Sievertsen
8906e07d41 - extensions_allowed changed a bit.
git-svn-id: file:///svn/phpbb/trunk@4986 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-17 09:11:48 +00:00
Meik Sievertsen
f8c8d23a72 damn line endings
git-svn-id: file:///svn/phpbb/trunk@4985 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-16 21:49:24 +00:00
Meik Sievertsen
2fa463cdeb - more updates, mostly bugfixes to the bbcode parser
- changed current_user in sessions (please review)
- give more flexibility to style authors in regard to the pagination elements
- profile fields updates (included a sample constuct into viewtopic_body.html - have to be documented extensivly)
- code optimizations (use of strpos, sizeof, loops not iterating functions on every call, memory savings...)
- and last but not least --- hopefully not introduced more bugs than healthy (*cough*)


git-svn-id: file:///svn/phpbb/trunk@4984 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-16 18:33:22 +00:00
Meik Sievertsen
d80f8d577e - print memory usage if available
git-svn-id: file:///svn/phpbb/trunk@4983 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-06 06:23:37 +00:00
Meik Sievertsen
acf25b39a5 forgot to commit
git-svn-id: file:///svn/phpbb/trunk@4982 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-05 15:50:51 +00:00
Meik Sievertsen
e593bcf3d7 - re-enable polls (user is now able to decide if users are able to change votes if this feature is enabled within the given forum)
git-svn-id: file:///svn/phpbb/trunk@4981 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-05 15:45:50 +00:00
Meik Sievertsen
76f9c1bdad dumdidumdidum
git-svn-id: file:///svn/phpbb/trunk@4980 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-05 09:59:56 +00:00
Meik Sievertsen
e3eaeef0f7 lets pm working again.
git-svn-id: file:///svn/phpbb/trunk@4979 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-05 09:54:48 +00:00
Meik Sievertsen
57b188b7af my turn to break the forum (and at least pm's are no longer working - will not last long). HARRRR
git-svn-id: file:///svn/phpbb/trunk@4978 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-04 19:32:23 +00:00
Paul S. Owen
68d73caefc oopsie, session ip was missing
git-svn-id: file:///svn/phpbb/trunk@4977 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-02 20:54:09 +00:00
Meik Sievertsen
ca74baf476 - PM parameter for re-usage. ;)
git-svn-id: file:///svn/phpbb/trunk@4976 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 19:29:02 +00:00
Paul S. Owen
efebb3b9b9 widdle
git-svn-id: file:///svn/phpbb/trunk@4975 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 17:26:28 +00:00
Paul S. Owen
47fbaa31fe I will not swear, I will not swear ... I will not ... oh f**k it
git-svn-id: file:///svn/phpbb/trunk@4974 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 16:23:20 +00:00
Paul S. Owen
0f4ae68276 Danger Wil Robinson Danger! Paul is commiting files! Danger
git-svn-id: file:///svn/phpbb/trunk@4973 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 16:09:55 +00:00
Paul S. Owen
f84ee572c3 Danger Wil Robinson Danger! Paul is commiting files! Danger
git-svn-id: file:///svn/phpbb/trunk@4972 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 15:55:41 +00:00
Paul S. Owen
33d0903698 This is a mass commit ... expect trouble! Changes made here are primarily to how login is handled, schema changes necessary!
git-svn-id: file:///svn/phpbb/trunk@4971 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 15:53:27 +00:00
Paul S. Owen
070cbefa46 This is a mass commit ... expect trouble! Changes made here are primarily to how login is handled, schema changes necessary!
git-svn-id: file:///svn/phpbb/trunk@4970 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 15:47:46 +00:00
Meik Sievertsen
3c8e36b458 - now notification redirection working... ?!
git-svn-id: file:///svn/phpbb/trunk@4969 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 08:42:12 +00:00
Meik Sievertsen
ec5521438e - re-enable post icons (sorry for this, thought we would only support topic icons. :D) - fixed ordering to let the post icon_id be the primary selection
git-svn-id: file:///svn/phpbb/trunk@4968 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-09-01 08:40:54 +00:00
Meik Sievertsen
2234fd908f - small fix for typo
git-svn-id: file:///svn/phpbb/trunk@4967 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-22 13:23:32 +00:00
Meik Sievertsen
02ce770990 - user notes/feedback in post_details
git-svn-id: file:///svn/phpbb/trunk@4966 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-22 13:16:00 +00:00
Meik Sievertsen
946af346a1 - added S_FIRST_UNREAD and S_UNREAD
- removed U_POST_ID


git-svn-id: file:///svn/phpbb/trunk@4965 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-22 13:10:30 +00:00
Meik Sievertsen
101f2c95b9 - remove avatar class
- added S_FIRST_UNREAD and S_UNREAD
- removed U_POST_ID


git-svn-id: file:///svn/phpbb/trunk@4964 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-22 13:09:44 +00:00
Meik Sievertsen
c946266fa3 user_colour
git-svn-id: file:///svn/phpbb/trunk@4963 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-17 17:40:48 +00:00
Meik Sievertsen
2706ce6534 - fix huge memory hog. :) (how dumb i was... hmm...)
git-svn-id: file:///svn/phpbb/trunk@4962 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-15 12:06:05 +00:00
Meik Sievertsen
5f8dc3ca0e - made message parser more clear
- changed smilie processing again (let's see which bugs pop up here)
- fixed url processing, you know this broken links... ;) see important note (maybe the other devs can help here)
- more control over processing html, emoticons and magic urls (if used for other purposes)
- unsetting the class after usage is preferred (to free the memory used)


git-svn-id: file:///svn/phpbb/trunk@4961 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-14 18:29:10 +00:00
Meik Sievertsen
4a7ee1e990 - today and yesterday (i know you had this locally added ;))
git-svn-id: file:///svn/phpbb/trunk@4960 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 19:23:42 +00:00
Meik Sievertsen
51a1e1433b - [mcp] let quickmod work in topic_view
- more logical placement of load/save buttons in posting


git-svn-id: file:///svn/phpbb/trunk@4959 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 19:19:42 +00:00
Meik Sievertsen
07bc2e0231 - removing karma
git-svn-id: file:///svn/phpbb/trunk@4958 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 19:18:00 +00:00
Meik Sievertsen
5dcc0a85f8 - fixing some issues with the confirm screen - merging our (the devs) approaches (more fail-safe now)
- fixing some small issues...


git-svn-id: file:///svn/phpbb/trunk@4957 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 19:10:15 +00:00
Meik Sievertsen
427cc1bf36 - fix time limit issue for moderators
- fixing redirection after posting


git-svn-id: file:///svn/phpbb/trunk@4956 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 18:29:29 +00:00
Meik Sievertsen
eba921b511 - updated installer (only small fixes)
git-svn-id: file:///svn/phpbb/trunk@4955 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-04 18:14:29 +00:00
Paul S. Owen
bf629e7e3e Fix non-parsing of $phpEx in individual confirmation image img tag generation
git-svn-id: file:///svn/phpbb/trunk@4954 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-02 21:51:59 +00:00
Meik Sievertsen
3fabbb14e7 - small schema fix
git-svn-id: file:///svn/phpbb/trunk@4953 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-02 18:54:35 +00:00
Paul S. Owen
bd4e95f7ab Remove IP image
git-svn-id: file:///svn/phpbb/trunk@4952 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-02 15:51:48 +00:00
Paul S. Owen
4e0938d10e Remove karma images
git-svn-id: file:///svn/phpbb/trunk@4951 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-02 15:51:12 +00:00
Paul S. Owen
a5ac9bbb3a Rejiggle "board disabled" system to allow admin/mods access, eliminate duplication and "fudges" ... hopefully I've not overlooked something fundamental ...
git-svn-id: file:///svn/phpbb/trunk@4950 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-02 14:32:04 +00:00
Meik Sievertsen
8b85a84d55 - remove user_karma reference.
git-svn-id: file:///svn/phpbb/trunk@4949 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 22:03:51 +00:00
Paul S. Owen
2a6c0cf41b Fix failure to work at all ... need to introduce error handling for failure to match entered email address
git-svn-id: file:///svn/phpbb/trunk@4948 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 21:01:23 +00:00
Paul S. Owen
2383505c41 Changed IP to Info ... pointless having two links to basically the same information
git-svn-id: file:///svn/phpbb/trunk@4947 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 18:00:37 +00:00
Meik Sievertsen
d89e74a0cf - memberlist instead of memberslist.
git-svn-id: file:///svn/phpbb/trunk@4946 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 16:29:12 +00:00
Meik Sievertsen
ffc08f4e4d - correct path locations for avatars/smilies
- close <i> tags in faq


git-svn-id: file:///svn/phpbb/trunk@4945 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 15:38:03 +00:00
Meik Sievertsen
679fa22e95 - fix link to PM (composing message)
git-svn-id: file:///svn/phpbb/trunk@4944 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 15:37:05 +00:00
Meik Sievertsen
56a265930a - add the ability to easily create links for composing PM's to users/groups
git-svn-id: file:///svn/phpbb/trunk@4943 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 15:36:18 +00:00
Meik Sievertsen
bd70927e47 bump config var fix
git-svn-id: file:///svn/phpbb/trunk@4942 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 14:51:10 +00:00
Meik Sievertsen
fdf333e7f9 replacing two preg_replace statements with one preg_match_all statement...
git-svn-id: file:///svn/phpbb/trunk@4941 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 14:16:04 +00:00
Paul S. Owen
56efd0b5d2 Fixed problem with UNDEFINE
git-svn-id: file:///svn/phpbb/trunk@4940 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-08-01 12:31:21 +00:00
Meik Sievertsen
d2271ab249 trouble oh trouble... trouble oh trouble... trou... SLAP!
git-svn-id: file:///svn/phpbb/trunk@4939 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-27 20:03:09 +00:00
Meik Sievertsen
895f262eb5 do not update post_text if the message content was not changed... (fixing a bug ;))
git-svn-id: file:///svn/phpbb/trunk@4938 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-27 19:47:27 +00:00
Meik Sievertsen
bfec4fb8fc - approve/disapprove posts/topics
- changed mcp_front to be more moderator friendly
- able to change the forum in mcp_queue (for moderators moderating more than one forum)


git-svn-id: file:///svn/phpbb/trunk@4937 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-19 20:13:18 +00:00
Meik Sievertsen
9dcd7b45cb gah
git-svn-id: file:///svn/phpbb/trunk@4936 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-17 18:51:29 +00:00
Meik Sievertsen
59767029a9 - fixed permissions for mcp (global permission settings are false if user is only able to moderate one to x forums)
- determine permission settings for submodules
- further approve/disapprove work (approve_details added)


git-svn-id: file:///svn/phpbb/trunk@4925 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-11 15:20:35 +00:00
Meik Sievertsen
6a69106501 - fork/copy topic
- resync topics
- possible to show only reported posts in topic_view
- view reports in post details
- mcp_queue (show unapproved items)


git-svn-id: file:///svn/phpbb/trunk@4924 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-10 22:47:43 +00:00
Meik Sievertsen
bdd1643a7d - added splitting of topics to mcp
- added merging of posts to mcp
- fixed parsing of acl_getf results
- adjusted tracking code for important announcements (seems to work now)


git-svn-id: file:///svn/phpbb/trunk@4923 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-09 12:31:33 +00:00
Meik Sievertsen
e083255f66 cleaned up the mcp, basic operations such as deleting/moving/(un)locking are functional, as well as all basic views, the other modes (splitting, merging, forking, approval, reports and warnings) will be added within the next days.
git-svn-id: file:///svn/phpbb/trunk@4922 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-08 23:03:03 +00:00
Meik Sievertsen
754b1c91f4 nooooo.... the mcp is gone. Yes, we now rely on the good will of our users, no moderation anymore.
buhahaha buhahaharrrr harrr


git-svn-id: file:///svn/phpbb/trunk@4921 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-08 22:57:05 +00:00
Meik Sievertsen
05f1315ebb - remove output buffering options from download.php (not needed anymore)
- optimized viewtopic.php a little bit
- removed the create_function (was consuming too much memory) from viewtopic
- check for manually added convert[.exe] program name to imagemagick path in admin_attachments
- reduced filesize checking for imagemagick program (some installations require less than 20k)
- added checked="checked" for "not selected" topic icon
- moved parse_text_display function from functions_posting.php to functions.php (see comment above function)
- check for user_id != ANONYMOUS in page_footer for displaying the administration link (there seems to be a problem checking for global options)
- rewrote attachment thumbnail functions - utilize GD2 functions if available, more uptodate checks...
- changed final thumbnail size calculation
- define S_ROW_COUNT within template class itself
- added SID to template vars in page_header
- added ability to view topic/forum within admin_viewlogs
- added optional acl checking to make_jumpbox, no need to duplicate the function for this small need
- added custom body file for confirm_box


git-svn-id: file:///svn/phpbb/trunk@4920 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-07-08 22:41:04 +00:00
Meik Sievertsen
48eeecb258 - fixed topic icon display (correct radio box checked, only visible in first post)
git-svn-id: file:///svn/phpbb/trunk@4919 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-24 08:09:00 +00:00
Meik Sievertsen
2f4f5c5ede fixed viewtopic pagination (accidently added $start in the middle rendering pagination useless)
git-svn-id: file:///svn/phpbb/trunk@4918 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-24 08:06:09 +00:00
Meik Sievertsen
ca1b45581b fixed redirect for first cookie setting...
git-svn-id: file:///svn/phpbb/trunk@4917 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-24 08:02:15 +00:00
Meik Sievertsen
5cb3baf33b - for bart to work on...
git-svn-id: file:///svn/phpbb/trunk@4916 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-15 18:01:59 +00:00
Meik Sievertsen
8022b6f6b2 - fixed notification redirection
- added SID to ucp redirects


git-svn-id: file:///svn/phpbb/trunk@4915 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-15 17:56:37 +00:00
Bart van Bragt
6aa372226e Small fix for install
git-svn-id: file:///svn/phpbb/trunk@4914 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-13 13:37:27 +00:00
Paul S. Owen
4acbb74b4a Ensure default group_id is set for new users
git-svn-id: file:///svn/phpbb/trunk@4913 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-07 11:43:51 +00:00
Meik Sievertsen
c2834abfae - added folder_moved image
- new feature: bookmark topics
- fixed post details link
- added confirmation screen to cookie deletion


git-svn-id: file:///svn/phpbb/trunk@4912 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-06 21:44:49 +00:00
Meik Sievertsen
b3d98c8ba1 upload progress bar by CyberAlien
git-svn-id: file:///svn/phpbb/trunk@4911 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-06 20:56:28 +00:00
Paul S. Owen
e7ddcd08df Remove front-end gcp links, alter forum rules title style, remove karma output for ucp frontend
git-svn-id: file:///svn/phpbb/trunk@4910 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-06 10:49:07 +00:00
Meik Sievertsen
fed10cc3fb ups, we need a space.
git-svn-id: file:///svn/phpbb/trunk@4909 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-02 20:37:00 +00:00
Meik Sievertsen
061b261f79 - private messages - not finished yet.
git-svn-id: file:///svn/phpbb/trunk@4908 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-02 18:07:40 +00:00
Paul S. Owen
7d24e82aa0 Change header
git-svn-id: file:///svn/phpbb/trunk@4907 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-02 09:00:41 +00:00
Meik Sievertsen
738c954476 - enable admin login if board disabled
- new reply image for pm's (fits better into the style)


git-svn-id: file:///svn/phpbb/trunk@4906 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-06-01 17:02:20 +00:00
Meik Sievertsen
c3717d3808 - fix notify templates
- re-added subscribe/unsubscribe topic links. ;)


git-svn-id: file:///svn/phpbb/trunk@4905 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-31 21:35:43 +00:00
Meik Sievertsen
2c470e4b27 - added delete cookies link
- fixed global announcement links in viewforum
- do not display redirects in link forums as posts in forum overview


git-svn-id: file:///svn/phpbb/trunk@4904 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-31 18:00:10 +00:00
Meik Sievertsen
6aa42b69ab - forum rules + link to forum rules
- three new (tiny) functions added to functions_posting responsible for handling text with bbcode/smilies/urls, use them at items all over across phpbb...
- some bugfixes within admin_forums and other files
- new admin_board layout (much safer, security wise)


git-svn-id: file:///svn/phpbb/trunk@4903 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-30 19:24:53 +00:00
Meik Sievertsen
ae93b82e19 *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@4902 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 21:17:36 +00:00
Meik Sievertsen
40cd0dcef3 see todo
git-svn-id: file:///svn/phpbb/trunk@4901 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 21:02:56 +00:00
Meik Sievertsen
87b3f56c32 only minor things... blabla
git-svn-id: file:///svn/phpbb/trunk@4900 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:56:21 +00:00
Meik Sievertsen
88028d3f2a more updates
git-svn-id: file:///svn/phpbb/trunk@4899 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:46:12 +00:00
Meik Sievertsen
1b7c32f825 message/mail updates
git-svn-id: file:///svn/phpbb/trunk@4898 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:32:51 +00:00
Meik Sievertsen
40203496d8 session updates, please review
git-svn-id: file:///svn/phpbb/trunk@4897 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:29:39 +00:00
Meik Sievertsen
9cb4021e22 don't hurt me... just very small things
git-svn-id: file:///svn/phpbb/trunk@4896 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:18:54 +00:00
Meik Sievertsen
53779df720 ucp updates
git-svn-id: file:///svn/phpbb/trunk@4895 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 20:16:20 +00:00
Meik Sievertsen
97e5c0f4bd template updates
git-svn-id: file:///svn/phpbb/trunk@4894 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 19:43:15 +00:00
Meik Sievertsen
00ad9cc498 language additions
some small fixes


git-svn-id: file:///svn/phpbb/trunk@4893 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:55:28 +00:00
Meik Sievertsen
cf8c2a7df1 fixed last edited by
tryed to fix mark read code
other small fixes...
added (commented out) custom profile fields template support


git-svn-id: file:///svn/phpbb/trunk@4892 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:26:26 +00:00
Meik Sievertsen
e81b720ca0 blabla
git-svn-id: file:///svn/phpbb/trunk@4891 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:22:06 +00:00
Meik Sievertsen
6c69aaaf43 approval/other fixes
git-svn-id: file:///svn/phpbb/trunk@4890 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:20:33 +00:00
Meik Sievertsen
01202cfc2c only display those forums the user is able to read in.
git-svn-id: file:///svn/phpbb/trunk@4889 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:15:17 +00:00
Meik Sievertsen
afdf63150d update module authentification here too.
git-svn-id: file:///svn/phpbb/trunk@4888 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-26 18:13:53 +00:00
Paul S. Owen
2362a76b30 Disable karma/rating
git-svn-id: file:///svn/phpbb/trunk@4887 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-20 12:54:33 +00:00
Paul S. Owen
4f723339e2 Disable karma settings
git-svn-id: file:///svn/phpbb/trunk@4886 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-20 12:52:30 +00:00
Paul S. Owen
b6e2e17319 Wrong background
git-svn-id: file:///svn/phpbb/trunk@4885 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-20 10:33:28 +00:00
Bart van Bragt
a958ed7b7b Some minor glitches in the install process
git-svn-id: file:///svn/phpbb/trunk@4884 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-11 12:12:11 +00:00
Meik Sievertsen
729c3abd02 fix some issues with oop, fixing small bugs and prepare the next steps...
NOTE TO DEVS: have a look at adm/admin_board.php (new config layout)


git-svn-id: file:///svn/phpbb/trunk@4883 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-05-02 13:06:57 +00:00
Meik Sievertsen
67d2ac3667 intentional?
git-svn-id: file:///svn/phpbb/trunk@4880 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-04-07 07:45:18 +00:00
Meik Sievertsen
570ff85f7c unix format... will use this for the 2.0.x contrib dir.
git-svn-id: file:///svn/phpbb/trunk@4875 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-25 15:46:23 +00:00
Paul S. Owen
37a12a09a3 An update from Jonathan
git-svn-id: file:///svn/phpbb/trunk@4871 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-21 15:02:57 +00:00
Meik Sievertsen
fa36798694 add a little bit more information for style authors
ease the jumpbox handling a little bit


git-svn-id: file:///svn/phpbb/trunk@4870 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-20 17:06:21 +00:00
Meik Sievertsen
ba7008b387 - re-enable drafts. ;)
- put extension checking into a small function...


git-svn-id: file:///svn/phpbb/trunk@4862 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-11 21:17:32 +00:00
Meik Sievertsen
7487bfce48 - check for array [lang]
- admin_forums delete routine updated
- added extension groups per forum


git-svn-id: file:///svn/phpbb/trunk@4861 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-10 20:30:26 +00:00
Meik Sievertsen
c235dced70 show correct login screen (accessing /adm while logged out)
git-svn-id: file:///svn/phpbb/trunk@4860 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-06 17:43:32 +00:00
Meik Sievertsen
635d18d279 minor adjustments
git-svn-id: file:///svn/phpbb/trunk@4859 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-06 16:58:34 +00:00
Meik Sievertsen
91811b8289 changed extension group administration (more user friendly)
git-svn-id: file:///svn/phpbb/trunk@4858 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-06 12:28:40 +00:00
Meik Sievertsen
fbb9f40cc7 argh... parse error
git-svn-id: file:///svn/phpbb/trunk@4857 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-05 09:21:59 +00:00
Meik Sievertsen
1e7d00528a i have nothing to say... just ignore this line.
git-svn-id: file:///svn/phpbb/trunk@4856 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-04 17:54:11 +00:00
Meik Sievertsen
2c6f3d43ab correct passworded forum login
git-svn-id: file:///svn/phpbb/trunk@4855 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-02 13:52:24 +00:00
Meik Sievertsen
facd75bc44 small fix for html replacement
git-svn-id: file:///svn/phpbb/trunk@4849 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-03-01 15:24:26 +00:00
Paul S. Owen
7558d522b1 bots
git-svn-id: file:///svn/phpbb/trunk@4848 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-29 23:27:13 +00:00
Paul S. Owen
e84a8dc12c Minor alteration
git-svn-id: file:///svn/phpbb/trunk@4847 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-29 12:51:18 +00:00
Meik Sievertsen
85c25a5b17 cleanup... :P
git-svn-id: file:///svn/phpbb/trunk@4846 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-28 21:24:52 +00:00
Meik Sievertsen
3800a1d3c3 no longer needed and no real future re-use potential (upgrading for example)
git-svn-id: file:///svn/phpbb/trunk@4845 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-28 21:19:35 +00:00
Meik Sievertsen
52cc21864c splitted language files
git-svn-id: file:///svn/phpbb/trunk@4844 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-28 21:16:15 +00:00
Meik Sievertsen
77dedf68a0 AHHHH, they killed "en". bye bye, now... we no longer support any form of languages, bad or good.
git-svn-id: file:///svn/phpbb/trunk@4843 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-28 21:09:39 +00:00
Paul S. Owen
e1600cd31f value in wrong place
git-svn-id: file:///svn/phpbb/trunk@4842 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-27 12:33:22 +00:00
Paul S. Owen
dbf93ce5aa Group and other updates
git-svn-id: file:///svn/phpbb/trunk@4841 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-26 18:14:18 +00:00
Paul S. Owen
114fa416d9 Minor updates for group parameter fetching
git-svn-id: file:///svn/phpbb/trunk@4840 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-26 17:58:55 +00:00
Paul S. Owen
884381d11b oopsie
git-svn-id: file:///svn/phpbb/trunk@4839 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-23 15:14:55 +00:00
Meik Sievertsen
7aaf5a67a4 always redirect on login (fixes the "i am not logged in" problem. ;))
git-svn-id: file:///svn/phpbb/trunk@4838 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-22 10:22:51 +00:00
Meik Sievertsen
120fd6bf70 hmm, unix format please....
git-svn-id: file:///svn/phpbb/trunk@4837 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-21 12:51:08 +00:00
Meik Sievertsen
c74d2538ec - put consoring and smilie processing into functions (we use them all over the place) for better changing and consistency.
- changed docs/AUTHORS to reflect the recent code re-use in functions_messenger.php
- pleasing the users a little bit more by using table constants. :D
- login box if "mode" is not allowed -> posting (thought about trigger_error integration, but we do not need this that often).


git-svn-id: file:///svn/phpbb/trunk@4836 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-21 12:47:35 +00:00
Paul S. Owen
9c12fe83db Damn users :)
git-svn-id: file:///svn/phpbb/trunk@4835 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-18 01:46:39 +00:00
Meik Sievertsen
b745d5224f removed message type from message parser
assign message if specified
parse/decode html if enabled
validate url


git-svn-id: file:///svn/phpbb/trunk@4834 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-15 14:03:19 +00:00
Meik Sievertsen
d8609ba1c6 added attachments to user acp
fixed typo in stylesheet.css
added a.th class to admin css


git-svn-id: file:///svn/phpbb/trunk@4833 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-15 09:03:20 +00:00
Meik Sievertsen
7dc62cc5ed re-add and fix quoting from topic/post review
git-svn-id: file:///svn/phpbb/trunk@4832 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-15 07:52:33 +00:00
Paul S. Owen
171706a343 oopsie
git-svn-id: file:///svn/phpbb/trunk@4831 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-13 22:46:29 +00:00
Paul S. Owen
b20e4ebe5c Minor fixes for user feedback
git-svn-id: file:///svn/phpbb/trunk@4830 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-12 12:00:18 +00:00
Meik Sievertsen
de43ceac36 use logical expression for module permissions + prefixes for acl's and config variables (acl_ and cfg_).
git-svn-id: file:///svn/phpbb/trunk@4829 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 21:09:47 +00:00
Paul S. Owen
496e420385 colour swatch for signature
git-svn-id: file:///svn/phpbb/trunk@4828 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 18:31:31 +00:00
Paul S. Owen
67755abf25 Profile, prefs, feedback
git-svn-id: file:///svn/phpbb/trunk@4827 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 18:28:24 +00:00
Paul S. Owen
f72d117ce5 user admin related
git-svn-id: file:///svn/phpbb/trunk@4826 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 18:27:31 +00:00
Paul S. Owen
18a5ac336a reportee_id for log, remove user notes
git-svn-id: file:///svn/phpbb/trunk@4825 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 18:27:14 +00:00
Paul S. Owen
045028d527 reportee_id for view_log and add_log
git-svn-id: file:///svn/phpbb/trunk@4824 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-11 18:27:00 +00:00
Paul S. Owen
432a3823a0 profile/prefs
git-svn-id: file:///svn/phpbb/trunk@4823 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-10 01:17:08 +00:00
Paul S. Owen
afddaa2591 user admin related
git-svn-id: file:///svn/phpbb/trunk@4822 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-10 01:17:01 +00:00
Paul S. Owen
78625ccf44 I'll have half a pound of fudge please
git-svn-id: file:///svn/phpbb/trunk@4821 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-10 01:16:48 +00:00
Meik Sievertsen
0ec2fa96ac ARGH... wrong bitfield, exactly the other way around.
git-svn-id: file:///svn/phpbb/trunk@4820 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 21:48:35 +00:00
Meik Sievertsen
d7735d2587 inline attachment capability...
git-svn-id: file:///svn/phpbb/trunk@4819 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 18:02:17 +00:00
Meik Sievertsen
b9bf2fe751 the display code for inline attachments, isn't it cute? ;)
git-svn-id: file:///svn/phpbb/trunk@4818 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 18:00:10 +00:00
Meik Sievertsen
75e83593b0 correct text placement in mozilla and other browsers not supporting the createTextRange function...
git-svn-id: file:///svn/phpbb/trunk@4817 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 17:41:28 +00:00
Paul S. Owen
1f8ee8517c Move ipwhois ... it's used exclusively for "user" activities, makes more sense there
git-svn-id: file:///svn/phpbb/trunk@4816 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 16:08:52 +00:00
Paul S. Owen
75d49924d8 ooblle boooble
git-svn-id: file:///svn/phpbb/trunk@4815 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 15:18:44 +00:00
Paul S. Owen
2ffda20b0e Custom profile data table define
git-svn-id: file:///svn/phpbb/trunk@4814 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 15:18:17 +00:00
Paul S. Owen
ec65e70c4a Move ipwhois ... it's used exclusively for "user" activities, makes more sense there
git-svn-id: file:///svn/phpbb/trunk@4813 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 14:27:59 +00:00
Paul S. Owen
f8c9d3fbd5 Overview "complete"
git-svn-id: file:///svn/phpbb/trunk@4812 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 14:22:10 +00:00
Paul S. Owen
3466c5323e User delete function
git-svn-id: file:///svn/phpbb/trunk@4811 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 14:21:49 +00:00
Paul S. Owen
5a665e9d03 hhmm
git-svn-id: file:///svn/phpbb/trunk@4810 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 00:57:37 +00:00
Paul S. Owen
ad5c34061e Do not offer email based user confirmation when email is disabled
git-svn-id: file:///svn/phpbb/trunk@4809 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 00:27:42 +00:00
Paul S. Owen
962e15a0e5 Updated for user_ban/unban function
git-svn-id: file:///svn/phpbb/trunk@4808 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 00:26:44 +00:00
Paul S. Owen
3bdcc8e59c "Overview" functionality ... couple of issues, couple unfinished areas ... topics where user has posted not resyncing correctly when moving posts
git-svn-id: file:///svn/phpbb/trunk@4807 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-08 00:25:48 +00:00
Paul S. Owen
259881d1bf Move user ban/unban to function
git-svn-id: file:///svn/phpbb/trunk@4806 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-07 15:37:25 +00:00
Meik Sievertsen
719c572ca9 some small changes to mailing again (to better cope with invalid email addresses)
git-svn-id: file:///svn/phpbb/trunk@4805 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-07 11:00:27 +00:00
Meik Sievertsen
742f5d4a18 hopefully fixed "mark forums read" -> db based tracking
git-svn-id: file:///svn/phpbb/trunk@4804 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-07 10:48:35 +00:00
Paul S. Owen
8ab1ebd019 Seperate message for forced password change ... probably needs to be a little more bold than this.
git-svn-id: file:///svn/phpbb/trunk@4803 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:43:54 +00:00
Paul S. Owen
58f315b5e6 Display active topic output for subfora if appropriate ... a little kludgy but works
git-svn-id: file:///svn/phpbb/trunk@4802 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:43:23 +00:00
Paul S. Owen
2a0bcbb592 Return information for display of active topics in subfora ... little kludgy? but seems to work
git-svn-id: file:///svn/phpbb/trunk@4801 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:42:12 +00:00
Paul S. Owen
9e58a16cf5 Changed error string array return ... hopefully nothing "different" was planned for this. This method "fits in" with how UCP modules handle errors.
git-svn-id: file:///svn/phpbb/trunk@4800 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:41:30 +00:00
Paul S. Owen
173ac0529b Various updates, password email hash, altered function names
git-svn-id: file:///svn/phpbb/trunk@4799 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:40:40 +00:00
Paul S. Owen
fd8d235e41 Various updates, password email hash
git-svn-id: file:///svn/phpbb/trunk@4798 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:39:59 +00:00
Paul S. Owen
881f9eba79 Vaious new strings
git-svn-id: file:///svn/phpbb/trunk@4797 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:39:44 +00:00
Paul S. Owen
a13e5eb1e2 oopsie
git-svn-id: file:///svn/phpbb/trunk@4796 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:39:29 +00:00
Paul S. Owen
b1b6849500 Force password change additions + other updates
git-svn-id: file:///svn/phpbb/trunk@4795 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:35:56 +00:00
Paul S. Owen
79e8f8d299 Some re-arrangement of options
git-svn-id: file:///svn/phpbb/trunk@4794 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 14:35:37 +00:00
Paul S. Owen
7baa9ddb89 Force password change after defined number of days
git-svn-id: file:///svn/phpbb/trunk@4793 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-05 13:38:57 +00:00
Paul S. Owen
f8b89a8f94 Update user table for email hashing? Suggested and implemented by lanzer ... we may as well give it a go too
git-svn-id: file:///svn/phpbb/trunk@4792 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 18:15:37 +00:00
Paul S. Owen
13f80fe2ef Update user table for email hashing? Suggested and implemented by lanzer ... we may as well give it a go too
git-svn-id: file:///svn/phpbb/trunk@4791 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 17:22:29 +00:00
Paul S. Owen
895059928c Addslash function no longer needed with request_var processing
git-svn-id: file:///svn/phpbb/trunk@4790 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 14:14:53 +00:00
Paul S. Owen
570e570f7c Scrap transport capability in 2.2.0
git-svn-id: file:///svn/phpbb/trunk@4789 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 14:03:04 +00:00
Meik Sievertsen
129218286b show correct SQL error message if failed during a transaction...
git-svn-id: file:///svn/phpbb/trunk@4788 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 09:43:31 +00:00
Paul S. Owen
40931f12ba bah ... went the sheep
git-svn-id: file:///svn/phpbb/trunk@4787 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:46:11 +00:00
Paul S. Owen
e2862f3ebd "Fixed" issue that was causing problems some time ago with server
git-svn-id: file:///svn/phpbb/trunk@4786 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:34:40 +00:00
Paul S. Owen
06c37481cc gen_random_string move ... not entirely sure about this ... may well return to user functions
git-svn-id: file:///svn/phpbb/trunk@4785 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:29:35 +00:00
Paul S. Owen
8aff2f6758 Minor fixes, etc.
git-svn-id: file:///svn/phpbb/trunk@4784 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:28:42 +00:00
Paul S. Owen
9b15f907dd Change in function name
git-svn-id: file:///svn/phpbb/trunk@4783 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:28:24 +00:00
Paul S. Owen
60d5712e15 Minor update
git-svn-id: file:///svn/phpbb/trunk@4782 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:27:45 +00:00
Paul S. Owen
f98be5008e Add confirmation function
git-svn-id: file:///svn/phpbb/trunk@4781 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:27:11 +00:00
Paul S. Owen
fac78dd27f Further group work ... nearly there ... still some consistency and other issues.
git-svn-id: file:///svn/phpbb/trunk@4780 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-03 02:26:58 +00:00
Meik Sievertsen
6a07bc6cef preserve 'jump to post'... if emailed notification link and login required.
git-svn-id: file:///svn/phpbb/trunk@4779 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-02 17:20:58 +00:00
Paul S. Owen
96cbe87fc8 Wordwrap message
git-svn-id: file:///svn/phpbb/trunk@4778 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-02 13:06:18 +00:00
Meik Sievertsen
56391aa7b8 send mass mail immediatly
mail priority setting added
log session (see Note)


git-svn-id: file:///svn/phpbb/trunk@4777 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-02-01 21:45:40 +00:00
Meik Sievertsen
ca729d6ac1 utilize the advantages of bcc... we have a hard limit of 50 recipients here, if the same language and notify method is used (if the case of only one recipient is given the bcc method will be not used).
git-svn-id: file:///svn/phpbb/trunk@4776 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 19:09:17 +00:00
Meik Sievertsen
d170696d68 small change in handling recipients. ;)
git-svn-id: file:///svn/phpbb/trunk@4775 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 19:07:14 +00:00
Meik Sievertsen
65f837c379 new smtp auth methods. :) Digest MD5 is NOT tested, all others are working fine.
git-svn-id: file:///svn/phpbb/trunk@4774 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 15:49:12 +00:00
Meik Sievertsen
8d71ae256c enable free disk space check
git-svn-id: file:///svn/phpbb/trunk@4773 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 15:48:10 +00:00
Meik Sievertsen
c85f62bddc the language vars for the authentication mechanisms.
git-svn-id: file:///svn/phpbb/trunk@4772 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 15:46:44 +00:00
Meik Sievertsen
ae978d219a more authentication methods to choose between (SMTP). Added pop-before-smtp too.
git-svn-id: file:///svn/phpbb/trunk@4771 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 15:45:49 +00:00
Meik Sievertsen
918ae64f4b fixed: username validation in posting.php
git-svn-id: file:///svn/phpbb/trunk@4770 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-31 15:43:39 +00:00
Paul S. Owen
6a3f8902c8 oopsie in gc
git-svn-id: file:///svn/phpbb/trunk@4769 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-30 12:14:48 +00:00
Paul S. Owen
c2f5e580aa Enable redirect after login
git-svn-id: file:///svn/phpbb/trunk@4768 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-30 11:48:02 +00:00
Meik Sievertsen
0608bc73e6 fixed: smilie parsing in signatures
added: edit notes


git-svn-id: file:///svn/phpbb/trunk@4767 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-25 14:30:15 +00:00
Meik Sievertsen
9df94e88f8 use of correct config var
git-svn-id: file:///svn/phpbb/trunk@4766 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-25 14:20:34 +00:00
Meik Sievertsen
89a50afd70 re-add mozWrap
git-svn-id: file:///svn/phpbb/trunk@4765 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-25 14:19:47 +00:00
Meik Sievertsen
3dd313ed89 do not parse smilies within code tag
git-svn-id: file:///svn/phpbb/trunk@4764 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-25 14:18:06 +00:00
Meik Sievertsen
c8593c5715 fixed: allow/disallow smilies board-wide setting
git-svn-id: file:///svn/phpbb/trunk@4763 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-25 14:11:17 +00:00
Meik Sievertsen
9d06365ec7 'post encoding'-fix
git-svn-id: file:///svn/phpbb/trunk@4762 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-19 17:50:11 +00:00
Paul S. Owen
8d5dc5ed1b Minor update
git-svn-id: file:///svn/phpbb/trunk@4760 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-15 13:30:45 +00:00
Paul S. Owen
00ae832573 Minor update
git-svn-id: file:///svn/phpbb/trunk@4759 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-13 01:42:03 +00:00
Paul S. Owen
e4c26232bf Update for new karma image location/creation
git-svn-id: file:///svn/phpbb/trunk@4758 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-13 01:40:25 +00:00
Paul S. Owen
bc79bf9652 Mark given set of forums marked, show "Mark forums read" link on subforum display
git-svn-id: file:///svn/phpbb/trunk@4757 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-12 15:00:09 +00:00
Paul S. Owen
38c0873243 Increase indenting on [quote] and [code]
git-svn-id: file:///svn/phpbb/trunk@4756 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-12 14:40:41 +00:00
Meik Sievertsen
41e56c8fa6 do not end up with an error if no profile fields defined...
git-svn-id: file:///svn/phpbb/trunk@4755 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-12 13:13:00 +00:00
Paul S. Owen
7a7cbc14ff Minor fix
git-svn-id: file:///svn/phpbb/trunk@4754 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-12 11:24:16 +00:00
Paul S. Owen
bdd2eefb04 oopsie
git-svn-id: file:///svn/phpbb/trunk@4753 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 02:33:06 +00:00
Paul S. Owen
4dd1ec6c12 Default hide of super moderators from legend
git-svn-id: file:///svn/phpbb/trunk@4752 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 01:00:25 +00:00
Paul S. Owen
7a70b30587 Update for new karma image location/creation
git-svn-id: file:///svn/phpbb/trunk@4751 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:57:29 +00:00
Paul S. Owen
50e6098eb5 Moved to new location
git-svn-id: file:///svn/phpbb/trunk@4750 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:52:36 +00:00
Paul S. Owen
9637f043a3 Update for new karma image location/creation
git-svn-id: file:///svn/phpbb/trunk@4749 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:52:00 +00:00
Paul S. Owen
20b9f5ae9b Minor update for image production
git-svn-id: file:///svn/phpbb/trunk@4748 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:46:46 +00:00
Paul S. Owen
66668ed9ef Updates for imageset list ... still not necessarily final ...
git-svn-id: file:///svn/phpbb/trunk@4747 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:33:44 +00:00
Paul S. Owen
c63bc7c4db Moved karma images, updated config file
git-svn-id: file:///svn/phpbb/trunk@4746 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:33:10 +00:00
Paul S. Owen
0910fbb074 Updates
git-svn-id: file:///svn/phpbb/trunk@4745 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-11 00:31:37 +00:00
Paul S. Owen
15e8ddd229 Updates
git-svn-id: file:///svn/phpbb/trunk@4744 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 19:13:56 +00:00
Paul S. Owen
2be369db47 Fully updated with amazing new feature called "this one works"!
git-svn-id: file:///svn/phpbb/trunk@4743 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 19:13:26 +00:00
Paul S. Owen
7abe67c821 Add IP/rDNS/whois info to viewonline ... doing away with need to visit ACP
git-svn-id: file:///svn/phpbb/trunk@4742 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 18:41:53 +00:00
Meik Sievertsen
af070017d3 the tables (subject to change)
git-svn-id: file:///svn/phpbb/trunk@4741 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 12:30:21 +00:00
Meik Sievertsen
994973d8ee custom profile fields.
Not finished, committed to let us discuss about the next steps
-> BartVB


git-svn-id: file:///svn/phpbb/trunk@4740 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 12:23:24 +00:00
Meik Sievertsen
62429cb9fb display/store custom profile fields
git-svn-id: file:///svn/phpbb/trunk@4739 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 12:19:39 +00:00
Meik Sievertsen
36f039cb1b minor changes...
git-svn-id: file:///svn/phpbb/trunk@4738 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 12:19:10 +00:00
Meik Sievertsen
ca291c50f9 fully templateable custom profile fields...
git-svn-id: file:///svn/phpbb/trunk@4737 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 12:17:29 +00:00
Meik Sievertsen
425509cb88 posting new topics... should work again. :)
git-svn-id: file:///svn/phpbb/trunk@4736 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-10 11:39:14 +00:00
Paul S. Owen
e5d15b986d Add DEFINE/UNDEFINE ... user vars bust be preceeded by $ and be uppercase, string vars must be in single quotes. Can be used in loops, something.$VAR, etc. Use with standard IF, IF $something ==, etc.
git-svn-id: file:///svn/phpbb/trunk@4735 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-09 17:22:53 +00:00
Paul S. Owen
34a2a7460d Updated images ... hhmmm
git-svn-id: file:///svn/phpbb/trunk@4734 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-09 12:29:01 +00:00
Paul S. Owen
0cf61741e5 hhmm, string cleanup was rather ... broken
git-svn-id: file:///svn/phpbb/trunk@4733 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-09 11:56:53 +00:00
Bart van Bragt
d8c35f8b20 Some minor fixes for the registration procedure
git-svn-id: file:///svn/phpbb/trunk@4732 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-08 20:33:56 +00:00
Paul S. Owen
c97adb5a2e Wrong link for view post, add link to post title
git-svn-id: file:///svn/phpbb/trunk@4731 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-08 12:59:51 +00:00
Paul S. Owen
264a7a489a Couple changes to imageset table ... introduce a few empty fields for "user icons" primarily intended for Mods though how to distribute them may be interesting
git-svn-id: file:///svn/phpbb/trunk@4730 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-08 12:49:48 +00:00
Paul S. Owen
3d5a770c94 Alter method for storing imageset data ... I can't see any obvious increase in page gen times but please comment if such a thing does become apparent
git-svn-id: file:///svn/phpbb/trunk@4729 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-08 12:49:05 +00:00
Paul S. Owen
21120e846e More attempts at "modern markup"
git-svn-id: file:///svn/phpbb/trunk@4728 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-07 16:33:12 +00:00
Paul S. Owen
0a999ceab5 oopsie
git-svn-id: file:///svn/phpbb/trunk@4727 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-07 16:33:03 +00:00
Paul S. Owen
715731ca3e More attempts at "modern markup"
git-svn-id: file:///svn/phpbb/trunk@4726 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-07 16:24:52 +00:00
Paul S. Owen
bdbbc7544b Split user search from memberlist_body
git-svn-id: file:///svn/phpbb/trunk@4725 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-07 15:59:45 +00:00
Paul S. Owen
e86b1d248b More attempts at "modern markup"
git-svn-id: file:///svn/phpbb/trunk@4724 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-06 15:36:29 +00:00
Paul S. Owen
73d2f9c842 Mental note, stop playing with markup and finish the board
git-svn-id: file:///svn/phpbb/trunk@4723 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-06 15:36:16 +00:00
Paul S. Owen
66cc31fb1d Changes for IE5.5
git-svn-id: file:///svn/phpbb/trunk@4722 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 17:17:22 +00:00
Paul S. Owen
6cd42f2139 A few changes ... note that this is not text book markup ... so don't complain! If you have suggestions on how to improve it feel free to comment in the relevant forum @ area51
git-svn-id: file:///svn/phpbb/trunk@4721 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 16:06:44 +00:00
Paul S. Owen
ddd39f2a48 A few changes ... note that this is not text book markup ... so don't complain! If you have suggestions on how to improve it feel free to comment in the relevant forum @ area51
git-svn-id: file:///svn/phpbb/trunk@4720 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 12:38:44 +00:00
Paul S. Owen
43b285d57c Clippy like
git-svn-id: file:///svn/phpbb/trunk@4719 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 11:48:13 +00:00
Paul S. Owen
96e4c1f219 Various lang updates
git-svn-id: file:///svn/phpbb/trunk@4718 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 11:15:51 +00:00
Paul S. Owen
34607baacd Minor changes, add new S_USER_LANG template var
git-svn-id: file:///svn/phpbb/trunk@4717 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 11:15:11 +00:00
Paul S. Owen
28bee290fe hmm
git-svn-id: file:///svn/phpbb/trunk@4716 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-05 10:20:01 +00:00
Paul S. Owen
4cbcf22b78 Uncomment links
git-svn-id: file:///svn/phpbb/trunk@4715 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 18:20:13 +00:00
Paul S. Owen
ee8a014a8d A few changes ... note that this is not text book markup ... so don't complain! If you have suggestions on how to improve it feel free to comment in the relevant forum @ area51
git-svn-id: file:///svn/phpbb/trunk@4714 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 18:10:41 +00:00
Paul S. Owen
386dc775b6 A few updates
git-svn-id: file:///svn/phpbb/trunk@4713 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 18:09:57 +00:00
Paul S. Owen
c08a0fc7fb oopsie, wrong id
git-svn-id: file:///svn/phpbb/trunk@4712 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 18:08:19 +00:00
Paul S. Owen
72a7628f4c Style image data update
git-svn-id: file:///svn/phpbb/trunk@4711 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 15:48:57 +00:00
Paul S. Owen
16d9fe6f77 Unused
git-svn-id: file:///svn/phpbb/trunk@4710 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-04 15:48:24 +00:00
Paul S. Owen
63b0649f61 2 becomes 1
git-svn-id: file:///svn/phpbb/trunk@4709 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-03 18:12:08 +00:00
Paul S. Owen
1ae9cf2eab Some div-ination coming ... don't get too excited ... it's not "major"
git-svn-id: file:///svn/phpbb/trunk@4708 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-03 17:38:11 +00:00
Paul S. Owen
cbbec39e0d Posting was getting a tad crowded
git-svn-id: file:///svn/phpbb/trunk@4707 89ea8834-ac86-4346-8a33-228a782c2dd0
2004-01-03 17:35:47 +00:00
Paul S. Owen
16484c61b1 Add logo to imageset
git-svn-id: file:///svn/phpbb/trunk@4705 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-12-29 13:24:41 +00:00
Paul S. Owen
e99f48e8bc Update MCP linkage
git-svn-id: file:///svn/phpbb/trunk@4704 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-12-06 12:46:22 +00:00
Paul S. Owen
11190910a9 Update ACP and MCP linkage
git-svn-id: file:///svn/phpbb/trunk@4703 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-12-06 12:45:53 +00:00
Paul S. Owen
afc00b0b87 Update ACP linkage
git-svn-id: file:///svn/phpbb/trunk@4702 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-12-06 12:45:38 +00:00
Paul S. Owen
29875f3cbf Add missing ;
git-svn-id: file:///svn/phpbb/trunk@4701 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-12-04 02:00:57 +00:00
Meik Sievertsen
b70b519836 update forum_ids for global announcements.
git-svn-id: file:///svn/phpbb/trunk@4700 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-30 18:03:09 +00:00
Meik Sievertsen
3f6e946889 speed improvement... slap me for not seeing the user var. ;)
git-svn-id: file:///svn/phpbb/trunk@4699 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-30 17:45:13 +00:00
Ludovic Arnaud
eaf3efe6e0 Quiet please!
git-svn-id: file:///svn/phpbb/trunk@4698 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-29 23:42:10 +00:00
Ludovic Arnaud
e403277ce2 Fixed cache table schema.
Added in index to username for validate_username() queries.


git-svn-id: file:///svn/phpbb/trunk@4697 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-29 23:38:42 +00:00
Ludovic Arnaud
eb7cc50608 Fixed: "$config['allow_quote']"? No sir, there is no such thing. (my bad)
Changed: do not perform flood check when disabled
Added: a couple notes for Acyd ;)


git-svn-id: file:///svn/phpbb/trunk@4696 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:44:59 +00:00
Ludovic Arnaud
84ede6d436 Minor change: check for potential bbcodes before we parse the message
git-svn-id: file:///svn/phpbb/trunk@4695 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:27:35 +00:00
Ludovic Arnaud
068f81b676 Updated MCP
git-svn-id: file:///svn/phpbb/trunk@4694 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:26:19 +00:00
Ludovic Arnaud
91467dcd62 Added: mcp_queue, for unapproved items
git-svn-id: file:///svn/phpbb/trunk@4693 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:23:51 +00:00
Ludovic Arnaud
a08d9e6473 mcp_main module, responsible for forum/topic/post view and common operations
git-svn-id: file:///svn/phpbb/trunk@4692 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:20:31 +00:00
Ludovic Arnaud
da4f6d99de Oops, I almost forgot this one
git-svn-id: file:///svn/phpbb/trunk@4691 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:18:27 +00:00
Ludovic Arnaud
91dcddbd0b Fixed: mcp main module, a couple typos
Added: mcp_queue module


git-svn-id: file:///svn/phpbb/trunk@4690 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:14:57 +00:00
Ludovic Arnaud
fdfc37ef12 MCP templates
git-svn-id: file:///svn/phpbb/trunk@4689 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:07:31 +00:00
Ludovic Arnaud
f15467f4c5 MCP-related. Not complete yet.
git-svn-id: file:///svn/phpbb/trunk@4688 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 23:06:05 +00:00
Ludovic Arnaud
89e83ec89e Put mysql4.php in line with mysql.php
git-svn-id: file:///svn/phpbb/trunk@4687 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 00:23:36 +00:00
Ludovic Arnaud
7357736695 ACM-related changes. Tried to make debug timings a little more accurate, Note that it takes the time spent on fetching data into account when comparing db time vs cache time. Added green/red indicator (green = caching good, red = bad ;))
git-svn-id: file:///svn/phpbb/trunk@4686 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-27 00:02:16 +00:00
Ludovic Arnaud
ce8fddf78f ACM garbage collection
git-svn-id: file:///svn/phpbb/trunk@4685 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-26 23:54:19 +00:00
Ludovic Arnaud
ac0b5d79ad Changed: the way caches expire. (see dev forum)
Added: "private" caching. (see dev forum too ;))


git-svn-id: file:///svn/phpbb/trunk@4684 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-26 23:34:33 +00:00
Meik Sievertsen
1dd9ad2f79 moved attachment settings code back to admin_attachments.php
git-svn-id: file:///svn/phpbb/trunk@4683 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-23 23:00:43 +00:00
Meik Sievertsen
5f35bc9bc1 my attempt to break things...
git-svn-id: file:///svn/phpbb/trunk@4682 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-23 22:25:46 +00:00
Meik Sievertsen
37edf4148c small typo... who is in need of a new keyboard? ;)
git-svn-id: file:///svn/phpbb/trunk@4681 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-23 22:19:29 +00:00
Meik Sievertsen
fe57f5340c more user friendly (this fulfills request #695587 in conjunction with the previously added topic link to the notification templates)
git-svn-id: file:///svn/phpbb/trunk@4679 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-22 17:57:06 +00:00
Meik Sievertsen
755c0d845c some performance/bug fixes
git-svn-id: file:///svn/phpbb/trunk@4678 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-22 12:44:01 +00:00
Meik Sievertsen
97d5bdb5d9 jada jada
git-svn-id: file:///svn/phpbb/trunk@4677 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-22 12:43:31 +00:00
Meik Sievertsen
3cb634c796 go with Ashe's suggestion...
git-svn-id: file:///svn/phpbb/trunk@4676 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-22 12:43:07 +00:00
Ludovic Arnaud
6016228752 If you don't know what it is, you shouldn't be reading this...
(query split as discussed in dev forum)
Fixed: board's URL in printer mode


git-svn-id: file:///svn/phpbb/trunk@4675 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-21 23:19:47 +00:00
Paul S. Owen
2ce6a07f6d Ignore agent check if empty
git-svn-id: file:///svn/phpbb/trunk@4674 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-20 12:49:42 +00:00
Paul S. Owen
84e6b1d0b6 sessions went on a calorie controlled diet and lost 1000 bytes and still had a tasty lunch and dinner!
git-svn-id: file:///svn/phpbb/trunk@4673 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-17 23:36:43 +00:00
Ludovic Arnaud
4a81ebb7f8 Fixed: garbage collection firing of during install (don't even ask me how, but it happened to me)
Added: multi-table garbage collection for MySQL 4 for Paul to review :)


git-svn-id: file:///svn/phpbb/trunk@4672 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-16 23:16:02 +00:00
Ludovic Arnaud
f454196097 Tweaked sync() a bit and fixed a couple table names. Meik, please take a look at the post_attachment/topic_attachment part to make sure I didn't screw things up ;)
Note that some modes are for dev purposes and aren't meant to stay for final if we don't use them


git-svn-id: file:///svn/phpbb/trunk@4671 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-16 23:01:24 +00:00
Ludovic Arnaud
996acdeb6b Not even worth a log msg ;)
git-svn-id: file:///svn/phpbb/trunk@4670 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-16 22:28:47 +00:00
Ludovic Arnaud
f2650d1e63 Fixed: [list] tags now function properly
git-svn-id: file:///svn/phpbb/trunk@4669 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-16 22:26:27 +00:00
Meik Sievertsen
306d36f03d Finished drafts, one bit is remaining though.
added file and disk space statistics.
some minor changes here and there.


git-svn-id: file:///svn/phpbb/trunk@4668 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-16 21:53:56 +00:00
Ludovic Arnaud
e80f40d5bb Fixed a small typo, and no, I'm not hostage of closet monkeys.
git-svn-id: file:///svn/phpbb/trunk@4667 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-15 22:20:40 +00:00
Paul S. Owen
aa34816c6f erm, did I forget this
git-svn-id: file:///svn/phpbb/trunk@4666 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-14 21:31:46 +00:00
Paul S. Owen
029ecff8f8 Quick fix for re-ordering problem
git-svn-id: file:///svn/phpbb/trunk@4665 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-13 16:13:08 +00:00
Meik Sievertsen
142f32d554 freeresult
git-svn-id: file:///svn/phpbb/trunk@4664 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-13 12:43:25 +00:00
Meik Sievertsen
5f91c611d7 grmbl... another way to get your forum out of sync. ;)
git-svn-id: file:///svn/phpbb/trunk@4663 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-13 12:39:11 +00:00
Paul S. Owen
6a701d1cf5 I'm so disappointed no one spotted this deliberate error ... phew, got away with that one ... damn, is this thing on?
git-svn-id: file:///svn/phpbb/trunk@4662 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-11 10:57:53 +00:00
Paul S. Owen
74ccfb2ad5 gurgle blurp ... make some more changes, blurp, gurgle, move discover_auth to auth class as acl_get_list method, blurp gurgle blurp
git-svn-id: file:///svn/phpbb/trunk@4661 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-10 15:03:47 +00:00
Paul S. Owen
eb87d0537a We're going down, we're going down, blurp, blurp, gurgle, gurgle
git-svn-id: file:///svn/phpbb/trunk@4660 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-10 14:26:58 +00:00
Paul S. Owen
947f0d6c19 Abandon ship! Abandon ship!
git-svn-id: file:///svn/phpbb/trunk@4659 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-10 14:22:41 +00:00
Paul S. Owen
c5ee8b8c49 Change to discover auth ... this time I think I got it right ... ooohh look @ that pretty iceberg ...
git-svn-id: file:///svn/phpbb/trunk@4658 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-10 14:19:33 +00:00
Paul S. Owen
d5df8a33a5 Note that these changes are as yet untested
git-svn-id: file:///svn/phpbb/trunk@4657 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-10 14:18:54 +00:00
Paul S. Owen
4a05ef300b Some minor alterations to neaten it up a little ... hopefully Acyd won't be too upset
git-svn-id: file:///svn/phpbb/trunk@4656 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-08 18:12:46 +00:00
Paul S. Owen
dd5120f95e Finally add deletion of expired sessions from forum access table, remove request_var useage for explain linkage
git-svn-id: file:///svn/phpbb/trunk@4655 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-08 17:22:04 +00:00
Meik Sievertsen
78f60b901e doh^2!
git-svn-id: file:///svn/phpbb/trunk@4654 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-06 17:13:35 +00:00
Meik Sievertsen
457cdfdb6d doh!
git-svn-id: file:///svn/phpbb/trunk@4653 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-06 17:13:13 +00:00
Meik Sievertsen
558b8ee7ff UCP -> Attachments
git-svn-id: file:///svn/phpbb/trunk@4652 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-06 15:05:50 +00:00
Paul S. Owen
75ccd0e13c Some attachment related changes to lang/layout
git-svn-id: file:///svn/phpbb/trunk@4651 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-06 13:08:37 +00:00
Paul S. Owen
3ccd55c089 Fix deletion of all log entries when deleting those of just one, fix js issue with mark all
git-svn-id: file:///svn/phpbb/trunk@4650 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-06 12:25:21 +00:00
Paul S. Owen
4ed7d9e569 Topics,posts,users,blah
git-svn-id: file:///svn/phpbb/trunk@4649 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:59:33 +00:00
Paul S. Owen
744a82a105 Move ipwhois to functions_admin
git-svn-id: file:///svn/phpbb/trunk@4648 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:57:09 +00:00
Paul S. Owen
47c00e145f users_notes table
git-svn-id: file:///svn/phpbb/trunk@4647 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:51:31 +00:00
Paul S. Owen
1e8bc72d1a Attempt to make page tracking behave a little better
git-svn-id: file:///svn/phpbb/trunk@4646 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:51:05 +00:00
Paul S. Owen
a5ab4cffaa /me whoopsies all over the floor
/me is ashamed


git-svn-id: file:///svn/phpbb/trunk@4645 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:50:12 +00:00
Paul S. Owen
feb0ed7ead Hide special and hidden groups(?)
git-svn-id: file:///svn/phpbb/trunk@4644 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:49:01 +00:00
Paul S. Owen
8a05a6b1f8 Admin load switch for jumpbox
git-svn-id: file:///svn/phpbb/trunk@4643 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:46:31 +00:00
Paul S. Owen
8ad641bd17 Very preliminary user admin update
git-svn-id: file:///svn/phpbb/trunk@4642 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 18:29:02 +00:00
Meik Sievertsen
f265316c29 related to attachments
git-svn-id: file:///svn/phpbb/trunk@4641 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 14:57:29 +00:00
Meik Sievertsen
d8b990820c re-arranged the attachment display, this solves the template problems we are having since the beginning.
git-svn-id: file:///svn/phpbb/trunk@4640 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 14:53:45 +00:00
Paul S. Owen
035ceb0119 Update bots to those most active @ area51
git-svn-id: file:///svn/phpbb/trunk@4639 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-05 01:46:17 +00:00
Meik Sievertsen
3166e9f48f damn local storage folder. :/
git-svn-id: file:///svn/phpbb/trunk@4638 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-04 22:12:52 +00:00
Meik Sievertsen
cd70db7976 new permissions, merged attachment tables (the intended purpose of two tables is no longer valid), attachment updates along the merging...
Note: please merge your attachment tables (develop dir).


git-svn-id: file:///svn/phpbb/trunk@4637 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-04 22:05:38 +00:00
Meik Sievertsen
88f814a5c5 request_var update to support 2-dimensional arrays.
git-svn-id: file:///svn/phpbb/trunk@4636 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-04 21:54:40 +00:00
Meik Sievertsen
472026b8e3 oh my god... HE GOT INSANE!
git-svn-id: file:///svn/phpbb/trunk@4635 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-04 17:41:03 +00:00
Meik Sievertsen
f79d8a3694 finish bump topic feature...
git-svn-id: file:///svn/phpbb/trunk@4634 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 16:10:21 +00:00
Meik Sievertsen
bd508e5a27 yada yada
git-svn-id: file:///svn/phpbb/trunk@4633 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 16:07:54 +00:00
Meik Sievertsen
ff9fcd36df finish bump topic feature...
delete comment field from extension table.


git-svn-id: file:///svn/phpbb/trunk@4632 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 16:06:45 +00:00
Meik Sievertsen
38bdfc561b and we see him again...
git-svn-id: file:///svn/phpbb/trunk@4631 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 16:03:43 +00:00
Meik Sievertsen
979d866ec6 ahhhh, they hurt kenny, stop it... stop it.
git-svn-id: file:///svn/phpbb/trunk@4630 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 16:01:28 +00:00
Meik Sievertsen
cee7de8e1a a lot of handwork is still required...
git-svn-id: file:///svn/phpbb/trunk@4629 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-11-01 11:53:13 +00:00
Meik Sievertsen
41d8e55409 examining all lang vars used in php files will come later... do not forget to make your store folder writeable.
git-svn-id: file:///svn/phpbb/trunk@4628 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-31 19:16:25 +00:00
Meik Sievertsen
ed58e166f5 fix "not able to reply to announcements" and wrong notify checkbox status.
git-svn-id: file:///svn/phpbb/trunk@4627 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-28 21:23:49 +00:00
Paul S. Owen
edbe99feb6 Fix a few items, ability to read private forums, etc. ... must look at reducing need to join on posts table when not absolutely necessary
git-svn-id: file:///svn/phpbb/trunk@4626 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-27 13:18:06 +00:00
Meik Sievertsen
6114414650 oops... not realised the config name change locally. :/
added logging of bump action


git-svn-id: file:///svn/phpbb/trunk@4625 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-22 20:41:00 +00:00
Paul S. Owen
76e1ee162f split
git-svn-id: file:///svn/phpbb/trunk@4624 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-22 15:06:45 +00:00
Paul S. Owen
1a616b2965 jumpto fixes for Mozilla
git-svn-id: file:///svn/phpbb/trunk@4623 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-22 12:20:41 +00:00
Paul S. Owen
4c06be0324 Enable group based avatar ... really not sure about the api layout though
git-svn-id: file:///svn/phpbb/trunk@4622 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 16:50:43 +00:00
Paul S. Owen
7c68d87f21 Enable group based avatar ... really not sure about the api layout though
git-svn-id: file:///svn/phpbb/trunk@4621 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 16:45:33 +00:00
Paul S. Owen
df24e3c8e0 Enable/disable fulltext indexing of a given forum
git-svn-id: file:///svn/phpbb/trunk@4620 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 13:05:15 +00:00
Paul S. Owen
8d3cc99848 Fix some oopsies
git-svn-id: file:///svn/phpbb/trunk@4619 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 13:04:37 +00:00
Paul S. Owen
da7feb37a8 Select boxes rather than several submit buttons ... must standardise these approaches across admin forms
git-svn-id: file:///svn/phpbb/trunk@4618 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 00:16:05 +00:00
Paul S. Owen
411683ffd4 nowrap for th
git-svn-id: file:///svn/phpbb/trunk@4617 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 00:15:28 +00:00
Paul S. Owen
404b52e8fa Lots of hard coded lang strings still to be updated
git-svn-id: file:///svn/phpbb/trunk@4616 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-21 00:08:17 +00:00
Paul S. Owen
85fda8d755 Demote, delete from group and delete group functionality ... when deleting from group the new default will be set according to Admin -> Super Mod -> Reg COPPA -> Reg -> Bot -> Guest which seems quite logical.
git-svn-id: file:///svn/phpbb/trunk@4615 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-20 23:57:24 +00:00
Meik Sievertsen
e7c3370a04 bump topic and orphan attachments
changes here and there...


git-svn-id: file:///svn/phpbb/trunk@4614 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-19 15:36:45 +00:00
Meik Sievertsen
de53ffabb4 mass add/edit smilies and icons
git-svn-id: file:///svn/phpbb/trunk@4613 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-19 15:26:14 +00:00
Meik Sievertsen
5ea7428e1b cleanup
git-svn-id: file:///svn/phpbb/trunk@4612 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-19 15:17:35 +00:00
Paul S. Owen
3d46c543cd nah, stuff the * wildcard ... just match partially, should be sufficient I think
git-svn-id: file:///svn/phpbb/trunk@4611 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-18 12:57:24 +00:00
Paul S. Owen
330f36eb29 Allow wildcard bot matching
git-svn-id: file:///svn/phpbb/trunk@4610 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-18 12:51:50 +00:00
Paul S. Owen
58ebfa1407 fudge-o-rama mkII
git-svn-id: file:///svn/phpbb/trunk@4609 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 23:47:30 +00:00
Paul S. Owen
e7ca1a5286 fudge-o-rama
git-svn-id: file:///svn/phpbb/trunk@4608 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 23:19:25 +00:00
Paul S. Owen
7aa3278def Split profile template
git-svn-id: file:///svn/phpbb/trunk@4607 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 23:19:15 +00:00
Paul S. Owen
6f988e15db ;
git-svn-id: file:///svn/phpbb/trunk@4606 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 21:59:14 +00:00
Paul S. Owen
2951801e6a naughty dot, be gone, be gone I say
git-svn-id: file:///svn/phpbb/trunk@4605 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 20:35:53 +00:00
Paul S. Owen
de4361d698 Wrong name for googlebot .. s'pose we don't really need bot_name, could just use username
git-svn-id: file:///svn/phpbb/trunk@4604 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 17:46:49 +00:00
Paul S. Owen
a47fa4d6ca Remove need for session_ids for "allowed" bots, dump user_founder/user_active in favour of user_type, new user_type, USER_IGNORE
git-svn-id: file:///svn/phpbb/trunk@4603 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 17:43:07 +00:00
Paul S. Owen
8661a45de5 Quick change of title/date
git-svn-id: file:///svn/phpbb/trunk@4602 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 15:41:38 +00:00
Paul S. Owen
10d132fe95 Bot admin
git-svn-id: file:///svn/phpbb/trunk@4601 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-15 15:40:31 +00:00
Paul S. Owen
78613ec07c opsie
git-svn-id: file:///svn/phpbb/trunk@4600 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-14 13:30:43 +00:00
Paul S. Owen
038f43c3fd Don't trigger_error when connect fails in queue, continue queue processing of next object on email/jabber failure
git-svn-id: file:///svn/phpbb/trunk@4599 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-14 13:24:07 +00:00
Paul S. Owen
fadcec80c2 missed a stupid $
git-svn-id: file:///svn/phpbb/trunk@4598 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-13 22:13:03 +00:00
Paul S. Owen
eedef95186 Avatar CP issues ... must finish the gallery (item 28 on my list ...)
git-svn-id: file:///svn/phpbb/trunk@4597 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-13 21:24:03 +00:00
Paul S. Owen
88787be77f sigh
git-svn-id: file:///svn/phpbb/trunk@4596 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-13 20:00:55 +00:00
Paul S. Owen
28aaaf9d01 Moved queue handling back to common ... forgot to introduce session start when error handling ... oopsie
git-svn-id: file:///svn/phpbb/trunk@4595 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-13 17:41:27 +00:00
Paul S. Owen
79469f244f Don't attempt to change the password unless jabber is enabled ...
git-svn-id: file:///svn/phpbb/trunk@4594 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-13 17:41:00 +00:00
Paul S. Owen
bb9cd0f2ba well, seems putting the queue process in the footer doesn't work on "real boards" where people hit stop constantly on their browser :D
git-svn-id: file:///svn/phpbb/trunk@4593 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 23:34:09 +00:00
Paul S. Owen
fca087f846 Minor changes
git-svn-id: file:///svn/phpbb/trunk@4592 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 23:33:26 +00:00
Paul S. Owen
abf3cadc48 Add jabber port, ignore queue lock if older than queue_interval ... probably means it didn't complete (this queue business may cause us problems ...)
git-svn-id: file:///svn/phpbb/trunk@4591 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 20:38:37 +00:00
Paul S. Owen
a175297e14 Disconnect ...
git-svn-id: file:///svn/phpbb/trunk@4590 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 20:31:35 +00:00
Paul S. Owen
e93a382870 pooh
git-svn-id: file:///svn/phpbb/trunk@4589 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 19:59:20 +00:00
Paul S. Owen
a82d2e4edd account registration/changing, password changing
git-svn-id: file:///svn/phpbb/trunk@4588 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 19:58:01 +00:00
Paul S. Owen
0cca5430d8 Only updates config vars at present ... will create accounts, etc. eventually.
git-svn-id: file:///svn/phpbb/trunk@4587 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 16:20:10 +00:00
Paul S. Owen
b82f182b83 hmmmm
git-svn-id: file:///svn/phpbb/trunk@4586 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 16:16:43 +00:00
Paul S. Owen
7166cb43ba this was working ... hhmmm
git-svn-id: file:///svn/phpbb/trunk@4585 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 15:45:34 +00:00
Paul S. Owen
17181fc129 They killed emailer! Those b*****ds!
git-svn-id: file:///svn/phpbb/trunk@4584 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 15:40:48 +00:00
Paul S. Owen
9da094fec2 Updated the various "users of emailer", fixed issue(!) of jabber using the email address as the uid, blah fixes, blah, blah di blah yakety smackety
git-svn-id: file:///svn/phpbb/trunk@4583 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 15:29:18 +00:00
Paul S. Owen
90ad130d48 Wasn't finished and on my system is not performing correctly ... hence comments ;) Please leave commented out for now.
git-svn-id: file:///svn/phpbb/trunk@4582 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 15:14:05 +00:00
Meik Sievertsen
8d5ce7bbb4 do not delete all users, i do not know if this was intended paul. :)
user_jabber not used within messenger object, only 'email' defined.


git-svn-id: file:///svn/phpbb/trunk@4581 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 14:56:53 +00:00
Paul S. Owen
3d1731b7cc Mass email messenger updates, can mass email selected users
git-svn-id: file:///svn/phpbb/trunk@4580 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 12:37:25 +00:00
Paul S. Owen
14928b2780 Split ucp templates, more of them but easier to understand IMO
git-svn-id: file:///svn/phpbb/trunk@4579 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 11:59:56 +00:00
Paul S. Owen
eeb4907112 Let's break lots of things
git-svn-id: file:///svn/phpbb/trunk@4578 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 11:59:23 +00:00
Meik Sievertsen
3bd4218780 sticky/announcement time limit
login upon notification


git-svn-id: file:///svn/phpbb/trunk@4577 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:27:16 +00:00
Meik Sievertsen
149fff3596 login prompt upon notified about new topic
enabled prune_viewed at auto_prune.


git-svn-id: file:///svn/phpbb/trunk@4576 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:21:08 +00:00
Meik Sievertsen
dd83786c49 speed up posting in general... and some cleanups.
git-svn-id: file:///svn/phpbb/trunk@4575 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:18:56 +00:00
Meik Sievertsen
f559ce8e93 *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@4574 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:16:33 +00:00
Meik Sievertsen
98bd5b74f2 optimized update_last_post_information query.
git-svn-id: file:///svn/phpbb/trunk@4573 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:13:04 +00:00
Meik Sievertsen
7924d903b0 comment out optimize block (Ashe, please review)
moved phpbb_unlink to functions_admin (used in more than one script)


git-svn-id: file:///svn/phpbb/trunk@4572 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:11:33 +00:00
Meik Sievertsen
32683fda12 new rule
git-svn-id: file:///svn/phpbb/trunk@4571 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:09:58 +00:00
Meik Sievertsen
c5b5dd033a no fun without the lang.
git-svn-id: file:///svn/phpbb/trunk@4570 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:04:36 +00:00
Meik Sievertsen
8f90b25b39 new config variable for upload icon path
new permission - f_lock - allow users locking own topics


git-svn-id: file:///svn/phpbb/trunk@4569 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:03:21 +00:00
Meik Sievertsen
c6c56a9c07 enable pruning by Post Viewed time on auto_prune.
two changes to improve posting speed.


git-svn-id: file:///svn/phpbb/trunk@4568 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 09:02:11 +00:00
Meik Sievertsen
1123227ad9 enable pruning by Post Viewed time on auto_prune
git-svn-id: file:///svn/phpbb/trunk@4567 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 08:58:09 +00:00
Meik Sievertsen
fe9b0e106d request_var update
git-svn-id: file:///svn/phpbb/trunk@4566 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 08:57:04 +00:00
Meik Sievertsen
3b9111cb5e enable upload icon path
git-svn-id: file:///svn/phpbb/trunk@4565 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 08:56:17 +00:00
Meik Sievertsen
ea928a6012 cleanups and fixes
git-svn-id: file:///svn/phpbb/trunk@4564 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 08:55:41 +00:00
Paul S. Owen
871e729906 Jabber or Email enable check for subscribe forum
git-svn-id: file:///svn/phpbb/trunk@4563 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 00:21:25 +00:00
Paul S. Owen
fe3cac735e oopsie on output of subscribe forum/mark topics read output
git-svn-id: file:///svn/phpbb/trunk@4562 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 00:18:46 +00:00
Paul S. Owen
537cab48e6 A number of new config vars
git-svn-id: file:///svn/phpbb/trunk@4561 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 00:02:12 +00:00
Paul S. Owen
d29798a7a2 Various updates and fixes
git-svn-id: file:///svn/phpbb/trunk@4560 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 00:01:42 +00:00
Paul S. Owen
f26afd8889 optionget/optionset updates
git-svn-id: file:///svn/phpbb/trunk@4559 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-12 00:00:03 +00:00
Paul S. Owen
fdcad33b8b oopsie, $fp no longer exists, using lock file instead
git-svn-id: file:///svn/phpbb/trunk@4558 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:59:41 +00:00
Paul S. Owen
0d56643cb2 include_once
git-svn-id: file:///svn/phpbb/trunk@4557 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:58:57 +00:00
Paul S. Owen
2d1eb29e36 Various new phrases
git-svn-id: file:///svn/phpbb/trunk@4556 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:55:07 +00:00
Paul S. Owen
08b66d9025 Slashing of allowed username chars corrected ... may not appear to work "correctly" till remaining changes are committed
git-svn-id: file:///svn/phpbb/trunk@4555 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:54:00 +00:00
Paul S. Owen
19f03aa6b7 Removed duplicate methods, tidied some code
git-svn-id: file:///svn/phpbb/trunk@4554 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:52:46 +00:00
Paul S. Owen
dd39be7f51 Merge email and IM (jabber) messaging
git-svn-id: file:///svn/phpbb/trunk@4553 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 23:51:29 +00:00
Meik Sievertsen
b2a26d6bf8 do not remove multiple newlines for posting message
git-svn-id: file:///svn/phpbb/trunk@4552 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 11:57:03 +00:00
Meik Sievertsen
8f4967a228 re-add quote button. ;)
git-svn-id: file:///svn/phpbb/trunk@4551 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-11 11:46:29 +00:00
Meik Sievertsen
ee056e09f7 not my day me thinks
git-svn-id: file:///svn/phpbb/trunk@4550 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 16:08:46 +00:00
Meik Sievertsen
508b94ee12 ok, but now, really group by. :)
git-svn-id: file:///svn/phpbb/trunk@4549 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 15:59:45 +00:00
Meik Sievertsen
2094094b76 group by smile_url
git-svn-id: file:///svn/phpbb/trunk@4548 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 15:58:34 +00:00
Meik Sievertsen
d585b01f78 new link to topic. (sometimes the post link is invalid [post deleted], this is the easiest method to prevent users screaming about non-existing topics)
git-svn-id: file:///svn/phpbb/trunk@4547 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 15:07:10 +00:00
Meik Sievertsen
ffb736878c sticky/announcement time limit
git-svn-id: file:///svn/phpbb/trunk@4546 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 15:04:18 +00:00
Meik Sievertsen
37411be1e4 notification fix (wrong template var)
sticky/announcement time limit (viewtopic is pending)


git-svn-id: file:///svn/phpbb/trunk@4545 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 15:02:48 +00:00
Meik Sievertsen
09f0238af2 admin decides which smilies to be displayed in posting screen
git-svn-id: file:///svn/phpbb/trunk@4544 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-10 12:11:18 +00:00
Meik Sievertsen
f0e6b45dcf merged topic and post review
git-svn-id: file:///svn/phpbb/trunk@4543 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-09 16:56:40 +00:00
Meik Sievertsen
736b1262e4 merged topic and post review
review updates
fix topic title


git-svn-id: file:///svn/phpbb/trunk@4542 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-09 16:55:56 +00:00
Meik Sievertsen
b1af72b27b dumdidum...
git-svn-id: file:///svn/phpbb/trunk@4541 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-09 14:53:56 +00:00
Meik Sievertsen
40c38c6f81 request_var updates
attachment updates/fixes


git-svn-id: file:///svn/phpbb/trunk@4540 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-09 14:49:21 +00:00
Meik Sievertsen
4da761be39 fix resource id error. ;)
request_var updates
attachment updates/fixes
fix bbcode uid
Redirect to login upon emailed notification links (viewtopic and viewforum are not committed yet)


git-svn-id: file:///svn/phpbb/trunk@4539 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-09 14:48:55 +00:00
Paul S. Owen
a69762f024 Remove request_var
git-svn-id: file:///svn/phpbb/trunk@4538 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-08 11:31:04 +00:00
Meik Sievertsen
4921307020 cross browser compatibility
git-svn-id: file:///svn/phpbb/trunk@4537 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-07 18:58:01 +00:00
Meik Sievertsen
b379772198 parse error...
git-svn-id: file:///svn/phpbb/trunk@4536 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-07 17:33:02 +00:00
Meik Sievertsen
30b86bca06 changed user_notification... should be clearer to human brains and performance. :)
git-svn-id: file:///svn/phpbb/trunk@4535 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-07 17:29:53 +00:00
Ludovic Arnaud
1cfade7f0c Revamped sync()
Fixed: does not take subforums into consideration when sync'ing forum_ counters
Added: handles empty topics and orphan posts when syncing forums


git-svn-id: file:///svn/phpbb/trunk@4534 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 20:11:58 +00:00
Ludovic Arnaud
86be90bc49 Asylum seekers ate my baby
git-svn-id: file:///svn/phpbb/trunk@4533 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 20:05:58 +00:00
Ludovic Arnaud
4b00d2ec21 Allow/disallow [quote] tags. If we make any other bbcode disable-able we should consider passing them in an array ;)
git-svn-id: file:///svn/phpbb/trunk@4532 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 19:59:17 +00:00
Paul S. Owen
efad675c35 Add seperate search_time field to search_results
git-svn-id: file:///svn/phpbb/trunk@4531 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 12:57:12 +00:00
Paul S. Owen
c640a51755 Add search interval check, correct a couple of errors
git-svn-id: file:///svn/phpbb/trunk@4530 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 12:56:53 +00:00
Paul S. Owen
64e4e4aaae oop, username, not id ...
git-svn-id: file:///svn/phpbb/trunk@4529 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-05 12:15:33 +00:00
Paul S. Owen
54a3a8e2db Add "Add Friend" to viewprofile
git-svn-id: file:///svn/phpbb/trunk@4528 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-04 14:00:31 +00:00
Paul S. Owen
7c940b9dc2 Minor mods
git-svn-id: file:///svn/phpbb/trunk@4527 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-04 14:00:02 +00:00
Paul S. Owen
288bc45e3a alter layout slightly
git-svn-id: file:///svn/phpbb/trunk@4526 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-04 13:58:36 +00:00
Paul S. Owen
29ad97ebf7 minor update to check for mods/admins
git-svn-id: file:///svn/phpbb/trunk@4525 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-04 13:58:23 +00:00
Paul S. Owen
c41938fd8a Change in format of module db data, add zebra, many things probably "damaged goods" for now ... don't panic Mr. Mainwaring, don't panic
git-svn-id: file:///svn/phpbb/trunk@4524 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-01 17:37:08 +00:00
Paul S. Owen
78c0f3ad5d Module schema addition, note this may change depending on further discussion and screw ups
git-svn-id: file:///svn/phpbb/trunk@4523 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-01 17:31:19 +00:00
Paul S. Owen
860dc47114 Change in format of module db data, add zebra, many things probably "damaged goods" for now ... don't panic Mr. Mainwaring, don't panic
git-svn-id: file:///svn/phpbb/trunk@4522 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-01 17:24:53 +00:00
Paul S. Owen
64177fa87e request_var init
git-svn-id: file:///svn/phpbb/trunk@4521 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-10-01 17:22:58 +00:00
Paul S. Owen
4612fdc929 Note these are _not_ final nor in their likely final locations ...
git-svn-id: file:///svn/phpbb/trunk@4520 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-30 17:46:05 +00:00
Paul S. Owen
3e80c0339d Tpl compile stuff
git-svn-id: file:///svn/phpbb/trunk@4519 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-29 00:21:01 +00:00
Paul S. Owen
af4aa311e2 Add load_tplcompile var
git-svn-id: file:///svn/phpbb/trunk@4518 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-29 00:20:34 +00:00
Paul S. Owen
f2d90ce32f Switch for recompilation (based on filesystem modified time)
git-svn-id: file:///svn/phpbb/trunk@4517 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-29 00:20:17 +00:00
Ludovic Arnaud
a32d43d94a Fixed: wrong parent_id, incorrect $mode case. Now I'm done checking if it was possible to screw up the tree, the answer was yes.
git-svn-id: file:///svn/phpbb/trunk@4516 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-28 22:18:10 +00:00
Paul S. Owen
3e23d958ac Fix missing path seperators in template/imageset T_ vars
git-svn-id: file:///svn/phpbb/trunk@4515 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-27 20:45:46 +00:00
Paul S. Owen
3db6ba2561 Allow for start,end values within begin/end loops
git-svn-id: file:///svn/phpbb/trunk@4514 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-27 20:44:43 +00:00
Meik Sievertsen
09c03fd31a let's see how this is performing, if it is not behaving "exactly" like the iframe (scrolling for content exceeding 300px in height) on "all" browsers (except NS4 of course), then the iframe will appear again.
git-svn-id: file:///svn/phpbb/trunk@4512 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-26 06:38:10 +00:00
Meik Sievertsen
3b1834c1ab i admit it
git-svn-id: file:///svn/phpbb/trunk@4511 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-26 06:36:28 +00:00
Meik Sievertsen
8675e30366 some small fixes
got rid of iframe (topic review)... tested new div method with various browsers, further testing and oppinions would be nice. ;)
NOTE: New css element added to theme


git-svn-id: file:///svn/phpbb/trunk@4510 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-24 19:41:14 +00:00
Ludovic Arnaud
f614337627 Fixed: announcements being listed last
Changed: moved up the announcements query a little, rows are stored in the order they're fetched, the final order of topics is in $topic_list. Will be easier if we come to prefetching topics


git-svn-id: file:///svn/phpbb/trunk@4509 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-17 22:13:23 +00:00
Ludovic Arnaud
49b47422b3 Fixed: sql_return_on_error() calls. Now works as expected
Changed: var types explicitly casted

This checkin msg is dedicated to dhn ;)


git-svn-id: file:///svn/phpbb/trunk@4508 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-17 21:51:21 +00:00
Ludovic Arnaud
57f8f26999 Added: ability to sync() a range of id's
Changed: resource ID passed to sql_freeresult(), moved up some unset() calls


git-svn-id: file:///svn/phpbb/trunk@4507 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-17 20:11:56 +00:00
Paul S. Owen
84caf42728 oops, forgot to commit this earlier ... update for search author
git-svn-id: file:///svn/phpbb/trunk@4506 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 23:52:22 +00:00
Meik Sievertsen
b8dadd119a topic type selection moved to template.
git-svn-id: file:///svn/phpbb/trunk@4505 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 21:07:49 +00:00
Meik Sievertsen
9c1391b7a2 stat update fixes
global announcement fixes


git-svn-id: file:///svn/phpbb/trunk@4504 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 21:05:30 +00:00
Meik Sievertsen
480997b838 fix poll parsing
git-svn-id: file:///svn/phpbb/trunk@4503 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 21:04:18 +00:00
Meik Sievertsen
d065b8ea1e no longer supporting ftp upload
git-svn-id: file:///svn/phpbb/trunk@4502 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 21:02:10 +00:00
Meik Sievertsen
9ce85a9065 fix: assign parent id
git-svn-id: file:///svn/phpbb/trunk@4501 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 21:00:34 +00:00
Paul S. Owen
6bc091f373 ah, what the heck ... let's throw this in CVS
git-svn-id: file:///svn/phpbb/trunk@4500 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-15 16:33:12 +00:00
Ludovic Arnaud
a4a989dbfe Fixed: invalid start value will not cause the whole table to be returned ;)
Changed: some lang strings. lang_main to be updated soon


git-svn-id: file:///svn/phpbb/trunk@4499 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-14 22:25:16 +00:00
Ludovic Arnaud
c1b9ddb662 Fixed: invalid start value will not cause the whole table to be returned ;)
git-svn-id: file:///svn/phpbb/trunk@4498 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-14 22:24:16 +00:00
Ludovic Arnaud
2d0e00653c Fixed: I think that how it was intended to work ;)
git-svn-id: file:///svn/phpbb/trunk@4497 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-14 22:22:39 +00:00
Ludovic Arnaud
f96ded2eb6 MCP take 2, see forum
git-svn-id: file:///svn/phpbb/trunk@4496 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-14 22:21:57 +00:00
Paul S. Owen
dff8c2e0e1 Extension var update
git-svn-id: file:///svn/phpbb/trunk@4495 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-13 14:50:45 +00:00
Meik Sievertsen
89dd1d8a08 fix bbcode_uid, we do not like you empty. :D
git-svn-id: file:///svn/phpbb/trunk@4493 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-09 16:34:00 +00:00
Meik Sievertsen
a363e8dcdb fixed censoring (quote post, word boundaries, attachment comments)
git-svn-id: file:///svn/phpbb/trunk@4492 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-09 07:02:57 +00:00
Paul S. Owen
08161e09e2 I hate regexps ...
git-svn-id: file:///svn/phpbb/trunk@4491 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-09 01:01:59 +00:00
Paul S. Owen
7b037d5e42 Trim emoticon preg
git-svn-id: file:///svn/phpbb/trunk@4490 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-09 01:01:34 +00:00
Paul S. Owen
6f96492dd9 This one may work ... wouldn't it be nice if it did?
git-svn-id: file:///svn/phpbb/trunk@4489 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-09 01:00:11 +00:00
Paul S. Owen
c1589a9cdb few more updates/fixes
git-svn-id: file:///svn/phpbb/trunk@4488 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-08 23:24:01 +00:00
Paul S. Owen
7d4b42c68e Some re-arrangement of validation routines to improve extensibility
git-svn-id: file:///svn/phpbb/trunk@4487 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-08 12:42:32 +00:00
Meik Sievertsen
924684b000 small things... decode_text now checks for bbcode_uid existence. And yes, i know i have screwed up a lot of posts. :/
git-svn-id: file:///svn/phpbb/trunk@4486 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-08 07:05:29 +00:00
Meik Sievertsen
9dc398f302 username quoting should be working again...
git-svn-id: file:///svn/phpbb/trunk@4485 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 18:11:37 +00:00
Paul S. Owen
dd86187535 hhmm
git-svn-id: file:///svn/phpbb/trunk@4484 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 17:58:19 +00:00
Meik Sievertsen
d8042fab7b fix preview of postings with embedded bbcode
git-svn-id: file:///svn/phpbb/trunk@4483 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 17:52:53 +00:00
Meik Sievertsen
db2a73d2f0 okie, using array_merge. :D
fixed: admin_prune
added: prune topics last viewed at... (only admin_prune ATM)
moved: delete_attachments to functions_admin


git-svn-id: file:///svn/phpbb/trunk@4482 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 17:16:12 +00:00
Paul S. Owen
734b62cca6 ERrOr
git-svn-id: file:///svn/phpbb/trunk@4481 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 16:57:02 +00:00
Paul S. Owen
13e01d7b93 Extension var update
git-svn-id: file:///svn/phpbb/trunk@4480 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 16:52:51 +00:00
Meik Sievertsen
0b78036d66 put deletion of post into function
git-svn-id: file:///svn/phpbb/trunk@4479 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 15:49:03 +00:00
Meik Sievertsen
6aa059c403 update topic stats if complete topic is stored for approval.
git-svn-id: file:///svn/phpbb/trunk@4478 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 15:33:20 +00:00
Meik Sievertsen
028311c6f9 some sync-related updates... more logical processing of submit_post.
git-svn-id: file:///svn/phpbb/trunk@4477 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 15:23:55 +00:00
Paul S. Owen
c9e8ce2dba grumble
git-svn-id: file:///svn/phpbb/trunk@4476 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 13:54:25 +00:00
Paul S. Owen
12c44058fd Re-add transport and other methods
git-svn-id: file:///svn/phpbb/trunk@4475 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 13:51:53 +00:00
Paul S. Owen
fe70cdf4ce Removed extension ... generated internally
git-svn-id: file:///svn/phpbb/trunk@4474 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 13:47:53 +00:00
Paul S. Owen
8ac06a256b Updates mainly for removal of extension + header comment ... moved some aspects of ucp around, further work to be done on these areas ... not commiting search for time being
git-svn-id: file:///svn/phpbb/trunk@4473 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-07 13:46:51 +00:00
Ludovic Arnaud
e1ba6d3c52 Added: fetch posts the other way (see forum)
git-svn-id: file:///svn/phpbb/trunk@4472 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-06 22:18:06 +00:00
Ludovic Arnaud
23a98e5530 Added: fetch posts the other way (see forum)
Fixed: call-time pass by reference is deprecated on PHP 4.2.0+ and it may display a warning
Fixed: str_replace() on highlight words


git-svn-id: file:///svn/phpbb/trunk@4471 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-06 22:16:33 +00:00
Paul S. Owen
baca8d3221 Some sig preview issues ... I'll finish this UCP stuff at some point soon ... honest
git-svn-id: file:///svn/phpbb/trunk@4470 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-04 22:07:12 +00:00
Ludovic Arnaud
ecc9b5eb41 Less bugged version. If you sync a forum, you'll be taken back to the forum list where a message will be displayed.
git-svn-id: file:///svn/phpbb/trunk@4469 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-04 21:53:43 +00:00
Ludovic Arnaud
9f4d9ae268 Minor change. You may have to empty your cache.
git-svn-id: file:///svn/phpbb/trunk@4468 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-04 21:51:22 +00:00
Meik Sievertsen
fec9073f3a initial draft functionality, loading (and a bunch of other stuff) is not implemented yet + bugfixes.
git-svn-id: file:///svn/phpbb/trunk@4467 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-04 18:30:20 +00:00
Ludovic Arnaud
52e42838d9 Added: BBCode admin lang strings
git-svn-id: file:///svn/phpbb/trunk@4466 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-03 21:58:38 +00:00
Ludovic Arnaud
c9c595781f Changed: APIsation in progress :)
git-svn-id: file:///svn/phpbb/trunk@4465 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-03 21:57:35 +00:00
Ludovic Arnaud
fef9d2d08a Changed: headers, and a couple of clean-ups
git-svn-id: file:///svn/phpbb/trunk@4464 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-03 21:53:41 +00:00
Ludovic Arnaud
7ea3d109da Added logging abilitiy
git-svn-id: file:///svn/phpbb/trunk@4463 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-09-03 21:44:08 +00:00
Paul S. Owen
1c2f9cdfd0 Various template updates, mainly search related
git-svn-id: file:///svn/phpbb/trunk@4462 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-31 00:16:51 +00:00
Meik Sievertsen
afc8c9ba25 oops
git-svn-id: file:///svn/phpbb/trunk@4461 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-30 12:59:29 +00:00
Meik Sievertsen
12b9f0b842 enable globalising within posting screen
not sure about forum statistics updates at the moment.


git-svn-id: file:///svn/phpbb/trunk@4460 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-30 12:21:31 +00:00
Paul S. Owen
311cc6c3f0 speed up split words a tad
git-svn-id: file:///svn/phpbb/trunk@4459 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-30 01:53:17 +00:00
Meik Sievertsen
9f7db6a21c fixed: slashing attachment comments (hopefully)
changed header.


git-svn-id: file:///svn/phpbb/trunk@4458 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-29 18:06:56 +00:00
Paul S. Owen
563feb4d39 Some html layout cleanups
git-svn-id: file:///svn/phpbb/trunk@4457 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-29 12:39:30 +00:00
Paul S. Owen
b18b881e52 Nav output for non-postable subforums, minor changes for voting, change | to &bull; just to see how it looks :)
git-svn-id: file:///svn/phpbb/trunk@4456 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-29 00:32:03 +00:00
Paul S. Owen
ed6948732a Changing of votes ... possible new icons for "new votes since last view" in viewforum
git-svn-id: file:///svn/phpbb/trunk@4455 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-29 00:30:17 +00:00
Ludovic Arnaud
9798d795ce admin_bbcodes.php lang strings
git-svn-id: file:///svn/phpbb/trunk@4454 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 20:51:50 +00:00
Ludovic Arnaud
d80f50eb90 Added: admin definable bbcodes
Changed: preg references, use the prefered $n form instead of the old \\n one
Fixed: tweaked PHP highlightning a little


git-svn-id: file:///svn/phpbb/trunk@4453 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 20:50:20 +00:00
Ludovic Arnaud
2bbeda86c2 Guess what? Custom BBCodes are coming
git-svn-id: file:///svn/phpbb/trunk@4452 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 20:36:20 +00:00
Meik Sievertsen
964edc8693 saved one query by moving max smilie check to the emoticons function
git-svn-id: file:///svn/phpbb/trunk@4451 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 17:32:18 +00:00
Paul S. Owen
5b6e9931b3 oops
git-svn-id: file:///svn/phpbb/trunk@4449 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 14:10:13 +00:00
Ludovic Arnaud
c5f616856b Taken explain code out of sql_query. New improved layout.
git-svn-id: file:///svn/phpbb/trunk@4448 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 00:28:18 +00:00
Ludovic Arnaud
f21ec1f466 Taken explain code out of sql_query. New improved layout.
git-svn-id: file:///svn/phpbb/trunk@4447 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-28 00:22:18 +00:00
Paul S. Owen
323f495fb8 user option method (get) start
git-svn-id: file:///svn/phpbb/trunk@4446 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 22:25:43 +00:00
Ludovic Arnaud
c45905852b Changed: Allow multiple reports. If one tries to report the same post twice, it will silently update the existing report.
git-svn-id: file:///svn/phpbb/trunk@4445 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 22:03:12 +00:00
Ludovic Arnaud
dd2468ac1c Changed: Allow multiple reports. If one tries to report the same post twice, it will silently update the existing report.
git-svn-id: file:///svn/phpbb/trunk@4444 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 20:35:35 +00:00
Ludovic Arnaud
3990cefcc0 Splitted lang array for clarity
git-svn-id: file:///svn/phpbb/trunk@4443 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 19:49:38 +00:00
Ludovic Arnaud
691b1dc7fc Fixed: incorrect var names - Paul, please take a look if you have time
git-svn-id: file:///svn/phpbb/trunk@4442 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 18:58:51 +00:00
Paul S. Owen
7d7a08eee6 Various bits and pieces ... this isn't really what I wanted M-2 to look like but hum ho
git-svn-id: file:///svn/phpbb/trunk@4441 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 16:32:44 +00:00
Paul S. Owen
6225256418 bah, group handling needs some further discussion ... I'm done with it for M-2
git-svn-id: file:///svn/phpbb/trunk@4440 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 16:31:54 +00:00
Paul S. Owen
2c9b17ba48 oopsie
git-svn-id: file:///svn/phpbb/trunk@4439 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 00:33:28 +00:00
Paul S. Owen
3de3b9e9cf Move presently implemented group functions to ... functions
git-svn-id: file:///svn/phpbb/trunk@4438 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-27 00:32:00 +00:00
Paul S. Owen
b61ea7da25 user colour
git-svn-id: file:///svn/phpbb/trunk@4437 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 17:05:43 +00:00
Paul S. Owen
b92a5b9740 Group related updates
git-svn-id: file:///svn/phpbb/trunk@4436 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 16:57:19 +00:00
Paul S. Owen
634ac45db5 Various, acm_type, etc.
git-svn-id: file:///svn/phpbb/trunk@4435 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 16:53:40 +00:00
Paul S. Owen
795d702397 acm_type var name update
git-svn-id: file:///svn/phpbb/trunk@4434 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 16:53:26 +00:00
Paul S. Owen
7947c4e92c Show legend if group coloured and not hidden
git-svn-id: file:///svn/phpbb/trunk@4433 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 16:48:31 +00:00
Paul S. Owen
056af19ae6 sigh, my damn keyboard ... stupid CTRL key never works properly
git-svn-id: file:///svn/phpbb/trunk@4432 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 11:25:17 +00:00
Paul S. Owen
608f67b947 Remove topic_watch/unwatch from insert
git-svn-id: file:///svn/phpbb/trunk@4431 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 10:41:19 +00:00
Paul S. Owen
d96bb3a86e A few more changes ... nearly there ... deleting users is going to be a little troublesome
git-svn-id: file:///svn/phpbb/trunk@4430 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-25 01:38:49 +00:00
Paul S. Owen
fb5a64a319 The moving of update eliminates it's usefulness ... given the change was done to increase security it wins :)
git-svn-id: file:///svn/phpbb/trunk@4429 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-24 18:16:53 +00:00
Ludovic Arnaud
bd897d4259 Because of vars being unset by common.php we must always declare them after common.php has been called
git-svn-id: file:///svn/phpbb/trunk@4428 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 21:53:01 +00:00
Ludovic Arnaud
3ad05b08cc More paranoia
git-svn-id: file:///svn/phpbb/trunk@4427 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 21:51:31 +00:00
Paul S. Owen
3eb6414cc9 Colourise username ... to bring a nice cheery smile to SHS` face ... anything is an improvement :P
git-svn-id: file:///svn/phpbb/trunk@4426 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 18:31:28 +00:00
Paul S. Owen
7e97dbdabd That shouldn't be there ...
git-svn-id: file:///svn/phpbb/trunk@4425 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 18:20:25 +00:00
Paul S. Owen
60ced25ee5 hhmmm again
git-svn-id: file:///svn/phpbb/trunk@4424 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 01:21:50 +00:00
Paul S. Owen
6ca10363a6 hmmm
git-svn-id: file:///svn/phpbb/trunk@4422 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 01:03:52 +00:00
Paul S. Owen
39fa3b6b25 Mostly non-working still ... can add new users/team leaders
git-svn-id: file:///svn/phpbb/trunk@4421 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-23 01:01:20 +00:00
Paul S. Owen
97415b7c81 Minor update, use row1 instead of row3 as the legend td class
git-svn-id: file:///svn/phpbb/trunk@4420 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-22 23:40:27 +00:00
Paul S. Owen
115c8d4e70 Dump group moderator table, add field to user_group table
git-svn-id: file:///svn/phpbb/trunk@4419 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-22 22:51:12 +00:00
Paul S. Owen
28b604b69c Various updates "discovered" while working on website compression function useage
git-svn-id: file:///svn/phpbb/trunk@4418 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-22 00:35:59 +00:00
Paul S. Owen
bfedee8380 Wake up oh dozey one ...
git-svn-id: file:///svn/phpbb/trunk@4417 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-22 00:30:54 +00:00
Paul S. Owen
61a19df599 specialchars data in swatch, rejiggle index variable setting and comparisons, replace .php with $phpEx in styles for swatch
git-svn-id: file:///svn/phpbb/trunk@4416 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-22 00:28:45 +00:00
Ludovic Arnaud
b9e00bba7d Display page number infos only when necessary
git-svn-id: file:///svn/phpbb/trunk@4415 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-21 13:53:17 +00:00
Ludovic Arnaud
77fc6fabb5 I said "temp"
git-svn-id: file:///svn/phpbb/trunk@4414 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-21 13:51:29 +00:00
Ludovic Arnaud
389b50ed9e Minor changes
git-svn-id: file:///svn/phpbb/trunk@4413 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-17 20:15:28 +00:00
Ludovic Arnaud
bf25f0df9a Fixed: removes the ending slash if the script path is empty resulting in a double slash in the URL
git-svn-id: file:///svn/phpbb/trunk@4412 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-17 17:52:30 +00:00
Paul S. Owen
c2a42988c7 They look changed ... :D
git-svn-id: file:///svn/phpbb/trunk@4410 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-16 13:26:23 +00:00
Meik Sievertsen
8e0214256c path to editor.js.
git-svn-id: file:///svn/phpbb/trunk@4409 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-15 16:38:24 +00:00
Meik Sievertsen
95267c1f84 now display_notice is working as expected.
git-svn-id: file:///svn/phpbb/trunk@4408 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-15 16:33:21 +00:00
Meik Sievertsen
3623207f88 hmm, we never had such an object. :)
git-svn-id: file:///svn/phpbb/trunk@4407 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-15 16:32:48 +00:00
Paul S. Owen
9041b88501 Minor oopsie, forgot border="0" in image url ... probably make this defineable
git-svn-id: file:///svn/phpbb/trunk@4406 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-14 23:50:35 +00:00
Paul S. Owen
dbd512138e imageset editing code a little messy, need to add update/replace capability to all three elements but that's for M-4 ... I think we may be done for M-2
git-svn-id: file:///svn/phpbb/trunk@4405 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-14 23:32:50 +00:00
Paul S. Owen
09902892c0 No image graphic
git-svn-id: file:///svn/phpbb/trunk@4404 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-14 11:43:07 +00:00
Paul S. Owen
32e2c788c2 Raft of fixes ... hopefully things are working as they should ... if not, I'll be requring a new PC since I don't think this one will work too well after being dropped out a third floor window
git-svn-id: file:///svn/phpbb/trunk@4403 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 17:54:29 +00:00
Paul S. Owen
bb14bcbe6b Raft of fixes ... hopefully things are working as they should ... if not, I'll be requring a new PC since I don't think this one will work too well after being dropped out a third floor window
git-svn-id: file:///svn/phpbb/trunk@4402 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 17:38:54 +00:00
Meik Sievertsen
66836ea525 re-display download notice
git-svn-id: file:///svn/phpbb/trunk@4401 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 16:58:48 +00:00
Meik Sievertsen
c0551af851 bye bye forbidden extensions... we have a deny,allow rule for extensions, forbidden extensions are therefore a little bit redundant.
git-svn-id: file:///svn/phpbb/trunk@4400 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 16:56:01 +00:00
Paul S. Owen
e46f4cb505 Seems some compression applications don't bother with little things like standards ...
git-svn-id: file:///svn/phpbb/trunk@4399 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 16:43:58 +00:00
Paul S. Owen
321eb7eedc Fix up issues with .tar, .tar.gz and .tar.bz2 archives and directory structure creation
git-svn-id: file:///svn/phpbb/trunk@4398 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 16:11:04 +00:00
Paul S. Owen
808d0f1455 Some tidying up of theme editing, highlight used classes, enable custom class addition, allow tabs, newlines, etc. within class strings ... though standard format is very much prefered
git-svn-id: file:///svn/phpbb/trunk@4397 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-13 14:35:50 +00:00
Paul S. Owen
1e91f9b554 query_id return changed back ... I think somethins is afoot with my local repository ...
git-svn-id: file:///svn/phpbb/trunk@4396 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 23:40:14 +00:00
Paul S. Owen
1d8f0dba07 Do away with showing "categories" in the subforum listing ... just output a subforum icon/link ... people appear to want this in preference
git-svn-id: file:///svn/phpbb/trunk@4395 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 22:33:26 +00:00
Paul S. Owen
620f70fe1e Destroy! Destroy! Danger! Will Robinson Danger! ... Doctor Smith will destroy the cached SQL when something changes ...
git-svn-id: file:///svn/phpbb/trunk@4394 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 22:24:19 +00:00
Paul S. Owen
f8accfd986 oopsie on closedir
git-svn-id: file:///svn/phpbb/trunk@4393 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 22:20:44 +00:00
Paul S. Owen
3a90899e3d Fix topic count query
git-svn-id: file:///svn/phpbb/trunk@4392 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 20:53:13 +00:00
Paul S. Owen
eeab805012 Updates for installation of styles
git-svn-id: file:///svn/phpbb/trunk@4391 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 20:46:43 +00:00
Paul S. Owen
e6978f1e1c Setting returned query_id to correct value
git-svn-id: file:///svn/phpbb/trunk@4390 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 16:03:29 +00:00
Ludovic Arnaud
567ff01df1 Added: ability to destroy specific SQL caches
git-svn-id: file:///svn/phpbb/trunk@4389 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 15:46:03 +00:00
Paul S. Owen
f584f14af9 More condensing ... next, imageset editing and cleanup of theme/template editing ... then we'll call it a day till M-3 I think
git-svn-id: file:///svn/phpbb/trunk@4388 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 15:19:24 +00:00
Paul S. Owen
98d4554f02 Fixing more broken things ...
git-svn-id: file:///svn/phpbb/trunk@4387 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 14:11:25 +00:00
Paul S. Owen
36424de91e Tabs that should be spaces
git-svn-id: file:///svn/phpbb/trunk@4386 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 12:25:48 +00:00
Paul S. Owen
0e2e2abe5a Style related updates
git-svn-id: file:///svn/phpbb/trunk@4385 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 12:24:13 +00:00
Paul S. Owen
7f8e853356 Some tidy ups and fixes
git-svn-id: file:///svn/phpbb/trunk@4384 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 11:56:04 +00:00
Paul S. Owen
232576450d Put form stuff in subSilver css ...
git-svn-id: file:///svn/phpbb/trunk@4383 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 01:49:40 +00:00
Paul S. Owen
ec4e122032 Temp workaround for lack of style create/import/upload prob, fix improper setting of element ids when editing style
git-svn-id: file:///svn/phpbb/trunk@4382 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 01:47:32 +00:00
Paul S. Owen
a4ac56c798 Don't write out when closing unless a file actually exists ...
git-svn-id: file:///svn/phpbb/trunk@4381 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 01:37:49 +00:00
Paul S. Owen
9183068332 Much rejiggling
git-svn-id: file:///svn/phpbb/trunk@4380 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-12 01:21:32 +00:00
Ludovic Arnaud
57c17e44ec Taken out the $db var from acm classes for consistency with other classes
git-svn-id: file:///svn/phpbb/trunk@4379 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 21:45:50 +00:00
Paul S. Owen
27d86a2e32 Correct pathname for template
git-svn-id: file:///svn/phpbb/trunk@4378 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 10:41:03 +00:00
Paul S. Owen
ff0a7e2630 Not break you moron
git-svn-id: file:///svn/phpbb/trunk@4377 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 01:29:16 +00:00
Paul S. Owen
c8669abf9d Wouldn't copy theme/template files from unarchived location to destination ... this should fix that.
git-svn-id: file:///svn/phpbb/trunk@4376 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 01:16:29 +00:00
Paul S. Owen
0b4d299df9 Remove trailing slash from T_XXXX_PATH vars
git-svn-id: file:///svn/phpbb/trunk@4375 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 01:12:23 +00:00
Paul S. Owen
2a9d846859 Update for acm parameter change
git-svn-id: file:///svn/phpbb/trunk@4374 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 01:12:01 +00:00
Paul S. Owen
a5cbb0b693 Mainly user pruning var casing
git-svn-id: file:///svn/phpbb/trunk@4373 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 00:59:53 +00:00
Paul S. Owen
71dbb2c97e unified remove ... probably breaking other stuff in the process
git-svn-id: file:///svn/phpbb/trunk@4372 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-11 00:52:09 +00:00
Ludovic Arnaud
26e8568c9b Greater than, lesser than... what's the big deal?? :P
git-svn-id: file:///svn/phpbb/trunk@4371 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 21:19:21 +00:00
Ludovic Arnaud
253b6ff14e Less bug, more comments
git-svn-id: file:///svn/phpbb/trunk@4370 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 21:17:11 +00:00
Ludovic Arnaud
8d4bb4a17a Fixed: the style box not showing when editing a category. Pardon, a non-postable forum ;)
git-svn-id: file:///svn/phpbb/trunk@4369 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 19:53:03 +00:00
Ludovic Arnaud
2ada6c5380 Added support for db-based caching... for people who like to store data in databases.
git-svn-id: file:///svn/phpbb/trunk@4368 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 19:46:03 +00:00
Ludovic Arnaud
772cc44895 Cleaned up var names. $query_result is now passed by reference to be altered directly from the cache manager
git-svn-id: file:///svn/phpbb/trunk@4367 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 19:14:44 +00:00
Ludovic Arnaud
ecbbf83665 Renamed $expire_time to $max_age.
Added method_exists() checks for cache managers that would not support the caching of SQL data.


git-svn-id: file:///svn/phpbb/trunk@4366 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 18:51:07 +00:00
Ludovic Arnaud
0c3708ecc6 Moved sql_close() down, after the cache is unloaded.
git-svn-id: file:///svn/phpbb/trunk@4365 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 18:42:20 +00:00
Ludovic Arnaud
145399b4bc Added the binary attribute for Windows platforms. Removed the read attribute because it wasn't needed.
git-svn-id: file:///svn/phpbb/trunk@4364 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 18:33:25 +00:00
Ludovic Arnaud
b11ed262ac Primary / secondary style bbcode implementation. Not thoroughly tested yet but my test board still functions so I guess it works ;)
git-svn-id: file:///svn/phpbb/trunk@4363 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 18:30:27 +00:00
Paul S. Owen
214ea917e5 More jiggery and not a little pokery
git-svn-id: file:///svn/phpbb/trunk@4362 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 17:41:10 +00:00
Paul S. Owen
13a4d16b52 Rejiggling the code begins ...
git-svn-id: file:///svn/phpbb/trunk@4361 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 15:54:57 +00:00
Paul S. Owen
91724f4512 setting style as default, remove explicit testing for .tar archive creation
git-svn-id: file:///svn/phpbb/trunk@4360 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 11:51:50 +00:00
Paul S. Owen
35c8d412a7 Silly silly Paul, smacked handy and no tea
git-svn-id: file:///svn/phpbb/trunk@4359 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-10 10:53:50 +00:00
Paul S. Owen
baa01d15f2 Most style operations functional ... broke various theme, imageset and template operations in the process
git-svn-id: file:///svn/phpbb/trunk@4358 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 22:04:28 +00:00
Paul S. Owen
e9c616f732 Brain wanted in Room 101, Brain wanted
git-svn-id: file:///svn/phpbb/trunk@4357 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 16:05:58 +00:00
Paul S. Owen
2efff50736 It's amazing what a strategically placed = can do for normal operation ...
git-svn-id: file:///svn/phpbb/trunk@4356 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 15:30:08 +00:00
Paul S. Owen
5e79ac7d8f Further tidy ups for zip compatibility ... still seem to be problems deleting entries via Powerarchiver ... works fine under Linux
git-svn-id: file:///svn/phpbb/trunk@4355 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 12:36:14 +00:00
Paul S. Owen
f41a46c92f Ensure consistent output from filelist
git-svn-id: file:///svn/phpbb/trunk@4354 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 11:18:05 +00:00
Paul S. Owen
d85c1e052d Improve compatibility of zip extract method
git-svn-id: file:///svn/phpbb/trunk@4353 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-09 00:30:24 +00:00
Paul S. Owen
95767f8440 Style installation "working", allows for two or three element styles
git-svn-id: file:///svn/phpbb/trunk@4352 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-08 13:28:21 +00:00
Paul S. Owen
e3c310db51 Style related updates
git-svn-id: file:///svn/phpbb/trunk@4351 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-07 16:52:36 +00:00
Paul S. Owen
22b043e8cb Style related updates
git-svn-id: file:///svn/phpbb/trunk@4350 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-07 14:39:38 +00:00
Paul S. Owen
068987935e Change hardcoded lang strings for vars
git-svn-id: file:///svn/phpbb/trunk@4349 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-07 14:39:29 +00:00
Paul S. Owen
28c000fe7c oops forgot about modified time update
git-svn-id: file:///svn/phpbb/trunk@4348 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-07 01:42:11 +00:00
Paul S. Owen
52ec6f8706 Storage of edited templates ... guess some users may find this handy ... hhmm
git-svn-id: file:///svn/phpbb/trunk@4347 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-07 01:30:44 +00:00
Paul S. Owen
80688a477b oops, that's not quite right
git-svn-id: file:///svn/phpbb/trunk@4346 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-06 18:33:03 +00:00
Paul S. Owen
4a75a2512b Guess this may come in handy
git-svn-id: file:///svn/phpbb/trunk@4345 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-06 18:29:22 +00:00
Paul S. Owen
5ab81af82e Couple more updates
git-svn-id: file:///svn/phpbb/trunk@4344 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-06 18:29:11 +00:00
Paul S. Owen
b723058fb0 A fair amount of additional working or semi-working stuff ... template stored db source (when appropriate), switch theme/templates between DB/filesystem (if available), import, upload templates, imagesets, themes (if available ... i.e. no safe mode), etc. still a fair amount of stuff to do but getting there ... take care using this, backup any themes/templates/imagesets before fiddling and let me know of issues
git-svn-id: file:///svn/phpbb/trunk@4343 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-06 15:45:13 +00:00
Paul S. Owen
76ace1d154 css_data -> theme_data
git-svn-id: file:///svn/phpbb/trunk@4342 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-05 17:09:03 +00:00
Paul S. Owen
f77668cec0 Style related changes, new table for template data storage in situations where the HDD stored versions cannot be written to, safe mode upload, etc.
git-svn-id: file:///svn/phpbb/trunk@4341 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-08-05 17:07:52 +00:00
Paul S. Owen
246614568c Basic implementation of upload theme archive ... remember this only works with appropriate permissions set on style/ and safe mode off
git-svn-id: file:///svn/phpbb/trunk@4338 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 19:33:52 +00:00
Paul S. Owen
9c435ef53d Limit display of "secondary" submit/preview/cancel/save row
git-svn-id: file:///svn/phpbb/trunk@4337 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 15:41:24 +00:00
Paul S. Owen
94c4c558e0 Update image sizes ... missing jabber button known
git-svn-id: file:///svn/phpbb/trunk@4336 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 12:11:50 +00:00
Paul S. Owen
c89f345587 Okay, this time I'll try not to screw up ... again
git-svn-id: file:///svn/phpbb/trunk@4335 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 12:04:19 +00:00
Paul S. Owen
4f7a1c7169 Bye bye ... hopefully
git-svn-id: file:///svn/phpbb/trunk@4334 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 11:02:38 +00:00
Paul S. Owen
b72a8fd2c7 Is it a bird? Is it a plane? No, it's moron man ...
git-svn-id: file:///svn/phpbb/trunk@4333 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-30 10:57:07 +00:00
Paul S. Owen
c855c7ca70 path change for js src
git-svn-id: file:///svn/phpbb/trunk@4332 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-27 18:02:06 +00:00
Paul S. Owen
5979e37cd8 Bits I just want to dump in CVS for now
git-svn-id: file:///svn/phpbb/trunk@4330 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-25 23:50:49 +00:00
Paul S. Owen
58a3d036ce path change for bbcode
git-svn-id: file:///svn/phpbb/trunk@4329 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 16:10:26 +00:00
Paul S. Owen
e0f2c00ce6 border and padding updates for body
git-svn-id: file:///svn/phpbb/trunk@4328 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 14:06:39 +00:00
Paul S. Owen
fca99a7a62 Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4327 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 14:02:02 +00:00
Paul S. Owen
8c02ad5f86 filelist changes ... do away with static type
git-svn-id: file:///svn/phpbb/trunk@4326 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 13:59:35 +00:00
Paul S. Owen
275f62a5bd Changes for styling directory layout alterations
git-svn-id: file:///svn/phpbb/trunk@4325 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 13:58:59 +00:00
Paul S. Owen
be3b51ae84 Install style, various other additions
git-svn-id: file:///svn/phpbb/trunk@4324 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 13:58:37 +00:00
Paul S. Owen
c93474e118 Moving again ... I think this time will be the last ... famous last words
git-svn-id: file:///svn/phpbb/trunk@4323 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 13:22:39 +00:00
Paul S. Owen
af1cc18e02 It's going to be one of those days ...
git-svn-id: file:///svn/phpbb/trunk@4322 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 10:54:04 +00:00
Paul S. Owen
e412b8da40 Generate stylesheet from DB on the fly
git-svn-id: file:///svn/phpbb/trunk@4321 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-24 10:52:09 +00:00
Meik Sievertsen
8c3e4a68c4 and the URL bbcode button...
git-svn-id: file:///svn/phpbb/trunk@4320 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-23 16:15:36 +00:00
Meik Sievertsen
eff6d76d4b re-enable editor.js. :)
git-svn-id: file:///svn/phpbb/trunk@4319 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-23 16:12:27 +00:00
Paul S. Owen
8ee1433d16 escape browser and page info
git-svn-id: file:///svn/phpbb/trunk@4318 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-23 15:39:38 +00:00
Paul S. Owen
0f265c3712 Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4317 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-23 11:46:11 +00:00
Paul S. Owen
99f37308c8 remove becomes function, enable install of imagesets, alter packaging paths
git-svn-id: file:///svn/phpbb/trunk@4316 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-23 11:42:32 +00:00
Paul S. Owen
3c208e1d0b Save some mem when decompressing .zip
git-svn-id: file:///svn/phpbb/trunk@4315 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 20:06:17 +00:00
Paul S. Owen
2a016e4f47 Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4314 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 20:03:52 +00:00
Paul S. Owen
0835d7ef19 Functionalised export for templates, themes and imagesets ... styles to be done ...
git-svn-id: file:///svn/phpbb/trunk@4313 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 20:03:18 +00:00
Paul S. Owen
bf2e74be99 Stripslashing escaped string twice ... should only be stipped when necessary and as early as possible
git-svn-id: file:///svn/phpbb/trunk@4312 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 14:08:40 +00:00
Paul S. Owen
83b28ce6fb Less aggressive stripslash for messages
git-svn-id: file:///svn/phpbb/trunk@4311 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 14:01:41 +00:00
Paul S. Owen
2882b8aafb viewlog update for combined log table
git-svn-id: file:///svn/phpbb/trunk@4310 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-22 12:18:33 +00:00
Paul S. Owen
971968b08c Extract .zip ... damn gzuncompress
git-svn-id: file:///svn/phpbb/trunk@4309 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 22:54:46 +00:00
Paul S. Owen
71cc8e79b3 Extraction of .tar, .tar.gz and .tar.bz2
git-svn-id: file:///svn/phpbb/trunk@4308 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 17:32:42 +00:00
Paul S. Owen
760bf9dbb2 argh
git-svn-id: file:///svn/phpbb/trunk@4307 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 16:10:22 +00:00
Paul S. Owen
cc637e72f0 concanetate rather than substr_replace
git-svn-id: file:///svn/phpbb/trunk@4306 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 16:10:07 +00:00
Paul S. Owen
852f552b4a add .tar, .tar.gz and .tar.bz2 support, rejiggle source, seperate compress objects extending the base class
git-svn-id: file:///svn/phpbb/trunk@4305 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 15:44:39 +00:00
Paul S. Owen
64eb7e8a66 More updates ... I do hope the commonality I believe exists between different styling sections works out ... else this will be a very large script ... :D
git-svn-id: file:///svn/phpbb/trunk@4304 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 00:45:12 +00:00
Paul S. Owen
b3d94f5c9a Send DB stored css data to template if necessary ... yes, I realise this won't be cached like a normal stylesheet but there are potential ways around that
git-svn-id: file:///svn/phpbb/trunk@4303 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-21 00:44:22 +00:00
Paul S. Owen
2ca95fed52 MySQL install version text
git-svn-id: file:///svn/phpbb/trunk@4302 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 21:23:13 +00:00
Paul S. Owen
f43714b595 slightly fudged install routine for themes ... will possibly do as seperate switch case
git-svn-id: file:///svn/phpbb/trunk@4301 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 20:18:44 +00:00
Paul S. Owen
d397264316 hm
git-svn-id: file:///svn/phpbb/trunk@4300 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 20:17:29 +00:00
Paul S. Owen
0c62b08090 Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4299 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 17:46:12 +00:00
Paul S. Owen
252d56ec36 Cannot delete if only theme left, select new theme for use by styles that use this
git-svn-id: file:///svn/phpbb/trunk@4298 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 17:46:06 +00:00
Paul S. Owen
6c8531befe Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4297 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 17:26:20 +00:00
Paul S. Owen
0db32b3f93 Delete theme ... be careful! Doesn't currently do any checks to ensure it's not the only theme, or to alter any styles using this theme ...
git-svn-id: file:///svn/phpbb/trunk@4296 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 17:26:13 +00:00
Paul S. Owen
a1dbf52fda Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4295 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 16:23:57 +00:00
Paul S. Owen
3006a3db31 store or download
git-svn-id: file:///svn/phpbb/trunk@4294 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 16:23:45 +00:00
Paul S. Owen
5561e86529 This will dump out a DB stored stylesheet, also adds cfg file
git-svn-id: file:///svn/phpbb/trunk@4292 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:37:41 +00:00
Paul S. Owen
e0c4360705 Ignore given list of files
git-svn-id: file:///svn/phpbb/trunk@4291 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:37:14 +00:00
Paul S. Owen
57e12560be Styling stuff
git-svn-id: file:///svn/phpbb/trunk@4290 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:19:10 +00:00
Paul S. Owen
ab410e2c19 Updates for changes to filelist()
git-svn-id: file:///svn/phpbb/trunk@4289 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:18:53 +00:00
Paul S. Owen
60ce0c9bb3 More updates, can "export" a theme ... only as zip at present and with limitations ... make sure your store directory can be written to by server
git-svn-id: file:///svn/phpbb/trunk@4288 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:18:38 +00:00
Paul S. Owen
22cfe6dddb Compression/decompression "libs" and a change to filelist
git-svn-id: file:///svn/phpbb/trunk@4287 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 14:18:03 +00:00
Paul S. Owen
9e455b613a store directory check
git-svn-id: file:///svn/phpbb/trunk@4286 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 13:59:07 +00:00
Paul S. Owen
e5ea1f1755 This is where we can dump non-cache related files, e.g. database backups, styling output, etc. ... potentially we could also use it for upload/tmp work
git-svn-id: file:///svn/phpbb/trunk@4285 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-20 13:58:11 +00:00
Paul S. Owen
6bcf4a3110 oops
git-svn-id: file:///svn/phpbb/trunk@4283 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-18 18:31:33 +00:00
Paul S. Owen
0244aaa5d0 New theme function, edit theme details ... I'm really beginning to dislike styles, and safe mode is just well, worse than I remember on 2.0.x :D
git-svn-id: file:///svn/phpbb/trunk@4282 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-18 18:20:58 +00:00
Paul S. Owen
ac875d22a9 Changes to styles table ... themes in this case, storedb, boolean flag for whether style was stored in the DB or on the FS
git-svn-id: file:///svn/phpbb/trunk@4281 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-18 18:20:08 +00:00
Paul S. Owen
c86539f501 Don't be so nosey
git-svn-id: file:///svn/phpbb/trunk@4279 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-18 16:33:24 +00:00
Paul S. Owen
c7ad40b007 oop, guess I didn't commit this ...
git-svn-id: file:///svn/phpbb/trunk@4278 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-18 00:29:18 +00:00
Paul S. Owen
31c2b84dac must stop playing
git-svn-id: file:///svn/phpbb/trunk@4277 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-17 22:52:51 +00:00
Paul S. Owen
368fb159d7 Template cache clearing
git-svn-id: file:///svn/phpbb/trunk@4276 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-17 21:04:17 +00:00
Paul S. Owen
3b19bd3518 Style stuff
git-svn-id: file:///svn/phpbb/trunk@4275 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-17 21:04:02 +00:00
Paul S. Owen
5f7c851cab a few manage/pref type tests
git-svn-id: file:///svn/phpbb/trunk@4274 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-17 16:39:50 +00:00
Paul S. Owen
bf70fee152 Remove subfolder storage of templates ... a safe-mode thang, you can delete any existing cache/templates folder
git-svn-id: file:///svn/phpbb/trunk@4273 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-17 15:16:25 +00:00
Paul S. Owen
947c81b3db The moron has left the building
git-svn-id: file:///svn/phpbb/trunk@4272 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-16 12:13:30 +00:00
Paul S. Owen
2a777b536e mainoption/liteoption -> btnmain/btnlite
git-svn-id: file:///svn/phpbb/trunk@4271 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-16 12:08:59 +00:00
Paul S. Owen
a4ff0eba2d index on session_user_id
git-svn-id: file:///svn/phpbb/trunk@4270 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-16 12:07:01 +00:00
Paul S. Owen
4d003f7edf Online tracking img load switch
git-svn-id: file:///svn/phpbb/trunk@4269 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-16 11:46:04 +00:00
Paul S. Owen
1ccfd3f862 last play for tonight
git-svn-id: file:///svn/phpbb/trunk@4268 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-15 22:34:59 +00:00
Meik Sievertsen
a758d2cf61 small stat_username fix... sometimes the last poster name was not displayed correctly, this commit will fix this hopefully. hmm... have to think about a cleaner method of handling anonymous users...
git-svn-id: file:///svn/phpbb/trunk@4267 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-15 16:47:36 +00:00
Paul S. Owen
7b5a2485d3 Some basic imageset editing stuff ... doesn't actually "do" anything yet ... just testing out layouts, etc.
git-svn-id: file:///svn/phpbb/trunk@4266 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-15 14:58:46 +00:00
Paul S. Owen
19bb2b9487 Couple more little updates
git-svn-id: file:///svn/phpbb/trunk@4265 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-15 14:58:16 +00:00
Paul S. Owen
78f4c39237 pass by reference change
git-svn-id: file:///svn/phpbb/trunk@4264 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 22:57:29 +00:00
Paul S. Owen
e3a6399c22 tiny weeny ickle bittle changes
git-svn-id: file:///svn/phpbb/trunk@4263 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 22:55:32 +00:00
Paul S. Owen
f06ad43da6 Re-arrange auth and setup calls ... needs to be repeated for all major scripts
git-svn-id: file:///svn/phpbb/trunk@4262 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 22:54:39 +00:00
Paul S. Owen
405cac7b99 Re-arrange auth and setup calls ... needs to be repeated for all major scripts
git-svn-id: file:///svn/phpbb/trunk@4261 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 22:06:47 +00:00
Paul S. Owen
dd8e9527cc input submit/reset style class name change
git-svn-id: file:///svn/phpbb/trunk@4260 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 21:59:41 +00:00
Paul S. Owen
fd0e18c262 Re-arrange auth and setup calls ... needs to be repeated for all major scripts
git-svn-id: file:///svn/phpbb/trunk@4259 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 21:58:21 +00:00
Paul S. Owen
be9def57a9 Updated graphic
git-svn-id: file:///svn/phpbb/trunk@4258 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 21:00:39 +00:00
Paul S. Owen
05a55a9f42 Missing no_avatar graphic
git-svn-id: file:///svn/phpbb/trunk@4257 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 20:55:18 +00:00
Paul S. Owen
8cd660bf4c Fix style data
git-svn-id: file:///svn/phpbb/trunk@4256 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 20:51:46 +00:00
Paul S. Owen
2536066e65 Add/edit styles
git-svn-id: file:///svn/phpbb/trunk@4255 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 19:28:36 +00:00
Paul S. Owen
2e8dec8c1f Couple more little updates
git-svn-id: file:///svn/phpbb/trunk@4254 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-14 11:35:13 +00:00
Paul S. Owen
7668388b4e More styling stuff ... activate, deactivate styles ... deactivated styles can still be used in forum/board styling selectors
git-svn-id: file:///svn/phpbb/trunk@4253 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 23:29:22 +00:00
Paul S. Owen
2c400376a1 More styling stuff ... activate, deactivate styles
git-svn-id: file:///svn/phpbb/trunk@4252 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 23:28:42 +00:00
Paul S. Owen
46c24679bf Update data for styling schema changes, preview via style admin, styles in use by users count, default style feedback
git-svn-id: file:///svn/phpbb/trunk@4251 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 22:02:22 +00:00
Paul S. Owen
7d0d2ad869 Allow preview of style for user with appropriate rights ... a "cheat" really
git-svn-id: file:///svn/phpbb/trunk@4250 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 21:40:03 +00:00
Paul S. Owen
e1441b9fbe Update data for styling schema changes
git-svn-id: file:///svn/phpbb/trunk@4249 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 21:39:36 +00:00
Paul S. Owen
7222465d75 Update data for styling schema changes
git-svn-id: file:///svn/phpbb/trunk@4248 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 21:16:18 +00:00
Paul S. Owen
f4db75ec38 Some updates to schema, primarily style related ... removed template definable pm_box and poll length ... were they ever used? :D
git-svn-id: file:///svn/phpbb/trunk@4247 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 21:02:04 +00:00
Paul S. Owen
d1868a0e69 We'll get there in a sec ...
git-svn-id: file:///svn/phpbb/trunk@4246 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:50:30 +00:00
Paul S. Owen
9a7afb2de1 Silly \r\n
git-svn-id: file:///svn/phpbb/trunk@4245 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:49:44 +00:00
Paul S. Owen
bd18643844 Updated
git-svn-id: file:///svn/phpbb/trunk@4244 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:47:31 +00:00
Paul S. Owen
aea401ac98 Guess what
git-svn-id: file:///svn/phpbb/trunk@4243 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:47:17 +00:00
Paul S. Owen
927b4539bb index bye bye
git-svn-id: file:///svn/phpbb/trunk@4242 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:05:26 +00:00
Paul S. Owen
449d9c6db9 Template bye bye
git-svn-id: file:///svn/phpbb/trunk@4241 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:04:08 +00:00
Paul S. Owen
12919fd967 Image bye bye
git-svn-id: file:///svn/phpbb/trunk@4240 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 17:02:05 +00:00
Paul S. Owen
99ae3b4155 Updated style related data
git-svn-id: file:///svn/phpbb/trunk@4239 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:29:16 +00:00
Paul S. Owen
990f8e35e1 oops, those mcp templates are probably rather "wrong" ... Ashe, will talk to you about a few changes I think are needed in the code
git-svn-id: file:///svn/phpbb/trunk@4238 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:17:35 +00:00
Paul S. Owen
d6fbcb2e22 Header links for sorting
git-svn-id: file:///svn/phpbb/trunk@4237 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:15:39 +00:00
Paul S. Owen
8633c91692 Cope with secondary (per forum) styles, probably other minor things too ... there is a known permissions problem, will work on that soon. Ashe, the bbcode primary/secondary stuff may need some tightening, particularly since it only checks the bbcode_bitfield for the primary template (which may not exist as coped with later) ... I'll leave that to you to alter.
git-svn-id: file:///svn/phpbb/trunk@4236 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:15:05 +00:00
Paul S. Owen
91a6952683 Cope with secondary (per forum) styles, probably other minor things too ... there is a known permissions problem, will work on that soon
git-svn-id: file:///svn/phpbb/trunk@4235 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:13:59 +00:00
Paul S. Owen
4051c18ac3 These are area51 ...
git-svn-id: file:///svn/phpbb/trunk@4234 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:12:47 +00:00
Paul S. Owen
e42fc56501 Not the same as area51 ... I hope ...
git-svn-id: file:///svn/phpbb/trunk@4233 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:09:43 +00:00
Paul S. Owen
6c15f5d0f0 Cell heights
git-svn-id: file:///svn/phpbb/trunk@4232 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:03:22 +00:00
Paul S. Owen
786b52d51a Standard set ... this is not the same as area51
git-svn-id: file:///svn/phpbb/trunk@4231 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 15:02:39 +00:00
Paul S. Owen
c9ba30abcd More faffing
git-svn-id: file:///svn/phpbb/trunk@4230 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 14:44:43 +00:00
Meik Sievertsen
58d0665480 add support for login forum box.
git-svn-id: file:///svn/phpbb/trunk@4229 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 14:12:22 +00:00
Paul S. Owen
e97002f0f5 Episode "IV" : A new Home ... aka a new way to extract money from fans ... oops, sorry, irrelevant argument
git-svn-id: file:///svn/phpbb/trunk@4228 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 13:20:27 +00:00
Paul S. Owen
3d01e99127 more playing, followed by breaking
git-svn-id: file:///svn/phpbb/trunk@4227 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-13 00:45:39 +00:00
Paul S. Owen
daabc84e08 And an ittle bit more, just a weeny bit ...
git-svn-id: file:///svn/phpbb/trunk@4226 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-12 20:55:38 +00:00
Ludovic Arnaud
7ca4282622 Fixed the error message for too many quotes
git-svn-id: file:///svn/phpbb/trunk@4225 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-12 16:04:24 +00:00
Paul S. Owen
448f31331b Fix failure to INCLUDE a file following its sole recompilation ... I should add that neither of these commits have added support for primary/secondary styles (e.g. styling of forums) ... won't commit these till all relevant styling changes have been implemented.
git-svn-id: file:///svn/phpbb/trunk@4224 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 23:36:38 +00:00
Paul S. Owen
1b129a9034 forced_recompile "seems" to work now if set true ...
git-svn-id: file:///svn/phpbb/trunk@4223 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 23:28:56 +00:00
Paul S. Owen
3d02dc5fc2 These images should _not_ have been in CVS ... they are not part of phpBB2 CVS ... please remove any existing copies
git-svn-id: file:///svn/phpbb/trunk@4222 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 19:21:47 +00:00
Paul S. Owen
50211c2a98 Minor change to seperator colour
git-svn-id: file:///svn/phpbb/trunk@4220 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 15:46:35 +00:00
Paul S. Owen
30afda900c okay, after some conflicting advice :D and some jiggling here's the latest theme related update ... this stuff is enough to drive you batty
git-svn-id: file:///svn/phpbb/trunk@4219 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 15:46:22 +00:00
Meik Sievertsen
a4d72b8f1f include functions_admin to use the add_log function
git-svn-id: file:///svn/phpbb/trunk@4218 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 11:49:32 +00:00
Meik Sievertsen
e0b7709ae1 fix small issue with empty username and password
git-svn-id: file:///svn/phpbb/trunk@4217 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-11 11:48:52 +00:00
Paul S. Owen
344fc7deb5 bah
git-svn-id: file:///svn/phpbb/trunk@4216 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-08 17:59:27 +00:00
Paul S. Owen
a43f039742 $this->error removed
git-svn-id: file:///svn/phpbb/trunk@4215 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-08 00:28:24 +00:00
Paul S. Owen
c2516fa499 avatar stuff
git-svn-id: file:///svn/phpbb/trunk@4214 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-08 00:27:49 +00:00
Paul S. Owen
ff58fc5e7c Move certain methods out of ucp class, move ucp class into ucp, break half a dozen other features, introduce x hundred new, exciting bugs
git-svn-id: file:///svn/phpbb/trunk@4213 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-07 23:43:57 +00:00
Paul S. Owen
4cc4867c97 Another sqlite UNION ALL insert update ... yes, I know sqlite install seems to be rather borked at present ... I thought, "hhmm, that worked too well too quickly" so I broke it to ensure consistency is maintained with the rest of the codebase
git-svn-id: file:///svn/phpbb/trunk@4212 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-07 23:43:27 +00:00
Paul S. Owen
696e833555 "Fix" ongoing issue with caching and slashes
git-svn-id: file:///svn/phpbb/trunk@4211 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-07 23:40:01 +00:00
Meik Sievertsen
1b320bbb00 merged log tables, added new log_type (critical).
changed email class a little bit.
bug fixed the queue a little bit.


git-svn-id: file:///svn/phpbb/trunk@4210 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-06 18:48:33 +00:00
Meik Sievertsen
f31b471ee1 some topic/forum notification work, mainly bug fixing.
git-svn-id: file:///svn/phpbb/trunk@4209 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-06 18:46:52 +00:00
Paul S. Owen
5b5e11c1f5 Various changes ... note that at present things may look a little strange for those without access to the relevant imageset :D
git-svn-id: file:///svn/phpbb/trunk@4208 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-06 18:19:56 +00:00
Paul S. Owen
8bb0108ad9 Missing forum_link icon ...
git-svn-id: file:///svn/phpbb/trunk@4207 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-06 14:29:14 +00:00
Paul S. Owen
45c8440d02 Lang var case changes
git-svn-id: file:///svn/phpbb/trunk@4206 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:22:18 +00:00
Paul S. Owen
7eb946abb4 Wrong icon for global announcements
git-svn-id: file:///svn/phpbb/trunk@4205 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:21:02 +00:00
Paul S. Owen
27a9ed27c7 Various updates
git-svn-id: file:///svn/phpbb/trunk@4204 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:20:03 +00:00
Paul S. Owen
055fe9e82d sqlite support UNION ALL SELECT method
git-svn-id: file:///svn/phpbb/trunk@4203 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:19:00 +00:00
Paul S. Owen
c220126bbd Altered method of storage of cached permissions ... primarily for easier sqlite/firebird support. Clear your user_permission fields before re-visiting your forum else you'll see very little! Changed way in which founder status is protected
git-svn-id: file:///svn/phpbb/trunk@4202 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:17:37 +00:00
Paul S. Owen
423728cb16 Updated default permissions ... these ones tend to agree with the updated group definitions :)
git-svn-id: file:///svn/phpbb/trunk@4201 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 17:16:24 +00:00
Paul S. Owen
964e4d8cbb Insert @ supression
git-svn-id: file:///svn/phpbb/trunk@4200 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-04 15:05:04 +00:00
Ludovic Arnaud
4001c84388 mcp_viewip's gone bye bye
git-svn-id: file:///svn/phpbb/trunk@4199 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-03 23:03:34 +00:00
Ludovic Arnaud
6dbfa654f9 I may have forgotten to add this file to the repository
git-svn-id: file:///svn/phpbb/trunk@4198 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-03 23:01:08 +00:00
Ludovic Arnaud
a3cb2d595b More lang strings
git-svn-id: file:///svn/phpbb/trunk@4197 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:57:51 +00:00
Ludovic Arnaud
8d43a83ab9 Some "reasons" to test with. To be determined later :)
git-svn-id: file:///svn/phpbb/trunk@4196 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:46:29 +00:00
Ludovic Arnaud
3842aac9b6 Updated MCP. Started to implement reports review. Check out the new "post details" screen with reported posts
git-svn-id: file:///svn/phpbb/trunk@4195 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:42:50 +00:00
Ludovic Arnaud
79999c7bf3 If I'm not wrong, f_ignorequeue is not anymore
git-svn-id: file:///svn/phpbb/trunk@4194 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:41:05 +00:00
Ludovic Arnaud
01a68f9497 A single post can now only be reported once
git-svn-id: file:///svn/phpbb/trunk@4193 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:38:59 +00:00
Ludovic Arnaud
2b16fc0874 Added a quick link to post details for moderators
git-svn-id: file:///svn/phpbb/trunk@4192 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:36:10 +00:00
Ludovic Arnaud
c732220308 Updated MCP link, fixed the query the obtain "normal" topics
git-svn-id: file:///svn/phpbb/trunk@4191 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:30:34 +00:00
Ludovic Arnaud
b59698aa10 Shifting bits appears to be faster than the pow() function
git-svn-id: file:///svn/phpbb/trunk@4190 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-02 22:23:45 +00:00
Paul S. Owen
03d46951b2 Note that there are still some queries in CVS which cause SQLite to have a minor fit, these are "generally" fixed locally on my machine ... will commit when other bits and pieces are "done" ... hopefully ... perhaps ... good grief, it's nearly 3am again ... 10 years ago I could do these late nights/early mornings, bah
git-svn-id: file:///svn/phpbb/trunk@4189 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-01 01:56:52 +00:00
Paul S. Owen
b02a8a2a17 SQLite support ... Probably helps if the installer supports it I guess ... I'm having one of those lifes, please excuse me.
git-svn-id: file:///svn/phpbb/trunk@4188 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-07-01 01:54:27 +00:00
Paul S. Owen
35a926b66a SQLite support
git-svn-id: file:///svn/phpbb/trunk@4187 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-30 20:33:46 +00:00
Paul S. Owen
eba779cb35 There is no default_language ...
git-svn-id: file:///svn/phpbb/trunk@4185 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-29 11:35:55 +00:00
Meik Sievertsen
4d6a767305 a few fixes
git-svn-id: file:///svn/phpbb/trunk@4184 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-29 10:59:36 +00:00
Ludovic Arnaud
b85637fc1a Fixed typo. (and finally got WinCVS to work with Pageant again, weeee!)
git-svn-id: file:///svn/phpbb/trunk@4180 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-26 20:57:11 +00:00
Meik Sievertsen
aed6479f40 small adjustment for editing informations and small fix for post editing.
git-svn-id: file:///svn/phpbb/trunk@4179 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-26 20:40:32 +00:00
Meik Sievertsen
fd03f6c5f2 fixed edit posts (wrong username/id entered)
git-svn-id: file:///svn/phpbb/trunk@4178 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-26 16:46:17 +00:00
Meik Sievertsen
59573cce8b some updates...
git-svn-id: file:///svn/phpbb/trunk@4175 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-25 19:49:59 +00:00
Paul S. Owen
20aacd9417 Condensing layout ... hopefully not breaking anything in the process ..
git-svn-id: file:///svn/phpbb/trunk@4173 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-24 23:23:19 +00:00
Paul S. Owen
131c78ed54 more twiddling and playing
git-svn-id: file:///svn/phpbb/trunk@4172 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-24 23:22:51 +00:00
Paul S. Owen
b44bc16bd0 Fix up display of sigs and bbcode for preview
git-svn-id: file:///svn/phpbb/trunk@4170 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-24 16:46:30 +00:00
Meik Sievertsen
97680b4f54 deleted pm references and small fixes to the thumbnail creation
git-svn-id: file:///svn/phpbb/trunk@4169 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-23 16:59:02 +00:00
Paul S. Owen
464f8871fb A few updates
git-svn-id: file:///svn/phpbb/trunk@4168 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-23 15:23:52 +00:00
Paul S. Owen
7661a5d040 Global announcements ... sort of work ... well they seem to, need to look at possbility of splitting topics table in two
git-svn-id: file:///svn/phpbb/trunk@4167 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-23 14:00:57 +00:00
Paul S. Owen
36685677dd bits and pieces
git-svn-id: file:///svn/phpbb/trunk@4166 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-22 00:29:06 +00:00
Paul S. Owen
90e479df3d Add check for files/ , write img_magick details to config table, missed couple of lang strings
git-svn-id: file:///svn/phpbb/trunk@4165 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-21 15:24:03 +00:00
Paul S. Owen
db5bba6bc8 Add install/ warning for future use
git-svn-id: file:///svn/phpbb/trunk@4164 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-21 15:14:47 +00:00
Meik Sievertsen
8ef02f51fa ups. :)
git-svn-id: file:///svn/phpbb/trunk@4163 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-21 13:00:49 +00:00
Meik Sievertsen
251a5b8f94 only small addition for further use...
git-svn-id: file:///svn/phpbb/trunk@4162 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-21 12:36:00 +00:00
Ludovic Arnaud
3d36530308 Fixed signatures showing up no matter if you wanted it or not
git-svn-id: file:///svn/phpbb/trunk@4161 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-21 01:43:07 +00:00
Meik Sievertsen
2e13c45371 thumbnail creation support
git-svn-id: file:///svn/phpbb/trunk@4160 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-20 17:20:22 +00:00
Ludovic Arnaud
4f2cf69b68 Fixed topics sync'ing - hopefully using correct linefeeds
git-svn-id: file:///svn/phpbb/trunk@4156 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 22:06:53 +00:00
Ludovic Arnaud
270c960a23 I'm pretty sure I screwed up the first commit
git-svn-id: file:///svn/phpbb/trunk@4155 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 21:57:44 +00:00
Ludovic Arnaud
06a3df9ff3 General maintenance ;)
git-svn-id: file:///svn/phpbb/trunk@4154 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 20:26:01 +00:00
Paul S. Owen
fed8ae89c5 Missing sprintf
git-svn-id: file:///svn/phpbb/trunk@4152 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:48:47 +00:00
Paul S. Owen
50c157aed9 Missing colspan
git-svn-id: file:///svn/phpbb/trunk@4151 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:48:33 +00:00
Paul S. Owen
1b282e40a0 Marking and various fixes ... Karma calculation code removed ... don't see point in potentially messing up ratings when "formula" changes
git-svn-id: file:///svn/phpbb/trunk@4150 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:25:42 +00:00
Paul S. Owen
9c030162f6 Mostly IM related additions
git-svn-id: file:///svn/phpbb/trunk@4149 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:22:53 +00:00
Paul S. Owen
41f625656a Mostly read tracking (re-)fixes ... it works again ... I'll try not to break it a second time ... other changes for Firebird compatibility
git-svn-id: file:///svn/phpbb/trunk@4148 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:22:12 +00:00
Paul S. Owen
c0a013053a Yet more updates, topic marking works again ... still intend (optional) checking of "forum read" status on return to index (rather than just the current fudge of visiting the forum), obtain_ranks as a function (used in at least three scripts), removed jabber method that was needed, oops
git-svn-id: file:///svn/phpbb/trunk@4147 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:19:59 +00:00
Paul S. Owen
eb6c2c54df Various updates ... made "some attempt" at defining standard classes, support for various IM clients, etc. and blah
git-svn-id: file:///svn/phpbb/trunk@4146 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:16:43 +00:00
Paul S. Owen
7b9785e719 Further additions to memberslist modes, Jabber support, finally "fixed up" other IM client support, a little messy in places and lacking any permission checking for IM
git-svn-id: file:///svn/phpbb/trunk@4145 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 16:13:53 +00:00
Ludovic Arnaud
0c14f1d469 This checkin is sponsored by AOL
git-svn-id: file:///svn/phpbb/trunk@4144 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 15:29:53 +00:00
Paul S. Owen
5287a27653 Add xml and mhash to optional module list
git-svn-id: file:///svn/phpbb/trunk@4143 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 13:29:52 +00:00
Paul S. Owen
67f4864c7a Add new method ... allow grab of options for all forums ... useful for e.g. when forums where post count is incremented are required
git-svn-id: file:///svn/phpbb/trunk@4142 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 13:19:39 +00:00
Paul S. Owen
28c0d2ac07 For Jabber support ... original by Carlo "Gossip" Zottmann ... modified to remove unrequired functions
git-svn-id: file:///svn/phpbb/trunk@4141 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-19 13:17:13 +00:00
Meik Sievertsen
2da7737997 some changes in downloading files...
git-svn-id: file:///svn/phpbb/trunk@4140 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-18 17:57:44 +00:00
Meik Sievertsen
8107f14852 added: download notice for people unable to see files attached to posts
changed: put attachment display into a function now called by posting preview and viewtopic (functions_display.php)
fixed: small fix in posting routines, cleanups...


git-svn-id: file:///svn/phpbb/trunk@4139 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-17 19:34:17 +00:00
Paul S. Owen
86e67daaaa Add forum/topic_id info to redirects
git-svn-id: file:///svn/phpbb/trunk@4138 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-15 23:41:19 +00:00
Paul S. Owen
692bce3778 Updated Firebird schema ... "compatible" with mysql version ... NOTE the change in ucp schema, module_name becomes module_title to prevent conflict. Various script SQL issues preventing full compatibility with Firebird at present
git-svn-id: file:///svn/phpbb/trunk@4137 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-15 23:14:04 +00:00
Paul S. Owen
b87efc8994 Few more changes ... now look for (possible) existence of existing tables with same prefix, warn if appropriate, output fatal error on other SQL failures
git-svn-id: file:///svn/phpbb/trunk@4136 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-15 18:10:59 +00:00
Paul S. Owen
dc3ed2e128 Minor change, move bbcode_bitfield to template since it's template specific
git-svn-id: file:///svn/phpbb/trunk@4132 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 19:33:57 +00:00
Paul S. Owen
318f0ca5b8 Couple extra strings, bold text
git-svn-id: file:///svn/phpbb/trunk@4131 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 15:35:24 +00:00
Paul S. Owen
fec8d3858c bye bye
git-svn-id: file:///svn/phpbb/trunk@4130 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 14:36:59 +00:00
Paul S. Owen
20ea81c535 Moved lang strings
git-svn-id: file:///svn/phpbb/trunk@4129 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 14:36:27 +00:00
Paul S. Owen
a5ca1704be Single basic file ... hopefully this'll work okay ...
git-svn-id: file:///svn/phpbb/trunk@4128 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 12:24:23 +00:00
Paul S. Owen
2e91e64713 Try again ...
git-svn-id: file:///svn/phpbb/trunk@4127 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 11:39:00 +00:00
Paul S. Owen
b3769d8cfa Triggers in the schema
git-svn-id: file:///svn/phpbb/trunk@4126 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 11:38:43 +00:00
Paul S. Owen
66bc2cea57 Some tidying up, transfer of a few lang strings, removed mbstring module check for now
git-svn-id: file:///svn/phpbb/trunk@4125 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-14 01:47:09 +00:00
Paul S. Owen
bb056dc843 Reduce the size of h2 a little ...
git-svn-id: file:///svn/phpbb/trunk@4124 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-13 23:15:43 +00:00
Paul S. Owen
8bdac6683e You won't believe how close this computer came to having a free flying lesson ...
git-svn-id: file:///svn/phpbb/trunk@4122 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-13 20:00:57 +00:00
Paul S. Owen
01ec4113a2 Initial "new installer" ... everyone say 'oooooooohhhhh' ... and you'll look extremely silly
git-svn-id: file:///svn/phpbb/trunk@4121 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-13 19:34:09 +00:00
Meik Sievertsen
fc82dab423 deleting the constructor means refining the init call. ;)
git-svn-id: file:///svn/phpbb/trunk@4120 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-13 16:45:07 +00:00
Paul S. Owen
dee0f40fd2 various fixes and alterations
git-svn-id: file:///svn/phpbb/trunk@4118 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-12 17:11:43 +00:00
Paul S. Owen
68f6998a4c speling errOR
git-svn-id: file:///svn/phpbb/trunk@4115 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-11 17:43:59 +00:00
Meik Sievertsen
26606e62fd ups. :)
git-svn-id: file:///svn/phpbb/trunk@4095 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-07 16:38:04 +00:00
Meik Sievertsen
f31b414220 fixed: message post storage. We do not hold the parsed message, only the decoded one for displaying within the textarea.
git-svn-id: file:///svn/phpbb/trunk@4094 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-07 16:37:16 +00:00
Meik Sievertsen
7dd1ec0070 my turn to break things... only small changes.
git-svn-id: file:///svn/phpbb/trunk@4093 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-06 19:05:21 +00:00
Paul S. Owen
01ca3bce0e basic todo list
git-svn-id: file:///svn/phpbb/trunk@4091 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-06 15:24:26 +00:00
Paul S. Owen
d1dd262f83 Various updates and fixes ... no doubt there are new bugs but where would the fun be without them?
git-svn-id: file:///svn/phpbb/trunk@4090 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-06 15:23:50 +00:00
Paul S. Owen
8a09c0d75f Remove flash button ... perhaps this will reduce casual misuse :D
git-svn-id: file:///svn/phpbb/trunk@4089 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-06 11:17:24 +00:00
Paul S. Owen
99910d51cb A little more thinking out loud ... regular users are welcome to give feedback via area51
git-svn-id: file:///svn/phpbb/trunk@4088 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 20:27:43 +00:00
Ludovic Arnaud
bf99fa324f Added: bbcode_bitfield added to phpbb_styles. See dev forum
git-svn-id: file:///svn/phpbb/trunk@4087 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 19:21:19 +00:00
Ludovic Arnaud
758c3a4e85 Changed: [list=square] is translated into an UNordered list
Fixed: <ul> opening tag
Changed: [list] is not hardcoded anymore


git-svn-id: file:///svn/phpbb/trunk@4086 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 19:19:48 +00:00
Ludovic Arnaud
7adf890757 Changed: while validating quotes usernames, the loop will end at the first incorrect bbcode pair
git-svn-id: file:///svn/phpbb/trunk@4085 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 19:17:36 +00:00
Ludovic Arnaud
3b99c70b2f Cleaned up commented lines
git-svn-id: file:///svn/phpbb/trunk@4084 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 19:15:49 +00:00
Ludovic Arnaud
f0c133a559 Minor change: do not display the "lookup ip" link if the IP has already been resolved
git-svn-id: file:///svn/phpbb/trunk@4083 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 19:12:05 +00:00
Paul S. Owen
da2c292d2d Minor fix
git-svn-id: file:///svn/phpbb/trunk@4082 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 13:22:29 +00:00
Paul S. Owen
b980107839 Me thinking out loud ...
git-svn-id: file:///svn/phpbb/trunk@4081 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 12:57:06 +00:00
Paul S. Owen
6ca40653e9 A few minor updates
git-svn-id: file:///svn/phpbb/trunk@4080 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-05 00:53:39 +00:00
Paul S. Owen
d806c0a55f it's dhn's fault
git-svn-id: file:///svn/phpbb/trunk@4078 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-03 22:05:49 +00:00
Paul S. Owen
2b2c8709ab missing fields
git-svn-id: file:///svn/phpbb/trunk@4077 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-03 22:01:25 +00:00
Paul S. Owen
67bbcf5c49 Default rank images directory
git-svn-id: file:///svn/phpbb/trunk@4076 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-03 21:40:02 +00:00
Paul S. Owen
7dc2a615ee Default rank images directory
git-svn-id: file:///svn/phpbb/trunk@4075 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-03 12:19:32 +00:00
Paul S. Owen
9eaf76dc83 More attempts at breaking source
git-svn-id: file:///svn/phpbb/trunk@4072 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-02 17:27:38 +00:00
Paul S. Owen
3d6d86d995 userdata -> ucp
git-svn-id: file:///svn/phpbb/trunk@4071 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-01 19:44:45 +00:00
Meik Sievertsen
0c101c3dd4 some updates, email related.
git-svn-id: file:///svn/phpbb/trunk@4070 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-06-01 11:29:29 +00:00
Paul S. Owen
0e96aa60c2 Well, at least the little prat @ area51 led to a bug fix ...
git-svn-id: file:///svn/phpbb/trunk@4069 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-31 17:55:55 +00:00
Meik Sievertsen
18ccaf4483 moved the queue call, added interval. The current lock is very "fluent" at the moment. ;)
git-svn-id: file:///svn/phpbb/trunk@4068 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-30 06:37:07 +00:00
Meik Sievertsen
d4cbbb1055 added email queue + small changes (do not hit me for the mysql_basic change :D)
git-svn-id: file:///svn/phpbb/trunk@4067 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-29 14:29:59 +00:00
Paul S. Owen
65b38b317f Incorrect avatar dimensions
git-svn-id: file:///svn/phpbb/trunk@4065 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-28 14:20:11 +00:00
Paul S. Owen
208f1e59bf oop, only update if we have data ...
git-svn-id: file:///svn/phpbb/trunk@4064 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-27 00:46:10 +00:00
Paul S. Owen
b6a0ce82d4 Some cleanup ... fixes
git-svn-id: file:///svn/phpbb/trunk@4063 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-27 00:37:15 +00:00
Paul S. Owen
e1484f522d Majority are UCP related updates ... avatars should now work, aside from gallery, fixed a few other issues, updated schema/basic
git-svn-id: file:///svn/phpbb/trunk@4062 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-26 23:53:34 +00:00
Paul S. Owen
4e71b1b96d Editing time foobar
git-svn-id: file:///svn/phpbb/trunk@4061 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-26 14:07:11 +00:00
Ludovic Arnaud
59971466d7 Added: width / height parameters to flash
Fixed: ol closing tag
Screwed-up: ol opening tag - will check that later


git-svn-id: file:///svn/phpbb/trunk@4060 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 19:19:31 +00:00
Ludovic Arnaud
0c8eb878e3 Changed: \r\n becomes \n within posts
Added: width / height parameters to flash
Added: bbcodes validation within quotes usernames


git-svn-id: file:///svn/phpbb/trunk@4059 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 19:17:39 +00:00
Ludovic Arnaud
9517a0015e Updated [flash] tag with width and height parameters
git-svn-id: file:///svn/phpbb/trunk@4058 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 18:44:35 +00:00
Meik Sievertsen
a214f8cba5 some cleanups/updates
git-svn-id: file:///svn/phpbb/trunk@4057 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 14:32:20 +00:00
Meik Sievertsen
3e18c7b988 linefeeds... tortoisecvs 1.4.0rc3 seems to be more unstable as i thought.
git-svn-id: file:///svn/phpbb/trunk@4056 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 14:27:02 +00:00
Meik Sievertsen
5ceeb10e99 some updates in regards to fetching authentication.
git-svn-id: file:///svn/phpbb/trunk@4055 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-25 13:07:19 +00:00
Paul S. Owen
f381c0d3ef more fun with cookies
git-svn-id: file:///svn/phpbb/trunk@4054 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-24 00:30:53 +00:00
Ludovic Arnaud
bea13814e7 Changed: set_config() won't actually update the database if config values match
git-svn-id: file:///svn/phpbb/trunk@4053 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-23 23:55:39 +00:00
Paul S. Owen
d2f1d9e8bc Wasn't stripping slashes from the cookies ... that will account for some of the erroneous mark read, nothing changes issues. Add name="" to image generation ... for "on" event handlers, etc.
git-svn-id: file:///svn/phpbb/trunk@4052 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-23 23:46:55 +00:00
Paul S. Owen
2a896ad260 Various updates, changed jump to first unread as per Ashe's suggestion/request ... hope people don't start linking to it making me regret reverting to this implementation :D Moved many decisions on what icons to output to templates ... feedback wrt any performance impacts happily accepted.
git-svn-id: file:///svn/phpbb/trunk@4051 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-23 16:15:03 +00:00
Paul S. Owen
79eeeb0b7c Append POST originated forum_id to this->page if present
git-svn-id: file:///svn/phpbb/trunk@4050 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 17:03:04 +00:00
Paul S. Owen
92ece3c711 Renames and removals
git-svn-id: file:///svn/phpbb/trunk@4049 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 12:16:37 +00:00
Paul S. Owen
98f8dfebb0 Renames and removals
git-svn-id: file:///svn/phpbb/trunk@4048 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 11:57:53 +00:00
Ludovic Arnaud
70e6fa189b Changed: Moved up some var definitions.
Changed: topic_review() modified to set the correct bbcode_bitfield.
Fixed: some bugs regarding post preview


git-svn-id: file:///svn/phpbb/trunk@4047 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 01:35:48 +00:00
Ludovic Arnaud
81f3b7e85d Syntax highlightning CSS
git-svn-id: file:///svn/phpbb/trunk@4046 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 01:33:00 +00:00
Ludovic Arnaud
64b7c1d73d Changed: $warn_msg changed into a class var. (allows from returning errors from regexps)
Added: max_quote_depth
Changed: PHP syntax highlightning modified to use CSS classes instead of <font> tags


git-svn-id: file:///svn/phpbb/trunk@4045 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 01:32:27 +00:00
Ludovic Arnaud
34579c63e2 bbcode template updated for the new parser
git-svn-id: file:///svn/phpbb/trunk@4044 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 01:27:15 +00:00
Ludovic Arnaud
e039ffafc6 Updated bbcode parser.
Images that are replace with a link according to user's preferences now use the corresponding [url] template.
Some regular expressions have been made a little more restrictive.


git-svn-id: file:///svn/phpbb/trunk@4043 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-22 01:26:36 +00:00
Ludovic Arnaud
fd7b3a0953 Added max_quote_depth limiter to prevent users from nesting a hell lot of quotes.
array_merge() replaced with a faster solution. Note that it will _not_ overwrite existing strings.


git-svn-id: file:///svn/phpbb/trunk@4042 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 19:11:04 +00:00
Ludovic Arnaud
394b2d160a Added max_quote_depth limiter to prevent users from nesting a hell lot of quotes
git-svn-id: file:///svn/phpbb/trunk@4041 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 19:10:04 +00:00
Ludovic Arnaud
db4f5c970b n/m
git-svn-id: file:///svn/phpbb/trunk@4040 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 19:07:53 +00:00
Ludovic Arnaud
2af466141d get_forum_branch() moved to function_admins.php
git-svn-id: file:///svn/phpbb/trunk@4039 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 19:06:16 +00:00
Ludovic Arnaud
1967bef6a5 Titles go bold
git-svn-id: file:///svn/phpbb/trunk@4038 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 18:33:11 +00:00
Paul S. Owen
5b3787d66a whoops
git-svn-id: file:///svn/phpbb/trunk@4037 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 00:38:13 +00:00
Paul S. Owen
f3c308f67c Add a 6 char key to user_birthday
git-svn-id: file:///svn/phpbb/trunk@4036 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 00:13:59 +00:00
Paul S. Owen
659554b096 Enable display of birthday listing ... controlled via ACP Load Settings
git-svn-id: file:///svn/phpbb/trunk@4035 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-21 00:06:06 +00:00
Paul S. Owen
9ce38e6977 Enable display of birthday listing ... controlled via ACP Load Settings
git-svn-id: file:///svn/phpbb/trunk@4034 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 23:57:08 +00:00
Paul S. Owen
70634a792e oops, let's try and retain consistency with viewtopic
git-svn-id: file:///svn/phpbb/trunk@4033 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 17:39:10 +00:00
Paul S. Owen
18760b39f4 Alter layout for signature ... else it'll really screwup the look with large sigs ..
git-svn-id: file:///svn/phpbb/trunk@4032 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 17:36:47 +00:00
Paul S. Owen
fc67159096 Only set start = 0 when first sorting ... else it screws everything up :)
git-svn-id: file:///svn/phpbb/trunk@4031 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 14:01:57 +00:00
Paul S. Owen
f8a9ed5381 Avatar preferencial display here too
git-svn-id: file:///svn/phpbb/trunk@4030 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 13:37:16 +00:00
Paul S. Owen
f3f3b44897 This version tends to do what it was supposed to do ... I guess users will prefer this ...
git-svn-id: file:///svn/phpbb/trunk@4029 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 13:35:48 +00:00
Paul S. Owen
b48d7492a2 Enable view limiting functions ... Ashe, not sure if this is compatible with your thinking for bbcode but it seems the "logical" way to handle disabling of bbcode/flash in this manner. Fixed issue with automatic url handling of local links
git-svn-id: file:///svn/phpbb/trunk@4028 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 13:24:23 +00:00
Paul S. Owen
0b58522088 Correct doubled up viewsigs, replace viewemail with allow_viewemail, add couple new groups for COPPA users
git-svn-id: file:///svn/phpbb/trunk@4027 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 13:09:20 +00:00
Paul S. Owen
2700723d8b Fix forum link redirection when tracking clicks
git-svn-id: file:///svn/phpbb/trunk@4026 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 12:24:10 +00:00
Paul S. Owen
208a3b96bf More functions added ...
git-svn-id: file:///svn/phpbb/trunk@4025 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-20 12:16:25 +00:00
Paul S. Owen
d43770db28 Further updates
git-svn-id: file:///svn/phpbb/trunk@4024 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 21:41:55 +00:00
Paul S. Owen
5a92a8c323 oops, forgot to commit these ...
git-svn-id: file:///svn/phpbb/trunk@4023 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 17:55:00 +00:00
Paul S. Owen
cdbe4d6a52 ucp related updates
git-svn-id: file:///svn/phpbb/trunk@4022 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 15:24:59 +00:00
Paul S. Owen
d725a8faf1 Jump to last post on "View newest unread" when all posts have been read
git-svn-id: file:///svn/phpbb/trunk@4021 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 15:24:49 +00:00
Paul S. Owen
f0964d4a43 Changes as per functions_user.php
git-svn-id: file:///svn/phpbb/trunk@4020 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 15:24:14 +00:00
Paul S. Owen
746dd5cbbd Renamed class to ucp (for now at least), includes "module" handling for ucp, new validation, normalisation routines (usefulness to be proved :D), blah blah
git-svn-id: file:///svn/phpbb/trunk@4019 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 15:23:59 +00:00
Paul S. Owen
094ab7e189 Hello!
git-svn-id: file:///svn/phpbb/trunk@4018 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 15:23:04 +00:00
Paul S. Owen
7097d53af2 Bye billy ... oop, wrong film, oops wrong media ... shut up Paul
git-svn-id: file:///svn/phpbb/trunk@4017 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-19 13:45:26 +00:00
Ludovic Arnaud
1bb83a6760 Added: [/*] tag (list item end tag). Automagically added if needed, in which case it's stored as [/*Ⓜ️$uid]
git-svn-id: file:///svn/phpbb/trunk@4016 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 23:29:35 +00:00
Ludovic Arnaud
e2d5fcdda9 decode_text() will strip [/*:m] tags
git-svn-id: file:///svn/phpbb/trunk@4015 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 23:27:01 +00:00
Ludovic Arnaud
4ae5f981b5 Added: [/*] tag (list item end tag). Automagically added if needed, in which case it's stored as [/*Ⓜ️$uid]
Added: any {L_*} var in bbcode.html is replaced by its matching $lang string


git-svn-id: file:///svn/phpbb/trunk@4014 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 23:26:05 +00:00
Ludovic Arnaud
9723acc883 Additional lang strings for post reporting
git-svn-id: file:///svn/phpbb/trunk@4013 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 22:28:48 +00:00
Ludovic Arnaud
961ba4f001 Fixed: some stuff ;)
Changed: users cannot report the same post twice. if an user tries to, s/he's invited to edit his/her report


git-svn-id: file:///svn/phpbb/trunk@4012 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 22:26:18 +00:00
Meik Sievertsen
178572a5d0 #642733
git-svn-id: file:///svn/phpbb/trunk@4011 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-18 11:12:04 +00:00
Meik Sievertsen
33b0446650 prepared (and fixed) topic review.
git-svn-id: file:///svn/phpbb/trunk@4010 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-17 17:33:44 +00:00
Meik Sievertsen
7aa9eaeeb9 fixed a small annoying bug.
git-svn-id: file:///svn/phpbb/trunk@4007 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-11 19:56:28 +00:00
Meik Sievertsen
6b7f90de27 re-enable posting. ;)
git-svn-id: file:///svn/phpbb/trunk@4006 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-11 16:38:43 +00:00
Meik Sievertsen
4d1def879a a few updates, added #539865 and #694413.
git-svn-id: file:///svn/phpbb/trunk@4005 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-11 16:21:35 +00:00
Paul S. Owen
30fd2486d8 Yet more mildly fudged code ... just to get something up, minor fixes/updates elsewhere
git-svn-id: file:///svn/phpbb/trunk@4004 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-11 00:58:14 +00:00
Paul S. Owen
549537b9d5 Returned to instantiation of ucp object ... perhaps this approach is better? Altered basic info for ucp_modules, updated editor to allow alternative form and textarea names ... still lots of fudginess, hhhmmmm fudge, uuuuugggghhh
git-svn-id: file:///svn/phpbb/trunk@4003 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 17:19:27 +00:00
Paul S. Owen
db56a55808 guess what
git-svn-id: file:///svn/phpbb/trunk@4002 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 01:09:01 +00:00
Paul S. Owen
5066be354d guess what
git-svn-id: file:///svn/phpbb/trunk@4001 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 01:01:36 +00:00
Paul S. Owen
26c4b023fa This commit is in no way related to the UCP, anyone that says it are lying dogs, there are no changes here, none.
git-svn-id: file:///svn/phpbb/trunk@4000 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 01:01:24 +00:00
Paul S. Owen
6d119a0e45 Very rough code in places ... particularly sig parsing ... mainly as a "does it work?" test ... the answer seems to be "yes, it does" ... I don't recall the met office saying "Hell has frozen over", strange ...
git-svn-id: file:///svn/phpbb/trunk@3999 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 01:00:29 +00:00
Paul S. Owen
cb6cd93dae Updates ... looks a little better? Maybe we should move to genmed as the "new" gen?
git-svn-id: file:///svn/phpbb/trunk@3998 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-10 00:59:11 +00:00
Ludovic Arnaud
b5d4bc5ced Fixed quotes having bbcodes in author name
git-svn-id: file:///svn/phpbb/trunk@3997 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-09 20:24:15 +00:00
Paul S. Owen
2fc8842b0f Had to make a start on the UCP proper ... note that things may and in places are quite broken
git-svn-id: file:///svn/phpbb/trunk@3996 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-09 14:11:55 +00:00
Paul S. Owen
21ce5c4831 Updates to various items ... note this won't "work" at present since I've not committed associated updates
git-svn-id: file:///svn/phpbb/trunk@3995 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-09 00:14:57 +00:00
Paul S. Owen
874a397315 forum_link_track to forum_flags & 1
git-svn-id: file:///svn/phpbb/trunk@3994 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 13:17:40 +00:00
Paul S. Owen
0a73232ab0 speling erRor
git-svn-id: file:///svn/phpbb/trunk@3993 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 12:52:24 +00:00
Paul S. Owen
13da69d625 Prune related
git-svn-id: file:///svn/phpbb/trunk@3992 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 12:49:16 +00:00
Paul S. Owen
6a29503a13 Updated pruning, moved search limit to load form
git-svn-id: file:///svn/phpbb/trunk@3991 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 12:48:49 +00:00
Ludovic Arnaud
fd1e389f5b Fixed: moderators "viewprofile" links
git-svn-id: file:///svn/phpbb/trunk@3990 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 03:14:51 +00:00
Paul S. Owen
711d90b44f Changed forum_link_track to forum_flags for storage of additional info [ pruning related ], moved lang selection into DB, other minor changes, still working on admin_prune, per forum styling for posting
git-svn-id: file:///svn/phpbb/trunk@3989 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-08 01:14:14 +00:00
Ludovic Arnaud
bb373ebcba Do not update post's timestamp if we're only editing it
git-svn-id: file:///svn/phpbb/trunk@3983 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-06 00:42:04 +00:00
Ludovic Arnaud
b37c76e255 Semi-colon's missing
git-svn-id: file:///svn/phpbb/trunk@3982 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-06 00:14:43 +00:00
Paul S. Owen
cd031cc346 More line ending "issues"
git-svn-id: file:///svn/phpbb/trunk@3981 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-05 22:57:38 +00:00
Paul S. Owen
9551bfbc52 email topic, minor other changes, removed updating of parent forums upon posting (handled by functions_display)
git-svn-id: file:///svn/phpbb/trunk@3980 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-05 22:48:17 +00:00
Ludovic Arnaud
becf5f5199 The "Leave shadow" checkbox is back
git-svn-id: file:///svn/phpbb/trunk@3979 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-05 17:00:50 +00:00
Paul S. Owen
617c49bb8e Removed nav_links
git-svn-id: file:///svn/phpbb/trunk@3978 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 17:15:23 +00:00
Paul S. Owen
bd17c362c1 Fixed, hopefully, jumpbox indentation issues
git-svn-id: file:///svn/phpbb/trunk@3977 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 15:09:16 +00:00
Paul S. Owen
3e2e39d336 oops
git-svn-id: file:///svn/phpbb/trunk@3976 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 14:24:46 +00:00
Paul S. Owen
aed79aea29 No need to require guests to login before asking for password
git-svn-id: file:///svn/phpbb/trunk@3975 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 13:41:37 +00:00
Paul S. Owen
1652fa243f hhmm, sort of explains the weird post count behaviour of recent days ...
git-svn-id: file:///svn/phpbb/trunk@3974 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 13:40:21 +00:00
Paul S. Owen
af7468621b Seems to be behaving today ...
git-svn-id: file:///svn/phpbb/trunk@3973 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 13:39:49 +00:00
Paul S. Owen
c8b23a4273 I suppose the template may be useful too
git-svn-id: file:///svn/phpbb/trunk@3971 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 00:08:19 +00:00
Paul S. Owen
6b7b082123 we commit thy source code to the trash, sectors to sectors, bytes to bytes, bits to bits.
git-svn-id: file:///svn/phpbb/trunk@3970 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-04 00:00:26 +00:00
Paul S. Owen
dac0adead3 page header/footer become functions, forum passwords (I know, I know but it appears a popular feature for some reason ... inclusion not yet set in concrete nor complete), various bug fixes (and no doubt new bugs).
git-svn-id: file:///svn/phpbb/trunk@3969 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-03 23:58:45 +00:00
Meik Sievertsen
5b927b0162 only very small things.
git-svn-id: file:///svn/phpbb/trunk@3967 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-03 23:33:04 +00:00
Paul S. Owen
c6888eb18e Various updates, forum links, "improve" forum management, cleanups, blah blah, note the schema changes, note also that forum management may misbehave ... reports on wrong doings are welcome ... seem to be having problems with some mcp functions under apache/win32
git-svn-id: file:///svn/phpbb/trunk@3961 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-02 15:50:11 +00:00
Meik Sievertsen
9def7a65e3 changed attachment processing (posting), the old way was a mess. :)
git-svn-id: file:///svn/phpbb/trunk@3960 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-05-01 18:24:18 +00:00
Meik Sievertsen
3a4e4374dc further work on the attachment panel... and see how plain those icons are... these are the correct ones to rip ;)
Hopefully someone will make some nice upload icons. :)


git-svn-id: file:///svn/phpbb/trunk@3959 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-29 20:06:25 +00:00
Paul S. Owen
81cd87fe10 Removed to prevent further misuse
git-svn-id: file:///svn/phpbb/trunk@3958 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-29 11:27:52 +00:00
Paul S. Owen
7ea6b9d8fb Check for and remove other possible PHP execution tags
git-svn-id: file:///svn/phpbb/trunk@3957 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-28 15:06:34 +00:00
Paul S. Owen
9206fc8d12 Only displayed subforum icon if subforums were set to display_on_index
git-svn-id: file:///svn/phpbb/trunk@3956 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-26 17:28:32 +00:00
Paul S. Owen
09a9719982 Fixed error in handling sub-forum data when displaying "categories"
git-svn-id: file:///svn/phpbb/trunk@3955 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-26 16:24:58 +00:00
Ludovic Arnaud
8df413cafc I believe the original intent was to put the backslash in the character class, this should make it work
git-svn-id: file:///svn/phpbb/trunk@3954 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-26 01:35:12 +00:00
Paul S. Owen
5362625eab Various changes, and tests ... marking/tracking is not complete ... tinkering, changing, etc. still to be done ... it's just I've made numerous and various changes to different files so a commit really is due
git-svn-id: file:///svn/phpbb/trunk@3953 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-26 01:17:40 +00:00
Paul S. Owen
4e43cb5153 Updated icons
git-svn-id: file:///svn/phpbb/trunk@3952 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-26 00:47:58 +00:00
Paul S. Owen
fc2ecf2de9 Was certainly one problem with it ...
git-svn-id: file:///svn/phpbb/trunk@3951 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 23:00:52 +00:00
Paul S. Owen
51b0a56996 For the time being I want this to stay as addslashes for some cross-db compatibility testing ...
git-svn-id: file:///svn/phpbb/trunk@3950 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:40:57 +00:00
Ludovic Arnaud
42ee5e7a54 No functional changes, will only produce less PHP notices/warnings.
git-svn-id: file:///svn/phpbb/trunk@3949 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:24:53 +00:00
Ludovic Arnaud
5f58f0ff71 Fixed typos, added isset() to produce less PHP notices and changed addslashes() to the corresponding dbal function
git-svn-id: file:///svn/phpbb/trunk@3948 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:23:35 +00:00
Ludovic Arnaud
b939242c3a Fixed some undefined variables
git-svn-id: file:///svn/phpbb/trunk@3947 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:21:29 +00:00
Ludovic Arnaud
c3e4f02d49 Fixed some undefined variables (my bad ;))
git-svn-id: file:///svn/phpbb/trunk@3946 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:20:53 +00:00
Ludovic Arnaud
c74b68c26b Store only SELECT queries to be flushed later
git-svn-id: file:///svn/phpbb/trunk@3945 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:19:45 +00:00
Ludovic Arnaud
ca9107dfba Use {LAST_POST_TIME} to determine if the forum has "last post" infos
git-svn-id: file:///svn/phpbb/trunk@3944 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 18:17:53 +00:00
Paul S. Owen
55b4510b0e Modified internal layout of posts a little ... second time lucky, first copy was overwritten by another commit :D
git-svn-id: file:///svn/phpbb/trunk@3943 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-24 01:45:55 +00:00
Ludovic Arnaud
d1ec4973c7 Hmm, renamed the form. Now (Un)Mark All lnks should work
git-svn-id: file:///svn/phpbb/trunk@3942 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 23:07:59 +00:00
Ludovic Arnaud
0ed1f9d2b2 Changed: if the user hits "merge" and no destination topic is selected, the topic selection screen magically appears
git-svn-id: file:///svn/phpbb/trunk@3941 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 23:04:12 +00:00
Ludovic Arnaud
23a9077a0b Changed: topic_view displays the "merge" button, no matter if a destination topic has been selected
git-svn-id: file:///svn/phpbb/trunk@3940 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 22:58:10 +00:00
Ludovic Arnaud
8796a09d01 Fixed: imbricated quotes
Added: individual bbcodes can be disabled. (still has some bug, not sure where though)


git-svn-id: file:///svn/phpbb/trunk@3939 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 22:55:53 +00:00
Ludovic Arnaud
716baed055 Changed: polls are forked with topics. Votes are not, which means users will have to vote again.
git-svn-id: file:///svn/phpbb/trunk@3938 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 22:47:28 +00:00
Ludovic Arnaud
3a4af0ea4f Ugly-fixed: username missing when quoting a post
Added: in topic review, posts are second_pass()'ed


git-svn-id: file:///svn/phpbb/trunk@3937 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 22:00:32 +00:00
Ludovic Arnaud
e13b0efc6a Added: more sync() stuff, to be documented in the dev forum
git-svn-id: file:///svn/phpbb/trunk@3936 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 21:57:53 +00:00
Ludovic Arnaud
3847fc47ec Changed: only cache non-dynamic config settings
git-svn-id: file:///svn/phpbb/trunk@3935 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 21:48:41 +00:00
Ludovic Arnaud
44eb035adf Changed: the loading of bbcodes template is triggered whenever needed - see bbcode_tpl()
Changed: [flash] got templated


git-svn-id: file:///svn/phpbb/trunk@3934 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 21:47:15 +00:00
Paul S. Owen
13f7d92739 hhmmm, was slap bang in the middle of working on this ;) Excess slashing(?) .. keep an eye out for errors ... fixed static lang preg
git-svn-id: file:///svn/phpbb/trunk@3933 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 20:55:48 +00:00
Meik Sievertsen
444b49c50a replaced \' with ' in template to let it parse javascript correctly. admin_attachments.php changes. added real media streaming.
git-svn-id: file:///svn/phpbb/trunk@3932 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 20:50:07 +00:00
Ludovic Arnaud
bec93ceb59 Fixed: record_ values do not make the cache to expire
git-svn-id: file:///svn/phpbb/trunk@3931 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 20:22:44 +00:00
Ludovic Arnaud
3bcc643ee5 Added: [flash] bbcode template
git-svn-id: file:///svn/phpbb/trunk@3930 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 19:15:41 +00:00
Ludovic Arnaud
eb9ed9d007 Fixed: decode_text() not decoding /list tags properly
Fixed: topic_replies not incremented when quoting another post


git-svn-id: file:///svn/phpbb/trunk@3929 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 18:41:28 +00:00
Paul S. Owen
72fbb43a1e Thanks to John, who indirectly reminded me about this :D ... echo only data we need to echo.
git-svn-id: file:///svn/phpbb/trunk@3928 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-23 14:55:13 +00:00
Meik Sievertsen
178d7e052a NOOOOO, this was not me, you have not seen this... damn trapfalls... the bears are rumbling, try to access brain ... access denied.
git-svn-id: file:///svn/phpbb/trunk@3927 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 19:46:52 +00:00
Meik Sievertsen
fb19563302 first version of attachment admin panel + some fixes (i hope i do not screw someones code with this, my appologies)
git-svn-id: file:///svn/phpbb/trunk@3926 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 19:44:00 +00:00
Paul S. Owen
5085f051bf oops, I completely forget that viewforum uses the new topics_marking table ... guess I need to commit all related changes after all ... pooh
git-svn-id: file:///svn/phpbb/trunk@3925 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 17:26:29 +00:00
Paul S. Owen
254e82dee5 Lang string for f_votechg
git-svn-id: file:///svn/phpbb/trunk@3924 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 17:24:36 +00:00
Paul S. Owen
da6be44031 Throw an index on poll_last_vote
git-svn-id: file:///svn/phpbb/trunk@3923 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 17:23:54 +00:00
Paul S. Owen
b2f6faeed0 Replaced time limited display code ... sorting now checks last vote time, voting in a topic bumps it as if it were posted too.
git-svn-id: file:///svn/phpbb/trunk@3922 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 17:23:37 +00:00
Paul S. Owen
980109a5cb Knew I'd forget to add at least one thing ...
git-svn-id: file:///svn/phpbb/trunk@3921 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 16:49:55 +00:00
Paul S. Owen
899f7bc1d7 Re-enabled polling ... includes option of multiple choice polling, indication of option voted for, etc. ... preliminary implementation, various things need finishing
git-svn-id: file:///svn/phpbb/trunk@3920 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 16:47:34 +00:00
Paul S. Owen
9cb38cc0f9 Various new or updated polling related strings
git-svn-id: file:///svn/phpbb/trunk@3919 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 16:46:04 +00:00
Paul S. Owen
6fc1cb6b49 Wrong name for poll end caps in style imagesets, added poll_max_options to topic table ... ignore two new marking tables for time being ... code utilising one or both is yet to be committed and one or other may vanish.
git-svn-id: file:///svn/phpbb/trunk@3918 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 16:45:43 +00:00
Paul S. Owen
3bdde3d41f bbcode parse signatures
git-svn-id: file:///svn/phpbb/trunk@3915 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 01:04:24 +00:00
Paul S. Owen
d30d4987f3 Move second parse cache init after assignment of bitfield ... in case bitfield isn't set globally
git-svn-id: file:///svn/phpbb/trunk@3914 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 00:42:06 +00:00
Paul S. Owen
663144718d Add dotted topic and topic read/unread DB marking to Load Settings form
git-svn-id: file:///svn/phpbb/trunk@3913 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-22 00:00:54 +00:00
Paul S. Owen
f4ae4f51b6 Moved select to template
git-svn-id: file:///svn/phpbb/trunk@3910 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 16:35:44 +00:00
Paul S. Owen
c0a09ef80a A few changes, moved some items to templates
git-svn-id: file:///svn/phpbb/trunk@3909 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 16:35:32 +00:00
Paul S. Owen
cfc85ff84d Change tabbing order
git-svn-id: file:///svn/phpbb/trunk@3908 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 16:34:32 +00:00
Paul S. Owen
be2160b298 Excess non-breaking space with certain combinations of link output
git-svn-id: file:///svn/phpbb/trunk@3907 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 16:28:46 +00:00
Paul S. Owen
2f739ed4e7 Fixed display of hidden online users when u_viewonline is set true
git-svn-id: file:///svn/phpbb/trunk@3906 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 16:21:27 +00:00
Paul S. Owen
11a43c2e48 For "Email a friend" feature
git-svn-id: file:///svn/phpbb/trunk@3905 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 14:20:52 +00:00
Paul S. Owen
1cb3f21004 Removed {USERNAME}
git-svn-id: file:///svn/phpbb/trunk@3904 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 14:17:22 +00:00
Paul S. Owen
b776bf2cf3 Update email form inline with emailer changes
git-svn-id: file:///svn/phpbb/trunk@3903 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 14:16:21 +00:00
Paul S. Owen
786c8c2a06 Altered various aspects of emailing ... tested on a windows platform with both mail() and direct smtp ... it worked in both cases.
git-svn-id: file:///svn/phpbb/trunk@3902 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-21 14:13:10 +00:00
Ludovic Arnaud
5107b7aafa First-pass syntax highlightning. Will fix quotes later
git-svn-id: file:///svn/phpbb/trunk@3901 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-20 20:30:01 +00:00
Ludovic Arnaud
2abf7dc744 Review only approved posts
git-svn-id: file:///svn/phpbb/trunk@3900 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-20 19:46:15 +00:00
Meik Sievertsen
6ca8bbac47 dumdidum
git-svn-id: file:///svn/phpbb/trunk@3899 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-20 16:54:57 +00:00
Meik Sievertsen
c2da346e65 #575496 - only one way to do it, user input would be nice. ;)
git-svn-id: file:///svn/phpbb/trunk@3898 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-20 16:49:26 +00:00
Paul S. Owen
42d7f86141 Re-introduce sorting by rank ... note that only normal ranks are actively sorted. Special ranks are listed first no matter what the sort order.
git-svn-id: file:///svn/phpbb/trunk@3897 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-20 14:36:52 +00:00
Paul S. Owen
d1699421af hmmm, what's the word I'm looking for ... hhmmm .... poooh
git-svn-id: file:///svn/phpbb/trunk@3892 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 17:49:25 +00:00
Paul S. Owen
7a395b013f Missing concatenationnn ... thingy ... dot ..
git-svn-id: file:///svn/phpbb/trunk@3891 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 17:46:29 +00:00
Paul S. Owen
cd1fa01b2a Update of comment :D
git-svn-id: file:///svn/phpbb/trunk@3890 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 13:01:47 +00:00
Paul S. Owen
255a01f5a7 Replied to comment, no code changes
git-svn-id: file:///svn/phpbb/trunk@3889 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 13:00:25 +00:00
Paul S. Owen
7506d3d914 Updated topic/forum notification ... untested in live situation ... appeared to work via manual testing
git-svn-id: file:///svn/phpbb/trunk@3888 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 12:58:37 +00:00
Meik Sievertsen
68deb6cbfd do not use the sync function if post get deleted. added topic_last_post_id information to viewtopic, for determining delete permission correctly.
git-svn-id: file:///svn/phpbb/trunk@3887 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-19 10:28:37 +00:00
Meik Sievertsen
92141c3e35 use only one query for updating download counts.
git-svn-id: file:///svn/phpbb/trunk@3886 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 15:04:12 +00:00
Paul S. Owen
5e1a81ad66 Okay, give this one a whirl ... clear your template cache before trying
git-svn-id: file:///svn/phpbb/trunk@3885 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 14:32:32 +00:00
Meik Sievertsen
f9cf94e443 delete no longer used function
git-svn-id: file:///svn/phpbb/trunk@3884 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 13:11:40 +00:00
Meik Sievertsen
2bd1ced339 some arrangements...
git-svn-id: file:///svn/phpbb/trunk@3883 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 13:07:19 +00:00
Meik Sievertsen
25015ecc0b Revert INCLUDE template change, fixed attachment display.
git-svn-id: file:///svn/phpbb/trunk@3882 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 11:07:50 +00:00
Paul S. Owen
5286de6f0e Remove nulls for anon user
git-svn-id: file:///svn/phpbb/trunk@3881 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 00:31:10 +00:00
Paul S. Owen
e33d3c0994 Closing bracket in wrong place
git-svn-id: file:///svn/phpbb/trunk@3880 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-18 00:25:47 +00:00
Ludovic Arnaud
ff6fdd67be More bbcode fixes
git-svn-id: file:///svn/phpbb/trunk@3879 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 23:47:26 +00:00
Paul S. Owen
a79524cb33 Reduce (only a tad but still) the potential number of queries done when updating permissions
git-svn-id: file:///svn/phpbb/trunk@3878 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 22:59:51 +00:00
Paul S. Owen
e93d9d23f2 Fix ACL_UNSET problem ... was causing users to be granted permission even when denied
git-svn-id: file:///svn/phpbb/trunk@3877 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 21:43:39 +00:00
Ludovic Arnaud
e28707b3c2 make_normal fixed (was making topics sticky)
quickmod's "delete topic" fixed


git-svn-id: file:///svn/phpbb/trunk@3876 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 20:47:17 +00:00
Ludovic Arnaud
43e67f177d Trying to look busy
git-svn-id: file:///svn/phpbb/trunk@3875 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 20:12:50 +00:00
Paul S. Owen
3b907d8642 Minor changes
git-svn-id: file:///svn/phpbb/trunk@3874 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 17:47:41 +00:00
Paul S. Owen
e2c2953245 Use sorting function
git-svn-id: file:///svn/phpbb/trunk@3873 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 17:47:28 +00:00
Paul S. Owen
2e36408fab oops, it appears I missed most of the changes in mysql.php ...
git-svn-id: file:///svn/phpbb/trunk@3872 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 17:06:52 +00:00
Paul S. Owen
cc1a5f899d Remove superfluous query count increment in sql_query_limit
git-svn-id: file:///svn/phpbb/trunk@3871 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 17:01:10 +00:00
Paul S. Owen
d2db3f75bc Some change-arounds ... hopefully not introducing problems ...
git-svn-id: file:///svn/phpbb/trunk@3870 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 17:00:33 +00:00
Paul S. Owen
37f8fbb5f7 A special rank bug that was a real git to track down :D
git-svn-id: file:///svn/phpbb/trunk@3869 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 16:59:37 +00:00
Ludovic Arnaud
e97ea8ebe5 viewtopic v1.260: less memory than 1.259 and still 5% faster than v1.256
git-svn-id: file:///svn/phpbb/trunk@3868 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 02:06:49 +00:00
Ludovic Arnaud
55fcbef7e0 TODO ;)
git-svn-id: file:///svn/phpbb/trunk@3867 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-17 01:59:23 +00:00
Paul S. Owen
7e5e8422c8 Move signature addition entirely to template
git-svn-id: file:///svn/phpbb/trunk@3866 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 23:15:31 +00:00
Paul S. Owen
88cf1bb8cb bbcode parsing of signature ... may change ... alter handling of newlines
git-svn-id: file:///svn/phpbb/trunk@3865 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 23:07:56 +00:00
Paul S. Owen
4af673dcf1 Add bbcode_bitfield to user table schema for sig ... for time being at least
git-svn-id: file:///svn/phpbb/trunk@3864 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 23:07:17 +00:00
Ludovic Arnaud
c2e73ed656 Added syntax highlitning to [code]. Added [flash] tag.
git-svn-id: file:///svn/phpbb/trunk@3863 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 22:44:38 +00:00
Ludovic Arnaud
ce8eab90fb Removed unneeded decoding, added bbcode_uid to the second_pass function. (doh)
git-svn-id: file:///svn/phpbb/trunk@3862 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 22:32:20 +00:00
Paul S. Owen
126eb0979f Added some extra 's' extensions to preg_matches to cope with multiline data
git-svn-id: file:///svn/phpbb/trunk@3861 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 22:32:17 +00:00
Ludovic Arnaud
b93bb3d90c Added syntax highlitning for [code].
[code] is now case-insensitive. Nothing else to mention ;)


git-svn-id: file:///svn/phpbb/trunk@3860 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 22:31:20 +00:00
Ludovic Arnaud
b2b7a3f02a Keeping mysql4.php current makes some sense indeed
git-svn-id: file:///svn/phpbb/trunk@3859 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 21:25:22 +00:00
Ludovic Arnaud
f641d8a0bb Moved some code around, nothing serious.
Attention, bbcode() constructor now accepts only one argument: bbcode_bitfield


git-svn-id: file:///svn/phpbb/trunk@3858 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 21:16:57 +00:00
Ludovic Arnaud
aaa2c6faab Ranks put in the global cache
git-svn-id: file:///svn/phpbb/trunk@3857 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 21:07:08 +00:00
Ludovic Arnaud
23efd0bbb4 - BBCode now only loaded if necessary
- now obtains the whole post rowset before actual processing apply
- put all user_cache definitions together
- topic_view is only updated once per topic, not at every page


git-svn-id: file:///svn/phpbb/trunk@3856 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 20:45:30 +00:00
Ludovic Arnaud
afaf95bb13 Random XSS exploit
git-svn-id: file:///svn/phpbb/trunk@3855 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 20:22:12 +00:00
Paul S. Owen
1f4b7d27af Enable wider use of * wildcard to enhance exclude capability, improve logging
git-svn-id: file:///svn/phpbb/trunk@3854 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 17:00:52 +00:00
Paul S. Owen
5e6fe84a2c Remove duplicate username entries
git-svn-id: file:///svn/phpbb/trunk@3853 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 12:30:51 +00:00
Paul S. Owen
4818a5b065 And another PC/UNIX carriage return foobar corrected
git-svn-id: file:///svn/phpbb/trunk@3852 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 12:26:29 +00:00
Paul S. Owen
0b98e2ee23 Add .blue class for special group name listings
git-svn-id: file:///svn/phpbb/trunk@3851 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 12:19:57 +00:00
Paul S. Owen
c2b9cfd158 Enable multiple forum, user and group selection, tidy up logging, add details of affected forums
git-svn-id: file:///svn/phpbb/trunk@3850 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 12:09:29 +00:00
Paul S. Owen
7ed8bb270f Quick update to enable load_online_time useage
git-svn-id: file:///svn/phpbb/trunk@3849 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-16 00:23:51 +00:00
Paul S. Owen
8c2e96dbc9 Enable/disable searching ... note that user searching is always enabled for admins at this time (for ACP functionality ... this could be pared down to only those functions requiring username input)
git-svn-id: file:///svn/phpbb/trunk@3848 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:42:06 +00:00
Paul S. Owen
d3b302841c Only display PM/Search/Memberlist links if enabled
git-svn-id: file:///svn/phpbb/trunk@3847 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:41:43 +00:00
Paul S. Owen
1f80001ea8 Another windows carriage returns foobar
git-svn-id: file:///svn/phpbb/trunk@3846 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:26:54 +00:00
Paul S. Owen
4b79a1e658 Enable/disable searching
git-svn-id: file:///svn/phpbb/trunk@3845 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:21:05 +00:00
Paul S. Owen
11b76dcc8b Enable/disable fulltext index updating
git-svn-id: file:///svn/phpbb/trunk@3844 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:20:29 +00:00
Paul S. Owen
e9e95c8e1e Load config vars
git-svn-id: file:///svn/phpbb/trunk@3843 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:12:39 +00:00
Paul S. Owen
99405c6e4a Enable/disable display of moderator listings
git-svn-id: file:///svn/phpbb/trunk@3842 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 23:12:28 +00:00
Paul S. Owen
dce7e4c2b8 Enable/Disable online listing + time online
git-svn-id: file:///svn/phpbb/trunk@3841 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 22:57:05 +00:00
Paul S. Owen
d9dcb502a9 Load and cpu saving
git-svn-id: file:///svn/phpbb/trunk@3840 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 22:48:59 +00:00
Paul S. Owen
9f8bc2a0df Missed string
git-svn-id: file:///svn/phpbb/trunk@3839 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 21:38:19 +00:00
Meik Sievertsen
42b50a5d0f fixed delete post bug, use extension cache while posting, fix download counter for images
git-svn-id: file:///svn/phpbb/trunk@3838 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 18:56:31 +00:00
Paul S. Owen
93cb1853b5 Logging + fixes for user/group permission setting
git-svn-id: file:///svn/phpbb/trunk@3837 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 18:05:47 +00:00
Paul S. Owen
0c7c2f711f Change ACL_UNSET constant value
git-svn-id: file:///svn/phpbb/trunk@3836 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 17:34:03 +00:00
Paul S. Owen
2ea7f66a1b New acl admin strings
git-svn-id: file:///svn/phpbb/trunk@3835 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 17:33:53 +00:00
Paul S. Owen
df48f3e797 Changes in line with ACL_UNSET ... remember to wipe out all entries in your auth_users and auth_groups tables with auth_setting = 2
git-svn-id: file:///svn/phpbb/trunk@3834 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 17:33:35 +00:00
Paul S. Owen
ae1d8beb30 Introduced option to ignore permission settings for forum listings
git-svn-id: file:///svn/phpbb/trunk@3833 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 17:33:07 +00:00
Paul S. Owen
b7eef16074 Seems to be working ...
git-svn-id: file:///svn/phpbb/trunk@3832 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-15 17:32:49 +00:00
Ludovic Arnaud
25711806b3 $message is now processed in its unslashed form. Should not break anything...
git-svn-id: file:///svn/phpbb/trunk@3831 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 23:20:26 +00:00
Paul S. Owen
39dd567f90 some lang strings
git-svn-id: file:///svn/phpbb/trunk@3830 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 21:10:38 +00:00
Paul S. Owen
c51afc3b08 another quick fix for demo purposes
git-svn-id: file:///svn/phpbb/trunk@3829 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 21:01:14 +00:00
Paul S. Owen
d4ee356087 fix a few things up for demonstration
git-svn-id: file:///svn/phpbb/trunk@3828 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 20:01:53 +00:00
Paul S. Owen
c259434af4 Non (fully) working alternative to depedencies for admin, super mod and mod ... possibly
git-svn-id: file:///svn/phpbb/trunk@3827 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 18:01:30 +00:00
Paul S. Owen
2dc95a7e3e Dependencies go bye bye in favour of something else
git-svn-id: file:///svn/phpbb/trunk@3826 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 13:36:31 +00:00
Meik Sievertsen
2248698e53 faster (for me), especially for topics with a bunch of attachments (due to the nested block vars).
git-svn-id: file:///svn/phpbb/trunk@3825 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 12:28:57 +00:00
Meik Sievertsen
2918db79d5 Fixed INCLUDE. Now cached items are processed correctly. all glitches are fixed (for example the strange display after a template got changed)
git-svn-id: file:///svn/phpbb/trunk@3824 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 11:36:43 +00:00
Meik Sievertsen
46f33fae41 Installation should work again.
git-svn-id: file:///svn/phpbb/trunk@3823 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-13 11:10:54 +00:00
Paul S. Owen
c35cdd34da Renamed ACL_ constants, altered field names
git-svn-id: file:///svn/phpbb/trunk@3820 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-12 20:01:57 +00:00
Paul S. Owen
52530af898 Rename ACL_ constants
git-svn-id: file:///svn/phpbb/trunk@3819 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-12 20:01:10 +00:00
Paul S. Owen
32f0680b30 Getting there ... unlike Network Rail ...
git-svn-id: file:///svn/phpbb/trunk@3818 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-12 17:07:25 +00:00
Meik Sievertsen
793182218a added 711252 and lock topic within post, fixed post editing a bit.
git-svn-id: file:///svn/phpbb/trunk@3817 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-12 14:30:21 +00:00
Meik Sievertsen
75eef6bfd7 changed $message to be a class variable, added attachment category constants (now images are displayed inlined by default... no wrong assignments anymore, if you wondered why your zip file got streamed. ;))
git-svn-id: file:///svn/phpbb/trunk@3816 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 19:51:38 +00:00
Paul S. Owen
da775f2286 hehehe hoho
git-svn-id: file:///svn/phpbb/trunk@3815 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 16:18:58 +00:00
Paul S. Owen
c12aaefc9c Very, very broken right now ... re-working it as we speak
git-svn-id: file:///svn/phpbb/trunk@3814 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 15:29:06 +00:00
Meik Sievertsen
4feb08390c re-use include...
git-svn-id: file:///svn/phpbb/trunk@3813 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 06:07:58 +00:00
Ludovic Arnaud
4f55c9fb81 BBCode parser + decoder, missing some tags and mildly broken at this time
git-svn-id: file:///svn/phpbb/trunk@3812 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 00:19:29 +00:00
Ludovic Arnaud
f17c36cea4 Moved BBCODE_UID_LEN to common.php
git-svn-id: file:///svn/phpbb/trunk@3811 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-11 00:02:54 +00:00
Paul S. Owen
9c8c50cdb7 Try this version of include ...
git-svn-id: file:///svn/phpbb/trunk@3810 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 23:58:30 +00:00
Paul S. Owen
a702dc6683 Won't work ... since inline images are pulled from here ... need to look at match against non-image content types
git-svn-id: file:///svn/phpbb/trunk@3809 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 23:53:54 +00:00
Ludovic Arnaud
9cb2378597 Added /cache/templates/ and /files/ directories to the repository
git-svn-id: file:///svn/phpbb/trunk@3808 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 21:57:01 +00:00
Meik Sievertsen
3616d54094 initial 'view attachments' implementation. added new template var (merged include, to preserve previous block vars), could be changed later to consider caching. some config variables and upload icons are not present as of yet...
git-svn-id: file:///svn/phpbb/trunk@3807 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 21:35:31 +00:00
Ludovic Arnaud
f2d0929147 Moved up flood-check a little to save a query whenever possible
git-svn-id: file:///svn/phpbb/trunk@3806 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 19:11:09 +00:00
Ludovic Arnaud
73b191a343 Did you know that if you use backslashes in a log message WinCVS freaks out and commit files at random? I didn't either.
git-svn-id: file:///svn/phpbb/trunk@3804 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 01:58:18 +00:00
Ludovic Arnaud
c0aedcc467 IP information moved to Post Details
git-svn-id: file:///svn/phpbb/trunk@3803 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-10 00:56:23 +00:00
Paul S. Owen
2292b77b7d oopsie, me not think that last checkin was supposed to happen ... at least I hope not :D
git-svn-id: file:///svn/phpbb/trunk@3802 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 22:41:25 +00:00
Ludovic Arnaud
c17e275080 Weekly update: MCP templates. Forms renamed to 'main', added mcp_jumpbox.html for easy jumping and mcp_foruminfo.html.
Not too happy with HTML though =" templates\subSilver\mcp_forum.html templates\subSilver\mcp_foruminfo.html templates\subSilver\mcp_front.html templates\subSilver\mcp_header.html templates\subSilver\mcp_jumpbox.html templates\subSilver\mcp_move.html templates\subSilver\mcp_post.html templates\subSilver\mcp_viewip.html templates\subSilver\mcp_viewlogs.html


git-svn-id: file:///svn/phpbb/trunk@3800 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 22:17:55 +00:00
Ludovic Arnaud
e5e9fd9cba Form renamed, table class fixed
git-svn-id: file:///svn/phpbb/trunk@3799 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 22:17:16 +00:00
Ludovic Arnaud
98d7c47133 "Report" button only shows up if the user is authorised. Default forum_id for globals temporary (and arbitrary) set to 2.
git-svn-id: file:///svn/phpbb/trunk@3798 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 22:00:23 +00:00
Ludovic Arnaud
ddee09332d "Report" button only shows up if the user is authorised. Default forum_id for globals temporary (and arbitrary) set to 2.
git-svn-id: file:///svn/phpbb/trunk@3797 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 21:55:03 +00:00
Ludovic Arnaud
0c873e3621 Added 540408 (edit forum info) and 565097 (fork threads). Fixed a couple of bugs that no one would ever noticed
git-svn-id: file:///svn/phpbb/trunk@3796 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 21:47:58 +00:00
Ludovic Arnaud
6f3e9813ad Weekly update: MCP lang strings
git-svn-id: file:///svn/phpbb/trunk@3794 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 21:32:52 +00:00
Ludovic Arnaud
e5d14d24d5 Capitalisation
git-svn-id: file:///svn/phpbb/trunk@3793 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 21:28:26 +00:00
Ludovic Arnaud
11b9a0c95d Moved back gen_sorting() to mcp.php
git-svn-id: file:///svn/phpbb/trunk@3792 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-09 21:26:25 +00:00
Ludovic Arnaud
9d19bef3c1 I... erm... kinda forgot to add this one
git-svn-id: file:///svn/phpbb/trunk@3789 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-04 00:57:39 +00:00
Paul S. Owen
7018d81079 Add m_info
git-svn-id: file:///svn/phpbb/trunk@3788 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 11:37:17 +00:00
Ludovic Arnaud
e3bac84877 Oops. Didn't merge files correctly.
git-svn-id: file:///svn/phpbb/trunk@3787 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 03:13:59 +00:00
Ludovic Arnaud
6fbf4b7c1c Centralised sorting
git-svn-id: file:///svn/phpbb/trunk@3786 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 00:51:30 +00:00
Ludovic Arnaud
1354ee2f43 Trying to centralise sorting... currently used in MCP, successfully tested in viewforum.
git-svn-id: file:///svn/phpbb/trunk@3785 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 00:46:49 +00:00
Ludovic Arnaud
b6c35f2ff1 MCP update:
- mod_queue
- front page
- new viewlogs tab
- now using a dedicated function for jumpbox generation (not everywhere yet)


git-svn-id: file:///svn/phpbb/trunk@3784 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 00:10:10 +00:00
Ludovic Arnaud
3bf73634ca I knew that I forgot something: f_report now in use
git-svn-id: file:///svn/phpbb/trunk@3783 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-03 00:06:04 +00:00
Ludovic Arnaud
b1848bf34e Fixed the quickmod type-changing tools for global announcements
git-svn-id: file:///svn/phpbb/trunk@3782 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-02 23:25:38 +00:00
Ludovic Arnaud
3ce0f98f25 Modified view_logs to be used in MCP, added get_forum_list() to quickly get a set of forums the user is authed for
git-svn-id: file:///svn/phpbb/trunk@3781 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-02 23:21:17 +00:00
Ludovic Arnaud
af3512e6df Lots of HTML updates, and more to follow...
git-svn-id: file:///svn/phpbb/trunk@3780 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-02 23:16:05 +00:00
Ludovic Arnaud
f94a5cb87d Added user notification for post reporting, moved lang strings to lang_main, added CSS style for mcp_jumpbox
git-svn-id: file:///svn/phpbb/trunk@3779 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-02 23:13:47 +00:00
Paul S. Owen
2c94c4659e Just playing
git-svn-id: file:///svn/phpbb/trunk@3778 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 23:48:47 +00:00
Meik Sievertsen
8a04466b3f show the attach icon in viewforum. added cached extensions (we need them within viewtopic)
git-svn-id: file:///svn/phpbb/trunk@3777 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 21:11:07 +00:00
Paul S. Owen
d054df5007 *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@3776 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 01:15:07 +00:00
Paul S. Owen
c9cab7794e Another u_ option ... this time for displaying avatars ... must start removing redundant fields in user table and elsewhere
git-svn-id: file:///svn/phpbb/trunk@3775 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 01:14:45 +00:00
Paul S. Owen
4d65caab3f Re-enable avatar display
git-svn-id: file:///svn/phpbb/trunk@3774 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 01:14:04 +00:00
Paul S. Owen
823a484e77 Lang string name changes for topic title prefixes
git-svn-id: file:///svn/phpbb/trunk@3773 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 00:50:06 +00:00
Paul S. Owen
5231006c03 Just throwing this in ... dependencies still not complete ... the GUI and storage has caused me to do more "thinking" than I'd anticipated ... comments are welcome on what you see. Note also ALLOW/DENY/INHERIT have become YES/NO/UNSET
git-svn-id: file:///svn/phpbb/trunk@3772 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 00:06:11 +00:00
Paul S. Owen
3257af80f0 Update icon name
git-svn-id: file:///svn/phpbb/trunk@3771 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-04-01 00:05:50 +00:00
Paul S. Owen
2b253d9b51 Update icon name
git-svn-id: file:///svn/phpbb/trunk@3770 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-31 23:56:00 +00:00
Paul S. Owen
6e3908893d Improve feedback for banned users
git-svn-id: file:///svn/phpbb/trunk@3769 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-31 21:47:10 +00:00
Ludovic Arnaud
372c2d65d1 File renamed to mcp_topic.html a long time ago
git-svn-id: file:///svn/phpbb/trunk@3767 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:25:07 +00:00
Ludovic Arnaud
9f30b01c18 nm - fixed some style bugs
git-svn-id: file:///svn/phpbb/trunk@3766 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:21:04 +00:00
Ludovic Arnaud
fc52e8b184 I hit Enter too fast - updated acl checks
git-svn-id: file:///svn/phpbb/trunk@3765 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:18:31 +00:00
Ludovic Arnaud
930e6a7e6b Modes renamed - easier to remember
git-svn-id: file:///svn/phpbb/trunk@3764 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:05:58 +00:00
Ludovic Arnaud
5e92d8c8f6 Switched up "real" and "normal" counts. (doh)
Changed sorting by time to use topic_last_post_time rather than topic_last_post_id.


git-svn-id: file:///svn/phpbb/trunk@3763 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:03:11 +00:00
Ludovic Arnaud
36011792e6 "Real" post and topic counts now updated correctly. Mass-resync your topics/forums.
git-svn-id: file:///svn/phpbb/trunk@3762 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 21:01:01 +00:00
Ludovic Arnaud
d29495c6c3 Moved lang_mod strings to lang_main
git-svn-id: file:///svn/phpbb/trunk@3761 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 20:59:38 +00:00
Ludovic Arnaud
17427fd725 Hopefully done with topics sync'ing
git-svn-id: file:///svn/phpbb/trunk@3760 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 20:58:58 +00:00
Meik Sievertsen
cd1f9c63d6 apply 2.0.x change
git-svn-id: file:///svn/phpbb/trunk@3759 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 17:51:56 +00:00
Paul S. Owen
853cea315f Couple of changes to f_ permissions
git-svn-id: file:///svn/phpbb/trunk@3757 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 16:11:50 +00:00
Paul S. Owen
02b64a24e3 Don't output error page header when header already sent
git-svn-id: file:///svn/phpbb/trunk@3756 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:39:48 +00:00
Paul S. Owen
880b49c381 Various updated lang strings
git-svn-id: file:///svn/phpbb/trunk@3755 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:36:27 +00:00
Paul S. Owen
db251b43da Minor changes
git-svn-id: file:///svn/phpbb/trunk@3754 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:33:50 +00:00
Paul S. Owen
c66ba88f92 Various changes ... it works again now :D
git-svn-id: file:///svn/phpbb/trunk@3753 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:27:42 +00:00
Paul S. Owen
eabafe4734 More updates, auth_dependencies latest layout ... still may change
git-svn-id: file:///svn/phpbb/trunk@3752 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:27:17 +00:00
Paul S. Owen
f302d5ea93 Wrong object name
git-svn-id: file:///svn/phpbb/trunk@3751 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-30 14:22:34 +00:00
Meik Sievertsen
0db7b7603d global $db... ashe, i think you noticed already. :)
git-svn-id: file:///svn/phpbb/trunk@3750 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 18:42:24 +00:00
Meik Sievertsen
c2abdb292d made admin_phpinfo PHP 4.1.x compatible (old style format)
git-svn-id: file:///svn/phpbb/trunk@3749 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 18:37:28 +00:00
Paul S. Owen
51187c1b64 Assorted updates
git-svn-id: file:///svn/phpbb/trunk@3748 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 18:33:20 +00:00
Paul S. Owen
ec884a2c5b icon name change
git-svn-id: file:///svn/phpbb/trunk@3747 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 18:28:45 +00:00
Paul S. Owen
9e38434b4a Moved acl_options caching code into acl
git-svn-id: file:///svn/phpbb/trunk@3746 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 18:25:41 +00:00
Meik Sievertsen
88fbdb6e1e capitalized install script lang vars.
git-svn-id: file:///svn/phpbb/trunk@3745 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 17:50:12 +00:00
Paul S. Owen
ea2f85d458 Imageset schema changes ... drop your old imageset table and replace with this + data
git-svn-id: file:///svn/phpbb/trunk@3744 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 16:27:50 +00:00
Paul S. Owen
de6cbb063a Overdue naming convention changes
git-svn-id: file:///svn/phpbb/trunk@3743 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 14:19:50 +00:00
Paul S. Owen
99859cce21 No longer relevant in this form
git-svn-id: file:///svn/phpbb/trunk@3742 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 13:17:14 +00:00
Ludovic Arnaud
2678cb904f Fixed topic count for users who can view unapproved items
git-svn-id: file:///svn/phpbb/trunk@3741 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-29 00:51:38 +00:00
Ludovic Arnaud
213beefc17 Not quite a typo
git-svn-id: file:///svn/phpbb/trunk@3740 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 01:28:23 +00:00
Ludovic Arnaud
69a854d3ee forum_parents made more reliable. Removed the $extra_form_fields parameter from jumpbox routines.
git-svn-id: file:///svn/phpbb/trunk@3739 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 01:25:03 +00:00
Ludovic Arnaud
e572edb513 Using real counts when displaying unapproved items to keep the page count accurate.
git-svn-id: file:///svn/phpbb/trunk@3738 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 00:43:50 +00:00
Ludovic Arnaud
42ec5e67da MCP: resync() function deemed stable enough to replace sync() in functions_admin.php. I will keep extensively testing it though...
Pruning: now works as expected.


git-svn-id: file:///svn/phpbb/trunk@3737 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 00:41:16 +00:00
Ludovic Arnaud
fb5957474b Random stuff: report.gif renamed to icon_report.gif, typo in acm_file.
git-svn-id: file:///svn/phpbb/trunk@3736 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 00:37:07 +00:00
Ludovic Arnaud
95a1f17db3 Added icon_report to imageset (mine was like a big exclamation mark but Paul's looks better me thinks).
Added topic_replies_real and forum_topics_real fields to store real numbers of posts and topics, including unapproved items.
Removed the duplicate group_display field bug that I had personnally introduced


git-svn-id: file:///svn/phpbb/trunk@3735 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-28 00:29:56 +00:00
Paul S. Owen
ede818ebde whoopsied again
git-svn-id: file:///svn/phpbb/trunk@3733 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-26 22:36:42 +00:00
Paul S. Owen
82f0af1349 More missing stuff ... sure it was here before
git-svn-id: file:///svn/phpbb/trunk@3732 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 23:47:44 +00:00
Paul S. Owen
a827c0c413 browser_check seemed to go missing
git-svn-id: file:///svn/phpbb/trunk@3731 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 23:23:44 +00:00
Paul S. Owen
617602a088 This may help ...
git-svn-id: file:///svn/phpbb/trunk@3730 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 17:27:37 +00:00
Paul S. Owen
17f27aa1ac I'm guessing there have been changes to these files ...
git-svn-id: file:///svn/phpbb/trunk@3729 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:52:07 +00:00
Paul S. Owen
81c1c387d9 Removed redundant ... for now at least ... session info from user table schema, added online/offline icon
git-svn-id: file:///svn/phpbb/trunk@3728 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:51:38 +00:00
Paul S. Owen
75b1ffa664 Various updates
git-svn-id: file:///svn/phpbb/trunk@3727 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:50:18 +00:00
Paul S. Owen
3428964065 ahh, more cute wikkle icons ... don't they look nice, off you go, go join your other little icon friends ... go on
git-svn-id: file:///svn/phpbb/trunk@3726 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:37:22 +00:00
Paul S. Owen
403ed59cca report icon
git-svn-id: file:///svn/phpbb/trunk@3725 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:18:26 +00:00
Paul S. Owen
e92d7078b1 Report icon
git-svn-id: file:///svn/phpbb/trunk@3724 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:17:12 +00:00
Paul S. Owen
ee728234ce ahhh, look at the cute wikkle icon
git-svn-id: file:///svn/phpbb/trunk@3723 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 16:16:45 +00:00
Paul S. Owen
378972cb6b board_email becomes board_contact, board_email is now intended for use in "From:" and "Reply-to:" ... board_contact to be used where a "user facing" contact point is needed, e.g. spam, errors, etc.
git-svn-id: file:///svn/phpbb/trunk@3722 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 15:02:35 +00:00
Paul S. Owen
652383559f Strangely, changes to language strings ..
git-svn-id: file:///svn/phpbb/trunk@3721 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 14:23:31 +00:00
Paul S. Owen
c9670f9924 Enable reminder email sending
git-svn-id: file:///svn/phpbb/trunk@3720 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 14:21:56 +00:00
Paul S. Owen
723a6e9d5b Simplify online user text generation
git-svn-id: file:///svn/phpbb/trunk@3719 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 14:19:49 +00:00
Paul S. Owen
b0545e7636 Tidy up and simplify emailer class, add generate_board_url function ... note changes to emailer setup! Example will be adm/index.php remind
git-svn-id: file:///svn/phpbb/trunk@3718 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 14:19:23 +00:00
Paul S. Owen
3d43169b2a Reminder message for admin index
git-svn-id: file:///svn/phpbb/trunk@3717 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 11:59:36 +00:00
Paul S. Owen
124e9b7cb2 stupid line endings again
git-svn-id: file:///svn/phpbb/trunk@3716 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 00:38:18 +00:00
Paul S. Owen
996abfe026 Change url for PM
git-svn-id: file:///svn/phpbb/trunk@3715 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 00:30:55 +00:00
Paul S. Owen
bfc6b77112 hhmm, where did that constant go ...
git-svn-id: file:///svn/phpbb/trunk@3714 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 00:23:43 +00:00
Paul S. Owen
4fa458baf3 Changed attachment upload path var to "non-dynamic" ... couldn't see a reason as to why it needed to be dynamic, if it must feel free to change it back.
git-svn-id: file:///svn/phpbb/trunk@3713 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 00:19:58 +00:00
Paul S. Owen
18294c2230 Output total posts/topics
git-svn-id: file:///svn/phpbb/trunk@3712 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-25 00:05:28 +00:00
Paul S. Owen
9482bb75ca Suggested change to headers ... seems to work fine on Apache2.
git-svn-id: file:///svn/phpbb/trunk@3711 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 22:07:26 +00:00
Paul S. Owen
a9425e4f33 Add browser validation
git-svn-id: file:///svn/phpbb/trunk@3710 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 19:03:32 +00:00
Paul S. Owen
0462beed1d Carriage returns
git-svn-id: file:///svn/phpbb/trunk@3709 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 19:03:17 +00:00
Paul S. Owen
12f21fee97 Capitalisation, additional of one or two new options, removal of global prune option, addition of stats reset on admin index page
git-svn-id: file:///svn/phpbb/trunk@3708 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 19:03:16 +00:00
Paul S. Owen
d1494cfd8c Add Id tags
git-svn-id: file:///svn/phpbb/trunk@3707 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 18:15:26 +00:00
Paul S. Owen
5d091c8c2b Capitalisation
git-svn-id: file:///svn/phpbb/trunk@3706 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-24 18:13:22 +00:00
Paul S. Owen
c4007ce1ff Corrected doubled up forbidden_extension id, removed extra line endings
git-svn-id: file:///svn/phpbb/trunk@3704 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 21:44:38 +00:00
Ludovic Arnaud
590a8f52fa Forgot to permanently delete the old file
git-svn-id: file:///svn/phpbb/trunk@3703 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 21:18:43 +00:00
Ludovic Arnaud
d00305346e Added images for unapproved and reported items.
git-svn-id: file:///svn/phpbb/trunk@3702 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 21:17:23 +00:00
Ludovic Arnaud
5f9c1401f2 Corrected image name, added missing group_display field
git-svn-id: file:///svn/phpbb/trunk@3701 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 21:15:06 +00:00
Paul S. Owen
237daacdf1 Tidy things up a little more
git-svn-id: file:///svn/phpbb/trunk@3700 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 16:58:29 +00:00
Paul S. Owen
0509c71053 Easy access to some PHP info
git-svn-id: file:///svn/phpbb/trunk@3699 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-23 16:18:50 +00:00
Meik Sievertsen
b9c9984955 erm... aspx is forbidden too, reactivate transaction.
git-svn-id: file:///svn/phpbb/trunk@3698 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-22 15:55:45 +00:00
Meik Sievertsen
8357b81a1e initial attachment functionality... only posting related (add/delete/edit) and schema. Also added attachment switch to board settings admin.
git-svn-id: file:///svn/phpbb/trunk@3697 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-22 15:48:46 +00:00
Meik Sievertsen
73ffe96e2e prepare files, last commit before committing initial attachment functionality - please see thread within development forum.
git-svn-id: file:///svn/phpbb/trunk@3695 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 13:21:58 +00:00
Paul S. Owen
ab3209af48 oops, missed a bit
git-svn-id: file:///svn/phpbb/trunk@3694 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:33:29 +00:00
Paul S. Owen
4352c59cee Fix login box action
git-svn-id: file:///svn/phpbb/trunk@3693 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:28:30 +00:00
Paul S. Owen
276ea6ced4 Remove debugging stuff
git-svn-id: file:///svn/phpbb/trunk@3692 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:26:04 +00:00
Paul S. Owen
49cbde66d9 oops, I guess this may help ...
git-svn-id: file:///svn/phpbb/trunk@3691 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:25:03 +00:00
Paul S. Owen
08f384157a No longer "MySQL" specific explain
git-svn-id: file:///svn/phpbb/trunk@3690 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:23:46 +00:00
Paul S. Owen
53449e4b9f Some more fudges
git-svn-id: file:///svn/phpbb/trunk@3689 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 02:23:12 +00:00
Paul S. Owen
115a2cc9e0 And from the flames rose the might phoenix ... well, a little crisp around the edges with the odd missing feather ...
git-svn-id: file:///svn/phpbb/trunk@3688 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 01:32:57 +00:00
Paul S. Owen
229242acf5 Print entire topic
git-svn-id: file:///svn/phpbb/trunk@3687 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 01:26:47 +00:00
Paul S. Owen
ab34d6329c Move to sql_query_limit
git-svn-id: file:///svn/phpbb/trunk@3686 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 01:25:59 +00:00
Paul S. Owen
f9f6cb194d Minor change
git-svn-id: file:///svn/phpbb/trunk@3685 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 00:33:25 +00:00
Paul S. Owen
507c678514 Add forum image to template vars
git-svn-id: file:///svn/phpbb/trunk@3684 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 00:31:36 +00:00
Paul S. Owen
a884b9f189 Remove some redundant pruning stuff
git-svn-id: file:///svn/phpbb/trunk@3683 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 00:30:47 +00:00
Paul S. Owen
cfbb8a10e7 sql char field types must be enclosed in ' rather than "
git-svn-id: file:///svn/phpbb/trunk@3682 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-20 00:29:24 +00:00
Paul S. Owen
57a5147d5b Wrong syntax for limit, cockup in sql_escape ...
git-svn-id: file:///svn/phpbb/trunk@3681 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-19 21:00:01 +00:00
Paul S. Owen
85c22541c1 Fudge for firebird schema
git-svn-id: file:///svn/phpbb/trunk@3680 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-19 20:42:34 +00:00
Paul S. Owen
ac45bff71a Seems to work ...
git-svn-id: file:///svn/phpbb/trunk@3679 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-19 20:42:00 +00:00
Ludovic Arnaud
5d323a651e ACM filenames re-prefixed
git-svn-id: file:///svn/phpbb/trunk@3677 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-19 02:04:46 +00:00
Ludovic Arnaud
5fde0d061e Desesperatly trying to synchronise my different versions ;)
git-svn-id: file:///svn/phpbb/trunk@3676 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-19 01:44:44 +00:00
Paul S. Owen
1a7c52fe19 Possible workaround for affected rows ... must test this
git-svn-id: file:///svn/phpbb/trunk@3673 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 22:51:22 +00:00
Paul S. Owen
eff4e2e818 Update following move of post count incrementation checks to permissions
git-svn-id: file:///svn/phpbb/trunk@3672 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 22:47:50 +00:00
Paul S. Owen
286f95c293 Line feeds
git-svn-id: file:///svn/phpbb/trunk@3671 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 22:24:09 +00:00
Paul S. Owen
b622c51d80 Here I am going on about minimising new includes and I go and create one ... probably better off as a seperate include though than adding ~500 lines of code to session.php
git-svn-id: file:///svn/phpbb/trunk@3670 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 22:23:08 +00:00
Paul S. Owen
70672802cb Line feeds again ... also wondering if, given what this does it may be better integrated with memberlist?
git-svn-id: file:///svn/phpbb/trunk@3669 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 17:43:21 +00:00
Paul S. Owen
30d05b9bd2 I keep forgetting changes to line terminators and tortoisecvs 1.3.4+
git-svn-id: file:///svn/phpbb/trunk@3668 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 17:32:16 +00:00
Paul S. Owen
17ed78c14d Problem with url matching + spaces
git-svn-id: file:///svn/phpbb/trunk@3667 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 17:24:14 +00:00
Paul S. Owen
9699d62901 Dont' display legend if blank
git-svn-id: file:///svn/phpbb/trunk@3663 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 15:18:03 +00:00
Paul S. Owen
58b47c8312 Change cache location to root path cache, you can delete the cache/ and its contents from the templates/ directory. Moved cache show, decompile, etc. methods to new admin_ object in functions_admin
git-svn-id: file:///svn/phpbb/trunk@3662 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 14:58:07 +00:00
Paul S. Owen
d85156d5cd Paul did a whoopsie
git-svn-id: file:///svn/phpbb/trunk@3661 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-18 00:17:12 +00:00
Paul S. Owen
df495c30c9 Trying something
git-svn-id: file:///svn/phpbb/trunk@3660 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 23:06:10 +00:00
Paul S. Owen
f81602d72b It's alive! It's alive! ...
git-svn-id: file:///svn/phpbb/trunk@3659 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 17:34:20 +00:00
Paul S. Owen
28ed4efed1 Moved to includes/
git-svn-id: file:///svn/phpbb/trunk@3658 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 11:48:27 +00:00
Paul S. Owen
18b4bf0d05 Moved db include
git-svn-id: file:///svn/phpbb/trunk@3657 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 10:54:45 +00:00
Paul S. Owen
c345279596 Moved to includes ... since they are included too .. trying to "clean up" structure a little
git-svn-id: file:///svn/phpbb/trunk@3656 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 10:54:23 +00:00
Paul S. Owen
ad7001c59e Windows carriage returns
git-svn-id: file:///svn/phpbb/trunk@3655 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 01:59:04 +00:00
Paul S. Owen
abb165fff2 Missing selects ... should make names of these vars more consistent ...
git-svn-id: file:///svn/phpbb/trunk@3654 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 01:34:14 +00:00
Paul S. Owen
4f6a85e548 Incomplete, intended future support for 2.2
git-svn-id: file:///svn/phpbb/trunk@3653 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 01:17:50 +00:00
Paul S. Owen
a765dc4402 Add index, remove login
git-svn-id: file:///svn/phpbb/trunk@3652 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 01:13:57 +00:00
Paul S. Owen
fa7d11ae8e Output group colour legend here too
git-svn-id: file:///svn/phpbb/trunk@3651 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 00:54:10 +00:00
Paul S. Owen
e975227cff Moved login procedure to a function enabling "inline" login links ... no more "messy" redirects ... install will be broken for now, at least when it comes to redirecting after completion. Moved "front-end" login to ucp.php
git-svn-id: file:///svn/phpbb/trunk@3650 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-17 00:53:38 +00:00
Paul S. Owen
391c4bff08 Moved directory
git-svn-id: file:///svn/phpbb/trunk@3648 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 12:19:56 +00:00
Paul S. Owen
461ae0f7e0 Redirect path changes
git-svn-id: file:///svn/phpbb/trunk@3647 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 12:18:52 +00:00
Paul S. Owen
8bb5de9861 New directory name
git-svn-id: file:///svn/phpbb/trunk@3646 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 12:14:48 +00:00
Ludovic Arnaud
9d2989b927 MCP updates. The resync function can now resync 'topic_reported' and 'topic_approved' flags
git-svn-id: file:///svn/phpbb/trunk@3645 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 01:12:52 +00:00
Ludovic Arnaud
c7440b7668 Added the quickmod var for topic_type switching
git-svn-id: file:///svn/phpbb/trunk@3644 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 01:06:36 +00:00
Ludovic Arnaud
dc71f0abb7 Please try not to notice.
git-svn-id: file:///svn/phpbb/trunk@3643 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 01:04:53 +00:00
Ludovic Arnaud
902beb10ef Slightly altered layout of reported/unapproved indicators
git-svn-id: file:///svn/phpbb/trunk@3642 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 00:45:36 +00:00
Ludovic Arnaud
78d872e530 More strings :]
git-svn-id: file:///svn/phpbb/trunk@3641 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 00:45:02 +00:00
Ludovic Arnaud
f408ac052d Added indicators for reported and/or unapproved items. Note that moderators with m_approve permission can now read unapproved topics and posts normally.
git-svn-id: file:///svn/phpbb/trunk@3640 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 00:40:28 +00:00
Ludovic Arnaud
4577cf61d1 Two new images (reported/unapproved items), please update your database. Added blank images as placeholders.
git-svn-id: file:///svn/phpbb/trunk@3639 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-13 00:38:42 +00:00
Ludovic Arnaud
c8298ccd51 More capitalization
git-svn-id: file:///svn/phpbb/trunk@3638 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 23:22:14 +00:00
Ludovic Arnaud
b4fa782d8e D'OH!
(sql cache can expire, now)


git-svn-id: file:///svn/phpbb/trunk@3637 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 23:20:57 +00:00
Ludovic Arnaud
b4e026844b $lang vars for reported/approved posts and topic
git-svn-id: file:///svn/phpbb/trunk@3636 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 23:17:04 +00:00
Meik Sievertsen
b5125ea70b Insert [*] when clicking list button (is my approach user friendly ?)
git-svn-id: file:///svn/phpbb/trunk@3635 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 16:34:40 +00:00
Meik Sievertsen
170534e631 ah... here is the missing email template... why are you not playing with your brothers, now get into this repository, hurry, hurry.
git-svn-id: file:///svn/phpbb/trunk@3634 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 14:26:37 +00:00
Meik Sievertsen
db1621aaa0 forum and topic notification + poll fixes
git-svn-id: file:///svn/phpbb/trunk@3633 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-12 14:21:57 +00:00
Meik Sievertsen
fa005f44ae some posting updates and fixes.
git-svn-id: file:///svn/phpbb/trunk@3631 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-10 19:39:50 +00:00
Paul S. Owen
4c4278ac8d Without caching
git-svn-id: file:///svn/phpbb/trunk@3630 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-10 18:22:12 +00:00
Paul S. Owen
687c45e26d oops, the idea of hidden groups is that you cannot see who is a member ... duh
git-svn-id: file:///svn/phpbb/trunk@3629 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-10 18:20:29 +00:00
Paul S. Owen
c75d5d7bf3 Various additions and fixes
git-svn-id: file:///svn/phpbb/trunk@3628 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-10 17:48:08 +00:00
Paul S. Owen
12828d376e Relevant template for moved email form
git-svn-id: file:///svn/phpbb/trunk@3627 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-10 16:59:23 +00:00
Paul S. Owen
f13a15d529 Add SMTP port
git-svn-id: file:///svn/phpbb/trunk@3626 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 16:19:29 +00:00
Paul S. Owen
d15b81a8a3 Email via memberslist
git-svn-id: file:///svn/phpbb/trunk@3625 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 16:14:50 +00:00
Paul S. Owen
58e755b906 Various cleanups ... no doubt breaking stuff in the process
git-svn-id: file:///svn/phpbb/trunk@3624 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 16:14:14 +00:00
Paul S. Owen
5cdf2b0b59 Enable per session view online, change layout, potential for links to terms and privacy policy
git-svn-id: file:///svn/phpbb/trunk@3623 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 16:11:08 +00:00
Paul S. Owen
cd9b3af2b5 Some changes to the returned data format + cleanups
git-svn-id: file:///svn/phpbb/trunk@3622 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 16:09:37 +00:00
Paul S. Owen
aa718d4a02 Minor schema adjustments, additional/altered config and acl options, added u_ options to basic (initial) group auth setup
git-svn-id: file:///svn/phpbb/trunk@3621 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 13:37:35 +00:00
Paul S. Owen
2c9ff9686c Updated for usercp_confirm path change
git-svn-id: file:///svn/phpbb/trunk@3620 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 12:05:06 +00:00
Paul S. Owen
bd2c598436 Moved from includes/ucp ... but still thinking ucp/ would be better in includes/ with all the other modular components
git-svn-id: file:///svn/phpbb/trunk@3619 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 12:04:36 +00:00
Paul S. Owen
673db9602c Moved to ucp
git-svn-id: file:///svn/phpbb/trunk@3618 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 12:03:30 +00:00
Paul S. Owen
2cd426a821 Functionality in memberlist.php
git-svn-id: file:///svn/phpbb/trunk@3617 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-09 12:01:38 +00:00
Paul S. Owen
7c272665a5 ucp -> memberlist profile link change for viewonline
git-svn-id: file:///svn/phpbb/trunk@3615 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-08 22:38:46 +00:00
Paul S. Owen
3d5bdc6c8c Add index to poster_id in posts table
git-svn-id: file:///svn/phpbb/trunk@3614 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-08 22:36:17 +00:00
Paul S. Owen
7ffb762b04 Wrong name
git-svn-id: file:///svn/phpbb/trunk@3613 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-08 22:11:01 +00:00
Paul S. Owen
a2cccab6af Additional info for profiles
git-svn-id: file:///svn/phpbb/trunk@3612 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-08 22:10:24 +00:00
Paul S. Owen
9a7f6f98f5 The first order by is irrelevant, it'll be replaced by the values of the second. Could've sworn I committed this change ... I'm losing it :D
git-svn-id: file:///svn/phpbb/trunk@3611 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-08 21:55:55 +00:00
Ludovic Arnaud
575d170365 The last one for today. As of now, sql_query_limit($sql, 0) will _not_ limit the number of rows that are affected.
git-svn-id: file:///svn/phpbb/trunk@3608 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 03:04:29 +00:00
Ludovic Arnaud
2d52ece84f I didn't do it.
git-svn-id: file:///svn/phpbb/trunk@3607 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 02:54:11 +00:00
Ludovic Arnaud
4e503c0508 Switched up $total and $offset as per MySQL manual
git-svn-id: file:///svn/phpbb/trunk@3606 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 02:36:04 +00:00
Ludovic Arnaud
04e9ebb824 Some debug code removed, minor bugfixes.
git-svn-id: file:///svn/phpbb/trunk@3605 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 02:23:29 +00:00
Ludovic Arnaud
9e9d126a6a More "reporting" stuff, note the very lame warning in viewtopic when a post has been reported.
git-svn-id: file:///svn/phpbb/trunk@3604 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 02:03:37 +00:00
Ludovic Arnaud
553087d0aa Implementing post reporting. 2 new tables plus an extra field for posts and topics tables.
git-svn-id: file:///svn/phpbb/trunk@3603 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 01:35:03 +00:00
Ludovic Arnaud
6251ea7130 Change related to the latest form of topics table
git-svn-id: file:///svn/phpbb/trunk@3602 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 01:33:20 +00:00
Ludovic Arnaud
afdff15fb9 Implementing post reporting
git-svn-id: file:///svn/phpbb/trunk@3601 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 01:13:44 +00:00
Ludovic Arnaud
7132f97d0a New template var for future use.
git-svn-id: file:///svn/phpbb/trunk@3600 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-06 01:08:00 +00:00
Paul S. Owen
799b5fc2de Name change
git-svn-id: file:///svn/phpbb/trunk@3599 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-05 01:14:42 +00:00
Paul S. Owen
658f2a4b66 Moved "viewprofile" to memberslist ... consolidation incomplete
git-svn-id: file:///svn/phpbb/trunk@3598 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-05 00:50:03 +00:00
Meik Sievertsen
cc827946ef wrong encoding too... no fear, this is your updated file. :)
git-svn-id: file:///svn/phpbb/trunk@3596 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 18:38:21 +00:00
Meik Sievertsen
b3b0b48f5e wrong encoding. ;)
Hopefully you did an update before commiting the drugs. :D


git-svn-id: file:///svn/phpbb/trunk@3595 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 18:32:30 +00:00
James Atkinson
e6c31a8787 Ok, this should be the right version...I've got too many windows open...
git-svn-id: file:///svn/phpbb/trunk@3594 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 18:14:36 +00:00
James Atkinson
77c9d2c275 <crappy british accent>You are the weakest link...goodbye!</crappy british
accent>

(I think I watch too much Game Show Network)


git-svn-id: file:///svn/phpbb/trunk@3593 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 17:57:01 +00:00
James Atkinson
3c42fb0501 We'll probably be needing this file
git-svn-id: file:///svn/phpbb/trunk@3592 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 17:55:12 +00:00
James Atkinson
fd629c7a9f Tons of work on the UCP, see my topic in the development forum for more info
on the bigger changes.

Registration should still work, the basic layout of the UCP is also done
with the start on the profile settings area.


git-svn-id: file:///svn/phpbb/trunk@3591 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 17:52:50 +00:00
Paul S. Owen
c5b9e64505 column size adjust
git-svn-id: file:///svn/phpbb/trunk@3590 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 16:58:28 +00:00
Paul S. Owen
72225094f6 Sort on cell titles, add rank
git-svn-id: file:///svn/phpbb/trunk@3589 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 16:49:02 +00:00
Paul S. Owen
5c0e4ca329 Few changes to user level permissions
git-svn-id: file:///svn/phpbb/trunk@3588 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-04 14:46:40 +00:00
Meik Sievertsen
87cce70d10 changed back to nl2br (nl2br in PHP >= 4.0.5 is XHTML compatible)
git-svn-id: file:///svn/phpbb/trunk@3584 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-02 15:52:46 +00:00
Meik Sievertsen
beb17ef6f2 Added delete-ability to posting...
git-svn-id: file:///svn/phpbb/trunk@3582 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-03-02 13:32:53 +00:00
Paul S. Owen
bc18f53071 Search for
git-svn-id: file:///svn/phpbb/trunk@3579 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 14:35:42 +00:00
Paul S. Owen
d4817bebbf Action for searchbox ... obviously doesn't work at present since search is yet to be overhauled ....
git-svn-id: file:///svn/phpbb/trunk@3578 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 14:35:35 +00:00
Paul S. Owen
4cba250b14 A box for searching ... pretty obvious I think ... unless you're Pit of course
git-svn-id: file:///svn/phpbb/trunk@3577 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 14:35:06 +00:00
Paul S. Owen
7116eb2ca9 get->post
git-svn-id: file:///svn/phpbb/trunk@3576 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 14:34:42 +00:00
Meik Sievertsen
e42a20b32e minor changes, re-added topicreview
git-svn-id: file:///svn/phpbb/trunk@3575 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 12:57:10 +00:00
Ludovic Arnaud
b5031760af Fixed some... hum... typos. Updated the resync function to always fill the first_poster_name and last_poster_name fields.
git-svn-id: file:///svn/phpbb/trunk@3574 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 01:34:46 +00:00
Ludovic Arnaud
04b00375fe Fixed a very potential cross-site scripting issue that would have for sure ended up on security sites.
git-svn-id: file:///svn/phpbb/trunk@3573 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-28 01:13:08 +00:00
Meik Sievertsen
a2889a6c5f ok, a slightly modified posting.php, some fixes too. topic-review and polls will re-appear shortly. Posting is a little bit screwed up now... will get fixed soon too. posting new topics/reply/quote/preview and edit works partially (the post get stored. ;)) This commit is to show the other developers the changes. ;)
git-svn-id: file:///svn/phpbb/trunk@3572 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 23:37:02 +00:00
Meik Sievertsen
d4884b0c02 display language variables correctly if template is re-cached.
git-svn-id: file:///svn/phpbb/trunk@3571 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 20:14:08 +00:00
Meik Sievertsen
773093a5ef posts tables are now merged.
git-svn-id: file:///svn/phpbb/trunk@3570 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 17:27:58 +00:00
Paul S. Owen
6735ab4882 sorting select name changes
git-svn-id: file:///svn/phpbb/trunk@3569 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 16:14:46 +00:00
Paul S. Owen
0e711275b5 is_numeric rather than is_int ... any troubles let me know
git-svn-id: file:///svn/phpbb/trunk@3568 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 16:14:25 +00:00
Paul S. Owen
66062783ce Potential (display) support for global announcements ... various issues still need to addressed wrt posting/replying/etc.
git-svn-id: file:///svn/phpbb/trunk@3567 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 15:58:07 +00:00
Paul S. Owen
ce4e06811c Some sort order changes and other minor changes to viewtopic/viewforum
git-svn-id: file:///svn/phpbb/trunk@3566 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 14:27:21 +00:00
Paul S. Owen
dfe581146f Some relatively minor stylistic cleanups ... removed first sort by select HTML, values there will be overwritten by the second sort select since they have the same names
git-svn-id: file:///svn/phpbb/trunk@3565 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 14:25:23 +00:00
Meik Sievertsen
ff93d24821 ok, i am commiting this one, before i am going to disable main posting parts for revamping... i will commit the changes when posting works again then.
git-svn-id: file:///svn/phpbb/trunk@3563 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 12:56:36 +00:00
Ludovic Arnaud
d128d5d800 "Playing with MCP" part II - now that's the correct version. Good night ;)
git-svn-id: file:///svn/phpbb/trunk@3562 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 03:43:11 +00:00
Ludovic Arnaud
5a12bdc77d Fixed pagination when posts aren't ordered by time. Modified the link to MCP to display the same range of posts as viewtopic.
git-svn-id: file:///svn/phpbb/trunk@3561 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 03:41:34 +00:00
Ludovic Arnaud
9833d0f012 Still playing around with permissions in MCP - should be fixed shortly
git-svn-id: file:///svn/phpbb/trunk@3560 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 03:26:33 +00:00
Ludovic Arnaud
f334d54feb Alternate syntax for acl_gets()
git-svn-id: file:///svn/phpbb/trunk@3559 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-27 03:22:27 +00:00
Paul S. Owen
1482ed4896 You'd think having spent as long as I have working on the session code I'd know how to use it ... well not in my universe ...
git-svn-id: file:///svn/phpbb/trunk@3558 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 23:31:59 +00:00
Paul S. Owen
7e72e538b2 Hope James doesn't mind but I've done some playing to get basic registration working
git-svn-id: file:///svn/phpbb/trunk@3557 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 23:28:27 +00:00
Ludovic Arnaud
b9e52c5f0f Adapted for merged posts tables
git-svn-id: file:///svn/phpbb/trunk@3556 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 21:32:32 +00:00
Paul S. Owen
9961eb789d Add forum_id to topicreview
git-svn-id: file:///svn/phpbb/trunk@3555 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 20:53:31 +00:00
Ludovic Arnaud
a66a762684 MCP update: topic_view. Posts can be ordered (for display) just like in viewtopic. Number of posts per page can be modified at will.
Note that this version will only work with my current copy of mysql dbl.


git-svn-id: file:///svn/phpbb/trunk@3554 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 20:09:14 +00:00
Meik Sievertsen
541667f440 some changes... mainly permission related. Please note the intval($forum_id) at viewtopic, somehow the auth class did not identified it while generating the forum rules.
git-svn-id: file:///svn/phpbb/trunk@3553 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 19:53:10 +00:00
Paul S. Owen
c3200c107f viewonline lang updates
git-svn-id: file:///svn/phpbb/trunk@3552 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 19:30:01 +00:00
Paul S. Owen
fa8fd70cbc Changes related to altered this->page content
git-svn-id: file:///svn/phpbb/trunk@3551 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 19:29:22 +00:00
Paul S. Owen
c190ad2370 Reduce size of stored page info ... hopefully this won't impact things unecessarily on busy forums.
git-svn-id: file:///svn/phpbb/trunk@3550 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 19:18:09 +00:00
Paul S. Owen
2dee304b0e oops, simple case of "idiotitis paulicus" ... be gone double announcements
git-svn-id: file:///svn/phpbb/trunk@3549 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 18:54:31 +00:00
Paul S. Owen
ea1b4dcd14 More updates ... this is still a mess :D
git-svn-id: file:///svn/phpbb/trunk@3548 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 17:16:30 +00:00
Paul S. Owen
f684613815 Allow style designer the option of seperating off announcements to make them more prominent ... note some changes in here also relate to potential solutions for global announcements, viewtopic has not been commited yet
git-svn-id: file:///svn/phpbb/trunk@3547 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 17:16:05 +00:00
Paul S. Owen
72c44126e6 Allow style designer the option of seperating off announcements to make them more prominent
git-svn-id: file:///svn/phpbb/trunk@3546 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 17:15:38 +00:00
Paul S. Owen
46e20bf2d1 Minor alteration
git-svn-id: file:///svn/phpbb/trunk@3545 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 16:01:28 +00:00
Meik Sievertsen
8b9ea6feb4 hmm, wasn't aware of changed something here. strange.
git-svn-id: file:///svn/phpbb/trunk@3544 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 13:24:41 +00:00
Meik Sievertsen
d95588823a only minor changes, some notes, played around with the code... nothing special.
git-svn-id: file:///svn/phpbb/trunk@3543 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 13:17:45 +00:00
Paul S. Owen
e295cab304 What a shock
git-svn-id: file:///svn/phpbb/trunk@3540 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 01:47:55 +00:00
Paul S. Owen
98c7975cc6 remove debug
git-svn-id: file:///svn/phpbb/trunk@3539 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 01:41:59 +00:00
Paul S. Owen
5b0d02baa2 Generally related to post tables merge
git-svn-id: file:///svn/phpbb/trunk@3538 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 00:37:43 +00:00
Paul S. Owen
dca34f5db9 Merge post and post_text tables ... denormalising of topics and forums should result in minimal fx on speed in 2.2
git-svn-id: file:///svn/phpbb/trunk@3537 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 00:36:48 +00:00
Paul S. Owen
108dbfe382 Now, you just knew this was coming didn't you ... come on, admit it, you did ...
git-svn-id: file:///svn/phpbb/trunk@3536 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 00:36:02 +00:00
Paul S. Owen
7d01f3202d Merge the post tables, clean it and the topic table up ... note that this doesn't fail gracefully ... it'll be merged into the update script in due course, this is a rough and ready temporary solution.
git-svn-id: file:///svn/phpbb/trunk@3535 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-26 00:30:10 +00:00
Paul S. Owen
09e99bf5f4 Updates to rules, replace accidently (oops) removed cat cell in viewtopic
git-svn-id: file:///svn/phpbb/trunk@3532 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 18:33:24 +00:00
Paul S. Owen
1aa274d1e7 Updates of various types, sizes, colours and accessories ...
git-svn-id: file:///svn/phpbb/trunk@3531 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 18:20:33 +00:00
Paul S. Owen
02bcd7e2e1 Various updates
git-svn-id: file:///svn/phpbb/trunk@3530 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 18:19:34 +00:00
Meik Sievertsen
46267dce88 added extension loading. please note the additional variable '
$load_extensions = "";' within config.php.


git-svn-id: file:///svn/phpbb/trunk@3528 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 16:49:45 +00:00
Paul S. Owen
74c6eec725 tiny weeny little change
git-svn-id: file:///svn/phpbb/trunk@3527 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 16:49:35 +00:00
Paul S. Owen
27b6d7582a I just can't help playing with it ... I must see a doctor at once
git-svn-id: file:///svn/phpbb/trunk@3526 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 16:09:39 +00:00
Paul S. Owen
3e440ce290 May be useful
git-svn-id: file:///svn/phpbb/trunk@3524 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 15:48:16 +00:00
Paul S. Owen
ca791961aa Not relevant to the 2.2 branch
git-svn-id: file:///svn/phpbb/trunk@3523 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-25 15:46:36 +00:00
Ludovic Arnaud
1e5de88c6f Added topic_id field to the log_moderator table
git-svn-id: file:///svn/phpbb/trunk@3521 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-24 23:51:26 +00:00
Ludovic Arnaud
8c1004ad85 Various MCP updates
git-svn-id: file:///svn/phpbb/trunk@3520 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-24 23:50:15 +00:00
Paul S. Owen
ee9a18771b internal html compliance updates
git-svn-id: file:///svn/phpbb/trunk@3519 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-23 21:02:39 +00:00
Paul S. Owen
a0d8aa693a stupid block level spacing ...
git-svn-id: file:///svn/phpbb/trunk@3518 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-23 20:58:24 +00:00
Paul S. Owen
30f4a933a0 Doubled alt on smiley html
git-svn-id: file:///svn/phpbb/trunk@3517 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-23 20:34:36 +00:00
Paul S. Owen
b2779edb66 HTML 4.01 compliance
git-svn-id: file:///svn/phpbb/trunk@3516 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-23 20:30:08 +00:00
Ludovic Arnaud
f7858cb9a5 Various updates
git-svn-id: file:///svn/phpbb/trunk@3514 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-23 08:19:54 +00:00
Paul S. Owen
cd9b46578d HTML4.01 compliance
git-svn-id: file:///svn/phpbb/trunk@3512 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 22:03:43 +00:00
Paul S. Owen
3b6f32fc6f file format probs
git-svn-id: file:///svn/phpbb/trunk@3511 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 17:28:08 +00:00
Paul S. Owen
a1f4ba0ed3 Find user by posted IP
git-svn-id: file:///svn/phpbb/trunk@3510 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 17:18:44 +00:00
Paul S. Owen
5fc4d66994 Add ANONYMOUS check for user_id
git-svn-id: file:///svn/phpbb/trunk@3509 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 16:09:34 +00:00
Paul S. Owen
e64b91ec32 More minor changes ...
git-svn-id: file:///svn/phpbb/trunk@3508 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 15:01:55 +00:00
Paul S. Owen
826ce9abf8 pooh, the w3c validator is down
git-svn-id: file:///svn/phpbb/trunk@3507 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 14:53:30 +00:00
Paul S. Owen
a5525d4b6b this one has a tendency to work better ...
git-svn-id: file:///svn/phpbb/trunk@3506 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 14:48:15 +00:00
Paul S. Owen
e2bd5cad67 minor changes ... mainly for Moz
git-svn-id: file:///svn/phpbb/trunk@3505 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 14:39:49 +00:00
Paul S. Owen
7ce7400bc6 Various other changes ... hopefully Ashe won't kill me for playing with the new mcp styles
git-svn-id: file:///svn/phpbb/trunk@3504 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 14:00:00 +00:00
Paul S. Owen
904931d706 Updates
git-svn-id: file:///svn/phpbb/trunk@3503 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-22 00:48:06 +00:00
Paul S. Owen
ec6a5740bf Use different folder images for posted to topics
git-svn-id: file:///svn/phpbb/trunk@3502 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 19:33:57 +00:00
Paul S. Owen
60a18eb9d6 New images ... drop your old table and re-create it, dumping the imageset data from the basic file into the resulting tables
git-svn-id: file:///svn/phpbb/trunk@3501 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 19:32:46 +00:00
Paul S. Owen
143e5db726 right matte
git-svn-id: file:///svn/phpbb/trunk@3500 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 19:01:45 +00:00
Paul S. Owen
f92fdc89a8 Doing this wasn't fun having completely forgotten how imageready stuff works ...
git-svn-id: file:///svn/phpbb/trunk@3499 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 19:00:48 +00:00
Paul S. Owen
c9d247a9a0 more updates
git-svn-id: file:///svn/phpbb/trunk@3498 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 17:51:38 +00:00
Paul S. Owen
d8268e0060 possible future use
git-svn-id: file:///svn/phpbb/trunk@3497 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 17:16:03 +00:00
Paul S. Owen
9de790c416 Darken links slightly
git-svn-id: file:///svn/phpbb/trunk@3496 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 14:40:13 +00:00
Paul S. Owen
24052a4fca More doubled up class defns
git-svn-id: file:///svn/phpbb/trunk@3495 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 14:23:31 +00:00
Paul S. Owen
c87ced82a1 Minor change to titles
git-svn-id: file:///svn/phpbb/trunk@3494 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 14:15:52 +00:00
Paul S. Owen
9bc54134c3 More lang string case changes
git-svn-id: file:///svn/phpbb/trunk@3493 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 14:07:13 +00:00
Paul S. Owen
2a8b3e11ab Without the debug stuff this time ...
git-svn-id: file:///svn/phpbb/trunk@3492 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 13:30:45 +00:00
Paul S. Owen
d2a016659d Wasn't grabbing appropriate user_id for given username entries
git-svn-id: file:///svn/phpbb/trunk@3491 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 13:30:19 +00:00
Paul S. Owen
7c96e14e76 More ANONYMOUS changes
git-svn-id: file:///svn/phpbb/trunk@3489 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 13:17:40 +00:00
Paul S. Owen
f3a3543476 Check for value of ANONYMOUS
git-svn-id: file:///svn/phpbb/trunk@3488 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 13:13:05 +00:00
Paul S. Owen
345b521b47 Updated to remove row color/class assignments
git-svn-id: file:///svn/phpbb/trunk@3487 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 12:40:23 +00:00
Paul S. Owen
5298c13d46 me again
git-svn-id: file:///svn/phpbb/trunk@3486 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 12:40:05 +00:00
Paul S. Owen
62a311d401 You get the idea ...
git-svn-id: file:///svn/phpbb/trunk@3485 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 12:16:51 +00:00
Paul S. Owen
983c50cb17 Altered theme entry ... delete your existing entry and replace with this
git-svn-id: file:///svn/phpbb/trunk@3484 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 11:49:27 +00:00
Paul S. Owen
1bcbac70c3 Updates
git-svn-id: file:///svn/phpbb/trunk@3483 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 11:46:19 +00:00
Paul S. Owen
411168e85a workaround for Mozilla 1.3b (at least) problems with rendering font: definitions
git-svn-id: file:///svn/phpbb/trunk@3482 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 11:38:45 +00:00
Ludovic Arnaud
d33b04ae6b Work is in progress on MCP. Resync function now takes into account subforums.
Topics can hopefully be moved. A hell lot of notes have been added.


git-svn-id: file:///svn/phpbb/trunk@3480 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 01:54:30 +00:00
Ludovic Arnaud
0101c669cc Renamed some functions in cache manager, now unloads vars properly before the page is output.
git-svn-id: file:///svn/phpbb/trunk@3479 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-21 01:51:46 +00:00
Paul S. Owen
389095086d I do realise this looks rather dodgy on Mozilla ... and that this isn't getting 2.2 written ... but hey, writting one more line of code at present will result in me personally expelling Saddam Hussein from Iraq, who needs the paras when you've got 2.2 ...
git-svn-id: file:///svn/phpbb/trunk@3478 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 23:53:47 +00:00
Paul S. Owen
dc35cd40c1 If I keep playing with it ... I'll go blind ...
git-svn-id: file:///svn/phpbb/trunk@3477 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 17:41:26 +00:00
Paul S. Owen
4cfb496ba2 playing some more
git-svn-id: file:///svn/phpbb/trunk@3476 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 17:35:35 +00:00
Paul S. Owen
e0f1db2e55 playing
git-svn-id: file:///svn/phpbb/trunk@3475 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 17:15:35 +00:00
Paul S. Owen
c3d87feaba bye bye
git-svn-id: file:///svn/phpbb/trunk@3474 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 17:15:07 +00:00
Paul S. Owen
e4c35ab877 Arial'ified the button text
git-svn-id: file:///svn/phpbb/trunk@3473 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 16:56:33 +00:00
Paul S. Owen
33441af23f Could've sworn I commited this change
git-svn-id: file:///svn/phpbb/trunk@3472 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-20 14:11:53 +00:00
Ludovic Arnaud
f2bc043b38 Deleting posts now actually works and so does topics sync'ing.
Added the ability to manual resync topics.


git-svn-id: file:///svn/phpbb/trunk@3471 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-17 06:24:42 +00:00
Ludovic Arnaud
b8fdc39afd Reverse the reversal.
git-svn-id: file:///svn/phpbb/trunk@3470 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-17 06:23:30 +00:00
Ludovic Arnaud
83c605a6e2 More capitalised lang strings, fixed some unset or incorrect variables
git-svn-id: file:///svn/phpbb/trunk@3469 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-17 06:20:41 +00:00
Paul S. Owen
615e676b02 Basic ability to add users to group and group moderators
git-svn-id: file:///svn/phpbb/trunk@3468 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-11 17:12:52 +00:00
Paul S. Owen
28a01da9a4 Add acl option for denying user/group post count incrementing in a given forum
git-svn-id: file:///svn/phpbb/trunk@3467 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-11 16:24:58 +00:00
Paul S. Owen
02e86186fb insert usernames into named form rather than via its numeric index
git-svn-id: file:///svn/phpbb/trunk@3466 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-11 15:55:05 +00:00
Paul S. Owen
2a411523a9 missing global auth
git-svn-id: file:///svn/phpbb/trunk@3463 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-07 18:27:15 +00:00
Ludovic Arnaud
660bcb0636 MCP update: topic selection for merge should now work... better
git-svn-id: file:///svn/phpbb/trunk@3462 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-07 01:18:02 +00:00
Ludovic Arnaud
cab4c3c9d1 MCP update: now it can delete topics
git-svn-id: file:///svn/phpbb/trunk@3461 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-07 01:01:50 +00:00
Paul S. Owen
9c19f50378 oopsie in user permission settings
git-svn-id: file:///svn/phpbb/trunk@3460 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-06 14:54:20 +00:00
Ludovic Arnaud
bb30927fdf Tweaking around the merge interface
git-svn-id: file:///svn/phpbb/trunk@3459 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-06 03:43:25 +00:00
Ludovic Arnaud
44cd06a722 Very first preimplementation of the alpha version of the still not working new version of Moderator CP. (did I mention it wasn't ready yet?)
git-svn-id: file:///svn/phpbb/trunk@3458 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-06 03:30:32 +00:00
Ludovic Arnaud
a870f28609 Small modification I wanted to commit before I get too much desynch'ed
git-svn-id: file:///svn/phpbb/trunk@3457 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-06 00:24:04 +00:00
Paul S. Owen
0cbcd2467c Listing of users
git-svn-id: file:///svn/phpbb/trunk@3456 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-05 17:40:46 +00:00
Paul S. Owen
e0a71f56ce Group related updates
git-svn-id: file:///svn/phpbb/trunk@3455 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-05 15:56:25 +00:00
Paul S. Owen
a6bf34acf6 Timezone issue ... perhaps this field should become a var/char ...
git-svn-id: file:///svn/phpbb/trunk@3454 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-05 15:55:55 +00:00
Paul S. Owen
65f8828fbb test group wide colour set
git-svn-id: file:///svn/phpbb/trunk@3452 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-04 16:28:03 +00:00
Paul S. Owen
0ffd0cc072 Minor changes
git-svn-id: file:///svn/phpbb/trunk@3451 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-04 15:50:52 +00:00
Paul S. Owen
cb57724972 couple new changes
git-svn-id: file:///svn/phpbb/trunk@3450 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-04 14:58:09 +00:00
Paul S. Owen
cdbb2931f0 websafe colour swatch
git-svn-id: file:///svn/phpbb/trunk@3449 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-02-04 14:57:56 +00:00
Paul S. Owen
7203dc2471 Another conditional and "special group" lang output
git-svn-id: file:///svn/phpbb/trunk@3448 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:46:57 +00:00
Paul S. Owen
849285d9eb forgot conditional on group_type
git-svn-id: file:///svn/phpbb/trunk@3447 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:43:29 +00:00
Paul S. Owen
1fe3a6a206 Guest -> GUEST
git-svn-id: file:///svn/phpbb/trunk@3446 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:40:58 +00:00
Paul S. Owen
a9f10f7df9 Don't output topic icon column for forum if topic icons aren't enabled for it
git-svn-id: file:///svn/phpbb/trunk@3445 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:40:45 +00:00
Paul S. Owen
2aca0f5e15 S_TOPIC_ICON output to indicate whether topic/post icons are enabled for this forum
git-svn-id: file:///svn/phpbb/trunk@3444 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:40:34 +00:00
Paul S. Owen
96e419d36e Add new group type, GROUP_FREE for "freely open"
git-svn-id: file:///svn/phpbb/trunk@3443 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:39:54 +00:00
Paul S. Owen
4eb55d6689 Changes mainly related to group admin updates ... added -13 +13 to timezone listing
git-svn-id: file:///svn/phpbb/trunk@3442 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:39:34 +00:00
Paul S. Owen
ad19326d39 Remove '<select ...' from language, timezone and style option list generation, change is_dir (which doesn't always work) to is_file, etc. introduce root_path to language option list gen
git-svn-id: file:///svn/phpbb/trunk@3441 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:39:07 +00:00
Paul S. Owen
70cd310197 Some initial re-working ...
git-svn-id: file:///svn/phpbb/trunk@3440 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 15:38:13 +00:00
Ludovic Arnaud
21ecf31419 I think we needed it anyway ;)
git-svn-id: file:///svn/phpbb/trunk@3439 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 02:14:48 +00:00
Ludovic Arnaud
2e20478640 Use array_shift to fetch cached rows.
git-svn-id: file:///svn/phpbb/trunk@3438 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 02:13:12 +00:00
Ludovic Arnaud
dc26ed5960 Do not display table headers when no subforum is shown
git-svn-id: file:///svn/phpbb/trunk@3437 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 02:11:38 +00:00
Ludovic Arnaud
5b0315305f I thought I had committed this already :-/
(fixed slashing of data, added file locking)


git-svn-id: file:///svn/phpbb/trunk@3436 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-31 01:43:09 +00:00
Paul S. Owen
1c391dc290 Some case changes ... just for SHS`
git-svn-id: file:///svn/phpbb/trunk@3435 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 22:24:30 +00:00
James Atkinson
1e1629fb15 Added UCP relevent lines and some capilization
git-svn-id: file:///svn/phpbb/trunk@3434 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 20:07:48 +00:00
James Atkinson
b1d7522d06 Minor changes, added visual confirmation stuff to mysql_basic and changed
user_avatar_type to null since avatars arn't used in registartion.


git-svn-id: file:///svn/phpbb/trunk@3433 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 20:06:17 +00:00
James Atkinson
3730697f18 Aded visual confirmation shtuff
git-svn-id: file:///svn/phpbb/trunk@3432 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 20:05:01 +00:00
James Atkinson
4022948cc5 This is the main UCP interface, handles passing off to registartion and
viewprofile.


git-svn-id: file:///svn/phpbb/trunk@3431 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 20:04:21 +00:00
James Atkinson
a0d0d1da78 Changes for UCP and registration, pretty minor overall. Fixed emailer to use
trigger_error insted of message_die.

emailer still needs some clean-up


git-svn-id: file:///svn/phpbb/trunk@3430 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 20:02:09 +00:00
James Atkinson
83e97693a4 Visual confirmation, and UCP module handler
git-svn-id: file:///svn/phpbb/trunk@3429 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 19:58:18 +00:00
James Atkinson
da919a3e45 Moved files to /ucp
git-svn-id: file:///svn/phpbb/trunk@3428 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 19:57:45 +00:00
James Atkinson
2b9b88f251 Moved user cp files to /ucp insted of includes/ucp, easier to handle this
way with phudo-module system


git-svn-id: file:///svn/phpbb/trunk@3427 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 19:57:19 +00:00
James Atkinson
2e64f1aea7 Beginnings of the UCP, here are the templates.
git-svn-id: file:///svn/phpbb/trunk@3426 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 19:50:19 +00:00
Paul S. Owen
c13fd394c8 Add user acl options for changing to own username colouration or group colouration
git-svn-id: file:///svn/phpbb/trunk@3425 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 19:05:41 +00:00
Paul S. Owen
1ec02ec3f3 Ooops, full list when editing ...
git-svn-id: file:///svn/phpbb/trunk@3423 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 16:19:20 +00:00
Paul S. Owen
8ee977f1d1 Case changes, fix forum_id in nav, fix forum_id in posting success msg
git-svn-id: file:///svn/phpbb/trunk@3422 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:54:27 +00:00
Paul S. Owen
87cd557369 default dirs
git-svn-id: file:///svn/phpbb/trunk@3420 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:32:30 +00:00
Paul S. Owen
c42cb7b212 nosey
git-svn-id: file:///svn/phpbb/trunk@3419 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:29:25 +00:00
Paul S. Owen
e50c490ae7 Destroy cache on import
git-svn-id: file:///svn/phpbb/trunk@3418 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:20:23 +00:00
Paul S. Owen
d5f80d7215 nosey!
git-svn-id: file:///svn/phpbb/trunk@3417 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:17:08 +00:00
Paul S. Owen
3e605446ff recursive add/import of icons/smilies/paks, reset topic/post icon_id's when deleting icons
git-svn-id: file:///svn/phpbb/trunk@3416 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:15:25 +00:00
Paul S. Owen
1cafc63b2f Left over leading /
git-svn-id: file:///svn/phpbb/trunk@3415 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 15:04:04 +00:00
Paul S. Owen
8f28bf8665 Probably "work" better without my own prefix ...
git-svn-id: file:///svn/phpbb/trunk@3414 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 14:59:18 +00:00
Paul S. Owen
8a61f56a22 A few demo icons
git-svn-id: file:///svn/phpbb/trunk@3413 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 14:58:48 +00:00
Paul S. Owen
7dd294296c These are all by Daz ( Darren Burnhill ) ... see http://www.forumimages.com/ for additional material, styles and images
git-svn-id: file:///svn/phpbb/trunk@3412 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-30 14:45:34 +00:00
Paul S. Owen
af765caefe oops
git-svn-id: file:///svn/phpbb/trunk@3409 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 23:24:36 +00:00
Paul S. Owen
238679ad71 other "oversights"
git-svn-id: file:///svn/phpbb/trunk@3408 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 23:21:50 +00:00
Paul S. Owen
dd1187b6c6 Double escaping ....
git-svn-id: file:///svn/phpbb/trunk@3407 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 23:14:34 +00:00
Paul S. Owen
a1ddf8e73b smilies check incorrect
git-svn-id: file:///svn/phpbb/trunk@3406 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 19:03:58 +00:00
Paul S. Owen
a7ee692e26 Hold on everyone, I forgot to give out the idiot homework ...
git-svn-id: file:///svn/phpbb/trunk@3405 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 18:49:43 +00:00
Paul S. Owen
8571f0ba90 And here ends the idiot lesson for today ... part 2 : How to screw up the admin panel will begin tomorrow
git-svn-id: file:///svn/phpbb/trunk@3404 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 18:36:26 +00:00
Paul S. Owen
09d4e7cf7c NOT NULL when should be NULL, doubled up a_event
git-svn-id: file:///svn/phpbb/trunk@3403 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 18:16:48 +00:00
Paul S. Owen
6c4096c67b 'test' logging action - locked topics
git-svn-id: file:///svn/phpbb/trunk@3402 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 17:46:02 +00:00
Paul S. Owen
bb93945423 Move logging functions, change name, add mode + lang var case changes
git-svn-id: file:///svn/phpbb/trunk@3401 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 17:45:34 +00:00
Paul S. Owen
bcd4581f77 More case changing but 'test' mod logging mesg
git-svn-id: file:///svn/phpbb/trunk@3400 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 17:44:58 +00:00
Paul S. Owen
75d35987e5 Move logging functions
git-svn-id: file:///svn/phpbb/trunk@3399 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 17:44:22 +00:00
Paul S. Owen
777717dd16 Some tinkering ... clear your prefetch (user_permissions) fields ...
git-svn-id: file:///svn/phpbb/trunk@3398 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 16:12:21 +00:00
Paul S. Owen
4d761a22d8 Incorrect acl parameters
git-svn-id: file:///svn/phpbb/trunk@3397 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-29 14:30:15 +00:00
Paul S. Owen
ba6a3c0139 Check for display set when outputting icons
git-svn-id: file:///svn/phpbb/trunk@3396 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:53:41 +00:00
Paul S. Owen
043d45c357 Missing cache save from page_footer() + unecessary cache update for word censors
git-svn-id: file:///svn/phpbb/trunk@3395 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:45:42 +00:00
Paul S. Owen
4ce762b83b Added global for phpbb_root_path to acm constructor
git-svn-id: file:///svn/phpbb/trunk@3394 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:44:30 +00:00
Paul S. Owen
93f57ce29c wrong case for lang var
git-svn-id: file:///svn/phpbb/trunk@3393 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:40:35 +00:00
Paul S. Owen
957a8eaf4b More admin related updates
git-svn-id: file:///svn/phpbb/trunk@3392 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:21:46 +00:00
Paul S. Owen
69eb24394a More case changing, hard coding of HTML, etc.
git-svn-id: file:///svn/phpbb/trunk@3391 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 20:21:34 +00:00
Paul S. Owen
f522f21240 Minor mods + lang var case changes
git-svn-id: file:///svn/phpbb/trunk@3390 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:55:54 +00:00
Paul S. Owen
06af965743 Minor cosmetic change to display of ban reason/length
git-svn-id: file:///svn/phpbb/trunk@3389 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:48:57 +00:00
Paul S. Owen
3c8b03e50e I tink I taw another bluudy error ... I did! I did see another bluudy error
git-svn-id: file:///svn/phpbb/trunk@3388 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:36:20 +00:00
Paul S. Owen
d8f4b656ae message_die remained ...
git-svn-id: file:///svn/phpbb/trunk@3387 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:32:58 +00:00
Paul S. Owen
7a39eba485 doh, changed file name forgot to change within source ...
git-svn-id: file:///svn/phpbb/trunk@3386 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:21:32 +00:00
Paul S. Owen
3c978b8d99 Doubled up on SMILE to
git-svn-id: file:///svn/phpbb/trunk@3385 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:18:57 +00:00
Paul S. Owen
676c7319dd oops, doubled up on ICONS
git-svn-id: file:///svn/phpbb/trunk@3384 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:18:08 +00:00
Paul S. Owen
1c1648e394 Slight change to obtain_icon sql
git-svn-id: file:///svn/phpbb/trunk@3383 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:16:53 +00:00
Paul S. Owen
d68426705a Icon/smilies updates
git-svn-id: file:///svn/phpbb/trunk@3382 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:16:10 +00:00
Paul S. Owen
c83052c7d1 Note the change to smilies_id -> smile_id + additional fields for icons table
git-svn-id: file:///svn/phpbb/trunk@3381 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:15:56 +00:00
Paul S. Owen
aa1045dea2 phew, lucky I remembered I just changed the name and enabled icon admin functions ...
git-svn-id: file:///svn/phpbb/trunk@3380 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:15:18 +00:00
Paul S. Owen
811b6d10d1 Oh gawd now I really didn't want to do that ...
git-svn-id: file:///svn/phpbb/trunk@3379 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-28 18:13:55 +00:00
Paul S. Owen
fbf19cae45 More case changes
git-svn-id: file:///svn/phpbb/trunk@3377 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 22:08:47 +00:00
Paul S. Owen
0752dfb52a More case change updates
git-svn-id: file:///svn/phpbb/trunk@3376 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 22:04:53 +00:00
Paul S. Owen
42ad34f513 Minor change to markup
git-svn-id: file:///svn/phpbb/trunk@3375 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 22:01:38 +00:00
Paul S. Owen
cc8e77a837 Various changes and fixes
git-svn-id: file:///svn/phpbb/trunk@3374 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 22:00:32 +00:00
Paul S. Owen
07c084b91e More case changing + message_die to trigger_error + show image on front end listing
git-svn-id: file:///svn/phpbb/trunk@3373 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 19:02:33 +00:00
Paul S. Owen
f65065e98c case change
git-svn-id: file:///svn/phpbb/trunk@3372 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:50:22 +00:00
Paul S. Owen
4243e02c6a Third time lucky ...
git-svn-id: file:///svn/phpbb/trunk@3371 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:42:21 +00:00
Paul S. Owen
ba53bd0732 Wrong var name for cache
git-svn-id: file:///svn/phpbb/trunk@3370 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:41:22 +00:00
Paul S. Owen
f32f525c30 Lang var case changing
git-svn-id: file:///svn/phpbb/trunk@3369 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:40:31 +00:00
Paul S. Owen
afcaabf5ef idiot ...
git-svn-id: file:///svn/phpbb/trunk@3368 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:31:14 +00:00
Paul S. Owen
0c26de16eb Category and module lang name changes + show ban information when selecting entries to unban
git-svn-id: file:///svn/phpbb/trunk@3367 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 18:16:22 +00:00
Paul S. Owen
47cc239b1d Do away with icon_id > 1 business since it's no longer needed ... note you should delete the empty icon in your icons table.
git-svn-id: file:///svn/phpbb/trunk@3366 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 15:44:05 +00:00
Paul S. Owen
f31d54d9d3 changes mainly for user/group permissions
git-svn-id: file:///svn/phpbb/trunk@3365 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 15:31:39 +00:00
Paul S. Owen
d441f9ffcb Minor additions and mods
git-svn-id: file:///svn/phpbb/trunk@3364 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 15:29:24 +00:00
Paul S. Owen
c13f96f100 Add user and group permission setup ... time for a cleanup here me thinks
git-svn-id: file:///svn/phpbb/trunk@3363 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-27 15:29:06 +00:00
Ludovic Arnaud
038fd680f1 Fixed cache expiration and missing lang strings on index/viewforum.
git-svn-id: file:///svn/phpbb/trunk@3362 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-24 03:56:37 +00:00
Ludovic Arnaud
bbc49787b4 Re-enabled fully dynamic config settings.
git-svn-id: file:///svn/phpbb/trunk@3361 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 20:52:09 +00:00
Ludovic Arnaud
644735d9ac Re-enabled fully dynamic config settings.
git-svn-id: file:///svn/phpbb/trunk@3360 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 20:44:37 +00:00
Ludovic Arnaud
4be10373b8 Merged forum nav for viewtopic/viewforum, fixed cache behavior with an empty icons table.
git-svn-id: file:///svn/phpbb/trunk@3359 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 20:16:18 +00:00
Paul S. Owen
2005fb7061 sql_quote to $db->sql_escape
git-svn-id: file:///svn/phpbb/trunk@3358 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 16:58:00 +00:00
Paul S. Owen
01517e23fd Icon updates
git-svn-id: file:///svn/phpbb/trunk@3357 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 16:46:44 +00:00
Paul S. Owen
90eb7c5179 Post icon + other minor changes
git-svn-id: file:///svn/phpbb/trunk@3356 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 16:46:36 +00:00
Paul S. Owen
9250724b57 More capitalisation
git-svn-id: file:///svn/phpbb/trunk@3355 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 16:35:17 +00:00
Paul S. Owen
f5537c8ff0 Posting works again ... well, as it did previously!
git-svn-id: file:///svn/phpbb/trunk@3354 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 16:35:06 +00:00
Paul S. Owen
67872da415 icon_id for posts table, note topic table topic_icon has changed to icon_id ...
git-svn-id: file:///svn/phpbb/trunk@3353 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 15:35:43 +00:00
Paul S. Owen
74ac4985db Change LIMIT query to use DBAL method
git-svn-id: file:///svn/phpbb/trunk@3351 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 15:06:23 +00:00
Paul S. Owen
85c4ee575c lastread stuff is just causing too many problems with repeated forums at present - disabling till fixed
git-svn-id: file:///svn/phpbb/trunk@3350 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-22 15:06:11 +00:00
Paul S. Owen
c1a478005a Post ignore line
git-svn-id: file:///svn/phpbb/trunk@3349 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 16:13:54 +00:00
Paul S. Owen
34137d7614 Stop web nosey parkers
git-svn-id: file:///svn/phpbb/trunk@3348 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 16:13:05 +00:00
Paul S. Owen
24c59e8f17 Cache topic icons ... being used in three places, two high traffic areas ... probably worth caching, alter word censor to one var array ... hopefully this doesn't break anything :D
git-svn-id: file:///svn/phpbb/trunk@3347 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 15:58:32 +00:00
Paul S. Owen
a262c97c75 Removed extra spaces within conditional braces
git-svn-id: file:///svn/phpbb/trunk@3346 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 15:54:20 +00:00
Paul S. Owen
f0dcfa29f7 ratings table
git-svn-id: file:///svn/phpbb/trunk@3345 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 15:01:47 +00:00
Paul S. Owen
c151eddbc3 Remove or rename some table definitions
git-svn-id: file:///svn/phpbb/trunk@3344 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 15:01:39 +00:00
Paul S. Owen
919e75c64f Wrong order by in acl_add_option
git-svn-id: file:///svn/phpbb/trunk@3343 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 14:40:04 +00:00
Paul S. Owen
fce3c5ef0b Re-jiggled where options are cached, moved clear prefetch to main auth class
git-svn-id: file:///svn/phpbb/trunk@3342 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 14:37:56 +00:00
Paul S. Owen
5bea3ea3b4 Re-jiggle where acl_option caching is done, move to common in-keeping with config
git-svn-id: file:///svn/phpbb/trunk@3341 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 14:33:07 +00:00
Paul S. Owen
8c31649706 require_once updates
git-svn-id: file:///svn/phpbb/trunk@3340 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 14:15:48 +00:00
Paul S. Owen
75731c034c bye bye
git-svn-id: file:///svn/phpbb/trunk@3339 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-21 14:09:31 +00:00
Ludovic Arnaud
458b9b50ec Un-b0rked ACL options caching, small general fixes
git-svn-id: file:///svn/phpbb/trunk@3338 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-20 05:12:38 +00:00
Ludovic Arnaud
b2721cca0c Very minor changes.
git-svn-id: file:///svn/phpbb/trunk@3317 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-13 06:44:16 +00:00
Ludovic Arnaud
ab928d8f5f Minor fixes
git-svn-id: file:///svn/phpbb/trunk@3316 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-13 05:11:11 +00:00
Ludovic Arnaud
9f4cb905d3 EOL should be fixed now
git-svn-id: file:///svn/phpbb/trunk@3315 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-13 04:25:57 +00:00
Paul S. Owen
a16d1d9aff whatever that commit was caused some interesting formating :D
git-svn-id: file:///svn/phpbb/trunk@3314 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-12 00:28:28 +00:00
Ludovic Arnaud
4533fba0fc Implementation of an experimental cache manager.
git-svn-id: file:///svn/phpbb/trunk@3313 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-11 23:07:30 +00:00
Ludovic Arnaud
85b196b5fe Implementation of an experimental cache manager.
git-svn-id: file:///svn/phpbb/trunk@3312 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-11 22:56:49 +00:00
Paul S. Owen
d7e485e5f6 more capitals et al
git-svn-id: file:///svn/phpbb/trunk@3311 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-11 16:25:49 +00:00
Paul S. Owen
08fd930da0 Change background colour of selection box for presets ... just trying to find "good" way of seperating headers from options without lots of space, or "underlining"
git-svn-id: file:///svn/phpbb/trunk@3310 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-11 15:27:37 +00:00
Paul S. Owen
7ae621056f oops, seems I forgot to commit this :)
git-svn-id: file:///svn/phpbb/trunk@3309 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-11 01:37:34 +00:00
Paul S. Owen
2a02d24ffc Related preset changes
git-svn-id: file:///svn/phpbb/trunk@3307 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:55:46 +00:00
Paul S. Owen
f116dfc56c Ooops allow viewonline makes more sense per user than per forum ... doh
git-svn-id: file:///svn/phpbb/trunk@3306 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:55:19 +00:00
Paul S. Owen
c468f95dfa One last(!) additional preset ... inherit from parent (if appropriate)
git-svn-id: file:///svn/phpbb/trunk@3305 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:53:43 +00:00
Paul S. Owen
902ec5f517 Case change for lang var names
git-svn-id: file:///svn/phpbb/trunk@3304 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:17:48 +00:00
Paul S. Owen
be073e179c Minor change
git-svn-id: file:///svn/phpbb/trunk@3303 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:17:18 +00:00
Paul S. Owen
7618c89426 Minor change to seperate presets from "main" permission settings table
git-svn-id: file:///svn/phpbb/trunk@3302 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 14:04:40 +00:00
Paul S. Owen
451a653bbf bye billy ... I mean admin
git-svn-id: file:///svn/phpbb/trunk@3296 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 12:26:17 +00:00
Paul S. Owen
fe1c986988 Fixed "apparent" issue with super moderators remaining after "deletion"
git-svn-id: file:///svn/phpbb/trunk@3295 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 01:36:34 +00:00
Paul S. Owen
77e09080dc Removed limit ... wasn't a "bad" idea but ultimately created more work than I expected :D
git-svn-id: file:///svn/phpbb/trunk@3294 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-10 01:18:35 +00:00
Paul S. Owen
cf96f8dcfb Couple of HTML issues, now compliant again
git-svn-id: file:///svn/phpbb/trunk@3293 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-09 15:22:59 +00:00
Paul S. Owen
4d1c3e3696 More text
git-svn-id: file:///svn/phpbb/trunk@3292 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-09 15:14:46 +00:00
Paul S. Owen
36b452bae4 escaping was leaving slashes ... reverted for time being
git-svn-id: file:///svn/phpbb/trunk@3291 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-09 15:13:06 +00:00
Paul S. Owen
05bc60b26d Enable presets
git-svn-id: file:///svn/phpbb/trunk@3290 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-09 15:12:11 +00:00
Paul S. Owen
6af4750b4c This is red, now why is it red ... probably because it's not green ... so let's make it green and hope it wasn't red for some specific reason
git-svn-id: file:///svn/phpbb/trunk@3287 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 22:27:16 +00:00
Paul S. Owen
763d264d5f ignore post test
git-svn-id: file:///svn/phpbb/trunk@3286 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 22:23:51 +00:00
Paul S. Owen
799ffa517c my min karma, as opposed to my little pony or some such
git-svn-id: file:///svn/phpbb/trunk@3285 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 22:23:12 +00:00
Paul S. Owen
f236f3f838 Updates as opposed to downdates
git-svn-id: file:///svn/phpbb/trunk@3284 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 18:27:16 +00:00
Paul S. Owen
f58083b8af Ashes to ashes, bits to bits
git-svn-id: file:///svn/phpbb/trunk@3283 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 18:21:25 +00:00
Paul S. Owen
76c17a6991 Change message_die for trigger_error
git-svn-id: file:///svn/phpbb/trunk@3282 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:36:18 +00:00
Paul S. Owen
2f555f5b22 And as if by magic ... pooooooffff ... MCP appeared, "hello MCP" the children say, don't be silly children, MCP is a sequence of bits it cannot reply, "idiot children" the developer says.
git-svn-id: file:///svn/phpbb/trunk@3281 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:31:16 +00:00
Paul S. Owen
ed54cc285f Oh no! Now it's me ... argghh ... I'm melting I'm melting ... oohh the pain of it, the pain of it all (c) NBC
git-svn-id: file:///svn/phpbb/trunk@3280 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:29:58 +00:00
Paul S. Owen
4d75e2fc09 Remove server string stuff since it's now handled by redirect
git-svn-id: file:///svn/phpbb/trunk@3279 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:04:55 +00:00
Paul S. Owen
d54d938117 I have risen again ... yet I'm still broken ... wooh is me, wooh is me
git-svn-id: file:///svn/phpbb/trunk@3278 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:01:38 +00:00
Paul S. Owen
930a9223c7 Oh my God what have they done? What HAVE they done .... infamy! infamy! they've all got it in-for-me ... (c) Rank
git-svn-id: file:///svn/phpbb/trunk@3277 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-08 17:00:37 +00:00
Paul S. Owen
1c5d6dcf39 A document
git-svn-id: file:///svn/phpbb/trunk@3272 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 20:47:05 +00:00
Paul S. Owen
4676461520 MD5 javascript and minor changes
git-svn-id: file:///svn/phpbb/trunk@3271 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 20:19:48 +00:00
Paul S. Owen
6e8683a124 And this one removes all the debugging info ...
git-svn-id: file:///svn/phpbb/trunk@3270 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 18:59:31 +00:00
Paul S. Owen
22389f0d32 This one has the enormous benefit of actually doing what it was supposed to do ...
git-svn-id: file:///svn/phpbb/trunk@3269 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 18:58:36 +00:00
Paul S. Owen
9b97e57deb Oops, forgot lang updates
git-svn-id: file:///svn/phpbb/trunk@3268 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 18:41:05 +00:00
Paul S. Owen
82b23fdf67 Enable exclusion from bans for users, IP's or email addresses
git-svn-id: file:///svn/phpbb/trunk@3267 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 18:39:24 +00:00
Paul S. Owen
493a689b1e We'll try and get it right this time ...
git-svn-id: file:///svn/phpbb/trunk@3265 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 14:45:12 +00:00
Paul S. Owen
d2e324fe0b Move escape functions to DB methods
git-svn-id: file:///svn/phpbb/trunk@3264 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 14:37:50 +00:00
Paul S. Owen
5048f1f2bc Various updates, inc. fixing non-escaping of '
git-svn-id: file:///svn/phpbb/trunk@3263 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 14:37:34 +00:00
Paul S. Owen
7bdb2816f9 Various updates
git-svn-id: file:///svn/phpbb/trunk@3262 89ea8834-ac86-4346-8a33-228a782c2dd0
2003-01-07 14:37:19 +00:00
Paul S. Owen
b369a1e43c Start to (re-)fix generation of "plain text" templates from compiled source for template editing
git-svn-id: file:///svn/phpbb/trunk@3166 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-12-03 13:46:33 +00:00
Paul S. Owen
ef09c7e9c9 Notes to port bug fixes from 2.0.x
git-svn-id: file:///svn/phpbb/trunk@3165 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-12-03 00:40:12 +00:00
Paul S. Owen
df3e7ab532 Redirect changes
git-svn-id: file:///svn/phpbb/trunk@3161 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-12-02 23:53:21 +00:00
Paul S. Owen
afd03ff1b8 oops
git-svn-id: file:///svn/phpbb/trunk@3107 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 15:15:12 +00:00
Paul S. Owen
1e8cc35b2a Changed to get ... did this break stuff before in a non-session-id related way ..hmm
git-svn-id: file:///svn/phpbb/trunk@3106 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 15:15:06 +00:00
Paul S. Owen
f42bf5dfd4 Minor change ... remove topic who is online listing
git-svn-id: file:///svn/phpbb/trunk@3105 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 15:10:19 +00:00
Paul S. Owen
fca41683d0 This should be maintained as is in CVS ... it is regenerated automatically as required.
git-svn-id: file:///svn/phpbb/trunk@3104 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 13:37:11 +00:00
Bart van Bragt
3b71148ddf Grmbl
git-svn-id: file:///svn/phpbb/trunk@3103 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 13:33:52 +00:00
Bart van Bragt
831c9b5a61 Initial Lastread support. Mind the schema and config changes\!
git-svn-id: file:///svn/phpbb/trunk@3102 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-27 13:24:46 +00:00
Paul S. Owen
16e8fb800f No point in outputting two type fields in edit
git-svn-id: file:///svn/phpbb/trunk@3100 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-26 11:26:51 +00:00
Paul S. Owen
8f051f1b47 I know the jumpbox layout doesn't always match the real forum structure ... will fix
git-svn-id: file:///svn/phpbb/trunk@3099 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-26 00:50:16 +00:00
Paul S. Owen
5f4b283a3e Paul oopsied everywhere ... bad Paul ... use your litter tray
git-svn-id: file:///svn/phpbb/trunk@3098 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-26 00:17:06 +00:00
Bart van Bragt
2f9758b912 Fixing my fix and initial checkin of markread()
git-svn-id: file:///svn/phpbb/trunk@3097 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-26 00:15:45 +00:00
Paul S. Owen
2b2dd5abc4 A few subSilver icons for forum admin
git-svn-id: file:///svn/phpbb/trunk@3096 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-25 23:52:05 +00:00
Paul S. Owen
c81c598b66 oops
git-svn-id: file:///svn/phpbb/trunk@3095 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-25 23:51:23 +00:00
Paul S. Owen
734c286f9f Some changes to forum admin to better reflect subforum 'post/non-post' changes ... no guarantees I've not broken something ... note the schema changes
git-svn-id: file:///svn/phpbb/trunk@3094 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-25 23:46:23 +00:00
Bart van Bragt
efad1f2491 Made the error handler behave responsibly when $user isn't there yet
git-svn-id: file:///svn/phpbb/trunk@3092 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-25 18:32:36 +00:00
Paul S. Owen
0f31aa8416 This should now work ... still blank screens on errors (due to way errors are now handled by db layer ... need to set return on error and handle sql errors locally in install.php)
git-svn-id: file:///svn/phpbb/trunk@3090 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-24 23:41:07 +00:00
Paul S. Owen
2c83dfae78 Updates ... so it now works again ...
git-svn-id: file:///svn/phpbb/trunk@3089 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-24 23:40:30 +00:00
Paul S. Owen
b728abd4d2 Add forum_postable to forum schema
git-svn-id: file:///svn/phpbb/trunk@3088 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-24 23:10:16 +00:00
Paul S. Owen
aedd730552 Of course it has to be more tricky than that doesn't it ... well, I'm off to bed so it can stick it up its pipe and smoke it for now :D
git-svn-id: file:///svn/phpbb/trunk@3078 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 22:46:12 +00:00
Paul S. Owen
bb05d733ee didn't urlencode highlighted url data ... tut tut
git-svn-id: file:///svn/phpbb/trunk@3077 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 22:25:03 +00:00
James Atkinson
25a3ef55be Moved profile.php to ucp.php. ucp is really really broken right now, don't even think about trying to use it.
git-svn-id: file:///svn/phpbb/trunk@3075 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 15:40:21 +00:00
Paul S. Owen
68ee9ffb1f Merged and condensed into posting ... for now at least.
git-svn-id: file:///svn/phpbb/trunk@3074 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 15:33:59 +00:00
James Atkinson
fdbeac30d1 Moving UCP files to ucp/ directory
git-svn-id: file:///svn/phpbb/trunk@3073 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 15:26:06 +00:00
Paul S. Owen
f44c970572 Just to get topic review working again ...
git-svn-id: file:///svn/phpbb/trunk@3072 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-21 01:35:53 +00:00
Paul S. Owen
44af262312 Got bored so added print topic output view
git-svn-id: file:///svn/phpbb/trunk@3071 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-20 23:07:01 +00:00
James Atkinson
70e6af55a8 Missing semi-colon in schema file.
git-svn-id: file:///svn/phpbb/trunk@3070 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-20 16:24:38 +00:00
Paul S. Owen
e0ea770c40 Update the version ... still somewhat meaningless but hum ho
git-svn-id: file:///svn/phpbb/trunk@3068 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 23:45:23 +00:00
Paul S. Owen
20b65e010c Wrong height for reply icon ... this has been bugging me for ages, but no more I say, begone disgusting wrong size entry, be gone, thou shalt never darken thy PC again
git-svn-id: file:///svn/phpbb/trunk@3067 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 23:28:04 +00:00
Paul S. Owen
d88ab81568 colspan missing
git-svn-id: file:///svn/phpbb/trunk@3066 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 23:26:43 +00:00
Paul S. Owen
de936e0bd4 Change year
git-svn-id: file:///svn/phpbb/trunk@3065 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 23:24:09 +00:00
Paul S. Owen
8ae487932d Update jumpbox for subforum changes
git-svn-id: file:///svn/phpbb/trunk@3064 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 23:12:11 +00:00
Paul S. Owen
c1fc6dce16 Further layout faffing, nav links for viewtopic (code needs merging with viewforum/posting), moderators for viewtopic
git-svn-id: file:///svn/phpbb/trunk@3063 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-19 18:55:23 +00:00
Paul S. Owen
b468fd6e29 Extra break to valign moderators and MCP link
git-svn-id: file:///svn/phpbb/trunk@3062 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 21:09:16 +00:00
Paul S. Owen
6e910ca116 Cache moderator names? Output moderators for all forums in viewforum. Alter a few things in templates
git-svn-id: file:///svn/phpbb/trunk@3061 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 21:04:45 +00:00
Paul S. Owen
ce40939e60 Cache moderator names?
git-svn-id: file:///svn/phpbb/trunk@3060 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 18:56:27 +00:00
Paul S. Owen
68d4dcf0d3 Output moderator list for forums
git-svn-id: file:///svn/phpbb/trunk@3059 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 00:20:23 +00:00
Paul S. Owen
b86d90362d Minor adjustment to subforum listing
git-svn-id: file:///svn/phpbb/trunk@3058 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 00:20:06 +00:00
Paul S. Owen
8636df8f62 "Fix" problem with forum_id being overwritten by sub forum listing
git-svn-id: file:///svn/phpbb/trunk@3057 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-18 00:19:47 +00:00
Paul S. Owen
2a2244a770 Remove some L_ var assignments
git-svn-id: file:///svn/phpbb/trunk@3056 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-15 12:51:57 +00:00
Paul S. Owen
335835787e More upper casing
git-svn-id: file:///svn/phpbb/trunk@3055 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-15 12:51:47 +00:00
Paul S. Owen
286e4103f6 More minor adjustments
git-svn-id: file:///svn/phpbb/trunk@3054 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-15 12:50:41 +00:00
Paul S. Owen
66af710664 Output nothing if moderator display is "off"
git-svn-id: file:///svn/phpbb/trunk@3053 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-15 12:45:28 +00:00
Paul S. Owen
3184365533 Minor layout changes
git-svn-id: file:///svn/phpbb/trunk@3052 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-15 12:44:31 +00:00
Paul S. Owen
e654727d5d Forgot to strip tags to prevent some browsers from displaying raw tags rather than removing/interpreting them
git-svn-id: file:///svn/phpbb/trunk@3031 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:53:46 +00:00
Paul S. Owen
fbe796ed21 Forum description to forum name anchor title
git-svn-id: file:///svn/phpbb/trunk@3030 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:52:40 +00:00
Paul S. Owen
8cade616ab Forum description to template
git-svn-id: file:///svn/phpbb/trunk@3029 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:52:20 +00:00
Paul S. Owen
f0da525e44 Num posted articles/topics update
git-svn-id: file:///svn/phpbb/trunk@3028 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:48:06 +00:00
Paul S. Owen
bb20ba7235 Minor change to remove total_post count
git-svn-id: file:///svn/phpbb/trunk@3027 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:48:01 +00:00
Paul S. Owen
2fe1f1bc65 Fix couple of errors ... you should run UPDATE phpbb_users SET user_permissions = '' after this update
git-svn-id: file:///svn/phpbb/trunk@3026 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-13 21:33:13 +00:00
Paul S. Owen
5a7e3a3bb3 Part of memberslist now
git-svn-id: file:///svn/phpbb/trunk@3025 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-12 20:55:46 +00:00
Paul S. Owen
b5ad02cb2c Re-activated user search
git-svn-id: file:///svn/phpbb/trunk@3024 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-12 20:55:18 +00:00
Paul S. Owen
5d426363c6 REGISTERED_INACTIVE to INACTIVE special group name change
git-svn-id: file:///svn/phpbb/trunk@3023 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-09 00:47:42 +00:00
Paul S. Owen
782482df38 More key changes ...
git-svn-id: file:///svn/phpbb/trunk@3022 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-09 00:47:14 +00:00
Paul S. Owen
9d2219b39a Give the special groups a special constant ...to make them feel, well, special.
git-svn-id: file:///svn/phpbb/trunk@3021 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-09 00:45:34 +00:00
Paul S. Owen
1405e47fc1 Mainly updates for additional/altered admin permission options ... note, you MUST empty your current auth_options table and insert the list from the mysql_basic, you will also need to empty the auth_user/auth_group tables and re-assign permissions, and you should clear the $acl_options array in config_cache
git-svn-id: file:///svn/phpbb/trunk@3020 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-09 00:04:18 +00:00
Paul S. Owen
1c5f838a2d Incorrect check on moderated forum field
git-svn-id: file:///svn/phpbb/trunk@3019 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-08 10:59:00 +00:00
Ludovic Arnaud
097a1caca8 Cleaned up viewforum/index, altered template class to replace missing lang strings with a nicely formatted text, pre-implemented topics prefetching and broke some things.
git-svn-id: file:///svn/phpbb/trunk@3018 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-08 03:33:58 +00:00
Paul S. Owen
5d859740ee A few key changes for template alterations ... note that this will currently cause some blank output, particularly for form buttons in admin
git-svn-id: file:///svn/phpbb/trunk@3017 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 23:21:56 +00:00
Paul S. Owen
4092e36cca These changes mean you no longer have to assign L_ vars values (unless you want/need to) ... the relevant entry in the lang array will automatically be used if a var isn't assigned
git-svn-id: file:///svn/phpbb/trunk@3016 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 23:21:14 +00:00
Paul S. Owen
021929b31f oops
git-svn-id: file:///svn/phpbb/trunk@3015 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 22:12:04 +00:00
Paul S. Owen
8f14946d09 Update parent forums upon posting, show navlinks ... should create a function for this given commonality with viewtopic/viewforum
git-svn-id: file:///svn/phpbb/trunk@3014 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 22:02:49 +00:00
Paul S. Owen
97de599ae8 HTML stuff
git-svn-id: file:///svn/phpbb/trunk@3013 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 22:02:04 +00:00
Paul S. Owen
7366bd9e41 Fix a couple of issues, hopefully haven't broken anything Ashe was planning ...
git-svn-id: file:///svn/phpbb/trunk@3012 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 21:45:34 +00:00
Ludovic Arnaud
cfd055f979 Subforums update take #1
git-svn-id: file:///svn/phpbb/trunk@3011 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 03:39:50 +00:00
Ludovic Arnaud
7cda8ec239 Subforums update take #1
git-svn-id: file:///svn/phpbb/trunk@3010 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-07 03:20:33 +00:00
Ludovic Arnaud
e9e9716acc Experimental: link to the first unread post without redirection
git-svn-id: file:///svn/phpbb/trunk@3009 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-05 07:03:14 +00:00
Ludovic Arnaud
a583f7bd10 ALTER TABLE phpbb_smilies CHANGE smile_on_posting display_on_posting
git-svn-id: file:///svn/phpbb/trunk@3008 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-05 06:38:09 +00:00
Ludovic Arnaud
bc6e36ef4f viewforum queries update + a couple of bugfixes.
git-svn-id: file:///svn/phpbb/trunk@3007 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-05 04:50:55 +00:00
Paul S. Owen
5b73ad4cbd Fix autologin issues
git-svn-id: file:///svn/phpbb/trunk@3006 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-02 21:44:36 +00:00
Ludovic Arnaud
97978b69f1 Some bugfixes, quick-(un)locking now works.
git-svn-id: file:///svn/phpbb/trunk@3005 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 21:35:41 +00:00
Paul S. Owen
ac0c0f5247 More minor changes
git-svn-id: file:///svn/phpbb/trunk@3004 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 15:40:22 +00:00
Paul S. Owen
ab669d0f04 Minor change to add navlinks to bottom of form
git-svn-id: file:///svn/phpbb/trunk@3003 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:48:45 +00:00
Paul S. Owen
96c024b85f floatval to doubleval for 4.1.x
git-svn-id: file:///svn/phpbb/trunk@3002 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:44:31 +00:00
Paul S. Owen
c5ec313d53 oops, forgot to change credits ...
git-svn-id: file:///svn/phpbb/trunk@3001 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:39:29 +00:00
Paul S. Owen
7f93e95ffd Too processor intensive
git-svn-id: file:///svn/phpbb/trunk@3000 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:37:53 +00:00
Paul S. Owen
fea84a1016 Change color picker to SHS` unixsafe palette ... feedback on rendering time welcome + moved out lots of javascript
git-svn-id: file:///svn/phpbb/trunk@2999 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:37:12 +00:00
Paul S. Owen
9c0435c01a Change color picker to SHS` unixsafe palette ... feedback on rendering time welcome
git-svn-id: file:///svn/phpbb/trunk@2998 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 14:36:39 +00:00
Paul S. Owen
6fa38a1181 Various, typically posting related updates
git-svn-id: file:///svn/phpbb/trunk@2997 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-11-01 12:23:08 +00:00
Paul S. Owen
1a67029fcd sigh
git-svn-id: file:///svn/phpbb/trunk@2996 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 13:47:00 +00:00
Paul S. Owen
2bf1c5f9b0 Smilies enabled ... note this is not necessarily final ...
git-svn-id: file:///svn/phpbb/trunk@2995 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 13:41:28 +00:00
Paul S. Owen
da3121c0fd doubleval for load config, session to user var name change
git-svn-id: file:///svn/phpbb/trunk@2994 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 12:09:51 +00:00
Ludovic Arnaud
29f583c626 Minor changes, trying to get it working on my test server
git-svn-id: file:///svn/phpbb/trunk@2993 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 03:20:54 +00:00
Paul S. Owen
8f0890acd1 Magic URL updates
git-svn-id: file:///svn/phpbb/trunk@2992 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 00:51:00 +00:00
Paul S. Owen
72f1ad476a oops
git-svn-id: file:///svn/phpbb/trunk@2991 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-31 00:02:10 +00:00
Paul S. Owen
282e7ec58a Couple further updates
git-svn-id: file:///svn/phpbb/trunk@2990 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 23:50:50 +00:00
Paul S. Owen
5abbc58deb moderate == moderated, thanks SHS`
git-svn-id: file:///svn/phpbb/trunk@2989 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 23:27:11 +00:00
Paul S. Owen
ebdb61373b Fixes and reversions (temp)
git-svn-id: file:///svn/phpbb/trunk@2988 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 23:26:35 +00:00
Paul S. Owen
1b259b300e These ones probably work ...
git-svn-id: file:///svn/phpbb/trunk@2987 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 20:05:18 +00:00
Paul S. Owen
0a4f369681 Dumped sql_query_array, replaced with build_array, posting updates, fixed quoting in mysql layers, fulltext enabled ... speed/problem feedback welcome
git-svn-id: file:///svn/phpbb/trunk@2986 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 18:59:09 +00:00
Paul S. Owen
9273252cfc sqLquote subject ...
git-svn-id: file:///svn/phpbb/trunk@2985 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 01:02:48 +00:00
Paul S. Owen
18f9fa60a7 acl_get not get_acl
git-svn-id: file:///svn/phpbb/trunk@2984 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 01:00:31 +00:00
Paul S. Owen
691f50ada9 Changed $board_config to $config, more posting "stuff", altered polling code in viewtopic and loads of new problems, poor coding, etc. created :)
git-svn-id: file:///svn/phpbb/trunk@2983 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-30 00:57:27 +00:00
Paul S. Owen
9075298051 Merged back into functions ... not worth a seperate file @ only 4kb
git-svn-id: file:///svn/phpbb/trunk@2982 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-29 16:11:29 +00:00
Paul S. Owen
56ca392f4e Minor updates for syncing, sql quoting, etc.
git-svn-id: file:///svn/phpbb/trunk@2981 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 20:39:06 +00:00
Paul S. Owen
c581ae15c2 sql_quote fixed
git-svn-id: file:///svn/phpbb/trunk@2980 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 20:38:53 +00:00
Paul S. Owen
98f17b0f75 Removed function, replaced missing functionality
git-svn-id: file:///svn/phpbb/trunk@2979 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:45:06 +00:00
Paul S. Owen
34921891bb Moved to en
git-svn-id: file:///svn/phpbb/trunk@2978 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:36:16 +00:00
Paul S. Owen
45f2496110 Contains the language name
git-svn-id: file:///svn/phpbb/trunk@2977 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:35:08 +00:00
Paul S. Owen
de4133420a Rules and lang changes
git-svn-id: file:///svn/phpbb/trunk@2976 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:34:43 +00:00
Paul S. Owen
33e84f8ea0 Rules updates
git-svn-id: file:///svn/phpbb/trunk@2975 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:25:38 +00:00
Paul S. Owen
44c9dacbde Layout and form updates
git-svn-id: file:///svn/phpbb/trunk@2974 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:25:03 +00:00
Paul S. Owen
3e2e5dc4f2 mysql4 update
git-svn-id: file:///svn/phpbb/trunk@2973 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:09:48 +00:00
Paul S. Owen
595a39122f Posting and acl option updates
git-svn-id: file:///svn/phpbb/trunk@2972 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-28 00:08:18 +00:00
Paul S. Owen
7cc1dbf6b0 nav link index title change
git-svn-id: file:///svn/phpbb/trunk@2971 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-26 21:56:33 +00:00
Paul S. Owen
1edc9d362f Preliminary 'freeze' on permissions awaiting developer feedback, testing, etc. Caching of non-dynmaic config and acl option elements.
git-svn-id: file:///svn/phpbb/trunk@2970 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-26 12:36:38 +00:00
Paul S. Owen
a7d186fd91 Preliminary 'freeze' on permissions system awaiting developer feedback, testing, etc. Caching of non-dynmaic config and acl option elements.
git-svn-id: file:///svn/phpbb/trunk@2969 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-26 12:34:39 +00:00
Paul S. Owen
6d0738ff22 Cache file -> needs to have appropriate write permissions set on server
git-svn-id: file:///svn/phpbb/trunk@2968 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-26 12:32:09 +00:00
Paul S. Owen
2b8cb26e6b A few ideas and tests
git-svn-id: file:///svn/phpbb/trunk@2963 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-22 17:33:10 +00:00
Paul S. Owen
6ebc8de14c bah, various issues, assign lang to this->lang via pointer(?)
git-svn-id: file:///svn/phpbb/trunk@2962 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-21 14:10:45 +00:00
Ludovic Arnaud
413cd7bf03 My contribution for today: 1 extra byte
git-svn-id: file:///svn/phpbb/trunk@2960 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-20 22:50:41 +00:00
Paul S. Owen
d5a41ebfa0 It's been a while ...
git-svn-id: file:///svn/phpbb/trunk@2959 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-20 19:19:59 +00:00
Paul S. Owen
0e9f0ac4ec Mostly changes to turn userdata into user->data, lang into user->lang + bitstring 2nd format + inheritance for permission admin and various other updates/fixes/changes ... note that user->lang & user->theme isn't final
git-svn-id: file:///svn/phpbb/trunk@2958 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-20 19:19:07 +00:00
Paul S. Owen
4887cf1e49 Will it stay or will it go now ... hang on, I believe someone's already written that track ...
git-svn-id: file:///svn/phpbb/trunk@2957 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-20 19:15:59 +00:00
Paul S. Owen
bd2cf21a05 They shouldn't still be there ...
git-svn-id: file:///svn/phpbb/trunk@2956 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-18 23:25:17 +00:00
Ludovic Arnaud
48727c433f Random bugfixes, (hopefully) improved admin panel security.
git-svn-id: file:///svn/phpbb/trunk@2955 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-17 02:56:11 +00:00
Ludovic Arnaud
80864fa7ee Random bugfixes, (hopefully) improved admin panel security.
git-svn-id: file:///svn/phpbb/trunk@2954 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-17 02:50:50 +00:00
Ludovic Arnaud
fafd167dde More jumpbox stuff, still not happy with the layout though =(
git-svn-id: file:///svn/phpbb/trunk@2953 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-11 02:55:34 +00:00
Ludovic Arnaud
1e52eafc80 Minor bugfix (subforums template was called even if there only were empty subcats).
Jumpbox got its "Select a forum" entry back.


git-svn-id: file:///svn/phpbb/trunk@2952 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-11 02:24:00 +00:00
Ludovic Arnaud
58ddae0c90 More bugfixes
git-svn-id: file:///svn/phpbb/trunk@2951 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-10 01:02:47 +00:00
Ludovic Arnaud
c677640b64 Bugfix (disappearing forum names) + enabled jumpbox and modified it to allow category jumping.
git-svn-id: file:///svn/phpbb/trunk@2950 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-10 00:35:35 +00:00
Paul S. Owen
4a2f986943 oops, that got broke ... removed some now superfluous code
git-svn-id: file:///svn/phpbb/trunk@2949 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-09 20:53:42 +00:00
Ludovic Arnaud
369189806b Added the redirect() function for nice and clean redirection.
git-svn-id: file:///svn/phpbb/trunk@2948 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-09 19:50:48 +00:00
Paul S. Owen
ac4b54ff4d missing global
git-svn-id: file:///svn/phpbb/trunk@2947 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 22:14:22 +00:00
Paul S. Owen
8b21ebbdab Of little use since the whole user admin interface will need rewriting
git-svn-id: file:///svn/phpbb/trunk@2946 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 21:50:02 +00:00
Paul S. Owen
521760fe50 missed method name change
git-svn-id: file:///svn/phpbb/trunk@2945 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 21:48:02 +00:00
Paul S. Owen
2c16ed7248 Minor changes to select box
git-svn-id: file:///svn/phpbb/trunk@2944 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 21:01:25 +00:00
Paul S. Owen
1d0e4ee436 Permission related updates ... is still not final but is getting there ... faster than British Rail too
git-svn-id: file:///svn/phpbb/trunk@2943 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 20:11:59 +00:00
Paul S. Owen
64aee6d171 Permission changes, updates admin functions, indented jumpboxes ... note that the update script doesn't seem to introduce the user_permissions field @ present so you need to add it manually
git-svn-id: file:///svn/phpbb/trunk@2942 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 20:06:55 +00:00
Paul S. Owen
c0a0d11d08 Stale lock should be gone ... thanks to whoever contributed these images
git-svn-id: file:///svn/phpbb/trunk@2941 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-08 17:50:26 +00:00
Ludovic Arnaud
a5a63df36f Fixed last poster name, dumped categories table.
git-svn-id: file:///svn/phpbb/trunk@2939 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-07 01:07:41 +00:00
Ludovic Arnaud
cf0ac8d631 Fixed demo topic not showing up after install.
git-svn-id: file:///svn/phpbb/trunk@2938 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-07 01:00:09 +00:00
Ludovic Arnaud
8b5482d320 Err... max() actually needs two args :D
git-svn-id: file:///svn/phpbb/trunk@2937 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-07 00:48:51 +00:00
Paul S. Owen
7a8b0a6f27 auth comments, cache(?)
git-svn-id: file:///svn/phpbb/trunk@2936 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-06 11:57:45 +00:00
Paul S. Owen
803cc378dd anonymous user takes id = 0, smilies have width and height terms
git-svn-id: file:///svn/phpbb/trunk@2934 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 23:48:11 +00:00
Paul S. Owen
123dea7a06 Change admin lang to en by default ... prevents admin/viewonline chocking
git-svn-id: file:///svn/phpbb/trunk@2933 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 23:40:34 +00:00
Paul S. Owen
1eeecbd075 wrong field name, oops
git-svn-id: file:///svn/phpbb/trunk@2932 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 11:38:10 +00:00
Paul S. Owen
3dc658f3ea Switch to user class(?)
git-svn-id: file:///svn/phpbb/trunk@2931 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 10:25:40 +00:00
Paul S. Owen
81f9eccb94 Is this quicker or slower than the for loop/concat method for comparing the IPs?
git-svn-id: file:///svn/phpbb/trunk@2930 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 00:21:35 +00:00
Paul S. Owen
64a01741f9 another oopsie in sessions + whos online fix for forum_id in page_header (index displays correctly now)
git-svn-id: file:///svn/phpbb/trunk@2929 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-05 00:08:47 +00:00
Paul S. Owen
f4858c1b7d oops, forgot to replace if ...
git-svn-id: file:///svn/phpbb/trunk@2928 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 23:54:50 +00:00
Paul S. Owen
2ff0cd6907 Associative array change ...
git-svn-id: file:///svn/phpbb/trunk@2927 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 23:42:20 +00:00
Paul S. Owen
d1564db4be prune_enable re-added ... is it still required ... couldn't prune_freq be used as an indicator?
git-svn-id: file:///svn/phpbb/trunk@2926 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 23:38:42 +00:00
Paul S. Owen
f00afb8550 Overcome last visit issue (in a 'way'), reduce work gc has to do ... hopefully without screwing up what it does ... but this is a "Paul production" so anything is possible ...
git-svn-id: file:///svn/phpbb/trunk@2925 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 23:37:07 +00:00
Ludovic Arnaud
7dbb4fd6ec Now this build can be installed without any error.
git-svn-id: file:///svn/phpbb/trunk@2924 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 21:57:08 +00:00
Paul S. Owen
30aeac65dc Well, here are all my changes ... don't blame me if things break :D
git-svn-id: file:///svn/phpbb/trunk@2923 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 13:09:10 +00:00
Paul S. Owen
b5bbc005a5 Written by mat100 ... modified slightly for CVS
git-svn-id: file:///svn/phpbb/trunk@2922 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 13:02:54 +00:00
Paul S. Owen
35d7bfcca7 Includes the color Mod javascript written by mat100
git-svn-id: file:///svn/phpbb/trunk@2921 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 13:02:22 +00:00
Paul S. Owen
9ea1bc91e9 ISO
git-svn-id: file:///svn/phpbb/trunk@2920 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 12:40:07 +00:00
Paul S. Owen
3d6f2caccb Name change
git-svn-id: file:///svn/phpbb/trunk@2919 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-04 10:14:52 +00:00
Ludovic Arnaud
71c288bd21 I updated my copy with the Area51 template so here it is, along with a couple of bugfixes :]
git-svn-id: file:///svn/phpbb/trunk@2918 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 23:50:39 +00:00
Ludovic Arnaud
aee5fbcd8a I updated my copy with the Area51 template so here it is, along with a couple of bugfixes :]
git-svn-id: file:///svn/phpbb/trunk@2917 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 23:32:45 +00:00
Ludovic Arnaud
743460bd80 Subforums part 3: "the one that actually works"
git-svn-id: file:///svn/phpbb/trunk@2916 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 19:44:58 +00:00
Ludovic Arnaud
4c82531712 Setting error reporting to the highest level have benefits.
git-svn-id: file:///svn/phpbb/trunk@2915 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 02:49:47 +00:00
Ludovic Arnaud
2d99854ce8 Subforums handling part 2, new files.
git-svn-id: file:///svn/phpbb/trunk@2914 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 02:46:32 +00:00
Ludovic Arnaud
268d936f46 Subforums handling part 2, it almost works. Also added: the "Explain" link at the bottom page, can be removed easily before official release if necessary.
git-svn-id: file:///svn/phpbb/trunk@2913 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-03 02:43:41 +00:00
Ludovic Arnaud
1666e7d3e7 First implementation of subforums handling in index.
git-svn-id: file:///svn/phpbb/trunk@2912 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-10-01 21:41:57 +00:00
Ludovic Arnaud
6752c2a168 No need to be paranoid about direct access to this file, removed $mtime reference.
git-svn-id: file:///svn/phpbb/trunk@2910 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-29 20:45:57 +00:00
Ludovic Arnaud
e1e52497fa Preimplementation of smilies order, "smilies" changed into "emoticons" as per Bart comment and sql_query_array() fixed to allow FALSE values
git-svn-id: file:///svn/phpbb/trunk@2893 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-19 01:11:32 +00:00
Ludovic Arnaud
13307c1360 New smilies admin, a bug fixed in mysql.php and a left join removed from admin_forums.php
git-svn-id: file:///svn/phpbb/trunk@2891 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-18 04:38:17 +00:00
Ludovic Arnaud
66e0b32220 Forums management updated, now able to delete forums
git-svn-id: file:///svn/phpbb/trunk@2890 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-16 15:22:52 +00:00
Ludovic Arnaud
eef332eea5 Cleanups
git-svn-id: file:///svn/phpbb/trunk@2889 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-15 17:21:08 +00:00
Ludovic Arnaud
8d6c391d48 First commit of updated forums management panel - crossing fingers
git-svn-id: file:///svn/phpbb/trunk@2888 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-09-15 16:14:35 +00:00
Paul S. Owen
0226e8602a Instantiate template and set template path from seperate method
git-svn-id: file:///svn/phpbb/trunk@2882 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-22 21:40:51 +00:00
Paul S. Owen
eca02e139c Garbage collection update
git-svn-id: file:///svn/phpbb/trunk@2881 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-22 21:17:02 +00:00
Paul S. Owen
d0f8b34e23 Wrong var name for gc method
git-svn-id: file:///svn/phpbb/trunk@2880 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-22 17:55:55 +00:00
Paul S. Owen
69e89c9067 Forum/Topic marking updates
git-svn-id: file:///svn/phpbb/trunk@2879 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-22 13:58:35 +00:00
Paul S. Owen
6cf59bc2e9 Define auth_values which can only be manipulated by the forum founder
git-svn-id: file:///svn/phpbb/trunk@2878 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-19 17:58:06 +00:00
Paul S. Owen
419ae3e549 More updates
git-svn-id: file:///svn/phpbb/trunk@2877 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-18 17:36:01 +00:00
Paul S. Owen
d5f0bfc3e1 Related to permission changes ...
git-svn-id: file:///svn/phpbb/trunk@2876 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-18 00:33:30 +00:00
Paul S. Owen
bca30bbe48 Failed on no groups ...
git-svn-id: file:///svn/phpbb/trunk@2875 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 23:58:03 +00:00
Paul S. Owen
27838c6f02 updated schema for update_script changes ...
git-svn-id: file:///svn/phpbb/trunk@2874 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 23:23:20 +00:00
Paul S. Owen
4a5f17c131 checked and it works ... or appears to from a 2.0.x install
git-svn-id: file:///svn/phpbb/trunk@2873 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 23:08:39 +00:00
Paul S. Owen
0d72ddd0ad Various updates
git-svn-id: file:///svn/phpbb/trunk@2872 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:52:23 +00:00
Paul S. Owen
50eae551cd *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@2871 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:22:59 +00:00
Paul S. Owen
f28585bedd no comment
git-svn-id: file:///svn/phpbb/trunk@2870 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:21:59 +00:00
Paul S. Owen
655e905313 ...
git-svn-id: file:///svn/phpbb/trunk@2869 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:14:48 +00:00
Paul S. Owen
682b29d9b5 damn it damn it damn it
git-svn-id: file:///svn/phpbb/trunk@2868 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:12:23 +00:00
Paul S. Owen
d0f2ed7fb6 oopsie
git-svn-id: file:///svn/phpbb/trunk@2867 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:11:31 +00:00
Paul S. Owen
26190e5c3b Some sql changes
git-svn-id: file:///svn/phpbb/trunk@2866 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-17 22:08:34 +00:00
Paul S. Owen
ecf33211ec Anonymous takes user_id = 0 ... hopefully this will not cause problems on the various supported DB's ...
git-svn-id: file:///svn/phpbb/trunk@2865 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 17:50:38 +00:00
Paul S. Owen
c261dfa420 damn it, wrong table for now ...
git-svn-id: file:///svn/phpbb/trunk@2864 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 17:31:22 +00:00
Paul S. Owen
65805038b7 various updates
git-svn-id: file:///svn/phpbb/trunk@2863 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 17:14:37 +00:00
Paul S. Owen
f8fa2d31f3 Many updates, should upgrade any previous dated release ... note that it will have 'problems' with boards running updated CVS ... need to ignore a number of errors in code
git-svn-id: file:///svn/phpbb/trunk@2862 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 17:05:44 +00:00
Paul S. Owen
f47f503fec another oopsie
git-svn-id: file:///svn/phpbb/trunk@2861 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 01:25:25 +00:00
Paul S. Owen
19f78622b0 permission stuff .. what else ...
git-svn-id: file:///svn/phpbb/trunk@2860 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 01:21:50 +00:00
Paul S. Owen
03f5d64e39 ooops
git-svn-id: file:///svn/phpbb/trunk@2859 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-16 01:15:41 +00:00
Paul S. Owen
8e3bbcde6f Idiot
git-svn-id: file:///svn/phpbb/trunk@2858 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 16:31:07 +00:00
Paul S. Owen
832c29d3f5 permission changes
git-svn-id: file:///svn/phpbb/trunk@2857 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 16:02:48 +00:00
Paul S. Owen
807f003c99 forum_style not default_style
git-svn-id: file:///svn/phpbb/trunk@2856 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 16:01:12 +00:00
Paul S. Owen
84dacf840d !
git-svn-id: file:///svn/phpbb/trunk@2855 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 15:57:21 +00:00
Paul S. Owen
8809cd7121 Permission related updates
git-svn-id: file:///svn/phpbb/trunk@2854 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 15:47:43 +00:00
Paul S. Owen
8bf310b6b2 More session changes to accomodate ACL_PERMIT/PREVENT ...
git-svn-id: file:///svn/phpbb/trunk@2853 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-15 15:45:22 +00:00
Paul S. Owen
67f4e334ec ggrr
git-svn-id: file:///svn/phpbb/trunk@2852 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-13 16:44:05 +00:00
Paul S. Owen
ce3591abfb Where did that dunce cap go?
git-svn-id: file:///svn/phpbb/trunk@2851 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-13 16:41:31 +00:00
Paul S. Owen
ea2d31b58f oopsie, that version wasn't ready for commit ....
git-svn-id: file:///svn/phpbb/trunk@2850 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-13 16:40:34 +00:00
Paul S. Owen
38b8e4b801 More changes ... switched away from prefetch for now ...
git-svn-id: file:///svn/phpbb/trunk@2849 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-13 16:34:17 +00:00
Paul S. Owen
a7cda845fa Permit, Prevent options ... I wonder if any other board will miraculously gain these ...
git-svn-id: file:///svn/phpbb/trunk@2848 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-12 14:20:50 +00:00
Paul S. Owen
71468f8071 DB utils related additions/changes
git-svn-id: file:///svn/phpbb/trunk@2847 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-08 20:56:48 +00:00
Paul S. Owen
943545558e Various updates and additions
git-svn-id: file:///svn/phpbb/trunk@2846 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-08 20:56:34 +00:00
Paul S. Owen
523bf91b36 Insert any new fields required by auth plugins
git-svn-id: file:///svn/phpbb/trunk@2840 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 13:03:05 +00:00
Paul S. Owen
2b0b8993e7 Return required config fields to board admin
git-svn-id: file:///svn/phpbb/trunk@2839 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 13:02:48 +00:00
Paul S. Owen
702761f40b Authentication stuff ... plugins generate any HTML form stuff they require
git-svn-id: file:///svn/phpbb/trunk@2838 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 01:12:11 +00:00
Paul S. Owen
2c55d91ef8 Authentication stuff
git-svn-id: file:///svn/phpbb/trunk@2837 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 01:11:51 +00:00
Paul S. Owen
42d197b780 Fix errors, add admin output for ldap
git-svn-id: file:///svn/phpbb/trunk@2836 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 01:11:38 +00:00
Paul S. Owen
284dc92e08 LDAP config options
git-svn-id: file:///svn/phpbb/trunk@2835 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 00:06:27 +00:00
Paul S. Owen
bab1021f8c Rule output changes ... no point in limiting delete/attach just to viewtopic ...
git-svn-id: file:///svn/phpbb/trunk@2834 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 00:03:14 +00:00
Paul S. Owen
3a662e24f4 Change connection limit to session per minute limit ... maybe more 'general' ?
git-svn-id: file:///svn/phpbb/trunk@2833 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 00:02:08 +00:00
Paul S. Owen
16922e62e3 Minor changes ... oh and to vB developers ... remember, when using ideas from our schemas the copyright should read "(C) 2002 phpBB Group" ... ;)
git-svn-id: file:///svn/phpbb/trunk@2832 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-07 00:01:18 +00:00
Paul S. Owen
d299df3b25 Various updates ...
git-svn-id: file:///svn/phpbb/trunk@2831 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 23:58:27 +00:00
Paul S. Owen
6e6c85b9b7 Bad redirect on login from form
git-svn-id: file:///svn/phpbb/trunk@2830 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 21:22:51 +00:00
Paul S. Owen
6c3bc8ceab Ooops, this may help I guess ...
git-svn-id: file:///svn/phpbb/trunk@2829 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 17:13:17 +00:00
Paul S. Owen
f8ea2a46a8 Auth plug-in, say thanks to Sergey Kanareykin
git-svn-id: file:///svn/phpbb/trunk@2828 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 16:56:14 +00:00
Paul S. Owen
685c8b0669 Guess ...
git-svn-id: file:///svn/phpbb/trunk@2827 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 15:40:25 +00:00
Paul S. Owen
67182dac72 Changed things ... in various ways ... I think
git-svn-id: file:///svn/phpbb/trunk@2826 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 15:32:25 +00:00
Paul S. Owen
6812929e37 This bug courteousy of "The Idiot Song" (c) P. Owen : All Rights Reserved
git-svn-id: file:///svn/phpbb/trunk@2825 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 15:21:20 +00:00
Paul S. Owen
fc1aed076e Various updates
git-svn-id: file:///svn/phpbb/trunk@2824 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 13:55:05 +00:00
Paul S. Owen
88c64f4505 Wrong footer .. what a shock
git-svn-id: file:///svn/phpbb/trunk@2823 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-06 00:50:06 +00:00
Paul S. Owen
5750fb8353 bye bye computer
git-svn-id: file:///svn/phpbb/trunk@2822 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-05 15:01:48 +00:00
Paul S. Owen
3f8d62a645 The next thing to go wrong causes this computer to go flying ...
git-svn-id: file:///svn/phpbb/trunk@2821 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-05 15:00:33 +00:00
Paul S. Owen
ac288081ba message_die admin header/footer update
git-svn-id: file:///svn/phpbb/trunk@2820 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-05 14:59:47 +00:00
Paul S. Owen
3754702825 what tintyint? I see no tintyint ....
git-svn-id: file:///svn/phpbb/trunk@2819 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-05 00:48:32 +00:00
Paul S. Owen
09b7d6b2b9 Updates, removed included header/footer (merged into functions within pagestart)
git-svn-id: file:///svn/phpbb/trunk@2817 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-04 13:58:52 +00:00
Paul S. Owen
ca71651767 Various updates
git-svn-id: file:///svn/phpbb/trunk@2816 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-03 23:52:33 +00:00
Paul S. Owen
66295f4bda Couple of X/HTML 4.01 Transitional validation errors
git-svn-id: file:///svn/phpbb/trunk@2814 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 19:19:54 +00:00
Paul S. Owen
dd74309709 Log category ... naughty Paul, stop putting off working on permissions ... smack handy
git-svn-id: file:///svn/phpbb/trunk@2813 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 17:21:31 +00:00
Paul S. Owen
0c27202137 log function name change
git-svn-id: file:///svn/phpbb/trunk@2812 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 16:45:45 +00:00
Paul S. Owen
97798bb0b2 Add moderator log viewing
git-svn-id: file:///svn/phpbb/trunk@2811 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 16:39:59 +00:00
Paul S. Owen
74d60e4c1a Pagination updates ... new function for on_page
git-svn-id: file:///svn/phpbb/trunk@2810 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 16:39:02 +00:00
Paul S. Owen
7d1f1b4596 Sort fixes
git-svn-id: file:///svn/phpbb/trunk@2809 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-02 12:50:24 +00:00
Paul S. Owen
7eae8a7c1a & => &amp;
git-svn-id: file:///svn/phpbb/trunk@2808 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 22:05:49 +00:00
Paul S. Owen
06d5d0bbe2 Updates to admin_styles, initial theme edit implementation
git-svn-id: file:///svn/phpbb/trunk@2807 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 22:05:07 +00:00
Paul S. Owen
43fc9da25e Full of debug print outs but hum ho
git-svn-id: file:///svn/phpbb/trunk@2806 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 16:41:04 +00:00
Paul S. Owen
b1c816b114 Full of debug printouts but hum ho
git-svn-id: file:///svn/phpbb/trunk@2805 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 16:40:42 +00:00
Paul S. Owen
b5a9c86e7e Damn missing SID
git-svn-id: file:///svn/phpbb/trunk@2804 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 16:15:36 +00:00
Paul S. Owen
f4eb27763b phpBB Logo goes to forum index
git-svn-id: file:///svn/phpbb/trunk@2803 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 16:14:18 +00:00
Paul S. Owen
0cea5122b9 Log string re-arrangements
git-svn-id: file:///svn/phpbb/trunk@2802 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 15:38:09 +00:00
Paul S. Owen
0873f243ca Often helps to send the required variables to the page that actually makes use of them ...
git-svn-id: file:///svn/phpbb/trunk@2801 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 14:39:50 +00:00
Paul S. Owen
3aceae9272 Non-slashed serialised data for admin logs... oops
git-svn-id: file:///svn/phpbb/trunk@2800 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 14:08:18 +00:00
Paul S. Owen
aab6df3ce4 Log actions
git-svn-id: file:///svn/phpbb/trunk@2799 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 14:04:41 +00:00
Paul S. Owen
3de8299362 User prune admin initials ... doesn't coimplete task at present ... till we handle deletion of posts there is not point
git-svn-id: file:///svn/phpbb/trunk@2798 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-08-01 13:49:22 +00:00
Paul S. Owen
cea28bc26c Some implementation of hard coded HTML
git-svn-id: file:///svn/phpbb/trunk@2795 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-30 01:05:09 +00:00
Paul S. Owen
56eea32ffd Append _cat to category names
git-svn-id: file:///svn/phpbb/trunk@2794 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-30 01:04:52 +00:00
Paul S. Owen
55c1db0449 Nope, still doesn't actually do anything ... just further layout et al updates
git-svn-id: file:///svn/phpbb/trunk@2793 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-30 01:04:12 +00:00
Paul S. Owen
5e704d622c More permission strings ...
git-svn-id: file:///svn/phpbb/trunk@2792 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-30 01:03:35 +00:00
Paul S. Owen
8ff2db064e Permission updates ... again it's mainly layout rather than actual capability ...
git-svn-id: file:///svn/phpbb/trunk@2791 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 23:28:01 +00:00
Paul S. Owen
0e3d8d07b5 Permission stuff again
git-svn-id: file:///svn/phpbb/trunk@2790 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 23:27:41 +00:00
Paul S. Owen
cf60a775f4 Prelim administrators management layout ...
git-svn-id: file:///svn/phpbb/trunk@2789 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 18:08:58 +00:00
Paul S. Owen
33a9c6df9f Need to look-see @ group output
git-svn-id: file:///svn/phpbb/trunk@2788 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 17:50:54 +00:00
Paul S. Owen
06e1e97778 Missed options for global email disable and min/max chars for search indexing ...
git-svn-id: file:///svn/phpbb/trunk@2786 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 11:23:45 +00:00
Paul S. Owen
03f9b1f98b Well, Doug asked for it so ... now I really am going to bed.
git-svn-id: file:///svn/phpbb/trunk@2784 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 02:01:16 +00:00
Paul S. Owen
eff7c5e37d Fix few schema errors
git-svn-id: file:///svn/phpbb/trunk@2783 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 00:31:57 +00:00
Paul S. Owen
962f439057 Add sid to redirects
git-svn-id: file:///svn/phpbb/trunk@2782 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 00:22:31 +00:00
Paul S. Owen
d700814a7d Fix login for moz et al
git-svn-id: file:///svn/phpbb/trunk@2781 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 00:20:02 +00:00
Paul S. Owen
95358ec77c oops, wrong var name
git-svn-id: file:///svn/phpbb/trunk@2780 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-29 00:00:16 +00:00
Paul S. Owen
862fb87e51 Missed settings and some reorg ...
git-svn-id: file:///svn/phpbb/trunk@2779 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 23:56:26 +00:00
Paul S. Owen
4fce84ef0a Log actions
git-svn-id: file:///svn/phpbb/trunk@2778 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 19:50:43 +00:00
Paul S. Owen
1cf0a19dd1 Missing setting of checked for disabled user reg
git-svn-id: file:///svn/phpbb/trunk@2777 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 19:41:48 +00:00
Paul S. Owen
655a057e90 extra constant
git-svn-id: file:///svn/phpbb/trunk@2776 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 19:41:21 +00:00
Paul S. Owen
b61163b76b Tidy code a little
git-svn-id: file:///svn/phpbb/trunk@2775 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 17:31:11 +00:00
Paul S. Owen
eabb8b1e5b Another bites the dust ... (c) Queen
git-svn-id: file:///svn/phpbb/trunk@2774 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 16:57:54 +00:00
Paul S. Owen
187017ec65 Updates for admin_board changes
git-svn-id: file:///svn/phpbb/trunk@2773 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 16:57:05 +00:00
Paul S. Owen
bcdd07232c Split up single page into several ... still not happy with certain splits or the "Default" page ...
git-svn-id: file:///svn/phpbb/trunk@2772 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 16:56:36 +00:00
Paul S. Owen
cdcd5a1e4d Add ban_reason
git-svn-id: file:///svn/phpbb/trunk@2771 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 15:18:02 +00:00
Paul S. Owen
b578774351 Add checkboxes
git-svn-id: file:///svn/phpbb/trunk@2770 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-28 00:29:18 +00:00
Paul S. Owen
36319544af Check field type before inserting username
git-svn-id: file:///svn/phpbb/trunk@2769 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 21:12:15 +00:00
Paul S. Owen
5c6cbb56fc More user search fixes ...
git-svn-id: file:///svn/phpbb/trunk@2768 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 20:39:13 +00:00
Paul S. Owen
0361c40cb4 Wrong cell name for unbanning
git-svn-id: file:///svn/phpbb/trunk@2767 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 17:22:20 +00:00
Paul S. Owen
11477591bf href to javascript
git-svn-id: file:///svn/phpbb/trunk@2766 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 17:16:35 +00:00
Paul S. Owen
1b67df0761 damn damn damn
git-svn-id: file:///svn/phpbb/trunk@2765 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:56:54 +00:00
Paul S. Owen
c2e9857c5d Look out your window ... just to the left of the Big Dipper you'll see a small dot moving at high speed ... this is my computer ...
git-svn-id: file:///svn/phpbb/trunk@2764 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:49:18 +00:00
Paul S. Owen
9407a604fa bah
git-svn-id: file:///svn/phpbb/trunk@2763 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:47:37 +00:00
Paul S. Owen
ab3480b2e1 Wrong var ... naughty Paul ... smacked wrists
git-svn-id: file:///svn/phpbb/trunk@2762 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:46:02 +00:00
Paul S. Owen
a2cd2c4de3 oops
git-svn-id: file:///svn/phpbb/trunk@2761 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:43:51 +00:00
Paul S. Owen
789675c740 Updated user search system ... this _really_ needs to be integrated with memberslist or something ... but it'll do here for now
git-svn-id: file:///svn/phpbb/trunk@2760 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 16:37:31 +00:00
Paul S. Owen
dd700e5064 minor changes
git-svn-id: file:///svn/phpbb/trunk@2759 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:16:55 +00:00
Paul S. Owen
b598c4d7c9 rank related changes
git-svn-id: file:///svn/phpbb/trunk@2758 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:16:46 +00:00
Paul S. Owen
81ef17705d bye bye
git-svn-id: file:///svn/phpbb/trunk@2757 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:07:55 +00:00
Paul S. Owen
dd1cd9d330 Oh where has my template gone?
git-svn-id: file:///svn/phpbb/trunk@2756 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:07:22 +00:00
Paul S. Owen
008a2e1687 itsy bitsy change
git-svn-id: file:///svn/phpbb/trunk@2755 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:06:47 +00:00
Paul S. Owen
46466285a5 We commit thy ASCII to the trash bin, HDD to HDD, Processor to Processor, RAM to RAM
git-svn-id: file:///svn/phpbb/trunk@2754 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:02:09 +00:00
Paul S. Owen
30b396291c And as if by magic ... poof ... ranks admin started to work again
git-svn-id: file:///svn/phpbb/trunk@2753 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-27 00:00:44 +00:00
Paul S. Owen
541294a876 Log initial data
git-svn-id: file:///svn/phpbb/trunk@2752 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 22:13:44 +00:00
Paul S. Owen
6c42fe4150 Idiot, idiot, idiot ... stand in the corner
git-svn-id: file:///svn/phpbb/trunk@2751 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 18:10:14 +00:00
Paul S. Owen
82ca177d23 oops
git-svn-id: file:///svn/phpbb/trunk@2750 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 17:59:08 +00:00
Paul S. Owen
2a708774fa Minor updates
git-svn-id: file:///svn/phpbb/trunk@2749 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 17:45:43 +00:00
Paul S. Owen
99a97bab08 Reduce repeated code
git-svn-id: file:///svn/phpbb/trunk@2748 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 17:45:28 +00:00
Paul S. Owen
f91520a5ac Excessive break-line-age
git-svn-id: file:///svn/phpbb/trunk@2747 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 17:25:53 +00:00
Paul S. Owen
dbf4ea97af Doh ... a deer a ... yes, well, uhm
git-svn-id: file:///svn/phpbb/trunk@2746 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 17:20:55 +00:00
Paul S. Owen
46bfc70d6d Various updates, banning, etc.
git-svn-id: file:///svn/phpbb/trunk@2745 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 16:31:50 +00:00
Paul S. Owen
30bb2a8397 Infamy! Infamy! They've all got it in-fa-my
git-svn-id: file:///svn/phpbb/trunk@2744 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 14:57:30 +00:00
Paul S. Owen
58f3dea5cc Timed ban check
git-svn-id: file:///svn/phpbb/trunk@2743 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-26 12:14:41 +00:00
Paul S. Owen
9b35e2b168 Throw in a load check for the hell of it ...
git-svn-id: file:///svn/phpbb/trunk@2742 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 15:50:57 +00:00
Paul S. Owen
42f2152a9f Various changes + Ashe's security fix
git-svn-id: file:///svn/phpbb/trunk@2741 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 15:18:00 +00:00
Paul S. Owen
d4483e3375 No! No! Please ... don't go ... what will I do without you? Oh dear God ... no ...
git-svn-id: file:///svn/phpbb/trunk@2740 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 14:29:31 +00:00
Paul S. Owen
c31a629275 updated
git-svn-id: file:///svn/phpbb/trunk@2739 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 14:27:42 +00:00
Paul S. Owen
4d0b2c9167 Updated
git-svn-id: file:///svn/phpbb/trunk@2738 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 14:26:52 +00:00
Paul S. Owen
38f9c9acfe more oops
git-svn-id: file:///svn/phpbb/trunk@2737 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 12:56:03 +00:00
Paul S. Owen
398c78e5ab oops, oops and done
git-svn-id: file:///svn/phpbb/trunk@2736 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 12:55:20 +00:00
Paul S. Owen
04e53a1f7c Various updates + search indexing prelim stuff ... hosts will hate this version!
git-svn-id: file:///svn/phpbb/trunk@2735 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-25 12:47:38 +00:00
Paul S. Owen
70968cb025 More re-arrangements
git-svn-id: file:///svn/phpbb/trunk@2714 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 20:57:31 +00:00
Paul S. Owen
4e72e76ea1 Removed 'imageset' buttons ...
git-svn-id: file:///svn/phpbb/trunk@2713 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 15:27:58 +00:00
Paul S. Owen
79db867c43 Removed 'imageset' buttons
git-svn-id: file:///svn/phpbb/trunk@2712 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 15:27:11 +00:00
Paul S. Owen
70de922f8d oops
git-svn-id: file:///svn/phpbb/trunk@2711 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 15:02:33 +00:00
Paul S. Owen
5569c9f135 Various changes to quick mod tools
git-svn-id: file:///svn/phpbb/trunk@2710 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 14:58:32 +00:00
Paul S. Owen
e2b46f15fe Extra lang strings
git-svn-id: file:///svn/phpbb/trunk@2709 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 14:56:18 +00:00
Paul S. Owen
467fc013d1 Various changes
git-svn-id: file:///svn/phpbb/trunk@2708 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 14:56:12 +00:00
Paul S. Owen
f685c49fa2 Updates to message output for admin (primarily)
git-svn-id: file:///svn/phpbb/trunk@2707 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 14:13:27 +00:00
Paul S. Owen
889cc525e4 Various updates
git-svn-id: file:///svn/phpbb/trunk@2706 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-17 14:13:16 +00:00
Paul S. Owen
22431f6be4 wrong icons
git-svn-id: file:///svn/phpbb/trunk@2705 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 21:39:00 +00:00
Paul S. Owen
3e931c9696 Minor changes
git-svn-id: file:///svn/phpbb/trunk@2704 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 20:39:05 +00:00
Paul S. Owen
72a5470ff6 Registered shouldn't moderate forum ....
git-svn-id: file:///svn/phpbb/trunk@2703 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 18:45:09 +00:00
Paul S. Owen
d1cdba3891 How come this worked fine locally ... bloody amazing ...
git-svn-id: file:///svn/phpbb/trunk@2702 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 18:22:33 +00:00
Paul S. Owen
7c00475d72 oops
git-svn-id: file:///svn/phpbb/trunk@2701 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 18:18:36 +00:00
Paul S. Owen
b8fa4851bb Remove topic_vote
git-svn-id: file:///svn/phpbb/trunk@2700 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 17:31:28 +00:00
Paul S. Owen
bab8906f13 Add acl, remove user_level ... this needs fixing to ensure user can admin if board is disabled
git-svn-id: file:///svn/phpbb/trunk@2699 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 17:31:19 +00:00
Paul S. Owen
183718f25f This will do a clean install ... it will fail if config isn't writeable or any other error occurs ...
git-svn-id: file:///svn/phpbb/trunk@2698 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 17:30:36 +00:00
Paul S. Owen
7b1c9135e8 Renamed
git-svn-id: file:///svn/phpbb/trunk@2697 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 15:12:44 +00:00
Paul S. Owen
1cb0ab7927 Start integrating install.tpl
git-svn-id: file:///svn/phpbb/trunk@2696 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 14:45:00 +00:00
Paul S. Owen
fcef615972 Alter SQL for decoding IPs as suggested by Josh (area51 post)
git-svn-id: file:///svn/phpbb/trunk@2695 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 13:00:11 +00:00
Paul S. Owen
87c864b6e0 Move to centralised install/
git-svn-id: file:///svn/phpbb/trunk@2694 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:53:56 +00:00
Paul S. Owen
edf30a3c54 Move to 'centralised' location in install/
git-svn-id: file:///svn/phpbb/trunk@2693 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:52:36 +00:00
Paul S. Owen
d1698fdeb5 Centralise install/upgrade/schemas ... make for easier removal and less cluter ... I think ... install needs to have it's template hard coded
git-svn-id: file:///svn/phpbb/trunk@2692 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:51:51 +00:00
Paul S. Owen
8238a7cfb8 Changed names
git-svn-id: file:///svn/phpbb/trunk@2691 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:47:30 +00:00
Paul S. Owen
60723f5c6b remove user_level, add colour
git-svn-id: file:///svn/phpbb/trunk@2690 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:45:17 +00:00
Paul S. Owen
1edd9f840f oops
git-svn-id: file:///svn/phpbb/trunk@2689 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:45:05 +00:00
Paul S. Owen
e11768c2c7 Remove user_level
git-svn-id: file:///svn/phpbb/trunk@2688 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:42:26 +00:00
Paul S. Owen
47f7d07e2c renamed
git-svn-id: file:///svn/phpbb/trunk@2687 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:31:21 +00:00
Paul S. Owen
3a453527cb Minor changes
git-svn-id: file:///svn/phpbb/trunk@2686 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 12:28:12 +00:00
Paul S. Owen
14927f5445 bye bye
git-svn-id: file:///svn/phpbb/trunk@2685 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-16 11:43:06 +00:00
Paul S. Owen
a0bb541974 oops
git-svn-id: file:///svn/phpbb/trunk@2684 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 20:24:12 +00:00
Paul S. Owen
1ccb73e898 Various extra lines
git-svn-id: file:///svn/phpbb/trunk@2679 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 15:03:23 +00:00
Paul S. Owen
865cdfdbda More images ... remember my 'nicked' comment previously ... applies here too ...
git-svn-id: file:///svn/phpbb/trunk@2678 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:56:54 +00:00
Paul S. Owen
4d4dbfaf89 Name changes, removal of .cfg
git-svn-id: file:///svn/phpbb/trunk@2677 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:54:36 +00:00
Paul S. Owen
427a71155e Name change to .html from .tpl as per requests (to ease local editing ... for those who can't search for .tpl ... ;) ), various updates to account for conditionals in templating engine, etc.
git-svn-id: file:///svn/phpbb/trunk@2676 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:53:45 +00:00
Paul S. Owen
fad21bcb01 Hard-coded HTML into admin modules ... no point in continuing to template this stuff since no one (or few) rarely bother to make use of the feature. Lots of changes for permissions, sessions, etc. some new styling stuff present (inc. editing templates though not complete), lots of bugs and non-functioning stuff ... any 'existing' modules will cause the right hand panel to fail ... remove them. If I catch anyone nicking graphics from here I'll kill 'em ...
git-svn-id: file:///svn/phpbb/trunk@2675 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:51:03 +00:00
Paul S. Owen
71707ca5db To allow for 'easy switch' imagesets (i.e. .cfg's move into the DB as requested) 'non-style' specific images (buttons, etc.) are now stored separately to the template
git-svn-id: file:///svn/phpbb/trunk@2674 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:47:57 +00:00
Paul S. Owen
4bc4397f4a Updates for permissions, sessions, lots of things ... note that _many_ things _do_not_work_ now ... I'm commiting them to stop people complaining about my holding on to everything :) There is _no_ update script at present for all these changes, you'll have to work out what's needed yourselves till I finish various things
git-svn-id: file:///svn/phpbb/trunk@2673 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:45:26 +00:00
Paul S. Owen
d03de47b51 Gone but not forgotten ... what's not forgotten? who said that? shut up Paul
git-svn-id: file:///svn/phpbb/trunk@2672 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:43:31 +00:00
Paul S. Owen
c4a926b4e2 Same as last commits, updates for various changes
git-svn-id: file:///svn/phpbb/trunk@2671 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:41:55 +00:00
Paul S. Owen
53a03e33bc Updates for altered permission/sessions/etc.
git-svn-id: file:///svn/phpbb/trunk@2670 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:41:35 +00:00
Paul S. Owen
044f82dbd7 Various updates and alterations
git-svn-id: file:///svn/phpbb/trunk@2669 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:41:12 +00:00
Paul S. Owen
f212a877c4 Latest schema
git-svn-id: file:///svn/phpbb/trunk@2668 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:40:17 +00:00
Paul S. Owen
5e671994ff Various updates which will break yet more things
git-svn-id: file:///svn/phpbb/trunk@2667 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:39:01 +00:00
Paul S. Owen
89d28bb48b Combine posting and searching functions ... not entirely convinced about this since searching is done without need of posting routines but hum ho for now
git-svn-id: file:///svn/phpbb/trunk@2666 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:37:47 +00:00
Paul S. Owen
1811b914f0 Combine, update, remove various functions ... by committing this various 'things' will stop working, I did warn you not to use 2.1.x ... :)
git-svn-id: file:///svn/phpbb/trunk@2665 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:35:12 +00:00
Paul S. Owen
0b285c07f6 Combine various admin related functions
git-svn-id: file:///svn/phpbb/trunk@2664 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:34:34 +00:00
Paul S. Owen
72db8c4a5e Combine emailer and smtp
git-svn-id: file:///svn/phpbb/trunk@2663 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:34:16 +00:00
Paul S. Owen
a0ee4ce6ae This should work fine with existing templates ... note that you will need to create a directory called cache/ in your templates directory ... give it a+w access (chmod 700)
git-svn-id: file:///svn/phpbb/trunk@2662 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:33:30 +00:00
Paul S. Owen
05b6c0348e Renamed again
git-svn-id: file:///svn/phpbb/trunk@2661 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-14 14:32:45 +00:00
Paul S. Owen
44b8633eb4 Few minor changes
git-svn-id: file:///svn/phpbb/trunk@2656 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-07 14:10:18 +00:00
Paul S. Owen
61a947b132 Slightly condensed ... for admin/ only
git-svn-id: file:///svn/phpbb/trunk@2655 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-07 00:07:13 +00:00
Paul S. Owen
2beb39c812 Have log ... will view
git-svn-id: file:///svn/phpbb/trunk@2654 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-06 20:37:09 +00:00
Paul S. Owen
20da9bb86d Time to a commit ... been a while
git-svn-id: file:///svn/phpbb/trunk@2653 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-06 13:18:20 +00:00
Paul S. Owen
419bb07697 Initial commit ... neither do anything, just wanted to add something :D
git-svn-id: file:///svn/phpbb/trunk@2652 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-07-05 23:52:14 +00:00
Paul S. Owen
501ec60c0c See previous check-in
git-svn-id: file:///svn/phpbb/trunk@2651 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-29 01:58:54 +00:00
Paul S. Owen
af4f292d28 Combine SMTP and Emailer sources into one
git-svn-id: file:///svn/phpbb/trunk@2650 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-29 01:47:26 +00:00
dougk_ff7
46b8fc7cfe Ok, a schema fix... Not a terrible problem....
git-svn-id: file:///svn/phpbb/trunk@2646 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-27 19:55:26 +00:00
Paul S. Owen
3a233ee6bb oops, that's what you get for not testing more thoroughly ...
git-svn-id: file:///svn/phpbb/trunk@2644 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-22 15:17:26 +00:00
Paul S. Owen
c3be8488ed Removed image sets for time being, chances are some things will change
git-svn-id: file:///svn/phpbb/trunk@2643 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-22 15:17:13 +00:00
Paul S. Owen
5cff35d0f7 Template caching ( file based )
git-svn-id: file:///svn/phpbb/trunk@2642 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-22 11:48:10 +00:00
Paul S. Owen
e733a0eca1 Few more changes
git-svn-id: file:///svn/phpbb/trunk@2641 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-21 22:40:29 +00:00
Paul S. Owen
674cf1c3d6 A few suggested or preliminary changes ... these aren't fixed and again I suggest no one install (or even manually update) this version at present.
git-svn-id: file:///svn/phpbb/trunk@2640 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-21 20:12:08 +00:00
the_systech
6a3ec2b0b3 Fix for supposed "security" hole....
git-svn-id: file:///svn/phpbb/trunk@2636 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-17 21:18:37 +00:00
Paul S. Owen
84b6f6e925 Various updates ... still preliminary, particularly auth
git-svn-id: file:///svn/phpbb/trunk@2631 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-11 02:27:26 +00:00
Paul S. Owen
c0495aace4 Updates in line with 2.0.1
git-svn-id: file:///svn/phpbb/trunk@2630 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-10 01:52:48 +00:00
Paul S. Owen
e9bec6c557 Fixes in line with 2.0.1
git-svn-id: file:///svn/phpbb/trunk@2629 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-10 01:49:57 +00:00
Paul S. Owen
b2d06c7309 Various additions to come in line with 2.0.1
git-svn-id: file:///svn/phpbb/trunk@2628 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-10 01:49:48 +00:00
Paul S. Owen
5d0b7f5f9f Possible updates and additions ...
git-svn-id: file:///svn/phpbb/trunk@2627 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-09 00:04:44 +00:00
Paul S. Owen
e739e793eb Spot the deliberate errors
git-svn-id: file:///svn/phpbb/trunk@2626 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 23:55:00 +00:00
Paul S. Owen
3212f1ec0e Non-English languages aren't being maintained inline with development at present, layout is likely to change so they go bye bye for now ... less trouble for time being I hope ...
git-svn-id: file:///svn/phpbb/trunk@2625 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 22:03:40 +00:00
Paul S. Owen
61e31c383c NOTE! This is a work in progress and is subject to considerable change ... and the update script is not likely to cope with it ... I heavily recommend no one install a fresh copy of 2.1 at this time.
git-svn-id: file:///svn/phpbb/trunk@2624 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 20:31:56 +00:00
Paul S. Owen
d8fa35e790 Initial session and auth code checkin
git-svn-id: file:///svn/phpbb/trunk@2623 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 19:50:18 +00:00
Paul S. Owen
da00e4a5ee What is this still doing here?!?! :D
git-svn-id: file:///svn/phpbb/trunk@2622 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 16:54:44 +00:00
Paul S. Owen
397e8ef31b Some transfers from 2.0.x plus move debugging to template var which will please some people
git-svn-id: file:///svn/phpbb/trunk@2621 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-06-08 16:45:41 +00:00
Paul S. Owen
d75291c5d2 Add fields for forum/topic post count incrementing and topic moderation
git-svn-id: file:///svn/phpbb/trunk@2612 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-21 14:25:52 +00:00
Paul S. Owen
9f0f335812 Fix ban_ip ALTER error
git-svn-id: file:///svn/phpbb/trunk@2592 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-17 21:52:35 +00:00
Paul S. Owen
6bf767ae77 Fix bad URL for topic notifications
git-svn-id: file:///svn/phpbb/trunk@2581 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-14 17:27:20 +00:00
Paul S. Owen
24d2101805 doh
git-svn-id: file:///svn/phpbb/trunk@2562 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-09 14:23:24 +00:00
Paul S. Owen
46bd19817c Alter ban_ip's when examining subnets ... this whole thing needs a review for IPv6
git-svn-id: file:///svn/phpbb/trunk@2561 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-09 14:13:45 +00:00
Paul S. Owen
f6c6628509 IP related updates
git-svn-id: file:///svn/phpbb/trunk@2560 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-09 14:08:41 +00:00
Paul S. Owen
ab8d9f1978 IP related updates NOTE this is just MySQL! Do not run this if you are using other DB's or the necessary IP changes will not be implemented in future
git-svn-id: file:///svn/phpbb/trunk@2559 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-09 14:08:36 +00:00
Paul S. Owen
8043f50781 IP related updates + fixed gc in sessions
git-svn-id: file:///svn/phpbb/trunk@2558 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-09 14:07:33 +00:00
Paul S. Owen
2d7bfa5c61 IP size to 40 chars
git-svn-id: file:///svn/phpbb/trunk@2557 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-05-08 23:34:36 +00:00
James Atkinson
52c0d86c95 Changed code so it stores total users in config table to remove a slightly costly query
git-svn-id: file:///svn/phpbb/trunk@2549 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-30 17:56:50 +00:00
the_systech
559dff21b7 Fix for "security vulnerability" in img tag
git-svn-id: file:///svn/phpbb/trunk@2544 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-24 15:00:33 +00:00
Paul S. Owen
1386605952 Oops
git-svn-id: file:///svn/phpbb/trunk@2540 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-21 01:13:44 +00:00
Paul S. Owen
20fc6a2f10 Updated for schema changes
git-svn-id: file:///svn/phpbb/trunk@2539 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 23:45:02 +00:00
Paul S. Owen
310e9af890 And again something screws up causing a "not up to date" check failure ...
git-svn-id: file:///svn/phpbb/trunk@2538 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 23:44:35 +00:00
Paul S. Owen
9649ececed Associated schema changes
git-svn-id: file:///svn/phpbb/trunk@2537 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 23:43:46 +00:00
Paul S. Owen
fa3d0694a8 Forum watch stuff ... just copied the topic watch stuff and thus needs reviewing inline with everything else ... but something needed to be added to 2.1 :)
git-svn-id: file:///svn/phpbb/trunk@2536 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 22:56:09 +00:00
Paul S. Owen
35c0d33ee7 Forum watch stuff
git-svn-id: file:///svn/phpbb/trunk@2535 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 22:55:11 +00:00
Paul S. Owen
0616125f9b Initial version
git-svn-id: file:///svn/phpbb/trunk@2534 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 21:01:06 +00:00
Paul S. Owen
36c0a04de9 Ooops
git-svn-id: file:///svn/phpbb/trunk@2533 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 00:36:33 +00:00
Paul S. Owen
5b0bba72b1 merged from 2.0.0 branch (marked merge_point_20020420) + assorted updates and trial stuff for example session alterations
git-svn-id: file:///svn/phpbb/trunk@2532 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-20 00:22:29 +00:00
Paul S. Owen
65aa921828 Update a few things for 2.1 CVS
git-svn-id: file:///svn/phpbb/trunk@2489 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-04 21:51:32 +00:00
Paul S. Owen
f5b2f6067a Switch to shiny new 2.1 update_script
git-svn-id: file:///svn/phpbb/trunk@2488 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-04 21:49:25 +00:00
Paul S. Owen
214f16f791 Update a few things for 2.1 CVS
git-svn-id: file:///svn/phpbb/trunk@2487 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-04 21:44:36 +00:00
Paul S. Owen
a676b8fdf8 Switch off DEBUG mode ... will have to ask users to enable this in some cases during bug reporting but this will prevent piles of SQL being output in a few unecessary places
git-svn-id: file:///svn/phpbb/trunk@2482 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-04 11:53:50 +00:00
Paul S. Owen
6200b07830 Remove timing and other details for final release ...can always be put back for those that want it
git-svn-id: file:///svn/phpbb/trunk@2481 89ea8834-ac86-4346-8a33-228a782c2dd0
2002-04-04 11:53:13 +00:00
620 changed files with 87414 additions and 55548 deletions

9
phpBB/.htaccess Normal file
View File

@@ -0,0 +1,9 @@
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

File diff suppressed because it is too large Load Diff

308
phpBB/adm/admin_ban.php Normal file
View File

@@ -0,0 +1,308 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_ban'))
{
return;
}
$filename = basename(__FILE__);
$module['USER']['BAN_USERS'] = $filename . "$SID&amp;mode=user";
$module['USER']['BAN_EMAILS'] = $filename . "$SID&amp;mode=email";
$module['USER']['BAN_IPS'] = $filename . "$SID&amp;mode=ip";
return;
}
define('IN_PHPBB', 1);
// Load default header
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
// Do we have ban permissions?
if (!$auth->acl_get('a_ban'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Mode setting
$mode = request_var('mode', '');
$bansubmit = (isset($_POST['bansubmit'])) ? true : false;
$unbansubmit= (isset($_POST['unbansubmit'])) ? true : false;
// Set some vars
$current_time = time();
// Start program
if ($bansubmit)
{
// Grab the list of entries
$ban = request_var('ban', '');
$ban_len = request_var('banlength', 0);
$ban_len_other = request_var('banlengthother', '');
$ban_exclude = request_var('banexclude', 0);
$ban_reason = request_var('banreason', '');
user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reason);
trigger_error($user->lang['BAN_UPDATE_SUCESSFUL']);
}
else if ($unbansubmit)
{
$ban = request_var('unban', '');
user_unban($mode, $ban);
trigger_error($user->lang['BAN_UPDATE_SUCESSFUL']);
}
//
// Output relevant entry page
//
//
// Ban length options
//
$ban_end_text = array(0 => $user->lang['PERMANENT'], 30 => $user->lang['30_MINS'], 60 => $user->lang['1_HOUR'], 360 => $user->lang['6_HOURS'], 1440 => $user->lang['1_DAY'], 10080 => $user->lang['7_DAYS'], 20160 => $user->lang['2_WEEKS'], 40320 => $user->lang['1_MONTH'], -1 => $user->lang['OTHER'] . ' -&gt; ');
$ban_end_options = '';
foreach ($ban_end_text as $length => $text)
{
$ban_end_options .= '<option value="' . $length . '">' . $text . '</option>';
}
// Title
switch ($mode)
{
case 'user':
$l_title = $user->lang['BAN_USERS'];
break;
case 'email':
$l_title = $user->lang['BAN_EMAILS'];
break;
case 'ip':
$l_title = $user->lang['BAN_IPS'];
break;
}
// Output page
adm_page_header($l_title);
?>
<p><?php echo $user->lang['BAN_EXPLAIN']; ?></p>
<?php
switch ($mode)
{
case 'user':
$field = 'username';
$l_ban_title = $user->lang['BAN_USERS'];
$l_ban_explain = $user->lang['BAN_USERNAME_EXPLAIN'];
$l_ban_exclude_explain = $user->lang['BAN_USER_EXCLUDE_EXPLAIN'];
$l_unban_title = $user->lang['UNBAN_USERNAME'];
$l_unban_explain = $user->lang['UNBAN_USERNAME_EXPLAIN'];
$l_ban_cell = $user->lang['USERNAME'] . ': <br /><span class="gensmall">[ <a href="' . "../memberlist.$phpEx$SID&amp;mode=searchuser&amp;form=banning&amp;field=ban\" onclick=\"window.open('../memberlist.$phpEx$SID&amp;mode=searchuser&amp;form=banning&amp;field=ban', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=740');return false;\">" . $user->lang['FIND_USERNAME'] .'</a> ]</span>';
$l_no_ban_cell = $user->lang['NO_BANNED_USERS'];
$sql = 'SELECT b.*, u.user_id, u.username
FROM ' . BANLIST_TABLE . ' b, ' . USERS_TABLE . ' u
WHERE (b.ban_end >= ' . time() . '
OR b.ban_end = 0)
AND u.user_id = b.ban_userid
AND b.ban_userid <> 0
AND u.user_id <> ' . ANONYMOUS . '
ORDER BY u.user_id ASC';
break;
case 'ip':
$field = 'ban_ip';
$l_ban_title = $user->lang['BAN_IPS'];
$l_ban_explain = $user->lang['BAN_IP_EXPLAIN'];
$l_ban_exclude_explain = $user->lang['BAN_IP_EXCLUDE_EXPLAIN'];
$l_unban_title = $user->lang['UNBAN_IP'];
$l_unban_explain = $user->lang['UNBAN_IP_EXPLAIN'];
$l_ban_cell = $user->lang['IP_HOSTNAME'] . ':';
$l_no_ban_cell = $user->lang['NO_BANNED_IP'];
$sql = 'SELECT *
FROM ' . BANLIST_TABLE . '
WHERE (ban_end >= ' . time() . "
OR ban_end = 0)
AND ban_ip <> ''";
break;
case 'email':
$field = 'ban_email';
$l_ban_title = $user->lang['BAN_EMAILS'];
$l_ban_explain = $user->lang['BAN_EMAIL_EXPLAIN'];
$l_ban_exclude_explain = $user->lang['BAN_EMAIL_EXCLUDE_EXPLAIN'];
$l_unban_title = $user->lang['UNBAN_EMAIL'];
$l_unban_explain = $user->lang['UNBAN_EMAIL_EXPLAIN'];
$l_ban_cell = $user->lang['EMAIL_ADDRESS'] . ':';
$l_no_ban_cell = $user->lang['NO_BANNED_EMAIL'];
$sql = 'SELECT *
FROM ' . BANLIST_TABLE . '
WHERE (ban_end >= ' . time() . "
OR ban_end = 0)
AND ban_email <> ''";
break;
}
$result = $db->sql_query($sql);
$banned_options = '';
$ban_length = $ban_reasons = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$banned_options .= '<option' . (($row['ban_exclude']) ? ' class="sep"' : '') . ' value="' . $row['ban_id'] . '">' . $row[$field] . '</option>';
$time_length = (!empty($row['ban_end'])) ? ($row['ban_end'] - $row['ban_start']) / 60 : 0;
$ban_length[$row['ban_id']] = (!empty($ban_end_text[$time_length])) ? $ban_end_text[$time_length] : $user->lang['OTHER'] . ' -> ' . gmdate('Y-m-d', $row['ban_end']);
$ban_reasons[$row['ban_id']] = addslashes($row['ban_reason']);
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
?>
<h1><?php echo $l_ban_title; ?></h1>
<p><?php echo $l_ban_explain; ?></p>
<script language="Javascript" type="text/javascript">
<!--
var ban_length = new Array();
<?php
if (sizeof($ban_length))
{
foreach ($ban_length as $ban_id => $length)
{
echo "ban_length['$ban_id'] = \"$length\";\n";
}
}
?>
var ban_reason = new Array();
<?php
if (sizeof($ban_reasons))
{
foreach ($ban_reasons as $ban_id => $reason)
{
echo "ban_reason['$ban_id'] = \"$reason\";\n";
}
}
?>
function display_details(option)
{
document.forms[0].unbanreason.value = ban_reason[option];
document.forms[0].unbanlength.value = ban_length[option];
}
//-->
</script>
<form name="banning" method="post" action="<?php echo "admin_ban.$phpEx$SID&amp;mode=$mode"; ?>"><table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $l_ban_title; ?></th>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $l_ban_cell; ?></td>
<td class="row2"><textarea cols="40" rows="3" name="ban"></textarea></td>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $user->lang['BAN_LENGTH']; ?>:</td>
<td class="row2"><select name="banlength"><?php echo $ban_end_options; ?></select>&nbsp; <input class="post" type="text" name="banlengthother" maxlength="10" size="10" /></td>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $user->lang['BAN_EXCLUDE']; ?>: <br /><span class="gensmall"><?php echo $l_ban_exclude_explain;;?></span></td>
<td class="row2"><input type="radio" name="banexclude" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="banexclude" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $user->lang['BAN_REASON']; ?>:</td>
<td class="row2"><input class="post" type="text" name="banreason" maxlength="255" size="40" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"> <input type="submit" name="bansubmit" value="<?php echo $user->lang['SUBMIT']; ?>" class="btnmain" />&nbsp; <input type="reset" value="<?php echo $user->lang['RESET']; ?>" class="btnlite" />&nbsp;</td>
</tr>
</table>
<h1><?php echo $l_unban_title; ?></h1>
<p><?php echo $l_unban_explain; ?></p>
<table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $l_unban_title; ?></th>
</tr>
<?php
if ($banned_options)
{
?>
<tr>
<td class="row1" width="45%"><?php echo $l_ban_cell; ?>: <br /></td>
<td class="row2"> <select name="unban[]" multiple="multiple" size="5" onchange="display_details(this.options[this.selectedIndex].value)"><?php echo $banned_options; ?></select></td>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $user->lang['BAN_REASON']; ?>:</td>
<td class="row2"><input class="row1" style="border:0px" type="text" name="unbanreason" size="40" /></td>
</tr>
<tr>
<td class="row1" width="45%"><?php echo $user->lang['BAN_LENGTH']; ?>:</td>
<td class="row2"><input class="row1" style="border:0px" type="text" name="unbanlength" size="40" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" name="unbansubmit" value="<?php echo $user->lang['SUBMIT']; ?>" class="btnmain" />&nbsp; <input type="reset" value="<?php echo $user->lang['RESET']; ?>" class="btnlite" /></td>
</tr>
<?php
}
else
{
?>
<tr>
<td class="row2" colspan="2" align="center"><?php echo $l_no_ban_cell; ?></td>
</tr>
<?php
}
?>
</table></form>
<?php
adm_page_footer();
?>

440
phpBB/adm/admin_bbcodes.php Normal file
View File

@@ -0,0 +1,440 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_bbcode'))
{
return;
}
$module['POST']['BBCODES'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have general permissions?
if (!$auth->acl_get('a_bbcode'))
{
trigger_error('NO_ADMIN');
}
// Set up general vars
$mode = request_var('mode', '');
$bbcode_id = request_var('bbcode', 0);
// Set up mode-specific vars
switch ($mode)
{
case 'add':
$bbcode_match = $bbcode_tpl = '';
break;
case 'edit':
$sql = 'SELECT bbcode_match, bbcode_tpl
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
$result = $db->sql_query($sql);
if (!$row = $db->sql_fetchrow($result))
{
trigger_error('BBCODE_NOT_EXIST');
}
$db->sql_freeresult($result);
$bbcode_match = $row['bbcode_match'];
$bbcode_tpl = htmlspecialchars($row['bbcode_tpl']);
break;
case 'modify':
$sql = 'SELECT bbcode_id
FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $bbcode_id;
$result = $db->sql_query($sql);
if (!$row = $db->sql_fetchrow($result))
{
trigger_error('BBCODE_NOT_EXIST');
}
$db->sql_freeresult($result);
// No break here
case 'create':
$bbcode_match = htmlspecialchars(stripslashes($_POST['bbcode_match']));
$bbcode_tpl = stripslashes($_POST['bbcode_tpl']);
break;
}
// Do major work
switch ($mode)
{
case 'edit':
case 'add':
adm_page_header($user->lang['BBCODES']);
?>
<h1><?php echo $user->lang['BBCODES'] ?></h1>
<p><?php echo $user->lang['BBCODES_EXPLAIN'] ?></p>
<form method="post" action="admin_bbcodes.<?php echo $phpEx . $SID . '&amp;mode=' . (($mode == 'add') ? 'create' : 'modify') . (($bbcode_id) ? "&amp;bbcode=$bbcode_id" : '') ?>">
<table cellspacing="1" cellpadding="0" border="0" align="center" width="90%">
<tr>
<td><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['BBCODE_USAGE'] ?></th>
</tr>
<tr>
<td class="row3" colspan="2"><?php echo $user->lang['BBCODE_USAGE_EXPLAIN'] ?></td>
</tr>
<tr valign="top">
<td class="row1" width="40%"><b><?php echo $user->lang['EXAMPLES'] ?></b><br /><br /><?php echo $user->lang['BBCODE_USAGE_EXAMPLE'] ?></td>
<td class="row2"><textarea name="bbcode_match" cols="60" rows="5"><?php echo $bbcode_match ?></textarea></td>
</tr>
</table></td>
</tr>
</table>
<br clear="all" />
<table cellspacing="1" cellpadding="0" border="0" align="center" width="90%">
<tr>
<td><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['HTML_REPLACEMENT'] ?></th>
</tr>
<tr>
<td class="row3" colspan="2"><?php echo $user->lang['HTML_REPLACEMENT_EXPLAIN'] ?></td>
</tr>
<tr valign="top">
<td class="row1" width="40%"><b><?php echo $user->lang['EXAMPLES'] ?></b><br /><br /><?php echo $user->lang['HTML_REPLACEMENT_EXAMPLE'] ?></td>
<td class="row2"><textarea name="bbcode_tpl" cols="60" rows="8"><?php echo $bbcode_tpl ?></textarea></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" value="<?php echo $user->lang['SUBMIT'] ?>" class="btnmain" /></td>
</tr>
</table></td>
</tr>
</table>
<br clear="all" />
<table cellspacing="1" cellpadding="0" border="0" align="center" width="90%">
<tr>
<td><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['TOKENS'] ?></th>
</tr>
<tr>
<td class="row3" colspan="2"><?php echo $user->lang['TOKENS_EXPLAIN'] ?></td>
</tr>
<tr>
<th><?php echo $user->lang['TOKEN'] ?></th>
<th><?php echo $user->lang['TOKEN_DEFINITION'] ?></th>
</tr>
<?php
foreach ($user->lang['tokens'] as $token => $token_explain)
{
?><tr valign="top">
<td class="row1">{<?php echo $token ?>}</td>
<td class="row2"><?php echo $token_explain ?></td>
</tr><?php
}
?>
</table></td>
</tr>
</table>
</form>
<?php
adm_page_footer();
break;
case 'modify':
case 'create':
adm_page_header($user->lang['BBCODES']);
$data = build_regexp($bbcode_match, $bbcode_tpl);
$sql_ary = array(
'bbcode_tag' => $data['bbcode_tag'],
'bbcode_match' => $bbcode_match,
'bbcode_tpl' => $bbcode_tpl,
'first_pass_match' => $data['first_pass_match'],
'first_pass_replace' => $data['first_pass_replace'],
'second_pass_match' => $data['second_pass_match'],
'second_pass_replace' => $data['second_pass_replace']
);
if ($mode == 'create')
{
/* TODO: look for SQL incompatibilities
// NOTE: I'm sure there was another simpler (and obvious) way of finding a suitable bbcode_id
$sql = 'SELECT b1.bbcode_id
FROM ' . BBCODES_TABLE . ' b1, ' . BBCODES_TABLE . ' b2
WHERE b2.bbcode_id > b1.bbcode_id
GROUP BY b1.bbcode_id
HAVING MIN(b2.bbcode_id) > b1.bbcode_id + 1
ORDER BY b1.bbcode_id ASC';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
*/
$sql = 'SELECT MAX(bbcode_id) as bbcode_id
FROM ' . BBCODES_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
$bbcode_id = $row['bbcode_id'] + 1;
}
else
{
$sql = 'SELECT MIN(bbcode_id) AS min_id, MAX(bbcode_id) AS max_id
FROM ' . BBCODES_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (empty($row['min_id']) || $row['min_id'] >= NUM_CORE_BBCODES)
{
$bbcode_id = NUM_CORE_BBCODES + 1;
}
else
{
$bbcode_id = $row['max_id'] + 1;
}
}
if ($bbcode_id > 31)
{
trigger_error('TOO_MANY_BBCODES');
}
$sql_ary['bbcode_id'] = (int) $bbcode_id;
$db->sql_query('INSERT INTO ' . BBCODES_TABLE . $db->sql_build_array('INSERT', $sql_ary));
$lang = 'BBCODE_ADDED';
$log_action = 'LOG_BBCODE_ADD';
}
else
{
$db->sql_query('UPDATE ' . BBCODES_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE bbcode_id = ' . $bbcode_id);
$lang = 'BBCODE_EDITED';
$log_action = 'LOG_BBCODE_EDIT';
}
add_log('admin', $log_action, $data['bbcode_tag']);
trigger_error($lang);
break;
case 'delete':
$sql = 'SELECT bbcode_tag
FROM ' . BBCODES_TABLE . "
WHERE bbcode_id = $bbcode_id";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$db->sql_query('DELETE FROM ' . BBCODES_TABLE . " WHERE bbcode_id = $bbcode_id");
add_log('admin', 'LOG_BBCODE_DELETE', $row['bbcode_tag']);
}
$db->sql_freeresult($result);
// No break here
default:
adm_page_header($user->lang['BBCODES']);
?>
<h1><?php echo $user->lang['BBCODES'] ?></h1>
<p><?php echo $user->lang['BBCODES_EXPLAIN'] ?></p>
<form method="post" action="admin_bbcodes.<?php echo $phpEx . $SID ?>&amp;mode=add"><table cellspacing="1" cellpadding="0" border="0" align="center">
<tr>
<td><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $user->lang['BBCODE_TAG'] ?></th>
<th><?php echo $user->lang['ACTION'] ?></th>
</tr><?php
$sql = 'SELECT *
FROM ' . BBCODES_TABLE . '
ORDER BY bbcode_id';
$result = $db->sql_query($sql);
$row_class = '';
while ($row = $db->sql_fetchrow($result))
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class ?>" align="center"><?php echo $row['bbcode_tag'] ?></td>
<td class="<?php echo $row_class ?>" align="center"><a href="admin_bbcodes.<?php echo $phpEx . $SID ?>&amp;mode=edit&amp;bbcode=<?php echo $row['bbcode_id'] ?>"><?php echo $user->lang['EDIT'] ?></a> | <a href="admin_bbcodes.<?php echo $phpEx . $SID ?>&amp;mode=delete&amp;bbcode=<?php echo $row['bbcode_id'] ?>"><?php echo $user->lang['DELETE'] ?></a></td>
</tr>
<?php
}
$db->sql_freeresult($result);
?>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" value="<?php echo $user->lang['ADD_BBCODE'] ?>" class="btnmain" /></td>
</tr>
</table></td>
</tr>
</table></form>
<?php
adm_page_footer();
}
// -----------------------------
// Functions
function build_regexp($msg_bbcode, $msg_html)
{
$msg_bbcode = trim($msg_bbcode);
$msg_html = trim($msg_html);
$fp_match = preg_quote($msg_bbcode, '!');
$fp_replace = preg_replace('#^\[(.*?)\]#', '[$1:$uid]', $msg_bbcode);
$fp_replace = preg_replace('#\[/(.*?)\]$#', '[/$1:$uid]', $fp_replace);
$sp_match = preg_quote($msg_bbcode, '!');
$sp_match = preg_replace('#^\\\\\[(.*?)\\\\\]#', '\[$1:$uid\]', $sp_match);
$sp_match = preg_replace('#\\\\\[/(.*?)\\\\\]$#', '\[/$1:$uid\]', $sp_match);
$sp_replace = $msg_html;
$tokens = array(
'URL' => array(
'!([a-z0-9]+://)?([^?].*?[^ \t\n\r<"]*)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')"
),
'LOCAL_URL' => array(
'!([^:]+/[^ \t\n\r<"]*)!' => '$1'
),
'EMAIL' => array(
'!([a-z0-9]+[a-z0-9\-\._]*@(?:(?:[0-9]{1,3}\.){3,5}[0-9]{1,3}|[a-z0-9]+[a-z0-9\-\._]*\.[a-z]+))!i' => '$1'
),
'TEXT' => array(
'!(.*?)!es' => "str_replace('\\\"', '&quot;', str_replace('\\'', '&#39;', '\$1'))"
),
'COLOR' => array(
'!([a-z]+|#[0-9abcdef]+!i' => '$1'
),
'NUMBER' => array(
'!([0-9]+)!' => '$1'
)
);
if (preg_match_all('/\{(' . implode('|', array_keys($tokens)) . ')[0-9]*\}/i', $msg_bbcode, $m))
{
$pad = 0;
$modifiers = 'i';
foreach ($m[0] as $n => $token)
{
$token_type = $m[1][$n];
reset($tokens[$token_type]);
list($match, $replace) = each($tokens[$token_type]);
// Pad backreference numbers from tokens
if (preg_match_all('/(?<!\\\\)\$([0-9]+)/', $replace, $repad))
{
$repad = $pad + count(array_unique($repad[0]));
$replace = preg_replace('/(?<!\\\\)\$([0-9]+)/e', "'\$' . (\$1 + \$pad)", $replace);
$pad = $repad;
}
// Obtain pattern modifiers to use and alter the regex accordingly
$regex = preg_replace('/!(.*)!([a-z]*)/', '$1', $match);
$regex_modifiers = preg_replace('/!(.*)!([a-z]*)/', '$2', $match);
for ($i = 0; $i < strlen($regex_modifiers); ++$i)
{
if (strpos($modifiers, $regex_modifiers[$i]) === FALSE)
{
$modifiers .= $regex_modifiers[$i];
if ($regex_modifiers[$i] == 'e')
{
$fp_replace = "'" . str_replace("'", "\\'", $fp_replace) . "'";
}
}
if ($regex_modifiers[$i] == 'e')
{
$replace = "'.$replace.'";
}
}
$fp_match = str_replace(preg_quote($token, '!'), $regex, $fp_match);
$fp_replace = str_replace($token, $replace, $fp_replace);
$sp_match = str_replace(preg_quote($token, '!'), '(.*?)', $sp_match);
$sp_replace = str_replace($token, '$' . ($n + 1), $sp_replace);
}
$fp_match = '!' . $fp_match . '!' . $modifiers;
$sp_match = '!' . $sp_match . '!s';
if (strpos($fp_match, 'e') !== FALSE)
{
$fp_replace = str_replace("'.'", '', $fp_replace);
$fp_replace = str_replace(".''.", '.', $fp_replace);
}
}
else
{
// No replacement is present, no need for a second-pass pattern replacement
// A simple str_replace will suffice
$fp_match = '!' . $fp_match . '!' . $modifiers;
$sp_match = $fp_replace;
$sp_replace = '';
}
// Lowercase tags
$bbcode_tag = preg_replace('/.*?\[([a-z]+).*/i', '$1', $msg_bbcode);
$fp_match = preg_replace('#\[/?' . $bbcode_tag . '#ie', "strtolower('\$0')", $fp_match);
$fp_replace = preg_replace('#\[/?' . $bbcode_tag . '#ie', "strtolower('\$0')", $fp_replace);
$sp_match = preg_replace('#\[/?' . $bbcode_tag . '#ie', "strtolower('\$0')", $sp_match);
$sp_replace = preg_replace('#\[/?' . $bbcode_tag . '#ie', "strtolower('\$0')", $sp_replace);
return array(
'bbcode_tag' => $bbcode_tag,
'first_pass_match' => $fp_match,
'first_pass_replace' => $fp_replace,
'second_pass_match' => $sp_match,
'second_pass_replace' => $sp_replace
);
}
// End Functions
// -----------------------------
?>

517
phpBB/adm/admin_board.php Normal file
View File

@@ -0,0 +1,517 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
$filename = basename(__FILE__);
$module['GENERAL']['AUTH_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=auth" : '';
$module['GENERAL']['AVATAR_SETTINGS'] = ($auth->acl_get('a_board')) ? "$filename$SID&amp;mode=avatar" : '';
$module['GENERAL']['BOARD_DEFAULTS'] = ($auth->acl_get('a_defaults')) ? "$filename$SID&amp;mode=default" : '';
$module['GENERAL']['BOARD_SETTINGS'] = ($auth->acl_get('a_board')) ? "$filename$SID&amp;mode=setting" : '';
$module['GENERAL']['COOKIE_SETTINGS'] = ($auth->acl_get('a_cookies')) ? "$filename$SID&amp;mode=cookie" : '';
$module['GENERAL']['EMAIL_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=email" : '';
$module['GENERAL']['LOAD_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=load" : '';
$module['GENERAL']['SERVER_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=server" : '';
$module['GENERAL']['MESSAGE_SETTINGS'] = ($auth->acl_get('a_defaults')) ? "$filename$SID&amp;mode=message" : '';
return;
}
define('IN_PHPBB', 1);
// Load default header
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Get mode
$mode = request_var('mode', '');
$action = request_var('action', '');
$submit = (isset($_POST['submit'])) ? true : false;
// Set config vars
$display_vars = array(
'cookie' => array(
'auth' => 'a_cookies',
'title' => 'COOKIE_SETTINGS',
'vars' => array(
'cookie_domain' => array('lang' => 'COOKIE_DOMAIN', 'type' => 'text::255', 'explain' => false),
'cookie_name' => array('lang' => 'COOKIE_NAME', 'type' => 'text::16', 'explain' => false),
'cookie_path' => array('lang' => 'COOKIE_PATH', 'type' => 'text::255', 'explain' => false),
'cookie_secure' => array('lang' => 'COOKIE_SECURE', 'type' => 'radio:disabled_enabled', 'explain' => true)
)
),
'avatar' => array(
'auth' => 'a_board',
'title' => 'AVATAR_SETTINGS',
'vars' => array(
'avatar_min_height' => false, 'avatar_min_width' => false, 'avatar_max_height' => false, 'avatar_max_width' => false,
'allow_avatar_local' => array('lang' => 'ALLOW_LOCAL', 'type' => 'radio:yes_no', 'explain' => false),
'allow_avatar_remote' => array('lang' => 'ALLOW_REMOTE', 'type' => 'radio:yes_no', 'explain' => true),
'allow_avatar_upload' => array('lang' => 'ALLOW_UPLOAD', 'type' => 'radio:yes_no', 'explain' => false),
'avatar_filesize' => array('lang' => 'MAX_FILESIZE', 'type' => 'text:4:10', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
'avatar_min' => array('lang' => 'MIN_AVATAR_SIZE', 'type' => 'dimension:3:4', 'explain' => true),
'avatar_max' => array('lang' => 'MAX_AVATAR_SIZE', 'type' => 'dimension:3:4', 'explain' => true),
'avatar_path' => array('lang' => 'AVATAR_STORAGE_PATH', 'type' => 'text:20:255', 'explain' => true),
'avatar_gallery_path' => array('lang' => 'AVATAR_GALLERY_PATH', 'type' => 'text:20:255', 'explain' => true)
)
),
'email' => array(
'auth' => 'a_server',
'title' => 'EMAIL_SETTINGS',
'vars' => array(
'email_enable' => array('lang' => 'ENABLE_EMAIL', 'type' => 'radio:enabled_disabled', 'explain' => true),
'board_email_form' => array('lang' => 'BOARD_EMAIL_FORM', 'type' => 'radio:enabled_disabled', 'explain' => true),
'board_hide_emails' => array('lang' => 'BOARD_HIDE_EMAILS', 'type' => 'radio:enabled_disabled', 'explain' => true),
'email_function_name' => array('lang' => 'EMAIL_FUNCTION_NAME', 'type' => 'text:20:50', 'explain' => true),
'email_package_size' => array('lang' => 'EMAIL_PACKAGE_SIZE', 'type' => 'text:5:5', 'explain' => true),
'board_contact' => array('lang' => 'CONTACT_EMAIL', 'type' => 'text:25:100', 'explain' => true),
'board_email' => array('lang' => 'ADMIN_EMAIL', 'type' => 'text:25:100', 'explain' => true),
'board_email_sig' => array('lang' => 'EMAIL_SIG', 'type' => 'textarea:5:30', 'explain' => true),
'smtp_delivery' => array('lang' => 'USE_SMTP', 'type' => 'radio:yes_no', 'explain' => true),
'smtp_host' => array('lang' => 'SMTP_SERVER', 'type' => 'text:25:50', 'explain' => false),
'smtp_port' => array('lang' => 'SMTP_PORT', 'type' => 'text:4:5', 'explain' => true),
'smtp_auth_method' => array('lang' => 'SMTP_AUTH_METHOD', 'type' => 'select', 'options' => 'mail_auth_select(\'{VALUE}\')', 'explain' => true),
'smtp_username' => array('lang' => 'SMTP_USERNAME', 'type' => 'text:25:255', 'explain' => true),
'smtp_password' => array('lang' => 'SMTP_PASSWORD', 'type' => 'password:25:255', 'explain' => true)
)
),
'load' => array(
'auth' => 'a_server',
'title' => 'SERVER_SETTINGS',
'vars' => array(
'limit_load' => array('lang' => 'LIMIT_LOAD', 'type' => 'text:4:4', 'explain' => true),
'session_length' => array('lang' => 'SESSION_LENGTH', 'type' => 'text:5:5', 'explain' => true),
'active_sessions' => array('lang' => 'LIMIT_SESSIONS', 'type' => 'text:4:4', 'explain' => true),
'load_db_track' => array('lang' => 'YES_POST_MARKING', 'type' => 'radio:yes_no', 'explain' => true),
'load_db_lastread' => array('lang' => 'YES_READ_MARKING', 'type' => 'radio:yes_no', 'explain' => true),
'load_online' => array('lang' => 'YES_ONLINE', 'type' => 'radio:yes_no', 'explain' => true),
'load_online_guests'=> array('lang' => 'YES_ONLINE_GUESTS', 'type' => 'radio:yes_no', 'explain' => true),
'load_onlinetrack' => array('lang' => 'YES_ONLINE_TRACK', 'type' => 'radio:yes_no', 'explain' => true),
'load_online_time' => array('lang' => 'ONLINE_LENGTH', 'type' => 'text:4:3', 'explain' => true),
'load_birthdays' => array('lang' => 'YES_BIRTHDAYS', 'type' => 'radio:yes_no', 'explain' => false),
'load_moderators' => array('lang' => 'YES_MODERATORS', 'type' => 'radio:yes_no', 'explain' => false),
'load_jumpbox' => array('lang' => 'YES_JUMPBOX', 'type' => 'radio:yes_no', 'explain' => false),
'load_search' => array('lang' => 'YES_SEARCH', 'type' => 'radio:yes_no', 'explain' => true),
'search_interval' => array('lang' => 'SEARCH_INTERVAL', 'type' => 'text:3:4', 'explain' => true),
'min_search_chars' => array('lang' => 'MIN_SEARCH_CHARS', 'type' => 'text:3:3', 'explain' => true),
'max_search_chars' => array('lang' => 'MAX_SEARCH_CHARS', 'type' => 'text:3:3', 'explain' => true),
'load_search_upd' => array('lang' => 'YES_SEARCH_UPDATE', 'type' => 'radio:yes_no', 'explain' => true),
// 'load_search_phr' => array('lang' => 'YES_SEARCH_PHRASE', 'type' => 'radio:yes_no', 'explain' => true),
'load_tplcompile' => array('lang' => 'RECOMPILE_TEMPLATES', 'type' => 'radio:yes_no', 'explain' => true)
)
),
'default' => array(
'auth' => 'a_defaults',
'title' => 'BOARD_DEFAULTS',
'vars' => array(
'default_style' => array('lang' => 'DEFAULT_STYLE', 'type' => 'select', 'options' => 'style_select(\'{VALUE}\', true)', 'explain' => false),
'override_user_style' => array('lang' => 'OVERRIDE_STYLE', 'type' => 'radio:yes_no', 'explain' => true),
'default_lang' => array('lang' => 'DEFAULT_LANGUAGE', 'type' => 'select', 'options' => 'language_select(\'{VALUE}\')', 'explain' => false),
'default_dateformat' => array('lang' => 'DEFAULT_DATE_FORMAT', 'type' => 'text::255', 'explain' => true),
'board_timezone' => array('lang' => 'SYSTEM_TIMEZONE', 'type' => 'select', 'options' => 'tz_select(\'{VALUE}\')', 'explain' => false),
'board_dst' => array('lang' => 'SYSTEM_DST', 'type' => 'radio:yes_no', 'explain' => false),
'allow_privmsg' => array('lang' => 'BOARD_PM', 'type' => 'radio:yes_no', 'explain' => true),
'allow_topic_notify' => array('lang' => 'ALLOW_TOPIC_NOTIFY', 'type' => 'radio:yes_no', 'explain' => false),
'allow_forum_notify' => array('lang' => 'ALLOW_FORUM_NOTIFY', 'type' => 'radio:yes_no', 'explain' => false),
'allow_namechange' => array('lang' => 'ALLOW_NAME_CHANGE', 'type' => 'radio:yes_no', 'explain' => false),
'allow_attachments' => array('lang' => 'ALLOW_ATTACHMENTS', 'type' => 'radio:yes_no', 'explain' => false),
'allow_html' => array('lang' => 'ALLOW_HTML', 'type' => 'radio:yes_no', 'explain' => false),
'allow_html_tags' => array('lang' => 'ALLOWED_TAGS', 'type' => 'text:30:255', 'explain' => true),
'allow_bbcode' => array('lang' => 'ALLOW_BBCODE', 'type' => 'radio:yes_no', 'explain' => false),
'allow_smilies' => array('lang' => 'ALLOW_SMILIES', 'type' => 'radio:yes_no', 'explain' => false),
'allow_sig' => array('lang' => 'ALLOW_SIG', 'type' => 'radio:yes_no', 'explain' => false),
'max_sig_chars' => array('lang' => 'MAX_SIG_LENGTH', 'type' => 'text:5:4', 'explain' => true),
'allow_nocensors' => array('lang' => 'ALLOW_NO_CENSORS', 'type' => 'radio:yes_no', 'explain' => true),
'allow_bookmarks' => array('lang' => 'ALLOW_BOOKMARKS', 'type' => 'radio:yes_no', 'explain' => true)
)
),
'message' => array(
'auth' => 'a_defaults',
'title' => 'MESSAGE_SETTINGS',
'lang' => 'ucp',
'vars' => array(
'pm_max_boxes' => array('lang' => 'BOXES_MAX', 'type' => 'text:4:4', 'explain' => true),
'pm_max_msgs' => array('lang' => 'BOXES_LIMIT', 'type' => 'text:4:4', 'explain' => true),
'full_folder_action' => array('lang' => 'FULL_FOLDER_ACTION', 'type' => 'select', 'options' => 'full_folder_select(\'{VALUE}\')', 'explain' => true),
'pm_edit_time' => array('lang' => 'PM_EDIT_TIME', 'type' => 'text:3:3', 'explain' => true),
'allow_mass_pm' => array('lang' => 'ALLOW_MASS_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_html_pm' => array('lang' => 'ALLOW_HTML_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_bbcode_pm' => array('lang' => 'ALLOW_BBCODE_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_smilies_pm' => array('lang' => 'ALLOW_SMILIES_PM', 'type' => 'radio:yes_no', 'explain' => false),
'allow_pm_attach' => array('lang' => 'ALLOW_PM_ATTACHMENTS', 'type' => 'radio:yes_no', 'explain' => false),
'auth_download_pm' => array('lang' => 'ALLOW_DOWNLOAD_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_report_pm' => array('lang' => 'ALLOW_REPORT_PM', 'type' => 'radio:yes_no', 'explain' => false),
'print_pm' => array('lang' => 'ALLOW_PRINT_PM', 'type' => 'radio:yes_no', 'explain' => false),
'email_pm' => array('lang' => 'ALLOW_EMAIL_PM', 'type' => 'radio:yes_no', 'explain' => false),
'forward_pm' => array('lang' => 'ALLOW_FORWARD_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_img_pm' => array('lang' => 'ALLOW_IMG_PM', 'type' => 'radio:yes_no', 'explain' => false),
'auth_flash_pm' => array('lang' => 'ALLOW_FLASH_PM', 'type' => 'radio:yes_no', 'explain' => false),
'enable_pm_icons' => array('lang' => 'ENABLE_PM_ICONS', 'type' => 'radio:yes_no', 'explain' => false)
)
),
'server' => array(
'auth' => 'a_server',
'title' => 'SERVER_SETTINGS',
'vars' => array(
'server_name' => array('lang' => 'SERVER_NAME', 'type' => 'text:40:255', 'explain' => true),
'server_port' => array('lang' => 'SERVER_PORT', 'type' => 'text:5:5', 'explain' => true),
'script_path' => array('lang' => 'SCRIPT_PATH', 'type' => 'text::255', 'explain' => true),
'ip_check' => array('lang' => 'IP_VALID', 'type' => 'custom', 'options' => 'select_ip_check(\'{VALUE}\')', 'explain' => true),
'browser_check' => array('lang' => 'BROWSER_VALID', 'type' => 'radio:yes_no', 'explain' => true),
'gzip_compress' => array('lang' => 'ENABLE_GZIP', 'type' => 'radio:yes_no', 'explain' => false),
'smilies_path' => array('lang' => 'SMILIES_PATH', 'type' => 'text:20:255', 'explain' => true),
'icons_path' => array('lang' => 'ICONS_PATH', 'type' => 'text:20:255', 'explain' => true),
'upload_icons_path' => array('lang' => 'UPLOAD_ICONS_PATH', 'type' => 'text:20:255', 'explain' => true),
'ranks_path' => array('lang' => 'RANKS_PATH', 'type' => 'text:20:255', 'explain' => true)
)
),
'setting' => array(
'auth' => 'a_board',
'title' => 'BOARD_SETTINGS',
'vars' => array(
'board_disable_msg' => false, 'max_name_chars' => false, 'max_pass_chars' => false, 'bump_type' => false,
'sitename' => array('lang' => 'SITE_NAME', 'type' => 'text:40:255', 'explain' => false),
'site_desc' => array('lang' => 'SITE_DESC', 'type' => 'text:40:255', 'explain' => false),
'board_disable' => array('lang' => 'DISABLE_BOARD', 'type' => 'custom', 'options' => 'board_disable(\'{VALUE}\')', 'explain' => true),
'require_activation'=> array('lang' => 'ACC_ACTIVATION', 'type' => 'custom', 'options' => 'select_acc_activation(\'{VALUE}\')', 'explain' => true),
'allow_autologin' => array('lang' => 'ALLOW_AUTOLOGIN', 'type' => 'radio:yes_no', 'explain' => true),
'max_autologin_time'=> array('lang' => 'AUTOLOGIN_LENGTH', 'type' => 'text:3:3', 'explain' => true),
'coppa_enable' => array('lang' => 'ENABLE_COPPA', 'type' => 'radio:yes_no', 'explain' => true),
'coppa_fax' => array('lang' => 'COPPA_FAX', 'type' => 'text:25:100', 'explain' => false),
'coppa_mail' => array('lang' => 'COPPA_MAIL', 'type' => 'textarea:5:40', 'explain' => true),
'enable_confirm' => array('lang' => 'VISUAL_CONFIRM', 'type' => 'radio:yes_no', 'explain' => true),
'max_reg_attempts' => array('lang' => 'REG_LIMIT', 'type' => 'text:4:4', 'explain' => true),
'min_name_chars' => array('lang' => 'USERNAME_LENGTH', 'type' => 'custom', 'options' => 'username_length(\'{VALUE}\')', 'explain' => true),
'allow_name_chars' => array('lang' => 'USERNAME_CHARS', 'type' => 'select', 'options' => 'select_username_chars(\'{VALUE}\')', 'explain' => true),
'min_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'type' => 'custom', 'options' => 'password_length(\'{VALUE}\')', 'explain' => true),
'pass_complex' => array('lang' => 'PASSWORD_TYPE', 'type' => 'select', 'options' => 'select_password_chars(\'{VALUE}\')', 'explain' => true),
'chg_passforce' => array('lang' => 'FORCE_PASS_CHANGE', 'type' => 'text:3:3', 'explain' => true),
'save_passwd' => array('lang' => 'SAVE_PASSWORDS', 'type' => 'text:2:2', 'explain' => true),
'max_login_attempts'=> array('lang' => 'LOGIN_LIMIT', 'type' => 'text:4:4', 'explain' => true),
'allow_emailreuse' => array('lang' => 'ALLOW_EMAIL_REUSE', 'type' => 'radio:yes_no', 'explain' => true),
'edit_time' => array('lang' => 'EDIT_TIME', 'type' => 'text:3:3', 'explain' => true),
'display_last_edited' => array('lang' => 'DISPLAY_LAST_EDITED', 'type' => 'radio:yes_no', 'explain' => true),
'flood_interval' => array('lang' => 'FLOOD_INTERVAL', 'type' => 'text:3:4', 'explain' => true),
'bump_interval' => array('lang' => 'BUMP_INTERVAL', 'type' => 'custom', 'options' => 'bump_interval(\'{VALUE}\')', 'explain' => true),
'topics_per_page' => array('lang' => 'TOPICS_PER_PAGE', 'type' => 'text:3:4', 'explain' => false),
'posts_per_page' => array('lang' => 'POSTS_PER_PAGE', 'type' => 'text:3:4', 'explain' => false),
'hot_threshold' => array('lang' => 'HOT_THRESHOLD', 'type' => 'text:3:4', 'explain' => false),
'max_poll_options' => array('lang' => 'MAX_POLL_OPTIONS', 'type' => 'text:4:4', 'explain' => false),
'max_post_chars' => array('lang' => 'CHAR_LIMIT', 'type' => 'text:4:6', 'explain' => true),
'max_post_smilies' => array('lang' => 'SMILIES_LIMIT', 'type' => 'text:4:4', 'explain' => true),
'max_quote_depth' => array('lang' => 'QUOTE_DEPTH_LIMIT', 'type' => 'text:4:4', 'explain' => true)
)
),
'auth' => array(
'auth' => 'a_server',
'title' => 'AUTH_SETTINGS',
'vars' => array(
'auth_method' => array('lang' => 'AUTH_METHOD', 'type' => 'select', 'options' => 'select_auth_method(\'{VALUE}\')', 'explain' => false)
)
)
);
if (!in_array($mode, array_keys($display_vars)))
{
return;
}
// Perform the current mode
$display_vars = $display_vars[$mode];
// Check permissions
if (!$auth->acl_get($display_vars['auth']))
{
trigger_error($user->lang['NO_ADMIN']);
}
if (isset($display_vars['lang']))
{
$user->add_lang($display_vars['lang']);
}
$new = $config;
$cfg_array = (isset($_REQUEST['config'])) ? request_var('config', array('' => '')) : $new;
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $config_name => $null)
{
if (!isset($cfg_array[$config_name]))
{
continue;
}
$config_value = $cfg_array[$config_name];
$new[$config_name] = $config_value;
if ($config_name == 'email_function_name')
{
$new['email_function_name'] = (empty($new['email_function_name']) || !function_exists($new['email_function_name'])) ? 'mail' : str_replace(array('(', ')'), array('', ''), trim($new['email_function_name']));
}
if ($submit)
{
set_config($config_name, $config_value);
}
}
if ($submit)
{
add_log('admin', 'LOG_' . strtoupper($mode) . '_CONFIG');
trigger_error($user->lang['CONFIG_UPDATED']);
}
adm_page_header($user->lang[$display_vars['title']]);
?>
<h1><?php echo $user->lang[$display_vars['title']]; ?></h1>
<p><?php echo $user->lang[$display_vars['title'] . '_EXPLAIN']; ?></p>
<form action="<?php echo "admin_board.$phpEx$SID&amp;mode=$mode"; ?>" method="post"><table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang[$display_vars['title']]; ?></th>
</tr>
<?php
// Output relevant page
foreach ($display_vars['vars'] as $config_key => $vars)
{
if (!is_array($vars))
{
continue;
}
$type = explode(':', $vars['type']);
?>
<tr>
<td class="row1" width="50%"><b><?php echo $user->lang[$vars['lang']]; ?>: </b><?php echo ($vars['explain']) ? '<br /><span class="gensmall">' . $user->lang[$vars['lang'] . '_EXPLAIN'] . '</span>' : ''; ?></td>
<td class="row2"><?php echo build_cfg_template($type, $config_key, ((isset($vars['options'])) ? $vars['options'] : '')) . ((isset($vars['append'])) ? str_replace('{VALUE}', $new[$config_key], $vars['append']) : ''); ?></td>
</tr>
<?php
unset($display_vars['vars'][$config_key]);
}
if ($mode == 'auth')
{
$auth_plugins = array();
$dp = opendir($phpbb_root_path . 'includes/auth');
while ($file = readdir($dp))
{
if (preg_match('#^auth_(.*?)\.' . $phpEx . '$#', $file))
{
$auth_plugins[] = preg_replace('#^auth_(.*?)\.' . $phpEx . '$#', '\1', $file);
}
}
sort($auth_plugins);
foreach ($auth_plugins as $method)
{
if ($method && file_exists($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx))
{
include_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);
$method = 'admin_' . $method;
if (function_exists($method))
{
if ($config_fields = $method($new))
{
// Check if we need to create config fields for this plugin
foreach ($config_fields as $field)
{
if (!isset($config[$field]))
{
set_config($field, '');
}
}
}
unset($config_fields);
}
}
}
}
?>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="<?php echo $user->lang['RESET']; ?>" class="btnlite" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
function select_auth_method($selected_method)
{
global $new, $phpbb_root_path, $phpEx;
$auth_plugins = array();
$dp = opendir($phpbb_root_path . 'includes/auth');
while ($file = readdir($dp))
{
if (preg_match('#^auth_(.*?)\.' . $phpEx . '$#', $file))
{
$auth_plugins[] = preg_replace('#^auth_(.*?)\.' . $phpEx . '$#', '\1', $file);
}
}
sort($auth_plugins);
$auth_select = '';
foreach ($auth_plugins as $method)
{
$selected = ($selected_method == $method) ? ' selected="selected"' : '';
$auth_select .= '<option value="' . $method . '"' . $selected . '>' . ucfirst($method) . '</option>';
}
return $auth_select;
}
function mail_auth_select($selected_method)
{
global $user;
$auth_methods = array('PLAIN', 'LOGIN', 'CRAM-MD5', 'DIGEST-MD5', 'POP-BEFORE-SMTP');
$s_smtp_auth_options = '';
foreach ($auth_methods as $method)
{
$s_smtp_auth_options .= '<option value="' . $method . '"' . (($selected_method == $method) ? ' selected="selected"' : '') . '>' . $user->lang['SMTP_' . str_replace('-', '_', $method)] . '</option>';
}
return $s_smtp_auth_options;
}
function full_folder_select($value)
{
global $user;
return '<option value="1"' . (($value == 1) ? ' selected="selected"' : '') . '>' . $user->lang['DELETE_OLDEST_MESSAGES'] . '</option><option value="2"' . (($value == 2) ? ' selected="selected"' : '') . '>' . $user->lang['HOLD_NEW_MESSAGES'] . '</option>';
}
function select_ip_check($value)
{
global $user;
$ip_all = ($value == 4) ? ' checked="checked"' : '';
$ip_classc = ($value == 3) ? ' checked="checked"' : '';
$ip_classb = ($value == 2) ? ' checked="checked"' : '';
$ip_none = ($value == 0) ? ' checked="checked"' : '';
$options = <<<EOT
<input type="radio" name="config[ip_check]" value="4"$ip_all /> {$user->lang['ALL']}&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="3"$ip_classc /> {$user->lang['CLASS_C']}&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="2"$ip_classb /> {$user->lang['CLASS_B']}&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="0"$ip_none /> {$user->lang['NONE']}&nbsp;&nbsp;
EOT;
return $options;
}
function select_acc_activation($value)
{
global $user, $config;
$activation_none = ($value == USER_ACTIVATION_NONE) ? ' checked="checked"' : '';
$activation_user = ($value == USER_ACTIVATION_SELF) ? ' checked="checked"' : '';
$activation_admin = ($value == USER_ACTIVATION_ADMIN) ? ' checked="checked"' : '';
$activation_disable = ($value == USER_ACTIVATION_DISABLE) ? ' checked="checked"' : '';
$options = '<input type="radio" name="config[require_activation]" value="' . USER_ACTIVATION_NONE . '"' . $activation_none . ' /> ' . $user->lang['ACC_NONE'];
if ($config['email_enable'])
{
$options .= '&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="' . USER_ACTIVATION_SELF . '"' . $activation_user . ' /> ' . $user->lang['ACC_USER'];
$options .= '&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="' . USER_ACTIVATION_ADMIN . '"' . $activation_admin . ' /> ' . $user->lang['ACC_ADMIN'];
}
$options .= '&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="' . USER_ACTIVATION_DISABLE . '"' . $activation_disable . ' /> ' . $user->lang['ACC_DISABLE'];
return $options;
}
function username_length($value)
{
global $new, $user;
return '<input class="post" type="text" size="3" maxlength="3" name="config[min_name_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'] . '&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="config[max_name_chars]" value="' . $new['max_name_chars'] . '" /> ' . $user->lang['MAX_CHARS'];
}
function select_username_chars($selected_value)
{
global $user;
$user_char_ary = array('USERNAME_CHARS_ANY' => '.*', 'USERNAME_ALPHA_ONLY' => '[\w]+', 'USERNAME_ALPHA_SPACERS' => '[\w_\+\. \-\[\]]+');
$user_char_options = '';
foreach ($user_char_ary as $lang => $value)
{
$selected = ($selected_value == $value) ? ' selected="selected"' : '';
$user_char_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
}
return $user_char_options;
}
function password_length($value)
{
global $new, $user;
return '<input class="post" type="text" size="3" maxlength="3" name="config[min_pass_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'] . '&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="config[max_pass_chars]" value="' . $new['max_pass_chars'] . '" /> ' . $user->lang['MAX_CHARS'];
}
function select_password_chars($selected_value)
{
global $user;
$pass_type_ary = array('PASS_TYPE_ANY' => '.*', 'PASS_TYPE_CASE' => '[a-zA-Z]', 'PASS_TYPE_ALPHA' => '[a-zA-Z0-9]', 'PASS_TYPE_SYMBOL' => '[a-zA-Z\W]');
$pass_char_options = '';
foreach ($pass_type_ary as $lang => $value)
{
$selected = ($selected_value == $value) ? ' selected="selected"' : '';
$pass_char_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
}
return $pass_char_options;
}
function bump_interval($value)
{
global $new, $user;
$s_bump_type = '';
$types = array('m' => 'MINUTES', 'h' => 'HOURS', 'd' => 'DAYS');
foreach ($types as $type => $lang)
{
$selected = ($new['bump_type'] == $type) ? 'selected="selected" ' : '';
$s_bump_type .= '<option value="' . $type . '" ' . $selected . '>' . $user->lang[$lang] . '</option>';
}
return '<input class="post" type="text" size="3" maxlength="4" name="config[bump_interval]" value="' . $value . '" />&nbsp;<select name="config[bump_type]">' . $s_bump_type . '</select>';
}
function board_disable($value)
{
global $new, $user;
$board_disable_yes = ($value) ? ' checked="checked"' : '';
$board_disable_no = (!$value) ? ' checked="checked"' : '';
return '<input type="radio" name="config[board_disable]" value="1"' . $board_disable_yes . ' /> ' . $user->lang['YES'] . '&nbsp;&nbsp;<input type="radio" name="config[board_disable]" value="0"' . $board_disable_no . ' /> ' . $user->lang['NO'] . '<br /><input class="post" type="text" name="config[board_disable_msg]" maxlength="255" size="40" value="' . $new['board_disable_msg'] . '" />';
}
?>

394
phpBB/adm/admin_bots.php Normal file
View File

@@ -0,0 +1,394 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_server'))
{
return;
}
$module['USER']['BOTS'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have permission?
if (!$auth->acl_get('a_server'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Set various vars
$submit = (isset($_POST['submit'])) ? true : false;
$action = request_var('action', '');
$mark = request_var('mark', 0);
$id = request_var('id', 0);
if (isset($_POST['add']))
{
$action = 'add';
}
$error = array();
// User wants to do something, how inconsiderate of them!
switch ($action)
{
case 'activate':
if ($id || $mark)
{
$id = ($id) ? " = $id" : ' IN (' . implode(', ', $mark) . ')';
$sql = 'UPDATE ' . BOTS_TABLE . "
SET bot_active = 1
WHERE bot_id $id";
$db->sql_query($sql);
}
$cache->destroy('bots');
break;
case 'deactivate':
if ($id || $mark)
{
$id = ($id) ? " = $id" : ' IN (' . implode(', ', $mark) . ')';
$sql = 'UPDATE ' . BOTS_TABLE . "
SET bot_active = 0
WHERE bot_id $id";
$db->sql_query($sql);
}
$cache->destroy('bots');
break;
case 'delete':
if ($id || $mark)
{
// We need to delete the relevant user, usergroup and bot entries ...
$id = ($id) ? " = $id" : ' IN (' . implode(', ', $mark) . ')';
$sql = 'SELECT bot_name, user_id
FROM ' . BOTS_TABLE . "
WHERE bot_id $id";
$result = $db->sql_query($sql);
$user_id_ary = $bot_name_ary = array();
while ($row = $db->sql_fetchrow($result))
{
$user_id_ary[] = (int) $row['user_id'];
$bot_name_ary[] = $row['bot_name'];
}
$db->sql_freeresult($result);
$db->sql_transaction();
$sql = 'DELETE FROM ' . BOTS_TABLE . "
WHERE bot_id $id";
$db->sql_query($sql);
foreach (array(USERS_TABLE, USER_GROUP_TABLE) as $table)
{
$sql = "DELETE FROM $table
WHERE user_id IN (" . implode(', ', $user_id_ary) . ')';
$db->sql_query($sql);
}
$db->sql_transaction('commit');
$cache->destroy('bots');
add_log('admin', 'LOG_BOT_DELETE', implode(', ', $bot_name_ary));
trigger_error($user->lang['BOT_DELETED']);
}
break;
case 'edit':
case 'add':
$bot_name = request_var('bot_name', '');
$bot_agent = request_var('bot_agent', '');
$bot_ip = request_var('bot_ip', '');
$bot_active = request_var('bot_active', true);
$bot_lang = request_var('bot_lang', $config['default_lang']);
$bot_style = request_var('bot_style' , $config['default_style']);
if ($submit)
{
if (!$bot_agent && !$bot_ip)
{
$error[] = $user->lang['ERR_BOT_NO_MATCHES'];
}
if ($bot_ip && !preg_match('#^[\d\.,:]+$#', $bot_ip))
{
if (!$ip_list = gethostbynamel($bot_ip))
{
$error[] = $user->lang['ERR_BOT_NO_IP'];
}
else
{
$bot_ip = implode(',', $ip_list);
}
}
$bot_ip = str_replace(' ', '', $bot_ip);
if (!sizeof($error))
{
$db->sql_transaction();
// New bot? Create a new user and group entry
if ($action == 'add')
{
$sql = 'SELECT group_id, group_colour
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'BOTS'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
if (!extract($db->sql_fetchrow($result)))
{
trigger_error($user->lang['NO_GROUP']);
}
$db->sql_freeresult($result);
$sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'group_id' => (int) $group_id,
'username' => (string) $bot_name,
'user_type' => (int) USER_IGNORE,
'user_colour' => (string) $group_colour,
'user_lang' => (string) $bot_lang,
'user_style' => (int) $bot_style,
'user_options' => 0)
);
$db->sql_query($sql);
$user_id = $db->sql_nextid();
// Add to Bots usergroup
$sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'user_id' => $user_id,
'group_id' => $group_id)
);
$db->sql_query($sql);
$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'user_id' => (int) $user_id,
'bot_name' => (string) $bot_name,
'bot_active' => (int) $bot_active,
'bot_agent' => (string) $bot_agent,
'bot_ip' => (string) $bot_ip,)
);
$log = 'ADDED';
}
else
{
$sql = 'SELECT user_id
FROM ' . BOTS_TABLE . "
WHERE bot_id = $id";
$result = $db->sql_query($sql);
if (!extract($db->sql_fetchrow($result)))
{
trigger_error($user->lang['NO_BOT']);
}
$sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
'user_style' => (int) $bot_style,
'user_lang' => (string) $bot_lang,)
) . " WHERE user_id = $user_id";
$db->sql_query($sql);
$sql = 'UPDATE ' . BOTS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
'bot_name' => (string) $bot_name,
'bot_active' => (int) $bot_active,
'bot_agent' => (string) $bot_agent,
'bot_ip' => (string) $bot_ip,)
) . " WHERE bot_id = $id";
$log = 'UPDATED';
}
$db->sql_query($sql);
$db->sql_transaction('commit');
$cache->destroy('bots');
add_log('admin', 'LOG_BOT_' . $log, $bot_name);
trigger_error($user->lang['BOT_' . $log]);
}
}
else if ($id)
{
$sql = 'SELECT b.*, u.user_lang, u.user_style
FROM ' . BOTS_TABLE . ' b, ' . USERS_TABLE . " u
WHERE b.bot_id = $id
AND u.user_id = b.user_id";
$result = $db->sql_query($sql);
if (!extract($db->sql_fetchrow($result)))
{
trigger_error($user->lang['NO_BOT']);
}
$db->sql_freeresult($result);
$bot_lang = $user_lang;
$bot_style = $user_style;
}
$s_active_options = '';
foreach (array('0' => 'NO', '1' => 'YES') as $value => $lang)
{
$selected = ($bot_active == $value) ? ' selected="selected"' : '';
$s_active_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
}
$style_select = style_select($bot_style, true);
$lang_select = language_select($bot_lang);
$l_title = ($action == 'edit') ? 'EDIT' : 'ADD';
// Output relevant page
adm_page_header($user->lang['BOT_' . $l_title]);
?>
<h1><?php echo $user->lang['BOT_' . $l_title]; ?></h1>
<p><?php echo $user->lang['BOT_EDIT_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_bots.$phpEx$SID&amp;action=$action&amp;id=$id"; ?>"><table class="bg" width="90%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['BOT_' . $l_title]; ?></th>
</tr>
<?php
if (sizeof($error))
{
?>
<tr>
<td class="row3" colspan="2" align="center"><span style="color:red"><?php echo implode('<br />', $error); ?></span></td>
</tr>
<?php
}
?>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_NAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOT_NAME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="bot_name" size="30" maxlength="255" value="<?php echo $bot_name; ?>" /></td>
</tr>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_STYLE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOT_STYLE_EXPLAIN']; ?></span></td>
<td class="row2"><select name="bot_style"><?php echo $style_select; ?></select></td>
</tr>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_LANG']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOT_LANG_EXPLAIN']; ?></span></td>
<td class="row2"><select name="bot_lang"><?php echo $lang_select; ?></select></td>
</tr>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_ACTIVE']; ?>: </b></td>
<td class="row2"><select name="bot_active"><?php echo $s_active_options; ?></select></td>
</tr>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_AGENT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOT_AGENT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="bot_agent" size="30" maxlength="255" value="<?php echo $bot_agent; ?>" /></td>
</tr>
<tr>
<td class="row1" width="40%"><b class="genmed"><?php echo $user->lang['BOT_IP']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOT_IP_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="bot_ip" size="30" maxlength="255" value="<?php echo $bot_ip; ?>" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
}
// Output relevant page
adm_page_header($user->lang['BOTS']);
?>
<h1><?php echo $user->lang['BOTS']; ?></h1>
<p><?php echo $user->lang['BOTS_EXPLAIN']; ?></p>
<form method="post" action="<?php "admin_bots.$phpEx$SID"; ?>"><table class="bg" width="90%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th nowrap="nowrap"><?php echo $user->lang['BOT_NAME']; ?></th>
<th nowrap="nowrap"><?php echo $user->lang['BOT_LAST_VISIT']; ?></th>
<th colspan="3" nowrap="nowrap"><?php echo $user->lang['OPTIONS']; ?></th>
<th nowrap="nowrap"><?php echo $user->lang['MARK']; ?></th>
</tr>
<?php
$s_options = '';
foreach (array('activate' => 'BOT_ACTIVATE', 'deactivate' => 'BOT_DEACTIVATE', 'delete' => 'DELETE') as $value => $lang)
{
$s_options .= '<option value="' . $value . '">' . $user->lang[$lang] . '</option>';
}
$sql = 'SELECT b.bot_id, b.bot_name, b.bot_active, u.user_lastvisit
FROM ' . BOTS_TABLE . ' b, ' . USERS_TABLE . ' u
WHERE u.user_id = b.user_id
ORDER BY u.user_lastvisit DESC';
$result = $db->sql_query($sql);
$row_class = '';
while ($row = $db->sql_fetchrow($result))
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
$active_lang = (!$row['bot_active']) ? 'BOT_ACTIVATE' : 'BOT_DEACTIVATE';
$active_value = (!$row['bot_active']) ? 'activate' : 'deactivate';
$id = $row['bot_id'];
?>
<tr>
<td class="<?php echo $row_class; ?>" width="50%"><?php echo $row['bot_name']; ?></td>
<td class="<?php echo $row_class; ?>" width="15%" align="center" nowrap="nowrap">&nbsp;<?php echo ($row['user_lastvisit']) ? $user->format_date($row['user_lastvisit']) : $user->lang['BOT_NEVER']; ?>&nbsp;</td>
<td class="<?php echo $row_class; ?>" width="1%"align="center">&nbsp;<a href="<?php echo "admin_bots.$phpEx$SID&amp;id=$id&amp;action=$active_value"; ?>"><?php echo $user->lang[$active_lang]; ?></a>&nbsp;</td>
<td class="<?php echo $row_class; ?>" width="1%" align="center">&nbsp;<a href="<?php echo "admin_bots.$phpEx$SID&amp;id=$id&amp;action=edit"; ?>"><?php echo $user->lang['EDIT']; ?></a>&nbsp;</td>
<td class="<?php echo $row_class; ?>" width="1%" align="center">&nbsp;<a href="<?php echo "admin_bots.$phpEx$SID&amp;id=$id&amp;action=delete"; ?>"><?php echo $user->lang['DELETE']; ?></a>&nbsp;</td>
<td class="<?php echo $row_class; ?>" width="1%" align="center"><input type="checkbox" name="mark[]" value="<?php echo $id; ?>" /></td>
</tr>
<?php
}
$db->sql_freeresult($result);
?>
<tr>
<td class="cat" colspan="6"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><input class="btnlite" type="submit" name="add" value="<?php echo $user->lang['BOT_ADD']; ?>" /></td>
<td align="right"><select name="action"><?php echo $s_options; ?></select> <input class="btnlite" type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" /></td>
</tr>
</table></td>
</tr>
</table></form>
<?php
adm_page_footer();
?>

View File

@@ -0,0 +1,994 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
$filename = basename(__FILE__);
$module['DB']['DB_BACKUP'] = ($auth->acl_get('a_backup')) ? $filename . "$SID&amp;mode=backup" : '';
$file_uploads = @ini_get('file_uploads');
if (!empty($file_uploads) && $file_uploads !== 0 && strtolower($file_uploads) != 'off' && $auth->acl_get('a_restore'))
{
$module['DB']['DB_RESTORE'] = "$filename$SID&amp;mode=restore";
}
return;
}
define('IN_PHPBB', 1);
// Load default header
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_compress.'.$phpEx);
@set_time_limit(1200);
// Get some vars
$mode = (isset($_GET['mode'])) ? htmlspecialchars($_GET['mode']) : '';
$action = (isset($_REQUEST['action'])) ? htmlspecialchars($_REQUEST['action']) : '';
// --------------------
// Begin program proper
// --------------------
switch($mode)
{
case 'backup':
if (!$auth->acl_get('a_backup'))
{
trigger_error($user->lang['NO_ADMIN']);
}
$db_type = '';
switch (SQL_LAYER)
{
case 'oracle':
$db_type = 'Oracle';
break;
case 'odbc':
$db_type = 'ODBC';
break;
case 'mssql':
$db_type = 'MSSQL';
break;
}
if ($db_type)
{
trigger_error($user->lang['Backups_not_supported']);
}
$additional_tables = (isset($_REQUEST['tables'])) ? htmlspecialchars($_REQUEST['tables']) : '';
$backup_type = (isset($_REQUEST['type'])) ? intval($_REQUEST['type']) : false;
$search = (!empty($_REQUEST['search'])) ? true : false;
$store = (!empty($_REQUEST['store'])) ? true : false;
$compress = (isset($_REQUEST['compress'])) ? htmlspecialchars($_REQUEST['compress']) : '';
if (!isset($_POST['backupstart']) && !isset($_GET['backupstart']))
{
adm_page_header($user->lang['DB_BACKUP']);
?>
<h1><?php echo $user->lang['DB_BACKUP']; ?></h1>
<p><?php echo $user->lang['Backup_explain']; ?></p>
<form method="post" action="<?php echo "admin_database.$phpEx$SID&amp;mode=$mode"; ?>"><table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['Backup_options']; ?></th>
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['Backup_type']; ?>: </b></td>
<td class="row2"><input type="radio" name="type" value="full" checked="checked" /> <?php echo $user->lang['Full_backup']; ?>&nbsp;&nbsp;<input type="radio" name="type" value="structure" /> <?php echo $user->lang['Structure_only']; ?>&nbsp;&nbsp;<input type="radio" name="type" value="data" /> <?php echo $user->lang['Data_only']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['Additional_tables']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['Additional_tables_explain']; ?></span></td>
<td class="row2"><input class="post" type="text" name="tables" maxlength="255" size="40" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['INC_SEARCH_INDEX']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['INC_SEARCH_INDEX_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="search" value="1" checked="checked" /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="search" value="0" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['DOWNLOAD_STORE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DOWNLOAD_STORE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="store" value="0" checked="checked" /> <?php echo $user->lang['EXPORT_DOWNLOAD']; ?>&nbsp;&nbsp;<input type="radio" name="store" value="1" /> <?php echo $user->lang['EXPORT_STORE']; ?></td>
</tr>
<?php
if (@extension_loaded('zlib') || extension_loaded('bz2'))
{
?>
<tr>
<td class="row1"><b><?php echo $user->lang['Compress_file']; ?>: </b></td>
<td class="row2"><input type="radio" name="compress" value="none" checked="checked" /> <?php echo $user->lang['NONE']; ?><?php
if (extension_loaded('zlib'))
{
?>&nbsp;&nbsp;<input type="radio" name="compress" value="gzip" />.gz&nbsp;&nbsp;<input type="radio" name="compress" value="zip" />.zip<?php
}
if (extension_loaded('bz2'))
{
?>&nbsp;&nbsp;<input type="radio" name="compress" value="bzip" />.bz2<?php
}
?></td>
</tr>
<?php
}
?>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" name="backupstart" value="<?php echo $user->lang['Start_backup']; ?>" class="btnmain" /></td>
</tr>
</table></form>
<?php
break;
}
else if (!isset($_POST['startdownload']) && !isset($_GET['startdownload']))
{
$meta = "<meta http-equiv=\"refresh\" content=\"0;url=admin_database.$phpEx?mode=backup&amp;type=$backup_type&amp;tables=" . quotemeta($additional_tables) . "&amp;search=$search&amp;store=" . quotemeta($store_path) . "&amp;compress=$compress&amp;backupstart=1&amp;startdownload=1\">";
$message = (empty($store_path)) ? $user->lang['Backup_download'] : $user->lang['Backup_writing'];
adm_page_header($user->lang['DB_Backup'], $meta);
page_message($user->lang['DB_Backup'], $message);
adm_page_footer();
}
$tables = (SQL_LAYER != 'postgresql') ? mysql_get_tables() : pg_get_tables();
@sort($tables);
if (!empty($additional_tables))
{
$additional_tables = explode(',', $additional_tables);
for($i = 0; $i < count($additional_tables); $i++)
{
$tables[] = trim($additional_tables[$i]);
}
unset($additional_tables);
}
// Enable output buffering
@ob_start();
@ob_implicit_flush(0);
// Build the sql script file...
echo "#\n";
echo "# phpBB Backup Script\n";
echo "# Dump of tables for $dbname\n";
echo "#\n# DATE : " . gmdate("d-m-Y H:i:s", time()) . " GMT\n";
echo "#\n";
if (SQL_LAYER == 'postgresql')
{
echo "\n" . pg_get_sequences("\n", $backup_type);
}
for($i = 0; $i < count($tables); $i++)
{
$table_name = $tables[$i];
if (SQL_LAYER != 'mysql4')
{
$table_def_function = "get_table_def_" . SQL_LAYER;
$table_content_function = "get_table_content_" . SQL_LAYER;
}
else
{
$table_def_function = "get_table_def_mysql";
$table_content_function = "get_table_content_mysql";
}
if ($backup_type != 'data')
{
echo "#\n# TABLE: " . $table_name . "\n#\n";
echo $table_def_function($table_name, "\n") . "\n";
}
if ($backup_type != 'structure')
{
//
// Skip search table data?
//
if ($search || (!$search && !preg_match('/search_word/', $table_name)))
{
$table_content_function($table_name, "output_table_content");
}
}
}
// Flush the buffer, send the file
switch ($compress)
{/*
case 'gzip':
$extension = 'sql.gz';
$contents = gzencode(ob_get_contents());
ob_end_clean();
break;
case 'zip':
$extension = 'zip';
$zip = new zipfile;
$zip->add_file(ob_get_contents(), "phpbb_db_backup.sql", time());
ob_end_clean();
$contents = $zip->file();
break;
case 'bzip':
$extension = 'bz2';
$contents = bzcompress(ob_get_contents());
ob_end_clean();
break;*/
default:
$extension = 'sql';
$contents = ob_get_contents();
ob_end_clean();
}
add_log('admin', 'log_db_backup');
if (empty($store_path))
{
header("Pragma: no-cache");
header("Content-Type: text/x-delimtext; name=\"phpbb_db_backup.$extension\"");
header("Content-disposition: attachment; filename=phpbb_db_backup.$extension");
echo $contents;
unset($contents);
}
else
{
if (!($fp = fopen('./../' . $store_path . "/phpbb_db_backup.$extension", 'wb')))
{
message_die(ERROR, 'Could not open backup file');
}
if (!fwrite($fp, $contents))
{
message_die(ERROR, 'Could not write backup file content');
}
fclose($fp);
unset($contents);
trigger_error($user->lang['Backup_success']);
}
exit;
break;
case 'restore':
if (!$auth->acl_get('a_restore'))
{
trigger_error($user->lang['NO_ADMIN']);
}
if (isset($_POST['restorestart']))
{
// Handle the file upload ....
// If no file was uploaded report an error...
if (!empty($_POST['local']))
{
$file_tmpname = './../' . str_replace('\\\\', '/', $_POST['local']);
$filename = substr($file_tmpname, strrpos($file_tmpname, '/'));
}
else
{
$filename = (!empty($_POST['backup_file']['name'])) ? $HTTP_POST_FILES['backup_file']['name'] : '';
$file_tmpname = ($HTTP_POST_FILES['backup_file']['tmp_name'] != 'none') ? $HTTP_POST_FILES['backup_file']['tmp_name'] : '';
}
if ($file_tmpname == '' || $filename == '' || !file_exists($file_tmpname))
{
trigger_error($user->lang['Restore_Error_no_file']);
}
$ext = substr($filename, strrpos($filename, '.') + 1);
if (!preg_match('/^(sql|gz|bz2)$/', $ext))
{
trigger_error($user->lang['Restore_Error_filename']);
}
if ((!extension_loaded('zlib') && $ext == 'gz') || (!extension_loaded('zip') && $ext == 'zip') || ($ext == 'bz2' && !extension_loaded('bz2')))
{
trigger_error($user->lang['Compress_unsupported']);
}
$sql_query = '';
switch ($ext)
{
case 'gz':
$fp = gzopen($file_tmpname, 'rb');
while (!gzeof($fp))
{
$sql_query .= gzgets($fp, 100000);
}
gzclose($fp);
break;
case 'bz2':
$sql_query = bzdecompress(fread(fopen($file_tmpname, 'rb'), filesize($file_tmpname)));
break;
case 'zip':
default;
$sql_query = fread(fopen($file_tmpname, 'r'), filesize($file_tmpname));
}
if ($sql_query != '')
{
// Strip out sql comments...
remove_remarks($sql_query);
$pieces = split_sql_file($sql_query, ';');
$sql_count = count($pieces);
for($i = 0; $i < $sql_count; $i++)
{
$sql = trim($pieces[$i]);
if (!empty($sql) && $sql[0] != '#')
{
$db->sql_query($sql);
}
}
}
add_log('admin', 'log_db_restore');
trigger_error($user->lang['Restore_success']);
}
//
// Restore page
//
adm_page_header($user->lang['DB_RESTORE']);
?>
<h1><?php echo $user->lang['DB_RESTORE']; ?></h1>
<p><?php echo $user->lang['Restore_explain']; ?></p>
<form enctype="multipart/form-data" method="post" action="<?php echo "admin_database.$phpEx$SID&amp;mode=$mode"; ?>"><table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<th colspan="2"><?php echo $user->lang['Select_file']; ?></th>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['Upload_file']; ?>: <br /><span class="gensmall"><?php
echo $user->lang['Supported_extensions'];
$types = ': <u>sql</u>';
if (extension_loaded('zlib'))
{
$types .= ', <u>sql.gz</u>';
}
if (extension_loaded('bz2'))
{
$types .= ', <u>bz2</u>';
}
echo $types;
?></span></td>
<td class="row2"><input type="file" name="backup_file" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['Local_backup_file']; ?>: <br /><span class="gensmall"><?php echo $user->lang['Local_backup_file_explain']; ?></span></td>
<td class="row2"><input type="text" name="local" size="40" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" name="restorestart" value="<?php echo $user->lang['Start_Restore']; ?>" class="btnmain" /></td>
</tr>
</table></form>
<?php
break;
default:
trigger_error($user->lang['No_admin']);
exit;
}
adm_page_footer();
// -----------------------------------------------
// Begin Functions
//
//
// Table defns (not from phpMyAdmin)
//
function mysql_get_tables()
{
global $db, $table_prefix;
$tables = array();
$result = mysql_list_tables($db->dbname, $db->db_connect_id);
if ($row = $db->sql_fetchrow($result))
{
do
{
if (preg_match('/^' . $table_prefix . '/', $row[0]))
{
$tables[] = $row[0];
}
}
while ($row = $db->sql_fetchrow($result));
}
return $tables;
}
//
// The following functions are adapted from phpMyAdmin and upgrade_20.php
//
// This function is used for grabbing the sequences for postgres...
//
function pg_get_sequences($crlf, $backup_type)
{
global $db;
$get_seq_sql = "SELECT relname FROM pg_class WHERE NOT relname ~ 'pg_.*'
AND relkind = 'S' ORDER BY relname";
$seq = $db->sql_query($get_seq_sql);
if (!$num_seq = $db->sql_numrows($seq))
{
$return_val = "# No Sequences Found $crlf";
}
else
{
$return_val = "# Sequences $crlf";
$i_seq = 0;
while($i_seq < $num_seq)
{
$row = $db->sql_fetchrow($seq);
$sequence = $row['relname'];
$get_props_sql = "SELECT * FROM $sequence";
$seq_props = $db->sql_query($get_props_sql);
if ($db->sql_numrows($seq_props) > 0)
{
$row1 = $db->sql_fetchrow($seq_props);
if ($backup_type == 'structure')
{
$row['last_value'] = 1;
}
$return_val .= "CREATE SEQUENCE $sequence start " . $row['last_value'] . ' increment ' . $row['increment_by'] . ' maxvalue ' . $row['max_value'] . ' minvalue ' . $row['min_value'] . ' cache ' . $row['cache_value'] . "; $crlf";
} // End if numrows > 0
if (($row['last_value'] > 1) && ($backup_type != 'structure'))
{
$return_val .= "SELECT NEXTVALE('$sequence'); $crlf";
unset($row['last_value']);
}
$i_seq++;
} // End while..
} // End else...
return $returnval;
} // End function...
//
// The following functions will return the "CREATE TABLE syntax for the
// varying DBMS's
//
// This function returns, will return the table def's for postgres...
//
function get_table_def_postgresql($table, $crlf)
{
global $db;
$schema_create = "";
//
// Get a listing of the fields, with their associated types, etc.
//
$field_query = "SELECT a.attnum, a.attname AS field, t.typname as type, a.attlen AS length, a.atttypmod as lengthvar, a.attnotnull as notnull
FROM pg_class c, pg_attribute a, pg_type t
WHERE c.relname = '$table'
AND a.attnum > 0
AND a.attrelid = c.oid
AND a.atttypid = t.oid
ORDER BY a.attnum";
$result = $db->sql_query($field_query);
if (!$result)
{
message_die(GENERAL_ERROR, "Failed in get_table_def (show fields)", "", __LINE__, __FILE__, $field_query);
} // end if..
$schema_create .= "DROP TABLE $table;$crlf";
//
// Ok now we actually start building the SQL statements to restore the tables
//
$schema_create .= "CREATE TABLE $table($crlf";
while ($row = $db->sql_fetchrow($result))
{
//
// Get the data from the table
//
$sql_get_default = "SELECT d.adsrc AS rowdefault
FROM pg_attrdef d, pg_class c
WHERE (c.relname = '$table')
AND (c.oid = d.adrelid)
AND d.adnum = " . $row['attnum'];
$def_res = $db->sql_query($sql_get_default);
if (!$def_res)
{
unset($row['rowdefault']);
}
else
{
$row['rowdefault'] = @pg_result($def_res, 0, 'rowdefault');
}
if ($row['type'] == 'bpchar')
{
// Internally stored as bpchar, but isn't accepted in a CREATE TABLE statement.
$row['type'] = 'char';
}
$schema_create .= ' ' . $row['field'] . ' ' . $row['type'];
if (eregi('char', $row['type']))
{
if ($row['lengthvar'] > 0)
{
$schema_create .= '(' . ($row['lengthvar'] -4) . ')';
}
}
if (eregi('numeric', $row['type']))
{
$schema_create .= '(';
$schema_create .= sprintf("%s,%s", (($row['lengthvar'] >> 16) & 0xffff), (($row['lengthvar'] - 4) & 0xffff));
$schema_create .= ')';
}
if (!empty($row['rowdefault']))
{
$schema_create .= ' DEFAULT ' . $row['rowdefault'];
}
if ($row['notnull'] == 't')
{
$schema_create .= ' NOT NULL';
}
$schema_create .= ",$crlf";
}
//
// Get the listing of primary keys.
//
$sql_pri_keys = "SELECT ic.relname AS index_name, bc.relname AS tab_name, ta.attname AS column_name, i.indisunique AS unique_key, i.indisprimary AS primary_key
FROM pg_class bc, pg_class ic, pg_index i, pg_attribute ta, pg_attribute ia
WHERE (bc.oid = i.indrelid)
AND (ic.oid = i.indexrelid)
AND (ia.attrelid = i.indexrelid)
AND (ta.attrelid = bc.oid)
AND (bc.relname = '$table')
AND (ta.attrelid = i.indrelid)
AND (ta.attnum = i.indkey[ia.attnum-1])
ORDER BY index_name, tab_name, column_name ";
$result = $db->sql_query($sql_pri_keys);
if (!$result)
{
message_die(GENERAL_ERROR, "Failed in get_table_def (show fields)", "", __LINE__, __FILE__, $sql_pri_keys);
}
while ($row = $db->sql_fetchrow($result))
{
if ($row['primary_key'] == 't')
{
if (!empty($primary_key))
{
$primary_key .= ', ';
}
$primary_key .= $row['column_name'];
$primary_key_name = $row['index_name'];
}
else
{
//
// We have to store this all this info because it is possible to have a multi-column key...
// we can loop through it again and build the statement
//
$index_rows[$row['index_name']]['table'] = $table;
$index_rows[$row['index_name']]['unique'] = ($row['unique_key'] == 't') ? ' UNIQUE ' : '';
$index_rows[$row['index_name']]['column_names'] .= $row['column_name'] . ', ';
}
}
if (!empty($index_rows))
{
while(list($idx_name, $props) = each($index_rows))
{
$props['column_names'] = ereg_replace(", $", "" , $props['column_names']);
$index_create .= 'CREATE ' . $props['unique'] . " INDEX $idx_name ON $table (" . $props['column_names'] . ");$crlf";
}
}
if (!empty($primary_key))
{
$schema_create .= " CONSTRAINT $primary_key_name PRIMARY KEY ($primary_key),$crlf";
}
//
// Generate constraint clauses for CHECK constraints
//
$sql_checks = "SELECT rcname as index_name, rcsrc
FROM pg_relcheck, pg_class bc
WHERE rcrelid = bc.oid
AND bc.relname = '$table'
AND NOT EXISTS (
SELECT *
FROM pg_relcheck as c, pg_inherits as i
WHERE i.inhrelid = pg_relcheck.rcrelid
AND c.rcname = pg_relcheck.rcname
AND c.rcsrc = pg_relcheck.rcsrc
AND c.rcrelid = i.inhparent
)";
$result = $db->sql_query($sql_checks);
if (!$result)
{
message_die(GENERAL_ERROR, "Failed in get_table_def (show fields)", "", __LINE__, __FILE__, $sql_checks);
}
//
// Add the constraints to the sql file.
//
while ($row = $db->sql_fetchrow($result))
{
$schema_create .= ' CONSTRAINT ' . $row['index_name'] . ' CHECK ' . $row['rcsrc'] . ",$crlf";
}
$schema_create = ereg_replace(',' . $crlf . '$', '', $schema_create);
$index_create = ereg_replace(',' . $crlf . '$', '', $index_create);
$schema_create .= "$crlf);$crlf";
if (!empty($index_create))
{
$schema_create .= $index_create;
}
//
// Ok now we've built all the sql return it to the calling function.
//
return (stripslashes($schema_create));
}
//
// This function returns the "CREATE TABLE" syntax for mysql dbms...
//
function get_table_def_mysql($table, $crlf)
{
global $db;
$schema_create = "";
$field_query = "SHOW FIELDS FROM $table";
$key_query = "SHOW KEYS FROM $table";
// If the user has selected to drop existing tables when doing a restore.
// Then we add the statement to drop the tables....
$schema_create .= "DROP TABLE IF EXISTS $table;$crlf";
$schema_create .= "CREATE TABLE $table($crlf";
// Ok lets grab the fields...
$result = $db->sql_query($field_query);
while ($row = $db->sql_fetchrow($result))
{
$schema_create .= ' ' . $row['Field'] . ' ' . $row['Type'];
if (!empty($row['Default']))
{
$schema_create .= ' DEFAULT \'' . $row['Default'] . '\'';
}
if ($row['Null'] != "YES")
{
$schema_create .= ' NOT NULL';
}
if ($row['Extra'] != "")
{
$schema_create .= ' ' . $row['Extra'];
}
$schema_create .= ",$crlf";
}
//
// Drop the last ',$crlf' off ;)
//
$schema_create = ereg_replace(',' . $crlf . '$', "", $schema_create);
//
// Get any Indexed fields from the database...
//
$result = $db->sql_query($key_query);
while($row = $db->sql_fetchrow($result))
{
$kname = $row['Key_name'];
if (($kname != 'PRIMARY') && ($row['Non_unique'] == 0))
{
$kname = "UNIQUE|$kname";
}
if (!is_array($index[$kname]))
{
$index[$kname] = array();
}
$index[$kname][] = $row['Column_name'];
}
foreach ($index as $x => $columns)
{
$schema_create .= ", $crlf";
if ($x == 'PRIMARY')
{
$schema_create .= ' PRIMARY KEY (' . implode($columns, ', ') . ')';
}
elseif (substr($x,0,6) == 'UNIQUE')
{
$schema_create .= ' UNIQUE ' . substr($x,7) . ' (' . implode($columns, ', ') . ')';
}
else
{
$schema_create .= " KEY $x (" . implode($columns, ', ') . ')';
}
}
$schema_create .= "$crlf);";
if (get_magic_quotes_runtime())
{
return stripslashes($schema_create);
}
else
{
return $schema_create;
}
} // End get_table_def_mysql
//
// This fuction will return a tables create definition to be used as an sql
// statement.
//
//
// The following functions Get the data from the tables and format it as a
// series of INSERT statements, for each different DBMS...
// After every row a custom callback function $handler gets called.
// $handler must accept one parameter ($sql_insert);
//
//
// Here is the function for postgres...
//
function get_table_content_postgresql($table, $handler)
{
global $db;
// Grab all of the data from current table.
$result = $db->sql_query("SELECT * FROM $table");
$i_num_fields = $db->sql_numfields($result);
for ($i = 0; $i < $i_num_fields; $i++)
{
$aryType[] = $db->sql_fieldtype($i, $result);
$aryName[] = $db->sql_fieldname($i, $result);
}
$iRec = 0;
while ($row = $db->sql_fetchrow($result))
{
unset($schema_vals);
unset($schema_fields);
unset($schema_insert);
// Build the SQL statement to recreate the data.
for($i = 0; $i < $i_num_fields; $i++)
{
$strVal = $row[$aryName[$i]];
if (preg_match('#char|text|bool#i', $aryType[$i]))
{
$strQuote = "'";
$strEmpty = "";
$strVal = addslashes($strVal);
}
elseif (preg_match('#date|timestamp#i', $aryType[$i]))
{
if ($empty($strVal))
{
$strQuote = "";
}
else
{
$strQuote = "'";
}
}
else
{
$strQuote = "";
$strEmpty = "NULL";
}
if (empty($strVal) && $strVal != "0")
{
$strVal = $strEmpty;
}
$schema_vals .= " $strQuote$strVal$strQuote,";
$schema_fields .= " $aryName[$i],";
}
$schema_vals = preg_replace('#,$#', '', $schema_vals);
$schema_vals = preg_replace('#^ #', '', $schema_vals);
$schema_fields = preg_replace('#,$#', '', $schema_fields);
$schema_fields = preg_replace('#^ #', '', $schema_fields);
// Take the ordered fields and their associated data and build it
// into a valid sql statement to recreate that field in the data.
$schema_insert = "INSERT INTO $table ($schema_fields) VALUES($schema_vals);";
$handler(trim($schema_insert));
}
return(true);
}// end function get_table_content_postgres...
//
// This function is for getting the data from a mysql table.
//
function get_table_content_mysql($table, $handler)
{
global $db;
// Grab the data from the table.
$result = $db->sql_query("SELECT * FROM $table");
// Loop through the resulting rows and build the sql statement.
$schema_insert = "";
if ($row = $db->sql_fetchrow($result))
{
$schema_insert = "\n#\n# Table Data for $table\n#\n";
$handler($schema_insert);
do
{
$table_list = '(';
$num_fields = $db->sql_numfields($result);
//
// Grab the list of field names.
//
for ($j = 0; $j < $num_fields; $j++)
{
$table_list .= $db->sql_fieldname($j, $result) . ', ';
}
//
// Get rid of the last comma
//
$table_list = preg_replace('#, $#', '', $table_list);
$table_list .= ')';
//
// Start building the SQL statement.
//
$schema_insert = "INSERT INTO $table $table_list VALUES(";
//
// Loop through the rows and fill in data for each column
//
for ($j = 0; $j < $num_fields; $j++)
{
if (!isset($row[$j]))
{
//
// If there is no data for the column set it to null.
// There was a problem here with an extra space causing the
// sql file not to reimport if the last column was null in
// any table. Should be fixed now :) JLH
//
$schema_insert .= ' NULL,';
}
elseif ($row[$j] != '')
{
$schema_insert .= ' \'' . addslashes($row[$j]) . '\',';
}
else
{
$schema_insert .= '\'\',';
}
}
//
// Get rid of the the last comma.
//
$schema_insert = preg_replace('#,$#', '', $schema_insert);
$schema_insert .= ');';
//
// Go ahead and send the insert statement to the handler function.
//
$handler(trim($schema_insert));
}
while ($row = $db->sql_fetchrow($result));
}
return true;
}
function output_table_content($content)
{
global $tempfile;
//fwrite($tempfile, $content . "\n");
//$backup_sql .= $content . "\n";
echo $content ."\n";
return;
}
//
// End Functions
// -----------------------------------------------
?>

View File

@@ -0,0 +1,157 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_names'))
{
return;
}
$module['USER']['DISALLOW'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.'.$phpEx);
// Check permissions
if (!$auth->acl_get('a_names'))
{
trigger_error($user->lang['NO_ADMIN']);
}
if (isset($_POST['disallow']))
{
$disallowed_user = (isset($_REQUEST['disallowed_user'])) ? htmlspecialchars($_REQUEST['disallowed_user']) : '';
$disallowed_user = str_replace('*', '%', $disallowed_user);
if (validate_username($disallowed_user))
{
$message = $user->lang['Disallowed_already'];
}
else
{
$sql = 'INSERT INTO ' . DISALLOW_TABLE . " (disallow_username)
VALUES('" . $db->sql_escape(stripslashes($disallowed_user)) . "')";
$result = $db->sql_query($sql);
$message = $user->lang['Disallow_successful'];
}
add_log('admin', 'log_disallow_add', str_replace('%', '*', $disallowed_user));
trigger_error($message);
}
else if (isset($_POST['allow']))
{
$disallowed_id = (isset($_REQUEST['disallowed_id'])) ? intval($_REQUEST['disallowed_id']) : '';
if (empty($disallowed_id))
{
trigger_error($user->lang['No_user_selected']);
}
$sql = 'DELETE FROM ' . DISALLOW_TABLE . "
WHERE disallow_id = $disallowed_id";
$db->sql_query($sql);
add_log('admin', 'log_disallow_delete');
trigger_error($user->lang['Disallowed_deleted']);
}
// Grab the current list of disallowed usernames...
$sql = 'SELECT *
FROM ' . DISALLOW_TABLE;
$result = $db->sql_query($sql);
$disallow_select = '';
if ($row = $db->sql_fetchrow($result))
{
do
{
$disallow_select .= '<option value="' . $row['disallow_id'] . '">' . str_replace('%', '*', $row['disallow_username']) . '</option>';
}
while ($row = $db->sql_fetchrow($result));
}
// Output page
adm_page_header($user->lang['DISALLOW']);
?>
<h1><?php echo $user->lang['DISALLOW']; ?></h1>
<p><?php echo $user->lang['Disallow_explain']; ?></p>
<form method="post" action="<?php echo "admin_disallow.$phpEx$SID"; ?>"><table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['Add_disallow_title']; ?></th>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['USERNAME']; ?><br /><span class="gensmall"><?php echo $user->lang['Add_disallow_explain']; ?></span></td>
<td class="row2"><input class="post" type="text" name="disallowed_user" size="30" />&nbsp;</td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="disallow" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" />
</tr>
</table>
<h1><?php echo $user->lang['Delete_disallow_title']; ?></h1>
<p><?php echo $user->lang['Delete_disallow_explain']; ?></p>
<table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['Delete_disallow_title']; ?></th>
</tr>
<?php
if ($disallow_select != '')
{
?>
<tr>
<td class="row1"><?php echo $user->lang['USERNAME']; ?></td>
<td class="row2"><select class="post" name="disallowed_id"><?php echo $disallow_select; ?></select></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="allow" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" />
</tr>
<?php
}
else
{
?>
<tr>
<td class="row1" colspan="2" align="center"><?php echo $user->lang['No_disallowed']; ?></td>
</tr>
<?php
}
?>
</table></form>
<?php
adm_page_footer();
?>

274
phpBB/adm/admin_email.php Normal file
View File

@@ -0,0 +1,274 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
$file = basename(__FILE__);
$module['GENERAL']['MASS_EMAIL'] = ($auth->acl_get('a_email')) ? "$file$SID" : '';
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Check permissions
if (!$auth->acl_get('a_email'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Set some vars
$message = $subject = $group_id = '';
// Do the job ...
if (isset($_POST['submit']))
{
// Error checking needs to go here ... if no subject and/or no message then skip
// over the send and return to the form
$group_id = request_var('g', 0);
$usernames = request_var('usernames', '');
$subject = preg_replace('#&(\#[0-9]+;)#', '&\1', strtr(request_var('subject', ''), array_flip(get_html_translation_table(HTML_ENTITIES))));
$message = preg_replace('#&(\#[0-9]+;)#', '&\1', strtr(request_var('message', ''), array_flip(get_html_translation_table(HTML_ENTITIES))));
$use_queue = (isset($_POST['send_immediatly'])) ? false : true;
$priority = request_var('mail_priority_flag', MAIL_NORMAL_PRIORITY);
// NOTE: Only temporary, i do not think this is a good idea for the final code, but i have to test this more than once. ;)
$log_session= (isset($_POST['log_session'])) ? true : false;
$error = array();
if (!$subject)
{
$error[] = $user->lang['NO_EMAIL_SUBJECT'];
}
if (!$message)
{
$error[] = $user->lang['NO_EMAIL_MESSAGE'];
}
if (!sizeof($error))
{
if ($usernames)
{
$usernames = implode(', ', preg_replace('#^[\s]*?(.*?)[\s]*?$#e', "\"'\" . \$db->sql_escape('\\1') . \"'\"", explode("\n", $usernames)));
$sql = 'SELECT username, user_email, user_jabber, user_notify_type, user_lang
FROM ' . USERS_TABLE . "
WHERE username IN ($usernames)
AND user_allow_massemail = 1
ORDER BY user_lang, user_notify_type, SUBSTRING(user_email FROM INSTR(user_email,'@'))";
}
else
{
$sql = ($group_id) ? 'SELECT u.user_email, u.username, u.user_lang, u.user_jabber, u.user_notify_type FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND ug.user_pending <> 1 AND u.user_id = ug.user_id AND u.user_allow_massemail = 1" : 'SELECT u.username, u.user_email, u.user_jabber, u.user_notify_type, u.user_lang FROM ' . USERS_TABLE . ' u WHERE u.user_allow_massemail = 1';
// TODO: different for other db servers?
$sql .= " ORDER BY u.user_lang, u.user_notify_type, SUBSTRING(u.user_email FROM INSTR(u.user_email,'@'))";
}
$result = $db->sql_query($sql);
if (!($row = $db->sql_fetchrow($result)))
{
trigger_error($user->lang['NO_USER']);
}
$db->sql_freeresult($result);
$i = $j = 0;
// Send with BCC, no more than 50 recipients for one mail (to not exceed the limit)
$max_chunk_size = 50;
$email_list = array();
$old_lang = $row['user_lang'];
$old_notify_type = $row['user_notify_type'];
do
{
if (($row['user_notify'] == NOTIFY_EMAIL && $row['user_email']) ||
($row['user_notify'] == NOTIFY_IM && $row['user_jabber']) ||
($row['user_notify'] == NOTIFY_BOTH && $row['user_email'] && $row['user_jabber']))
{
if ($i == $max_chunk_size || $row['user_lang'] != $old_lang || $row['user_notify_type'] != $old_notify_type)
{
$i = 0;
$j++;
$old_lang = $row['user_lang'];
$old_notify_type = $row['user_notify_type'];
}
$email_list[$j][$i]['lang'] = $row['user_lang'];
$email_list[$j][$i]['method'] = $row['user_notify_type'];
$email_list[$j][$i]['email'] = $row['user_email'];
$email_list[$j][$i]['name'] = $row['username'];
$email_list[$j][$i]['jabber'] = $row['user_jabber'];
$i++;
}
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
// Send the messages
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
$messenger = new messenger($use_queue);
$errored = false;
for ($i = 0; $i < sizeof($email_list); $i++)
{
$used_lang = $email_list[$i][0]['lang'];
$used_method = $email_list[$i][0]['method'];
for ($j = 0; $j < sizeof($email_list[$i]); $j++)
{
$email_row = $email_list[$i][$j];
$messenger->{((sizeof($email_list[$i]) == 1) ? 'to' : 'bcc')}($email_row['email'], $email_row['name']);
$messenger->im($email_row['jabber'], $email_row['name']);
}
$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->subject($subject);
$messenger->replyto($config['board_email']);
$messenger->set_mail_priority($priority);
$messenger->assign_vars(array(
'SITENAME' => $config['sitename'],
'CONTACT_EMAIL' => $config['board_contact'],
'MESSAGE' => $message)
);
if (!($messenger->send($used_method, $log_session)))
{
$errored = true;
}
}
unset($email_list);
$messenger->save_queue();
if ($group_id)
{
$sql = 'SELECT group_name
FROM ' . GROUPS_TABLE . "
WHERE group_id = $group_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
extract($row);
}
else
{
// Not great but the logging routine doesn't cope well with localising
// on the fly
$group_name = $user->lang['ALL_USERS'];
}
add_log('admin', 'LOG_MASS_EMAIL', $group_name);
$message = (!$errored) ? $user->lang['EMAIL_SENT'] : sprintf($user->lang['EMAIL_SEND_ERROR'], '<a href="admin_viewlogs.' . $phpEx . $SID . '&amp;mode=critical" class="gen">', '</a>');
trigger_error($message);
}
}
// Initial selection
$sql = 'SELECT group_id, group_type, group_name
FROM ' . GROUPS_TABLE . '
ORDER BY group_type DESC, group_name ASC';
$result = $db->sql_query($sql);
$select_list = '<option value="0"' . ((!$group_id) ? ' selected="selected"' : '') . '>' . $user->lang['ALL_USERS'] . '</option>';
if ($row = $db->sql_fetchrow($result))
{
do
{
$selected = ($group_id == $row['group_id']) ? ' selected="selected"' : '';
$select_list .= '<option value = "' . $row['group_id'] . '"' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="blue"' : '') . $selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$s_priority_options = '<option value="' . MAIL_LOW_PRIORITY . '">' . $user->lang['MAIL_LOW_PRIORITY'] . '</option>';
$s_priority_options .= '<option value="' . MAIL_NORMAL_PRIORITY . '" selected="selected">' . $user->lang['MAIL_NORMAL_PRIORITY'] . '</option>';
$s_priority_options .= '<option value="' . MAIL_HIGH_PRIORITY . '">' . $user->lang['MAIL_HIGH_PRIORITY'] . '</option>';
adm_page_header($user->lang['MASS_EMAIL']);
?>
<h1><?php echo $user->lang['MASS_EMAIL']; ?></h1>
<p><?php echo $user->lang['MASS_EMAIL_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_email.$phpEx$SID"; ?>" name="email"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['COMPOSE']; ?></th>
</tr>
<?php
if (sizeof($error))
{
?>
<tr>
<td class="row3" colspan="2" align="center"><span class="error"><?php echo implode('<br />', $error); ?></span></td>
</tr>
<?php
}
?>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['SEND_TO_GROUP']; ?>: </b></td>
<td class="row2"><select name="g"><?php echo $select_list; ?></select></td>
</tr>
<tr>
<td class="row1" valign="top"><b><?php echo $user->lang['SEND_TO_USERS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SEND_TO_USERS_EXPLAIN']; ?><br />[ <a href="" onclick="window.open('<?php echo "../memberlist.$phpEx$SID"; ?>&amp;mode=searchuser&amp;form=email&amp;field=usernames', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=740');return false;"><?php echo $user->lang['FIND_USERNAME']; ?></a> ]</span></td>
<td class="row2" align="left"><textarea name="usernames" rows="5" cols="40"><?php echo $usernames; ?></textarea></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['SUBJECT']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="subject" size="45" maxlength="100" tabindex="2" value="<?php echo $subject; ?>" /></td>
</tr>
<tr>
<td class="row1" valign="top"><span class="gen"><b><?php echo $user->lang['MASS_MESSAGE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MASS_MESSAGE_EXPLAIN']; ?></span></td>
<td class="row2"><textarea class="post" name="message" rows="10" cols="60" tabindex="3"><?php echo $message; ?></textarea></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['MAIL_PRIORITY']; ?>: </b></td>
<td class="row2"><select name="mail_priority_flag"><?php echo $s_priority_options; ?></select></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['SEND_IMMEDIATLY']; ?>: </b></td>
<td class="row2"><input type="checkbox" name="send_immediatly" class="text" checked="checked" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['LOG_SESSION']; ?>: </b></td>
<td class="row2"><input type="checkbox" name="log_session" class="text" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input type="submit" value="<?php echo $user->lang['EMAIL']; ?>" name="submit" class="btnmain" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
?>

1582
phpBB/adm/admin_forums.php Normal file

File diff suppressed because it is too large Load Diff

956
phpBB/adm/admin_groups.php Normal file
View File

@@ -0,0 +1,956 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
* @todo Avatar gallery ...
* @todo Mass user pref setting via group membership
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_group'))
{
return;
}
$module['USER']['GROUP_MANAGE'] = basename(__FILE__) . "$SID&amp;mode=manage";
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
// Do we have general permissions?
if (!$auth->acl_get('a_group'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Check and set some common vars
$mode = request_var('mode', '');
$action = (isset($_POST['add'])) ? 'add' : ((isset($_POST['addusers'])) ? 'addusers' : request_var('action', ''));
$group_id = request_var('g', 0);
$mark_ary = request_var('mark', array(0));
$name_ary = request_var('usernames', '');
$leader = request_var('leader', 0);
$default = request_var('default', 0);
$start = request_var('start', 0);
$update = (isset($_POST['update'])) ? true : false;
$confirm = (isset($_POST['confirm'])) ? true : false;
$cancel = (isset($_POST['cancel'])) ? true : false;
// Clear some vars
$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($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
if ($group_id)
{
$sql = 'SELECT *
FROM ' . GROUPS_TABLE . "
WHERE group_id = $group_id";
$result = $db->sql_query($sql);
$group_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$group_row)
{
trigger_error($user->lang['NO_GROUP']);
}
}
switch ($mode)
{
case 'manage':
// Page header
adm_page_header($user->lang['MANAGE']);
// Common javascript
?>
<script language="javascript" type="text/javascript">
<!--
function marklist(match, status)
{
len = eval('document.' + match + '.length');
for (i = 0; i < len; i++)
{
eval('document.' + match + '.elements[i].checked = ' + status);
}
}
//-->
</script>
<?php
// Which page?
switch ($action)
{
case 'approve':
case 'demote':
case 'promote':
if (!$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
group_user_attributes($action, $group_id, $mark_ary, false, ($group_id) ? $group_row['group_name'] : false);
switch ($action)
{
case 'demote':
$message = 'GROUP_MODS_DEMOTED';
break;
case 'promote':
$message = 'GROUP_MODS_PROMOTED';
break;
case 'approve':
$message = 'USERS_APPROVED';
break;
}
trigger_error($user->lang[$message]);
break;
case 'default':
if (!$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
if (!$mark_ary)
{
$start = 0;
do
{
$sql = 'SELECT user_id
FROM ' . USER_GROUP_TABLE . "
WHERE group_id = $group_id
ORDER BY user_id";
$result = $db->sql_query_limit($sql, 200, $start);
$mark_ary = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$mark_ary[] = $row['user_id'];
}
while ($row = $db->sql_fetchrow($result));
group_user_attributes('default', $group_id, $mark_ary, false, $group_row['group_name'], $group_row);
$start = (sizeof($user_id_ary) < 200) ? 0 : $start + 200;
}
else
{
$start = 0;
}
$db->sql_freeresult($result);
}
while ($start);
}
else
{
group_user_attributes('default', $group_id, $mark_ary, false, $group_row['group_name'], $group_row);
}
trigger_error($user->lang['GROUP_DEFS_UPDATED']);
break;
case 'deleteusers':
case 'delete':
if (!$cancel && !$confirm)
{
adm_page_confirm($user->lang['CONFIRM'], $user->lang['CONFIRM_OPERATION']);
}
else
{
if (!$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
switch ($action)
{
case 'delete':
$error = group_delete($group_id, $group_row['group_name']);
break;
case 'deleteusers':
$error = group_user_del($group_id, $mark_ary, false, $group_row['group_name']);
break;
}
if ($error)
{
trigger_error($user->lang[$error]);
}
$message = ($action == 'delete') ? 'GROUP_DELETED' : 'GROUP_USERS_REMOVE';
trigger_error($user->lang[$message]);
}
break;
case 'addusers':
if (!$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
if (!$name_ary)
{
trigger_error($user->lang['NO_USERS']);
}
$name_ary = array_unique(explode("\n", $name_ary));
// Add user/s to group
if ($error = group_user_add($group_id, false, $name_ary, $group_row['group_name'], $default, $leader, $group_row))
{
trigger_error($user->lang[$error]);
}
$message = ($action == 'addleaders') ? 'GROUP_MODS_ADDED' : 'GROUP_USERS_ADDED';
trigger_error($user->lang[$message]);
break;
case 'edit':
case 'add':
$data = $submit_ary = array();
if ($action == 'edit' && !$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
$error = array();
$user->add_lang('ucp');
// Did we submit?
if ($update)
{
$group_name = request_var('group_name', '');
$group_desc = request_var('group_description', '');
$group_type = request_var('group_type', GROUP_FREE);
$data['uploadurl'] = request_var('uploadurl', '');
$data['remotelink'] = request_var('remotelink', '');
$delete = request_var('delete', '');
$submit_ary = array(
'colour' => request_var('group_colour', ''),
'rank' => request_var('group_rank', 0),
'receive_pm' => isset($_REQUEST['group_receive_pm']) ? 1 : 0,
'message_limit' => request_var('group_message_limit', 0)
);
$avatar = '';
if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink'])
{
$data['width'] = request_var('width', '');
$data['height'] = request_var('height', '');
// Avatar stuff
$var_ary = array(
'uploadurl' => array('string', true, 5, 255),
'remotelink' => array('string', true, 5, 255),
'width' => array('string', true, 1, 3),
'height' => array('string', true, 1, 3),
);
if (!($error = validate_data($data, $var_ary)))
{
$data['user_id'] = "g$group_id";
if ((!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl']) && $can_upload)
{
list($submit_ary['avatar_type'], $submit_ary['avatar'], $submit_ary['avatar_width'], $submit_ary['avatar_height']) = avatar_upload($data, $error);
}
else if ($data['remotelink'])
{
list($submit_ary['avatar_type'], $submit_ary['avatar'], $submit_ary['avatar_width'], $submit_ary['avatar_height']) = avatar_remote($data, $error);
}
}
}
else if ($delete)
{
$submit_ary['avatar'] = '';
$submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0;
}
if (($submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete)
{
if (isset($group_row['group_avatar']) && $group_row['group_avatar'])
{
avatar_delete($group_row['group_avatar']);
}
}
// Only set the rank, colour, etc. if it's changed or if we're adding a new
// group. This prevents existing group members being updated if no changes
// were made.
$group_attributes = array();
foreach (array('rank', 'colour', 'avatar', 'avatar_type', 'avatar_width', 'avatar_height', 'receive_pm', 'message_limit') as $test)
{
if ($action == 'add' || (isset($group_row['group_' . $test]) && $group_row['group_' . $test] != $submit_ary[$test]))
{
$group_attributes[$test] = $group_row['group_' . $test] = $submit_ary[$test];
}
}
if (!($error = group_create($group_id, $group_type, $group_name, $group_description, $group_attributes)))
{
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
trigger_error($message);
}
}
else if (!$group_id)
{
$group_name = request_var('group_name', '');
$group_description = '';
$group_type = GROUP_OPEN;
}
else
{
$group_name = $group_row['group_name'];
$group_description = $group_row['group_description'];
$group_type = $group_row['group_type'];
}
?>
<h1><?php echo $user->lang['MANAGE']; ?></h1>
<p><?php echo $user->lang['GROUP_EDIT_EXPLAIN']; ?></p>
<?php
$sql = 'SELECT *
FROM ' . RANKS_TABLE . '
WHERE rank_special = 1
ORDER BY rank_title';
$result = $db->sql_query($sql);
$rank_options = '<option value="-1"' . ((empty($group_rank)) ? 'selected="selected" ' : '') . '>' . $user->lang['USER_DEFAULT'] . '</option>';
if ($row = $db->sql_fetchrow($result))
{
do
{
$selected = (!empty($group_rank) && $row['rank_id'] == $group_rank) ? ' selected="selected"' : '';
$rank_options .= '<option value="' . $row['rank_id'] . '"' . $selected . '>' . $row['rank_title'] . '</option>';
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$type_free = ($group_type == GROUP_FREE) ? ' checked="checked"' : '';
$type_open = ($group_type == GROUP_OPEN) ? ' checked="checked"' : '';
$type_closed = ($group_type == GROUP_CLOSED) ? ' checked="checked"' : '';
$type_hidden = ($group_type == GROUP_HIDDEN) ? ' checked="checked"' : '';
if (isset($group_row['group_avatar']) && $group_row['group_avatar'])
{
switch ($group_row['group_avatar_type'])
{
case AVATAR_UPLOAD:
$avatar_img = $phpbb_root_path . $config['avatar_path'] . '/';
break;
case AVATAR_GALLERY:
$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
break;
}
$avatar_img .= $group_row['group_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $group_row['group_avatar_width'] . '" height="' . $group_row['group_avatar_height'] . '" alt="" />';
}
else
{
$avatar_img = '<img src="images/no_avatar.gif" alt="" />';
}
$display_gallery = (isset($_POST['displaygallery'])) ? true : false;
?>
<script language="javascript" type="text/javascript">
<!--
function swatch()
{
window.open('./swatch.<?php echo $phpEx; ?>?form=settings&name=group_colour', '_swatch', 'HEIGHT=115,resizable=yes,scrollbars=no,WIDTH=636');
return false;
}
//-->
</script>
<form name="settings" method="post" action="<?php echo "admin_groups.$phpEx$SID&amp;mode=$mode&amp;action=$action&amp;g=$group_id"; ?>"<?php echo ($can_upload) ? ' enctype="multipart/form-data"' : ''; ?>>
<table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['GROUP_DETAILS']; ?></th>
</tr>
<?php
if (sizeof($error))
{
?>
<tr>
<td class="row1" colspan="2" align="center"><span style="color:red"><?php echo implode('<br />', $error); ?></span></td>
</tr>
<?php
}
?>
<tr>
<td class="row2" width="40%"><b><?php echo $user->lang['GROUP_NAME']; ?>:</b></td>
<td class="row1"><?php
if ($group_type != GROUP_SPECIAL)
{
?><input class="post" type="text" name="group_name" value="<?php echo ($group_name) ? $group_name : ''; ?>" size="40" maxlength="40" /><?php
}
else
{
?><b><?php echo ($group_type == GROUP_SPECIAL) ? $user->lang['G_' . $group_name] : $group_name; ?></b><?php
}
?></td>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_DESC']; ?>:</b></td>
<td class="row1"><input class="post" type="text" name="group_description" value="<?php echo ($group_description) ? $group_description : ''; ?>" size="40" maxlength="255" /></td>
</tr>
<?php
if ($group_type != GROUP_SPECIAL)
{
?>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_TYPE']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['GROUP_TYPE_EXPLAIN']; ?></span></td>
<td class="row1" nowrap="nowrap"><input type="radio" name="group_type" value="<?php echo GROUP_FREE . '"' . $type_free; ?> /> <?php echo $user->lang['GROUP_OPEN']; ?> &nbsp; <input type="radio" name="group_type" value="<?php echo GROUP_OPEN . '"' . $type_open; ?> /> <?php echo $user->lang['GROUP_REQUEST']; ?> &nbsp; <input type="radio" name="group_type" value="<?php echo GROUP_CLOSED . '"' . $type_closed; ?> /> <?php echo $user->lang['GROUP_CLOSED']; ?> &nbsp; <input type="radio" name="group_type" value="<?php echo GROUP_HIDDEN . '"' . $type_hidden; ?>" /> <?php echo $user->lang['GROUP_HIDDEN']; ?></td>
</tr>
<?php
}
?>
<tr>
<th colspan="2"><?php echo $user->lang['GROUP_SETTINGS_SAVE']; ?></th>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_RECEIVE_PM']; ?>:</b></td>
<td class="row1" nowrap="nowrap"><input type="checkbox" name="group_receive_pm"<?php echo (isset($group_row['group_receive_pm']) && $group_row['group_receive_pm']) ? ' checked="checked"' : ''; ?> /></td>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_MESSAGE_LIMIT']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['GROUP_MESSAGE_LIMIT_EXPLAIN']; ?></span></td>
<td class="row1" nowrap="nowrap"><input class="post" type="text" maxlength="4" size="4" name="group_message_limit" value="<?php echo (isset($group_row['group_message_limit'])) ? $group_row['group_message_limit'] : 0; ?>" /></td>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_COLOR']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['GROUP_COLOR_EXPLAIN']; ?></span></td>
<td class="row1" nowrap="nowrap"><input class="post" type="text" name="group_colour" value="<?php echo (isset($group_row['group_colour'])) ? $group_row['group_colour'] : ''; ?>" size="6" maxlength="6" /> &nbsp; [ <a href="<?php echo "swatch.$phpEx"; ?>" onclick="swatch();return false" target="_swatch"><?php echo $user->lang['COLOUR_SWATCH']; ?></a> ]</td>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_RANK']; ?>:</b></td>
<td class="row1"><select name="group_rank"><?php echo $rank_options; ?></select></td>
</tr>
<tr>
<th colspan="2"><?php echo $user->lang['GROUP_AVATAR']; ?></th>
</tr>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['CURRENT_IMAGE']; ?>: </b><br /><span class="gensmall"><?php echo sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)); ?></span></td>
<td class="row1" align="center"><br /><?php echo $avatar_img; ?><br /><br /><input type="checkbox" name="delete" />&nbsp;<span class="gensmall"><?php echo $user->lang['DELETE_AVATAR']; ?></span></td>
</tr>
<?php
// Can we upload?
if ($can_upload)
{
?>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['UPLOAD_AVATAR_FILE']; ?>: </b></td>
<td class="row1"><input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $config['avatar_max_filesize']; ?>" /><input class="post" type="file" name="uploadfile" /></td>
</tr>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['UPLOAD_AVATAR_URL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['UPLOAD_AVATAR_URL_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="uploadurl" size="40" value="" /></td>
</tr>
<?php
}
?>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['LINK_REMOTE_AVATAR']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LINK_REMOTE_AVATAR_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="remotelink" size="40" value="" /></td>
</tr>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['LINK_REMOTE_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LINK_REMOTE_SIZE_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="width" size="3" value="<?php echo (isset($group_row['group_avatar_width'])) ? $group_row['group_avatar_width'] : ''; ?>" /> <span class="gen">px X </span> <input class="post" type="text" name="height" size="3" value="<?php echo (isset($group_row['group_avatar_height'])) ? $group_row['group_avatar_height'] : ''; ?>" /> <span class="gen">px</span></td>
</tr>
<?php
// Do we have a gallery?
if ($config['allow_avatar_local'] && !$display_gallery)
{
?>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['AVATAR_GALLERY']; ?>: </b></td>
<td class="row1"><input class="btnlite" type="submit" name="displaygallery" value="<?php echo $user->lang['DISPLAY_GALLERY']; ?>" /></td>
</tr>
<?php
}
// Do we want to display it?
if ($config['allow_avatar_local'] && $display_gallery)
{
?>
<tr>
<th colspan="2"><?php echo $user->lang['AVATAR_GALLERY']; ?></th>
</tr>
<tr>
<td class="cat" colspan="2" align="center" valign="middle"><span class="genmed"><?php echo $user->lang['AVATAR_CATEGORY']; ?>: </span><select name="avatarcat">{S_CAT_OPTIONS}</select>&nbsp; <span class="genmed"><?php echo $user->lang['AVATAR_PAGE']; ?>: </span><select name="avatarpage">{S_PAGE_OPTIONS}</select>&nbsp;<input class="btnlite" type="submit" value="<?php echo $user->lang['GO']; ?>" name="avatargallery" /></td>
</tr>
<tr>
<td class="row1" colspan="2" align="center">
<table cellspacing="1" cellpadding="4" border="0">
<!-- BEGIN avatar_row -->
<tr>
<!-- BEGIN avatar_column -->
<td class="row1" align="center"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
<!-- END avatar_column -->
</tr>
<tr>
<!-- BEGIN avatar_option_column -->
<td class="row2" align="center"><input type="radio" name="avatarselect" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
<!-- END avatar_option_column -->
</tr>
<!-- END avatar_row -->
</table>
</td>
</tr>
<?php
}
?>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="update" value="<?php echo $user->lang['SUBMIT']; ?>" /> &nbsp; <input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" /></td>
</tr>
</table>
</form>
<?php
adm_page_footer();
break;
}
if ($mode == 'list' || $group_id)
{
if (!$group_id)
{
trigger_error($user->lang['NO_GROUP']);
}
?>
<h1><?php echo $user->lang['GROUP_MEMBERS']; ?></h1>
<p><?php echo $user->lang['GROUP_MEMBERS_EXPLAIN']; ?></p>
<form name="list" method="post" action="<?php echo "admin_groups.$phpEx$SID&amp;mode=$mode&amp;g=$group_id"; ?>">
<table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th width="55%"><?php echo $user->lang['USERNAME']; ?></th>
<th width="3%" nowrap="nowrap"><?php echo $user->lang['GROUP_DEFAULT']; ?></th>
<th width="20%"><?php echo $user->lang['JOINED']; ?></th>
<th width="20%"><?php echo $user->lang['POSTS']; ?></th>
<th width="2%"><?php echo $user->lang['MARK']; ?></th>
</tr>
<?php
// Total number of group leaders
$sql = 'SELECT COUNT(user_id) AS total_leaders
FROM ' . USER_GROUP_TABLE . "
WHERE group_id = $group_id
AND group_leader = 1";
$result = $db->sql_query($sql);
$total_leaders = ($row = $db->sql_fetchrow($result)) ? $row['total_leaders'] : 0;
$db->sql_freeresult($result);
// Total number of group members (non-leaders)
$sql = 'SELECT COUNT(user_id) AS total_members
FROM ' . USER_GROUP_TABLE . "
WHERE group_id = $group_id
AND group_leader <> 1";
$result = $db->sql_query($sql);
$total_members = ($row = $db->sql_fetchrow($result)) ? $row['total_members'] : 0;
$db->sql_freeresult($result);
// Grab the members
$sql = 'SELECT u.user_id, u.username, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug
WHERE ug.group_id = $group_id
AND u.user_id = ug.user_id
ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username ";
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$leader = $member = 0;
$group_data = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$type = ($row['group_leader']) ? 'leader' : 'member';
$group_data[$type][$$type]['user_id'] = $row['user_id'];
$group_data[$type][$$type]['group_id'] = $row['group_id'];
$group_data[$type][$$type]['username'] = $row['username'];
$group_data[$type][$$type]['user_regdate'] = $row['user_regdate'];
$group_data[$type][$$type]['user_posts'] = $row['user_posts'];
$group_data[$type][$$type]['user_pending'] = ($row['user_pending']) ? 1 : 0;
$$type++;
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
if ($group_row['group_type'] != GROUP_SPECIAL)
{
?>
<tr>
<td class="row3" colspan="5"><b><?php echo $user->lang['GROUP_LEAD']; ?></b></td>
</tr>
<?php
if (sizeof($group_data['leader']))
{
$row_class = '';
foreach ($group_data['leader'] as $row)
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>"><a href="<?php echo "admin_users.$phpEx$SID&amp;mode=edit&amp;u=" . $row['user_id']; ?>"><?php echo $row['username']; ?></a></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo ($row['group_id'] == $group_id) ? $user->lang['YES'] : $user->lang['NO']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $user->format_date($row['user_regdate'], $user->lang['DATE_FORMAT']); ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['user_posts']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><input class="checkbox" type="checkbox" name="mark[]" value="<?php echo $row['user_id']; ?>" /></td>
</tr>
<?php
}
}
else
{
?>
<tr>
<td class="row1" colspan="5" align="center"><?php echo $user->lang['GROUPS_NO_MODS']; ?></td>
</tr>
<?php
}
}
?>
<tr>
<td class="row3" colspan="5"><b><?php echo $user->lang['GROUP_APPROVED']; ?></b></td>
</tr>
<?php
if (sizeof($group_data['member']))
{
$row_class = '';
$pending = false;
foreach ($group_data['member'] as $row)
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
if ($row['user_pending'] && !$pending)
{
?>
<tr>
<td class="row3" colspan="5"><b><?php echo $user->lang['GROUP_PENDING']; ?></b></td>
</tr>
<?php
$pending = true;
}
?>
<tr class="<?php echo $row_class; ?>">
<td><a href="<?php echo "admin_users.$phpEx$SID&amp;mode=edit&amp;u=" . $row['user_id']; ?>"><?php echo $row['username']; ?></a></td>
<td align="center"><?php echo ($row['group_id'] == $group_id) ? $user->lang['YES'] : $user->lang['NO']; ?></td>
<td align="center"><?php echo ($row['user_regdate']) ? $user->format_date($row['user_regdate'], $user->lang['DATE_FORMAT']) : '-'; ?></td>
<td align="center"><?php echo $row['user_posts']; ?></td>
<td align="center"><input class="checkbox" type="checkbox" name="mark[]" value="<?php echo $row['user_id']; ?>" /></td>
</tr>
<?php
}
}
else
{
?>
<tr>
<td class="row1" colspan="5" align="center"><?php echo $user->lang['GROUPS_NO_MEMBERS']; ?></td>
</tr>
<?php
}
?>
<tr>
<td class="cat" colspan="5" align="right">
<select name="action"><option class="sep" value=""><?php echo $user->lang['SELECT_OPTION']; ?></option><?php
foreach (array('default' => 'DEFAULT', 'approve' => 'APPROVE', 'demote' => 'DEMOTE', 'promote' => 'PROMOTE', 'deleteusers' => 'DELETE') as $option => $lang)
{
echo '<option value="' . $option . '">' . $user->lang['GROUP_' . $lang] . '</option>';
}
?>
</select> <input class="btnmain" type="submit" name="update" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;
</td>
</tr>
</table>
<table width="95%" cellspacing="1" cellpadding="1" border="0" align="center">
<tr>
<td valign="top"><?php echo on_page($total_members, $config['topics_per_page'], $start); ?></td>
<td align="right">
<b class="gensmall"><a href="javascript:marklist('list', true);"><?php echo $user->lang['MARK_ALL']; ?></a> :: <a href="javascript:marklist('list', false);"><?php echo $user->lang['UNMARK_ALL']; ?></a></b>&nbsp;<br />
<span class="nav"><?php echo generate_pagination("admin_groups.$phpEx$SID&amp;action=$action&amp;mode=$mode&amp;g=$group_id", $total_members, $config['topics_per_page'], $start, true); ?></span>
</td>
</tr>
</table>
<h1><?php echo $user->lang['ADD_USERS']; ?></h1>
<p><?php echo $user->lang['ADD_USERS_EXPLAIN']; ?></p>
<table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['ADD_USERS']; ?></th>
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['USER_GROUP_LEADER']; ?>:</b></span></td>
<td class="row2"><input type="radio" name="leader" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="leader" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['USER_GROUP_DEFAULT']; ?>:</b> <br /><span class="gensmall"><?php echo $user->lang['USER_GROUP_DEFAULT_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="default" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="default" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['USERNAME']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['USERNAMES_EXPLAIN']; ?><br />[ <a href="<?php echo "../memberlist.$phpEx$SID&amp;mode=searchuser&amp;form=list&amp;field=usernames"; ?>" target="usersearch"><?php echo $user->lang['FIND_USERNAME']; ?></a> ]</span></td>
<td class="row2"><textarea name="usernames" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="addusers" value="<?php echo $user->lang['SUBMIT']; ?>" /></td>
</tr>
</table>
</form>
<?php
adm_page_footer();
}
?>
<h1><?php echo $user->lang['GROUP_MANAGE']; ?></h1>
<p><?php echo $user->lang['GROUP_MANAGE_EXPLAIN']; ?></p>
<h1><?php echo $user->lang['USER_DEF_GROUPS']; ?></h1>
<p><?php echo $user->lang['USER_DEF_GROUPS_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_groups.$phpEx$SID&amp;mode=$mode"; ?>">
<table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th width="95%"><?php echo $user->lang['MANAGE']; ?></th>
<th nowrap="nowrap"><?php echo $user->lang['TOTAL_MEMBERS']; ?></th>
<th colspan="3"><?php echo $user->lang['OPTIONS']; ?></th>
</tr>
<?php
$sql = 'SELECT g.group_id, g.group_name, g.group_type, COUNT(ug.user_id) AS total_members
FROM (' . GROUPS_TABLE . ' g
LEFT JOIN ' . USER_GROUP_TABLE . ' ug USING (group_id))
GROUP BY g.group_id
ORDER BY g.group_type ASC, g.group_name';
$result = $db->sql_query($sql);
$special = $normal = 0;
$group_ary = array();
while ($row = $db->sql_fetchrow($result) )
{
$type = ($row['group_type'] == GROUP_SPECIAL) ? 'special' : 'normal';
$group_ary[$type][$$type]['group_id'] = $row['group_id'];
$group_ary[$type][$$type]['group_name'] = $row['group_name'];
$group_ary[$type][$$type]['group_type'] = $row['group_type'];
$group_ary[$type][$$type]['total_members'] = $row['total_members'];
$$type++;
}
$db->sql_freeresult($result);
$special_toggle = false;
foreach ($group_ary as $type => $row_ary)
{
if ($type == 'special')
{
?>
<tr>
<td class="cat" colspan="5" align="right"><?php echo $user->lang['CREATE_GROUP']; ?>: <input class="post" type="text" name="group_name" maxlength="30" /> <input class="btnmain" type="submit" name="add" value="<?php echo $user->lang['SUBMIT']; ?>" /></td>
</tr>
</table>
<h1><?php echo $user->lang['SPECIAL_GROUPS']; ?></h1>
<p><?php echo $user->lang['SPECIAL_GROUPS_EXPLAIN']; ?></p>
<table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th width="95%"><?php echo $user->lang['MANAGE']; ?></th>
<th><?php echo $user->lang['TOTAL_MEMBERS']; ?></th>
<th colspan="3"><?php echo $user->lang['OPTIONS']; ?></th>
</tr>
<?php
}
$row_class = '';
foreach ($row_ary as $row)
{
$row_class = ($row_class != 'row1') ? 'row1' : 'row2';
$group_id = $row['group_id'];
$group_name = (!empty($user->lang['G_' . $row['group_name']]))? $user->lang['G_' . $row['group_name']] : $row['group_name'];
?>
<tr class="<?php echo $row_class; ?>">
<td width="95%"><a href="admin_groups.<?php echo "$phpEx$SID&amp;mode=$mode&amp;action=list&amp;g=$group_id"; ?>"><?php echo $group_name; ?></a></td>
<td align="center" nowrap="nowrap">&nbsp;<?php echo $row['total_members']; ?>&nbsp;</td>
<td align="center" nowrap="nowrap">&nbsp;<a href="<?php echo "admin_groups.$phpEx$SID&amp;mode=$mode&amp;action=default&amp;g=$group_id"; ?>"><?php echo $user->lang['GROUP_DEFAULT']; ?></a>&nbsp;</td>
<td align="center" nowrap="nowrap">&nbsp;<a href="<?php echo "admin_groups.$phpEx$SID&amp;mode=$mode&amp;action=edit&amp;g=$group_id"; ?>"><?php echo $user->lang['EDIT']; ?></a>&nbsp;</td>
<td align="center" nowrap="nowrap">&nbsp;<?php
echo ($row['group_type'] != GROUP_SPECIAL) ? "<a href=\"admin_groups.$phpEx$SID&amp;mode=$mode&amp;action=delete&amp;g=$group_id\">" . $user->lang['DELETE'] . '</a>' : $user->lang['DELETE'];
?>&nbsp;</td>
</tr>
<?php
}
}
?>
<tr>
<td class="cat" colspan="5">&nbsp;</td>
</tr>
</table>
</form>
<?php
adm_page_footer();
break;
// Setting groupwide preferences
case 'prefs':
adm_page_header($user->lang['GROUP_PREFS']);
if ($update)
{
$user_lang = request_var('lang', '');
$user_tz = request_var('tz', 0.0);
$user_dst = request_var('dst', 0);
}
else
{
}
?>
<h1><?php echo $user->lang['GROUP_SETTINGS']; ?></h1>
<p><?php echo $user->lang['GROUP_SETTINGS_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_groups.$phpEx$SID&amp;action=edit&amp;g=$group_id"; ?>"><table class="bg" width="90%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['GROUP_SETTINGS']; ?></th>
</tr>
<tr>
<td class="row2"><?php echo $user->lang['GROUP_LANG']; ?>:</td>
<td class="row1"><select name="user_lang"><?php echo '<option value="-1" selected="selected">' . $user->lang['USER_DEFAULT'] . '</option>' . language_select(); ?></select></td>
</tr>
<tr>
<td class="row2"><?php echo $user->lang['GROUP_TIMEZONE']; ?>:</td>
<td class="row1"><select name="user_tz"><?php echo '<option value="-14" selected="selected">' . $user->lang['USER_DEFAULT'] . '</option>' . tz_select(); ?></select></td>
</tr>
<tr>
<td class="row2"><?php echo $user->lang['GROUP_DST']; ?>:</td>
<td class="row1" nowrap="nowrap"><input type="radio" name="user_dst" value="0" /> <?php echo $user->lang['DISABLED']; ?> &nbsp; <input type="radio" name="user_dst" value="1" /> <?php echo $user->lang['ENABLED']; ?> &nbsp; <input type="radio" name="user_dst" value="-1" checked="checked" /> <?php echo $user->lang['USER_DEFAULT']; ?></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="submitprefs" value="<?php echo $user->lang['SUBMIT']; ?>" /> &nbsp; <input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
default:
trigger_error($user->lang['NO_MODE']);
}
exit;
?>

776
phpBB/adm/admin_icons.php Normal file
View File

@@ -0,0 +1,776 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_icons'))
{
return;
}
$filename = basename(__FILE__);
$module['POST']['SMILIES'] = "$filename$SID&amp;mode=smilies";
$module['POST']['ICONS'] = "$filename$SID&amp;mode=icons";
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have general permissions?
if (!$auth->acl_get('a_icons'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Grab some basic parameters
$mode = request_var('mode', '');
$action = request_var('action', '');
$action = (isset($_POST['add'])) ? 'add' : $action;
$action = (isset($_POST['edit'])) ? 'edit' : $action;
$id = request_var('id', 0);
// What are we working on?
switch ($mode)
{
case 'smilies':
$table = SMILIES_TABLE;
$lang = 'SMILIES';
$fields = 'smiley';
$img_path = $config['smilies_path'];
break;
case 'icons':
$table = ICONS_TABLE;
$lang = 'ICONS';
$fields = 'icons';
$img_path = $config['icons_path'];
break;
}
// Clear some arrays
$_images = $_paks = array();
$notice = '';
// Grab file list of paks and images
if ($action == 'edit' || $action == 'add' || $action == 'import')
{
$imglist = filelist($phpbb_root_path . $img_path, '');
foreach ($imglist as $path => $img_ary)
{
foreach ($img_ary as $img)
{
$img_size = @getimagesize($phpbb_root_path . $img_path . '/' . $path . $img);
$_images[$path.$img]['file'] = $path.$img;
$_images[$path.$img]['width'] = $img_size[0];
$_images[$path.$img]['height'] = $img_size[1];
}
}
unset($imglist);
$dir = @opendir($phpbb_root_path . $img_path);
while ($file = @readdir($dir))
{
if (is_file($phpbb_root_path . $img_path . '/' . $file) && preg_match('#\.pak$#i', $file))
{
$_paks[] = $file;
}
}
@closedir($dir);
}
// What shall we do today? Oops, I believe that's trademarked ...
switch ($action)
{
case 'edit':
unset($_images);
$_images = array();
case 'add':
$order_list = '';
$sql = "SELECT *
FROM $table
ORDER BY {$fields}_order " . (($id || $action == 'add') ? 'DESC' : 'ASC');
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
if ($action == 'add')
{
unset($_images[$row[$fields . '_url']]);
}
if ($row[$fields . '_id'] == $id)
{
$after = TRUE;
$data[$row[$fields . '_url']] = $row;
}
else
{
if ($action == 'edit' && !$id)
{
$data[$row[$fields . '_url']] = $row;
}
$selected = '';
if (!empty($after))
{
$selected = ' selected="selected"';
$after = FALSE;
}
$after_txt = ($mode == 'smilies') ? $row['code'] : $row['icons_url'];
$order_list = '<option value="' . ($row[$fields . '_order']) . '"' . $selected . '>' . sprintf($user->lang['AFTER_' . $lang], ' -&gt; ' . htmlspecialchars($after_txt)) . '</option>' . $order_list;
}
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$order_list = '<option value="1"' . ((!isset($after)) ? ' selected="selected"' : '') . '>' . $user->lang['FIRST'] . '</option>' . $order_list;
if ($action == 'add')
{
$data = $_images;
}
$colspan = (($mode == 'smilies') ? '7' : '5');
$colspan += ($id) ? 1 : 0;
$colspan += ($action == 'add') ? 2 : 0;
adm_page_header($user->lang[$lang]);
?>
<h1><?php echo $user->lang[$lang]; ?></h1>
<p><?php echo $user->lang[$lang .'_EXPLAIN']; ?></p>
<form method="post" action="admin_icons.<?php echo $phpEx . $SID . "&amp;mode=$mode&amp;action=" . (($action == 'add') ? 'create' : 'modify'); ?>">
<table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="<?php echo $colspan; ?>"><?php echo $user->lang[$lang . '_CONFIG'] ?></th>
</tr>
<tr>
<td class="cat"><?php echo $user->lang[$lang . '_URL'] ?></td>
<td class="cat"><?php echo $user->lang[$lang . '_LOCATION'] ?></td>
<?php
if ($mode == 'smilies')
{
?>
<td class="cat"><?php echo $user->lang[$lang . '_CODE'] ?></td>
<td class="cat"><?php echo $user->lang[$lang . '_EMOTION'] ?></td>
<?php
}
?>
<td class="cat"><?php echo $user->lang[$lang . '_WIDTH'] ?></td>
<td class="cat"><?php echo $user->lang[$lang . '_HEIGHT'] ?></td>
<td class="cat"><?php echo $user->lang['DISPLAY_ON_POSTING'] ?></td>
<?php
if ($id || $action == 'add')
{
?>
<td class="cat"><?php echo $user->lang[$lang . '_ORDER'] ?></td>
<?php
}
?>
<?php
if ($action == 'add')
{
?>
<td class="cat"><?php echo $user->lang['ADD'] ?></td>
<?php
}
?>
</tr>
<?php
$row = 0;
foreach ($data as $img => $img_row)
{
$row_class = (($row % 2) == 0) ? 'row1' : 'row2';
?>
<tr>
<td align="center" class="<?php echo $row_class; ?>"><img src="<?php echo $phpbb_root_path . $img_path . '/' . $img ?>" border="0" alt="" title="" /><input type="hidden" name="image[<?php echo $img; ?>]" value="1" /></td>
<td valign="top" class="<?php echo $row_class; ?>">[<?php echo $img; ?>]</td>
<?php
if ($mode == 'smilies')
{
?>
<td class="<?php echo $row_class; ?>"><input class="post" type="text" name="code[<?php echo $img; ?>]" value="<?php echo (!empty($img_row['code'])) ? $img_row['code'] : '' ?>" size="10" /></td>
<td class="<?php echo $row_class; ?>"><input class="post" type="text" name="emotion[<?php echo $img; ?>]" value="<?php echo (!empty($img_row['emotion'])) ? $img_row['emotion'] : '' ?>" size="10" /></td>
<?php
}
?>
<td class="<?php echo $row_class; ?>"><input class="post" type="text" size="3" name="width[<?php echo $img; ?>]" value="<?php echo (!empty($img_row[$fields .'_width'])) ? $img_row[$fields .'_width'] : $img_row['width'] ?>" /></td>
<td class="<?php echo $row_class; ?>"><input class="post" type="text" size="3" name="height[<?php echo $img; ?>]" value="<?php echo (!empty($img_row[$fields .'_height'])) ? $img_row[$fields .'_height'] : $img_row['height'] ?>" /></td>
<td class="<?php echo $row_class; ?>"><input type="checkbox" name="display_on_posting[<?php echo $img; ?>]"<?php echo (!empty($img_row['display_on_posting']) || $action == 'add') ? ' checked="checked"' : '' ?> /></td>
<?php
if ($id || $action == 'add')
{
?>
<td class="<?php echo $row_class; ?>"><select name="order[<?php echo $img; ?>]"><?php echo $order_list ?></select></td>
<?php
}
if ($action == 'add')
{
?>
<td class="<?php echo $row_class; ?>"><input type="checkbox" name="add_img[<?php echo $img; ?>]" value="1" /><?php
}
?>
</tr>
<?php
if (isset($img_row[$fields . '_id']))
{
?><input type="hidden" name="id[<?php echo $img; ?>]" value="<?php echo $img_row[$fields . '_id'] ?>" /><?php
}
$row++;
}
?>
<tr>
<td class="cat" colspan="<?php echo $colspan; ?>" align="center"><?php
?><input class="btnmain" type="submit" value="<?php echo $user->lang['SUBMIT'] ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
case 'create':
case 'modify':
// Get items to create/modify
$images = (isset($_POST['image'])) ? array_keys($_POST['image']) : array();
// Now really get the items
$image_id = (isset($_POST['id'])) ? array_map('intval', $_POST['id']) : array();
$image_order = (isset($_POST['order'])) ? array_map('intval', $_POST['order']) : array();
$image_width = (isset($_POST['width'])) ? array_map('intval', $_POST['width']) : array();
$image_height = (isset($_POST['height'])) ? array_map('intval', $_POST['height']) : array();
$image_add = (isset($_POST['add_img'])) ? array_map('intval', $_POST['add_img']) : array();
$image_emotion = request_var('emotion', '');
$image_code = request_var('code', '');
$image_display_on_posting = (isset($_POST['display_on_posting'])) ? array_map('intval', $_POST['display_on_posting']) : array();
foreach ($images as $image)
{
if (($mode == 'smilies' && ($image_emotion[$image] == '' || $image_code[$image] == '')) ||
($action == 'create' && !isset($image_add[$image])))
{
}
else
{
if ($image_width[$image] == 0 || $image_height[$image] == 0)
{
$img_size = @getimagesize($phpbb_root_path . $img_path . '/' . $image);
$image_width[$image] = $img_size[0];
$image_height[$image] = $img_size[1];
}
$img_sql = array(
$fields . '_url' => $image,
$fields . '_width' => $image_width[$image],
$fields . '_height' => $image_height[$image],
'display_on_posting'=> (isset($image_display_on_posting[$image])) ? 1 : 0,
);
if ($mode == 'smilies')
{
$img_sql = array_merge($img_sql, array(
'emotion' => $image_emotion[$image],
'code' => $image_code[$image])
);
}
if (!empty($image_order[$image]))
{
$img_sql = array_merge($img_sql, array(
$fields . '_order' => $image_order[$image] . '.5')
);
}
if ($action == 'modify')
{
$sql = "UPDATE $table
SET " . $db->sql_build_array('UPDATE', $img_sql) . "
WHERE {$fields}_id = " . $image_id[$image];
$db->sql_query($sql);
}
else
{
$sql = "INSERT INTO $table " . $db->sql_build_array('INSERT', $img_sql);
$db->sql_query($sql);
}
$update = FALSE;
if ($action == 'modify' && !empty($image_order[$image]))
{
$update = TRUE;
$result = $db->sql_query("SELECT {$fields}_order
FROM $table
WHERE {$fields}_id = " . $image_id[$image]);
$order_old = $db->sql_fetchfield($fields . '_order', 0, $result);
if ($order_old == $image_order[$image])
{
$update = FALSE;
}
if ($order_old > $image_order[$image])
{
$sign = '+';
$where = $fields . '_order >= ' . $image_order[$image] . " AND {$fields}_order < $order_old";
}
else if ($order_old < $image_order[$image])
{
$sign = '-';
$where = "{$fields}_order > $order_old AND {$fields}_order < " . $image_order[$image];
$sql[$fields . '_order'] = $image_order[$image] - 1;
}
}
if ($update)
{
$sql = "UPDATE $table
SET {$fields}_order = {$fields}_order $sign 1
WHERE $where";
$db->sql_query($sql);
}
}
}
$cache->destroy('icons');
if ($action == 'modify')
{
trigger_error($user->lang[$lang . '_EDITED']);
}
else
{
trigger_error($user->lang[$lang . '_ADDED']);
}
break;
case 'import':
$pak = request_var('pak', '');
$current = request_var('current', '');
if ($pak != '')
{
$order = 0;
// The user has already selected a smilies_pak file
if ($current == 'delete')
{
$db->sql_query("TRUNCATE $table");
switch ($mode)
{
case 'smilies':
break;
case 'icons':
// Reset all icon_ids
$db->sql_query('UPDATE ' . TOPICS_TABLE . '
SET icon_id = 0');
$db->sql_query('UPDATE ' . POSTS_TABLE . '
SET icon_id = 0');
break;
}
}
else
{
$cur_img = array();
$field_sql = ($mode == 'smilies') ? 'code' : 'icons_url';
$result = $db->sql_query("SELECT $field_sql FROM $table");
while ($row = $db->sql_fetchrow($result))
{
++$order;
$cur_img[$row[$field_sql]] = 1;
}
$db->sql_freeresult($result);
}
if (!($pak_ary = @file($phpbb_root_path . $img_path . '/' . $pak)))
{
trigger_error('Could not read pak file', E_USER_ERROR);
}
foreach ($pak_ary as $pak_entry)
{
$data = array();
if (preg_match_all("#'(.*?)', #", $pak_entry, $data))
{
if ((sizeof($data[1]) != 3 && $mode == 'icons') ||
(sizeof($data[1]) != 5 && $mode == 'smilies'))
{
trigger_error($user->lang['WRONG_PAK_TYPE']);
}
$img = stripslashes($data[1][0]);
$width = stripslashes($data[1][1]);
$height = stripslashes($data[1][2]);
if (isset($data[1][3]) && isset($data[1][4]))
{
$emotion = stripslashes($data[1][3]);
$code = htmlentities(stripslashes($data[1][4]));
}
if ($current == 'replace' &&
(($mode == 'smilies' && !empty($cur_img[$code])) ||
($mode == 'icons' && !empty($cur_img[$img]))))
{
$replace_sql = ($mode == 'smilies') ? $code : $img;
$sql = array(
$fields . '_url' => $img,
$fields . '_height' => (int) $height,
$fields . '_width' => (int) $width,
);
if ($mode == 'smilies')
{
$sql = array_merge($sql, array(
'emotion' => $emotion
));
}
$db->sql_query("UPDATE $table SET " . $db->sql_build_array('UPDATE', $sql) . "
WHERE $field_sql = '" . $db->sql_escape($replace_sql) . "'");
}
else
{
++$order;
$sql = array(
$fields . '_url' => $img,
$fields . '_height' => (int) $height,
$fields . '_width' => (int) $width,
$fields . '_order' => (int) $order,
);
if ($mode == 'smilies')
{
$sql = array_merge($sql, array(
'code' => $code,
'emotion' => $emotion
));
}
$db->sql_query("INSERT INTO $table " . $db->sql_build_array('INSERT', $sql));
}
}
}
$cache->destroy('icons');
trigger_error($user->lang[$lang . '_IMPORT_SUCCESS']);
}
else
{
$pak_options = '';
foreach ($_paks as $pak)
{
$pak_options .= '<option value="' . $pak . '">' . htmlspecialchars($pak) . '</option>';
}
adm_page_header($user->lang[$lang]);
?>
<h1><?php echo $user->lang[$lang] ?></h1>
<p><?php echo $user->lang[$lang .'_EXPLAIN'] ?></p>
<form method="post" action="admin_icons.<?php echo $phpEx . $SID . '&amp;mode=' . $mode . '&amp;action=import'; ?>">
<table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang[$lang . '_IMPORT'] ?></th>
</tr>
<?php
if ($pak_options == '')
{
?>
<tr>
<td class="row1" colspan="2"><?php echo $user->lang['NO_' . $lang . '_PAK']; ?></td>
</tr>
<?php
}
else
{
?>
<tr>
<td class="row2"><?php echo $user->lang['SELECT_PACKAGE'] ?></td>
<td class="row1"><select name="pak"><?php echo $pak_options ?></select></td>
</tr>
<tr>
<td class="row2"><?php echo $user->lang['CURRENT_' . $lang] ?><br /><span class="gensmall"><?php echo $user->lang['CURRENT_' . $lang . '_EXPLAIN'] ?></span></td>
<td class="row1"><input type="radio" name="current" value="keep" checked="checked" /> <?php echo $user->lang['KEEP_ALL'] ?>&nbsp; &nbsp;<input type="radio" name="current" value="replace" /> <?php echo $user->lang['REPLACE_MATCHES'] ?>&nbsp; &nbsp;<input type="radio" name="current" value="delete" /> <?php echo $user->lang['DELETE_ALL'] ?>&nbsp;</td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" name="import" type="submit" value="<?php echo $user->lang['IMPORT_' . $lang] ?>" /></td>
</tr>
<?php
}
?>
</table></form>
<?php
adm_page_footer();
}
break;
case 'export':
adm_page_header($user->lang['EXPORT_' . $lang]);
trigger_error(sprintf($user->lang['EXPORT_' . $lang . '_EXPLAIN'], '<a href="admin_icons.' . $phpEx . $SID . '&amp;mode=' . $mode . '&amp;action=send">', '</a>'));
break;
case 'send':
$sql = "SELECT *
FROM $table
ORDER BY {$fields}_order";
$result = $db->sql_query($sql);
$pak = '';
while ($row = $db->sql_fetchrow($result))
{
$pak .= "'" . addslashes($row[$fields . '_url']) . "', ";
$pak .= "'" . addslashes($row[$fields . '_height']) . "', ";
$pak .= "'" . addslashes($row[$fields . '_width']) . "', ";
if ($mode == 'smilies')
{
$pak .= "'" . addslashes($row['emotion']) . "', ";
$pak .= "'" . addslashes($row['code']) . "', ";
}
$pak .= "\n";
}
$db->sql_freeresult($result);
if ($pak != '')
{
$db->sql_close();
header('Content-Type: text/x-delimtext; name="' . $fields . '.pak"');
header('Content-disposition: attachment; filename=' . $fields . '.pak"');
echo $pak;
exit;
}
else
{
trigger_error($user->lang['NO_' . $fields . '_EXPORT']);
}
break;
case 'delete':
$db->sql_query("DELETE FROM $table
WHERE {$fields}_id = $id");
switch ($mode)
{
case 'smilies':
break;
case 'icons':
// Reset appropriate icon_ids
$db->sql_query('UPDATE ' . TOPICS_TABLE . "
SET icon_id = 0
WHERE icon_id = $id");
$db->sql_query('UPDATE ' . POSTS_TABLE . "
SET icon_id = 0
WHERE icon_id = $id");
break;
}
$notice = $user->lang[$lang . '_DELETED'];
case 'move_up':
case 'move_down':
if ($action != 'delete')
{
$image_order = intval($_GET['order']);
$order_total = $image_order * 2 + (($action == 'move_up') ? -1 : 1);
$sql = 'UPDATE ' . $table . '
SET ' . $fields . "_order = $order_total - " . $fields . '_order
WHERE ' . $fields . "_order IN ($image_order, " . (($action == 'move_up') ? $image_order - 1 : $image_order + 1) . ')';
$db->sql_query($sql);
$cache->destroy('icons');
}
// No break; here, display the smilies admin back
default:
// By default, check that image_order is valid and fix it if necessary
$sql = "SELECT {$fields}_id AS order_id, {$fields}_order AS fields_order
FROM $table
ORDER BY {$fields}_order";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$order = 0;
do
{
++$order;
if ($row['fields_order'] != $order)
{
$db->sql_query("UPDATE $table
SET {$fields}_order = $order
WHERE {$fields}_id = " . $row['order_id']);
}
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
// Output the page
adm_page_header($user->lang[$lang]);
?>
<h1><?php echo $user->lang[$lang]; ?></h1>
<p><?php echo $user->lang[$lang .'_EXPLAIN']; ?></p>
<?php
if ($notice != '')
{
?>
<b style="color:green"><?php echo $notice; ?></b>
<?php
}
?>
<form method="post" action="admin_icons.<?php echo $phpEx . $SID . '&amp;mode=' . $mode ?>">
<table cellspacing="1" cellpadding="0" border="0" align="center">
<tr>
<td align="right"> &nbsp;&nbsp; <a href="admin_icons.<?php echo $phpEx . $SID . '&amp;mode=' . $mode . '&amp;action=import'; ?>"><?php echo $user->lang['IMPORT_' . $lang]; ?></a> | <a href="admin_icons.<?php echo $phpEx . $SID . '&amp;mode=' . $mode . '&amp;action=export'; ?>"><?php echo $user->lang['EXPORT_' . $lang]; ?></a></td>
</tr>
<tr>
<td>
<table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $user->lang[$lang]; ?></th>
<?php
if ($mode == 'smilies')
{
?>
<th><?php echo $user->lang['CODE']; ?></th>
<th><?php echo $user->lang['EMOTION']; ?></th>
<?php
}
?>
<th><?php echo $user->lang['ACTION']; ?></th>
<th><?php echo $user->lang['REORDER']; ?></th>
</tr>
<?php
$spacer = FALSE;
$sql = "SELECT *
FROM $table
ORDER BY display_on_posting DESC, {$fields}_order ASC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (!$spacer && !$row['display_on_posting'])
{
$spacer = TRUE;
?>
<tr>
<td class="row3" colspan="<?php echo ($mode == 'smilies') ? 5 : 3; ?>" align="center"><?php echo $user->lang[$lang . '_NOT_DISPLAYED'] ?></td>
</tr>
<?php
}
$row_class = ($row_class != 'row1') ? 'row1' : 'row2';
$alt_text = ($mode == 'smilies') ? htmlspecialchars($row['code']) : '';
?>
<tr>
<td class="<?php echo $row_class; ?>" align="center"><img src="<?php echo $phpbb_root_path . $img_path . '/' . $row[$fields . '_url']; ?>" width="<?php echo $row[$fields . '_width']; ?>" height="<?php echo $row[$fields . '_height']; ?>" alt="<?php echo $alt_text; ?>" title="<?php echo $alt_text; ?>" /></td>
<?php
if ($mode == 'smilies')
{
?>
<td class="<?php echo $row_class; ?>" align="center"><?php echo htmlspecialchars($row['code']); ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['emotion']; ?></td>
<?php
}
?>
<td class="<?php echo $row_class; ?>" align="center"><a href="<?php echo "admin_icons.$phpEx$SID&amp;mode=$mode&amp;action=edit&amp;id=" . $row[$fields . '_id']; ?>"><?php echo $user->lang['EDIT']; ?></a> | <a href="<?php echo "admin_icons.$phpEx$SID&amp;mode=$mode&amp;action=delete&amp;id=" . $row[$fields . '_id']; ?>"><?php echo $user->lang['DELETE']; ?></a></td>
<td class="<?php echo $row_class; ?>" align="center"><a href="<?php echo "admin_icons.$phpEx$SID&amp;mode=$mode&amp;action=move_up&amp;order=" . $row[$fields . '_order']; ?>"><?php echo $user->lang['MOVE_UP']; ?></a> <br /> <a href="<?php echo "admin_icons.$phpEx$SID&amp;mode=$mode&amp;action=move_down&amp;order=" . $row[$fields . '_order']; ?>"><?php echo $user->lang['MOVE_DOWN']; ?></a></td>
</tr>
<?php
}
$db->sql_freeresult($result);
?>
<tr>
<td class="cat" colspan="<?php echo ($mode == 'smilies') ? 5 : 3; ?>" align="center"><input type="submit" name="add" value="<?php echo $user->lang['ADD_' . $lang]; ?>" class="btnmain" />&nbsp;<input type="submit" name="edit" value="<?php echo $user->lang['EDIT_' . $lang]; ?>" class="btnmain" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
adm_page_footer();
break;
}
?>

212
phpBB/adm/admin_jabber.php Normal file
View File

@@ -0,0 +1,212 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
* @todo Check/enter/update transport info
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_server'))
{
return;
}
$module['GENERAL']['IM'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_jabber.'.$phpEx);
// Do we have general permissions?
if (!$auth->acl_get('a_server'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Grab some basic parameters
$submit = (isset($_POST['submit'])) ? true : false;
$jab_enable = request_var('jab_enable', $config['jab_enable']);
$jab_host = request_var('jab_host', $config['jab_host']);
$jab_port = request_var('jab_port', $config['jab_port']);
$jab_username = request_var('jab_username', $config['jab_username']);
$jab_password = request_var('jab_password', $config['jab_password']);
$jab_resource = request_var('jab_resource', $config['jab_resource']);
$jabber = new jabber();
$error = array();
// Setup the basis vars for jabber connection
$jabber->server = $jab_host;
$jabber->port = ($jab_port) ? $jab_port : 5222;
$jabber->username = $jab_username;
$jabber->password = $jab_password;
$jabber->resource = $jab_resource;
// Are changing (or initialising) a new host or username? If so run some checks and
// try to create account if it doesn't exist
if ($jab_enable)
{
if ($jab_host != $config['jab_host'] || $jab_username != $config['jab_username'])
{
if (!$jabber->Connect())
{
trigger_error('Could not connect to Jabber server', E_USER_ERROR);
}
// First we'll try to authorise using this account, if that fails we'll
// try to create it.
if (!($result = $jabber->SendAuth()))
{
if (($result = $jabber->AccountRegistration($config['board_email'], $config['sitename'])) <> 2)
{
$error[] = ($result == 1) ? $user->lang['ERR_JAB_USERNAME'] : sprintf($user->lang['ERR_JAB_REGISTER'], $result);
}
else
{
$message = $user->lang['JAB_REGISTERED'];
$log = 'JAB_REGISTER';
}
}
else
{
$message = $user->lang['JAB_CHANGED'];
$log = 'JAB_CHANGED';
}
sleep(1);
$jabber->Disconnect();
}
else if ($jab_password != $config['jab_password'])
{
if (!$jabber->Connect())
{
trigger_error('Could not connect to Jabber server', E_USER_ERROR);
}
if (!$jabber->SendAuth())
{
trigger_error('Could not authorise on Jabber server', E_USER_ERROR);
}
$jabber->SendPresence(NULL, NULL, 'online');
if (($result = $jabber->ChangePassword($jab_password)) <> 2)
{
$error[] = ($result == 1) ? $user->lang['ERR_JAB_PASSCHG'] : sprintf($user->lang['ERR_JAB_PASSFAIL'], $result);
}
else
{
$message = $user->lang['JAB_PASS_CHANGED'];
$log = 'JAB_PASSCHG';
}
sleep(1);
$jabber->Disconnect();
}
}
// Pull relevant config data
$sql = 'SELECT *
FROM ' . CONFIG_TABLE . "
WHERE config_name LIKE 'jab_%'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$config_name = $row['config_name'];
$config_value = $row['config_value'];
$default_config[$config_name] = $config_value;
$new[$config_name] = (isset($_POST[$config_name])) ? request_var($config_name, '') : $default_config[$config_name];
if ($submit && !sizeof($error))
{
set_config($config_name, $new[$config_name]);
}
}
if ($submit && !sizeof($error))
{
add_log('admin', 'LOG_' . $log);
trigger_error($message);
}
// Output the page
adm_page_header($user->lang['IM']);
$jab_enable_yes = ($new['jab_enable']) ? 'checked="checked"' : '';
$jab_enable_no = (!$new['jab_enable']) ? 'checked="checked"' : '';
?>
<h1><?php echo $user->lang['IM']; ?></h1>
<p><?php echo $user->lang['IM_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_jabber.$phpEx$SID"; ?>"><table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['IM']; ?></th>
</tr>
<?php
if (sizeof($error))
{
?>
<tr>
<td class="row3" colspan="2" align="center"><span style="color:red"><?php echo implode('<br />', $error); ?></td>
</tr>
<?php
}
?>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['JAB_ENABLE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['JAB_ENABLE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="jab_enable" value="1"<?php echo $jab_enable_yes; ?> /><?php echo $user->lang['ENABLED']; ?>&nbsp; &nbsp;<input type="radio" name="jab_enable" value="0"<?php echo $jab_enable_no; ?> /><?php echo $user->lang['DISABLED']; ?></td>
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['JAB_SERVER']; ?>: </b><br /><span class="gensmall"><?php echo sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.jabber.org/user/publicservers.php" target="_blank">', '</a>'); ?></span></td>
<td class="row2"><input class="post" type="text" name="jab_host" value="<?php echo $new['jab_host']; ?>" /></td>
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['JAB_PORT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['JAB_PORT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="jab_port" value="<?php echo $new['jab_port']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['JAB_USERNAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['JAB_USERNAME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="jab_username" value="<?php echo $new['jab_username']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['JAB_PASSWORD']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="jab_password" value="<?php echo $new['jab_password']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['JAB_RESOURCE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['JAB_RESOURCE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="jab_resource" value="<?php echo $new['jab_resource']; ?>" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
?>

1039
phpBB/adm/admin_language.php Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,85 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
$module['GENERAL']['PHP_INFO'] = ($auth->acl_get('a_server')) ? basename(__FILE__) . $SID : '';
return;
}
define('IN_PHPBB', 1);
// Load default header
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Check permissions
if (!$auth->acl_get('a_server'))
{
trigger_error($user->lang['NO_ADMIN']);
}
ob_start();
phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES);
$phpinfo = ob_get_contents();
ob_end_clean();
// Get used layout
$layout = (preg_match('#bgcolor#i', $phpinfo)) ? 'old' : 'new';
// Here we play around a little with the PHP Info HTML to try and stylise
// it along phpBB's lines ... hopefully without breaking anything. The idea
// for this was nabbed from the PHP annotated manual
preg_match_all('#<body[^>]*>(.*)</body>#siU', $phpinfo, $output);
switch ($layout)
{
case 'old':
$output = preg_replace('#<table#', '<table class="bg"', $output[1][0]);
$output = preg_replace('# bgcolor="\#(\w){6}"#', '', $output);
$output = preg_replace('#(\w),(\w)#', '\1, \2', $output);
$output = preg_replace('#border="0" cellpadding="3" cellspacing="1" width="600"#', 'border="0" cellspacing="1" cellpadding="4" width="95%"', $output);
$output = preg_replace('#<tr valign="top"><td align="left">(.*?<a .*?</a>)(.*?)</td></tr>#s', '<tr class="row1"><td style="{background-color: #9999cc;}"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td style="{background-color: #9999cc;}">\2</td><td style="{background-color: #9999cc;}">\1</td></tr></table></td></tr>', $output);
$output = preg_replace('#<tr valign="baseline"><td[ ]{0,1}><b>(.*?)</b>#', '<tr><td class="row1" nowrap="nowrap">\1', $output);
$output = preg_replace('#<td align="(center|left)">#', '<td class="row2">', $output);
$output = preg_replace('#<td>#', '<td class="row2">', $output);
$output = preg_replace('#valign="middle"#', '', $output);
$output = preg_replace('#<tr >#', '<tr>', $output);
$output = preg_replace('#<hr(.*?)>#', '', $output);
$output = preg_replace('#<h1 align="center">#i', '<h1>', $output);
$output = preg_replace('#<h2 align="center">#i', '<h2>', $output);
break;
case 'new':
$output = preg_replace('#<table#', '<table class="bg" align="center"', $output[1][0]);
$output = preg_replace('#(\w),(\w)#', '\1, \2', $output);
$output = preg_replace('#border="0" cellpadding="3" width="600"#', 'border="0" cellspacing="1" cellpadding="4" width="95%"', $output);
$output = preg_replace('#<tr class="v"><td>(.*?<a .*?</a>)(.*?)</td></tr>#s', '<tr class="row1"><td><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td>\2</td><td>\1</td></tr></table></td></tr>', $output);
$output = preg_replace('#<td>#', '<td style="{background-color: #9999cc;}">', $output);
$output = preg_replace('#class="e"#', 'class="row1" nowrap="nowrap"', $output);
$output = preg_replace('#class="v"#', 'class="row2"', $output);
$output = preg_replace('# class="h"#', '', $output);
$output = preg_replace('#<hr />#', '', $output);
preg_match_all('#<div class="center">(.*)</div>#siU', $output, $output);
$output = $output[1][0];
break;
}
adm_page_header($user->lang['PHP_INFO']);
echo '<h1>' . $user->lang['PHP_INFO'] . '</h1>';
echo '<p>' . $user->lang['PHP_INFO_EXPLAIN'] . '</p>';
echo $output;
adm_page_footer();
?>

1335
phpBB/adm/admin_profile.php Normal file

File diff suppressed because it is too large Load Diff

254
phpBB/adm/admin_prune.php Normal file
View File

@@ -0,0 +1,254 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_prune'))
{
return;
}
$module['FORUM']['PRUNE'] = basename(__FILE__) . $SID . '&amp;mode=forums';
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have permission?
if (!$auth->acl_get('a_prune'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Get the forum ID for pruning
$forum_id = (isset($_REQUEST['f'])) ? array_map('intval', $_REQUEST['f']) : array();
// Check for submit to be equal to Prune. If so then proceed with the pruning.
if (isset($_POST['submit']))
{
$prune_posted = (isset($_POST['prune_days'])) ? intval($_POST['prune_days']) : 0;
$prune_viewed = (isset($_POST['prune_vieweddays'])) ? intval($_POST['prune_vieweddays']) : 0;
$prune_all = !$prune_posted && !$prune_viewed;
$prune_flags = 0;
$prune_flags += (!empty($_POST['prune_old_polls'])) ? 2 : 0;
$prune_flags += (!empty($_POST['prune_announce'])) ? 4 : 0;
$prune_flags += (!empty($_POST['prune_sticky'])) ? 8 : 0;
// Convert days to seconds for timestamp functions...
$prunedate_posted = time() - ($prune_posted * 86400);
$prunedate_viewed = time() - ($prune_viewed * 86400);
adm_page_header($user->lang['PRUNE']);
?>
<h1><?php echo $user->lang['PRUNE']; ?></h1>
<p><?php echo $user->lang['PRUNE_SUCCESS']; ?></p>
<table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $user->lang['FORUM']; ?></th>
<th><?php echo $user->lang['TOPICS_PRUNED']; ?></th>
<th><?php echo $user->lang['POSTS_PRUNED']; ?></th>
</tr>
<?php
$sql_forum = (sizeof($forum_id)) ? ' AND forum_id IN (' . implode(', ', $forum_id) . ')' : '';
// Get a list of forum's or the data for the forum that we are pruning.
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE . '
WHERE forum_type = ' . FORUM_POST . "
$sql_forum
ORDER BY left_id ASC";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$prune_ids = array();
$p_result['topics'] = 0;
$p_result['posts'] = 0;
$log_data = '';
do
{
if ($auth->acl_get('f_list', $row['forum_id']))
{
if ($prune_all)
{
$p_result = prune($row['forum_id'], 'posted', time(), $prune_flags, false);
}
else
{
if ($prune_posted)
{
$return = prune($row['forum_id'], 'posted', $prunedate_posted, $prune_flags, false);
$p_result['topics'] += $return['topics'];
$p_result['posts'] += $return['posts'];
}
if ($prune_viewed)
{
$return = prune($row['forum_id'], 'viewed', $prunedate_viewed, $prune_flags, false);
$p_result['topics'] += $return['topics'];
$p_result['posts'] += $return['posts'];
}
}
$prune_ids[] = $row['forum_id'];
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['forum_name']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $p_result['topics']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $p_result['posts']; ?></td>
</tr>
<?php
$log_data .= (($log_data != '') ? ', ' : '') . $row['forum_name'];
}
}
while ($row = $db->sql_fetchrow($result));
// Sync all pruned forums at once
sync('forum', 'forum_id', $prune_ids, TRUE);
add_log('admin', 'LOG_PRUNE', $log_data);
}
else
{
?>
<tr>
<td class="row1" align="center"><?php echo $user->lang['NO_PRUNE']; ?></td>
</tr>
<?php
}
$db->sql_freeresult($result);
?>
</table>
<br clear="all" />
<?php
adm_page_footer();
}
adm_page_header($user->lang['PRUNE']);
?>
<h1><?php echo $user->lang['PRUNE']; ?></h1>
<p><?php echo $user->lang['FORUM_PRUNE_EXPLAIN']; ?></p>
<?php
// If they haven't selected a forum for pruning yet then
// display a select box to use for pruning.
if (!$forum_id)
{
?>
<form method="post" action="<?php echo "admin_prune.$phpEx$SID"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th align="center"><?php echo $user->lang['SELECT_FORUM']; ?></th>
</tr>
<tr>
<td class="row1" align="center"><select name="f[]" multiple="true" size="5"><?php echo make_forum_select(false, false, false); ?></select></td>
</tr>
<tr>
<td class="cat" align="center"><input class="btnmain" type="submit" value="<?php echo $user->lang['LOOK_UP_FORUM']; ?>" />&nbsp; <input type="reset" value="<?php echo $user->lang['RESET']; ?>" class="btnlite" /></td>
</tr>
</table></form>
<?php
}
else
{
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE . '
WHERE forum_id IN (' . implode(', ', $forum_id) . ')';
$result = $db->sql_query($sql);
if (!($row = $db->sql_fetchrow($result)))
{
trigger_error($user->lang['NO_FORUM']);
}
$forum_list = $s_hidden_fields = '';
do
{
$forum_list .= (($forum_list != '') ? ', ' : '') . '<b>' . $row['forum_name'] . '</b>';
$s_hidden_fields .= '<input type="hidden" name="f[]" value="' . $row['forum_id'] . '" />';
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
$l_selected_forums = (sizeof($forum_id) == 1) ? 'SELECTED_FORUM' : 'SELECTED_FORUMS';
?>
<h2><?php echo $user->lang['FORUM']; ?></h2>
<p><?php echo $user->lang[$l_selected_forums] . ': ' . $forum_list; ?></p>
<form method="post" action="<?php echo "admin_prune.$phpEx$SID"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['FORUM_PRUNE']; ?></th>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['PRUNE_NOT_POSTED']; ?></td>
<td class="row2"><input type="text" name="prune_days" size="4" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['PRUNE_NOT_VIEWED']; ?></td>
<td class="row2"><input type="text" name="prune_vieweddays" size="4" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['PRUNE_OLD_POLLS'] ?>: <br /><span class="gensmall"><?php echo $user->lang['PRUNE_OLD_POLLS_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="prune_old_polls" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="prune_old_polls" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['PRUNE_ANNOUNCEMENTS'] ?>: </td>
<td class="row2"><input type="radio" name="prune_announce" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="prune_announce" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['PRUNE_STICKY'] ?>: </td>
<td class="row2"><input type="radio" name="prune_sticky" value="1" /> <?php echo $user->lang['YES']; ?> &nbsp; <input type="radio" name="prune_sticky" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><?php echo $s_hidden_fields; ?><input type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" class="btnmain"></td>
</tr>
</table></form>
<?php
}
adm_page_footer();
?>

View File

@@ -0,0 +1,254 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_userdel'))
{
return;
}
$module['USER']['PRUNE_USERS'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have forum admin permissions?
if (!$auth->acl_get('a_userdel'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Set mode
$mode = (isset($_REQUEST['mode'])) ? htmlspecialchars($_REQUEST['mode']) : '';
// Do prune
if (isset($_POST['prune']))
{
if (empty($_POST['confirm']))
{
$values = array('prune', 'deactivate', 'delete', 'users', 'username', 'email', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'deleteposts');
$l_message = '<form method="post" action="admin_prune_users.' . $phpEx . $SID . '">' . $user->lang['Confirm_prune_users'] . '<br /><br /><input class="btnlite" type="submit" name="confirm" value="' . $user->lang['Yes'] . '" />&nbsp;&nbsp;<input class="btnlite" type="submit" name="cancel" value="' . $user->lang['No'] . '" />';
foreach ($values as $field)
{
$l_message .= (!empty($_POST[$field])) ? '<input type="hidden" name="' . $field . '" value="' . urlencode($_POST[$field]) . '" />' : '';
}
$l_message .= '</form>';
adm_page_header($user->lang['Prune_users']);
?>
<h1><?php echo $user->lang['PRUNE_USERS']; ?></h1>
<p><?php echo $user->lang['PRUNE_USERS_EXPLAIN']; ?></p>
<?php
page_message($user->lang['CONFIRM'], $l_message, false);
adm_page_footer();
}
else if (isset($_POST['confirm']))
{
if (!empty($_POST['users']))
{
$users = explode("\n", urldecode($_POST['users']));
$where_sql = '';
foreach ($users as $username)
{
$where_sql .= (($where_sql != '') ? ', ' : '') . '\'' . trim($username) . '\'';
}
$where_sql = " AND username IN ($where_sql)";
}
else
{
$username = (!empty($_POST['username'])) ? urldecode($_POST['username']) : '';
$email = (!empty($_POST['email'])) ? urldecode($_POST['email']) : '';
$joined_select = (!empty($_POST['joined_select'])) ? $_POST['joined_select'] : 'lt';
$active_select = (!empty($_POST['active_select'])) ? $_POST['active_select'] :'lt';
$count_select = (!empty($_POST['count_select'])) ? $_POST['count_select'] : 'eq';
$joined = (!empty($_POST['joined'])) ? explode('-', $_POST['joined']) : array();
$active = (!empty($_POST['active'])) ? explode('-', $_POST['active']) :array();
$count = (!empty($_POST['count'])) ? intval($_POST['count']) : '';
$key_match = array('lt' => '<', 'gt' => '>', 'eq' => '=');
$sort_by_types = array('username', 'user_email', 'user_posts', 'user_regdate', 'user_lastvisit');
$where_sql = '';
$where_sql .= ($username) ? " AND username LIKE '" . str_replace('*', '%', $username) ."'" : '';
$where_sql .= ($email) ? " AND user_email LIKE '" . str_replace('*', '%', $email) ."' " : '';
$where_sql .= ($joined) ? " AND user_regdate " . $key_match[$joined_select] . " " . gmmktime(0, 0, 0, intval($joined[1]), intval($joined[2]), intval($joined[0])) : '';
$where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . " $count " : '';
$where_sql .= ($active) ? " AND user_lastvisit " . $key_match[$active_select] . " " . gmmktime(0, 0, 0, $active[1], intval($active[2]), intval($active[0])) : '';
}
$sql = 'SELECT username, user_id FROM ' . USERS_TABLE . '
WHERE user_id <> ' . ANONYMOUS . "
$where_sql";
$result = $db->sql_query($sql);
$where_sql = '';
$user_ids = array();
$usernames = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$where_sql .= (($where_sql != '') ? ', ' : '') . $row['user_id'];
$user_ids[] = $row['user_id'];
$usernames[] = $row['username'];
}
while ($row = $db->sql_fetchrow($result));
$where_sql = " AND user_id IN ($where_sql)";
}
$db->sql_freeresult($result);
if ($where_sql != '')
{
$sql = '';
if (!empty($_POST['delete']))
{
if (!empty($_POST['deleteposts']))
{
// Call unified post deletion routine?
$l_log = 'LOG_PRUNE_USER_DEL_DEL';
}
else
{
for($i = 0; $i < sizeof($user_ids); $i++)
{
$sql = 'UPDATE ' . POSTS_TABLE . '
SET poster_id = ' . ANONYMOUS . ", post_username = '" . $usernames[$i] . "'
WHERE user_id = " . $userids[$i];
// $db->sql_query($sql);
}
$l_log = 'LOG_PRUNE_USER_DEL_ANON';
}
$sql = 'DELETE FROM ' . USERS_TABLE;
}
else if (!empty($_POST['deactivate']))
{
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_active = 0";
$l_log = 'LOG_PRUNE_USER_DEAC';
}
$sql .= ' WHERE user_id <> ' . ANONYMOUS . "
$where_sql";
// $db->sql_query($sql);
add_log('admin', $l_log, implode(', ', $usernames));
unset($user_ids);
unset($usernames);
}
trigger_error($user->lang['SUCCESS_USER_PRUNE']);
}
}
// Front end
$find_count = array('lt' => $user->lang['LESS_THAN'], 'eq' => $user->lang['EQUAL_TO'], 'gt' => $user->lang['MORE_THAN']);
$s_find_count = '';
foreach ($find_count as $key => $value)
{
$selected = ($key == 'eq') ? ' selected="selected"' : '';
$s_find_count .= '<option value="' . $key . '"' . $selected . '>' . $value . '</option>';
}
$find_time = array('lt' => $user->lang['BEFORE'], 'gt' => $user->lang['AFTER']);
$s_find_join_time = '';
foreach ($find_time as $key => $value)
{
$s_find_join_time .= '<option value="' . $key . '">' . $value . '</option>';
}
$s_find_active_time = '';
foreach ($find_time as $key => $value)
{
$s_find_active_time .= '<option value="' . $key . '">' . $value . '</option>';
}
//
//
//
adm_page_header($user->lang['PRUNE_USERS']);
?>
<h1><?php echo $user->lang['PRUNE_USERS']; ?></h1>
<p><?php echo $user->lang['PRUNE_USERS_EXPLAIN']; ?></p>
<form method="post" name="post" action="<?php echo "admin_prune_users.$phpEx$SID"; ?>"><table class="bg" width="95%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['PRUNE_USERS']; ?></th>
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['USERNAME']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="username" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['EMAIL']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="email" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['JOINED']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['Joined_explain']; ?></span></td>
<td class="row2"><select name="joined_select"><?php echo $s_find_join_time; ?></select> <input class="post" type="text" name="joined" maxlength="10" size="10" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['LAST_ACTIVE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['Last_active_explain']; ?></span></td>
<td class="row2"><select name="active_select"><?php echo $s_find_active_time; ?></select> <input class="post" type="text" name="active" maxlength="10" size="10" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['POSTS']; ?>: </b></td>
<td class="row2"><select name="count_select"><?php echo $s_find_count; ?></select> <input class="post" type="text" name="count" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['PRUNE_USERS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SELECT_USERS_EXPLAIN']; ?></span></td>
<td class="row2"><textarea name="users" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['DELETE_USER_POSTS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DELETE_USER_POSTS_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="deleteposts" value="1" /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="deleteposts" value="0" checked="checked" /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['DEACTIVATE_DELETE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DEACTIVATE_DELETE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="action" value="delete" /> <?php echo $user->lang['DELETE_USERS']; ?>&nbsp;&nbsp;<input type="radio" name="action" value="deactivate" checked="checked" /> <?php echo $user->lang['DEACTIVATE']; ?></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnlite" type="submit" name="update" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input type="submit" name="usersubmit" value="<?php echo $user->lang['FIND_USERNAME']; ?>" class="btnlite" onClick="window.open('<?php echo "../search.$phpEx$SID&amp;mode=searchuser&amp;field=users"; ?>', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=650');return false;" /><input type="hidden" name="prune" value="1" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
?>

324
phpBB/adm/admin_ranks.php Normal file
View File

@@ -0,0 +1,324 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_ranks'))
{
return;
}
$module['USER']['RANKS'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Let's set the root dir for phpBB
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have permission?
if (!$auth->acl_get('a_ranks'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Check mode
if (isset($_REQUEST['mode']))
{
$mode = $_REQUEST['mode'];
}
else
{
// These could be entered via a form button
if (isset($_POST['add']))
{
$mode = 'add';
}
else if (isset($_POST['save']))
{
$mode = 'save';
}
else
{
$mode = '';
}
}
$rank_id = (isset($_GET['id'])) ? intval($_GET['id']) : 0;
//
switch ($mode)
{
case 'edit':
case 'add':
$data = $ranks = $existing_imgs = array();
$result = $db->sql_query('SELECT *
FROM ' . RANKS_TABLE . '
ORDER BY rank_special DESC, rank_min DESC');
if ($row = $db->sql_fetchrow($result))
{
do
{
$existing_imgs[] = $row['rank_image'];
if ($mode == 'edit' && $rank_id == $row['rank_id'])
{
$ranks = $row;
}
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$imglist = filelist($phpbb_root_path . $config['ranks_path'], '');
$edit_img = $filename_list = '';
foreach ($imglist as $path => $img_ary)
{
foreach ($img_ary as $img)
{
$img = substr($path, 1) . (($path != '') ? '/' : '') . $img;
if (!in_array($img, $existing_imgs) || $mode == 'edit')
{
if ($ranks && $img == $ranks['rank_image'])
{
$selected = ' selected="selected"';
$edit_img = $img;
}
else
{
$selected = '';
}
$filename_list .= '<option value="' . htmlspecialchars($img) . '"' . $selected . '>' . $img . '</option>';
}
}
}
$filename_list = '<option value=""' . (($edit_img == '') ? ' selected="selected"' : '') . '>----------</option>' . $filename_list;
unset($existing_imgs);
unset($imglist);
// They want to add a new rank, show the form.
$s_hidden_fields = '<input type="hidden" name="mode" value="save" />';
adm_page_header($user->lang['RANKS']);
?>
<script language="javascript" type="text/javascript" defer="defer">
<!--
function update_image(newimage)
{
document.image.src = (newimage) ? "<?php echo $phpbb_root_path . $config['ranks_path']; ?>/" + newimage : "../images/spacer.gif";
}
function update_image_dimensions()
{
if (document.image.height && document.forms[0].height)
{
document.forms[0].height.value = document.image.height;
document.forms[0].width.value = document.image.width;
}
}
//-->
</script>
<h1><?php echo $user->lang['RANKS']; ?></h1>
<p><?php echo $user->lang['RANKS_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_ranks.$phpEx$SID&amp;id=$rank_id"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['RANKS']; ?></th>
</tr>
<tr>
<td class="row1" width="40%"><?php echo $user->lang['RANK_TITLE']; ?>: </td>
<td class="row2"><input class="post" type="text" name="title" size="25" maxlength="40" value="<?php echo $ranks['rank_title']; ?>" /></td>
</tr>
<tr>
<td class="row1" width="40%"><?php echo $user->lang['RANK_IMAGE']; ?>:</td>
<td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="middle"><select name="rank_image" onchange="update_image(this.options[selectedIndex].value);"><?php echo $filename_list ?></select></td>
<td>&nbsp;&nbsp;</td>
<td valign="middle"><img src="<?php echo ($edit_img) ? $phpbb_root_path . $config['ranks_path'] . '/' . $edit_img : '../images/spacer.gif' ?>" name="image" border="0" alt="" title="" onload="update_image_dimensions()" /></td>
</tr>
</table></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['RANK_SPECIAL']; ?>: </td>
<td class="row2"><input type="radio" name="special_rank" value="1"<?php echo ($ranks['rank_special']) ? ' checked="checked"' : ''; ?> /><?php echo $user->lang['YES']; ?> &nbsp;&nbsp;<input type="radio" name="special_rank" value="0"<?php echo (!$ranks['rank_special']) ? ' checked="checked"' : ''; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['RANK_MINIMUM']; ?>: </td>
<td class="row2"><input class="post" type="text" name="min_posts" size="5" maxlength="10" value="<?php echo ($ranks['rank_special']) ? '' : $ranks['rank_min']; ?>" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><?php echo $s_hidden_fields; ?><input type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="<?php echo $user->lang['RESET']; ?>" class="btnlite" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
case 'save':
//
// Ok, they sent us our info, let's update it.
//
$rank_id = (isset($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0;
$rank_title = (isset($_POST['title'])) ? trim($_POST['title']) : '';
$special_rank = (!empty($_POST['special_rank'])) ? 1 : 0;
$min_posts = (isset($_POST['min_posts'])) ? intval($_POST['min_posts']) : -1;
$rank_image = (isset($_POST['rank_image'])) ? trim(htmlspecialchars($_POST['rank_image'])) : '';
if ($special_rank == 1)
{
$min_posts = -1;
}
// The rank image has to be a jpg, gif or png
if ($rank_image != '' && !preg_match('#(\.gif|\.png|\.jpg|\.jpeg)$#i', $rank_image))
{
$rank_image = '';
}
if ($rank_id)
{
$sql = "UPDATE " . RANKS_TABLE . "
SET rank_title = '" . $db->sql_escape($rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . $db->sql_escape($rank_image) . "'
WHERE rank_id = $rank_id";
$message = $user->lang['RANK_UPDATED'];
}
else
{
$sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)
VALUES ('" . $db->sql_escape($rank_title) . "', $special_rank, $min_posts, '" . $db->sql_escape($rank_image) . "')";
$message = $user->lang['RANK_ADDED'];
}
$db->sql_query($sql);
$cache->destroy('ranks');
trigger_error($message);
break;
case 'delete':
// Ok, they want to delete their rank
$rank_id = (isset($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0;
if ($rank_id)
{
$sql = "DELETE FROM " . RANKS_TABLE . "
WHERE rank_id = $rank_id";
$db->sql_query($sql);
$sql = "UPDATE " . USERS_TABLE . "
SET user_rank = 0
WHERE user_rank = $rank_id";
$db->sql_query($sql);
$cache->destroy('ranks');
trigger_error($user->lang['RANK_REMOVED']);
}
else
{
trigger_error($user->lang['MUST_SELECT_RANK']);
}
break;
default:
adm_page_header($user->lang['RANKS']);
?>
<h1><?php echo $user->lang['RANKS']; ?></h1>
<p><?php echo $user->lang['RANKS_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_ranks.$phpEx$SID"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $user->lang['RANK_IMAGE']; ?></th>
<th><?php echo $user->lang['RANK_TITLE']; ?></th>
<th><?php echo $user->lang['RANK_MINIMUM']; ?></th>
<th><?php echo $user->lang['ACTION']; ?></th>
</tr>
<?php
// Show the default page
$sql = "SELECT * FROM " . RANKS_TABLE . "
ORDER BY rank_min ASC, rank_special ASC";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
$row_class = ($row_class != 'row1') ? 'row1' : 'row2';
?>
<tr>
<td class="<?php echo $row_class; ?>" align="center"><?php
if ($row['rank_image'])
{
?><img src="<?php echo $phpbb_root_path . $config['ranks_path'] . '/' . $row['rank_image']; ?>"" border="0" alt="<?php echo $row['rank_title']; ?>" title="<?php echo $row['rank_title']; ?>" /><?php
}
else
{
echo '-';
}
?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['rank_title']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo ($row['rank_special']) ? '-' : $row['rank_min']; ?></td>
<td class="<?php echo $row_class; ?>" align="center">&nbsp;<a href="<?php echo "admin_ranks.$phpEx$SID&amp;mode=edit&amp;id=" . $row['rank_id']; ?>"><?php echo $user->lang['EDIT']; ?></a> | <a href="<?php echo "admin_ranks.$phpEx$SID&amp;mode=delete&amp;id=" . $row['rank_id']; ?>"><?php echo $user->lang['DELETE']; ?></a>&nbsp;</td>
</tr>
<?php
}
while ($row = $db->sql_fetchrow($result));
}
?>
<tr>
<td class="cat" colspan="5" align="center"><input type="submit" class="btnmain" name="add" value="<?php echo $user->lang['ADD_RANK']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
}
?>

175
phpBB/adm/admin_search.php Normal file
View File

@@ -0,0 +1,175 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_search'))
{
return;
}
$module['DB']['SEARCH_INDEX'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.'.$phpEx);
// Check permissions
if (!$auth->acl_get('a_search'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Start indexing
if (isset($_POST['start']) || isset($_GET['batchstart']))
{
$batchsize = 5000; // Process this many posts per batch
$batchcount = request_var('batchcount', 1);
$batchstart = request_var('batchstart', 0);
$loopcount = 0;
$fulltext = new fulltext_search();
// Search re-indexing is tough on the server ... so we'll check the load
// each loop and if we're on a 1min load of 3 or more we'll re-load the page
// and try again. No idea how well this will work in practice so we'll see ...
if (file_exists('/proc/loadavg'))
{
if ($load = @file('/proc/loadavg'))
{
list($load) = explode(' ', $load[0]);
if ($load > 3)
{
redirect("adm/admin_search.$phpEx$SID&batchstart=$batchstart&batchcount=$batchcount", 3);
}
}
}
if (!$batchstart)
{
// Take board offline
set_config('board_disable', 1);
// Empty existing tables
$db->sql_query("TRUNCATE " . SEARCH_TABLE);
$db->sql_query("TRUNCATE " . SEARCH_WORD_TABLE);
$db->sql_query("TRUNCATE " . SEARCH_MATCH_TABLE);
}
// Fetch a batch of posts_text entries
$sql = "SELECT COUNT(*) AS total, MAX(post_id) AS max_post_id, MIN(post_id) AS min_post_id
FROM " . POSTS_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$totalposts = $row['total'];
$max_post_id = $row['max_post_id'];
$batchstart = (!$batchstart) ? $row['min_post_id'] : $batchstart;
$batchend = $batchstart + $batchsize;
$db->sql_freeresult($result);
$sql = "SELECT *
FROM " . POSTS_TABLE . "
WHERE post_id
BETWEEN $batchstart
AND $batchend";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
$fulltext->add('admin', $row['post_id'], $row['post_text'], $row['post_subject']);
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
$batchcount++;
if (($batchstart + $batchsize) < $max_post_id)
{
redirect("adm/admin_search.$phpEx$SID&batchstart=" . ($batchstart + $batchsize) . "&batchcount=$batchcount", 3);
}
else
{
set_config('board_disable', 0);
// search tidy
$fulltext->search_tidy();
adm_page_header($user->lang['SEARCH_INDEX']);
?>
<h1><?php echo $user->lang['SEARCH_INDEX']; ?></h1>
<p><?php echo $user->lang['SEARCH_INDEX_COMPLETE']; ?></p>
<?php
adm_page_footer();
}
exit;
}
else if (isset($_POST['cancel']))
{
set_config('board_disable', 0);
adm_page_header($user->lang['SEARCH_INDEX']);
?>
<h1><?php echo $user->lang['SEARCH_INDEX']; ?></h1>
<p><?php echo $user->lang['SEARCH_INDEX_CANCEL']; ?></p>
<?php
adm_page_footer();
}
else
{
adm_page_header($user->lang['SEARCH_INDEX']);
?>
<h1><?php echo $user->lang['SEARCH_INDEX']; ?></h1>
<p><?php echo $user->lang['SEARCH_INDEX_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_search.$phpEx$SID"; ?>"><table cellspacing="1" cellpadding="4" border="0" align="center" bgcolor="#98AAB1">
<tr>
<td class="cat" height="28" align="center">&nbsp;<input type="submit" name="start" value="<?php echo $user->lang['START']; ?>" class="btnmain" /> &nbsp; <input type="submit" name="cancel" value="<?php echo $user->lang['CANCEL']; ?>" class="btnmain" />&nbsp;</td>
</tr>
</table></form>
<?php
adm_page_footer();
}
?>

3377
phpBB/adm/admin_styles.php Normal file

File diff suppressed because it is too large Load Diff

2032
phpBB/adm/admin_users.php Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,253 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_'))
{
return;
}
$filename = basename(__FILE__);
$module['LOG']['ADMIN_LOGS'] = $filename . "$SID&amp;mode=admin";
$module['LOG']['MOD_LOGS'] = $filename . "$SID&amp;mode=mod";
$module['LOG']['CRITICAL_LOGS'] = $filename . "$SID&amp;mode=critical";
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have styles admin permissions?
if (!$auth->acl_get('a_'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Set some variables
$mode = request_var('mode', 'admin');
$forum_id = request_var('f', 0);
$start = request_var('start', 0);
$deletemark = (isset($_POST['delmarked'])) ? true : false;
$deleteall = (isset($_POST['delall'])) ? true : false;
$marked = request_var('mark', array(0));
// Sort keys
$sort_days = request_var('st', 0);
$sort_key = request_var('sk', 't');
$sort_dir = request_var('sd', 'd');
// Define some vars depending on which logs we're looking at
$log_type = ($mode == 'admin') ? LOG_ADMIN : (($mode == 'mod') ? LOG_MOD : LOG_CRITICAL);
$user->add_lang('mcp');
// Delete entries if requested and able
if (($deletemark || $deleteall) && $auth->acl_get('a_clearlogs'))
{
$where_sql = '';
if ($deletemark && $marked)
{
$sql_in = array();
foreach ($marked as $mark)
{
$sql_in[] = $mark;
}
$where_sql = ' AND log_id IN (' . implode(', ', $sql_in) . ')';
unset($sql_in);
}
$sql = 'DELETE FROM ' . LOG_TABLE . "
WHERE log_type = $log_type
$where_sql";
$db->sql_query($sql);
add_log('admin', 'LOG_' . strtoupper($mode) . '_CLEAR');
}
// Sorting
$limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 364 => $user->lang['1_YEAR']);
$sort_by_text = array('u' => $user->lang['SORT_USERNAME'], 't' => $user->lang['SORT_DATE'], 'i' => $user->lang['SORT_IP'], 'o' => $user->lang['SORT_ACTION']);
$sort_by_sql = array('u' => 'l.user_id', 't' => 'l.log_time', 'i' => 'l.log_ip', 'o' => 'l.log_operation');
$s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = '';
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param);
// Define where and sort sql for use in displaying logs
$sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;
$sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
$l_title = $user->lang[strtoupper($mode) . '_LOGS'];
$l_title_explain = $user->lang[strtoupper($mode) . '_LOGS_EXPLAIN'];
// Output page
adm_page_header($l_title);
?>
<h1><?php echo $l_title; ?></h1>
<p><?php echo $l_title_explain; ?></p>
<form name="list" method="post" action="<?php echo "admin_viewlogs.$phpEx$SID&amp;mode=$mode"; ?>">
<?php
// Define forum list if we're looking @ mod logs
if ($mode == 'mod')
{
$forum_box = '<option value="0">' . $user->lang['ALL_FORUMS'] . '</option>' . make_forum_select($forum_id);
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td align="right"><?php echo $user->lang['SELECT_FORUM']; ?>: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit() }"><?php echo $forum_box; ?></select> <input class="btnlite" type="submit" value="<?php echo $user->lang['GO']; ?>" /></td>
</tr>
</table>
<?php
}
//
// 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);
?>
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left" valign="top">&nbsp;<span class="nav"><?php echo on_page($log_count, $config['topics_per_page'], $start); ?></span></td>
<td align="right" valign="top" nowrap="nowrap">
<span class="nav"><?php echo generate_pagination("admin_viewlogs.$phpEx$SID&amp;mode=$mode&amp;$u_sort_param", $log_count, $config['topics_per_page'], $start, true); ?></span>
</td>
</tr>
</table>
<table class="bg" width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<td class="cat" colspan="5" height="28" align="center"><?php echo $user->lang['DISPLAY_LOG']; ?>: &nbsp;<?php echo $s_limit_days; ?>&nbsp;<?php echo $user->lang['SORT_BY']; ?>: <?php echo $s_sort_key; ?> <?php echo $s_sort_dir; ?>&nbsp;<input class="btnlite" type="submit" value="<?php echo $user->lang['GO']; ?>" name="sort" /></td>
</tr>
<tr>
<th width="15%" height="25" nowrap="nowrap"><?php echo $user->lang['USERNAME']; ?></th>
<th width="15%" nowrap="nowrap"><?php echo $user->lang['IP']; ?></th>
<th width="20%" nowrap="nowrap"><?php echo $user->lang['TIME']; ?></th>
<th width="45%" nowrap="nowrap"><?php echo $user->lang['ACTION']; ?></th>
<th nowrap="nowrap"><?php echo $user->lang['MARK']; ?></th>
</tr>
<?php
$row_class = '';
if ($log_count)
{
for ($i = 0; $i < sizeof($log_data); $i++)
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>" nowrap="nowrap"><?php echo $log_data[$i]['username']; ?></td>
<td class="<?php echo $row_class; ?>" align="center" nowrap="nowrap"><?php echo $log_data[$i]['ip']; ?></td>
<td class="<?php echo $row_class; ?>" align="center" nowrap="nowrap"><?php echo $user->format_date($log_data[$i]['time']); ?></td>
<td class="<?php echo $row_class; ?>"><?php
echo $log_data[$i]['action'];
$data = array();
foreach (array('viewtopic', 'viewlogs', 'viewforum') as $check)
{
if (isset($log_data[$i][$check]) && $log_data[$i][$check])
{
$data[] = '<a href="' . $log_data[$i][$check] . '">' . $user->lang['LOGVIEW_' . strtoupper($check)] . '</a>';
}
}
if (sizeof($data))
{
echo '<br />&#187; <span class="gensmall">[ ' . implode(' | ', $data) . ' ]</span>';
}
?>
</td>
<td class="<?php echo $row_class; ?>" align="center" nowrap="nowrap"><input type="checkbox" name="mark[]" value="<?php echo $log_data[$i]['id']; ?>" /></td>
</tr>
<?php
}
if ($auth->acl_get('a_clearlogs'))
{
?>
<tr>
<td class="cat" colspan="5" height="28" align="right"><input class="btnlite" type="submit" name="delmarked" value="<?php echo $user->lang['DELETE_MARKED']; ?>" />&nbsp; <input class="btnlite" type="submit" name="delall" value="<?php echo $user->lang['DELETE_ALL']; ?>" />&nbsp;</td>
</tr>
<?php
}
}
else
{
?>
<tr>
<td class="row1" colspan="5" align="center" nowrap="nowrap"><?php echo $user->lang['NO_ENTRIES']; ?></td>
</tr>
<?php
}
?>
</table>
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left" valign="top">&nbsp;<span class="nav"><?php echo on_page($log_count, $config['topics_per_page'], $start); ?></span></td>
<td align="right" valign="top" nowrap="nowrap"><span class="nav"><?php
if ($auth->acl_get('a_clearlogs'))
{
?><b><a href="javascript:marklist('list', true);"><?php echo $user->lang['MARK_ALL']; ?></a> :: <a href="javascript:marklist('list', false);"><?php echo $user->lang['UNMARK_ALL']; ?></a></b>&nbsp;<br /><br /><?php
}
echo generate_pagination("admin_viewlogs.$phpEx$SID&amp;mode=$mode&amp;$u_sort_param", $log_count, $config['topics_per_page'], $start, true);
?></span></td>
</tr>
</table></form>
<script language="Javascript" type="text/javascript">
<!--
function marklist(match, status)
{
len = eval('document.' + match + '.length');
for (i = 0; i < len; i++)
{
eval('document.' + match + '.elements[i].checked = ' + status);
}
}
//-->
</script>
<?php
adm_page_footer();
?>

200
phpBB/adm/admin_words.php Normal file
View File

@@ -0,0 +1,200 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
if (!empty($setmodules))
{
if (!$auth->acl_get('a_words'))
{
return;
}
$module['POST']['WORD_CENSOR'] = basename(__FILE__) . $SID;
return;
}
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have forum admin permissions?
if (!$auth->acl_get('a_words'))
{
trigger_error($user->lang['NO_ADMIN']);
}
$mode = request_var('mode', '');
$mode = (isset($_POST['add'])) ? 'add' : ((isset($_POST['save'])) ? 'save' : $mode);
$s_hidden_fields = '';
$word_info = array();
switch ($mode)
{
case 'edit':
$word_id = request_var('id', 0);
if (!$word_id)
{
trigger_error($user->lang['NO_WORD']);
}
$sql = 'SELECT *
FROM ' . WORDS_TABLE . "
WHERE word_id = $word_id";
$result = $db->sql_query_limit($sql, 1);
$word_info = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$s_hidden_fields .= '<input type="hidden" name="id" value="' . $word_id . '" />';
case 'add':
adm_page_header($user->lang['WORDS_TITLE']);
?>
<h1><?php echo $user->lang['WORDS_TITLE']; ?></h1>
<p><?php echo $user->lang['WORDS_EXPLAIN']; ?></p>
<form method="post" action="<?php echo "admin_words.$phpEx$SID"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th colspan="2"><?php echo $user->lang['EDIT_WORD']; ?></th>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['WORD']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="word" value="<?php echo $word_info['word']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['REPLACEMENT']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="replacement" value="<?php echo $word_info['replacement']; ?>" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><?php echo $s_hidden_fields; ?><input class="btnmain" type="submit" name="save" value="<?php echo $user->lang['SUBMIT']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
case 'save':
$word_id = request_var('id', 0);
$word = request_var('word', '');
$replacement = request_var('replacement', '');
if (!$word || !$replacement)
{
trigger_error($user->lang['ENTER_WORD']);
}
$sql = ($word_id) ? "UPDATE " . WORDS_TABLE . " SET word = '" . $db->sql_escape($word) . "', replacement = '" . $db->sql_escape($replacement) . "' WHERE word_id = $word_id" : "INSERT INTO " . WORDS_TABLE . " (word, replacement) VALUES ('" . $db->sql_escape($word) . "', '" . $db->sql_escape($replacement) . "')";
$db->sql_query($sql);
$cache->destroy('word_censors');
$log_action = ($word_id) ? 'LOG_EDIT_WORD' : 'LOG_ADD_WORD';
add_log('admin', $log_action, $word);
$message = ($word_id) ? $user->lang['WORD_UPDATED'] : $user->lang['WORD_ADDED'];
trigger_error($message);
break;
case 'delete':
$word_id = request_var('id', 0);
if (!$word_id)
{
trigger_error($user->lang['NO_WORD']);
}
$sql = 'SELECT word
FROM ' . WORDS_TABLE . "
WHERE word_id = $word_id";
$result = $db->sql_query($sql);
$deleted_word = $db->sql_fetchfield('word', 0, $result);
$db->sql_freeresult($result);
$sql = 'DELETE FROM ' . WORDS_TABLE . "
WHERE word_id = $word_id";
$db->sql_query($sql);
$cache->destroy('word_censors');
add_log('admin', 'LOG_DELETE_WORD', $deleted_word);
$message = $user->lang['WORD_REMOVE'];
trigger_error($message);
break;
default:
adm_page_header($user->lang['WORDS_TITLE']);
?>
<h1><?php echo $user->lang['WORDS_TITLE']; ?></h1>
<p><?php echo $user->lang['WORDS_EXPLAIN']; ?></p>
<form method="post" action="admin_words.<?php echo $phpEx . $SID; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $user->lang['WORD']; ?></th>
<th><?php echo $user->lang['REPLACEMENT']; ?></th>
<th colspan="2"><?php echo $user->lang['ACTION']; ?></th>
</tr>
<?php
$sql = 'SELECT *
FROM ' . WORDS_TABLE . '
ORDER BY word';
$result = $db->sql_query($sql);
$row_class = '';
if ($row = $db->sql_fetchrow($result))
{
do
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['word']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $row['replacement']; ?></td>
<td class="<?php echo $row_class; ?>">&nbsp;<a href="<?php echo "admin_words.$phpEx$SID&amp;mode=edit&amp;id=" . $row['word_id']; ?>"><?php echo $user->lang['EDIT']; ?></a>&nbsp;</td>
<td class="<?php echo $row_class; ?>">&nbsp;<a href="<?php echo "admin_words.$phpEx$SID&amp;mode=delete&amp;id=" . $row['word_id']; ?>"><?php echo $user->lang['DELETE']; ?></a>&nbsp;</td>
</tr>
<?php
}
while ($row = $db->sql_fetchrow($result));
}
$db->sql_freeresult($result);
?>
<tr>
<td class="cat" colspan="5" height="28" align="center"><?php echo $s_hidden_fields; ?><input class="btnmain" type="submit" name="add" value="<?php echo $user->lang['ADD_WORD']; ?>" /></td>
</tr>
</table></form>
<?php
adm_page_footer();
break;
}
?>

306
phpBB/adm/editor.js Normal file
View File

@@ -0,0 +1,306 @@
// bbCode control by subBlue design [ www.subBlue.com ]
// Includes unixsafe colour palette selector by SHS`
// Startup variables
var imageTag = false;
var theSelection = false;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
// Shows the help messages in the helpline window
function helpline(help) {
document.forms[form_name].helpbox.value = eval(help + "_help");
}
// Replacement for arrayname.length property
function getarraysize(thearray) {
for (i = 0; i < thearray.length; i++) {
if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
return i;
}
return thearray.length;
}
// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
thearray[ getarraysize(thearray) ] = value;
}
// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
thearraysize = getarraysize(thearray);
retval = thearray[thearraysize - 1];
delete thearray[thearraysize - 1];
return retval;
}
function smiley(text) {
text = ' ' + text + ' ';
if (document.forms[form_name].elements[text_name].createTextRange && document.forms[form_name].elements[text_name].caretPos) {
var caretPos = document.forms[form_name].elements[text_name].caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
document.forms[form_name].elements[text_name].focus();
} else {
var selStart = document.forms[form_name].elements[text_name].selectionStart;
var selEnd = document.forms[form_name].elements[text_name].selectionEnd;
mozWrap(document.forms[form_name].elements[text_name], text, '')
document.forms[form_name].elements[text_name].focus();
document.forms[form_name].elements[text_name].selectionStart = selStart + text.length;
document.forms[form_name].elements[text_name].selectionEnd = selEnd + text.length;
}
}
function bbfontstyle(bbopen, bbclose) {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (!theSelection) {
insert_text(bbopen + bbclose);
document.forms[form_name].elements[text_name].focus();
return;
}
document.selection.createRange().text = bbopen + theSelection + bbclose;
document.forms[form_name].elements[text_name].focus();
return;
} else {
insert_text(bbopen + bbclose);
document.forms[form_name].elements[text_name].focus();
return;
}
storeCaret(document.forms[form_name].elements[text_name]);
}
function insert_text(text) {
if (document.forms[form_name].elements[text_name].createTextRange && document.forms[form_name].elements[text_name].caretPos) {
var caretPos = document.forms[form_name].elements[text_name].caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else {
var selStart = document.forms[form_name].elements[text_name].selectionStart;
var selEnd = document.forms[form_name].elements[text_name].selectionEnd;
mozWrap(document.forms[form_name].elements[text_name], text, '')
document.forms[form_name].elements[text_name].selectionStart = selStart + text.length;
document.forms[form_name].elements[text_name].selectionEnd = selEnd + text.length;
}
}
function attach_inline() {
insert_text('[attachment=' + document.forms[form_name].elements['attachments'].value + ']' + document.forms[form_name].elements['attachments'].options[document.forms[form_name].elements['attachments'].selectedIndex].text + '[/attachment]');
}
function bbstyle(bbnumber) {
donotinsert = false;
theSelection = false;
bblast = 0;
document.forms[form_name].elements[text_name].focus();
if (bbnumber == -1) { // Close all open tags & default button names
while (bbcode[0]) {
butnumber = arraypop(bbcode) - 1;
document.forms[form_name].elements[text_name].value += bbtags[butnumber + 1];
buttext = eval('document.forms[form_name].addbbcode' + butnumber + '.value');
if (buttext != "[*]")
{
eval('document.forms[form_name].addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
}
}
document.forms[form_name].addbbcode10.value = "List";
bbtags[10] = "[list]";
document.forms[form_name].addbbcode12.value = "List=";
bbtags[12] = "[list=]";
imageTag = false; // All tags are closed including image tags :D
document.forms[form_name].elements[text_name].focus();
return;
}
if ((clientVer >= 4) && is_ie && is_win)
{
theSelection = document.selection.createRange().text; // Get text selection
if (theSelection) {
// Add tags around selection
document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
document.forms[form_name].elements[text_name].focus();
theSelection = '';
return;
}
}
else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0))
{
mozWrap(document.forms[form_name].elements[text_name], bbtags[bbnumber], bbtags[bbnumber+1]);
document.forms[form_name].elements[text_name].focus();
theSelection = '';
return;
}
// Find last occurance of an open tag the same as the one just clicked
for (i = 0; i < bbcode.length; i++) {
if (bbcode[i] == bbnumber+1) {
bblast = i;
donotinsert = true;
}
}
if ((bbnumber == 10) && (bbtags[10] != "[*]"))
{
if (donotinsert)
{
document.forms[form_name].addbbcode12.value = "List=";
tmp_help = o_help;
o_help = e_help;
e_help = tmp_help;
bbtags[12] = "[list=]";
}
else
{
document.forms[form_name].addbbcode12.value = "[*]";
tmp_help = o_help;
o_help = e_help;
e_help = tmp_help;
bbtags[12] = "[*]";
}
}
if ((bbnumber == 12) && (bbtags[12] != "[*]"))
{
if (donotinsert)
{
document.forms[form_name].addbbcode10.value = "List";
tmp_help = l_help;
l_help = e_help;
e_help = tmp_help;
bbtags[10] = "[list]";
}
else
{
document.forms[form_name].addbbcode10.value = "[*]";
tmp_help = l_help;
l_help = e_help;
e_help = tmp_help;
bbtags[10] = "[*]";
}
}
if (donotinsert) { // Close all open tags up to the one just clicked & default button names
while (bbcode[bblast]) {
butnumber = arraypop(bbcode) - 1;
if (bbtags[butnumber] != "[*]")
{
insert_text(bbtags[butnumber + 1]);
}
else
{
insert_text(bbtags[butnumber]);
}
buttext = eval('document.forms[form_name].addbbcode' + butnumber + '.value');
if (bbtags[butnumber] != "[*]")
{
eval('document.forms[form_name].addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
}
imageTag = false;
}
document.forms[form_name].elements[text_name].focus();
return;
} else { // Open tags
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
insert_text(bbtags[15]);
lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
document.forms[form_name].addbbcode14.value = "Img"; // Return button back to normal state
imageTag = false;
}
// Open tag
insert_text(bbtags[bbnumber]);
if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
if (bbtags[bbnumber] != "[*]")
{
arraypush(bbcode,bbnumber+1);
eval('document.forms[form_name].addbbcode'+bbnumber+'.value += "*"');
}
document.forms[form_name].elements[text_name].focus();
return;
}
storeCaret(document.forms[form_name].elements[text_name]);
}
// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
return;
}
// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
if (textEl.createTextRange) { textEl.caretPos = document.selection.createRange().duplicate(); }
}
function colorPalette(dir, width, height)
{
var r = 0, g = 0, b = 0;
var numberList = new Array(6);
numberList[0] = "00";
numberList[1] = "40";
numberList[2] = "80";
numberList[3] = "BF";
numberList[4] = "FF";
document.writeln('<table cellspacing="1" cellpadding="0" border="0">');
for(r = 0; r < 5; r++)
{
if (dir == 'h')
{
document.writeln('<tr>');
}
for(g = 0; g < 5; g++)
{
if (dir == 'v')
{
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="javascript:bbfontstyle(\'[color=#' + color + ']\', \'[/color]\');" onmouseover="helpline(\'s\');"><img src="images/spacer.gif" width="' + width + '" height="' + height + '" border="0" alt="#' + color + '" title="#' + color + '" /></a>');
document.writeln('</td>');
}
if (dir == 'v')
{
document.writeln('</tr>');
}
}
if (dir == 'h')
{
document.writeln('</tr>');
}
}
document.writeln('</table>');
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 B

View File

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

730
phpBB/adm/index.php Normal file
View File

@@ -0,0 +1,730 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
define('IN_PHPBB', 1);
// Include files
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx);
// Do we have any admin permissions at all?
if (!$auth->acl_get('a_'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Define some vars
$pane = request_var('pane', '');
// Generate relevant output
if ($pane == 'top')
{
adm_page_header('', '', false);
?>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><a href="<?php echo "{$phpbb_root_path}index.$phpEx$SID"; ?>" target="_top"><img src="images/header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></a></td>
<td width="100%" background="images/header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle"><?php echo $user->lang['ADMIN_TITLE']; ?></span> &nbsp; &nbsp; &nbsp;</td>
</tr>
</table>
<?php
adm_page_footer(false);
}
else if ($pane == 'left')
{
// Cheat and use the meta tag to change some stylesheet info
adm_page_header('', '<style type="text/css">body {background-color: #98AAB1}</style>', false);
// Grab module information using Bart's "neat-o-module" system (tm)
$dir = @opendir('.');
$setmodules = 1;
while ($file = readdir($dir))
{
if (preg_match('#^admin_(.*?)\.' . $phpEx . '$#', $file))
{
include($file);
}
}
@closedir($dir);
unset($setmodules);
?>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="100%"><table width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<th class="menu" height="25">&#0187; <?php echo $user->lang['RETURN_TO']; ?></th>
</tr>
<tr>
<td class="row1"><a class="genmed" href="<?php echo "index.$phpEx$SID"; ?>&amp;pane=right" target="main"><?php echo $user->lang['ADMIN_INDEX']; ?></a></td>
</tr>
<tr>
<td class="row2"><a class="genmed" href="<?php echo "../index.$phpEx$SID"; ?>" target="_top"><?php echo $user->lang['FORUM_INDEX']; ?></a></td>
</tr>
<?php
if (is_array($module))
{
@ksort($module);
foreach ($module as $cat => $action_ary)
{
$cat = (!empty($user->lang[$cat . '_CAT'])) ? $user->lang[$cat . '_CAT'] : preg_replace('#_#', ' ', $cat);
?>
<tr>
<th class="menu" height="25">&#0187; <?php echo $cat; ?></th>
</tr>
<?php
@ksort($action_ary);
$row_class = '';
foreach ($action_ary as $action => $file)
{
if (!empty($file))
{
$action = (!empty($user->lang[$action])) ? $user->lang[$action] : preg_replace('#_#', ' ', $action);
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>"><a class="genmed" href="<?php echo $file; ?>" target="main"><?php echo $action; ?></a></td>
</tr>
<?php
}
}
}
}
?>
</table></td>
</tr>
</table>
</body>
</html>
<?php
// Output footer but don't include copyright info
adm_page_footer(false);
}
elseif ($pane == 'right')
{
$action = request_var('action', '');
$mark = (isset($_REQUEST['mark'])) ? implode(', ', request_var('mark', array(0))) : '';
if ($mark)
{
switch ($action)
{
case 'activate':
case 'delete':
if (!$auth->acl_get('a_user'))
{
trigger_error($user->lang['NO_ADMIN']);
}
$sql = 'SELECT username
FROM ' . USERS_TABLE . "
WHERE user_id IN ($mark)";
$result = $db->sql_query($sql);
$user_affected = array();
while ($row = $db->sql_fetchrow($result))
{
$user_affected[] = $row['username'];
}
$db->sql_freeresult($result);
if ($action == 'activate')
{
include($phpbb_root_path . 'includes/functions_user.php');
$mark_ary = explode(', ', $mark);
foreach ($mark_ary as $user_id)
{
user_active_flip($user_id, USER_INACTIVE);
}
}
else if ($action == 'delete')
{
$sql = 'DELETE FROM ' . USER_GROUP_TABLE . " WHERE user_id IN ($mark)";
$db->sql_query($sql);
$sql = 'DELETE FROM ' . USERS_TABLE . " WHERE user_id IN ($mark)";
$db->sql_query($sql);
add_log('admin', 'LOG_INDEX_' . strtoupper($action), implode(', ', $user_affected));
}
if ($action != 'delete')
{
set_config('num_users', $config['num_users'] + $db->sql_affectedrows(), true);
}
break;
case 'remind':
if (!$auth->acl_get('a_user'))
{
trigger_error($user->lang['NO_ADMIN']);
}
if (empty($config['email_enable']))
{
trigger_error($user->lang['EMAIL_DISABLED']);
}
$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type, user_regdate, user_actkey
FROM ' . USERS_TABLE . "
WHERE user_id IN ($mark)";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
// Send the messages
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
$messenger = new messenger();
$board_url = generate_board_url() . "/ucp.$phpEx?mode=activate";
$sig = str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']);
$usernames = array();
do
{
$messenger->template('user_remind_inactive', $row['user_lang']);
$messenger->replyto($config['board_email']);
$messenger->to($row['user_email'], $row['username']);
$messenger->im($row['user_jabber'], $row['username']);
$messenger->assign_vars(array(
'EMAIL_SIG' => $sig,
'USERNAME' => $row['username'],
'SITENAME' => $config['sitename'],
'REGISTER_DATE' => $user->format_date($row['user_regdate']),
'U_ACTIVATE' => "$board_url&mode=activate&u=" . $row['user_id'] . '&k=' . $row['user_actkey'])
);
$messenger->send($row['user_notify_type']);
$usernames[] = $row['username'];
}
while ($row = $db->sql_fetchrow($result));
$messenger->save_queue();
unset($email_list);
add_log('admin', 'LOG_INDEX_REMIND', implode(', ', $usernames));
unset($usernames);
}
$db->sql_freeresult($result);
break;
}
}
switch ($action)
{
case 'online':
if (!$auth->acl_get('a_defaults'))
{
trigger_error($user->lang['NO_ADMIN']);
}
set_config('record_online_users', 1, true);
set_config('record_online_date', time(), true);
add_log('admin', 'LOG_RESET_ONLINE');
break;
case 'stats':
if (!$auth->acl_get('a_defaults'))
{
trigger_error($user->lang['NO_ADMIN']);
}
$sql = 'SELECT COUNT(post_id) AS stat
FROM ' . POSTS_TABLE . '
WHERE post_approved = 1';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_posts', (int) $row['stat'], true);
$sql = 'SELECT COUNT(topic_id) AS stat
FROM ' . TOPICS_TABLE . '
WHERE topic_approved = 1';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_topics', (int) $row['stat'], true);
$sql = 'SELECT COUNT(user_id) AS stat
FROM ' . USERS_TABLE . '
WHERE user_type IN (' . USER_NORMAL . ',' . USER_FOUNDER . ')';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_users', (int) $row['stat'], true);
$sql = 'SELECT COUNT(attach_id) as stat
FROM ' . ATTACHMENTS_TABLE;
$result = $db->sql_query($sql);
set_config('num_files', (int) $db->sql_fetchfield('stat', 0, $result), true);
$db->sql_freeresult($result);
$sql = 'SELECT SUM(filesize) as stat
FROM ' . ATTACHMENTS_TABLE;
$result = $db->sql_query($sql);
set_config('upload_dir_size', (int) $db->sql_fetchfield('stat', 0, $result), true);
$db->sql_freeresult($result);
add_log('admin', 'LOG_RESYNC_STATS');
break;
case 'user':
if (!$auth->acl_get('a_defaults'))
{
trigger_error($user->lang['NO_ADMIN']);
}
$post_count_ary = $auth->acl_getf('f_postcount');
$forum_ary = array();
foreach ($post_count_ary as $forum_id => $allowed)
{
if ($allowed['f_postcount'])
{
$forum_ary[] = $forum_id;
}
}
if (!sizeof($forum_ary))
{
$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_posts = 0');
}
else
{
$sql = 'SELECT COUNT(post_id) AS num_posts, poster_id
FROM ' . POSTS_TABLE . '
WHERE poster_id <> ' . ANONYMOUS . '
AND forum_id IN (' . implode(', ', $forum_ary) . ')
GROUP BY poster_id';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$db->sql_query('UPDATE ' . USERS_TABLE . " SET user_posts = {$row['num_posts']} WHERE user_id = {$row['poster_id']}");
}
$db->sql_freeresult($result);
}
add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
break;
case 'date':
if (!$auth->acl_get('a_defaults'))
{
trigger_error($user->lang['NO_ADMIN']);
}
set_config('board_startdate', time() - 1);
add_log('admin', 'LOG_RESET_DATE');
break;
}
// Get forum statistics
$total_posts = $config['num_posts'];
$total_topics = $config['num_topics'];
$total_users = $config['num_users'];
$total_files = $config['num_files'];
$start_date = $user->format_date($config['board_startdate']);
$boarddays = (time() - $config['board_startdate']) / 86400;
$posts_per_day = sprintf('%.2f', $total_posts / $boarddays);
$topics_per_day = sprintf('%.2f', $total_topics / $boarddays);
$users_per_day = sprintf('%.2f', $total_users / $boarddays);
$files_per_day = sprintf('%.2f', $total_files / $boarddays);
$upload_dir_size = ($config['upload_dir_size'] >= 1048576) ? sprintf('%.2f ' . $user->lang['MB'], ($config['upload_dir_size'] / 1048576)) : (($config['upload_dir_size'] >= 1024) ? sprintf('%.2f ' . $user->lang['KB'], ($config['upload_dir_size'] / 1024)) : sprintf('%.2f ' . $user->lang['BYTES'], $config['upload_dir_size']));
$avatar_dir_size = 0;
if ($avatar_dir = @opendir($phpbb_root_path . $config['avatar_path']))
{
while ($file = readdir($avatar_dir))
{
if ($file{0} != '.')
{
$avatar_dir_size += filesize($phpbb_root_path . $config['avatar_path'] . '/' . $file);
}
}
@closedir($avatar_dir);
// This bit of code translates the avatar directory size into human readable format
// Borrowed the code from the PHP.net annoted manual, origanally written by:
// Jesse (jesse@jess.on.ca)
$avatar_dir_size = ($avatar_dir_size >= 1048576) ? sprintf('%.2f ' . $user->lang['MB'], ($avatar_dir_size / 1048576)) : (($avatar_dir_size >= 1024) ? sprintf('%.2f ' . $user->lang['KB'], ($avatar_dir_size / 1024)) : sprintf('%.2f ' . $user->lang['BYTES'], $avatar_dir_size));
}
else
{
// Couldn't open Avatar dir.
$avatar_dir_size = $user->lang['NOT_AVAILABLE'];
}
if ($posts_per_day > $total_posts)
{
$posts_per_day = $total_posts;
}
if ($topics_per_day > $total_topics)
{
$topics_per_day = $total_topics;
}
if ($users_per_day > $total_users)
{
$users_per_day = $total_users;
}
if ($files_per_day > $total_files)
{
$files_per_day = $total_files;
}
// DB size ... MySQL only
// This code is heavily influenced by a similar routine
// in phpMyAdmin 2.2.0
if (preg_match('#^mysql#', SQL_LAYER))
{
$result = $db->sql_query('SELECT VERSION() AS mysql_version');
if ($row = $db->sql_fetchrow($result))
{
$version = $row['mysql_version'];
if (preg_match('#^(3\.23|4\.)#', $version))
{
$db_name = (preg_match('#^(3\.23\.[6-9])|(3\.23\.[1-9][1-9])|(4\.)#', $version)) ? "`$dbname`" : $dbname;
$sql = "SHOW TABLE STATUS
FROM " . $db_name;
$result = $db->sql_query($sql);
$dbsize = 0;
while ($row = $db->sql_fetchrow($result))
{
if ((isset($row['Type']) && $row['Type'] != 'MRG_MyISAM') || (isset($row['Engine']) && $row['Engine'] == 'MyISAM'))
{
if ($table_prefix != '')
{
if (strstr($row['Name'], $table_prefix))
{
$dbsize += $row['Data_length'] + $row['Index_length'];
}
}
else
{
$dbsize += $row['Data_length'] + $row['Index_length'];
}
}
}
}
else
{
$dbsize = $user->lang['NOT_AVAILABLE'];
}
}
else
{
$dbsize = $user->lang['NOT_AVAILABLE'];
}
}
else if (preg_match('#^mssql#', SQL_LAYER))
{
$sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize
FROM sysfiles';
$result = $db->sql_query($sql);
$dbsize = ($row = $db->sql_fetchrow($result)) ? intval($row['dbsize']) : $user->lang['NOT_AVAILABLE'];
}
else
{
$dbsize = $user->lang['NOT_AVAILABLE'];
}
if (is_int($dbsize))
{
$dbsize = ($dbsize >= 1048576) ? sprintf('%.2f ' . $user->lang['MB'], ($dbsize / 1048576)) : (($dbsize >= 1024) ? sprintf('%.2f ' . $user->lang['KB'], ($dbsize / 1024)) : sprintf('%.2f ' . $user->lang['BYTES'], $dbsize));
}
adm_page_header($user->lang['ADMIN_INDEX']);
?>
<script language="Javascript" type="text/javascript">
<!--
function marklist(status)
{
for (i = 0; i < document.inactive.length; i++)
{
document.inactive.elements[i].checked = status;
}
}
//-->
</script>
<h1><?php echo $user->lang['WELCOME_PHPBB']; ?></h1>
<p><?php echo $user->lang['ADMIN_INTRO']; ?></p>
<h1><?php echo $user->lang['FORUM_STATS']; ?></h1>
<form name="statistics" method="post" action="index.<?php echo $phpEx . $SID; ?>&amp;pane=right"><table class="bg" width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<th width="25%" nowrap="nowrap" height="25"><?php echo $user->lang['STATISTIC']; ?></th>
<th width="25%"><?php echo $user->lang['VALUE']; ?></th>
<th width="25%" nowrap="nowrap"><?php echo $user->lang['STATISTIC']; ?></th>
<th width="25%"><?php echo $user->lang['VALUE']; ?></th>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['NUMBER_POSTS']; ?>:</td>
<td class="row2"><b><?php echo $total_posts; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['POSTS_PER_DAY']; ?>:</td>
<td class="row2"><b><?php echo $posts_per_day; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['NUMBER_TOPICS']; ?>:</td>
<td class="row2"><b><?php echo $total_topics; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['TOPICS_PER_DAY']; ?>:</td>
<td class="row2"><b><?php echo $topics_per_day; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['NUMBER_USERS']; ?>:</td>
<td class="row2"><b><?php echo $total_users; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['USERS_PER_DAY']; ?>:</td>
<td class="row2"><b><?php echo $users_per_day; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['NUMBER_FILES']; ?>:</td>
<td class="row2"><b><?php echo $total_files; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['FILES_PER_DAY']; ?>:</td>
<td class="row2"><b><?php echo $files_per_day; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['BOARD_STARTED']; ?>:</td>
<td class="row2"><b><?php echo $start_date; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['AVATAR_DIR_SIZE']; ?>:</td>
<td class="row2"><b><?php echo $avatar_dir_size; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['DATABASE_SIZE']; ?>:</td>
<td class="row2"><b><?php echo $dbsize; ?></b></td>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['UPLOAD_DIR_SIZE']; ?>:</td>
<td class="row2"><b><?php echo $upload_dir_size; ?></b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap"><?php echo $user->lang['GZIP_COMPRESSION']; ?>:</td>
<td class="row2"><b><?php echo ($config['gzip_compress']) ? $user->lang['ON'] : $user->lang['OFF']; ?></b></td>
<td class="row1" nowrap="nowrap">&nbsp;</td>
<td class="row2">&nbsp;</td>
</tr>
<tr>
<td class="cat" colspan="4" align="right"><select name="action"><option value="online"><?php echo $user->lang['RESET_ONLINE']; ?></option><option value="date"><?php echo $user->lang['RESET_DATE']; ?></option><option value="stats"><?php echo $user->lang['RESYNC_STATS']; ?></option><option value="user"><?php echo $user->lang['RESYNC_POSTCOUNTS']; ?></option>
</select> <input class="btnlite" type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;</td>
</tr>
</table></form>
<h1><?php echo $user->lang['ADMIN_LOG']; ?></h1>
<p><?php echo $user->lang['ADMIN_LOG_INDEX_EXPLAIN']; ?></p>
<table class="bg" width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<th width="15%" height="25" nowrap="nowrap"><?php echo $user->lang['USERNAME']; ?></th>
<th width="15%"><?php echo $user->lang['IP']; ?></th>
<th width="20%"><?php echo $user->lang['TIME']; ?></th>
<th width="45%" nowrap="nowrap"><?php echo $user->lang['ACTION']; ?></th>
</tr>
<?php
view_log('admin', $log_data, $log_count, 5);
$row_class = 'row2';
for($i = 0; $i < sizeof($log_data); $i++)
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>"><?php echo $log_data[$i]['username']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $log_data[$i]['ip']; ?></td>
<td class="<?php echo $row_class; ?>" align="center"><?php echo $user->format_date($log_data[$i]['time']); ?></td>
<td class="<?php echo $row_class; ?>"><?php echo $log_data[$i]['action']; ?></td>
</tr>
<?php
}
if ($auth->acl_get('a_user'))
{
?>
</table>
<h1><?php echo $user->lang['INACTIVE_USERS']; ?></h1>
<p><?php echo $user->lang['INACTIVE_USERS_EXPLAIN']; ?></p>
<form method="post" name="inactive" action="<?php echo "index.$phpEx$SID&amp;pane=right"; ?>"><table class="bg" width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<th width="45%" height="25" nowrap="nowrap"><?php echo $user->lang['USERNAME']; ?></th>
<th width="45%"><?php echo $user->lang['JOINED']; ?></th>
<th width="5%" nowrap="nowrap"><?php echo $user->lang['MARK']; ?></th>
</tr>
<?php
$sql = 'SELECT user_id, username, user_regdate
FROM ' . USERS_TABLE . '
WHERE user_type = ' . USER_INACTIVE . '
ORDER BY user_regdate ASC';
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
$row_class = ($row_class == 'row1') ? 'row2' : 'row1';
?>
<tr>
<td class="<?php echo $row_class; ?>"><a href="<?php echo "admin_users.$phpEx$SID&amp;u=" . $row['user_id']; ?>"><?php echo $row['username']; ?></a></td>
<td class="<?php echo $row_class; ?>"><?php echo $user->format_date($row['user_regdate']); ?></td>
<td class="<?php echo $row_class; ?>">&nbsp;<input type="checkbox" name="mark[]" value="<?php echo $row['user_id']; ?>" />&nbsp;</td>
</tr>
<?php
}
while ($row = $db->sql_fetchrow($result));
?>
<tr>
<td class="cat" colspan="3" height="28" align="right"><select name="action"><option value="activate"><?php echo $user->lang['ACTIVATE']; ?></option><?php
if (!empty($config['email_enable']))
{
?><option value="remind"><?php echo $user->lang['REMIND']; ?></option><?php
}
?><option value="delete"><?php echo $user->lang['DELETE']; ?></option></select> <input class="btnlite" type="submit" name="submit" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;</td>
</tr>
<?php
}
else
{
?>
<tr>
<td class="row1" colspan="3" align="center"><?php echo $user->lang['NO_INACTIVE_USERS']; ?></td>
</tr>
<?php
}
?>
</table>
<table width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<td align="right" valign="top" nowrap="nowrap"><b><span class="gensmall"><a href="javascript:marklist(true);" class="gensmall"><?php echo $user->lang['MARK_ALL']; ?></a> :: <a href="javascript:marklist(false);" class="gensmall"><?php echo $user->lang['UNMARK_ALL']; ?></a></span></b></td>
</tr>
</table></form>
<?php
}
adm_page_footer();
}
else
{
//
// Output the frameset ...
//
header("Expires: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-type: text/html; charset=" . $user->lang['ENCODING']);
$adm_url = "index.$phpEx$SID&amp;pane=right";
/*
// Allows non-admin pages to link to admin pages
// eg: http://forums.foo.com/adm/index.php?sid=&mod=admin_forums&f=1
if (!empty($_GET['mod']) && preg_match('/admin_([a-z]+)/', $_GET['mod'], $m))
{
if (file_exists($phpbb_root_path . 'adm/admin_' . $m[1] . '.' . $phpEx))
{
$adm_url = 'admin_' . $m[1] . '.' . $phpEx . $SID;
$adm_url .= (!empty($_GET['mode'])) ? '&amp;mode=' . htmlspecialchars($_GET['mode']) : '';
$adm_url .= (!empty($_GET['f'])) ? '&amp;f=' . intval($_GET['f']) : '';
$adm_url .= (!empty($_GET['u'])) ? '&amp;u=' . intval($_GET['u']) : '';
$adm_url .= (!empty($_GET['g'])) ? '&amp;g=' . intval($_GET['g']) : '';
}
}
*/
?>
<html>
<head>
<title><?php echo $user->lang['ADMIN_TITLE']; ?></title>
</head>
<frameset rows="60, *" border="0" framespacing="0" frameborder="NO">
<frame src="<?php echo "index.$phpEx$SID&amp;pane=top"; ?>" name="title" noresize marginwidth="0" marginheight="0" scrolling="NO">
<frameset cols="155,*" rows="*" border="2" framespacing="0" frameborder="yes">
<frame src="<?php echo "index.$phpEx$SID&amp;pane=left"; ?>" name="nav" marginwidth="3" marginheight="3" scrolling="yes">
<frame src="<?php echo $adm_url ?>" name="main" marginwidth="0" marginheight="0" scrolling="auto">
</frameset>
</frameset>
<noframes>
<body bgcolor="white" text="#000000">
<p><?php echo $user->lang['NO_FRAMES']; ?></p>
</body>
</noframes>
</html>
<?php
exit;
}
?>

469
phpBB/adm/pagestart.php Normal file
View File

@@ -0,0 +1,469 @@
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
*/
define('NEED_SID', true);
define('IN_ADMIN', true);
require($phpbb_root_path . 'common.'.$phpEx);
require($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('admin');
// End session management
// Did user forget to login? Give 'em a chance to here ...
if (!$user->data['is_registered'])
{
if ($user->data['is_bot'])
{
redirect("../index.$phpEx$SID");
}
login_box('', $user->lang['LOGIN_ADMIN'], $user->lang['LOGIN_ADMIN_SUCCESS'], true);
}
// Have they authenticated (again) as an admin for this session?
if (!$user->data['session_admin'])
{
login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
}
// Is user any type of admin? No, then stop here, each script needs to
// check specific permissions but this is a catchall
if (!$auth->acl_get('a_'))
{
trigger_error($user->lang['NO_ADMIN']);
}
// Some oft used variables
$safe_mode = (@ini_get('safe_mode') || @strtolower(ini_get('safe_mode')) == 'on') ? true : false;
$file_uploads = (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on') ? true : false;
// -----------------------------
// Functions
function adm_page_header($sub_title, $meta = '', $table_html = true)
{
global $config, $db, $user, $phpEx;
define('HEADER_INC', true);
// gzip_compression
if ($config['gzip_compress'])
{
if (extension_loaded('zlib') && !headers_sent())
{
ob_start('ob_gzhandler');
}
}
header("Content-type: text/html; charset=" . $user->lang['ENCODING']);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $user->lang['ENCODING']; ?>">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="subSilver.css" type="text/css">
<?php
echo $meta;
?>
<style type="text/css">
<!--
th { background-image: url('images/cellpic3.gif') }
td.cat { background-image: url('images/cellpic1.gif') }
//-->
</style>
<title><?php echo $config['sitename'] . ' - ' . $page_title; ?></title>
</head>
<body>
<?php
if ($table_html)
{
?>
<a name="top"></a>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td colspan="2" height="25" align="right" nowrap="nowrap"><span class="subtitle">&#0187; <i><?php echo $sub_title; ?></i></span> &nbsp;&nbsp;</td>
</tr>
</table>
<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td><br clear="all" />
<?php
}
}
function adm_page_footer($copyright_html = true)
{
global $cache, $config, $db, $phpEx;
if (!empty($cache))
{
$cache->unload();
}
// Close our DB connection.
$db->sql_close();
?>
</td>
</tr>
</table>
<?php
if ($copyright_html)
{
?>
<div class="copyright" align="center">Powered by phpBB <?php echo $config['version']; ?> &copy; 2002 <a href="http://www.phpbb.com/" target="_phpbb">phpBB Group</a></div>
<br clear="all" />
</body>
</html>
<?php
}
exit;
}
function adm_page_message($title, $message, $show_header = false)
{
global $phpEx, $SID, $user;
if ($show_header)
{
?>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><a href="<?php echo "../index.$phpEx$SID"; ?>"><img src="images/header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></a></td>
<td width="100%" background="images/header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle"><?php echo $user->lang['ADMIN_TITLE']; ?></span> &nbsp; &nbsp; &nbsp;</td>
</tr>
</table>
<?php
}
?>
<br /><br />
<table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $title; ?></th>
</tr>
<tr>
<td class="row1" align="center"><?php echo $message; ?></td>
</tr>
</table>
<br />
<?php
}
function adm_page_confirm($title, $message)
{
global $phpEx, $SID, $user;
// Grab data from GET and POST arrays ... note this is _not_
// validated! Everything is typed as string to ensure no
// funny business on displayed hidden field data. Validation
// will be carried out by whatever processes this form.
$var_ary = array_merge($_GET, $_POST);
$s_hidden_fields = '';
foreach ($var_ary as $key => $var)
{
if (empty($var))
{
continue;
}
if (is_array($var))
{
foreach ($var as $k => $v)
{
if (is_array($v))
{
foreach ($v as $_k => $_v)
{
set_var($var[$k][$_k], $_v, 'string');
$s_hidden_fields .= "<input type=\"hidden\" name=\"${key}[$k][$_k]\" value=\"" . addslashes($_v) . '" />';
}
}
else
{
set_var($var[$k], $v, 'string');
$s_hidden_fields .= "<input type=\"hidden\" name=\"${key}[$k]\" value=\"" . addslashes($v) . '" />';
}
}
}
else
{
set_var($var, $var, 'string');
$s_hidden_fields .= '<input type="hidden" name="' . $key . '" value="' . addslashes($var) . '" />';
}
unset($var_ary[$key]);
}
?>
<br /><br />
<form name="confirm" method="post" action="<?php echo $_SERVER['SCRIPT_NAME'] . $SID; ?>">
<table class="bg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th><?php echo $title; ?></th>
</tr>
<tr>
<td class="row1" align="center"><?php echo $message; ?><br /><br /><input class="btnlite" type="submit" name="confirm" value="<?php echo $user->lang['YES']; ?>" />&nbsp;&nbsp;<input class="btnmain" type="submit" name="cancel" value="<?php echo $user->lang['NO']; ?>" /></td>
</tr>
</table>
<?php echo $s_hidden_fields; ?>
</form>
<br />
<?php
adm_page_footer();
}
function build_cfg_template($tpl_type, $config_key, $options = '')
{
global $new, $user;
$tpl = '';
$name = 'config[' . $config_key . ']';
switch ($tpl_type[0])
{
case 'text':
case 'password':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
$tpl = '<input class="post" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
break;
case 'dimension':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
$tpl = '<input class="post" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" /> x <input class="post" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" />';
break;
case 'textarea':
$rows = (int) $tpl_type[1];
$cols = (int) $tpl_type[2];
$tpl = '<textarea name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
break;
case 'radio':
$key_yes = ($new[$config_key]) ? ' checked="checked"' : '';
$key_no = (!$new[$config_key]) ? ' checked="checked"' : '';
$tpl_type_cond = explode('_', $tpl_type[1]);
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
$tpl_no = '<input type="radio" name="' . $name . '" value="0"' . $key_no . ' />' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']);
$tpl_yes = '<input type="radio" name="' . $name . '" value="1"' . $key_yes . ' />' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']);
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . '&nbsp;&nbsp;' . $tpl_no : $tpl_no . '&nbsp;&nbsp;' . $tpl_yes;
break;
case 'select':
eval('$s_options = ' . str_replace('{VALUE}', $new[$config_key], $options) . ';');
$tpl = '<select name="' . $name . '">' . $s_options . '</select>';
break;
case 'custom':
eval('$tpl = ' . str_replace('{VALUE}', $new[$config_key], $options) . ';');
break;
default:
break;
}
return $tpl;
}
/**
* @package acp
* General ACP module class
*/
class module
{
var $id = 0;
var $type;
var $name;
var $mode;
// Private methods, should not be overwritten
function create($module_type, $module_url, $selected_mod = false, $selected_submod = false)
{
global $template, $auth, $db, $user, $config;
$sql = 'SELECT module_id, module_title, module_filename, module_subs, module_acl
FROM ' . MODULES_TABLE . "
WHERE module_type = 'acp'
AND module_enabled = 1
ORDER BY module_order ASC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
// Authorisation is required for the basic module
if ($row['module_acl'])
{
$is_auth = false;
eval('$is_auth = (' . preg_replace(array('#acl_([a-z_]+)#e', '#cfg_([a-z_]+)#e'), array('$auth->acl_get("\\1")', '$config["\\1"]'), $row['module_acl']) . ');');
// The user is not authorised to use this module, skip it
if (!$is_auth)
{
continue;
}
}
$selected = ($row['module_filename'] == $selected_mod || $row['module_id'] == $selected_mod || (!$selected_mod && !$i)) ? true : false;
/*
// Get the localised lang string if available, or make up our own otherwise
$template->assign_block_vars($module_type . '_section', array(
'L_TITLE' => (isset($user->lang[strtoupper($module_type) . '_' . $row['module_title']])) ? $user->lang[strtoupper($module_type) . '_' . $row['module_title']] : ucfirst(str_replace('_', ' ', strtolower($row['module_title']))),
'S_SELECTED' => $selected,
'U_TITLE' => $module_url . '&amp;i=' . $row['module_id'])
);
*/
if ($selected)
{
$module_id = $row['module_id'];
$module_name = $row['module_filename'];
if ($row['module_subs'])
{
$j = 0;
$submodules_ary = explode("\n", $row['module_subs']);
foreach ($submodules_ary as $submodule)
{
$submodule = explode(',', trim($submodule));
$submodule_title = array_shift($submodule);
$is_auth = true;
foreach ($submodule as $auth_option)
{
if (!$auth->acl_get($auth_option))
{
$is_auth = false;
}
}
if (!$is_auth)
{
continue;
}
$selected = ($submodule_title == $selected_submod || (!$selected_submod && !$j)) ? true : false;
/*
// Get the localised lang string if available, or make up our own otherwise
$template->assign_block_vars("{$module_type}_section.{$module_type}_subsection", array(
'L_TITLE' => (isset($user->lang[strtoupper($module_type) . '_' . strtoupper($submodule_title)])) ? $user->lang[strtoupper($module_type) . '_' . strtoupper($submodule_title)] : ucfirst(str_replace('_', ' ', strtolower($submodule_title))),
'S_SELECTED' => $selected,
'U_TITLE' => $module_url . '&amp;i=' . $module_id . '&amp;mode=' . $submodule_title
));
*/
if ($selected)
{
$this->mode = $submodule_title;
}
$j++;
}
}
}
$i++;
}
$db->sql_freeresult($result);
if (!$module_id)
{
trigger_error('MODULE_NOT_EXIST');
}
$this->type = $module_type;
$this->id = $module_id;
$this->name = $module_name;
}
// Public methods to be overwritten by modules
function module()
{
// Module name
// Module filename
// Module description
// Module version
// Module compatibility
return false;
}
function init()
{
return false;
}
function install()
{
return false;
}
function uninstall()
{
return false;
}
}
// End Functions
// -----------------------------
?>

217
phpBB/adm/subSilver.css Normal file
View File

@@ -0,0 +1,217 @@
/*
$Id$
The original "subSilver" theme for phpBB2
Created by subBlue design :: http://www.subBlue.com
Updated for phpBB 2.2 by psoTFX :: phpBB Group
Copyright (c) 2002 phpBB Group
*/
body {
background-color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
margin: 0px;
border: 0px;
padding: 0px;
scrollbar-face-color: #DEE3E7;
scrollbar-highlight-color: white;
scrollbar-shadow-color: #DEE3E7;
scrollbar-3dlight-color: #D1D7DC;
scrollbar-arrow-color: #006699;
scrollbar-track-color: #EFEFEF;
scrollbar-darkshadow-color: #98AAB1;
}
p {
font-size: 8pt;
}
.maintitle, h1 {
font: bold 18pt 'Trebuchet MS', Verdana, sans-serif;
text-decoration:none;
line-height: 120%;
}
h2 {
font: bold 12pt Arial, Helvetica, sans-serif;
text-decoration:none;
line-height: 120%;
}
.maintitle {
color: #12749B
}
.subtitle {
font: bold 12pt Arial, Helvetica, sans-serif;
}
.blue {
color: #006699;
}
.syntaxbg { color: #FFFFFF; }
.syntaxcomment { color: #FF8000; }
.syntaxdefault { color: #0000BB; }
.syntaxhtml { color: #000000; }
.syntaxkeyword { color: #007700; }
.syntaxstring { color: #DD0000; }
/*
Anchors
*/
a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.nav { color: #006699; text-decoration: none; }
a.nav:hover { text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover { color: #FFA34F; text-decoration: underline; }
/*
Non-tag specific
*/
.gen, .gensmall {
color: black;
}
.gen {
font-size: 8pt;
}
.gensmall {
font-size: 7pt;
}
.nav {
color: black;
font: bold 7pt;
}
.forumlink {
font: bold 120% Verdana, Arial, Helvetica, sans-serif;
}
.name {
color: black;
font-size: 11px;
}
.postdetails {
color: black;
font-size: 10px;
}
.copyright {
color: #444444;
font: 8pt Verdana, Arial, Helvetica, sans-serif;
letter-spacing: -1px;
}
.error { color: #FF0000 }
/*
Tables
*/
table.bg {
background-color: #ACBBC6
}
th, td {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
}
th {
height: 25px;
background-color: #006699;
color: #FFA34F;
font-weight: bold;
font-size: 11px;
}
th.menu {
text-align: left;
}
td.cat {
height: 28px;
background-color: #D1D7DC;
}
.row1 {
background-color: #EFEFEF;
}
.row2 {
background-color: #DEE3E7;
}
.row3 {
background-color: #D1D7DC;
}
.sourcenum {
color: gray;
font-family: 'Courier New', monospace;
font-size: 9pt;
font-weight: bold;
line-height: 160%;
}
.source {
font-family: 'Courier New', monospace;
font-size: 9pt;
line-height: 160%;
}
/*
Misc
*/
hr {
height: 0px;
border: solid #D1D7DC 0px;
border-top-width: 1px;
}
/*
Forms
*/
input {
text-indent: 2px;
}
textarea, select, input.post, input.mainoption, input.liteoption {
border: 1px solid;
}
input, textarea, select {
color: black;
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border-color: black;
}
input.text {
font-family: 'Courier New', courier;
}
input.checkbox {
height: 16px;
width: 16px;
}
option.sep {
color: white;
background-color: #006699;
}
textarea.edit {
font: 9pt 'Courier New', courier;
line-height:125%;
}
.btnmain {
background-color: #FAFAFA;
font-weight: bold;
border-width: 1px;
}
.btnlite {
background-color: #FAFAFA;
font-weight: normal;
border-width: 1px;
}
.helpline { background-color: #DEE3E7; border-style: none; }

56
phpBB/adm/swatch.php Normal file
View File

@@ -0,0 +1,56 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>phpBB3 Color Swatch</title>
<style type="text/css">
td {
border: solid 1px #333333;
}
.over {
border-color: white;
}
.out {
border-color: #333333;
}
</style>
<body bgcolor="#404040" text="#FFFFFF">
<script language="javascript" type="text/javascript">
<!--
var r = 0, g = 0, b = 0;
var numberList = new Array(6);
numberList[0] = "00";
numberList[1] = "33";
numberList[2] = "66";
numberList[3] = "99";
numberList[4] = "CC";
numberList[5] = "FF";
document.writeln('<table cellspacing="0" cellpadding="0" border="0">');
for(r = 0; r < 6; r++)
{
document.writeln('<tr>');
for(g = 0; g < 6; g++)
{
for(b = 0; b < 6; b++)
{
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
document.write('<td bgcolor="#' + color + '" onmouseover="this.className=\'over\'" onmouseout="this.className=\'out\'">');
document.write('<a href="javascript:cell(\'' + color + '\');"><img src="../images/spacer.gif" width="15" height="12" border="0" alt="#' + color + '" title="#' + color + '" \/><\/a>');
document.writeln('<\/td>');
}
}
document.writeln('<\/tr>');
}
document.writeln('<\/table>');
function cell(color)
{
opener.document.forms['<?php echo htmlspecialchars(addslashes($_GET['form'])); ?>'].<?php echo htmlspecialchars(addslashes($_GET['name'])); ?>.value = color;
}
//-->
</script>
</body>
</html>

View File

@@ -1,329 +0,0 @@
<?php
/***************************************************************************
* admin_board.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['General']['Configuration'] = "$file";
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);
//
// Pull all config data
//
$sql = "SELECT *
FROM " . CONFIG_TABLE;
if(!$result = $db->sql_query($sql))
{
message_die(CRITICAL_ERROR, "Could not query config information in admin_board", "", __LINE__, __FILE__, $sql);
}
else
{
while( $row = $db->sql_fetchrow($result) )
{
$config_name = $row['config_name'];
$config_value = $row['config_value'];
$default_config[$config_name] = isset($HTTP_POST_VARS['submit']) ? str_replace("'", "\'", $config_value) : $config_value;
$new[$config_name] = ( isset($HTTP_POST_VARS[$config_name]) ) ? $HTTP_POST_VARS[$config_name] : $default_config[$config_name];
if ($config_name == 'cookie_name')
{
$cookie_name = str_replace('.', '_', $new['cookie_name']);
}
if( isset($HTTP_POST_VARS['submit']) )
{
$sql = "UPDATE " . CONFIG_TABLE . " SET
config_value = '" . str_replace("\'", "''", $new[$config_name]) . "'
WHERE config_name = '$config_name'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
}
}
}
if( isset($HTTP_POST_VARS['submit']) )
{
$message = $lang['Config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . append_sid("admin_board.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
$style_select = style_select($new['default_style'], 'default_style', "../templates");
$lang_select = language_select($new['default_lang'], 'default_lang', "language");
$timezone_select = tz_select($new['board_timezone'], 'board_timezone');
$disable_board_yes = ( $new['board_disable'] ) ? "checked=\"checked\"" : "";
$disable_board_no = ( !$new['board_disable'] ) ? "checked=\"checked\"" : "";
$cookie_secure_yes = ( $new['cookie_secure'] ) ? "checked=\"checked\"" : "";
$cookie_secure_no = ( !$new['cookie_secure'] ) ? "checked=\"checked\"" : "";
$html_tags = $new['allow_html_tags'];
$override_user_style_yes = ( $new['override_user_style'] ) ? "checked=\"checked\"" : "";
$override_user_style_no = ( !$new['override_user_style'] ) ? "checked=\"checked\"" : "";
$html_yes = ( $new['allow_html'] ) ? "checked=\"checked\"" : "";
$html_no = ( !$new['allow_html'] ) ? "checked=\"checked\"" : "";
$bbcode_yes = ( $new['allow_bbcode'] ) ? "checked=\"checked\"" : "";
$bbcode_no = ( !$new['allow_bbcode'] ) ? "checked=\"checked\"" : "";
$activation_none = ( $new['require_activation'] == USER_ACTIVATION_NONE ) ? "checked=\"checked\"" : "";
$activation_user = ( $new['require_activation'] == USER_ACTIVATION_SELF ) ? "checked=\"checked\"" : "";
$activation_admin = ( $new['require_activation'] == USER_ACTIVATION_ADMIN ) ? "checked=\"checked\"" : "";
$confirm_yes = ($new['enable_confirm']) ? 'checked="checked"' : '';
$confirm_no = (!$new['enable_confirm']) ? 'checked="checked"' : '';
$board_email_form_yes = ( $new['board_email_form'] ) ? "checked=\"checked\"" : "";
$board_email_form_no = ( !$new['board_email_form'] ) ? "checked=\"checked\"" : "";
$gzip_yes = ( $new['gzip_compress'] ) ? "checked=\"checked\"" : "";
$gzip_no = ( !$new['gzip_compress'] ) ? "checked=\"checked\"" : "";
$privmsg_on = ( !$new['privmsg_disable'] ) ? "checked=\"checked\"" : "";
$privmsg_off = ( $new['privmsg_disable'] ) ? "checked=\"checked\"" : "";
$prune_yes = ( $new['prune_enable'] ) ? "checked=\"checked\"" : "";
$prune_no = ( !$new['prune_enable'] ) ? "checked=\"checked\"" : "";
$smile_yes = ( $new['allow_smilies'] ) ? "checked=\"checked\"" : "";
$smile_no = ( !$new['allow_smilies'] ) ? "checked=\"checked\"" : "";
$sig_yes = ( $new['allow_sig'] ) ? "checked=\"checked\"" : "";
$sig_no = ( !$new['allow_sig'] ) ? "checked=\"checked\"" : "";
$namechange_yes = ( $new['allow_namechange'] ) ? "checked=\"checked\"" : "";
$namechange_no = ( !$new['allow_namechange'] ) ? "checked=\"checked\"" : "";
$avatars_local_yes = ( $new['allow_avatar_local'] ) ? "checked=\"checked\"" : "";
$avatars_local_no = ( !$new['allow_avatar_local'] ) ? "checked=\"checked\"" : "";
$avatars_remote_yes = ( $new['allow_avatar_remote'] ) ? "checked=\"checked\"" : "";
$avatars_remote_no = ( !$new['allow_avatar_remote'] ) ? "checked=\"checked\"" : "";
$avatars_upload_yes = ( $new['allow_avatar_upload'] ) ? "checked=\"checked\"" : "";
$avatars_upload_no = ( !$new['allow_avatar_upload'] ) ? "checked=\"checked\"" : "";
$smtp_yes = ( $new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
$smtp_no = ( !$new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
$template->set_filenames(array(
"body" => "admin/board_config_body.tpl")
);
//
// Escape any quotes in the site description for proper display in the text
// box on the admin page
//
$new['site_desc'] = str_replace('"', '&quot;', $new['site_desc']);
$new['sitename'] = str_replace('"', '&quot;', strip_tags($new['sitename']));
$template->assign_vars(array(
"S_CONFIG_ACTION" => append_sid("admin_board.$phpEx"),
"L_YES" => $lang['Yes'],
"L_NO" => $lang['No'],
"L_CONFIGURATION_TITLE" => $lang['General_Config'],
"L_CONFIGURATION_EXPLAIN" => $lang['Config_explain'],
"L_GENERAL_SETTINGS" => $lang['General_settings'],
"L_SERVER_NAME" => $lang['Server_name'],
"L_SERVER_NAME_EXPLAIN" => $lang['Server_name_explain'],
"L_SERVER_PORT" => $lang['Server_port'],
"L_SERVER_PORT_EXPLAIN" => $lang['Server_port_explain'],
"L_SCRIPT_PATH" => $lang['Script_path'],
"L_SCRIPT_PATH_EXPLAIN" => $lang['Script_path_explain'],
"L_SITE_NAME" => $lang['Site_name'],
"L_SITE_DESCRIPTION" => $lang['Site_desc'],
"L_DISABLE_BOARD" => $lang['Board_disable'],
"L_DISABLE_BOARD_EXPLAIN" => $lang['Board_disable_explain'],
"L_ACCT_ACTIVATION" => $lang['Acct_activation'],
"L_NONE" => $lang['Acc_None'],
"L_USER" => $lang['Acc_User'],
"L_ADMIN" => $lang['Acc_Admin'],
"L_VISUAL_CONFIRM" => $lang['Visual_confirm'],
"L_VISUAL_CONFIRM_EXPLAIN" => $lang['Visual_confirm_explain'],
"L_COOKIE_SETTINGS" => $lang['Cookie_settings'],
"L_COOKIE_SETTINGS_EXPLAIN" => $lang['Cookie_settings_explain'],
"L_COOKIE_DOMAIN" => $lang['Cookie_domain'],
"L_COOKIE_NAME" => $lang['Cookie_name'],
"L_COOKIE_PATH" => $lang['Cookie_path'],
"L_COOKIE_SECURE" => $lang['Cookie_secure'],
"L_COOKIE_SECURE_EXPLAIN" => $lang['Cookie_secure_explain'],
"L_SESSION_LENGTH" => $lang['Session_length'],
"L_PRIVATE_MESSAGING" => $lang['Private_Messaging'],
"L_INBOX_LIMIT" => $lang['Inbox_limits'],
"L_SENTBOX_LIMIT" => $lang['Sentbox_limits'],
"L_SAVEBOX_LIMIT" => $lang['Savebox_limits'],
"L_DISABLE_PRIVATE_MESSAGING" => $lang['Disable_privmsg'],
"L_ENABLED" => $lang['Enabled'],
"L_DISABLED" => $lang['Disabled'],
"L_ABILITIES_SETTINGS" => $lang['Abilities_settings'],
"L_MAX_POLL_OPTIONS" => $lang['Max_poll_options'],
"L_FLOOD_INTERVAL" => $lang['Flood_Interval'],
"L_FLOOD_INTERVAL_EXPLAIN" => $lang['Flood_Interval_explain'],
"L_BOARD_EMAIL_FORM" => $lang['Board_email_form'],
"L_BOARD_EMAIL_FORM_EXPLAIN" => $lang['Board_email_form_explain'],
"L_TOPICS_PER_PAGE" => $lang['Topics_per_page'],
"L_POSTS_PER_PAGE" => $lang['Posts_per_page'],
"L_HOT_THRESHOLD" => $lang['Hot_threshold'],
"L_DEFAULT_STYLE" => $lang['Default_style'],
"L_OVERRIDE_STYLE" => $lang['Override_style'],
"L_OVERRIDE_STYLE_EXPLAIN" => $lang['Override_style_explain'],
"L_DEFAULT_LANGUAGE" => $lang['Default_language'],
"L_DATE_FORMAT" => $lang['Date_format'],
"L_SYSTEM_TIMEZONE" => $lang['System_timezone'],
"L_ENABLE_GZIP" => $lang['Enable_gzip'],
"L_ENABLE_PRUNE" => $lang['Enable_prune'],
"L_ALLOW_HTML" => $lang['Allow_HTML'],
"L_ALLOW_BBCODE" => $lang['Allow_BBCode'],
"L_ALLOWED_TAGS" => $lang['Allowed_tags'],
"L_ALLOWED_TAGS_EXPLAIN" => $lang['Allowed_tags_explain'],
"L_ALLOW_SMILIES" => $lang['Allow_smilies'],
"L_SMILIES_PATH" => $lang['Smilies_path'],
"L_SMILIES_PATH_EXPLAIN" => $lang['Smilies_path_explain'],
"L_ALLOW_SIG" => $lang['Allow_sig'],
"L_MAX_SIG_LENGTH" => $lang['Max_sig_length'],
"L_MAX_SIG_LENGTH_EXPLAIN" => $lang['Max_sig_length_explain'],
"L_ALLOW_NAME_CHANGE" => $lang['Allow_name_change'],
"L_AVATAR_SETTINGS" => $lang['Avatar_settings'],
"L_ALLOW_LOCAL" => $lang['Allow_local'],
"L_ALLOW_REMOTE" => $lang['Allow_remote'],
"L_ALLOW_REMOTE_EXPLAIN" => $lang['Allow_remote_explain'],
"L_ALLOW_UPLOAD" => $lang['Allow_upload'],
"L_MAX_FILESIZE" => $lang['Max_filesize'],
"L_MAX_FILESIZE_EXPLAIN" => $lang['Max_filesize_explain'],
"L_MAX_AVATAR_SIZE" => $lang['Max_avatar_size'],
"L_MAX_AVATAR_SIZE_EXPLAIN" => $lang['Max_avatar_size_explain'],
"L_AVATAR_STORAGE_PATH" => $lang['Avatar_storage_path'],
"L_AVATAR_STORAGE_PATH_EXPLAIN" => $lang['Avatar_storage_path_explain'],
"L_AVATAR_GALLERY_PATH" => $lang['Avatar_gallery_path'],
"L_AVATAR_GALLERY_PATH_EXPLAIN" => $lang['Avatar_gallery_path_explain'],
"L_COPPA_SETTINGS" => $lang['COPPA_settings'],
"L_COPPA_FAX" => $lang['COPPA_fax'],
"L_COPPA_MAIL" => $lang['COPPA_mail'],
"L_COPPA_MAIL_EXPLAIN" => $lang['COPPA_mail_explain'],
"L_EMAIL_SETTINGS" => $lang['Email_settings'],
"L_ADMIN_EMAIL" => $lang['Admin_email'],
"L_EMAIL_SIG" => $lang['Email_sig'],
"L_EMAIL_SIG_EXPLAIN" => $lang['Email_sig_explain'],
"L_USE_SMTP" => $lang['Use_SMTP'],
"L_USE_SMTP_EXPLAIN" => $lang['Use_SMTP_explain'],
"L_SMTP_SERVER" => $lang['SMTP_server'],
"L_SMTP_USERNAME" => $lang['SMTP_username'],
"L_SMTP_USERNAME_EXPLAIN" => $lang['SMTP_username_explain'],
"L_SMTP_PASSWORD" => $lang['SMTP_password'],
"L_SMTP_PASSWORD_EXPLAIN" => $lang['SMTP_password_explain'],
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
"SERVER_NAME" => $new['server_name'],
"SCRIPT_PATH" => $new['script_path'],
"SERVER_PORT" => $new['server_port'],
"SITENAME" => $new['sitename'],
"SITE_DESCRIPTION" => $new['site_desc'],
"S_DISABLE_BOARD_YES" => $disable_board_yes,
"S_DISABLE_BOARD_NO" => $disable_board_no,
"ACTIVATION_NONE" => USER_ACTIVATION_NONE,
"ACTIVATION_NONE_CHECKED" => $activation_none,
"ACTIVATION_USER" => USER_ACTIVATION_SELF,
"ACTIVATION_USER_CHECKED" => $activation_user,
"ACTIVATION_ADMIN" => USER_ACTIVATION_ADMIN,
"ACTIVATION_ADMIN_CHECKED" => $activation_admin,
"CONFIRM_ENABLE" => $confirm_yes,
"CONFIRM_DISABLE" => $confirm_no,
"ACTIVATION_NONE_CHECKED" => $activation_none,
"BOARD_EMAIL_FORM_ENABLE" => $board_email_form_yes,
"BOARD_EMAIL_FORM_DISABLE" => $board_email_form_no,
"MAX_POLL_OPTIONS" => $new['max_poll_options'],
"FLOOD_INTERVAL" => $new['flood_interval'],
"TOPICS_PER_PAGE" => $new['topics_per_page'],
"POSTS_PER_PAGE" => $new['posts_per_page'],
"HOT_TOPIC" => $new['hot_threshold'],
"STYLE_SELECT" => $style_select,
"OVERRIDE_STYLE_YES" => $override_user_style_yes,
"OVERRIDE_STYLE_NO" => $override_user_style_no,
"LANG_SELECT" => $lang_select,
"L_DATE_FORMAT_EXPLAIN" => $lang['Date_format_explain'],
"DEFAULT_DATEFORMAT" => $new['default_dateformat'],
"TIMEZONE_SELECT" => $timezone_select,
"S_PRIVMSG_ENABLED" => $privmsg_on,
"S_PRIVMSG_DISABLED" => $privmsg_off,
"INBOX_LIMIT" => $new['max_inbox_privmsgs'],
"SENTBOX_LIMIT" => $new['max_sentbox_privmsgs'],
"SAVEBOX_LIMIT" => $new['max_savebox_privmsgs'],
"COOKIE_DOMAIN" => $new['cookie_domain'],
"COOKIE_NAME" => $new['cookie_name'],
"COOKIE_PATH" => $new['cookie_path'],
"SESSION_LENGTH" => $new['session_length'],
"S_COOKIE_SECURE_ENABLED" => $cookie_secure_yes,
"S_COOKIE_SECURE_DISABLED" => $cookie_secure_no,
"GZIP_YES" => $gzip_yes,
"GZIP_NO" => $gzip_no,
"PRUNE_YES" => $prune_yes,
"PRUNE_NO" => $prune_no,
"HTML_TAGS" => $html_tags,
"HTML_YES" => $html_yes,
"HTML_NO" => $html_no,
"BBCODE_YES" => $bbcode_yes,
"BBCODE_NO" => $bbcode_no,
"SMILE_YES" => $smile_yes,
"SMILE_NO" => $smile_no,
"SIG_YES" => $sig_yes,
"SIG_NO" => $sig_no,
"SIG_SIZE" => $new['max_sig_chars'],
"NAMECHANGE_YES" => $namechange_yes,
"NAMECHANGE_NO" => $namechange_no,
"AVATARS_LOCAL_YES" => $avatars_local_yes,
"AVATARS_LOCAL_NO" => $avatars_local_no,
"AVATARS_REMOTE_YES" => $avatars_remote_yes,
"AVATARS_REMOTE_NO" => $avatars_remote_no,
"AVATARS_UPLOAD_YES" => $avatars_upload_yes,
"AVATARS_UPLOAD_NO" => $avatars_upload_no,
"AVATAR_FILESIZE" => $new['avatar_filesize'],
"AVATAR_MAX_HEIGHT" => $new['avatar_max_height'],
"AVATAR_MAX_WIDTH" => $new['avatar_max_width'],
"AVATAR_PATH" => $new['avatar_path'],
"AVATAR_GALLERY_PATH" => $new['avatar_gallery_path'],
"SMILIES_PATH" => $new['smilies_path'],
"INBOX_PRIVMSGS" => $new['max_inbox_privmsgs'],
"SENTBOX_PRIVMSGS" => $new['max_sentbox_privmsgs'],
"SAVEBOX_PRIVMSGS" => $new['max_savebox_privmsgs'],
"EMAIL_FROM" => $new['board_email'],
"EMAIL_SIG" => $new['board_email_sig'],
"SMTP_YES" => $smtp_yes,
"SMTP_NO" => $smtp_no,
"SMTP_HOST" => $new['smtp_host'],
"SMTP_USERNAME" => $new['smtp_username'],
"SMTP_PASSWORD" => $new['smtp_password'],
"COPPA_MAIL" => $new['coppa_mail'],
"COPPA_FAX" => $new['coppa_fax'])
);
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>

File diff suppressed because it is too large Load Diff

View File

@@ -1,146 +0,0 @@
<?php
/***************************************************************************
* admin_disallow.php
* -------------------
* begin : Tuesday, Oct 05, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Disallow'] = append_sid($filename);
return;
}
//
// Include required files, get $phpEx and check permissions
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
if( isset($HTTP_POST_VARS['add_name']) )
{
include($phpbb_root_path . 'includes/functions_validate.'.$phpEx);
$disallowed_user = ( isset($HTTP_POST_VARS['disallowed_user']) ) ? trim($HTTP_POST_VARS['disallowed_user']) : trim($HTTP_GET_VARS['disallowed_user']);
if ($disallowed_user == '')
{
message_die(MESSAGE, $lang['Fields_empty']);
}
if( !validate_username($disallowed_user) )
{
$message = $lang['Disallowed_already'];
}
else
{
$sql = "INSERT INTO " . DISALLOW_TABLE . " (disallow_username)
VALUES('" . str_replace("\'", "''", $disallowed_user) . "')";
$result = $db->sql_query( $sql );
if ( !$result )
{
message_die(GENERAL_ERROR, "Could not add disallowed user.", "",__LINE__, __FILE__, $sql);
}
$message = $lang['Disallow_successful'];
}
$message .= "<br /><br />" . sprintf($lang['Click_return_disallowadmin'], "<a href=\"" . append_sid("admin_disallow.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( isset($HTTP_POST_VARS['delete_name']) )
{
$disallowed_id = ( isset($HTTP_POST_VARS['disallowed_id']) ) ? intval( $HTTP_POST_VARS['disallowed_id'] ) : intval( $HTTP_GET_VARS['disallowed_id'] );
$sql = "DELETE FROM " . DISALLOW_TABLE . "
WHERE disallow_id = $disallowed_id";
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't removed disallowed user.", "",__LINE__, __FILE__, $sql);
}
$message .= $lang['Disallowed_deleted'] . "<br /><br />" . sprintf($lang['Click_return_disallowadmin'], "<a href=\"" . append_sid("admin_disallow.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
//
// Grab the current list of disallowed usernames...
//
$sql = "SELECT *
FROM " . DISALLOW_TABLE;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't get disallowed users.", "", __LINE__, __FILE__, $sql );
}
$disallowed = $db->sql_fetchrowset($result);
//
// Ok now generate the info for the template, which will be put out no matter
// what mode we are in.
//
$disallow_select = '<select name="disallowed_id">';
if( trim($disallowed) == "" )
{
$disallow_select .= '<option value="">' . $lang['no_disallowed'] . '</option>';
}
else
{
$user = array();
for( $i = 0; $i < count($disallowed); $i++ )
{
$disallow_select .= '<option value="' . $disallowed[$i]['disallow_id'] . '">' . $disallowed[$i]['disallow_username'] . '</option>';
}
}
$disallow_select .= '</select>';
$template->set_filenames(array(
"body" => "admin/disallow_body.tpl")
);
$template->assign_vars(array(
"S_DISALLOW_SELECT" => $disallow_select,
"S_FORM_ACTION" => append_sid("admin_disallow.$phpEx"),
"L_INFO" => $output_info,
"L_DISALLOW_TITLE" => $lang['Disallow_control'],
"L_DISALLOW_EXPLAIN" => $lang['Disallow_explain'],
"L_DELETE" => $lang['Delete_disallow'],
"L_DELETE_DISALLOW" => $lang['Delete_disallow_title'],
"L_DELETE_EXPLAIN" => $lang['Delete_disallow_explain'],
"L_ADD" => $lang['Add_disallow'],
"L_ADD_DISALLOW" => $lang['Add_disallow_title'],
"L_ADD_EXPLAIN" => $lang['Add_disallow_explain'],
"L_USERNAME" => $lang['Username'])
);
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,199 +0,0 @@
<?php
/***************************************************************************
* admin_forum_prune.php
* -------------------
* begin : Mon Jul 31, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
****************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
if ( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Forums']['Prune'] = $filename;
return;
}
//
// Load default header
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
require($phpbb_root_path . 'includes/prune.'.$phpEx);
require($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
//
// Get the forum ID for pruning
//
if( isset($HTTP_GET_VARS[POST_FORUM_URL]) || isset($HTTP_POST_VARS[POST_FORUM_URL]) )
{
$forum_id = ( isset($HTTP_POST_VARS[POST_FORUM_URL]) ) ? $HTTP_POST_VARS[POST_FORUM_URL] : $HTTP_GET_VARS[POST_FORUM_URL];
if( $forum_id == -1 )
{
$forum_sql = '';
}
else
{
$forum_id = intval($forum_id);
$forum_sql = "AND forum_id = $forum_id";
}
}
else
{
$forum_id = '';
$forum_sql = '';
}
//
// Get a list of forum's or the data for the forum that we are pruning.
//
$sql = "SELECT f.*
FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
WHERE c.cat_id = f.cat_id
$forum_sql
ORDER BY c.cat_order ASC, f.forum_order ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain list of forums for pruning', '', __LINE__, __FILE__, $sql);
}
$forum_rows = array();
while( $row = $db->sql_fetchrow($result) )
{
$forum_rows[] = $row;
}
//
// Check for submit to be equal to Prune. If so then proceed with the pruning.
//
if( isset($HTTP_POST_VARS['doprune']) )
{
$prunedays = ( isset($HTTP_POST_VARS['prunedays']) ) ? intval($HTTP_POST_VARS['prunedays']) : 0;
// Convert days to seconds for timestamp functions...
$prunedate = time() - ( $prunedays * 86400 );
$template->set_filenames(array(
'body' => 'admin/forum_prune_result_body.tpl')
);
for($i = 0; $i < count($forum_rows); $i++)
{
$p_result = prune($forum_rows[$i]['forum_id'], $prunedate);
sync('forum', $forum_rows[$i]['forum_id']);
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('prune_results', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'FORUM_NAME' => $forum_rows[$i]['forum_name'],
'FORUM_TOPICS' => $p_result['topics'],
'FORUM_POSTS' => $p_result['posts'])
);
}
$template->assign_vars(array(
'L_FORUM_PRUNE' => $lang['Forum_Prune'],
'L_FORUM' => $lang['Forum'],
'L_TOPICS_PRUNED' => $lang['Topics_pruned'],
'L_POSTS_PRUNED' => $lang['Posts_pruned'],
'L_PRUNE_RESULT' => $lang['Prune_success'])
);
}
else
{
//
// If they haven't selected a forum for pruning yet then
// display a select box to use for pruning.
//
if( empty($HTTP_POST_VARS[POST_FORUM_URL]) )
{
//
// Output a selection table if no forum id has been specified.
//
$template->set_filenames(array(
'body' => 'admin/forum_prune_select_body.tpl')
);
$select_list = '<select name="' . POST_FORUM_URL . '">';
$select_list .= '<option value="-1">' . $lang['All_Forums'] . '</option>';
for($i = 0; $i < count($forum_rows); $i++)
{
$select_list .= '<option value="' . $forum_rows[$i]['forum_id'] . '">' . $forum_rows[$i]['forum_name'] . '</option>';
}
$select_list .= '</select>';
//
// Assign the template variables.
//
$template->assign_vars(array(
'L_FORUM_PRUNE' => $lang['Forum_Prune'],
'L_SELECT_FORUM' => $lang['Select_a_Forum'],
'L_LOOK_UP' => $lang['Look_up_Forum'],
'S_FORUMPRUNE_ACTION' => append_sid("admin_forum_prune.$phpEx"),
'S_FORUMS_SELECT' => $select_list)
);
}
else
{
$forum_id = intval($HTTP_POST_VARS[POST_FORUM_URL]);
//
// Output the form to retrieve Prune information.
//
$template->set_filenames(array(
'body' => 'admin/forum_prune_body.tpl')
);
$forum_name = ( $forum_id == -1 ) ? $lang['All_Forums'] : $forum_rows[0]['forum_name'];
$prune_data = $lang['Prune_topics_not_posted'] . " ";
$prune_data .= '<input class="post" type="text" name="prunedays" size="4"> ' . $lang['Days'];
$hidden_input = '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';
//
// Assign the template variables.
//
$template->assign_vars(array(
'FORUM_NAME' => $forum_name,
'L_FORUM' => $lang['Forum'],
'L_FORUM_PRUNE' => $lang['Forum_Prune'],
'L_FORUM_PRUNE_EXPLAIN' => $lang['Forum_Prune_explain'],
'L_DO_PRUNE' => $lang['Do_Prune'],
'S_FORUMPRUNE_ACTION' => append_sid("admin_forum_prune.$phpEx"),
'S_PRUNE_DATA' => $prune_data,
'S_HIDDEN_VARS' => $hidden_input)
);
}
}
//
// Actually output the page here.
//
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,328 +0,0 @@
<?php
/***************************************************************************
* admin_forumauth.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Forums']['Permissions'] = $filename;
return;
}
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Start program - define vars
//
// View Read Post Reply Edit Delete Sticky Announce Vote Poll
$simple_auth_ary = array(
0 => array(AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG),
1 => array(AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG),
2 => array(AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG),
3 => array(AUTH_ALL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_ACL, AUTH_ACL),
4 => array(AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_ACL, AUTH_ACL),
5 => array(AUTH_ALL, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD),
6 => array(AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD),
);
$simple_auth_types = array($lang['Public'], $lang['Registered'], $lang['Registered'] . ' [' . $lang['Hidden'] . ']', $lang['Private'], $lang['Private'] . ' [' . $lang['Hidden'] . ']', $lang['Moderators'], $lang['Moderators'] . ' [' . $lang['Hidden'] . ']');
$forum_auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_vote', 'auth_pollcreate');
$field_names = array(
'auth_view' => $lang['View'],
'auth_read' => $lang['Read'],
'auth_post' => $lang['Post'],
'auth_reply' => $lang['Reply'],
'auth_edit' => $lang['Edit'],
'auth_delete' => $lang['Delete'],
'auth_sticky' => $lang['Sticky'],
'auth_announce' => $lang['Announce'],
'auth_vote' => $lang['Vote'],
'auth_pollcreate' => $lang['Pollcreate']);
$forum_auth_levels = array('ALL', 'REG', 'PRIVATE', 'MOD', 'ADMIN');
$forum_auth_const = array(AUTH_ALL, AUTH_REG, AUTH_ACL, AUTH_MOD, AUTH_ADMIN);
if(isset($HTTP_GET_VARS[POST_FORUM_URL]) || isset($HTTP_POST_VARS[POST_FORUM_URL]))
{
$forum_id = (isset($HTTP_POST_VARS[POST_FORUM_URL])) ? intval($HTTP_POST_VARS[POST_FORUM_URL]) : intval($HTTP_GET_VARS[POST_FORUM_URL]);
$forum_sql = "AND forum_id = $forum_id";
}
else
{
unset($forum_id);
$forum_sql = '';
}
if( isset($HTTP_GET_VARS['adv']) )
{
$adv = intval($HTTP_GET_VARS['adv']);
}
else
{
unset($adv);
}
//
// Start program proper
//
if( isset($HTTP_POST_VARS['submit']) )
{
$sql = '';
if(!empty($forum_id))
{
if(isset($HTTP_POST_VARS['simpleauth']))
{
$simple_ary = $simple_auth_ary[intval($HTTP_POST_VARS['simpleauth'])];
for($i = 0; $i < count($simple_ary); $i++)
{
$sql .= ( ( $sql != '' ) ? ', ' : '' ) . $forum_auth_fields[$i] . ' = ' . $simple_ary[$i];
}
if (is_array($simple_ary))
{
$sql = "UPDATE " . FORUMS_TABLE . " SET $sql WHERE forum_id = $forum_id";
}
}
else
{
for($i = 0; $i < count($forum_auth_fields); $i++)
{
$value = intval($HTTP_POST_VARS[$forum_auth_fields[$i]]);
if ( $forum_auth_fields[$i] == 'auth_vote' )
{
if ( $HTTP_POST_VARS['auth_vote'] == AUTH_ALL )
{
$value = AUTH_REG;
}
}
$sql .= ( ( $sql != '' ) ? ', ' : '' ) .$forum_auth_fields[$i] . ' = ' . $value;
}
$sql = "UPDATE " . FORUMS_TABLE . " SET $sql WHERE forum_id = $forum_id";
}
if ( $sql != '' )
{
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update auth table', '', __LINE__, __FILE__, $sql);
}
}
$forum_sql = '';
$adv = 0;
}
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("admin_forumauth.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">')
);
$message = $lang['Forum_auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_forumauth'], '<a href="' . append_sid("admin_forumauth.$phpEx") . '">', "</a>");
message_die(GENERAL_MESSAGE, $message);
} // End of submit
//
// Get required information, either all forums if
// no id was specified or just the requsted if it
// was
//
$sql = "SELECT f.*
FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
WHERE c.cat_id = f.cat_id
$forum_sql
ORDER BY c.cat_order ASC, f.forum_order ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain forum list", "", __LINE__, __FILE__, $sql);
}
$forum_rows = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
if( empty($forum_id) )
{
//
// Output the selection table if no forum id was
// specified
//
$template->set_filenames(array(
'body' => 'admin/auth_select_body.tpl')
);
$select_list = '<select name="' . POST_FORUM_URL . '">';
for($i = 0; $i < count($forum_rows); $i++)
{
$select_list .= '<option value="' . $forum_rows[$i]['forum_id'] . '">' . $forum_rows[$i]['forum_name'] . '</option>';
}
$select_list .= '</select>';
$template->assign_vars(array(
'L_AUTH_TITLE' => $lang['Auth_Control_Forum'],
'L_AUTH_EXPLAIN' => $lang['Forum_auth_explain'],
'L_AUTH_SELECT' => $lang['Select_a_Forum'],
'L_LOOK_UP' => $lang['Look_up_Forum'],
'S_AUTH_ACTION' => append_sid("admin_forumauth.$phpEx"),
'S_AUTH_SELECT' => $select_list)
);
}
else
{
//
// Output the authorisation details if an id was
// specified
//
$template->set_filenames(array(
'body' => 'admin/auth_forum_body.tpl')
);
$forum_name = $forum_rows[0]['forum_name'];
@reset($simple_auth_ary);
while( list($key, $auth_levels) = each($simple_auth_ary))
{
$matched = 1;
for($k = 0; $k < count($auth_levels); $k++)
{
$matched_type = $key;
if ( $forum_rows[0][$forum_auth_fields[$k]] != $auth_levels[$k] )
{
$matched = 0;
}
}
if ( $matched )
{
break;
}
}
//
// If we didn't get a match above then we
// automatically switch into 'advanced' mode
//
if ( !isset($adv) && !$matched )
{
$adv = 1;
}
$s_column_span == 0;
if ( empty($adv) )
{
$simple_auth = '<select name="simpleauth">';
for($j = 0; $j < count($simple_auth_types); $j++)
{
$selected = ( $matched_type == $j ) ? ' selected="selected"' : '';
$simple_auth .= '<option value="' . $j . '"' . $selected . '>' . $simple_auth_types[$j] . '</option>';
}
$simple_auth .= '</select>';
$template->assign_block_vars('forum_auth_titles', array(
'CELL_TITLE' => $lang['Simple_mode'])
);
$template->assign_block_vars('forum_auth_data', array(
'S_AUTH_LEVELS_SELECT' => $simple_auth)
);
$s_column_span++;
}
else
{
//
// Output values of individual
// fields
//
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$custom_auth[$j] = '&nbsp;<select name="' . $forum_auth_fields[$j] . '">';
for($k = 0; $k < count($forum_auth_levels); $k++)
{
$selected = ( $forum_rows[0][$forum_auth_fields[$j]] == $forum_auth_const[$k] ) ? ' selected="selected"' : '';
$custom_auth[$j] .= '<option value="' . $forum_auth_const[$k] . '"' . $selected . '>' . $lang['Forum_' . $forum_auth_levels[$k]] . '</option>';
}
$custom_auth[$j] .= '</select>&nbsp;';
$cell_title = $field_names[$forum_auth_fields[$j]];
$template->assign_block_vars('forum_auth_titles', array(
'CELL_TITLE' => $cell_title)
);
$template->assign_block_vars('forum_auth_data', array(
'S_AUTH_LEVELS_SELECT' => $custom_auth[$j])
);
$s_column_span++;
}
}
$adv_mode = ( empty($adv) ) ? '1' : '0';
$switch_mode = append_sid("admin_forumauth.$phpEx?" . POST_FORUM_URL . "=" . $forum_id . "&adv=". $adv_mode);
$switch_mode_text = ( empty($adv) ) ? $lang['Advanced_mode'] : $lang['Simple_mode'];
$u_switch_mode = '<a href="' . $switch_mode . '">' . $switch_mode_text . '</a>';
$s_hidden_fields = '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '">';
$template->assign_vars(array(
'FORUM_NAME' => $forum_name,
'L_FORUM' => $lang['Forum'],
'L_AUTH_TITLE' => $lang['Auth_Control_Forum'],
'L_AUTH_EXPLAIN' => $lang['Forum_auth_explain'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'U_SWITCH_MODE' => $u_switch_mode,
'S_FORUMAUTH_ACTION' => append_sid("admin_forumauth.$phpEx"),
'S_COLUMN_SPAN' => $s_column_span,
'S_HIDDEN_FIELDS' => $s_hidden_fields)
);
}
include('./page_header_admin.'.$phpEx);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>

File diff suppressed because it is too large Load Diff

View File

@@ -1,412 +0,0 @@
<?php
/***************************************************************************
* admin_groups.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if ( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Groups']['Manage'] = $filename;
return;
}
//
// Load default header
//
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
if ( isset($HTTP_POST_VARS[POST_GROUPS_URL]) || isset($HTTP_GET_VARS[POST_GROUPS_URL]) )
{
$group_id = ( isset($HTTP_POST_VARS[POST_GROUPS_URL]) ) ? intval($HTTP_POST_VARS[POST_GROUPS_URL]) : intval($HTTP_GET_VARS[POST_GROUPS_URL]);
}
else
{
$group_id = 0;
}
if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
$mode = '';
}
if ( isset($HTTP_POST_VARS['edit']) || isset($HTTP_POST_VARS['new']) )
{
//
// Ok they are editing a group or creating a new group
//
$template->set_filenames(array(
'body' => 'admin/group_edit_body.tpl')
);
if ( isset($HTTP_POST_VARS['edit']) )
{
//
// They're editing. Grab the vars.
//
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_single_user <> " . TRUE . "
AND group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting group information', '', __LINE__, __FILE__, $sql);
}
if ( !($group_info = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_MESSAGE, $lang['Group_not_exist']);
}
$mode = 'editgroup';
$template->assign_block_vars('group_edit', array());
}
else if ( isset($HTTP_POST_VARS['new']) )
{
$group_info = array (
'group_name' => '',
'group_description' => '',
'group_moderator' => '',
'group_type' => GROUP_OPEN);
$group_open = ' checked="checked"';
$mode = 'newgroup';
}
//
// Ok, now we know everything about them, let's show the page.
//
$sql = "SELECT user_id, username
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY username";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user info for moderator list', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['user_id'] == $group_info['group_moderator'] )
{
$group_moderator = $row['username'];
}
}
$group_open = ( $group_info['group_type'] == GROUP_OPEN ) ? ' checked="checked"' : '';
$group_closed = ( $group_info['group_type'] == GROUP_CLOSED ) ? ' checked="checked"' : '';
$group_hidden = ( $group_info['group_type'] == GROUP_HIDDEN ) ? ' checked="checked"' : '';
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" />';
$template->assign_vars(array(
'GROUP_NAME' => $group_info['group_name'],
'GROUP_DESCRIPTION' => $group_info['group_description'],
'GROUP_MODERATOR' => $group_moderator,
'L_GROUP_TITLE' => $lang['Group_administration'],
'L_GROUP_EDIT_DELETE' => ( isset($HTTP_POST_VARS['new']) ) ? $lang['New_group'] : $lang['Edit_group'],
'L_GROUP_NAME' => $lang['group_name'],
'L_GROUP_DESCRIPTION' => $lang['group_description'],
'L_GROUP_MODERATOR' => $lang['group_moderator'],
'L_FIND_USERNAME' => $lang['Find_username'],
'L_GROUP_STATUS' => $lang['group_status'],
'L_GROUP_OPEN' => $lang['group_open'],
'L_GROUP_CLOSED' => $lang['group_closed'],
'L_GROUP_HIDDEN' => $lang['group_hidden'],
'L_GROUP_DELETE' => $lang['group_delete'],
'L_GROUP_DELETE_CHECK' => $lang['group_delete_check'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'L_DELETE_MODERATOR' => $lang['delete_group_moderator'],
'L_DELETE_MODERATOR_EXPLAIN' => $lang['delete_moderator_explain'],
'L_YES' => $lang['Yes'],
'U_SEARCH_USER' => append_sid("../search.$phpEx?mode=searchuser"),
'S_GROUP_OPEN_TYPE' => GROUP_OPEN,
'S_GROUP_CLOSED_TYPE' => GROUP_CLOSED,
'S_GROUP_HIDDEN_TYPE' => GROUP_HIDDEN,
'S_GROUP_OPEN_CHECKED' => $group_open,
'S_GROUP_CLOSED_CHECKED' => $group_closed,
'S_GROUP_HIDDEN_CHECKED' => $group_hidden,
'S_GROUP_ACTION' => append_sid("admin_groups.$phpEx"),
'S_HIDDEN_FIELDS' => $s_hidden_fields)
);
$template->pparse('body');
}
else if ( isset($HTTP_POST_VARS['group_update']) )
{
//
// Ok, they are submitting a group, let's save the data based on if it's new or editing
//
if ( isset($HTTP_POST_VARS['group_delete']) )
{
//
// Reset User Moderator Level
//
// Is Group moderating a forum ?
$sql = "SELECT auth_mod FROM " . AUTH_ACCESS_TABLE . "
WHERE group_id = " . $group_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select auth_access', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if (intval($row['auth_mod']) == 1)
{
// Yes, get the assigned users and update their Permission if they are no longer moderator of one of the forums
$sql = "SELECT user_id FROM " . USER_GROUP_TABLE . "
WHERE group_id = " . $group_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select user_group', '', __LINE__, __FILE__, $sql);
}
$rows = $db->sql_fetchrowset($result);
for ($i = 0; $i < count($rows); $i++)
{
$sql = "SELECT g.group_id FROM " . AUTH_ACCESS_TABLE . " a, " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
WHERE (a.auth_mod = 1) AND (g.group_id = a.group_id) AND (a.group_id = ug.group_id) AND (g.group_id = ug.group_id)
AND (ug.user_id = " . intval($rows[$i]['user_id']) . ") AND (ug.group_id <> " . $group_id . ")";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain moderator permissions', '', __LINE__, __FILE__, $sql);
}
if ($db->sql_numrows($result) == 0)
{
$sql = "UPDATE " . USERS_TABLE . " SET user_level = " . USER . "
WHERE user_level = " . MOD . " AND user_id = " . intval($rows[$i]['user_id']);
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update moderator permissions', '', __LINE__, __FILE__, $sql);
}
}
}
}
//
// Delete Group
//
$sql = "DELETE FROM " . GROUPS_TABLE . "
WHERE group_id = " . $group_id;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE group_id = " . $group_id;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update user_group', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
WHERE group_id = " . $group_id;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update auth_access', '', __LINE__, __FILE__, $sql);
}
$message = $lang['Deleted_group'] . '<br /><br />' . sprintf($lang['Click_return_groupsadmin'], '<a href="' . append_sid("admin_groups.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else
{
$group_type = isset($HTTP_POST_VARS['group_type']) ? intval($HTTP_POST_VARS['group_type']) : GROUP_OPEN;
$group_name = isset($HTTP_POST_VARS['group_name']) ? trim($HTTP_POST_VARS['group_name']) : '';
$group_description = isset($HTTP_POST_VARS['group_description']) ? trim($HTTP_POST_VARS['group_description']) : '';
$group_moderator = isset($HTTP_POST_VARS['username']) ? $HTTP_POST_VARS['username'] : '';
$delete_old_moderator = isset($HTTP_POST_VARS['delete_old_moderator']) ? true : false;
if ( $group_name == '' )
{
message_die(GENERAL_MESSAGE, $lang['No_group_name']);
}
else if ( $group_moderator == '' )
{
message_die(GENERAL_MESSAGE, $lang['No_group_moderator']);
}
$this_userdata = get_userdata($group_moderator, true);
$group_moderator = $this_userdata['user_id'];
if ( !$group_moderator )
{
message_die(GENERAL_MESSAGE, $lang['No_group_moderator']);
}
if( $mode == "editgroup" )
{
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_single_user <> " . TRUE . "
AND group_id = " . $group_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting group information', '', __LINE__, __FILE__, $sql);
}
if( !($group_info = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_MESSAGE, $lang['Group_not_exist']);
}
if ( $group_info['group_moderator'] != $group_moderator )
{
if ( $delete_old_moderator )
{
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_id = " . $group_info['group_moderator'] . "
AND group_id = " . $group_id;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderator', '', __LINE__, __FILE__, $sql);
}
}
$sql = "SELECT user_id
FROM " . USER_GROUP_TABLE . "
WHERE user_id = $group_moderator
AND group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Failed to obtain current group moderator info', '', __LINE__, __FILE__, $sql);
}
if ( !($row = $db->sql_fetchrow($result)) )
{
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
VALUES (" . $group_id . ", " . $group_moderator . ", 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderator', '', __LINE__, __FILE__, $sql);
}
}
}
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_type = $group_type, group_name = '" . str_replace("\'", "''", $group_name) . "', group_description = '" . str_replace("\'", "''", $group_description) . "', group_moderator = $group_moderator
WHERE group_id = $group_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group', '', __LINE__, __FILE__, $sql);
}
$message = $lang['Updated_group'] . '<br /><br />' . sprintf($lang['Click_return_groupsadmin'], '<a href="' . append_sid("admin_groups.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');;
message_die(GENERAL_MESSAGE, $message);
}
else if( $mode == 'newgroup' )
{
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_type, group_name, group_description, group_moderator, group_single_user)
VALUES ($group_type, '" . str_replace("\'", "''", $group_name) . "', '" . str_replace("\'", "''", $group_description) . "', $group_moderator, '0')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new group', '', __LINE__, __FILE__, $sql);
}
$new_group_id = $db->sql_nextid();
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
VALUES ($new_group_id, $group_moderator, 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new user-group info', '', __LINE__, __FILE__, $sql);
}
$message = $lang['Added_new_group'] . '<br /><br />' . sprintf($lang['Click_return_groupsadmin'], '<a href="' . append_sid("admin_groups.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');;
message_die(GENERAL_MESSAGE, $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_group_action']);
}
}
}
else
{
$sql = "SELECT group_id, group_name
FROM " . GROUPS_TABLE . "
WHERE group_single_user <> " . TRUE . "
ORDER BY group_name";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain group list', '', __LINE__, __FILE__, $sql);
}
$select_list = '';
if ( $row = $db->sql_fetchrow($result) )
{
$select_list .= '<select name="' . POST_GROUPS_URL . '">';
do
{
$select_list .= '<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
}
while ( $row = $db->sql_fetchrow($result) );
$select_list .= '</select>';
}
$template->set_filenames(array(
'body' => 'admin/group_select_body.tpl')
);
$template->assign_vars(array(
'L_GROUP_TITLE' => $lang['Group_administration'],
'L_GROUP_EXPLAIN' => $lang['Group_admin_explain'],
'L_GROUP_SELECT' => $lang['Select_group'],
'L_LOOK_UP' => $lang['Look_up_group'],
'L_CREATE_NEW_GROUP' => $lang['New_group'],
'S_GROUP_ACTION' => append_sid("admin_groups.$phpEx"),
'S_GROUP_SELECT' => $select_list)
);
if ( $select_list != '' )
{
$template->assign_block_vars('select_box', array());
}
$template->pparse('body');
}
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,213 +0,0 @@
<?php
/***************************************************************************
* admin_mass_email.php
* -------------------
* begin : Thu May 31, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
****************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['General']['Mass_Email'] = $filename;
return;
}
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Increase maximum execution time in case of a lot of users, but don't complain about it if it isn't
// allowed.
//
@set_time_limit(1200);
$message = '';
$subject = '';
//
// Do the job ...
//
if ( isset($HTTP_POST_VARS['submit']) )
{
$subject = stripslashes(trim($HTTP_POST_VARS['subject']));
$message = stripslashes(trim($HTTP_POST_VARS['message']));
$error = FALSE;
$error_msg = '';
if ( empty($subject) )
{
$error = true;
$error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject'];
}
if ( empty($message) )
{
$error = true;
$error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
}
$group_id = intval($HTTP_POST_VARS[POST_GROUPS_URL]);
$sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id" : "SELECT user_email FROM " . USERS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select group members', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$bcc_list = array();
do
{
$bcc_list[] = $row['user_email'];
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
else
{
$message = ( $group_id != -1 ) ? $lang['Group_not_exist'] : $lang['No_such_user'];
$error = true;
$error_msg .= ( !empty($error_msg) ) ? '<br />' . $message : $message;
}
if ( !$error )
{
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
//
// Let's do some checking to make sure that mass mail functions
// are working in win32 versions of php.
//
if ( preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery'])
{
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
// We are running on windows, force delivery to use our smtp functions
// since php's are broken by default
$board_config['smtp_delivery'] = 1;
$board_config['smtp_host'] = @$ini_val('SMTP');
}
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
for ($i = 0; $i < count($bcc_list); $i++)
{
$emailer->bcc($bcc_list[$i]);
}
$email_headers = 'X-AntiAbuse: Board servername - ' . $board_config['server_name'] . "\n";
$email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
$email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\n";
$emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject);
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'BOARD_EMAIL' => $board_config['board_email'],
'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();
message_die(GENERAL_MESSAGE, $lang['Email_sent'] . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'));
}
}
if ( $error )
{
$template->set_filenames(array(
'reg_header' => 'error_body.tpl')
);
$template->assign_vars(array(
'ERROR_MESSAGE' => $error_msg)
);
$template->assign_var_from_handle('ERROR_BOX', 'reg_header');
}
//
// Initial selection
//
$sql = "SELECT group_id, group_name
FROM ".GROUPS_TABLE . "
WHERE group_single_user <> 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain list of groups', '', __LINE__, __FILE__, $sql);
}
$select_list = '<select name = "' . POST_GROUPS_URL . '"><option value = "-1">' . $lang['All_users'] . '</option>';
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$select_list .= '<option value = "' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
}
while ( $row = $db->sql_fetchrow($result) );
}
$select_list .= '</select>';
//
// Generate page
//
include('./page_header_admin.'.$phpEx);
$template->set_filenames(array(
'body' => 'admin/user_email_body.tpl')
);
$template->assign_vars(array(
'MESSAGE' => $message,
'SUBJECT' => $subject,
'L_EMAIL_TITLE' => $lang['Email'],
'L_EMAIL_EXPLAIN' => $lang['Mass_email_explain'],
'L_COMPOSE' => $lang['Compose'],
'L_RECIPIENTS' => $lang['Recipients'],
'L_EMAIL_SUBJECT' => $lang['Subject'],
'L_EMAIL_MSG' => $lang['Message'],
'L_EMAIL' => $lang['Email'],
'L_NOTICE' => $notice,
'S_USER_ACTION' => append_sid('admin_mass_email.'.$phpEx),
'S_GROUP_SELECT' => $select_list)
);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,376 +0,0 @@
<?php
/***************************************************************************
* admin_ranks.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['Users']['Ranks'] = "$file";
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
//
// These could be entered via a form button
//
if( isset($HTTP_POST_VARS['add']) )
{
$mode = "add";
}
else if( isset($HTTP_POST_VARS['save']) )
{
$mode = "save";
}
else
{
$mode = "";
}
}
if( $mode != "" )
{
if( $mode == "edit" || $mode == "add" )
{
//
// They want to add a new rank, show the form.
//
$rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;
$s_hidden_fields = "";
if( $mode == "edit" )
{
if( empty($rank_id) )
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
}
$sql = "SELECT * FROM " . RANKS_TABLE . "
WHERE rank_id = $rank_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);
}
$rank_info = $db->sql_fetchrow($result);
$s_hidden_fields .= '<input type="hidden" name="id" value="' . $rank_id . '" />';
}
else
{
$rank_info['rank_special'] = 0;
}
$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';
$rank_is_special = ( $rank_info['rank_special'] ) ? "checked=\"checked\"" : "";
$rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked=\"checked\"" : "";
$template->set_filenames(array(
"body" => "admin/ranks_edit_body.tpl")
);
$template->assign_vars(array(
"RANK" => $rank_info['rank_title'],
"SPECIAL_RANK" => $rank_is_special,
"NOT_SPECIAL_RANK" => $rank_is_not_special,
"MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],
"IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",
"IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img src="../' . $rank_info['rank_image'] . '" />' : "",
"L_RANKS_TITLE" => $lang['Ranks_title'],
"L_RANKS_TEXT" => $lang['Ranks_explain'],
"L_RANK_TITLE" => $lang['Rank_title'],
"L_RANK_SPECIAL" => $lang['Rank_special'],
"L_RANK_MINIMUM" => $lang['Rank_minimum'],
"L_RANK_IMAGE" => $lang['Rank_image'],
"L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
"L_YES" => $lang['Yes'],
"L_NO" => $lang['No'],
"S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields)
);
}
else if( $mode == "save" )
{
//
// Ok, they sent us our info, let's update it.
//
$rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;
$rank_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : "";
$special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;
$min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts']) : -1;
$rank_image = ( (isset($HTTP_POST_VARS['rank_image'])) ) ? trim($HTTP_POST_VARS['rank_image']) : "";
if( $rank_title == "" )
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
}
if( $special_rank == 1 )
{
$max_posts = -1;
$min_posts = -1;
}
//
// The rank image has to be a jpg, gif or png
//
if($rank_image != "")
{
if ( !preg_match("/(\.gif|\.png|\.jpg)$/is", $rank_image))
{
$rank_image = "";
}
}
if ($rank_id)
{
if (!$special_rank)
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_rank = 0
WHERE user_rank = $rank_id";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
}
}
$sql = "UPDATE " . RANKS_TABLE . "
SET rank_title = '" . str_replace("\'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("\'", "''", $rank_image) . "'
WHERE rank_id = $rank_id";
$message = $lang['Rank_updated'];
}
else
{
$sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)
VALUES ('" . str_replace("\'", "''", $rank_title) . "', $special_rank, $min_posts, '" . str_replace("\'", "''", $rank_image) . "')";
$message = $lang['Rank_added'];
}
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't update/insert into ranks table", "", __LINE__, __FILE__, $sql);
}
$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( $mode == "delete" )
{
//
// Ok, they want to delete their rank
//
if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )
{
$rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);
}
else
{
$rank_id = 0;
}
if( $rank_id )
{
$sql = "DELETE FROM " . RANKS_TABLE . "
WHERE rank_id = $rank_id";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete rank data", "", __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_rank = 0
WHERE user_rank = $rank_id";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
}
$message = $lang['Rank_removed'] . "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
}
}
else
{
//
// They didn't feel like giving us any information. Oh, too bad, we'll just display the
// list then...
//
$template->set_filenames(array(
"body" => "admin/ranks_list_body.tpl")
);
$sql = "SELECT * FROM " . RANKS_TABLE . "
ORDER BY rank_min, rank_title";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
}
$rank_rows = $db->sql_fetchrowset($result);
$rank_count = count($rank_rows);
$template->assign_vars(array(
"L_RANKS_TITLE" => $lang['Ranks_title'],
"L_RANKS_TEXT" => $lang['Ranks_explain'],
"L_RANK" => $lang['Rank_title'],
"L_RANK_MINIMUM" => $lang['Rank_minimum'],
"L_SPECIAL_RANK" => $lang['Special_rank'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'],
"L_ADD_RANK" => $lang['Add_new_rank'],
"L_ACTION" => $lang['Action'],
"S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))
);
for( $i = 0; $i < $rank_count; $i++)
{
$rank = $rank_rows[$i]['rank_title'];
$special_rank = $rank_rows[$i]['rank_special'];
$rank_id = $rank_rows[$i]['rank_id'];
$rank_min = $rank_rows[$i]['rank_min'];
if($special_rank)
{
$rank_min = $rank_max = "-";
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("ranks", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"RANK" => $rank,
"RANK_MIN" => $rank_min,
"SPECIAL_RANK" => ( $special_rank == 1 ) ? $lang['Yes'] : $lang['No'],
"U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&amp;id=$rank_id"),
"U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&amp;id=$rank_id"))
);
}
}
}
else
{
//
// Show the default page
//
$template->set_filenames(array(
"body" => "admin/ranks_list_body.tpl")
);
$sql = "SELECT * FROM " . RANKS_TABLE . "
ORDER BY rank_min ASC, rank_special ASC";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
}
$rank_count = $db->sql_numrows($result);
$rank_rows = $db->sql_fetchrowset($result);
$template->assign_vars(array(
"L_RANKS_TITLE" => $lang['Ranks_title'],
"L_RANKS_TEXT" => $lang['Ranks_explain'],
"L_RANK" => $lang['Rank_title'],
"L_RANK_MINIMUM" => $lang['Rank_minimum'],
"L_SPECIAL_RANK" => $lang['Rank_special'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'],
"L_ADD_RANK" => $lang['Add_new_rank'],
"L_ACTION" => $lang['Action'],
"S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))
);
for($i = 0; $i < $rank_count; $i++)
{
$rank = $rank_rows[$i]['rank_title'];
$special_rank = $rank_rows[$i]['rank_special'];
$rank_id = $rank_rows[$i]['rank_id'];
$rank_min = $rank_rows[$i]['rank_min'];
if( $special_rank == 1 )
{
$rank_min = $rank_max = "-";
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$rank_is_special = ( $special_rank ) ? $lang['Yes'] : $lang['No'];
$template->assign_block_vars("ranks", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"RANK" => $rank,
"SPECIAL_RANK" => $rank_is_special,
"RANK_MIN" => $rank_min,
"U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&amp;id=$rank_id"),
"U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&amp;id=$rank_id"))
);
}
}
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,556 +0,0 @@
<?php
/***************************************************************************
* admin_smilies.php
* -------------------
* begin : Thu May 31, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
****************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
/**************************************************************************
* This file will be used for modifying the smiley settings for a board.
**************************************************************************/
define('IN_PHPBB', 1);
//
// First we do the setmodules stuff for the admin cp.
//
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['General']['Smilies'] = $filename;
return;
}
//
// Load default header
//
if( isset($HTTP_GET_VARS['export_pack']) )
{
if ( $HTTP_GET_VARS['export_pack'] == "send" )
{
$no_page_header = true;
}
}
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Check to see what mode we should operate in.
//
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
$mode = "";
}
$delimeter = '=+:';
//
// Read a listing of uploaded smilies for use in the add or edit smliey code...
//
$dir = @opendir($phpbb_root_path . $board_config['smilies_path']);
while($file = @readdir($dir))
{
if( !@is_dir(phpbb_realpath($phpbb_root_path . $board_config['smilies_path'] . '/' . $file)) )
{
$img_size = @getimagesize($phpbb_root_path . $board_config['smilies_path'] . '/' . $file);
if( $img_size[0] && $img_size[1] )
{
$smiley_images[] = $file;
}
else if( eregi('.pak$', $file) )
{
$smiley_paks[] = $file;
}
}
}
@closedir($dir);
//
// Select main mode
//
if( isset($HTTP_GET_VARS['import_pack']) || isset($HTTP_POST_VARS['import_pack']) )
{
//
// Import a list a "Smiley Pack"
//
$smile_pak = ( isset($HTTP_POST_VARS['smile_pak']) ) ? $HTTP_POST_VARS['smile_pak'] : $HTTP_GET_VARS['smile_pak'];
$clear_current = ( isset($HTTP_POST_VARS['clear_current']) ) ? $HTTP_POST_VARS['clear_current'] : $HTTP_GET_VARS['clear_current'];
$replace_existing = ( isset($HTTP_POST_VARS['replace']) ) ? $HTTP_POST_VARS['replace'] : $HTTP_GET_VARS['replace'];
if ( !empty($smile_pak) )
{
//
// The user has already selected a smile_pak file.. Import it.
//
if( !empty($clear_current) )
{
$sql = "DELETE
FROM " . SMILIES_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete current smilies", "", __LINE__, __FILE__, $sql);
}
}
else
{
$sql = "SELECT code
FROM ". SMILIES_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't get current smilies", "", __LINE__, __FILE__, $sql);
}
$cur_smilies = $db->sql_fetchrowset($result);
for( $i = 0; $i < count($cur_smilies); $i++ )
{
$k = $cur_smilies[$i]['code'];
$smiles[$k] = 1;
}
}
$fcontents = @file($phpbb_root_path . $board_config['smilies_path'] . '/'. $smile_pak);
if( empty($fcontents) )
{
message_die(GENERAL_ERROR, "Couldn't read smiley pak file", "", __LINE__, __FILE__, $sql);
}
for( $i = 0; $i < count($fcontents); $i++ )
{
$smile_data = explode($delimeter, trim(addslashes($fcontents[$i])));
for( $j = 2; $j < count($smile_data); $j++)
{
//
// Replace > and < with the proper html_entities for matching.
//
$smile_data[$j] = str_replace("<", "&lt;", $smile_data[$j]);
$smile_data[$j] = str_replace(">", "&gt;", $smile_data[$j]);
$k = $smile_data[$j];
if( $smiles[$k] == 1 )
{
if( !empty($replace_existing) )
{
$sql = "UPDATE " . SMILIES_TABLE . "
SET smile_url = '" . str_replace("\'", "''", $smile_data[0]) . "', emoticon = '" . str_replace("\'", "''", $smile_data[1]) . "'
WHERE code = '" . str_replace("\'", "''", $smile_data[$j]) . "'";
}
else
{
$sql = '';
}
}
else
{
$sql = "INSERT INTO " . SMILIES_TABLE . " (code, smile_url, emoticon)
VALUES('" . str_replace("\'", "''", $smile_data[$j]) . "', '" . str_replace("\'", "''", $smile_data[0]) . "', '" . str_replace("\'", "''", $smile_data[1]) . "')";
}
if( $sql != '' )
{
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't update smilies!", "", __LINE__, __FILE__, $sql);
}
}
}
}
$message = $lang['smiley_import_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
//
// Display the script to get the smile_pak cfg file...
//
$smile_paks_select = "<select name='smile_pak'><option value=''>" . $lang['Select_pak'] . "</option>";
while( list($key, $value) = @each($smiley_paks) )
{
if ( !empty($value) )
{
$smile_paks_select .= "<option>" . $value . "</option>";
}
}
$smile_paks_select .= "</select>";
$hidden_vars = "<input type='hidden' name='mode' value='import'>";
$template->set_filenames(array(
"body" => "admin/smile_import_body.tpl")
);
$template->assign_vars(array(
"L_SMILEY_TITLE" => $lang['smiley_title'],
"L_SMILEY_EXPLAIN" => $lang['smiley_import_inst'],
"L_SMILEY_IMPORT" => $lang['smiley_import'],
"L_SELECT_LBL" => $lang['choose_smile_pak'],
"L_IMPORT" => $lang['import'],
"L_CONFLICTS" => $lang['smile_conflicts'],
"L_DEL_EXISTING" => $lang['del_existing_smileys'],
"L_REPLACE_EXISTING" => $lang['replace_existing'],
"L_KEEP_EXISTING" => $lang['keep_existing'],
"S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
"S_SMILE_SELECT" => $smile_paks_select,
"S_HIDDEN_FIELDS" => $hidden_vars)
);
$template->pparse("body");
}
}
else if( isset($HTTP_POST_VARS['export_pack']) || isset($HTTP_GET_VARS['export_pack']) )
{
//
// Export our smiley config as a smiley pak...
//
if ( $HTTP_GET_VARS['export_pack'] == "send" )
{
$sql = "SELECT *
FROM " . SMILIES_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not get smiley list", "", __LINE__, __FILE__, $sql);
}
$resultset = $db->sql_fetchrowset($result);
$smile_pak = "";
for($i = 0; $i < count($resultset); $i++ )
{
$smile_pak .= $resultset[$i]['smile_url'] . $delimeter;
$smile_pak .= $resultset[$i]['emoticon'] . $delimeter;
$smile_pak .= $resultset[$i]['code'] . "\n";
}
header("Content-Type: text/x-delimtext; name=\"smiles.pak\"");
header("Content-disposition: attachment; filename=smiles.pak");
echo $smile_pak;
exit;
}
$message = sprintf($lang['export_smiles'], "<a href=\"" . append_sid("admin_smilies.$phpEx?export_pack=send", true) . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( isset($HTTP_POST_VARS['add']) || isset($HTTP_GET_VARS['add']) )
{
//
// Admin has selected to add a smiley.
//
$template->set_filenames(array(
"body" => "admin/smile_edit_body.tpl")
);
$filename_list = "";
for( $i = 0; $i < count($smiley_images); $i++ )
{
$filename_list .= '<option value="' . $smiley_images[$i] . '">' . $smiley_images[$i] . '</option>';
}
$s_hidden_fields = '<input type="hidden" name="mode" value="savenew" />';
$template->assign_vars(array(
"L_SMILEY_TITLE" => $lang['smiley_title'],
"L_SMILEY_CONFIG" => $lang['smiley_config'],
"L_SMILEY_EXPLAIN" => $lang['smile_desc'],
"L_SMILEY_CODE" => $lang['smiley_code'],
"L_SMILEY_URL" => $lang['smiley_url'],
"L_SMILEY_EMOTION" => $lang['smiley_emot'],
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
"SMILEY_IMG" => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smiley_images[0],
"S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields,
"S_FILENAME_OPTIONS" => $filename_list,
"S_SMILEY_BASEDIR" => $phpbb_root_path . $board_config['smilies_path'])
);
$template->pparse("body");
}
else if ( $mode != "" )
{
switch( $mode )
{
case 'delete':
//
// Admin has selected to delete a smiley.
//
$smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
$smiley_id = intval($smiley_id);
$sql = "DELETE FROM " . SMILIES_TABLE . "
WHERE smilies_id = " . $smiley_id;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't delete smiley", "", __LINE__, __FILE__, $sql);
}
$message = $lang['smiley_del_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
break;
case 'edit':
//
// Admin has selected to edit a smiley.
//
$smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
$smiley_id = intval($smiley_id);
$sql = "SELECT *
FROM " . SMILIES_TABLE . "
WHERE smilies_id = " . $smiley_id;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, 'Could not obtain emoticon information', "", __LINE__, __FILE__, $sql);
}
$smile_data = $db->sql_fetchrow($result);
$filename_list = "";
for( $i = 0; $i < count($smiley_images); $i++ )
{
if( $smiley_images[$i] == $smile_data['smile_url'] )
{
$smiley_selected = "selected=\"selected\"";
$smiley_edit_img = $smiley_images[$i];
}
else
{
$smiley_selected = "";
}
$filename_list .= '<option value="' . $smiley_images[$i] . '"' . $smiley_selected . '>' . $smiley_images[$i] . '</option>';
}
$template->set_filenames(array(
"body" => "admin/smile_edit_body.tpl")
);
$s_hidden_fields = '<input type="hidden" name="mode" value="save" /><input type="hidden" name="smile_id" value="' . $smile_data['smilies_id'] . '" />';
$template->assign_vars(array(
"SMILEY_CODE" => $smile_data['code'],
"SMILEY_EMOTICON" => $smile_data['emoticon'],
"L_SMILEY_TITLE" => $lang['smiley_title'],
"L_SMILEY_CONFIG" => $lang['smiley_config'],
"L_SMILEY_EXPLAIN" => $lang['smile_desc'],
"L_SMILEY_CODE" => $lang['smiley_code'],
"L_SMILEY_URL" => $lang['smiley_url'],
"L_SMILEY_EMOTION" => $lang['smiley_emot'],
"L_SUBMIT" => $lang['Submit'],
"L_RESET" => $lang['Reset'],
"SMILEY_IMG" => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smiley_edit_img,
"S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields,
"S_FILENAME_OPTIONS" => $filename_list,
"S_SMILEY_BASEDIR" => $phpbb_root_path . $board_config['smilies_path'])
);
$template->pparse("body");
break;
case "save":
//
// Admin has submitted changes while editing a smiley.
//
//
// Get the submitted data, being careful to ensure that we only
// accept the data we are looking for.
//
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? trim($HTTP_POST_VARS['smile_code']) : trim($HTTP_GET_VARS['smile_code']);
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? trim($HTTP_POST_VARS['smile_url']) : trim($HTTP_GET_VARS['smile_url']);
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? trim($HTTP_POST_VARS['smile_emotion']) : trim($HTTP_GET_VARS['smile_emotion']);
$smile_id = ( isset($HTTP_POST_VARS['smile_id']) ) ? intval($HTTP_POST_VARS['smile_id']) : intval($HTTP_GET_VARS['smile_id']);
// If no code was entered complain ...
if ($smile_code == '' || $smile_url == '')
{
message_die(MESSAGE, $lang['Fields_empty']);
}
//
// Convert < and > to proper htmlentities for parsing.
//
$smile_code = str_replace('<', '&lt;', $smile_code);
$smile_code = str_replace('>', '&gt;', $smile_code);
//
// Proceed with updating the smiley table.
//
$sql = "UPDATE " . SMILIES_TABLE . "
SET code = '" . str_replace("\'", "''", $smile_code) . "', smile_url = '" . str_replace("\'", "''", $smile_url) . "', emoticon = '" . str_replace("\'", "''", $smile_emotion) . "'
WHERE smilies_id = $smile_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't update smilies info", "", __LINE__, __FILE__, $sql);
}
$message = $lang['smiley_edit_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
break;
case "savenew":
//
// Admin has submitted changes while adding a new smiley.
//
//
// Get the submitted data being careful to ensure the the data
// we recieve and process is only the data we are looking for.
//
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? $HTTP_POST_VARS['smile_code'] : $HTTP_GET_VARS['smile_code'];
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? $HTTP_POST_VARS['smile_url'] : $HTTP_GET_VARS['smile_url'];
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? $HTTP_POST_VARS['smile_emotion'] : $HTTP_GET_VARS['smile_emotion'];
// If no code was entered complain ...
if ($smile_code == '' || $smile_url == '')
{
message_die(MESSAGE, $lang['Fields_empty']);
}
//
// Convert < and > to proper htmlentities for parsing.
//
$smile_code = str_replace('<', '&lt;', $smile_code);
$smile_code = str_replace('>', '&gt;', $smile_code);
//
// Save the data to the smiley table.
//
$sql = "INSERT INTO " . SMILIES_TABLE . " (code, smile_url, emoticon)
VALUES ('" . str_replace("\'", "''", $smile_code) . "', '" . str_replace("\'", "''", $smile_url) . "', '" . str_replace("\'", "''", $smile_emotion) . "')";
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't insert new smiley", "", __LINE__, __FILE__, $sql);
}
$message = $lang['smiley_add_success'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href=\"" . append_sid("admin_smilies.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
break;
}
}
else
{
//
// This is the main display of the page before the admin has selected
// any options.
//
$sql = "SELECT *
FROM " . SMILIES_TABLE;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't obtain smileys from database", "", __LINE__, __FILE__, $sql);
}
$smilies = $db->sql_fetchrowset($result);
$template->set_filenames(array(
"body" => "admin/smile_list_body.tpl")
);
$template->assign_vars(array(
"L_ACTION" => $lang['Action'],
"L_SMILEY_TITLE" => $lang['smiley_title'],
"L_SMILEY_TEXT" => $lang['smile_desc'],
"L_DELETE" => $lang['Delete'],
"L_EDIT" => $lang['Edit'],
"L_SMILEY_ADD" => $lang['smile_add'],
"L_CODE" => $lang['Code'],
"L_EMOT" => $lang['Emotion'],
"L_SMILE" => $lang['Smile'],
"L_IMPORT_PACK" => $lang['import_smile_pack'],
"L_EXPORT_PACK" => $lang['export_smile_pack'],
"S_HIDDEN_FIELDS" => $s_hidden_fields,
"S_SMILEY_ACTION" => append_sid("admin_smilies.$phpEx"))
);
//
// Loop throuh the rows of smilies setting block vars for the template.
//
for($i = 0; $i < count($smilies); $i++)
{
//
// Replace htmlentites for < and > with actual character.
//
$smilies[$i]['code'] = str_replace('&lt;', '<', $smilies[$i]['code']);
$smilies[$i]['code'] = str_replace('&gt;', '>', $smilies[$i]['code']);
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("smiles", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"SMILEY_IMG" => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'],
"CODE" => $smilies[$i]['code'],
"EMOT" => $smilies[$i]['emoticon'],
"U_SMILEY_EDIT" => append_sid("admin_smilies.$phpEx?mode=edit&amp;id=" . $smilies[$i]['smilies_id']),
"U_SMILEY_DELETE" => append_sid("admin_smilies.$phpEx?mode=delete&amp;id=" . $smilies[$i]['smilies_id']))
);
}
//
// Spit out the page.
//
$template->pparse("body");
}
//
// Page Footer
//
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,940 +0,0 @@
<?php
/***************************************************************************
* admin_styles.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['Styles']['Add_new'] = "$file?mode=addnew";
$module['Styles']['Create_new'] = "$file?mode=create";
$module['Styles']['Manage'] = "$file";
$module['Styles']['Export'] = "$file?mode=export";
return;
}
//
// Load default header
//
//
// Check if the user has cancled a confirmation message.
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
$confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : FALSE;
$cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : FALSE;
$no_page_header = (!empty($HTTP_POST_VARS['send_file']) || $cancel) ? TRUE : FALSE;
require('./pagestart.' . $phpEx);
$confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : FALSE;
$cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : FALSE;
if ($cancel)
{
redirect('admin/' . append_sid("admin_styles.$phpEx", true));
}
if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
$mode = "";
}
switch( $mode )
{
case "addnew":
$install_to = ( isset($HTTP_GET_VARS['install_to']) ) ? urldecode($HTTP_GET_VARS['install_to']) : $HTTP_POST_VARS['install_to'];
$style_name = ( isset($HTTP_GET_VARS['style']) ) ? urldecode($HTTP_GET_VARS['style']) : $HTTP_POST_VARS['style'];
if( isset($install_to) )
{
include($phpbb_root_path. "templates/" . $install_to . "/theme_info.cfg");
$template_name = $$install_to;
$found = FALSE;
for($i = 0; $i < count($template_name) && !$found; $i++)
{
if( $template_name[$i]['style_name'] == $style_name )
{
while(list($key, $val) = each($template_name[$i]))
{
$db_fields[] = $key;
$db_values[] = str_replace("\'", "''" , $val);
}
}
}
$sql = "INSERT INTO " . THEMES_TABLE . " (";
for($i = 0; $i < count($db_fields); $i++)
{
$sql .= $db_fields[$i];
if($i != (count($db_fields) - 1))
{
$sql .= ", ";
}
}
$sql .= ") VALUES (";
for($i = 0; $i < count($db_values); $i++)
{
$sql .= "'" . $db_values[$i] . "'";
if($i != (count($db_values) - 1))
{
$sql .= ", ";
}
}
$sql .= ")";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not insert theme data!", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Theme_installed'] . "<br /><br />" . sprintf($lang['Click_return_styleadmin'], "<a href=\"" . append_sid("admin_styles.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
$installable_themes = array();
if( $dir = @opendir($phpbb_root_path. "templates/") )
{
while( $sub_dir = @readdir($dir) )
{
if( !is_file(phpbb_realpath($phpbb_root_path . 'templates/' .$sub_dir)) && !is_link(phpbb_realpath($phpbb_root_path . 'templates/' .$sub_dir)) && $sub_dir != "." && $sub_dir != ".." && $sub_dir != "CVS" )
{
if( @file_exists(@phpbb_realpath($phpbb_root_path. "templates/" . $sub_dir . "/theme_info.cfg")) )
{
include($phpbb_root_path. "templates/" . $sub_dir . "/theme_info.cfg");
for($i = 0; $i < count($$sub_dir); $i++)
{
$working_data = $$sub_dir;
$style_name = $working_data[$i]['style_name'];
$sql = "SELECT themes_id
FROM " . THEMES_TABLE . "
WHERE style_name = '" . str_replace("\'", "''", $style_name) . "'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query themes table!", "", __LINE__, __FILE__, $sql);
}
if(!$db->sql_numrows($result))
{
$installable_themes[] = $working_data[$i];
}
}
}
}
}
$template->set_filenames(array(
"body" => "admin/styles_addnew_body.tpl")
);
$template->assign_vars(array(
"L_STYLES_TITLE" => $lang['Styles_admin'],
"L_STYLES_ADD_TEXT" => $lang['Styles_addnew_explain'],
"L_STYLE" => $lang['Style'],
"L_TEMPLATE" => $lang['Template'],
"L_INSTALL" => $lang['Install'],
"L_ACTION" => $lang['Action'])
);
for($i = 0; $i < count($installable_themes); $i++)
{
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("styles", array(
"ROW_CLASS" => $row_class,
"ROW_COLOR" => "#" . $row_color,
"STYLE_NAME" => $installable_themes[$i]['style_name'],
"TEMPLATE_NAME" => $installable_themes[$i]['template_name'],
"U_STYLES_INSTALL" => append_sid("admin_styles.$phpEx?mode=addnew&amp;style=" . urlencode($installable_themes[$i]['style_name']) . "&amp;install_to=" . urlencode($installable_themes[$i]['template_name'])))
);
}
$template->pparse("body");
}
closedir($dir);
}
break;
case "create":
case "edit":
$submit = ( isset($HTTP_POST_VARS['submit']) ) ? TRUE : 0;
if( $submit )
{
//
// DAMN! Thats alot of data to validate...
//
$updated['style_name'] = $HTTP_POST_VARS['style_name'];
$updated['template_name'] = $HTTP_POST_VARS['template_name'];
$updated['head_stylesheet'] = $HTTP_POST_VARS['head_stylesheet'];
$updated['body_background'] = $HTTP_POST_VARS['body_background'];
$updated['body_bgcolor'] = $HTTP_POST_VARS['body_bgcolor'];
$updated['body_text'] = $HTTP_POST_VARS['body_text'];
$updated['body_link'] = $HTTP_POST_VARS['body_link'];
$updated['body_vlink'] = $HTTP_POST_VARS['body_vlink'];
$updated['body_alink'] = $HTTP_POST_VARS['body_alink'];
$updated['body_hlink'] = $HTTP_POST_VARS['body_hlink'];
$updated['tr_color1'] = $HTTP_POST_VARS['tr_color1'];
$updated_name['tr_color1_name'] = $HTTP_POST_VARS['tr_color1_name'];
$updated['tr_color2'] = $HTTP_POST_VARS['tr_color2'];
$updated_name['tr_color2_name'] = $HTTP_POST_VARS['tr_color2_name'];
$updated['tr_color3'] = $HTTP_POST_VARS['tr_color3'];
$updated_name['tr_color3_name'] = $HTTP_POST_VARS['tr_color3_name'];
$updated['tr_class1'] = $HTTP_POST_VARS['tr_class1'];
$updated_name['tr_class1_name'] = $HTTP_POST_VARS['tr_class1_name'];
$updated['tr_class2'] = $HTTP_POST_VARS['tr_class2'];
$updated_name['tr_class2_name'] = $HTTP_POST_VARS['tr_class2_name'];
$updated['tr_class3'] = $HTTP_POST_VARS['tr_class3'];
$updated_name['tr_class3_name'] = $HTTP_POST_VARS['tr_class3_name'];
$updated['th_color1'] = $HTTP_POST_VARS['th_color1'];
$updated_name['th_color1_name'] = $HTTP_POST_VARS['th_color1_name'];
$updated['th_color2'] = $HTTP_POST_VARS['th_color2'];
$updated_name['th_color2_name'] = $HTTP_POST_VARS['th_color2_name'];
$updated['th_color3'] = $HTTP_POST_VARS['th_color3'];
$updated_name['th_color3_name'] = $HTTP_POST_VARS['th_color3_name'];
$updated['th_class1'] = $HTTP_POST_VARS['th_class1'];
$updated_name['th_class1_name'] = $HTTP_POST_VARS['th_class1_name'];
$updated['th_class2'] = $HTTP_POST_VARS['th_class2'];
$updated_name['th_class2_name'] = $HTTP_POST_VARS['th_class2_name'];
$updated['th_class3'] = $HTTP_POST_VARS['th_class3'];
$updated_name['th_class3_name'] = $HTTP_POST_VARS['th_class3_name'];
$updated['td_color1'] = $HTTP_POST_VARS['td_color1'];
$updated_name['td_color1_name'] = $HTTP_POST_VARS['td_color1_name'];
$updated['td_color2'] = $HTTP_POST_VARS['td_color2'];
$updated_name['td_color2_name'] = $HTTP_POST_VARS['td_color2_name'];
$updated['td_color3'] = $HTTP_POST_VARS['td_color3'];
$updated_name['td_color3_name'] = $HTTP_POST_VARS['td_color3_name'];
$updated['td_class1'] = $HTTP_POST_VARS['td_class1'];
$updated_name['td_class1_name'] = $HTTP_POST_VARS['td_class1_name'];
$updated['td_class2'] = $HTTP_POST_VARS['td_class2'];
$updated_name['td_class2_name'] = $HTTP_POST_VARS['td_class2_name'];
$updated['td_class3'] = $HTTP_POST_VARS['td_class3'];
$updated_name['td_class3_name'] = $HTTP_POST_VARS['td_class3_name'];
$updated['fontface1'] = $HTTP_POST_VARS['fontface1'];
$updated_name['fontface1_name'] = $HTTP_POST_VARS['fontface1_name'];
$updated['fontface2'] = $HTTP_POST_VARS['fontface2'];
$updated_name['fontface2_name'] = $HTTP_POST_VARS['fontface2_name'];
$updated['fontface3'] = $HTTP_POST_VARS['fontface3'];
$updated_name['fontface3_name'] = $HTTP_POST_VARS['fontface3_name'];
$updated['fontsize1'] = intval($HTTP_POST_VARS['fontsize1']);
$updated_name['fontsize1_name'] = $HTTP_POST_VARS['fontsize1_name'];
$updated['fontsize2'] = intval($HTTP_POST_VARS['fontsize2']);
$updated_name['fontsize2_name'] = $HTTP_POST_VARS['fontsize2_name'];
$updated['fontsize3'] = intval($HTTP_POST_VARS['fontsize3']);
$updated_name['fontsize3_name'] = $HTTP_POST_VARS['fontsize3_name'];
$updated['fontcolor1'] = $HTTP_POST_VARS['fontcolor1'];
$updated_name['fontcolor1_name'] = $HTTP_POST_VARS['fontcolor1_name'];
$updated['fontcolor2'] = $HTTP_POST_VARS['fontcolor2'];
$updated_name['fontcolor2_name'] = $HTTP_POST_VARS['fontcolor2_name'];
$updated['fontcolor3'] = $HTTP_POST_VARS['fontcolor3'];
$updated_name['fontcolor3_name'] = $HTTP_POST_VARS['fontcolor3_name'];
$updated['span_class1'] = $HTTP_POST_VARS['span_class1'];
$updated_name['span_class1_name'] = $HTTP_POST_VARS['span_class1_name'];
$updated['span_class2'] = $HTTP_POST_VARS['span_class2'];
$updated_name['span_class2_name'] = $HTTP_POST_VARS['span_class2_name'];
$updated['span_class3'] = $HTTP_POST_VARS['span_class3'];
$updated_name['span_class3_name'] = $HTTP_POST_VARS['span_class3_name'];
$style_id = intval($HTTP_POST_VARS['style_id']);
//
// Wheeeew! Thank heavens for copy and paste and search and replace :D
//
if($mode == "edit")
{
$sql = "UPDATE " . THEMES_TABLE . " SET ";
$count = 0;
while(list($key, $val) = each($updated))
{
if($count != 0)
{
$sql .= ", ";
}
//
// I don't like this but it'll keep MSSQL from throwing
// an error and save me alot of typing
//
$sql .= ( stristr($key, "fontsize") ) ? "$key = $val" : "$key = '" . str_replace("\'", "''", $val) . "'";
$count++;
}
$sql .= " WHERE themes_id = $style_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not update themes table!", "", __LINE__, __FILE__, $sql);
}
//
// Check if there's a names table entry for this style
//
$sql = "SELECT themes_id
FROM " . THEMES_NAME_TABLE . "
WHERE themes_id = $style_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not get data from themes_name table", "", __LINE__, __FILE__, $sql);
}
if($db->sql_numrows($result) > 0)
{
$sql = "UPDATE " . THEMES_NAME_TABLE . "
SET ";
$count = 0;
while(list($key, $val) = each($updated_name))
{
if($count != 0)
{
$sql .= ", ";
}
$sql .= "$key = '$val'";
$count++;
}
$sql .= " WHERE themes_id = $style_id";
}
else
{
//
// Nope, no names entry so we create a new one.
//
$sql = "INSERT INTO " . THEMES_NAME_TABLE . " (themes_id, ";
while(list($key, $val) = each($updated_name))
{
$fields[] = $key;
$vals[] = str_replace("\'", "''", $val);
}
for($i = 0; $i < count($fields); $i++)
{
if($i > 0)
{
$sql .= ", ";
}
$sql .= $fields[$i];
}
$sql .= ") VALUES ($style_id, ";
for($i = 0; $i < count($vals); $i++)
{
if($i > 0)
{
$sql .= ", ";
}
$sql .= "'" . $vals[$i] . "'";
}
$sql .= ")";
}
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not update themes name table!", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Theme_updated'] . "<br /><br />" . sprintf($lang['Click_return_styleadmin'], "<a href=\"" . append_sid("admin_styles.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
//
// First, check if we already have a style by this name
//
$sql = "SELECT themes_id
FROM " . THEMES_TABLE . "
WHERE style_name = '" . str_replace("\'", "''", $updated['style_name']) . "'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query themes table", "", __LINE__, __FILE__, $sql);
}
if($db->sql_numrows($result))
{
message_die(GENERAL_ERROR, $lang['Style_exists'], $lang['Error']);
}
while(list($key, $val) = each($updated))
{
$field_names[] = $key;
if(stristr($key, "fontsize"))
{
$values[] = "$val";
}
else
{
$values[] = "'" . str_replace("\'", "''", $val) . "'";
}
}
$sql = "INSERT
INTO " . THEMES_TABLE . " (";
for($i = 0; $i < count($field_names); $i++)
{
if($i != 0)
{
$sql .= ", ";
}
$sql .= $field_names[$i];
}
$sql .= ") VALUES (";
for($i = 0; $i < count($values); $i++)
{
if($i != 0)
{
$sql .= ", ";
}
$sql .= $values[$i];
}
$sql .= ")";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not update themes table!", "", __LINE__, __FILE__, $sql);
}
$style_id = $db->sql_nextid();
//
// Insert names data
//
$sql = "INSERT INTO " . THEMES_NAME_TABLE . " (themes_id, ";
while(list($key, $val) = each($updated_name))
{
$fields[] = $key;
$vals[] = $val;
}
for($i = 0; $i < count($fields); $i++)
{
if($i > 0)
{
$sql .= ", ";
}
$sql .= $fields[$i];
}
$sql .= ") VALUES ($style_id, ";
for($i = 0; $i < count($vals); $i++)
{
if($i > 0)
{
$sql .= ", ";
}
$sql .= "'" . $vals[$i] . "'";
}
$sql .= ")";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not insert themes name table!", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Theme_created'] . "<br /><br />" . sprintf($lang['Click_return_styleadmin'], "<a href=\"" . append_sid("admin_styles.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
else
{
if($mode == "edit")
{
$themes_title = $lang['Edit_theme'];
$themes_explain = $lang['Edit_theme_explain'];
$style_id = intval($HTTP_GET_VARS['style_id']);
$selected_names = array();
$selected_values = array();
//
// Fetch the Theme Info from the db
//
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE themes_id = $style_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not get data from themes table", "", __LINE__, __FILE__, $sql);
}
if ( $selected_values = $db->sql_fetchrow($result) )
{
while(list($key, $val) = @each($selected_values))
{
$selected[$key] = $val;
}
}
//
// Fetch the Themes Name data
//
$sql = "SELECT *
FROM " . THEMES_NAME_TABLE . "
WHERE themes_id = $style_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not get data from themes name table", "", __LINE__, __FILE__, $sql);
}
if ( $selected_names = $db->sql_fetchrow($result) )
{
while(list($key, $val) = @each($selected_names))
{
$selected[$key] = $val;
}
}
$s_hidden_fields = '<input type="hidden" name="style_id" value="' . $style_id . '" />';
}
else
{
$themes_title = $lang['Create_theme'];
$themes_explain = $lang['Create_theme_explain'];
}
$template->set_filenames(array(
"body" => "admin/styles_edit_body.tpl")
);
if( $dir = @opendir($phpbb_root_path . 'templates/') )
{
$s_template_select = '<select name="template_name">';
while( $file = @readdir($dir) )
{
if( !is_file(phpbb_realpath($phpbb_root_path . 'templates/' . $file)) && !is_link(phpbb_realpath($phpbb_root_path . 'templates/' . $file)) && $file != "." && $file != ".." && $file != "CVS" )
{
if($file == $selected['template_name'])
{
$s_template_select .= '<option value="' . $file . '" selected="selected">' . $file . "</option>\n";
}
else
{
$s_template_select .= '<option value="' . $file . '">' . $file . "</option>\n";
}
}
}
$s_template_select .= '</select>';
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_template_dir']);
}
$s_hidden_fields .= '<input type="hidden" name="mode" value="' . $mode . '" />';
$template->assign_vars(array(
"L_THEMES_TITLE" => $themes_title,
"L_THEMES_EXPLAIN" => $themes_explain,
"L_THEME_NAME" => $lang['Theme_name'],
"L_TEMPLATE" => $lang['Template'],
"L_THEME_SETTINGS" => $lang['Theme_settings'],
"L_THEME_ELEMENT" => $lang['Theme_element'],
"L_SIMPLE_NAME" => $lang['Simple_name'],
"L_VALUE" => $lang['Value'],
"L_STYLESHEET" => $lang['Stylesheet'],
"L_BACKGROUND_IMAGE" => $lang['Background_image'],
"L_BACKGROUND_COLOR" => $lang['Background_color'],
"L_BODY_TEXT_COLOR" => $lang['Text_color'],
"L_BODY_LINK_COLOR" => $lang['Link_color'],
"L_BODY_VLINK_COLOR" => $lang['VLink_color'],
"L_BODY_ALINK_COLOR" => $lang['ALink_color'],
"L_BODY_HLINK_COLOR" => $lang['HLink_color'],
"L_TR_COLOR1" => $lang['Tr_color1'],
"L_TR_COLOR2" => $lang['Tr_color2'],
"L_TR_COLOR3" => $lang['Tr_color3'],
"L_TR_CLASS1" => $lang['Tr_class1'],
"L_TR_CLASS2" => $lang['Tr_class2'],
"L_TR_CLASS3" => $lang['Tr_class3'],
"L_TH_COLOR1" => $lang['Th_color1'],
"L_TH_COLOR2" => $lang['Th_color2'],
"L_TH_COLOR3" => $lang['Th_color3'],
"L_TH_CLASS1" => $lang['Th_class1'],
"L_TH_CLASS2" => $lang['Th_class2'],
"L_TH_CLASS3" => $lang['Th_class3'],
"L_TD_COLOR1" => $lang['Td_color1'],
"L_TD_COLOR2" => $lang['Td_color2'],
"L_TD_COLOR3" => $lang['Td_color3'],
"L_TD_CLASS1" => $lang['Td_class1'],
"L_TD_CLASS2" => $lang['Td_class2'],
"L_TD_CLASS3" => $lang['Td_class3'],
"L_FONTFACE_1" => $lang['fontface1'],
"L_FONTFACE_2" => $lang['fontface2'],
"L_FONTFACE_3" => $lang['fontface3'],
"L_FONTSIZE_1" => $lang['fontsize1'],
"L_FONTSIZE_2" => $lang['fontsize2'],
"L_FONTSIZE_3" => $lang['fontsize3'],
"L_FONTCOLOR_1" => $lang['fontcolor1'],
"L_FONTCOLOR_2" => $lang['fontcolor2'],
"L_FONTCOLOR_3" => $lang['fontcolor3'],
"L_SPAN_CLASS_1" => $lang['span_class1'],
"L_SPAN_CLASS_2" => $lang['span_class2'],
"L_SPAN_CLASS_3" => $lang['span_class3'],
"L_SAVE_SETTINGS" => $lang['Save_Settings'],
"THEME_NAME" => $selected['style_name'],
"HEAD_STYLESHEET" => $selected['head_stylesheet'],
"BODY_BACKGROUND" => $selected['body_background'],
"BODY_BGCOLOR" => $selected['body_bgcolor'],
"BODY_TEXT_COLOR" => $selected['body_text'],
"BODY_LINK_COLOR" => $selected['body_link'],
"BODY_VLINK_COLOR" => $selected['body_vlink'],
"BODY_ALINK_COLOR" => $selected['body_alink'],
"BODY_HLINK_COLOR" => $selected['body_hlink'],
"TR_COLOR1" => $selected['tr_color1'],
"TR_COLOR2" => $selected['tr_color2'],
"TR_COLOR3" => $selected['tr_color3'],
"TR_CLASS1" => $selected['tr_class1'],
"TR_CLASS2" => $selected['tr_class2'],
"TR_CLASS3" => $selected['tr_class3'],
"TH_COLOR1" => $selected['th_color1'],
"TH_COLOR2" => $selected['th_color2'],
"TH_COLOR3" => $selected['th_color3'],
"TH_CLASS1" => $selected['th_class1'],
"TH_CLASS2" => $selected['th_class2'],
"TH_CLASS3" => $selected['th_class3'],
"TD_COLOR1" => $selected['td_color1'],
"TD_COLOR2" => $selected['td_color2'],
"TD_COLOR3" => $selected['td_color3'],
"TD_CLASS1" => $selected['td_class1'],
"TD_CLASS2" => $selected['td_class2'],
"TD_CLASS3" => $selected['td_class3'],
"FONTFACE1" => $selected['fontface1'],
"FONTFACE2" => $selected['fontface2'],
"FONTFACE3" => $selected['fontface3'],
"FONTSIZE1" => $selected['fontsize1'],
"FONTSIZE2" => $selected['fontsize2'],
"FONTSIZE3" => $selected['fontsize3'],
"FONTCOLOR1" => $selected['fontcolor1'],
"FONTCOLOR2" => $selected['fontcolor2'],
"FONTCOLOR3" => $selected['fontcolor3'],
"SPAN_CLASS1" => $selected['span_class1'],
"SPAN_CLASS2" => $selected['span_class2'],
"SPAN_CLASS3" => $selected['span_class3'],
"TR_COLOR1_NAME" => $selected['tr_color1_name'],
"TR_COLOR2_NAME" => $selected['tr_color2_name'],
"TR_COLOR3_NAME" => $selected['tr_color3_name'],
"TR_CLASS1_NAME" => $selected['tr_class1_name'],
"TR_CLASS2_NAME" => $selected['tr_class2_name'],
"TR_CLASS3_NAME" => $selected['tr_class3_name'],
"TH_COLOR1_NAME" => $selected['th_color1_name'],
"TH_COLOR2_NAME" => $selected['th_color2_name'],
"TH_COLOR3_NAME" => $selected['th_color3_name'],
"TH_CLASS1_NAME" => $selected['th_class1_name'],
"TH_CLASS2_NAME" => $selected['th_class2_name'],
"TH_CLASS3_NAME" => $selected['th_class3_name'],
"TD_COLOR1_NAME" => $selected['td_color1_name'],
"TD_COLOR2_NAME" => $selected['td_color2_name'],
"TD_COLOR3_NAME" => $selected['td_color3_name'],
"TD_CLASS1_NAME" => $selected['td_class1_name'],
"TD_CLASS2_NAME" => $selected['td_class2_name'],
"TD_CLASS3_NAME" => $selected['td_class3_name'],
"FONTFACE1_NAME" => $selected['fontface1_name'],
"FONTFACE2_NAME" => $selected['fontface2_name'],
"FONTFACE3_NAME" => $selected['fontface3_name'],
"FONTSIZE1_NAME" => $selected['fontsize1_name'],
"FONTSIZE2_NAME" => $selected['fontsize2_name'],
"FONTSIZE3_NAME" => $selected['fontsize3_name'],
"FONTCOLOR1_NAME" => $selected['fontcolor1_name'],
"FONTCOLOR2_NAME" => $selected['fontcolor2_name'],
"FONTCOLOR3_NAME" => $selected['fontcolor3_name'],
"SPAN_CLASS1_NAME" => $selected['span_class1_name'],
"SPAN_CLASS2_NAME" => $selected['span_class2_name'],
"SPAN_CLASS3_NAME" => $selected['span_class3_name'],
"S_THEME_ACTION" => append_sid("admin_styles.$phpEx"),
"S_TEMPLATE_SELECT" => $s_template_select,
"S_HIDDEN_FIELDS" => $s_hidden_fields)
);
$template->pparse("body");
}
break;
case "export";
if($HTTP_POST_VARS['export_template'])
{
$template_name = $HTTP_POST_VARS['export_template'];
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE template_name = '" . str_replace("\'", "''", $template_name) . "'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not get theme data for selected template", "", __LINE__, __FILE__, $sql);
}
$theme_rowset = $db->sql_fetchrowset($result);
if( count($theme_rowset) == 0 )
{
message_die(GENERAL_MESSAGE, $lang['No_themes']);
}
$theme_data = '<?php'."\n\n";
$theme_data .= "//\n// phpBB 2.x auto-generated theme config file for $template_name\n// Do not change anything in this file!\n//\n\n";
for($i = 0; $i < count($theme_rowset); $i++)
{
while(list($key, $val) = each($theme_rowset[$i]))
{
if(!intval($key) && $key != "0" && $key != "themes_id")
{
$theme_data .= '$' . $template_name . "[$i]['$key'] = \"" . addslashes($val) . "\";\n";
}
}
$theme_data .= "\n";
}
$theme_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused!
@umask(0111);
$fp = @fopen($phpbb_root_path . 'templates/' . $template_name . '/theme_info.cfg', 'w');
if( !$fp )
{
//
// Unable to open the file writeable do something here as an attempt
// to get around that...
//
$s_hidden_fields = '<input type="hidden" name="theme_info" value="' . htmlspecialchars($theme_data) . '" />';
$s_hidden_fields .= '<input type="hidden" name="send_file" value="1" /><input type="hidden" name="mode" value="export" />';
$download_form = '<form action="' . append_sid("admin_styles.$phpEx") . '" method="post"><input class="mainoption" type="submit" name="submit" value="' . $lang['Download'] . '" />' . $s_hidden_fields;
$template->set_filenames(array(
"body" => "message_body.tpl")
);
$template->assign_vars(array(
"MESSAGE_TITLE" => $lang['Export_themes'],
"MESSAGE_TEXT" => $lang['Download_theme_cfg'] . "<br /><br />" . $download_form)
);
$template->pparse('body');
exit();
}
$result = @fputs($fp, $theme_data, strlen($theme_data));
fclose($fp);
$message = $lang['Theme_info_saved'] . "<br /><br />" . sprintf($lang['Click_return_styleadmin'], "<a href=\"" . append_sid("admin_styles.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if($HTTP_POST_VARS['send_file'])
{
header("Content-Type: text/x-delimtext; name=\"theme_info.cfg\"");
header("Content-disposition: attachment; filename=theme_info.cfg");
echo stripslashes($HTTP_POST_VARS['theme_info']);
}
else
{
$template->set_filenames(array(
"body" => "admin/styles_exporter.tpl")
);
if( $dir = @opendir($phpbb_root_path . 'templates/') )
{
$s_template_select = '<select name="export_template">';
while( $file = @readdir($dir) )
{
if( !is_file(phpbb_realpath($phpbb_root_path . 'templates/' . $file)) && !is_link(phpbb_realpath($phpbb_root_path . 'templates/' .$file)) && $file != "." && $file != ".." && $file != "CVS" )
{
$s_template_select .= '<option value="' . $file . '">' . $file . "</option>\n";
}
}
$s_template_select .= '</select>';
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_template_dir']);
}
$template->assign_vars(array(
"L_STYLE_EXPORTER" => $lang['Export_themes'],
"L_EXPORTER_EXPLAIN" => $lang['Export_explain'],
"L_TEMPLATE_SELECT" => $lang['Select_template'],
"L_SUBMIT" => $lang['Submit'],
"S_EXPORTER_ACTION" => append_sid("admin_styles.$phpEx?mode=export"),
"S_TEMPLATE_SELECT" => $s_template_select)
);
$template->pparse("body");
}
break;
case "delete":
$style_id = ( isset($HTTP_GET_VARS['style_id']) ) ? intval($HTTP_GET_VARS['style_id']) : intval($HTTP_POST_VARS['style_id']);
if( !$confirm )
{
if($style_id == $board_config['default_style'])
{
message_die(GENERAL_MESSAGE, $lang['Cannot_remove_style']);
}
$hidden_fields = '<input type="hidden" name="mode" value="'.$mode.'" /><input type="hidden" name="style_id" value="'.$style_id.'" />';
//
// Set template files
//
$template->set_filenames(array(
"confirm" => "confirm_body.tpl")
);
$template->assign_vars(array(
"MESSAGE_TITLE" => $lang['Confirm'],
"MESSAGE_TEXT" => $lang['Confirm_delete_style'],
"L_YES" => $lang['Yes'],
"L_NO" => $lang['No'],
"S_CONFIRM_ACTION" => append_sid("admin_styles.$phpEx"),
"S_HIDDEN_FIELDS" => $hidden_fields)
);
$template->pparse("confirm");
}
else
{
//
// The user has confirmed the delete. Remove the style, the style element
// names and update any users who might be using this style
//
$sql = "DELETE FROM " . THEMES_TABLE . "
WHERE themes_id = $style_id";
if(!$result = $db->sql_query($sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, "Could not remove style data!", "", __LINE__, __FILE__, $sql);
}
//
// There may not be any theme name data so don't throw an error
// if the SQL dosan't work
//
$sql = "DELETE FROM " . THEMES_NAME_TABLE . "
WHERE themes_id = $style_id";
$db->sql_query($sql);
$sql = "UPDATE " . USERS_TABLE . "
SET user_style = " . $board_config['default_style'] . "
WHERE user_style = $style_id";
if(!$result = $db->sql_query($sql, END_TRANSACTION))
{
message_die(GENERAL_ERROR, "Could not update user style information", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Style_removed'] . "<br /><br />" . sprintf($lang['Click_return_styleadmin'], "<a href=\"" . append_sid("admin_styles.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
break;
default:
$sql = "SELECT themes_id, template_name, style_name
FROM " . THEMES_TABLE . "
ORDER BY template_name";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not get style information!", "", __LINE__, __FILE__, $sql);
}
$style_rowset = $db->sql_fetchrowset($result);
$template->set_filenames(array(
"body" => "admin/styles_list_body.tpl")
);
$template->assign_vars(array(
"L_STYLES_TITLE" => $lang['Styles_admin'],
"L_STYLES_TEXT" => $lang['Styles_explain'],
"L_STYLE" => $lang['Style'],
"L_TEMPLATE" => $lang['Template'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'])
);
for($i = 0; $i < count($style_rowset); $i++)
{
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("styles", array(
"ROW_CLASS" => $row_class,
"ROW_COLOR" => $row_color,
"STYLE_NAME" => $style_rowset[$i]['style_name'],
"TEMPLATE_NAME" => $style_rowset[$i]['template_name'],
"U_STYLES_EDIT" => append_sid("admin_styles.$phpEx?mode=edit&amp;style_id=" . $style_rowset[$i]['themes_id']),
"U_STYLES_DELETE" => append_sid("admin_styles.$phpEx?mode=delete&amp;style_id=" . $style_rowset[$i]['themes_id']))
);
}
$template->pparse("body");
break;
}
if (empty($HTTP_POST_VARS['send_file']))
{
include('./page_footer_admin.'.$phpEx);
}
?>

View File

@@ -1,948 +0,0 @@
<?php
/***************************************************************************
* admin_ug_auth.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Permissions'] = $filename . "?mode=user";
$module['Groups']['Permissions'] = $filename . "?mode=group";
return;
}
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
$params = array('mode' => 'mode', 'user_id' => POST_USERS_URL, 'group_id' => POST_GROUPS_URL, 'adv' => 'adv');
while( list($var, $param) = @each($params) )
{
if ( !empty($HTTP_POST_VARS[$param]) || !empty($HTTP_GET_VARS[$param]) )
{
$$var = ( !empty($HTTP_POST_VARS[$param]) ) ? $HTTP_POST_VARS[$param] : $HTTP_GET_VARS[$param];
}
else
{
$$var = "";
}
}
$user_id = intval($user_id);
$group_id = intval($group_id);
$adv = intval($adv);
$mode = htmlspecialchars($mode);
//
// Start program - define vars
//
$forum_auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_vote', 'auth_pollcreate');
$auth_field_match = array(
'auth_view' => AUTH_VIEW,
'auth_read' => AUTH_READ,
'auth_post' => AUTH_POST,
'auth_reply' => AUTH_REPLY,
'auth_edit' => AUTH_EDIT,
'auth_delete' => AUTH_DELETE,
'auth_sticky' => AUTH_STICKY,
'auth_announce' => AUTH_ANNOUNCE,
'auth_vote' => AUTH_VOTE,
'auth_pollcreate' => AUTH_POLLCREATE);
$field_names = array(
'auth_view' => $lang['View'],
'auth_read' => $lang['Read'],
'auth_post' => $lang['Post'],
'auth_reply' => $lang['Reply'],
'auth_edit' => $lang['Edit'],
'auth_delete' => $lang['Delete'],
'auth_sticky' => $lang['Sticky'],
'auth_announce' => $lang['Announce'],
'auth_vote' => $lang['Vote'],
'auth_pollcreate' => $lang['Pollcreate']);
// ---------------
// Start Functions
//
function check_auth($type, $key, $u_access, $is_admin)
{
$auth_user = 0;
if( count($u_access) )
{
for($j = 0; $j < count($u_access); $j++)
{
$result = 0;
switch($type)
{
case AUTH_ACL:
$result = $u_access[$j][$key];
case AUTH_MOD:
$result = $result || $u_access[$j]['auth_mod'];
case AUTH_ADMIN:
$result = $result || $is_admin;
break;
}
$auth_user = $auth_user || $result;
}
}
else
{
$auth_user = $is_admin;
}
return $auth_user;
}
//
// End Functions
// -------------
if ( isset($HTTP_POST_VARS['submit']) && ( ( $mode == 'user' && $user_id ) || ( $mode == 'group' && $group_id ) ) )
{
$user_level = '';
if ( $mode == 'user' )
{
//
// Get group_id for this user_id
//
$sql = "SELECT g.group_id, u.user_level
FROM " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u, " . GROUPS_TABLE . " g
WHERE u.user_id = $user_id
AND ug.user_id = u.user_id
AND g.group_id = ug.group_id
AND g.group_single_user = " . TRUE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select info from user/user_group table', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$group_id = $row['group_id'];
$user_level = $row['user_level'];
$db->sql_freeresult($result);
}
//
// Carry out requests
//
if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'admin' && $user_level != ADMIN )
{
//
// Make user an admin (if already user)
//
if ( $userdata['user_id'] != $user_id )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . ADMIN . "
WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
WHERE group_id = $group_id
AND auth_mod = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't delete auth access info", "", __LINE__, __FILE__, $sql);
}
//
// Delete any entries in auth_access, they are not required if user is becoming an
// admin
//
$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't update auth access", "", __LINE__, __FILE__, $sql);
}
}
$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else
{
if ( $mode == 'user' && $HTTP_POST_VARS['userlevel'] == 'user' && $user_level == ADMIN )
{
//
// Make admin a user (if already admin) ... ignore if you're trying
// to change yourself from an admin to user!
//
if ( $userdata['user_id'] != $user_id )
{
$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update auth access', '', __LINE__, __FILE__, $sql);
}
//
// Update users level, reset to USER
//
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . USER . "
WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
}
$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
}
else
{
$change_mod_list = ( isset($HTTP_POST_VARS['moderator']) ) ? $HTTP_POST_VARS['moderator'] : false;
if ( empty($adv) )
{
$change_acl_list = ( isset($HTTP_POST_VARS['private']) ) ? $HTTP_POST_VARS['private'] : false;
}
else
{
$change_acl_list = array();
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$auth_field = $forum_auth_fields[$j];
while( list($forum_id, $value) = @each($HTTP_POST_VARS['private_' . $auth_field]) )
{
$change_acl_list[$forum_id][$auth_field] = $value;
}
}
}
$sql = "SELECT *
FROM " . FORUMS_TABLE . " f
ORDER BY forum_order";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain forum information", "", __LINE__, __FILE__, $sql);
}
$forum_access = array();
while( $row = $db->sql_fetchrow($result) )
{
$forum_access[] = $row;
}
$db->sql_freeresult($result);
$sql = ( $mode == 'user' ) ? "SELECT aa.* FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND g.group_id = ug.group_id AND aa.group_id = ug.group_id AND g.group_single_user = " . TRUE : "SELECT * FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
}
$auth_access = array();
while( $row = $db->sql_fetchrow($result) )
{
$auth_access[$row['forum_id']] = $row;
}
$db->sql_freeresult($result);
$forum_auth_action = array();
$update_acl_status = array();
$update_mod_status = array();
for($i = 0; $i < count($forum_access); $i++)
{
$forum_id = $forum_access[$i]['forum_id'];
if (
( isset($auth_access[$forum_id]['auth_mod']) && $change_mod_list[$forum_id]['auth_mod'] != $auth_access[$forum_id]['auth_mod'] ) ||
( !isset($auth_access[$forum_id]['auth_mod']) && !empty($change_mod_list[$forum_id]['auth_mod']) )
)
{
$update_mod_status[$forum_id] = $change_mod_list[$forum_id]['auth_mod'];
if ( !$update_mod_status[$forum_id] )
{
$forum_auth_action[$forum_id] = 'delete';
}
else if ( !isset($auth_access[$forum_id]['auth_mod']) )
{
$forum_auth_action[$forum_id] = 'insert';
}
else
{
$forum_auth_action[$forum_id] = 'update';
}
}
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$auth_field = $forum_auth_fields[$j];
if( $forum_access[$i][$auth_field] == AUTH_ACL && isset($change_acl_list[$forum_id][$auth_field]) )
{
if ( ( empty($auth_access[$forum_id]['auth_mod']) &&
( isset($auth_access[$forum_id][$auth_field]) && $change_acl_list[$forum_id][$auth_field] != $auth_access[$forum_id][$auth_field] ) ||
( !isset($auth_access[$forum_id][$auth_field]) && !empty($change_acl_list[$forum_id][$auth_field]) ) ) ||
!empty($update_mod_status[$forum_id])
)
{
$update_acl_status[$forum_id][$auth_field] = ( !empty($update_mod_status[$forum_id]) ) ? 0 : $change_acl_list[$forum_id][$auth_field];
if ( isset($auth_access[$forum_id][$auth_field]) && empty($update_acl_status[$forum_id][$auth_field]) && $forum_auth_action[$forum_id] != 'insert' && $forum_auth_action[$forum_id] != 'update' )
{
$forum_auth_action[$forum_id] = 'delete';
}
else if ( !isset($auth_access[$forum_id][$auth_field]) && !( $forum_auth_action[$forum_id] == 'delete' && empty($update_acl_status[$forum_id][$auth_field]) ) )
{
$forum_auth_action[$forum_id] = 'insert';
}
else if ( isset($auth_access[$forum_id][$auth_field]) && !empty($update_acl_status[$forum_id][$auth_field]) )
{
$forum_auth_action[$forum_id] = 'update';
}
}
else if ( ( empty($auth_access[$forum_id]['auth_mod']) &&
( isset($auth_access[$forum_id][$auth_field]) && $change_acl_list[$forum_id][$auth_field] == $auth_access[$forum_id][$auth_field] ) ) && $forum_auth_action[$forum_id] == 'delete' )
{
$forum_auth_action[$forum_id] = 'update';
}
}
}
}
//
// Checks complete, make updates to DB
//
$delete_sql = '';
while( list($forum_id, $action) = @each($forum_auth_action) )
{
if ( $action == 'delete' )
{
$delete_sql .= ( ( $delete_sql != '' ) ? ', ' : '' ) . $forum_id;
}
else
{
if ( $action == 'insert' )
{
$sql_field = '';
$sql_value = '';
while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
{
$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type;
$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value;
}
$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod';
$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);
$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field)
VALUES ($forum_id, $group_id, $sql_value)";
}
else
{
$sql_values = '';
while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
{
$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type . ' = ' . $value;
}
$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);
$sql = "UPDATE " . AUTH_ACCESS_TABLE . "
SET $sql_values
WHERE group_id = $group_id
AND forum_id = $forum_id";
}
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't update private forum permissions", "", __LINE__, __FILE__, $sql);
}
}
}
if ( $delete_sql != '' )
{
$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
WHERE group_id = $group_id
AND forum_id IN ($delete_sql)";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't delete permission entries", "", __LINE__, __FILE__, $sql);
}
}
$l_auth_return = ( $mode == 'user' ) ? $lang['Click_return_userauth'] : $lang['Click_return_groupauth'];
$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($l_auth_return, '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
}
//
// Update user level to mod for appropriate users
//
$sql = "SELECT u.user_id
FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u
WHERE ug.group_id = aa.group_id
AND u.user_id = ug.user_id
AND u.user_level NOT IN (" . MOD . ", " . ADMIN . ")
GROUP BY u.user_id
HAVING SUM(aa.auth_mod) > 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
}
$set_mod = '';
while( $row = $db->sql_fetchrow($result) )
{
$set_mod .= ( ( $set_mod != '' ) ? ', ' : '' ) . $row['user_id'];
}
$db->sql_freeresult($result);
//
// Update user level to user for appropriate users
//
switch ( SQL_LAYER )
{
case 'postgresql':
$sql = "SELECT u.user_id
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
WHERE ug.user_id = u.user_id
AND aa.group_id = ug.group_id
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
GROUP BY u.user_id
HAVING SUM(aa.auth_mod) = 0
UNION (
SELECT u.user_id
FROM " . USERS_TABLE . " u
WHERE NOT EXISTS (
SELECT aa.auth_mod
FROM " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
WHERE ug.user_id = u.user_id
AND aa.group_id = ug.group_id
)
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
GROUP BY u.user_id
)";
break;
case 'oracle':
$sql = "SELECT u.user_id
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
WHERE ug.user_id = u.user_id(+)
AND aa.group_id = ug.group_id(+)
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
GROUP BY u.user_id
HAVING SUM(aa.auth_mod) = 0";
break;
default:
$sql = "SELECT u.user_id
FROM ( ( " . USERS_TABLE . " u
LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.user_id = u.user_id )
LEFT JOIN " . AUTH_ACCESS_TABLE . " aa ON aa.group_id = ug.group_id )
WHERE u.user_level NOT IN (" . USER . ", " . ADMIN . ")
GROUP BY u.user_id
HAVING SUM(aa.auth_mod) = 0";
break;
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
}
$unset_mod = "";
while( $row = $db->sql_fetchrow($result) )
{
$unset_mod .= ( ( $unset_mod != '' ) ? ', ' : '' ) . $row['user_id'];
}
$db->sql_freeresult($result);
if ( $set_mod != '' )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . MOD . "
WHERE user_id IN ($set_mod)";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't update user level", "", __LINE__, __FILE__, $sql);
}
}
if ( $unset_mod != '' )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . USER . "
WHERE user_id IN ($unset_mod)";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't update user level", "", __LINE__, __FILE__, $sql);
}
}
message_die(GENERAL_MESSAGE, $message);
}
}
else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
{
if ( isset($HTTP_POST_VARS['username']) )
{
$this_userdata = get_userdata($HTTP_POST_VARS['username'], true);
if ( !is_array($this_userdata) )
{
message_die(GENERAL_MESSAGE, $lang['No_such_user']);
}
$user_id = $this_userdata['user_id'];
}
//
// Front end
//
$sql = "SELECT *
FROM " . FORUMS_TABLE . " f
ORDER BY forum_order";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain forum information", "", __LINE__, __FILE__, $sql);
}
$forum_access = array();
while( $row = $db->sql_fetchrow($result) )
{
$forum_access[] = $row;
}
$db->sql_freeresult($result);
if( empty($adv) )
{
for($i = 0; $i < count($forum_access); $i++)
{
$forum_id = $forum_access[$i]['forum_id'];
$forum_auth_level[$forum_id] = AUTH_ALL;
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$forum_access[$i][$forum_auth_fields[$j]] . ' :: ';
if ( $forum_access[$i][$forum_auth_fields[$j]] == AUTH_ACL )
{
$forum_auth_level[$forum_id] = AUTH_ACL;
$forum_auth_level_fields[$forum_id][] = $forum_auth_fields[$j];
}
}
}
}
$sql = "SELECT u.user_id, u.username, u.user_level, g.group_id, g.group_name, g.group_single_user FROM " . USERS_TABLE . " u, " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug WHERE ";
$sql .= ( $mode == 'user' ) ? "u.user_id = $user_id AND ug.user_id = u.user_id AND g.group_id = ug.group_id" : "g.group_id = $group_id AND ug.group_id = g.group_id AND u.user_id = ug.user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user/group information", "", __LINE__, __FILE__, $sql);
}
$ug_info = array();
while( $row = $db->sql_fetchrow($result) )
{
$ug_info[] = $row;
}
$db->sql_freeresult($result);
$sql = ( $mode == 'user' ) ? "SELECT aa.*, g.group_single_user FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND g.group_id = ug.group_id AND aa.group_id = ug.group_id AND g.group_single_user = 1" : "SELECT * FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
}
$auth_access = array();
$auth_access_count = array();
while( $row = $db->sql_fetchrow($result) )
{
$auth_access[$row['forum_id']][] = $row;
$auth_access_count[$row['forum_id']]++;
}
$db->sql_freeresult($result);
$is_admin = ( $mode == 'user' ) ? ( ( $ug_info[0]['user_level'] == ADMIN && $ug_info[0]['user_id'] != ANONYMOUS ) ? 1 : 0 ) : 0;
for($i = 0; $i < count($forum_access); $i++)
{
$forum_id = $forum_access[$i]['forum_id'];
unset($prev_acl_setting);
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$key = $forum_auth_fields[$j];
$value = $forum_access[$i][$key];
switch( $value )
{
case AUTH_ALL:
case AUTH_REG:
$auth_ug[$forum_id][$key] = 1;
break;
case AUTH_ACL:
$auth_ug[$forum_id][$key] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_ACL, $key, $auth_access[$forum_id], $is_admin) : 0;
$auth_field_acl[$forum_id][$key] = $auth_ug[$forum_id][$key];
if ( isset($prev_acl_setting) )
{
if ( $prev_acl_setting != $auth_ug[$forum_id][$key] && empty($adv) )
{
$adv = 1;
}
}
$prev_acl_setting = $auth_ug[$forum_id][$key];
break;
case AUTH_MOD:
$auth_ug[$forum_id][$key] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_MOD, $key, $auth_access[$forum_id], $is_admin) : 0;
break;
case AUTH_ADMIN:
$auth_ug[$forum_id][$key] = $is_admin;
break;
default:
$auth_ug[$forum_id][$key] = 0;
break;
}
}
//
// Is user a moderator?
//
$auth_ug[$forum_id]['auth_mod'] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_MOD, 'auth_mod', $auth_access[$forum_id], 0) : 0;
}
$i = 0;
@reset($auth_ug);
while( list($forum_id, $user_ary) = @each($auth_ug) )
{
if ( empty($adv) )
{
if ( $forum_auth_level[$forum_id] == AUTH_ACL )
{
$allowed = 1;
for($j = 0; $j < count($forum_auth_level_fields[$forum_id]); $j++)
{
if ( !$auth_ug[$forum_id][$forum_auth_level_fields[$forum_id][$j]] )
{
$allowed = 0;
}
}
$optionlist_acl = '<select name="private[' . $forum_id . ']">';
if ( $is_admin || $user_ary['auth_mod'] )
{
$optionlist_acl .= '<option value="1">' . $lang['Allowed_Access'] . '</option>';
}
else if ( $allowed )
{
$optionlist_acl .= '<option value="1" selected="selected">' . $lang['Allowed_Access'] . '</option><option value="0">'. $lang['Disallowed_Access'] . '</option>';
}
else
{
$optionlist_acl .= '<option value="1">' . $lang['Allowed_Access'] . '</option><option value="0" selected="selected">' . $lang['Disallowed_Access'] . '</option>';
}
$optionlist_acl .= '</select>';
}
else
{
$optionlist_acl = '&nbsp;';
}
}
else
{
for($j = 0; $j < count($forum_access); $j++)
{
if ( $forum_access[$j]['forum_id'] == $forum_id )
{
for($k = 0; $k < count($forum_auth_fields); $k++)
{
$field_name = $forum_auth_fields[$k];
if( $forum_access[$j][$field_name] == AUTH_ACL )
{
$optionlist_acl_adv[$forum_id][$k] = '<select name="private_' . $field_name . '[' . $forum_id . ']">';
if( isset($auth_field_acl[$forum_id][$field_name]) && !($is_admin || $user_ary['auth_mod']) )
{
if( !$auth_field_acl[$forum_id][$field_name] )
{
$optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option><option value="0" selected="selected">' . $lang['OFF'] . '</option>';
}
else
{
$optionlist_acl_adv[$forum_id][$k] .= '<option value="1" selected="selected">' . $lang['ON'] . '</option><option value="0">' . $lang['OFF'] . '</option>';
}
}
else
{
if( $is_admin || $user_ary['auth_mod'] )
{
$optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option>';
}
else
{
$optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option><option value="0" selected="selected">' . $lang['OFF'] . '</option>';
}
}
$optionlist_acl_adv[$forum_id][$k] .= '</select>';
}
}
}
}
}
$optionlist_mod = '<select name="moderator[' . $forum_id . ']">';
$optionlist_mod .= ( $user_ary['auth_mod'] ) ? '<option value="1" selected="selected">' . $lang['Is_Moderator'] . '</option><option value="0">' . $lang['Not_Moderator'] . '</option>' : '<option value="1">' . $lang['Is_Moderator'] . '</option><option value="0" selected="selected">' . $lang['Not_Moderator'] . '</option>';
$optionlist_mod .= '</select>';
$row_class = ( !( $i % 2 ) ) ? 'row2' : 'row1';
$row_color = ( !( $i % 2 ) ) ? $theme['td_color1'] : $theme['td_color2'];
$template->assign_block_vars('forums', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'FORUM_NAME' => $forum_access[$i]['forum_name'],
'U_FORUM_AUTH' => append_sid("admin_forumauth.$phpEx?f=" . $forum_access[$i]['forum_id']),
'S_MOD_SELECT' => $optionlist_mod)
);
if( !$adv )
{
$template->assign_block_vars('forums.aclvalues', array(
'S_ACL_SELECT' => $optionlist_acl)
);
}
else
{
for($j = 0; $j < count($forum_auth_fields); $j++)
{
$template->assign_block_vars('forums.aclvalues', array(
'S_ACL_SELECT' => $optionlist_acl_adv[$forum_id][$j])
);
}
}
$i++;
}
@reset($auth_user);
if ( $mode == 'user' )
{
$t_username = $ug_info[0]['username'];
$s_user_type = ( $is_admin ) ? '<select name="userlevel"><option value="admin" selected="selected">' . $lang['Auth_Admin'] . '</option><option value="user">' . $lang['Auth_User'] . '</option></select>' : '<select name="userlevel"><option value="admin">' . $lang['Auth_Admin'] . '</option><option value="user" selected="selected">' . $lang['Auth_User'] . '</option></select>';
}
else
{
$t_groupname = $ug_info[0]['group_name'];
}
$name = array();
$id = array();
for($i = 0; $i < count($ug_info); $i++)
{
if( ( $mode == 'user' && !$ug_info[$i]['group_single_user'] ) || $mode == 'group' )
{
$name[] = ( $mode == 'user' ) ? $ug_info[$i]['group_name'] : $ug_info[$i]['username'];
$id[] = ( $mode == 'user' ) ? intval($ug_info[$i]['group_id']) : intval($ug_info[$i]['user_id']);
}
}
if( count($name) )
{
$t_usergroup_list = '';
for($i = 0; $i < count($ug_info); $i++)
{
$ug = ( $mode == 'user' ) ? 'group&amp;' . POST_GROUPS_URL : 'user&amp;' . POST_USERS_URL;
$t_usergroup_list .= ( ( $t_usergroup_list != '' ) ? ', ' : '' ) . '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$ug=" . $id[$i]) . '">' . $name[$i] . '</a>';
}
}
else
{
$t_usergroup_list = $lang['None'];
}
$s_column_span = 2; // Two columns always present
if( !$adv )
{
$template->assign_block_vars('acltype', array(
'L_UG_ACL_TYPE' => $lang['Simple_Permission'])
);
$s_column_span++;
}
else
{
for($i = 0; $i < count($forum_auth_fields); $i++)
{
$cell_title = $field_names[$forum_auth_fields[$i]];
$template->assign_block_vars('acltype', array(
'L_UG_ACL_TYPE' => $cell_title)
);
$s_column_span++;
}
}
//
// Dump in the page header ...
//
include('./page_header_admin.'.$phpEx);
$template->set_filenames(array(
"body" => 'admin/auth_ug_body.tpl')
);
$adv_switch = ( empty($adv) ) ? 1 : 0;
$u_ug_switch = ( $mode == 'user' ) ? POST_USERS_URL . "=" . $user_id : POST_GROUPS_URL . "=" . $group_id;
$switch_mode = append_sid("admin_ug_auth.$phpEx?mode=$mode&amp;" . $u_ug_switch . "&amp;adv=$adv_switch");
$switch_mode_text = ( empty($adv) ) ? $lang['Advanced_mode'] : $lang['Simple_mode'];
$u_switch_mode = '<a href="' . $switch_mode . '">' . $switch_mode_text . '</a>';
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="adv" value="' . $adv . '" />';
$s_hidden_fields .= ( $mode == 'user' ) ? '<input type="hidden" name="' . POST_USERS_URL . '" value="' . $user_id . '" />' : '<input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" />';
if ( $mode == 'user' )
{
$template->assign_block_vars('switch_user_auth', array());
$template->assign_vars(array(
'USERNAME' => $t_username,
'USER_LEVEL' => $lang['User_Level'] . " : " . $s_user_type,
'USER_GROUP_MEMBERSHIPS' => $lang['Group_memberships'] . ' : ' . $t_usergroup_list)
);
}
else
{
$template->assign_block_vars("switch_group_auth", array());
$template->assign_vars(array(
'USERNAME' => $t_groupname,
'GROUP_MEMBERSHIP' => $lang['Usergroup_members'] . ' : ' . $t_usergroup_list)
);
}
$template->assign_vars(array(
'L_USER_OR_GROUPNAME' => ( $mode == 'user' ) ? $lang['Username'] : $lang['Group_name'],
'L_AUTH_TITLE' => ( $mode == 'user' ) ? $lang['Auth_Control_User'] : $lang['Auth_Control_Group'],
'L_AUTH_EXPLAIN' => ( $mode == 'user' ) ? $lang['User_auth_explain'] : $lang['Group_auth_explain'],
'L_MODERATOR_STATUS' => $lang['Moderator_status'],
'L_PERMISSIONS' => $lang['Permissions'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'L_FORUM' => $lang['Forum'],
'U_USER_OR_GROUP' => append_sid("admin_ug_auth.$phpEx"),
'U_SWITCH_MODE' => $u_switch_mode,
'S_COLUMN_SPAN' => $s_column_span,
'S_AUTH_ACTION' => append_sid("admin_ug_auth.$phpEx"),
'S_HIDDEN_FIELDS' => $s_hidden_fields)
);
}
else
{
//
// Select a user/group
//
include('./page_header_admin.'.$phpEx);
$template->set_filenames(array(
'body' => ( $mode == 'user' ) ? 'admin/user_select_body.tpl' : 'admin/auth_select_body.tpl')
);
if ( $mode == 'user' )
{
$template->assign_vars(array(
'L_FIND_USERNAME' => $lang['Find_username'],
'U_SEARCH_USER' => append_sid("../search.$phpEx?mode=searchuser"))
);
}
else
{
$sql = "SELECT group_id, group_name
FROM " . GROUPS_TABLE . "
WHERE group_single_user <> " . TRUE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't get group list", "", __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$select_list = '<select name="' . POST_GROUPS_URL . '">';
do
{
$select_list .= '<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
}
while ( $row = $db->sql_fetchrow($result) );
$select_list .= '</select>';
}
$template->assign_vars(array(
'S_AUTH_SELECT' => $select_list)
);
}
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" />';
$l_type = ( $mode == 'user' ) ? 'USER' : 'AUTH';
$template->assign_vars(array(
'L_' . $l_type . '_TITLE' => ( $mode == 'user' ) ? $lang['Auth_Control_User'] : $lang['Auth_Control_Group'],
'L_' . $l_type . '_EXPLAIN' => ( $mode == 'user' ) ? $lang['User_auth_explain'] : $lang['Group_auth_explain'],
'L_' . $l_type . '_SELECT' => ( $mode == 'user' ) ? $lang['Select_a_User'] : $lang['Select_a_Group'],
'L_LOOK_UP' => ( $mode == 'user' ) ? $lang['Look_up_User'] : $lang['Look_up_Group'],
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_' . $l_type . '_ACTION' => append_sid("admin_ug_auth.$phpEx"))
);
}
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,452 +0,0 @@
<?php
/***************************************************************************
* admin_user_ban.php
* -------------------
* begin : Tuesday, Jul 31, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if ( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Ban_Management'] = $filename;
return;
}
//
// Load default header
//
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Start program
//
if ( isset($HTTP_POST_VARS['submit']) )
{
$user_bansql = '';
$email_bansql = '';
$ip_bansql = '';
$user_list = array();
if ( !empty($HTTP_POST_VARS['username']) )
{
$this_userdata = get_userdata($HTTP_POST_VARS['username'], true);
if( !$this_userdata )
{
message_die(GENERAL_MESSAGE, $lang['No_user_id_specified'] );
}
$user_list[] = $this_userdata['user_id'];
}
$ip_list = array();
if ( isset($HTTP_POST_VARS['ban_ip']) )
{
$ip_list_temp = explode(',', $HTTP_POST_VARS['ban_ip']);
for($i = 0; $i < count($ip_list_temp); $i++)
{
if ( preg_match('/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})[ ]*\-[ ]*([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/', trim($ip_list_temp[$i]), $ip_range_explode) )
{
//
// Don't ask about all this, just don't ask ... !
//
$ip_1_counter = $ip_range_explode[1];
$ip_1_end = $ip_range_explode[5];
while ( $ip_1_counter <= $ip_1_end )
{
$ip_2_counter = ( $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[2] : 0;
$ip_2_end = ( $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[6];
if ( $ip_2_counter == 0 && $ip_2_end == 254 )
{
$ip_2_counter = 255;
$ip_2_fragment = 255;
$ip_list[] = encode_ip("$ip_1_counter.255.255.255");
}
while ( $ip_2_counter <= $ip_2_end )
{
$ip_3_counter = ( $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[3] : 0;
$ip_3_end = ( $ip_2_counter < $ip_2_end || $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[7];
if ( $ip_3_counter == 0 && $ip_3_end == 254 )
{
$ip_3_counter = 255;
$ip_3_fragment = 255;
$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.255.255");
}
while ( $ip_3_counter <= $ip_3_end )
{
$ip_4_counter = ( $ip_3_counter == $ip_range_explode[3] && $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[4] : 0;
$ip_4_end = ( $ip_3_counter < $ip_3_end || $ip_2_counter < $ip_2_end ) ? 254 : $ip_range_explode[8];
if ( $ip_4_counter == 0 && $ip_4_end == 254 )
{
$ip_4_counter = 255;
$ip_4_fragment = 255;
$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.255");
}
while ( $ip_4_counter <= $ip_4_end )
{
$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.$ip_4_counter");
$ip_4_counter++;
}
$ip_3_counter++;
}
$ip_2_counter++;
}
$ip_1_counter++;
}
}
else if ( preg_match('/^([\w\-_]\.?){2,}$/is', trim($ip_list_temp[$i])) )
{
$ip = gethostbynamel(trim($ip_list_temp[$i]));
for($j = 0; $j < count($ip); $j++)
{
if ( !empty($ip[$j]) )
{
$ip_list[] = encode_ip($ip[$j]);
}
}
}
else if ( preg_match('/^([0-9]{1,3})\.([0-9\*]{1,3})\.([0-9\*]{1,3})\.([0-9\*]{1,3})$/', trim($ip_list_temp[$i])) )
{
$ip_list[] = encode_ip(str_replace('*', '255', trim($ip_list_temp[$i])));
}
}
}
$email_list = array();
if ( isset($HTTP_POST_VARS['ban_email']) )
{
$email_list_temp = explode(',', $HTTP_POST_VARS['ban_email']);
for($i = 0; $i < count($email_list_temp); $i++)
{
//
// This ereg match is based on one by php@unreelpro.com
// contained in the annotated php manual at php.com (ereg
// section)
//
if (preg_match('#^(([a-z0-9&.-_+])|(\*))+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$#is', trim($email_list_temp[$i])))
{
$email_list[] = trim($email_list_temp[$i]);
}
}
}
$sql = "SELECT *
FROM " . BANLIST_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain banlist information", "", __LINE__, __FILE__, $sql);
}
$current_banlist = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
$kill_session_sql = '';
for($i = 0; $i < count($user_list); $i++)
{
$in_banlist = false;
for($j = 0; $j < count($current_banlist); $j++)
{
if ( $user_list[$i] == $current_banlist[$j]['ban_userid'] )
{
$in_banlist = true;
}
}
if ( !$in_banlist )
{
$kill_session_sql .= ( ( $kill_session_sql != '' ) ? ' OR ' : '' ) . "session_user_id = " . $user_list[$i];
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_userid)
VALUES (" . $user_list[$i] . ")";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_userid info into database", "", __LINE__, __FILE__, $sql);
}
}
}
for($i = 0; $i < count($ip_list); $i++)
{
$in_banlist = false;
for($j = 0; $j < count($current_banlist); $j++)
{
if ( $ip_list[$i] == $current_banlist[$j]['ban_ip'] )
{
$in_banlist = true;
}
}
if ( !$in_banlist )
{
if ( preg_match('/(ff\.)|(\.ff)/is', chunk_split($ip_list[$i], 2, '.')) )
{
$kill_ip_sql = "session_ip LIKE '" . str_replace('.', '', preg_replace('/(ff\.)|(\.ff)/is', '%', chunk_split($ip_list[$i], 2, "."))) . "'";
}
else
{
$kill_ip_sql = "session_ip = '" . $ip_list[$i] . "'";
}
$kill_session_sql .= ( ( $kill_session_sql != '' ) ? ' OR ' : '' ) . $kill_ip_sql;
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_ip)
VALUES ('" . $ip_list[$i] . "')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_ip info into database", "", __LINE__, __FILE__, $sql);
}
}
}
//
// Now we'll delete all entries from the session table with any of the banned
// user or IP info just entered into the ban table ... this will force a session
// initialisation resulting in an instant ban
//
if ( $kill_session_sql != '' )
{
$sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE $kill_session_sql";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete banned sessions from database", "", __LINE__, __FILE__, $sql);
}
}
for($i = 0; $i < count($email_list); $i++)
{
$in_banlist = false;
for($j = 0; $j < count($current_banlist); $j++)
{
if ( $email_list[$i] == $current_banlist[$j]['ban_email'] )
{
$in_banlist = true;
}
}
if ( !$in_banlist )
{
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_email)
VALUES ('" . str_replace("\'", "''", $email_list[$i]) . "')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_email info into database", "", __LINE__, __FILE__, $sql);
}
}
}
$where_sql = '';
if ( isset($HTTP_POST_VARS['unban_user']) )
{
$user_list = $HTTP_POST_VARS['unban_user'];
for($i = 0; $i < count($user_list); $i++)
{
if ( $user_list[$i] != -1 )
{
$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . intval($user_list[$i]);
}
}
}
if ( isset($HTTP_POST_VARS['unban_ip']) )
{
$ip_list = $HTTP_POST_VARS['unban_ip'];
for($i = 0; $i < count($ip_list); $i++)
{
if ( $ip_list[$i] != -1 )
{
$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . str_replace("\'", "''", $ip_list[$i]);
}
}
}
if ( isset($HTTP_POST_VARS['unban_email']) )
{
$email_list = $HTTP_POST_VARS['unban_email'];
for($i = 0; $i < count($email_list); $i++)
{
if ( $email_list[$i] != -1 )
{
$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . str_replace("\'", "''", $email_list[$i]);
}
}
}
if ( $where_sql != '' )
{
$sql = "DELETE FROM " . BANLIST_TABLE . "
WHERE ban_id IN ($where_sql)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete ban info from database", "", __LINE__, __FILE__, $sql);
}
}
$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf($lang['Click_return_banadmin'], '<a href="' . append_sid("admin_user_ban.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else
{
$template->set_filenames(array(
'body' => 'admin/user_ban_body.tpl')
);
$template->assign_vars(array(
'L_BAN_TITLE' => $lang['Ban_control'],
'L_BAN_EXPLAIN' => $lang['Ban_explain'],
'L_BAN_EXPLAIN_WARN' => $lang['Ban_explain_warn'],
'L_IP_OR_HOSTNAME' => $lang['IP_hostname'],
'L_EMAIL_ADDRESS' => $lang['Email_address'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'S_BANLIST_ACTION' => append_sid("admin_user_ban.$phpEx"))
);
$template->assign_vars(array(
'L_BAN_USER' => $lang['Ban_username'],
'L_BAN_USER_EXPLAIN' => $lang['Ban_username_explain'],
'L_BAN_IP' => $lang['Ban_IP'],
'L_BAN_IP_EXPLAIN' => $lang['Ban_IP_explain'],
'L_BAN_EMAIL' => $lang['Ban_email'],
'L_BAN_EMAIL_EXPLAIN' => $lang['Ban_email_explain'])
);
$userban_count = 0;
$ipban_count = 0;
$emailban_count = 0;
$sql = "SELECT b.ban_id, u.user_id, u.username
FROM " . BANLIST_TABLE . " b, " . USERS_TABLE . " u
WHERE u.user_id = b.ban_userid
AND b.ban_userid <> 0
AND u.user_id <> " . ANONYMOUS . "
ORDER BY u.user_id ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select current user_id ban list', '', __LINE__, __FILE__, $sql);
}
$user_list = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
$select_userlist = '';
for($i = 0; $i < count($user_list); $i++)
{
$select_userlist .= '<option value="' . $user_list[$i]['ban_id'] . '">' . $user_list[$i]['username'] . '</option>';
$userban_count++;
}
if( $select_userlist == '' )
{
$select_userlist = '<option value="-1">' . $lang['No_banned_users'] . '</option>';
}
$select_userlist = '<select name="unban_user[]" multiple="multiple" size="5">' . $select_userlist . '</select>';
$sql = "SELECT ban_id, ban_ip, ban_email
FROM " . BANLIST_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select current ip ban list', '', __LINE__, __FILE__, $sql);
}
$banlist = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
$select_iplist = '';
$select_emaillist = '';
for($i = 0; $i < count($banlist); $i++)
{
$ban_id = $banlist[$i]['ban_id'];
if ( !empty($banlist[$i]['ban_ip']) )
{
$ban_ip = str_replace('255', '*', decode_ip($banlist[$i]['ban_ip']));
$select_iplist .= '<option value="' . $ban_id . '">' . $ban_ip . '</option>';
$ipban_count++;
}
else if ( !empty($banlist[$i]['ban_email']) )
{
$ban_email = $banlist[$i]['ban_email'];
$select_emaillist .= '<option value="' . $ban_id . '">' . $ban_email . '</option>';
$emailban_count++;
}
}
if ( $select_iplist == '' )
{
$select_iplist = '<option value="-1">' . $lang['No_banned_ip'] . '</option>';
}
if ( $select_emaillist == '' )
{
$select_emaillist = '<option value="-1">' . $lang['No_banned_email'] . '</option>';
}
$select_iplist = '<select name="unban_ip[]" multiple="multiple" size="5">' . $select_iplist . '</select>';
$select_emaillist = '<select name="unban_email[]" multiple="multiple" size="5">' . $select_emaillist . '</select>';
$template->assign_vars(array(
'L_UNBAN_USER' => $lang['Unban_username'],
'L_UNBAN_USER_EXPLAIN' => $lang['Unban_username_explain'],
'L_UNBAN_IP' => $lang['Unban_IP'],
'L_UNBAN_IP_EXPLAIN' => $lang['Unban_IP_explain'],
'L_UNBAN_EMAIL' => $lang['Unban_email'],
'L_UNBAN_EMAIL_EXPLAIN' => $lang['Unban_email_explain'],
'L_USERNAME' => $lang['Username'],
'L_LOOK_UP' => $lang['Look_up_User'],
'L_FIND_USERNAME' => $lang['Find_username'],
'U_SEARCH_USER' => append_sid("./../search.$phpEx?mode=searchuser"),
'S_UNBAN_USERLIST_SELECT' => $select_userlist,
'S_UNBAN_IPLIST_SELECT' => $select_iplist,
'S_UNBAN_EMAILLIST_SELECT' => $select_emaillist,
'S_BAN_ACTION' => append_sid("admin_user_ban.$phpEx"))
);
}
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>

File diff suppressed because it is too large Load Diff

View File

@@ -1,237 +0,0 @@
<?php
/***************************************************************************
* admin_words.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['General']['Word_Censor'] = "$file";
return;
}
//
// Load default header
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
$mode = htmlspecialchars($mode);
}
else
{
//
// These could be entered via a form button
//
if( isset($HTTP_POST_VARS['add']) )
{
$mode = "add";
}
else if( isset($HTTP_POST_VARS['save']) )
{
$mode = "save";
}
else
{
$mode = "";
}
}
if( $mode != "" )
{
if( $mode == "edit" || $mode == "add" )
{
$word_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;
$template->set_filenames(array(
"body" => "admin/words_edit_body.tpl")
);
$s_hidden_fields = '';
if( $mode == "edit" )
{
if( $word_id )
{
$sql = "SELECT *
FROM " . WORDS_TABLE . "
WHERE word_id = $word_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query words table", "Error", __LINE__, __FILE__, $sql);
}
$word_info = $db->sql_fetchrow($result);
$s_hidden_fields .= '<input type="hidden" name="id" value="' . $word_id . '" />';
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_word_selected']);
}
}
$template->assign_vars(array(
"WORD" => $word_info['word'],
"REPLACEMENT" => $word_info['replacement'],
"L_WORDS_TITLE" => $lang['Words_title'],
"L_WORDS_TEXT" => $lang['Words_explain'],
"L_WORD_CENSOR" => $lang['Edit_word_censor'],
"L_WORD" => $lang['Word'],
"L_REPLACEMENT" => $lang['Replacement'],
"L_SUBMIT" => $lang['Submit'],
"S_WORDS_ACTION" => append_sid("admin_words.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields)
);
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
}
else if( $mode == "save" )
{
$word_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;
$word = ( isset($HTTP_POST_VARS['word']) ) ? trim($HTTP_POST_VARS['word']) : "";
$replacement = ( isset($HTTP_POST_VARS['replacement']) ) ? trim($HTTP_POST_VARS['replacement']) : "";
if($word == "" || $replacement == "")
{
message_die(GENERAL_MESSAGE, $lang['Must_enter_word']);
}
if( $word_id )
{
$sql = "UPDATE " . WORDS_TABLE . "
SET word = '" . str_replace("\'", "''", $word) . "', replacement = '" . str_replace("\'", "''", $replacement) . "'
WHERE word_id = $word_id";
$message = $lang['Word_updated'];
}
else
{
$sql = "INSERT INTO " . WORDS_TABLE . " (word, replacement)
VALUES ('" . str_replace("\'", "''", $word) . "', '" . str_replace("\'", "''", $replacement) . "')";
$message = $lang['Word_added'];
}
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not insert data into words table", $lang['Error'], __LINE__, __FILE__, $sql);
}
$message .= "<br /><br />" . sprintf($lang['Click_return_wordadmin'], "<a href=\"" . append_sid("admin_words.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( $mode == "delete" )
{
if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )
{
$word_id = ( isset($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
$word_id = intval($word_id);
}
else
{
$word_id = 0;
}
if( $word_id )
{
$sql = "DELETE FROM " . WORDS_TABLE . "
WHERE word_id = $word_id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not remove data from words table", $lang['Error'], __LINE__, __FILE__, $sql);
}
$message = $lang['Word_removed'] . "<br /><br />" . sprintf($lang['Click_return_wordadmin'], "<a href=\"" . append_sid("admin_words.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_word_selected']);
}
}
}
else
{
$template->set_filenames(array(
"body" => "admin/words_list_body.tpl")
);
$sql = "SELECT *
FROM " . WORDS_TABLE . "
ORDER BY word";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not query words table", $lang['Error'], __LINE__, __FILE__, $sql);
}
$word_rows = $db->sql_fetchrowset($result);
$word_count = count($word_rows);
$template->assign_vars(array(
"L_WORDS_TITLE" => $lang['Words_title'],
"L_WORDS_TEXT" => $lang['Words_explain'],
"L_WORD" => $lang['Word'],
"L_REPLACEMENT" => $lang['Replacement'],
"L_EDIT" => $lang['Edit'],
"L_DELETE" => $lang['Delete'],
"L_ADD_WORD" => $lang['Add_new_word'],
"L_ACTION" => $lang['Action'],
"S_WORDS_ACTION" => append_sid("admin_words.$phpEx"),
"S_HIDDEN_FIELDS" => '')
);
for($i = 0; $i < $word_count; $i++)
{
$word = $word_rows[$i]['word'];
$replacement = $word_rows[$i]['replacement'];
$word_id = $word_rows[$i]['word_id'];
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars("words", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"WORD" => $word,
"REPLACEMENT" => $replacement,
"U_WORD_EDIT" => append_sid("admin_words.$phpEx?mode=edit&amp;id=$word_id"),
"U_WORD_DELETE" => append_sid("admin_words.$phpEx?mode=delete&amp;id=$word_id"))
);
}
}
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>

View File

@@ -1,592 +0,0 @@
<?php
/***************************************************************************
* (admin) index.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
// ---------------
// Begin functions
//
function inarray($needle, $haystack)
{
for($i = 0; $i < sizeof($haystack); $i++ )
{
if( $haystack[$i] == $needle )
{
return true;
}
}
return false;
}
//
// End functions
// -------------
//
// Generate relevant output
//
if( isset($HTTP_GET_VARS['pane']) && $HTTP_GET_VARS['pane'] == 'left' )
{
$dir = @opendir(".");
$setmodules = 1;
while( $file = @readdir($dir) )
{
if( preg_match("/^admin_.*?\." . $phpEx . "$/", $file) )
{
include($file);
}
}
@closedir($dir);
unset($setmodules);
include('./page_header_admin.'.$phpEx);
$template->set_filenames(array(
"body" => "admin/index_navigate.tpl")
);
$template->assign_vars(array(
"U_FORUM_INDEX" => append_sid("../index.$phpEx"),
"U_ADMIN_INDEX" => append_sid("index.$phpEx?pane=right"),
"L_FORUM_INDEX" => $lang['Main_index'],
"L_ADMIN_INDEX" => $lang['Admin_Index'],
"L_PREVIEW_FORUM" => $lang['Preview_forum'])
);
ksort($module);
while( list($cat, $action_array) = each($module) )
{
$cat = ( !empty($lang[$cat]) ) ? $lang[$cat] : preg_replace("/_/", " ", $cat);
$template->assign_block_vars("catrow", array(
"ADMIN_CATEGORY" => $cat)
);
ksort($action_array);
$row_count = 0;
while( list($action, $file) = each($action_array) )
{
$row_color = ( !($row_count%2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($row_count%2) ) ? $theme['td_class1'] : $theme['td_class2'];
$action = ( !empty($lang[$action]) ) ? $lang[$action] : preg_replace("/_/", " ", $action);
$template->assign_block_vars("catrow.modulerow", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"ADMIN_MODULE" => $action,
"U_ADMIN_MODULE" => append_sid($file))
);
$row_count++;
}
}
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
}
elseif( isset($HTTP_GET_VARS['pane']) && $HTTP_GET_VARS['pane'] == 'right' )
{
include('./page_header_admin.'.$phpEx);
$template->set_filenames(array(
"body" => "admin/index_body.tpl")
);
$template->assign_vars(array(
"L_WELCOME" => $lang['Welcome_phpBB'],
"L_ADMIN_INTRO" => $lang['Admin_intro'],
"L_FORUM_STATS" => $lang['Forum_stats'],
"L_WHO_IS_ONLINE" => $lang['Who_is_Online'],
"L_USERNAME" => $lang['Username'],
"L_LOCATION" => $lang['Location'],
"L_LAST_UPDATE" => $lang['Last_updated'],
"L_IP_ADDRESS" => $lang['IP_Address'],
"L_STATISTIC" => $lang['Statistic'],
"L_VALUE" => $lang['Value'],
"L_NUMBER_POSTS" => $lang['Number_posts'],
"L_POSTS_PER_DAY" => $lang['Posts_per_day'],
"L_NUMBER_TOPICS" => $lang['Number_topics'],
"L_TOPICS_PER_DAY" => $lang['Topics_per_day'],
"L_NUMBER_USERS" => $lang['Number_users'],
"L_USERS_PER_DAY" => $lang['Users_per_day'],
"L_BOARD_STARTED" => $lang['Board_started'],
"L_AVATAR_DIR_SIZE" => $lang['Avatar_dir_size'],
"L_DB_SIZE" => $lang['Database_size'],
"L_FORUM_LOCATION" => $lang['Forum_Location'],
"L_STARTED" => $lang['Login'],
"L_GZIP_COMPRESSION" => $lang['Gzip_compression'])
);
//
// Get forum statistics
//
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$total_topics = get_db_stat('topiccount');
$start_date = create_date($board_config['default_dateformat'], $board_config['board_startdate'], $board_config['board_timezone']);
$boarddays = ( time() - $board_config['board_startdate'] ) / 86400;
$posts_per_day = sprintf("%.2f", $total_posts / $boarddays);
$topics_per_day = sprintf("%.2f", $total_topics / $boarddays);
$users_per_day = sprintf("%.2f", $total_users / $boarddays);
$avatar_dir_size = 0;
if ($avatar_dir = @opendir($phpbb_root_path . $board_config['avatar_path']))
{
while( $file = @readdir($avatar_dir) )
{
if( $file != "." && $file != ".." )
{
$avatar_dir_size += @filesize($phpbb_root_path . $board_config['avatar_path'] . "/" . $file);
}
}
@closedir($avatar_dir);
//
// This bit of code translates the avatar directory size into human readable format
// Borrowed the code from the PHP.net annoted manual, origanally written by:
// Jesse (jesse@jess.on.ca)
//
if($avatar_dir_size >= 1048576)
{
$avatar_dir_size = round($avatar_dir_size / 1048576 * 100) / 100 . " MB";
}
else if($avatar_dir_size >= 1024)
{
$avatar_dir_size = round($avatar_dir_size / 1024 * 100) / 100 . " KB";
}
else
{
$avatar_dir_size = $avatar_dir_size . " Bytes";
}
}
else
{
// Couldn't open Avatar dir.
$avatar_dir_size = $lang['Not_available'];
}
if($posts_per_day > $total_posts)
{
$posts_per_day = $total_posts;
}
if($topics_per_day > $total_topics)
{
$topics_per_day = $total_topics;
}
if($users_per_day > $total_users)
{
$users_per_day = $total_users;
}
//
// DB size ... MySQL only
//
// This code is heavily influenced by a similar routine
// in phpMyAdmin 2.2.0
//
if( preg_match("/^mysql/", SQL_LAYER) )
{
$sql = "SELECT VERSION() AS mysql_version";
if($result = $db->sql_query($sql))
{
$row = $db->sql_fetchrow($result);
$version = $row['mysql_version'];
if( preg_match("/^(3\.23|4\.)/", $version) )
{
$db_name = ( preg_match("/^(3\.23\.[6-9])|(3\.23\.[1-9][1-9])|(4\.)/", $version) ) ? "`$dbname`" : $dbname;
$sql = "SHOW TABLE STATUS
FROM " . $db_name;
if($result = $db->sql_query($sql))
{
$tabledata_ary = $db->sql_fetchrowset($result);
$dbsize = 0;
for($i = 0; $i < count($tabledata_ary); $i++)
{
if( $tabledata_ary[$i]['Type'] != "MRG_MyISAM" )
{
if( $table_prefix != "" )
{
if( strstr($tabledata_ary[$i]['Name'], $table_prefix) )
{
$dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length'];
}
}
else
{
$dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length'];
}
}
}
} // Else we couldn't get the table status.
}
else
{
$dbsize = $lang['Not_available'];
}
}
else
{
$dbsize = $lang['Not_available'];
}
}
else if( preg_match("/^mssql/", SQL_LAYER) )
{
$sql = "SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize
FROM sysfiles";
if( $result = $db->sql_query($sql) )
{
$dbsize = ( $row = $db->sql_fetchrow($result) ) ? intval($row['dbsize']) : $lang['Not_available'];
}
else
{
$dbsize = $lang['Not_available'];
}
}
else
{
$dbsize = $lang['Not_available'];
}
if ( is_integer($dbsize) )
{
if( $dbsize >= 1048576 )
{
$dbsize = sprintf("%.2f MB", ( $dbsize / 1048576 ));
}
else if( $dbsize >= 1024 )
{
$dbsize = sprintf("%.2f KB", ( $dbsize / 1024 ));
}
else
{
$dbsize = sprintf("%.2f Bytes", $dbsize);
}
}
$template->assign_vars(array(
"NUMBER_OF_POSTS" => $total_posts,
"NUMBER_OF_TOPICS" => $total_topics,
"NUMBER_OF_USERS" => $total_users,
"START_DATE" => $start_date,
"POSTS_PER_DAY" => $posts_per_day,
"TOPICS_PER_DAY" => $topics_per_day,
"USERS_PER_DAY" => $users_per_day,
"AVATAR_DIR_SIZE" => $avatar_dir_size,
"DB_SIZE" => $dbsize,
"GZIP_COMPRESSION" => ( $board_config['gzip_compress'] ) ? $lang['ON'] : $lang['OFF'])
);
//
// End forum statistics
//
//
// Get users online information.
//
$sql = "SELECT u.user_id, u.username, u.user_session_time, u.user_session_page, s.session_logged_in, s.session_ip, s.session_start
FROM " . USERS_TABLE . " u, " . SESSIONS_TABLE . " s
WHERE s.session_logged_in = " . TRUE . "
AND u.user_id = s.session_user_id
AND u.user_id <> " . ANONYMOUS . "
AND s.session_time >= " . ( time() - 300 ) . "
ORDER BY u.user_session_time DESC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain regd user/online information.", "", __LINE__, __FILE__, $sql);
}
$onlinerow_reg = $db->sql_fetchrowset($result);
$sql = "SELECT session_page, session_logged_in, session_time, session_ip, session_start
FROM " . SESSIONS_TABLE . "
WHERE session_logged_in = 0
AND session_time >= " . ( time() - 300 ) . "
ORDER BY session_time DESC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain guest user/online information.", "", __LINE__, __FILE__, $sql);
}
$onlinerow_guest = $db->sql_fetchrowset($result);
$sql = "SELECT forum_name, forum_id
FROM " . FORUMS_TABLE;
if($forums_result = $db->sql_query($sql))
{
while($forumsrow = $db->sql_fetchrow($forums_result))
{
$forum_data[$forumsrow['forum_id']] = $forumsrow['forum_name'];
}
}
else
{
message_die(GENERAL_ERROR, "Couldn't obtain user/online forums information.", "", __LINE__, __FILE__, $sql);
}
$reg_userid_ary = array();
if( count($onlinerow_reg) )
{
$registered_users = 0;
for($i = 0; $i < count($onlinerow_reg); $i++)
{
if( !inarray($onlinerow_reg[$i]['user_id'], $reg_userid_ary) )
{
$reg_userid_ary[] = $onlinerow_reg[$i]['user_id'];
$username = $onlinerow_reg[$i]['username'];
if( $onlinerow_reg[$i]['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$registered_users++;
$hidden = FALSE;
}
else
{
$hidden_users++;
$hidden = TRUE;
}
if( $onlinerow_reg[$i]['user_session_page'] < 1 )
{
switch($onlinerow_reg[$i]['user_session_page'])
{
case PAGE_INDEX:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_POSTING:
$location = $lang['Posting_message'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_LOGIN:
$location = $lang['Logging_on'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_SEARCH:
$location = $lang['Searching_forums'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_PROFILE:
$location = $lang['Viewing_profile'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_VIEWONLINE:
$location = $lang['Viewing_online'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_VIEWMEMBERS:
$location = $lang['Viewing_member_list'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_PRIVMSGS:
$location = $lang['Viewing_priv_msgs'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "index.$phpEx?pane=right";
break;
default:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx?pane=right";
}
}
else
{
$location_url = append_sid("admin_forums.$phpEx?mode=editforum&amp;" . POST_FORUM_URL . "=" . $onlinerow_reg[$i]['user_session_page']);
$location = $forum_data[$onlinerow_reg[$i]['user_session_page']];
}
$row_color = ( $registered_users % 2 ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( $registered_users % 2 ) ? $theme['td_class1'] : $theme['td_class2'];
$reg_ip = decode_ip($onlinerow_reg[$i]['session_ip']);
$template->assign_block_vars("reg_user_row", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"USERNAME" => $username,
"STARTED" => create_date($board_config['default_dateformat'], $onlinerow_reg[$i]['session_start'], $board_config['board_timezone']),
"LASTUPDATE" => create_date($board_config['default_dateformat'], $onlinerow_reg[$i]['user_session_time'], $board_config['board_timezone']),
"FORUM_LOCATION" => $location,
"IP_ADDRESS" => $reg_ip,
"U_WHOIS_IP" => "http://network-tools.com/default.asp?host=$reg_ip",
"U_USER_PROFILE" => append_sid("admin_users.$phpEx?mode=edit&amp;" . POST_USERS_URL . "=" . $onlinerow_reg[$i]['user_id']),
"U_FORUM_LOCATION" => append_sid($location_url))
);
}
}
}
else
{
$template->assign_vars(array(
"L_NO_REGISTERED_USERS_BROWSING" => $lang['No_users_browsing'])
);
}
//
// Guest users
//
if( count($onlinerow_guest) )
{
$guest_users = 0;
for($i = 0; $i < count($onlinerow_guest); $i++)
{
$guest_userip_ary[] = $onlinerow_guest[$i]['session_ip'];
$guest_users++;
if( $onlinerow_guest[$i]['session_page'] < 1 )
{
switch( $onlinerow_guest[$i]['session_page'] )
{
case PAGE_INDEX:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_POSTING:
$location = $lang['Posting_message'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_LOGIN:
$location = $lang['Logging_on'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_SEARCH:
$location = $lang['Searching_forums'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_PROFILE:
$location = $lang['Viewing_profile'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_VIEWONLINE:
$location = $lang['Viewing_online'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_VIEWMEMBERS:
$location = $lang['Viewing_member_list'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_PRIVMSGS:
$location = $lang['Viewing_priv_msgs'];
$location_url = "index.$phpEx?pane=right";
break;
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "index.$phpEx?pane=right";
break;
default:
$location = $lang['Forum_index'];
$location_url = "index.$phpEx?pane=right";
}
}
else
{
$location_url = append_sid("admin_forums.$phpEx?mode=editforum&amp;" . POST_FORUM_URL . "=" . $onlinerow_guest[$i]['session_page']);
$location = $forum_data[$onlinerow_guest[$i]['session_page']];
}
$row_color = ( $guest_users % 2 ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( $guest_users % 2 ) ? $theme['td_class1'] : $theme['td_class2'];
$guest_ip = decode_ip($onlinerow_guest[$i]['session_ip']);
$template->assign_block_vars("guest_user_row", array(
"ROW_COLOR" => "#" . $row_color,
"ROW_CLASS" => $row_class,
"USERNAME" => $lang['Guest'],
"STARTED" => create_date($board_config['default_dateformat'], $onlinerow_guest[$i]['session_start'], $board_config['board_timezone']),
"LASTUPDATE" => create_date($board_config['default_dateformat'], $onlinerow_guest[$i]['session_time'], $board_config['board_timezone']),
"FORUM_LOCATION" => $location,
"IP_ADDRESS" => $guest_ip,
"U_WHOIS_IP" => "http://network-tools.com/default.asp?host=$guest_ip",
"U_FORUM_LOCATION" => append_sid($location_url))
);
}
}
else
{
$template->assign_vars(array(
"L_NO_GUESTS_BROWSING" => $lang['No_users_browsing'])
);
}
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
}
else
{
//
// Generate frameset
//
$template->set_filenames(array(
"body" => "admin/index_frameset.tpl")
);
$template->assign_vars(array(
"S_FRAME_NAV" => append_sid("index.$phpEx?pane=left"),
"S_FRAME_MAIN" => append_sid("index.$phpEx?pane=right"))
);
header ("Expires: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$template->pparse("body");
$db->sql_close();
exit;
}
?>

View File

@@ -1,73 +0,0 @@
<?php
/***************************************************************************
* page_footer_admin.php
* -------------------
* begin : Saturday, Jul 14, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
//
// Show the overall footer.
//
$template->set_filenames(array(
'page_footer' => 'admin/page_footer.tpl')
);
$template->assign_vars(array(
'PHPBB_VERSION' => '2' . $board_config['version'],
'TRANSLATION_INFO' => $lang['TRANSLATION_INFO'])
);
$template->pparse('page_footer');
//
// Close our DB connection.
//
$db->sql_close();
//
// Compress buffered output if required
// and send to browser
//
if( $do_gzip_compress )
{
//
// Borrowed from php.net!
//
$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V', $gzip_crc);
echo pack('V', $gzip_size);
}
exit;
?>

View File

@@ -1,138 +0,0 @@
<?php
/***************************************************************************
* page_header_admin.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
define('HEADER_INC', true);
//
// gzip_compression
//
$do_gzip_compress = FALSE;
if ( $board_config['gzip_compress'] )
{
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) )
{
if ( extension_loaded('zlib') )
{
ob_start('ob_gzhandler');
}
}
else if ( $phpver > '4.0' )
{
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') )
{
if ( extension_loaded('zlib') )
{
$do_gzip_compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
}
$template->set_filenames(array(
'header' => 'admin/page_header.tpl')
);
// Format Timezone. We are unable to use array_pop here, because of PHP3 compatibility
$l_timezone = explode('.', $board_config['board_timezone']);
$l_timezone = (count($l_timezone) > 1 && $l_timezone[count($l_timezone)-1] != 0) ? $lang[sprintf('%.1f', $board_config['board_timezone'])] : $lang[number_format($board_config['board_timezone'])];
//
// The following assigns all _common_ variables that may be used at any point
// in a template. Note that all URL's should be wrapped in append_sid, as
// should all S_x_ACTIONS for forms.
//
$template->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'PAGE_TITLE' => $page_title,
'L_ADMIN' => $lang['Admin'],
'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),
'L_FAQ' => $lang['FAQ'],
'U_INDEX' => append_sid('../index.'.$phpEx),
'S_TIMEZONE' => sprintf($lang['All_times'], $l_timezone),
'S_LOGIN_ACTION' => append_sid('../login.'.$phpEx),
'S_JUMPBOX_ACTION' => append_sid('../viewforum.'.$phpEx),
'S_CURRENT_TIME' => sprintf($lang['Current_time'], create_date($board_config['default_dateformat'], time(), $board_config['board_timezone'])),
'S_CONTENT_DIRECTION' => $lang['DIRECTION'],
'S_CONTENT_ENCODING' => $lang['ENCODING'],
'S_CONTENT_DIR_LEFT' => $lang['LEFT'],
'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'],
'T_HEAD_STYLESHEET' => $theme['head_stylesheet'],
'T_BODY_BACKGROUND' => $theme['body_background'],
'T_BODY_BGCOLOR' => '#'.$theme['body_bgcolor'],
'T_BODY_TEXT' => '#'.$theme['body_text'],
'T_BODY_LINK' => '#'.$theme['body_link'],
'T_BODY_VLINK' => '#'.$theme['body_vlink'],
'T_BODY_ALINK' => '#'.$theme['body_alink'],
'T_BODY_HLINK' => '#'.$theme['body_hlink'],
'T_TR_COLOR1' => '#'.$theme['tr_color1'],
'T_TR_COLOR2' => '#'.$theme['tr_color2'],
'T_TR_COLOR3' => '#'.$theme['tr_color3'],
'T_TR_CLASS1' => $theme['tr_class1'],
'T_TR_CLASS2' => $theme['tr_class2'],
'T_TR_CLASS3' => $theme['tr_class3'],
'T_TH_COLOR1' => '#'.$theme['th_color1'],
'T_TH_COLOR2' => '#'.$theme['th_color2'],
'T_TH_COLOR3' => '#'.$theme['th_color3'],
'T_TH_CLASS1' => $theme['th_class1'],
'T_TH_CLASS2' => $theme['th_class2'],
'T_TH_CLASS3' => $theme['th_class3'],
'T_TD_COLOR1' => '#'.$theme['td_color1'],
'T_TD_COLOR2' => '#'.$theme['td_color2'],
'T_TD_COLOR3' => '#'.$theme['td_color3'],
'T_TD_CLASS1' => $theme['td_class1'],
'T_TD_CLASS2' => $theme['td_class2'],
'T_TD_CLASS3' => $theme['td_class3'],
'T_FONTFACE1' => $theme['fontface1'],
'T_FONTFACE2' => $theme['fontface2'],
'T_FONTFACE3' => $theme['fontface3'],
'T_FONTSIZE1' => $theme['fontsize1'],
'T_FONTSIZE2' => $theme['fontsize2'],
'T_FONTSIZE3' => $theme['fontsize3'],
'T_FONTCOLOR1' => '#'.$theme['fontcolor1'],
'T_FONTCOLOR2' => '#'.$theme['fontcolor2'],
'T_FONTCOLOR3' => '#'.$theme['fontcolor3'],
'T_SPAN_CLASS1' => $theme['span_class1'],
'T_SPAN_CLASS2' => $theme['span_class2'],
'T_SPAN_CLASS3' => $theme['span_class3'])
);
$template->pparse('header');
?>

View File

@@ -1,69 +0,0 @@
<?php
/***************************************************************************
* pagestart.php
* -------------------
* begin : Thursday, Aug 2, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if (!defined('IN_PHPBB'))
{
die("Hacking attempt");
}
define('IN_ADMIN', true);
// Include files
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if (!$userdata['session_logged_in'])
{
redirect(append_sid("login.$phpEx?redirect=admin/", true));
}
else if ($userdata['user_level'] != ADMIN)
{
message_die(GENERAL_MESSAGE, $lang['Not_admin']);
}
if ($HTTP_GET_VARS['sid'] != $userdata['session_id'])
{
$url = str_replace(preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])), '', $HTTP_SERVER_VARS['REQUEST_URI']);
$url = str_replace(preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path'])), '', $url);
$url = str_replace('//', '/', $url);
$url = preg_replace('/sid=([^&]*)(&?)/i', '', $url);
$url = preg_replace('/\?$/', '', $url);
$url .= ((strpos($url, '?')) ? '&' : '?') . 'sid=' . $userdata['session_id'];
redirect("index.$phpEx?sid=" . $userdata['session_id']);
}
if (empty($no_page_header))
{
// Not including the pageheader can be neccesarry if META tags are
// needed in the calling script.
include('./page_header_admin.'.$phpEx);
}
?>

4
phpBB/cache/.htaccess vendored Normal file
View File

@@ -0,0 +1,4 @@
<Limit GET POST PUT>
Order Allow,Deny
Deny from All
</Limit>

View File

@@ -1,235 +1,108 @@
<?php
/***************************************************************************
* common.php
* -------------------
* begin : Saturday, Feb 23, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
// Remove the following line to enable this software, be sure you note what it
// says before continuing
die('This software is unsupported in any and all respects. By removing this notice (found in common.php) you are noting your acceptance of this. Do not ask support questions of any kind for this release at either area51.phpbb.com or www.phpbb.com. Support for this version will appear when the beta cycle begins');
if ( !defined('IN_PHPBB') )
/**
*/
if (!defined('IN_PHPBB'))
{
die("Hacking attempt");
}
//
error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
// The following code (unsetting globals) was contributed by Matt Kavanagh
// PHP5 with register_long_arrays off?
if (!isset($HTTP_POST_VARS) && isset($_POST))
{
$HTTP_POST_VARS = $_POST;
$HTTP_GET_VARS = $_GET;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_COOKIE_VARS = $_COOKIE;
$HTTP_ENV_VARS = $_ENV;
$HTTP_POST_FILES = $_FILES;
// _SESSION is the only superglobal which is conditionally set
if (isset($_SESSION))
{
$HTTP_SESSION_VARS = $_SESSION;
}
}
if (@phpversion() < '4.0.0')
{
// PHP3 path; in PHP3, globals are _always_ registered
// We 'flip' the array of variables to test like this so that
// we can validate later with isset($test[$var]) (no in_array())
$test = array('HTTP_GET_VARS' => NULL, 'HTTP_POST_VARS' => NULL, 'HTTP_COOKIE_VARS' => NULL, 'HTTP_SERVER_VARS' => NULL, 'HTTP_ENV_VARS' => NULL, 'HTTP_POST_FILES' => NULL);
// Loop through each input array
@reset($test);
while (list($input,) = @each($test))
{
while (list($var,) = @each($$input))
{
// Validate the variable to be unset
if (!isset($test[$var]) && $var != 'test' && $var != 'input')
{
unset($$var);
}
}
}
}
else if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
// PHP4+ path
// Not only will array_merge give a warning if a parameter
// is not an array, it will actually fail. So we check if
// HTTP_SESSION_VARS has been initialised.
if (!isset($HTTP_SESSION_VARS))
{
$HTTP_SESSION_VARS = array();
}
// Merge all into one extremely huge array; unset
// this later
$input = array_merge($HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_SESSION_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES);
unset($input['input']);
while (list($var,) = @each($input))
{
unset($$var);
}
unset($input);
}
//
// addslashes to vars if magic_quotes_gpc is off
// this is a security precaution to prevent someone
// trying to break out of a SQL statement.
//
if( !get_magic_quotes_gpc() )
{
if( is_array($HTTP_GET_VARS) )
{
while( list($k, $v) = each($HTTP_GET_VARS) )
{
if( is_array($HTTP_GET_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
{
$HTTP_GET_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_GET_VARS[$k]);
}
else
{
$HTTP_GET_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_GET_VARS);
}
if( is_array($HTTP_POST_VARS) )
{
while( list($k, $v) = each($HTTP_POST_VARS) )
{
if( is_array($HTTP_POST_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
{
$HTTP_POST_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_POST_VARS[$k]);
}
else
{
$HTTP_POST_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_POST_VARS);
}
if( is_array($HTTP_COOKIE_VARS) )
{
while( list($k, $v) = each($HTTP_COOKIE_VARS) )
{
if( is_array($HTTP_COOKIE_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
{
$HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_COOKIE_VARS[$k]);
}
else
{
$HTTP_COOKIE_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_COOKIE_VARS);
}
}
//
// Define some basic configuration arrays this also prevents
// malicious rewriting of language and otherarray values via
// URI params
//
$board_config = array();
$userdata = array();
$theme = array();
$images = array();
$lang = array();
$nav_links = array();
$gen_simple_header = FALSE;
include($phpbb_root_path . 'config.'.$phpEx);
if( !defined("PHPBB_INSTALLED") )
{
header("Location: install/install.$phpEx");
exit;
}
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/template.'.$phpEx);
include($phpbb_root_path . 'includes/sessions.'.$phpEx);
include($phpbb_root_path . 'includes/auth.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
//
// Obtain and encode users IP
//
// I'm removing HTTP_X_FORWARDED_FOR ... this may well cause other problems such as
// private range IP's appearing instead of the guilty routable IP, tough, don't
// even bother complaining ... go scream and shout at the idiots out there who feel
// "clever" is doing harm rather than good ... karma is a great thing ... :)
//
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
$user_ip = encode_ip($client_ip);
error_reporting(E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
//error_reporting(E_ALL);
set_magic_quotes_runtime(0);
//
// Setup forum wide options, if this fails
// then we output a CRITICAL_ERROR since
// basic forum information is not available
//
$sql = "SELECT *
FROM " . CONFIG_TABLE;
if( !($result = $db->sql_query($sql)) )
// Be paranoid with passed vars
if (@ini_get('register_globals'))
{
message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
foreach ($_REQUEST as $var_name => $void)
{
unset(${$var_name});
}
}
while ( $row = $db->sql_fetchrow($result) )
if (defined('IN_CRON'))
{
$board_config[$row['config_name']] = $row['config_value'];
chdir($phpbb_root_path);
$phpbb_root_path = getcwd() . '/';
}
if (file_exists('install') || file_exists('contrib'))
require($phpbb_root_path . 'config.'.$phpEx);
if (!defined('PHPBB_INSTALLED'))
{
message_die(GENERAL_MESSAGE, 'Please ensure both the install/ and contrib/ directories are deleted');
header('Location: install/install.'.$phpEx);
exit;
}
//
// Show 'Board is disabled' message if needed.
//
if( $board_config['board_disable'] && !defined("IN_ADMIN") && !defined("IN_LOGIN") )
if (defined('DEBUG_EXTRA'))
{
message_die(GENERAL_MESSAGE, 'Board_disable', 'Information');
$base_memory_usage = 0;
if (function_exists('memory_get_usage'))
{
$base_memory_usage = memory_get_usage();
}
}
// Load Extensions
if (!empty($load_extensions))
{
$load_extensions = explode(',', $load_extensions);
foreach ($load_extensions as $extension)
{
@dl(trim($extension));
}
}
define('STRIP', (get_magic_quotes_gpc()) ? true : false);
// Include files
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
require($phpbb_root_path . 'includes/acm/acm_main.' . $phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
require($phpbb_root_path . 'includes/template.' . $phpEx);
require($phpbb_root_path . 'includes/session.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
// Set PHP error handler to ours
set_error_handler('msg_handler');
// Instantiate some basic classes
$user = new user();
$auth = new auth();
$template = new template();
$cache = new cache();
$db = new $sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
// We do not need this any longer, unset for safety purposes
unset($dbpasswd);
// Grab global variables, re-cache if necessary
$config = $cache->obtain_config();
// Warn about install/ directory
if (file_exists('install'))
{
// trigger_error('REMOVE_INSTALL');
}
?>

85
phpBB/cron.php Normal file
View File

@@ -0,0 +1,85 @@
<?php
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
define('IN_PHPBB', true);
define('IN_CRON', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
$cron_type = request_var('cron_type', '');
$use_shutdown_function = (@function_exists('register_shutdown_function')) ? true : false;
// Run cron-like action
// Real cron-based layer will be introduced in 3.2
switch ($cron_type)
{
case 'queue':
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();
}
break;
case 'tidy_cache':
if ($use_shutdown_function)
{
register_shutdown_function(array(&$cache, 'tidy'));
}
else
{
$cache->tidy();
}
break;
case 'tidy_database':
include_once($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
if ($use_shutdown_function)
{
register_shutdown_function('tidy_database');
}
else
{
tidy_database();
}
break;
case 'tidy_login_keys':
if ($use_shutdown_function)
{
register_shutdown_function(array(&$user, 'tidy_login_keys'));
}
else
{
$user->tidy_login_keys();
}
}
// Output transparent gif
header('Cache-Control: no-cache');
header('Content-type: image/gif');
header('Content-length: 43');
echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
flush();
exit;
?>

View File

@@ -1,389 +0,0 @@
<?php
/***************************************************************************
* msaccess.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","msaccess");
class sql_db
{
var $db_connect_id;
var $result_ids = array();
var $result;
var $next_id;
var $num_rows = array();
var $current_row = array();
var $field_names = array();
var $field_types = array();
var $result_rowset = array();
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->server = $sqlserver;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->dbname = $database;
$this->db_connect_id = ($this->persistency) ? odbc_pconnect($this->server, $this->user, $this->password) : odbc_connect($this->server, $this->user, $this->password);
return ( $this->db_connect_id ) ? $this->db_connect_id : false;
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
if( $this->in_transaction )
{
@odbc_commit($this->db_connect_id);
}
if( count($this->result_rowset) )
{
unset($this->result_rowset);
unset($this->field_names);
unset($this->field_types);
unset($this->num_rows);
unset($this->current_row);
}
return @odbc_close($this->db_connect_id);
}
else
{
return false;
}
}
//
// Query method
//
function sql_query($query = "", $transaction = FALSE)
{
if( $query != "" )
{
$this->num_queries++;
if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
if( !odbc_autocommit($this->db_connect_id, false) )
{
return false;
}
$this->in_transaction = TRUE;
}
$query = str_replace("LOWER(", "LCASE(", $query);
if( preg_match("/^SELECT(.*?)(LIMIT ([0-9]+)[, ]*([0-9]+)*)?$/s", $query, $limits) )
{
$query = $limits[1];
if( !empty($limits[2]) )
{
$row_offset = ( $limits[4] ) ? $limits[3] : "";
$num_rows = ( $limits[4] ) ? $limits[4] : $limits[3];
$query = "TOP " . ( $row_offset + $num_rows ) . $query;
}
$this->result = odbc_exec($this->db_connect_id, "SELECT $query");
if( $this->result )
{
if( empty($this->field_names[$this->result]) )
{
for($i = 1; $i < odbc_num_fields($this->result) + 1; $i++)
{
$this->field_names[$this->result][] = odbc_field_name($this->result, $i);
$this->field_types[$this->result][] = odbc_field_type($this->result, $i);
}
}
$this->current_row[$this->result] = 0;
$this->result_rowset[$this->result] = array();
$row_outer = ( isset($row_offset) ) ? $row_offset + 1 : 1;
$row_outer_max = ( isset($num_rows) ) ? $row_offset + $num_rows + 1 : 1E9;
$row_inner = 0;
while( odbc_fetch_row($this->result, $row_outer) && $row_outer < $row_outer_max )
{
for($j = 0; $j < count($this->field_names[$this->result]); $j++)
{
$this->result_rowset[$this->result][$row_inner][$this->field_names[$this->result][$j]] = stripslashes(odbc_result($this->result, $j + 1));
}
$row_outer++;
$row_inner++;
}
$this->num_rows[$this->result] = count($this->result_rowset[$this->result]);
odbc_free_result($this->result);
}
}
else if( eregi("^INSERT ", $query) )
{
$this->result = odbc_exec($this->db_connect_id, $query);
if( $this->result )
{
$result_id = odbc_exec($this->db_connect_id, "SELECT @@IDENTITY");
if( $result_id )
{
if( odbc_fetch_row($result_id) )
{
$this->next_id[$this->db_connect_id] = odbc_result($result_id, 1);
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
}
}
}
}
else
{
$this->result = odbc_exec($this->db_connect_id, $query);
if( $this->result )
{
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
}
}
if( !$this->result )
{
if( $this->in_transaction )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
$this->in_transaction = FALSE;
}
return false;
}
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if ( !@odbc_commit($this->db_connect_id) )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
return false;
}
odbc_autocommit($this->db_connect_id, true);
}
return $this->result;
}
else
{
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if ( !@odbc_commit($this->db_connect_id) )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
return false;
}
odbc_autocommit($this->db_connect_id, true);
}
return true;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->num_rows[$query_id] : false;
}
function sql_numfields($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? count($this->field_names[$query_id]) : false;
}
function sql_fieldname($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->field_names[$query_id][$offset] : false;
}
function sql_fieldtype($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->field_types[$query_id][$offset] : false;
}
function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( $this->num_rows[$query_id] && $this->current_row[$query_id] < $this->num_rows[$query_id] ) ? $this->result_rowset[$query_id][$this->current_row[$query_id]++] : false;
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( $this->num_rows[$query_id] ) ? $this->result_rowset[$query_id] : false;
}
else
{
return false;
}
}
function sql_fetchfield($field, $row = -1, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
if( $row < $this->num_rows[$query_id] )
{
$getrow = ($row == -1) ? $this->current_row[$query_id] - 1 : $row;
return $this->result_rowset[$query_id][$getrow][$this->field_names[$query_id][$field]];
}
else
{
return false;
}
}
else
{
return false;
}
}
function sql_rowseek($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
$this->current_row[$query_id] = $offset - 1;
return true;
}
else
{
return false;
}
}
function sql_nextid()
{
return ( $this->next_id[$this->db_connect_id] ) ? $this->next_id[$this->db_connect_id] : false;
}
function sql_affectedrows()
{
return ( $this->affected_rows[$this->db_connect_id] ) ? $this->affected_rows[$this->db_connect_id] : false;
}
function sql_freeresult($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
unset($this->num_rows[$query_id]);
unset($this->current_row[$query_id]);
unset($this->result_rowset[$query_id]);
unset($this->field_names[$query_id]);
unset($this->field_types[$query_id]);
return true;
}
function sql_error()
{
$error['code'] = "";//odbc_error($this->db_connect_id);
$error['message'] = "Error";//odbc_errormsg($this->db_connect_id);
return $error;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,387 +0,0 @@
<?php
/***************************************************************************
* mssql-odbc.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","mssql-odbc");
class sql_db
{
var $db_connect_id;
var $result;
var $next_id;
var $num_rows = array();
var $current_row = array();
var $field_names = array();
var $field_types = array();
var $result_rowset = array();
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->server = $sqlserver;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->dbname = $database;
$this->db_connect_id = ($this->persistency) ? odbc_pconnect($this->server, $this->user, $this->password) : odbc_connect($this->server, $this->user, $this->password);
return ( $this->db_connect_id ) ? $this->db_connect_id : false;
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
if( $this->in_transaction )
{
@odbc_commit($this->db_connect_id);
}
if( count($this->result_rowset) )
{
unset($this->result_rowset);
unset($this->field_names);
unset($this->field_types);
unset($this->num_rows);
unset($this->current_row);
}
return @odbc_close($this->db_connect_id);
}
else
{
return false;
}
}
//
// Query method
//
function sql_query($query = "", $transaction = FALSE)
{
if( $query != "" )
{
$this->num_queries++;
if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
if( !odbc_autocommit($this->db_connect_id, false) )
{
return false;
}
$this->in_transaction = TRUE;
}
if( preg_match("/^SELECT(.*?)(LIMIT ([0-9]+)[, ]*([0-9]+)*)?$/s", $query, $limits) )
{
$query = $limits[1];
if( !empty($limits[2]) )
{
$row_offset = ( $limits[4] ) ? $limits[3] : "";
$num_rows = ( $limits[4] ) ? $limits[4] : $limits[3];
$query = "TOP " . ( $row_offset + $num_rows ) . $query;
}
$this->result = odbc_exec($this->db_connect_id, "SELECT $query");
if( $this->result )
{
if( empty($this->field_names[$this->result]) )
{
for($i = 1; $i < odbc_num_fields($this->result) + 1; $i++)
{
$this->field_names[$this->result][] = odbc_field_name($this->result, $i);
$this->field_types[$this->result][] = odbc_field_type($this->result, $i);
}
}
$this->current_row[$this->result] = 0;
$this->result_rowset[$this->result] = array();
$row_outer = ( isset($row_offset) ) ? $row_offset + 1 : 1;
$row_outer_max = ( isset($num_rows) ) ? $row_offset + $num_rows + 1 : 1E9;
$row_inner = 0;
while( odbc_fetch_row($this->result, $row_outer) && $row_outer < $row_outer_max )
{
for($j = 0; $j < count($this->field_names[$this->result]); $j++)
{
$this->result_rowset[$this->result][$row_inner][$this->field_names[$this->result][$j]] = stripslashes(odbc_result($this->result, $j + 1));
}
$row_outer++;
$row_inner++;
}
$this->num_rows[$this->result] = count($this->result_rowset[$this->result]);
}
}
else if( eregi("^INSERT ", $query) )
{
$this->result = odbc_exec($this->db_connect_id, $query);
if( $this->result )
{
$result_id = odbc_exec($this->db_connect_id, "SELECT @@IDENTITY");
if( $result_id )
{
if( odbc_fetch_row($result_id) )
{
$this->next_id[$this->db_connect_id] = odbc_result($result_id, 1);
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
}
}
}
}
else
{
$this->result = odbc_exec($this->db_connect_id, $query);
if( $this->result )
{
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
}
}
if( !$this->result )
{
if( $this->in_transaction )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
$this->in_transaction = FALSE;
}
return false;
}
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if ( !odbc_commit($this->db_connect_id) )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
return false;
}
odbc_autocommit($this->db_connect_id, true);
}
odbc_free_result($this->result);
return $this->result;
}
else
{
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if ( !@odbc_commit($this->db_connect_id) )
{
odbc_rollback($this->db_connect_id);
odbc_autocommit($this->db_connect_id, true);
return false;
}
odbc_autocommit($this->db_connect_id, true);
}
return true;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->num_rows[$query_id] : false;
}
function sql_numfields($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? count($this->field_names[$query_id]) : false;
}
function sql_fieldname($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->field_names[$query_id][$offset] : false;
}
function sql_fieldtype($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? $this->field_types[$query_id][$offset] : false;
}
function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( $this->num_rows[$query_id] && $this->current_row[$query_id] < $this->num_rows[$query_id] ) ? $this->result_rowset[$query_id][$this->current_row[$query_id]++] : false;
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( $this->num_rows[$query_id] ) ? $this->result_rowset[$query_id] : false;
}
else
{
return false;
}
}
function sql_fetchfield($field, $row = -1, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
if( $row < $this->num_rows[$query_id] )
{
$getrow = ( $row == -1 ) ? $this->current_row[$query_id] - 1 : $row;
return $this->result_rowset[$query_id][$getrow][$this->field_names[$query_id][$field]];
}
else
{
return false;
}
}
else
{
return false;
}
}
function sql_rowseek($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
$this->current_row[$query_id] = $offset - 1;
return true;
}
else
{
return false;
}
}
function sql_nextid()
{
return ( $this->next_id[$this->db_connect_id] ) ? $this->next_id[$this->db_connect_id] : false;
}
function sql_affectedrows()
{
return ( $this->affected_rows[$this->db_connect_id] ) ? $this->affected_rows[$this->db_connect_id] : false;
}
function sql_freeresult($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
unset($this->num_rows[$query_id]);
unset($this->current_row[$query_id]);
unset($this->result_rowset[$query_id]);
unset($this->field_names[$query_id]);
unset($this->field_types[$query_id]);
return true;
}
function sql_error()
{
$error['code'] = odbc_error($this->db_connect_id);
$error['message'] = odbc_errormsg($this->db_connect_id);
return $error;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,418 +0,0 @@
<?php
/***************************************************************************
* mssql.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : supportphpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","mssql");
class sql_db
{
var $db_connect_id;
var $result;
var $next_id;
var $in_transaction = 0;
var $row = array();
var $rowset = array();
var $limit_offset;
var $query_limit_success;
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = $sqlserver;
$this->dbname = $database;
$this->db_connect_id = ( $this->persistency ) ? @mssql_pconnect($this->server, $this->user, $this->password) : @mssql_connect($this->server, $this->user, $this->password);
if( $this->db_connect_id && $this->dbname != "" )
{
if( !mssql_select_db($this->dbname, $this->db_connect_id) )
{
mssql_close($this->db_connect_id);
return false;
}
}
return $this->db_connect_id;
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
//
// Commit any remaining transactions
//
if( $this->in_transaction )
{
@mssql_query("COMMIT", $this->db_connect_id);
}
return @mssql_close($this->db_connect_id);
}
else
{
return false;
}
}
//
// Query method
//
function sql_query($query = '', $transaction = FALSE)
{
//
// Remove any pre-existing queries
//
unset($this->result);
unset($this->row);
if ( $query != '' )
{
$this->num_queries++;
if ( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
if ( !@mssql_query('BEGIN TRANSACTION', $this->db_connect_id) )
{
return false;
}
$this->in_transaction = TRUE;
}
//
// Does query contain any LIMIT code? If so pull out relevant start and num_results
// This isn't terribly easy with MSSQL, whatever you do will potentially impact
// performance compared to an 'in-built' limit
//
// Another issue is the 'lack' of a returned true value when a query is valid but has
// no result set (as with all the other DB interfaces). It seems though that it's
// 'fair' to say that if a query returns a false result (ie. no resource id) then the
// SQL was valid but had no result set. If the query returns nothing but the rowcount
// returns something then there's a problem. This may well be a false assumption though
// ... needs checking under Windows itself.
//
if( preg_match('#^SELECT(.*?)(LIMIT ([0-9]+)[, ]*([0-9]+)*)?$#s', $query, $limits) )
{
$query = $limits[1];
if( !empty($limits[2]) )
{
$row_offset = ( $limits[4] ) ? $limits[3] : "";
$num_rows = ( $limits[4] ) ? $limits[4] : $limits[3];
$query = 'TOP ' . ( $row_offset + $num_rows ) . $query;
}
$this->result = @mssql_query("SELECT $query", $this->db_connect_id);
if( $this->result )
{
$this->limit_offset[$this->result] = ( !empty($row_offset) ) ? $row_offset : 0;
if( $row_offset > 0 )
{
@mssql_data_seek($this->result, $row_offset);
}
}
}
else if( preg_match('#^INSERT #i', $query) )
{
if( @mssql_query($query, $this->db_connect_id) )
{
$this->result = time() + microtime();
$result_id = @mssql_query('SELECT @@IDENTITY AS id, @@ROWCOUNT as affected', $this->db_connect_id);
if( $result_id )
{
if( $row = @mssql_fetch_array($result_id) )
{
$this->next_id[$this->db_connect_id] = $row['id'];
$this->affected_rows[$this->db_connect_id] = $row['affected'];
}
}
}
}
else
{
if( @mssql_query($query, $this->db_connect_id) )
{
$this->result = time() + microtime();
$result_id = @mssql_query('SELECT @@ROWCOUNT as affected', $this->db_connect_id);
if( $result_id )
{
if( $row = @mssql_fetch_array($result_id) )
{
$this->affected_rows[$this->db_connect_id] = $row['affected'];
}
}
}
}
if( !$this->result )
{
if( $this->in_transaction )
{
@mssql_query('ROLLBACK', $this->db_connect_id);
$this->in_transaction = FALSE;
}
return false;
}
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if( !@mssql_query('COMMIT', $this->db_connect_id) )
{
@mssql_query("ROLLBACK", $this->db_connect_id);
return false;
}
}
return $this->result;
}
else
{
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if( !@mssql_query('COMMIT', $this->db_connect_id) )
{
@mssql_query('ROLLBACK', $this->db_connect_id);
return false;
}
}
return true;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( !empty($this->limit_offset[$query_id]) ) ? @mssql_num_rows($query_id) - $this->limit_offset[$query_id] : @mssql_num_rows($query_id);
}
else
{
return false;
}
}
function sql_numfields($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? @mssql_num_fields($query_id) : false;
}
function sql_fieldname($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? @mssql_field_name($query_id, $offset) : false;
}
function sql_fieldtype($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->result;
}
return ( $query_id ) ? @mssql_field_type($query_id, $offset) : false;
}
function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
empty($row);
$row = @mssql_fetch_array($query_id);
while( list($key, $value) = @each($row) )
{
$row[$key] = stripslashes($value);
}
@reset($row);
return $row;
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
$i = 0;
empty($rowset);
while( $row = @mssql_fetch_array($query_id))
{
while( list($key, $value) = @each($row) )
{
$rowset[$i][$key] = stripslashes($value);
}
$i++;
}
@reset($rowset);
return $rowset;
}
else
{
return false;
}
}
function sql_fetchfield($field, $row = -1, $query_id)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
if( $row != -1 )
{
if( $this->limit_offset[$query_id] > 0 )
{
$result = ( !empty($this->limit_offset[$query_id]) ) ? @mssql_result($this->result, ($this->limit_offset[$query_id] + $row), $field) : false;
}
else
{
$result = @mssql_result($this->result, $row, $field);
}
}
else
{
if( empty($this->row[$query_id]) )
{
$this->row[$query_id] = @mssql_fetch_array($query_id);
$result = stripslashes($this->row[$query_id][$field]);
}
}
return $result;
}
else
{
return false;
}
}
function sql_rowseek($rownum, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
if( $query_id )
{
return ( !empty($this->limit_offset[$query_id]) ) ? @mssql_data_seek($query_id, ($this->limit_offset[$query_id] + $rownum)) : @mssql_data_seek($query_id, $rownum);
}
else
{
return false;
}
}
function sql_nextid()
{
return ( $this->next_id[$this->db_connect_id] ) ? $this->next_id[$this->db_connect_id] : false;
}
function sql_affectedrows()
{
return ( $this->affected_rows[$this->db_connect_id] ) ? $this->affected_rows[$this->db_connect_id] : false;
}
function sql_freeresult($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->result;
}
return ( $query_id ) ? @mssql_free_result($query_id) : false;
}
function sql_error($query_id = 0)
{
$result['message'] = @mssql_get_last_message();
return $result;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,335 +0,0 @@
<?php
/***************************************************************************
* mysql.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","mysql");
class sql_db
{
var $db_connect_id;
var $query_result;
var $row = array();
var $rowset = array();
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = $sqlserver;
$this->dbname = $database;
if($this->persistency)
{
$this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password);
}
else
{
$this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password);
}
if($this->db_connect_id)
{
if($database != "")
{
$this->dbname = $database;
$dbselect = @mysql_select_db($this->dbname);
if(!$dbselect)
{
@mysql_close($this->db_connect_id);
$this->db_connect_id = $dbselect;
}
}
return $this->db_connect_id;
}
else
{
return false;
}
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
if($this->query_result)
{
@mysql_free_result($this->query_result);
}
$result = @mysql_close($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
// Remove any pre-existing queries
unset($this->query_result);
if($query != "")
{
$this->num_queries++;
$this->query_result = @mysql_query($query, $this->db_connect_id);
}
if($this->query_result)
{
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
return $this->query_result;
}
else
{
return ( $transaction == END_TRANSACTION ) ? true : false;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_num_rows($query_id);
return $result;
}
else
{
return false;
}
}
function sql_affectedrows()
{
if($this->db_connect_id)
{
$result = @mysql_affected_rows($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
function sql_numfields($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_num_fields($query_id);
return $result;
}
else
{
return false;
}
}
function sql_fieldname($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_field_name($query_id, $offset);
return $result;
}
else
{
return false;
}
}
function sql_fieldtype($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_field_type($query_id, $offset);
return $result;
}
else
{
return false;
}
}
function sql_fetchrow($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$this->row[$query_id] = @mysql_fetch_array($query_id);
return $this->row[$query_id];
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
while($this->rowset[$query_id] = @mysql_fetch_array($query_id))
{
$result[] = $this->rowset[$query_id];
}
return $result;
}
else
{
return false;
}
}
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
if($rownum > -1)
{
$result = @mysql_result($query_id, $rownum, $field);
}
else
{
if(empty($this->row[$query_id]) && empty($this->rowset[$query_id]))
{
if($this->sql_fetchrow())
{
$result = $this->row[$query_id][$field];
}
}
else
{
if($this->rowset[$query_id])
{
$result = $this->rowset[$query_id][$field];
}
else if($this->row[$query_id])
{
$result = $this->row[$query_id][$field];
}
}
}
return $result;
}
else
{
return false;
}
}
function sql_rowseek($rownum, $query_id = 0){
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_data_seek($query_id, $rownum);
return $result;
}
else
{
return false;
}
}
function sql_nextid(){
if($this->db_connect_id)
{
$result = @mysql_insert_id($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
function sql_freeresult($query_id = 0){
if(!$query_id)
{
$query_id = $this->query_result;
}
if ( $query_id )
{
unset($this->row[$query_id]);
unset($this->rowset[$query_id]);
@mysql_free_result($query_id);
return true;
}
else
{
return false;
}
}
function sql_error($query_id = 0)
{
$result["message"] = @mysql_error($this->db_connect_id);
$result["code"] = @mysql_errno($this->db_connect_id);
return $result;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,340 +0,0 @@
<?php
/***************************************************************************
* mysql4.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : supportphpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","mysql4");
class sql_db
{
var $db_connect_id;
var $query_result;
var $row = array();
var $rowset = array();
var $num_queries = 0;
var $in_transaction = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = $sqlserver;
$this->dbname = $database;
$this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : mysql_connect($this->server, $this->user, $this->password);
if( $this->db_connect_id )
{
if( $database != "" )
{
$this->dbname = $database;
$dbselect = mysql_select_db($this->dbname);
if( !$dbselect )
{
mysql_close($this->db_connect_id);
$this->db_connect_id = $dbselect;
}
}
return $this->db_connect_id;
}
else
{
return false;
}
}
//
// Other base methods
//
function sql_close()
{
if( $this->db_connect_id )
{
//
// Commit any remaining transactions
//
if( $this->in_transaction )
{
mysql_query("COMMIT", $this->db_connect_id);
}
return mysql_close($this->db_connect_id);
}
else
{
return false;
}
}
//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
//
// Remove any pre-existing queries
//
unset($this->query_result);
if( $query != "" )
{
$this->num_queries++;
if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
$result = mysql_query("BEGIN", $this->db_connect_id);
if(!$result)
{
return false;
}
$this->in_transaction = TRUE;
}
$this->query_result = mysql_query($query, $this->db_connect_id);
}
else
{
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$result = mysql_query("COMMIT", $this->db_connect_id);
}
}
if( $this->query_result )
{
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if ( !mysql_query("COMMIT", $this->db_connect_id) )
{
mysql_query("ROLLBACK", $this->db_connect_id);
return false;
}
}
return $this->query_result;
}
else
{
if( $this->in_transaction )
{
mysql_query("ROLLBACK", $this->db_connect_id);
$this->in_transaction = FALSE;
}
return false;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? mysql_num_rows($query_id) : false;
}
function sql_affectedrows()
{
return ( $this->db_connect_id ) ? mysql_affected_rows($this->db_connect_id) : false;
}
function sql_numfields($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? mysql_num_fields($query_id) : false;
}
function sql_fieldname($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? mysql_field_name($query_id, $offset) : false;
}
function sql_fieldtype($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? mysql_field_type($query_id, $offset) : false;
}
function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if( $query_id )
{
$this->row[$query_id] = mysql_fetch_array($query_id, MYSQL_ASSOC);
return $this->row[$query_id];
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if( $query_id )
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
while($this->rowset[$query_id] = mysql_fetch_array($query_id, MYSQL_ASSOC))
{
$result[] = $this->rowset[$query_id];
}
return $result;
}
else
{
return false;
}
}
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if( $query_id )
{
if( $rownum > -1 )
{
$result = mysql_result($query_id, $rownum, $field);
}
else
{
if( empty($this->row[$query_id]) && empty($this->rowset[$query_id]) )
{
if( $this->sql_fetchrow() )
{
$result = $this->row[$query_id][$field];
}
}
else
{
if( $this->rowset[$query_id] )
{
$result = $this->rowset[$query_id][$field];
}
else if( $this->row[$query_id] )
{
$result = $this->row[$query_id][$field];
}
}
}
return $result;
}
else
{
return false;
}
}
function sql_rowseek($rownum, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? mysql_data_seek($query_id, $rownum) : false;
}
function sql_nextid()
{
return ( $this->db_connect_id ) ? mysql_insert_id($this->db_connect_id) : false;
}
function sql_freeresult($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if ( $query_id )
{
unset($this->row[$query_id]);
unset($this->rowset[$query_id]);
mysql_free_result($query_id);
return true;
}
else
{
return false;
}
}
function sql_error()
{
$result['message'] = mysql_error($this->db_connect_id);
$result['code'] = mysql_errno($this->db_connect_id);
return $result;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,472 +0,0 @@
<?php
/***************************************************************************
* oracle.php
* -------------------
* begin : Thrusday Feb 15, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","oracle");
class sql_db
{
var $db_connect_id;
var $query_result;
var $in_transaction = 0;
var $row = array();
var $rowset = array();
var $num_queries = 0;
var $last_query_text = "";
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database="", $persistency = true)
{
$this->persistency = $persistency;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = $sqlserver;
$this->dbname = $database;
if($this->persistency)
{
$this->db_connect_id = @OCIPLogon($this->user, $this->password, $this->server);
}
else
{
$this->db_connect_id = @OCINLogon($this->user, $this->password, $this->server);
}
if($this->db_connect_id)
{
return $this->db_connect_id;
}
else
{
return false;
}
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
// Commit outstanding transactions
if($this->in_transaction)
{
OCICommit($this->db_connect_id);
}
if($this->query_result)
{
@OCIFreeStatement($this->query_result);
}
$result = @OCILogoff($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
// Remove any pre-existing queries
unset($this->query_result);
// Put us in transaction mode because with Oracle as soon as you make a query you're in a transaction
$this->in_transaction = TRUE;
if($query != "")
{
$this->last_query = $query;
$this->num_queries++;
if(eregi("LIMIT", $query))
{
preg_match("/^(.*)LIMIT ([0-9]+)[, ]*([0-9]+)*/s", $query, $limits);
$query = $limits[1];
if($limits[3])
{
$row_offset = $limits[2];
$num_rows = $limits[3];
}
else
{
$row_offset = 0;
$num_rows = $limits[2];
}
}
if(eregi("^(INSERT|UPDATE) ", $query))
{
$query = preg_replace("/\\\'/s", "''", $query);
}
$this->query_result = @OCIParse($this->db_connect_id, $query);
$success = @OCIExecute($this->query_result, OCI_DEFAULT);
}
if($success)
{
if($transaction == END_TRANSACTION)
{
OCICommit($this->db_connect_id);
$this->in_transaction = FALSE;
}
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
$this->last_query_text[$this->query_result] = $query;
return $this->query_result;
}
else
{
if($this->in_transaction)
{
OCIRollback($this->db_connect_id);
}
return false;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @OCIFetchStatement($query_id, $this->rowset);
// OCIFetchStatment kills our query result so we have to execute the statment again
// if we ever want to use the query_id again.
@OCIExecute($query_id, OCI_DEFAULT);
return $result;
}
else
{
return false;
}
}
function sql_affectedrows($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @OCIRowCount($query_id);
return $result;
}
else
{
return false;
}
}
function sql_numfields($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @OCINumCols($query_id);
return $result;
}
else
{
return false;
}
}
function sql_fieldname($offset, $query_id = 0)
{
// OCIColumnName uses a 1 based array so we have to up the offset by 1 in here to maintain
// full abstraction compatibitly
$offset += 1;
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = strtolower(@OCIColumnName($query_id, $offset));
return $result;
}
else
{
return false;
}
}
function sql_fieldtype($offset, $query_id = 0)
{
// This situation is the same as fieldname
$offset += 1;
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @OCIColumnType($query_id, $offset);
return $result;
}
else
{
return false;
}
}
function sql_fetchrow($query_id = 0, $debug = FALSE)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result_row = "";
$result = @OCIFetchInto($query_id, $result_row, OCI_ASSOC+OCI_RETURN_NULLS);
if($debug)
{
echo "Query was: ".$this->last_query . "<br>";
echo "Result: $result<br>";
echo "Query ID: $query_id<br>";
echo "<pre>";
var_dump($result_row);
echo "</pre>";
}
if($result_row == "")
{
return false;
}
for($i = 0; $i < count($result_row); $i++)
{
list($key, $val) = each($result_row);
$return_arr[strtolower($key)] = $val;
}
$this->row[$query_id] = $return_arr;
return $this->row[$query_id];
}
else
{
return false;
}
}
// This function probably isn't as efficant is it could be but any other way I do it
// I end up losing 1 row...
function sql_fetchrowset($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$rows = @OCIFetchStatement($query_id, $results);
@OCIExecute($query_id, OCI_DEFAULT);
for($i = 0; $i < $rows; $i++)
{
@OCIFetchInto($query_id, $tmp_result, OCI_ASSOC+OCI_RETURN_NULLS);
for($j = 0; $j < count($tmp_result); $j++)
{
list($key, $val) = each($tmp_result);
$return_arr[strtolower($key)] = $val;
}
$result[] = $return_arr;
}
return $result;
}
else
{
return false;
}
}
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
if($rownum > -1)
{
// Reset the internal rownum pointer.
@OCIExecute($query_id, OCI_DEFAULT);
for($i = 0; $i < $rownum; $i++)
{
// Move the interal pointer to the row we want
@OCIFetch($query_id);
}
// Get the field data.
$result = @OCIResult($query_id, strtoupper($field));
}
else
{
// The internal pointer should be where we want it
// so we just grab the field out of the current row.
$result = @OCIResult($query_id, strtoupper($field));
}
return $result;
}
else
{
return false;
}
}
function sql_rowseek($rownum, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
@OCIExecute($query_id, OCI_DEFAULT);
for($i = 0; $i < $rownum; $i++)
{
@OCIFetch($query_id);
}
$result = @OCIFetch($query_id);
return $result;
}
else
{
return false;
}
}
function sql_nextid($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id && $this->last_query_text[$query_id] != "")
{
if( eregi("^(INSERT{1}|^INSERT INTO{1})[[:space:]][\"]?([a-zA-Z0-9\_\-]+)[\"]?", $this->last_query_text[$query_id], $tablename))
{
$query = "SELECT ".$tablename[2]."_id_seq.currval FROM DUAL";
$stmt = @OCIParse($this->db_connect_id, $query);
@OCIExecute($stmt,OCI_DEFAULT );
$temp_result = @OCIFetchInto($stmt, $temp_result, OCI_ASSOC+OCI_RETURN_NULLS);
if($temp_result)
{
return $temp_result['CURRVAL'];
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
function sql_nextid($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id && $this->last_query_text[$query_id] != "")
{
if( eregi("^(INSERT{1}|^INSERT INTO{1})[[:space:]][\"]?([a-zA-Z0-9\_\-]+)[\"]?", $this->last_query_text[$query_id], $tablename))
{
$query = "SELECT ".$tablename[2]."_id_seq.CURRVAL FROM DUAL";
$temp_q_id = @OCIParse($this->db_connect_id, $query);
@OCIExecute($temp_q_id, OCI_DEFAULT);
@OCIFetchInto($temp_q_id, $temp_result, OCI_ASSOC+OCI_RETURN_NULLS);
if($temp_result)
{
return $temp_result['CURRVAL'];
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
function sql_freeresult($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @OCIFreeStatement($query_id);
return $result;
}
else
{
return false;
}
}
function sql_error($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
$result = @OCIError($query_id);
return $result;
}
} // class sql_db
} // if ... define
?>

View File

@@ -1,397 +0,0 @@
<?php
/***************************************************************************
* postgres7.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : supportphpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
if(!defined("SQL_LAYER"))
{
define("SQL_LAYER","postgresql");
class sql_db
{
var $db_connect_id;
var $query_result;
var $in_transaction = 0;
var $row = array();
var $rowset = array();
var $rownum = array();
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->connect_string = "";
if( $sqluser )
{
$this->connect_string .= "user=$sqluser ";
}
if( $sqlpassword )
{
$this->connect_string .= "password=$sqlpassword ";
}
if( $sqlserver )
{
if( ereg(":", $sqlserver) )
{
list($sqlserver, $sqlport) = split(":", $sqlserver);
$this->connect_string .= "host=$sqlserver port=$sqlport ";
}
else
{
if( $sqlserver != "localhost" )
{
$this->connect_string .= "host=$sqlserver ";
}
}
}
if( $database )
{
$this->dbname = $database;
$this->connect_string .= "dbname=$database";
}
$this->persistency = $persistency;
$this->db_connect_id = ( $this->persistency ) ? pg_pconnect($this->connect_string) : pg_connect($this->connect_string);
return ( $this->db_connect_id ) ? $this->db_connect_id : false;
}
//
// Other base methods
//
function sql_close()
{
if( $this->db_connect_id )
{
//
// Commit any remaining transactions
//
if( $this->in_transaction )
{
@pg_exec($this->db_connect_id, "COMMIT");
}
if( $this->query_result )
{
@pg_freeresult($this->query_result);
}
return @pg_close($this->db_connect_id);
}
else
{
return false;
}
}
//
// Query method
//
function sql_query($query = "", $transaction = false)
{
//
// Remove any pre-existing queries
//
unset($this->query_result);
if( $query != "" )
{
$this->num_queries++;
$query = preg_replace("/LIMIT ([0-9]+),([ 0-9]+)/", "LIMIT \\2 OFFSET \\1", $query);
if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
$this->in_transaction = TRUE;
if( !@pg_exec($this->db_connect_id, "BEGIN") )
{
return false;
}
}
$this->query_result = @pg_exec($this->db_connect_id, $query);
if( $this->query_result )
{
if( $transaction == END_TRANSACTION )
{
$this->in_transaction = FALSE;
if( !@pg_exec($this->db_connect_id, "COMMIT") )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
return false;
}
}
$this->last_query_text[$this->query_result] = $query;
$this->rownum[$this->query_result] = 0;
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
return $this->query_result;
}
else
{
if( $this->in_transaction )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
}
$this->in_transaction = FALSE;
return false;
}
}
else
{
if( $transaction == END_TRANSACTION && $this->in_transaction )
{
$this->in_transaction = FALSE;
if( !@pg_exec($this->db_connect_id, "COMMIT") )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
return false;
}
}
return true;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_numrows($query_id) : false;
}
function sql_numfields($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_numfields($query_id) : false;
}
function sql_fieldname($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_fieldname($query_id, $offset) : false;
}
function sql_fieldtype($offset, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_fieldtype($query_id, $offset) : false;
}
function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if($query_id)
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id]);
if( $this->row )
{
$this->rownum[$query_id]++;
return $this->row;
}
}
return false;
}
function sql_fetchrowset($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if( $query_id )
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
$this->rownum[$query_id] = 0;
while( $this->rowset = @pg_fetch_array($query_id, $this->rownum[$query_id], PGSQL_ASSOC) )
{
$result[] = $this->rowset;
$this->rownum[$query_id]++;
}
return $result;
}
return false;
}
function sql_fetchfield($field, $row_offset=-1, $query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
if( $query_id )
{
if( $row_offset != -1 )
{
$this->row = @pg_fetch_array($query_id, $row_offset, PGSQL_ASSOC);
}
else
{
if( $this->rownum[$query_id] )
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id]-1, PGSQL_ASSOC);
}
else
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id], PGSQL_ASSOC);
if( $this->row )
{
$this->rownum[$query_id]++;
}
}
}
return $this->row[$field];
}
return false;
}
function sql_rowseek($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if( $query_id )
{
if( $offset > -1 )
{
$this->rownum[$query_id] = $offset;
return true;
}
else
{
return false;
}
}
return false;
}
function sql_nextid()
{
$query_id = $this->query_result;
if($query_id && $this->last_query_text[$query_id] != "")
{
if( preg_match("/^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)/is", $this->last_query_text[$query_id], $tablename) )
{
$query = "SELECT currval('" . $tablename[1] . "_id_seq') AS last_value";
$temp_q_id = @pg_exec($this->db_connect_id, $query);
if( !$temp_q_id )
{
return false;
}
$temp_result = @pg_fetch_array($temp_q_id, 0, PGSQL_ASSOC);
return ( $temp_result ) ? $temp_result['last_value'] : false;
}
}
return false;
}
function sql_affectedrows($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_cmdtuples($query_id) : false;
}
function sql_freeresult($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
return ( $query_id ) ? @pg_freeresult($query_id) : false;
}
function sql_error($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}
$result['message'] = @pg_errormessage($this->db_connect_id);
$result['code'] = -1;
return $result;
}
} // class ... db_sql
} // if ... defined
?>

View File

@@ -0,0 +1,425 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : add_permissions.php
// STARTED : Sat Nov 06, 2004
// COPYRIGHT : <20> 2004 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
//
// 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");
// This script adds missing permissions
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'config.'.$phpEx);
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
define('ACL_NO', 0);
define('ACL_YES', 1);
define('ACL_UNSET', -1);
define('ACL_GROUPS_TABLE', $table_prefix.'auth_groups');
define('ACL_OPTIONS_TABLE', $table_prefix.'auth_options');
define('ACL_USERS_TABLE', $table_prefix.'auth_users');
define('GROUPS_TABLE', $table_prefix.'groups');
define('USERS_TABLE', $table_prefix.'users');
$cache = new acm();
$db = new sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
// auth => is_local, is_global
$f_permissions = array(
'f_' => array(1, 0),
'f_list' => array(1, 0),
'f_read' => array(1, 0),
'f_post' => array(1, 0),
'f_reply' => array(1, 0),
'f_quote' => array(1, 0),
'f_edit' => array(1, 0),
'f_user_lock' => array(1, 0),
'f_delete' => array(1, 0),
'f_bump' => array(1, 0),
'f_poll' => array(1, 0),
'f_vote' => array(1, 0),
'f_votechg' => array(1, 0),
'f_announce'=> array(1, 0),
'f_sticky' => array(1, 0),
'f_attach' => array(1, 0),
'f_download'=> array(1, 0),
'f_icons' => array(1, 0),
'f_html' => array(1, 0),
'f_bbcode' => array(1, 0),
'f_smilies' => array(1, 0),
'f_img' => array(1, 0),
'f_flash' => array(1, 0),
'f_sigs' => array(1, 0),
'f_search' => array(1, 0),
'f_email' => array(1, 0),
'f_rate' => array(1, 0),
'f_print' => array(1, 0),
'f_ignoreflood' => array(1, 0),
'f_postcount' => array(1, 0),
'f_moderate'=> array(1, 0),
'f_report' => array(1, 0),
'f_subscribe' => array(1, 0),
);
$m_permissions = array(
'm_' => array(1, 1),
'm_edit' => array(1, 1),
'm_delete' => array(1, 1),
'm_move' => array(1, 1),
'm_lock' => array(1, 1),
'm_split' => array(1, 1),
'm_merge' => array(1, 1),
'm_approve' => array(1, 1),
'm_unrate' => array(1, 1),
'm_auth' => array(1, 1),
'm_ip' => array(1, 1),
'm_info' => array(1, 1),
);
$a_permissions = array(
'a_' => array(0, 1),
'a_server' => array(0, 1),
'a_defaults'=> array(0, 1),
'a_board' => array(0, 1),
'a_cookies' => array(0, 1),
'a_clearlogs' => array(0, 1),
'a_words' => array(0, 1),
'a_icons' => array(0, 1),
'a_bbcode' => array(0, 1),
'a_attach' => array(0, 1),
'a_email' => array(0, 1),
'a_styles' => array(0, 1),
'a_user' => array(0, 1),
'a_useradd' => array(0, 1),
'a_userdel' => array(0, 1),
'a_ranks' => array(0, 1),
'a_ban' => array(0, 1),
'a_names' => array(0, 1),
'a_group' => array(0, 1),
'a_groupadd'=> array(0, 1),
'a_groupdel'=> array(0, 1),
'a_forum' => array(0, 1),
'a_forumadd'=> array(0, 1),
'a_forumdel'=> array(0, 1),
'a_prune' => array(0, 1),
'a_auth' => array(0, 1),
'a_authmods'=> array(0, 1),
'a_authadmins' => array(0, 1),
'a_authusers' => array(0, 1),
'a_authgroups' => array(0, 1),
'a_authdeps'=> array(0, 1),
'a_backup' => array(0, 1),
'a_restore' => array(0, 1),
'a_search' => array(0, 1),
'a_events' => array(0, 1),
'a_cron' => array(0, 1),
);
$u_permissions = array(
'u_' => array(0, 1),
'u_sendemail' => array(0, 1),
'u_readpm' => array(0, 1),
'u_sendpm' => array(0, 1),
'u_sendim' => array(0, 1),
'u_hideonline' => array(0, 1),
'u_viewonline' => array(0, 1),
'u_viewprofile' => array(0, 1),
'u_chgavatar' => array(0, 1),
'u_chggrp' => array(0, 1),
'u_chgemail' => array(0, 1),
'u_chgname' => array(0, 1),
'u_chgpasswd' => array(0, 1),
'u_chgcensors' => array(0, 1),
'u_search' => array(0, 1),
'u_savedrafts' => array(0, 1),
'u_download' => array(0, 1),
'u_attach' => array(0, 1),
'u_sig' => array(0, 1),
'u_pm_attach' => array(0, 1),
'u_pm_html' => array(0, 1),
'u_pm_bbcode' => array(0, 1),
'u_pm_smilies' => array(0, 1),
'u_pm_download' => array(0, 1),
'u_pm_report' => array(0, 1),
'u_pm_edit' => array(0, 1),
'u_pm_printpm' => array(0, 1),
'u_pm_emailpm' => array(0, 1),
'u_pm_forward' => array(0, 1),
'u_pm_delete' => array(0, 1),
'u_pm_img' => array(0, 1),
'u_pm_flash' => array(0, 1),
);
echo "<p><b>Determining existing permissions</b></p>\n";
$sql = 'SELECT auth_option_id, auth_option FROM ' . ACL_OPTIONS_TABLE;
$result = $db->sql_query($sql);
$remove_auth_options = array();
while ($row = $db->sql_fetchrow($result))
{
if (!in_array($row['auth_option'], array_keys(${substr($row['auth_option'], 0, 2) . 'permissions'})))
{
$remove_auth_options[$row['auth_option']] = $row['auth_option_id'];
}
unset(${substr($row['auth_option'], 0, 2) . 'permissions'}[$row['auth_option']]);
}
$db->sql_freeresult($result);
if (sizeof($remove_auth_options))
{
$db->sql_query('DELETE FROM ' . ACL_USERS_TABLE . ' WHERE auth_option_id IN (' . implode(', ', $remove_auth_options) . ')');
$db->sql_query('DELETE FROM ' . ACL_GROUPS_TABLE . ' WHERE auth_option_id IN (' . implode(', ', $remove_auth_options) . ')');
$db->sql_query('DELETE FROM ' . ACL_OPTIONS_TABLE . ' WHERE auth_option_id IN (' . implode(', ', $remove_auth_options) . ')');
echo '<p><b>Removed the following auth options... [<i>' . implode(', ', array_keys($remove_auth_options)) . "</i>]</b></p>\n\n";
}
$prefixes = array('f_', 'a_', 'm_', 'u_');
foreach ($prefixes as $prefix)
{
$var = $prefix . 'permissions';
if (sizeof($$var))
{
foreach ($$var as $auth_option => $l_ary)
{
$sql_ary = array(
'auth_option' => $auth_option,
'is_local' => $l_ary[0],
'is_global' => $l_ary[1]
);
$db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
echo "<p><b>Adding $auth_option...</b></p>\n";
mass_auth('group', 0, 'guests', $auth_option, ACL_NO);
mass_auth('group', 0, 'inactive', $auth_option, ACL_NO);
mass_auth('group', 0, 'inactive_coppa', $auth_option, ACL_NO);
mass_auth('group', 0, 'registered_coppa', $auth_option, ACL_NO);
mass_auth('group', 0, 'registered', $auth_option, (($prefix != 'm_' && $prefix != 'a_') ? ACL_YES : ACL_NO));
mass_auth('group', 0, 'super_moderators', $auth_option, (($prefix != 'a_') ? ACL_YES : ACL_NO));
mass_auth('group', 0, 'administrators', $auth_option, ACL_YES);
mass_auth('group', 0, 'bots', $auth_option, (($prefix != 'm_' && $prefix != 'a_') ? ACL_YES : ACL_NO));
}
}
}
$sql = 'UPDATE ' . USERS_TABLE . " SET user_permissions = ''";
$db->sql_query($sql);
$cache->destroy('acl_options');
$cache->save();
echo "<p><b>Done</b></p>\n";
/*
$ug_type = user|group
$forum_id = forum ids (array|int|0) -> 0 == all forums
$ug_id = [int] user_id|group_id : [string] usergroup name
$acl_list = [string] acl entry : [array] acl entries
$setting = ACL_YES|ACL_NO|ACL_UNSET
*/
function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting)
{
global $db;
static $acl_option_ids, $group_ids;
if ($ug_type == 'group' && is_string($ug_id))
{
if (!isset($group_ids[$ug_id]))
{
$sql = 'SELECT group_id FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . strtoupper($ug_id) . "'";
$result = $db->sql_query_limit($sql, 1);
$id = (int) $db->sql_fetchfield('group_id', 0, $result);
$db->sql_freeresult($result);
if (!$id)
{
return;
}
$group_ids[$ug_id] = $id;
}
$ug_id = (int) $group_ids[$ug_id];
}
// Build correct parameters
$auth = array();
if (!is_array($acl_list))
{
$auth = array($acl_list => $setting);
}
else
{
foreach ($acl_list as $auth_option)
{
$auth[$auth_option] = $setting;
}
}
unset($acl_list);
if (!is_array($forum_id))
{
$forum_id = array($forum_id);
}
// Set any flags as required
foreach ($auth as $auth_option => $acl_setting)
{
$flag = substr($auth_option, 0, strpos($auth_option, '_') + 1);
if (empty($auth[$flag]))
{
$auth[$flag] = $acl_setting;
}
}
if (!is_array($acl_option_ids) || empty($acl_option_ids))
{
$sql = 'SELECT auth_option_id, auth_option
FROM ' . ACL_OPTIONS_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$acl_option_ids[$row['auth_option']] = $row['auth_option_id'];
}
$db->sql_freeresult($result);
}
$sql_forum = 'AND a.forum_id IN (' . implode(', ', array_map('intval', $forum_id)) . ')';
$sql = ($ug_type == 'user') ? 'SELECT o.auth_option_id, o.auth_option, a.forum_id, a.auth_setting FROM ' . ACL_USERS_TABLE . ' a, ' . ACL_OPTIONS_TABLE . " o WHERE a.auth_option_id = o.auth_option_id $sql_forum AND a.user_id = $ug_id" : 'SELECT o.auth_option_id, o.auth_option, a.forum_id, a.auth_setting FROM ' . ACL_GROUPS_TABLE . ' a, ' . ACL_OPTIONS_TABLE . " o WHERE a.auth_option_id = o.auth_option_id $sql_forum AND a.group_id = $ug_id";
$result = $db->sql_query($sql);
$cur_auth = array();
while ($row = $db->sql_fetchrow($result))
{
$cur_auth[$row['forum_id']][$row['auth_option_id']] = $row['auth_setting'];
}
$db->sql_freeresult($result);
$table = ($ug_type == 'user') ? ACL_USERS_TABLE : ACL_GROUPS_TABLE;
$id_field = $ug_type . '_id';
$sql_ary = array();
foreach ($forum_id as $forum)
{
foreach ($auth as $auth_option => $setting)
{
$auth_option_id = $acl_option_ids[$auth_option];
if (!$auth_option_id)
{
continue;
}
switch ($setting)
{
case ACL_UNSET:
if (isset($cur_auth[$forum][$auth_option_id]))
{
$sql_ary['delete'][] = "DELETE FROM $table
WHERE forum_id = $forum
AND auth_option_id = $auth_option_id
AND $id_field = $ug_id";
}
break;
default:
if (!isset($cur_auth[$forum][$auth_option_id]))
{
$sql_ary['insert'][] = "$ug_id, $forum, $auth_option_id, $setting";
}
else if ($cur_auth[$forum][$auth_option_id] != $setting)
{
$sql_ary['update'][] = "UPDATE " . $table . "
SET auth_setting = $setting
WHERE $id_field = $ug_id
AND forum_id = $forum
AND auth_option_id = $auth_option_id";
}
}
}
}
unset($cur_auth);
$sql = '';
foreach ($sql_ary as $sql_type => $sql_subary)
{
switch ($sql_type)
{
case 'insert':
switch (SQL_LAYER)
{
case 'mysql':
case 'mysql4':
$sql = 'VALUES ' . implode(', ', preg_replace('#^(.*?)$#', '(\1)', $sql_subary));
break;
case 'mssql':
case 'sqlite':
$sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary));
break;
default:
foreach ($sql_subary as $sql)
{
$sql = "INSERT INTO $table ($id_field, forum_id, auth_option_id, auth_setting) VALUES ($sql)";
$result = $db->sql_query($sql);
$sql = '';
}
}
if ($sql != '')
{
$sql = "INSERT INTO $table ($id_field, forum_id, auth_option_id, auth_setting) $sql";
$result = $db->sql_query($sql);
}
break;
case 'update':
case 'delete':
foreach ($sql_subary as $sql)
{
$result = $db->sql_query($sql);
$sql = '';
}
break;
}
unset($sql_ary[$sql_type]);
}
unset($sql_ary);
}
?>

View File

@@ -1,218 +0,0 @@
<?php
/***************************************************************************
* bbcode_conversion.php
* -------------------
* begin : Tuesday, March 20, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id:
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
//
// 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");
//
// Do not change anything below this line.
//
include('../extension.inc');
include('../config.'.$phpEx);
include('../includes/constants.'.$phpEx);
include('../functions/functions.'.$phpEx);
include('../includes/db.'.$phpEx);
include('../functions/bbcode.'.$phpEx);
set_time_limit(60*60); // Increase maximum execution time to 60 minutes.
$backup_name = "backup_post_text";
$table_name = POSTS_TEXT_TABLE;
$sql = "CREATE TABLE $backup_name (
post_id int(10) DEFAULT '0' NOT NULL,
post_text text,
PRIMARY KEY (post_id)
);";
echo "<p>Creating backup table.. </p>\n";
flush();
$result = $db->sql_query($sql);
if (!$result)
{
$db_error = $db->sql_error();
die("Error doing DB backup table creation. Reason: " . $db_error["message"]);
}
$sql = "insert into $backup_name select * from $table_name";
echo "<p>Populating backup table.. </p>\n";
flush();
$result = $db->sql_query($sql);
if (!$result)
{
$db_error = $db->sql_error();
die("Error doing DB backup table data moving. Reason: " . $db_error["message"]);
}
$sql = "SELECT p.post_id, t.post_text FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " t WHERE (p.post_id = t.post_id)";
if(!$result = $db->sql_query($sql))
{
die("error getting posts to work on");
}
if(!$total_rows = $db->sql_numrows($result))
{
die("error getting rowcount");
}
echo "<p><b>Found $total_rows total rows to work on. </b></p>\n";
flush();
$row = $db->sql_fetchrowset($result);
for($i = 0; $i < $total_rows; $i++)
{
$post_id = $row[$i]['post_id'];
$text = $row[$i]['post_text'];
// undo 1.2.x encoding..
$text = bbdecode($text);
$text = undo_make_clickable($text);
$text = str_replace("<BR>", "\n", $text);
// make a uid
$uid = make_bbcode_uid();
// do 2.x first-pass encoding..
$text = bbencode_first_pass($text, $uid);
$text = addslashes($text);
// put the uid in the database.
$sql = "UPDATE " . POSTS_TABLE . " SET bbcode_uid='" . $uid . "' WHERE (post_id = $post_id)";
$result = $db->sql_query($sql);
if (!$result)
{
$db_error = $db->sql_error();
die("Error doing DB update in posts table. Reason: " . $db_error["message"] . " sql: $sql");
}
// Put the post text back in the database.
$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET post_text='" . $text . "' WHERE (post_id = $post_id)";
$result = $db->sql_query($sql);
if (!$result)
{
$db_error = $db->sql_error();
die("Error doing DB update in post text table. Reason: " . $db_error["message"] . " sql: $sql");
}
if (($i % 100) == 0)
{
echo "Done post: <b> $i </b><br>\n";
flush();
}
}
echo "<p><b>Done.</b></p>\n";
// -------------------------------------------------------------------------------
// Everything below here is 1.x BBCode functions.
// -------------------------------------------------------------------------------
function bbdecode($message) {
// Undo [code]
$code_start_html = "<!-- BBCode Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Code:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><PRE>";
$code_end_html = "</PRE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode End -->";
$message = str_replace($code_start_html, "[code]", $message);
$message = str_replace($code_end_html, "[/code]", $message);
// Undo [quote]
$quote_start_html = "<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>";
$quote_end_html = "</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End -->";
$message = str_replace($quote_start_html, "[quote]", $message);
$message = str_replace($quote_end_html, "[/quote]", $message);
// Undo [b] and [i]
$message = preg_replace("#<!-- BBCode Start --><B>(.*?)</B><!-- BBCode End -->#s", "[b]\\1[/b]", $message);
$message = preg_replace("#<!-- BBCode Start --><I>(.*?)</I><!-- BBCode End -->#s", "[i]\\1[/i]", $message);
// Undo [url] (long form)
$message = preg_replace("#<!-- BBCode u2 Start --><A HREF=\"([a-z]+?://)(.*?)\" TARGET=\"_blank\">(.*?)</A><!-- BBCode u2 End -->#s", "[url=\\1\\2]\\3[/url]", $message);
// Undo [url] (short form)
$message = preg_replace("#<!-- BBCode u1 Start --><A HREF=\"([a-z]+?://)(.*?)\" TARGET=\"_blank\">(.*?)</A><!-- BBCode u1 End -->#s", "[url]\\3[/url]", $message);
// Undo [email]
$message = preg_replace("#<!-- BBCode Start --><A HREF=\"mailto:(.*?)\">(.*?)</A><!-- BBCode End -->#s", "[email]\\1[/email]", $message);
// Undo [img]
$message = preg_replace("#<!-- BBCode Start --><IMG SRC=\"(.*?)\" BORDER=\"0\"><!-- BBCode End -->#s", "[img]\\1[/img]", $message);
// Undo lists (unordered/ordered)
// <li> tags:
$message = str_replace("<!-- BBCode --><LI>", "[*]", $message);
// [list] tags:
$message = str_replace("<!-- BBCode ulist Start --><UL>", "[list]", $message);
// [list=x] tags:
$message = preg_replace("#<!-- BBCode olist Start --><OL TYPE=([A1])>#si", "[list=\\1]", $message);
// [/list] tags:
$message = str_replace("</UL><!-- BBCode ulist End -->", "[/list]", $message);
$message = str_replace("</OL><!-- BBCode olist End -->", "[/list]", $message);
return($message);
}
/**
* Nathan Codding - Feb 6, 2001
* Reverses the effects of make_clickable(), for use in editpost.
* - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
*
*/
function undo_make_clickable($text) {
$text = preg_replace("#<!-- BBCode auto-link start --><a href=\"(.*?)\" target=\"_blank\">.*?</a><!-- BBCode auto-link end -->#i", "\\1", $text);
$text = preg_replace("#<!-- BBcode auto-mailto start --><a href=\"mailto:(.*?)\">.*?</a><!-- BBCode auto-mailto end -->#i", "\\1", $text);
return $text;
}
?>

View File

@@ -13,11 +13,11 @@ die("Please read the first lines of this script for instructions on how to enabl
// Do not change anything below this line.
//
define('IN_PHPBB', true);
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
include($phpbb_root_path . 'includes/post.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
srand ((double) microtime() * 1000000);
@@ -51,9 +51,6 @@ And a quote!
[/quote]
';
$users = intval($HTTP_GET_VARS['users']);
$posts = intval($HTTP_GET_VARS['posts']);
$size = intval($HTTP_GET_VARS['size']);
// The script expects the ID's in the tables to sequential (1,2,3,4,5),
// so no holes please (1,4,5,8)...
@@ -91,9 +88,7 @@ if ($posts > 0)
$endtime = microtime();
$submit = (isset($HTTP_GET_VARS['submit'])) ? true : false;
if (!$submit)
if ($submit="" || !isset($submit))
{
?>
Hello, welcome to this little phpBB Benchmarking script :)<p>
@@ -224,10 +219,10 @@ function make_topic($user_id, $subject, $forum_id)
$topic_vote = 0;
$current_time = time();
$sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote)
VALUES ('$subject', $user_id, $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)";
$sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote)
VALUES ('$subject', $user_id, $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)";
if( $result = $db->sql_query($sql) )
if( $result = $db->sql_query($sql, BEGIN_TRANSACTION) )
{
$new_topic_id = $db->sql_nextid();
}
@@ -243,14 +238,17 @@ function make_topic($user_id, $subject, $forum_id)
function create_posting($userid, $topic_id, $forum, $mode = 'newtopic')
function create_posting($userid, $topic_id, $forum, $mode='newtopic')
{
$message = generatepost();
return make_post($topic_id, $forum, $userid, "", $message, $mode);
}
function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $mode = 'newtopic')
function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $mode='newtopic')
{
global $db;
$current_time = time();
@@ -263,43 +261,54 @@ function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $m
$post_subject = 'random subject';
$post_message = prepare_message($text, $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
$post_message = prepare_message($text, $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig)
VALUES ($new_topic_id, $forum_id, $user_id, '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)";
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, attach_id, icon_id, post_username, post_time, poster_ip, post_approved, bbcode_uid, enable_bbcode, enable_html, enable_smilies, enable_sig, post_subject, post_text)
VALUES ($new_topic_id, $forum_id, $user_id, 0, 0, '$post_username', $current_time, '$user_ip', 1, '$bbcode_uid', $bbcode_on, $html_on, $smilies_on, $attach_sig, '$post_subject', '$post_message')";
$result = $db->sql_query($sql);
if($result)
if ($result)
{
$new_post_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text)
VALUES ($new_post_id, '$post_subject', '$bbcode_uid', '$post_message')";
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_last_post_id = $new_post_id";
if($mode == "reply")
{
$sql .= ", topic_replies = topic_replies + 1 ";
}
$sql .= " WHERE topic_id = $new_topic_id";
if($db->sql_query($sql))
{
$post_data = array();
$post_data['first_post'] = false;
$post_data['last_post'] = true;
$sql = "SELECT SUM(post_id) as total FROM " . POSTS_TABLE . " WHERE topic_id = " . $new_topic_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$total = intval($row['total']);
if ($total == 1)
$sql = "UPDATE " . FORUMS_TABLE . "
SET forum_last_post_id = $new_post_id, forum_posts = forum_posts + 1";
if($mode == "newtopic")
{
$post_data['first_post'] = true;
$sql .= ", forum_topics = forum_topics + 1";
}
$sql .= " WHERE forum_id = $forum_id";
if($db->sql_query($sql))
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_posts = user_posts + 1
WHERE user_id = " . $user_id;
if($db->sql_query($sql, END_TRANSACTION))
{
// SUCCESS.
return true;
}
else
{
message_die(GENERAL_ERROR, "Error updating users table", "", __LINE__, __FILE__, $sql);
}
}
else
{
message_die(GENERAL_ERROR, "Error updating forums table", "", __LINE__, __FILE__, $sql);
}
$sql = "SELECT forum_last_post_id
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$post_data['last_topic'] = ( $row['forum_last_post_id'] == $new_post_id ) ? true : false;
update_post_stats($mode, $post_data, $forum_id, $new_topic_id, $new_post_id, $user_id);
}
else
{
@@ -310,7 +319,7 @@ function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $m
WHERE post_id = $new_post_id";
$db->sql_query($sql);
}
message_die(GENERAL_ERROR, "Error inserting data into posts text table", "", __LINE__, __FILE__, $sql);
message_die(GENERAL_ERROR, "Error updating topics table", "", __LINE__, __FILE__, $sql);
}
}
else
@@ -320,7 +329,7 @@ function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $m
}
function generatepost($size = 850)
function generatepost($size=850)
{
global $bigass_text;
// Returns a string with a length between $size and $size*0.2
@@ -397,7 +406,23 @@ function make_user($username)
message_die(GENERAL_ERROR, "Couldn't obtained next user_id information.", "", __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey)
$sql = "SELECT MAX(group_id) AS total
FROM " . GROUPS_TABLE;
if($result = $db->sql_query($sql))
{
$row = $db->sql_fetchrow($result);
$new_group_id = $row['total'] + 1;
unset($result);
unset($row);
}
else
{
message_die(GENERAL_ERROR, "Couldn't obtained next user_id information.", "", __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmilies, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey)
VALUES ($new_user_id, '$username', " . time() . ", '$password', '$email', '$icq', '$website', '$occupation', '$location', '$interests', '$signature', '$signature_bbcode_uid', '$avatar_filename', $viewemail, '$aim', '$yim', '$msn', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $user_timezone, '$user_dateformat', '$user_lang', $user_style, 0, 1, ";
@@ -405,14 +430,12 @@ function make_user($username)
if($result = $db->sql_query($sql, BEGIN_TRANSACTION))
{
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_name, group_description, group_single_user, group_moderator)
VALUES ('', 'Personal User', 1, 0)";
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator)
VALUES ($new_group_id, '', 'Personal User', 1, 0)";
if($result = $db->sql_query($sql))
{
$group_id = $db->sql_nextid();
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($new_user_id, $group_id, 0)";
VALUES ($new_user_id, $new_group_id, 0)";
if($result = $db->sql_query($sql, END_TRANSACTION))
{
@@ -436,8 +459,4 @@ function make_user($username)
}
?>

View File

@@ -0,0 +1,76 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : calc_email_hash.php
// STARTED : Tue Feb 03, 2004
// COPYRIGHT : <20> 2004 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
//
// 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");
@set_time_limit(300);
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'config.'.$phpEx);
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
$cache = new acm();
$db = new sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
$start = 0;
do
{
// Batch query for group members, call group_user_del
$sql = "SELECT user_id, user_email
FROM {$table_prefix}users
LIMIT $start, 100";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
do
{
$sql = "UPDATE {$table_prefix}users
SET user_email_hash = " . (crc32(strtolower($row['user_email'])) . strlen($row['user_email'])) . '
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
$start++;
}
while ($row = $db->sql_fetchrow($result));
echo "<br />Batch -> $start\n";
flush();
}
else
{
$start = 0;
}
$db->sql_freeresult($result);
}
while ($start);
echo "<p><b>Done</b></p>\n";
?>

View File

@@ -0,0 +1,62 @@
<?php
/***************************************************************************
* merge_clean_posts.php
* -------------------
* begin : Tuesday, February 25, 2003
* copyright : (C) 2003 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
//
// 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");
@set_time_limit(2400);
// This script adds missing permissions
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'config.'.$phpEx);
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
$cache = new acm();
$db = new $sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
$sql = "SELECT post_id, post_text FROM {$table_prefix}posts WHERE post_text LIKE '%{SMILE_PATH}%'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$db->sql_query("UPDATE {$table_prefix}posts SET post_text = '" . $db->sql_escape(str_replace('{SMILE_PATH}', '{SMILIES_PATH}', $row['post_text'])) . "' WHERE post_id = " . $row['post_id']);
}
$db->sql_freeresult($result);
echo "<p><b>Done</b></p>\n";
?>

View File

@@ -1,65 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
$sql = "ALTER TABLE " . USERS_TABLE . "
ADD user_avatar_type TINYINT(4) DEFAULT '0' NOT NULL";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't alter users table");
}
$sql = "SELECT user_id, user_avatar
FROM " . USERS_TABLE;
if( $result = $db->sql_query($sql) )
{
$rowset = $db->sql_fetchrowset($result);
for($i = 0; $i < count($rowset); $i++)
{
if( ereg("^http", $rowset[$i]['user_avatar']))
{
$sql_type = USER_AVATAR_REMOTE;
}
else if( $rowset[$i]['user_avatar'] != "" )
{
$sql_type = USER_AVATAR_UPLOAD;
}
else
{
$sql_type = USER_AVATAR_NONE;
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_avatar_type = $sql_type
WHERE user_id = " . $rowset[$i]['user_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update users table- " . $i);
}
}
}
echo "<BR><BR>COMPLETE<BR>";
?>

View File

@@ -1,96 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
function query($sql, $errormsg)
{
global $db;
if(!$result = $db->sql_query($sql))
{
print "<br><font color=\"red\">\n";
print "$errormsg<br>";
$sql_error = $db->sql_error();
print $sql_error['code'] .": ". $sql_error['message']. "<br>\n";
print "<pre>$sql</pre>";
print "</font>\n";
return FALSE;
}
else
{
return $result;
}
}
if($HTTP_GET_VARS['delete'] == 'true')
{
$sql = "ALTER TABLE ".POSTS_TABLE."
DROP bbcode_uid";
query($sql, "Didn't manage to drop the bbcode_uid table in ".POSTS_TABLE);
print "All done now. Deleted the bbcode_uid column from the posts table.<p>";
exit;
}
$sql = "ALTER TABLE ".POSTS_TEXT_TABLE."
ADD bbcode_uid char(10) NOT NULL";
print "Adding bbcode_uid field to ".POSTS_TEXT_TABLE.".<br>\n";
$result = query($sql, "Couldn't get add bbcode_uid field to ".POSTS_TEXT_TABLE.".");
$sql = "
SELECT
count(*) as total,
max(post_id) as maxid
FROM ". POSTS_TABLE;
$result = query($sql, "Couldn't get max post_id.");
$maxid = $db->sql_fetchrow($result);
$totalposts = $maxid['total'];
$maxid = $maxid['maxid'];
$batchsize = 200;
print "Going to convert BBcode in posts with $batchsize messages at a time and $totalposts in total.<br>\n";
for($i = 0; $i <= $maxid; $i += $batchsize)
{
$batchstart = $i + 1;
$batchend = $i + $batchsize;
print "Moving BBcode UID in post number $batchstart to $batchend<br>\n";
flush();
$sql = "
SELECT
post_id,
bbcode_uid
FROM "
.POSTS_TABLE."
WHERE
post_id BETWEEN $batchstart AND $batchend";
$result = query($sql, "Couldn't get ". POSTS_TABLE .".post_id $batchstart to $batchend");
while($row = mysql_fetch_array($result))
{
query("UPDATE ".POSTS_TEXT_TABLE." set bbcode_uid = '". $row['bbcode_uid']. "' WHERE post_id = ".$row['post_id'], "Was unable to update the posts text table with the BBcode_uid");
}
}
echo "Click <a href=\"$PHP_SELF?delete=true\">HERE</a> to remove the bbcode_uid table from the POSTS table (if you didn't get any serious error messages).<p>";
$db->sql_close();
?>

View File

@@ -1,110 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
$sql = "SELECT *
FROM " . CONFIG_TABLE;
if(!$result = $db->sql_query($sql))
{
message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}
else
{
$board_config = $db->sql_fetchrow($result);
}
$newconfigtable = $table_prefix . "newconfig";
$sql = "SELECT config_name, config_value FROM ". CONFIG_TABLE;
if( $result = $db->sql_query($sql) )
{
die("Don't run this script twice!<br>\n");
}
$sql = " CREATE TABLE $newconfigtable (
config_name varchar(255) NOT NULL,
config_value varchar(255) NOT NULL,
PRIMARY KEY (config_name)
)";
print "Creating temporary table: $newconfigtable<p>\n";
if( !$result = $db->sql_query($sql) )
{
print("Couldn't create new config table<br>\n");
}
$error = 0;
while (list($name, $value) = each($board_config))
{
if(is_int($name))
{
// Skip numeric array elements (we only want the associative array)
continue;
}
// Rename sys_template
if ($name == 'sys_template')
{
$name = 'board_template';
}
// Rename system_timezone
if ($name == 'system_timezone')
{
$name = 'board_timezone';
}
print "$name = $value<br>\n";
$value = addslashes($value);
$sql = "INSERT INTO $newconfigtable (config_name, config_value) VALUES ('$name', '$value')";
if( !$result = $db->sql_query($sql) )
{
print("Couldn't insert '$name' into new config table");
$error = 1;
}
}
if ($error != 1)
{
print "Dropping old table<p>\n";
$sql = "DROP TABLE ". CONFIG_TABLE;
if( !$result = $db->sql_query($sql) )
{
die("Couldn't drop old table");
}
print "Renaming $newconfigtable to ".CONFIG_TABLE."<p>\n";
$sql = "ALTER TABLE $newconfigtable RENAME ".CONFIG_TABLE;
if( !$result = $db->sql_query($sql) )
{
die("Couldn't rename new config table");
}
print "Renaming ".SESSIONS_TABLE." to ".$table_prefix."sessions<br>\n";
$sql = "ALTER TABLE ".SESSIONS_TABLE." RENAME ".$table_prefix."sessions";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't rename session table");
}
}
$db->sql_close();
echo "<BR><BR>COMPLETE<BR>";
?>

View File

@@ -1,181 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
//
// Alter table ...
//
echo "Alter tables ... ";
echo $sql = "ALTER TABLE " . PRIVMSGS_TABLE . "
ADD privmsgs_enable_bbcode TINYINT(1) DEFAULT '1' NOT NULL,
ADD privmsgs_enable_html TINYINT(1) DEFAULT '0' NOT NULL,
ADD privmsgs_enable_smilies TINYINT(1) DEFAULT '1' NOT NULL,
ADD privmsgs_attach_sig TINYINT(1) DEFAULT '1' NOT NULL";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't alter privmsgs table");
}
echo $sql = "ALTER TABLE " . PRIVMSGS_TEXT_TABLE . "
ADD privmsgs_bbcode_uid CHAR(10) AFTER privmsgs_text_id";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't alter privmsgs text table");
}
echo "COMPLETE<BR>";
//
// Move bbcode ...
//
echo "Move bbcode uid's ... ";
$sql = "SELECT privmsgs_id, privmsgs_bbcode_uid
FROM " . PRIVMSGS_TABLE;
if( $result = $db->sql_query($sql) )
{
$rowset = $db->sql_fetchrowset($result);
for($i = 0; $i < count($rowset); $i++)
{
$sql = "UPDATE " . PRIVMSGS_TEXT_TABLE . "
SET privmsgs_bbcode_uid = '" . $rowset[$i]['privmsgs_bbcode_uid'] . "'
WHERE privmsgs_text_id = " . $rowset[$i]['privmsgs_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update privmsgs text bbcode - " . $i);
}
}
$sql = "ALTER TABLE " . PRIVMSGS_TABLE . "
DROP privmsgs_bbcode_uid";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't alter privmsgs table - drop privmsgs_bbcode_uid");
}
}
echo "COMPLETE<BR>";
//
// Stripslashes from titles
//
echo "Strip subject slashes ... ";
$sql = "SELECT privmsgs_subject , privmsgs_id, privmsgs_to_userid, privmsgs_from_userid
FROM " . PRIVMSGS_TABLE;
if( $result = $db->sql_query($sql) )
{
$rowset = $db->sql_fetchrowset($result);
for($i = 0; $i < count($rowset); $i++)
{
$sql = "UPDATE " . PRIVMSGS_TABLE . "
SET privmsgs_subject = '" . addslashes(stripslashes($rowset[$i]['privmsgs_subject'])) . "'
WHERE privmsgs_id = " . $rowset[$i]['privmsgs_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update subjects - $i");
}
}
}
echo "COMPLETE<BR>";
//
// Update sigs
//
echo "Remove [addsig], stripslashes and update privmsgs table sig enable ...";
$sql = "SELECT privmsgs_text_id , privmsgs_text
FROM " . PRIVMSGS_TEXT_TABLE;
if( $result = $db->sql_query($sql) )
{
$rowset = $db->sql_fetchrowset($result);
$attach_sql = "";
$non_attach_sql = "";
for($i = 0; $i < count($rowset); $i++)
{
if( ereg("\[addsig]$", $rowset[$i]['privmsgs_text']))
{
if( $attach_sql != "" )
{
$attach_sql .= ", ";
}
$attach_sql .= $rowset[$i]['privmsgs_text_id'];
$sql = "UPDATE " . PRIVMSGS_TEXT_TABLE . "
SET privmsgs_text = '" . addslashes(preg_replace("/\[addsig\]/is", "", stripslashes($rowset[$i]['privmsgs_text']))) . "'
WHERE privmsgs_text_id = " . $rowset[$i]['privmsgs_text_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update privmsgs text - " . $i);
}
}
else
{
$sql = "UPDATE " . PRIVMSGS_TEXT_TABLE . "
SET privmsgs_text = '" . addslashes(stripslashes($rowset[$i]['privmsgs_text'])) . "'
WHERE privmsgs_text_id = " . $rowset[$i]['privmsgs_text_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update privmsgs text - " . $i);
}
if( $non_attach_sql != "" )
{
$non_attach_sql .= ", ";
}
$non_attach_sql .= $rowset[$i]['privmsgs_text_id'];
}
}
if( $attach_sql != "" )
{
$sql = "UPDATE " . PRIVMSGS_TABLE . "
SET privmsgs_attach_sig = 1
WHERE privmsgs_id IN ($attach_sql)";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update privmsgs table attach_sig - ");
}
}
if( $non_attach_sql != "" )
{
$sql = "UPDATE " . PRIVMSGS_TABLE . "
SET privmsgs_attach_sig = 0
WHERE privmsgs_id IN ($non_attach_sql)";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update privmsgs table non_attach_sig - ");
}
}
}
echo "COMPLETE<BR>";
$db->sql_close();
?>

View File

@@ -1,93 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
$sql = "SELECT post_id, post_text
FROM " . POSTS_TEXT_TABLE;
if( $result = $db->sql_query($sql) )
{
$rowset = $db->sql_fetchrowset($result);
$attach_sql = "";
$non_attach_sql = "";
for($i = 0; $i < count($rowset); $i++)
{
if( ereg("\[addsig]$", $rowset[$i]['post_text']))
{
if( $attach_sql != "" )
{
$attach_sql .= ", ";
}
$attach_sql .= $rowset[$i]['post_id'];
$sql = "UPDATE " . POSTS_TEXT_TABLE . "
SET post_text = '" . addslashes(preg_replace("/\[addsig\]/is", "", $rowset[$i]['post_text'])) . "'
WHERE post_id = " . $rowset[$i]['post_id'];
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update post_text - " . $i);
}
}
else
{
if( $non_attach_sql != "" )
{
$non_attach_sql .= ", ";
}
$non_attach_sql .= $rowset[$i]['post_id'];
}
}
echo "<BR>";
if( $attach_sql != "" )
{
echo $sql = "UPDATE " . POSTS_TABLE . "
SET enable_sig = 1
WHERE post_id IN ($attach_sql)";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update post table attach_sig - ");
}
}
echo "<BR>";
if( $non_attach_sql != "" )
{
echo $sql = "UPDATE " . POSTS_TABLE . "
SET enable_sig = 0
WHERE post_id IN ($non_attach_sql)";
if( !$result = $db->sql_query($sql) )
{
die("Couldn't update post table non_attach_sig - ");
}
}
}
$db->sql_close();
echo "<BR><BR>COMPLETE<BR>";
?>

View File

@@ -1,84 +0,0 @@
<html>
<body>
<?php
//
// 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");
//
// Do not change anything below this line.
//
chdir("../");
include('extension.inc');
include('config.'.$phpEx);
include('includes/constants.'.$phpEx);
include('includes/db.'.$phpEx);
$months = array(
"Jan" => 1,
"Feb" => 2,
"Mar" => 3,
"Apr" => 4,
"May" => 5,
"Jun" => 6,
"Jul" => 7,
"Aug" => 8,
"Sep" => 9,
"Oct" => 10,
"Nov" => 11,
"Dec" => 12
);
$sql = "SELECT user_id, user_regdate FROM ".USERS_TABLE;
$result = $db->sql_query($sql);
if(!$result)
{
die("OOpppps, that didn't work!");
}
$all_old_dates = $db->sql_fetchrowset($result);
$sql = "ALTER TABLE ".USERS_TABLE."
CHANGE user_regdate user_regdate INT (11) NOT NULL";
$result = $db->sql_query($sql);
if(!$result)
{
die("Opps, that didn't work either ... oh damn!");
}
for($i = 0; $i < count($all_old_dates); $i++)
{
if(is_string($all_old_dates[$i]['user_regdate']))
{
if(eregi("^([a-zA-Z]{3}) ([0-9]+), ([0-9]{4})", $all_old_dates[$i]['user_regdate'], $result))
{
echo $all_old_dates[$i]['user_regdate']." : ";
echo $new_time = gmmktime(0, 1, 0, $months[$result[1]], $result[2], $result[3]);
echo " : ".gmdate("M d, Y", $new_time)."<br>";
$sql = "UPDATE phpbb_users
SET user_regdate = '$new_time'
WHERE user_id = '".$all_old_dates[$i]['user_id']."'";
$result = $db->sql_query($sql);
if(!$result)
{
die("Oh damn it, now that's really broken it!");
}
}
}
}
echo "<br>That's All Folks!";
?>
</body>
</html>

View File

@@ -1,67 +0,0 @@
<html>
<body>
<?php
//
// 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");
//
// Do not change anything below this line.
//
//
// Convert 2.0.x Usernames to the new 2.0.5 Username format.
//
chdir("../");
define('IN_PHPBB', true);
include('extension.inc');
include('config.'.$phpEx);
include('includes/constants.'.$phpEx);
include('includes/db.'.$phpEx);
$sql = "SELECT user_id, username
FROM " . USERS_TABLE;
$result = $db->sql_query($sql);
if(!$result)
{
die("Unable to get users");
}
while ($row = $db->sql_fetchrow($result))
{
if (!preg_match('#(&gt;)|(&lt;)|(&quot)|(&amp;)#', $row['username']))
{
if ($row['username'] != htmlspecialchars($row['username']))
{
flush();
$sql = "UPDATE " . USERS_TABLE . "
SET username = '" . str_replace("'", "''", htmlspecialchars($row['username'])) . "'
WHERE user_id = " . $row['user_id'];
if (!$db->sql_query($sql))
{
echo "ERROR: Unable to rename user " . htmlspecialchars($row['username']) . " with ID " . $row['user_id'] . "<br>";
echo "<pre>" . print_r($db->sql_error()) . "</pre><br />$sql";
}
else
{
echo "Renamed User " . htmlspecialchars($row['username']) . " with ID " . $row['user_id'] . "<br>";
}
}
}
}
echo "<br>That's All Folks!";
?>
</body>
</html>

View File

@@ -0,0 +1,547 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : create_variable_overview.php
// STARTED : Fri Aug 15 2003
// COPYRIGHT : <20> 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
/*
This script generates an index of some template vars and their use within the templates.
It writes down all language variables used by various templates.
*/
//
// 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");
$directory = '../styles/subSilver/template/';
$ext = 'html';
$store_dir = '../store/';
$phpfiles_directories = array('../', '../includes/', '../includes/acm/', '../includes/auth/', '../includes/mcp/', '../includes/ucp/');
// Template Files beginning with this names are merged together
$merge = array('gcp', 'login', 'mcp', 'memberlist', 'posting', 'ucp');
if (!is_writable($store_dir))
{
die("Directory $store_dir is not writeable!");
}
$contents = implode('', file('../adm/subSilver.css', filesize('../adm/subSilver.css')));
$fp = fopen($store_dir . 'subSilver.css', 'w');
fwrite($fp, $contents);
fclose($fp);
$html_skeleton = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="subSilver.css" type="text/css">
<style type="text/css">
<!--
th { background-image: url(\'cellpic3.gif\') }
td.cat { background-image: url(\'cellpic1.gif\') }
//-->
</style>
<title>{FILENAME}</title>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td>
<td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">File {FILENAME}</span> &nbsp; &nbsp; &nbsp;</td>
</tr>
</table>
<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td><br clear="all" />
';
$html_skeleton .= '<br><a href="./index.html" class="gen">Back to Contents</a><br><br>';
$html_skeleton .= '<br><a href="#lang" class="gen">Language Variables</a> :: <a href="#includes" class="gen">Includes</a> :: <a href="#cond" class="gen">Conditionals</a><br><a href="#remain" class="gen">Remaining Vars</a> :: <a href="#usedby" class="gen">phpBB File Usage</a> :: <a href="#ref" class="gen">References</a>';
$html_skeleton .= '<br><br><a name="lang"></a><b>Language Variables</b><br><br>{LANGUAGE_VARIABLES}';
$html_skeleton .= '<br><br><a name="includes"></a><b>Included Files</b><br><br>{INCLUDES}';
$html_skeleton .= '<br><br><a name="cond"></a><b>Used Conditionals</b><br><br>{CONDITIONALS}';
$html_skeleton .= '<br><br><a name="remain"></a><b>Remaining Vars used</b><br><br>{REMAINING_VARS}';
$html_skeleton .= '<br><br><a name="usedby"></a><b>This Template File is used by the following phpBB Files</b><br><br>{USED_BY}';
$html_skeleton .= '<br><br><a name="ref"></a><b>References: </b>{SEE_FILES}';
//$html_skeleton .= "</body>\n</html>\n";
$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>
<br clear="all" /></td>
</tr>
</table>
</body>
</html>
';
// Open Language File
include('../language/en/lang_main.php');
include('../language/en/lang_admin.php');
$files_to_parse = $php_files = array();
$dhandler = opendir($directory);
if (!$dhandler)
{
die("Unable to open $directory");
}
$num = 0;
while ($file = readdir($dhandler))
{
if (is_file($directory . $file) && preg_match('#\.' . $ext . '$#i', $file))
{
$files_to_parse[$num]['filename'] = $directory . $file;
$files_to_parse[$num]['single_filename'] = $file;
$files_to_parse[$num]['destfile'] = str_replace(".{$ext}", '', $file) . '_' . $num . '.html';
$file_to_destfile[$file] = $files_to_parse[$num]['destfile'];
$num++;
}
}
closedir($dhandler);
$num = 0;
foreach ($phpfiles_directories as $directory)
{
$dhandler = opendir($directory);
if (!$dhandler)
{
die("Unable to open $directory");
}
while ($file = readdir($dhandler))
{
if (is_file($directory . $file) && preg_match('#\.php$#i', $file))
{
$php_files[$num]['filename'] = $directory . $file;
$php_files[$num]['single_filename'] = $file;
$num++;
}
}
closedir($dhandler);
}
$php_files_includes = $lang_references = array();
//$php_files_includes['viewtopic_attach_body.html'][0] = filename
echo '<br>Parsing PHP Files';
// Parse PHP Files and get our filenames
foreach ($php_files as $file_num => $data)
{
echo '.';
flush();
$contents = implode('', file($data['filename'], filesize($data['filename'])));
$html_files = array();
preg_match_all('#([a-zA-Z0-9\-_]*?)\.' . $ext . '#s', $contents, $html_files);
$html_files = array_unique($html_files[1]);
foreach ($html_files as $html_file)
{
$html_file = trim($html_file);
if ($html_file != '')
{
$php_files_includes[$html_file . '.' . $ext][] = $data['filename'];
}
}
}
echo '<br>Parsing HTML Files';
foreach ($files_to_parse as $file_num => $data)
{
echo '.';
flush();
$contents = implode('', file($data['filename'], filesize($data['filename'])));
// Language Variables -> [0]:tpl [1]:lang
$lang_vars = array();
preg_match_all('#{L_([a-z0-9\-_]*?)\}#is', $contents, $lang_vars);
$contents = preg_replace('#{L_([a-z0-9\-_]*?)\}#is', '', $contents);
$lang_vars[0] = array_unique($lang_vars[0]);
$lang_vars[1] = array_unique($lang_vars[1]);
// Includes
$includes = array();
preg_match_all('#<!-- INCLUDE ([a-zA-Z0-9\_\-\+\.]+?) -->#s', $contents, $includes);
$contents = preg_replace('#<!-- INCLUDE ([a-zA-Z0-9\_\-\+\.]+?) -->#', '', $contents);
$includes = $includes[1];
$includes = array_unique($includes);
// IF Conditions
$switches = array();
preg_match_all('#<!-- [IF]|[ELSEIF] ([a-zA-Z0-9\-_\.]+?) (.*?)?[ ]?-->#', $contents, $switches);
$contents = preg_replace('#<!-- [IF]|[ELSEIF] ([a-zA-Z0-9\-_]) (.*?)?[ ]?-->#s', '', $contents);
$switches[0] = array_unique($switches[1]); // No resorting please
$switches[1] = $switches[2];
unset($switches[2]);
// Remaining Vars
$remaining_vars = array();
preg_match_all('#{([a-z0-9\-_\.]*?)\}#is', $contents, $remaining_vars);
$contents = preg_replace('#{([a-z0-9\-_]*?)\}#is', '', $contents);
$remaining_vars = array_unique($remaining_vars[1]);
sort($remaining_vars, SORT_STRING);
// Now build the filename specific site
$fp = fopen($store_dir . $data['destfile'], 'w');
$html_data = $html_skeleton;
$html_data = str_replace('{FILENAME}', $data['single_filename'], $html_data);
// Write up the Language Variables
if (count($lang_vars[0]))
{
$lang_data = '<ul>';
for ($num = 0; $num <= count($lang_vars[0]); $num++)
{
$var = $lang_vars[0][$num];
if ($var != '')
{
$_var = str_replace(array('{', '}'), array('', ''), $var);
$lang_references[$_var][] = $data['single_filename'];
$lang_data .= '<li>' . $var . '<br>' . "\n" . ((isset($lang[$_var])) ? htmlspecialchars(str_replace("\\'", "'", $lang[$_var])) : '<span style="color:red">No Language Variable available</span>') . '<br></li><br>' . "\n";
}
}
$lang_data .= '</ul>';
}
else
{
$lang_data = '<b>NONE</b><br>' . "\n";
}
$html_data = str_replace('{LANGUAGE_VARIABLES}', $lang_data, $html_data);
// Write up the Includes
echo '.';
flush();
if (count($includes))
{
$includes_data = '<ul>';
$see_files = '';
for ($num = 0; $num <= count($includes); $num++)
{
$var = $includes[$num];
if ($var != '')
{
$includes_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n";
$see_files .= ($see_files != '') ? ' :: ' : '';
$see_files .= '<a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a>';
}
}
$includes_data .= '</ul>';
}
else
{
$includes_data = '<b>NONE</b><br>' . "\n";
$see_files = '<b>NONE</b>';
}
$html_data = str_replace('{INCLUDES}', $includes_data, $html_data);
$html_data = str_replace('{SEE_FILES}', $see_files, $html_data);
// Write up Conditionals
echo '.';
flush();
if (count($switches[0]))
{
$conditionals = '<ul>';
for ($num = 0; $num <= count($switches[0]); $num++)
{
$var = trim($switches[0][$num]);
if ($var != '')
{
if ($var == 'not')
{
$conditionals .= '<li>' . trim($switches[1][$num]) . '<br><b>Negation</b><br>' . "\n";
$block_var = explode('.', trim($switches[1][$num]));
unset($block_var[0]);
}
else
{
$conditionals .= '<li>' . $var . ((trim($switches[1][$num]) != '') ? '<br>' . "\n" . '<i>Compared with</i> -&gt; <b>' . trim($switches[1][$num]) . '</b>' : '') . '<br>' . "\n";
$block_var = explode('.', $var);
unset($block_var[count($block_var)-1]);
}
if (count($block_var))
{
for ($_num = count($block_var)-1; $_num >= 0; $_num--)
{
$conditionals .= ($_num == count($block_var)-1) ? '<i>Element of Block</i> -&gt; <b>' . $block_var[$_num] . '</b><br>' . "\n" : '<i>...which is an element of</i> -&gt; <b>' . $block_var[$_num] . '</b><br>' . "\n";
}
}
$conditionals .= '<br></li>' . "\n";
}
}
$conditionals .= '</ul>';
}
else
{
$conditionals = '<b>NONE</b><br>' . "\n";
}
$html_data = str_replace('{CONDITIONALS}', $conditionals, $html_data);
// Write up Remaining Vars
echo '.';
flush();
if (count($remaining_vars))
{
$remaining = '<ul>';
for ($num = 0; $num <= count($remaining_vars); $num++)
{
$var = trim($remaining_vars[$num]);
if ($var != '')
{
$remaining .= '<li>' . $var . '<br>' . "\n";
$block_var = explode('.', $var);
unset($block_var[count($block_var)-1]);
if (count($block_var))
{
for ($_num = count($block_var)-1; $_num >= 0; $_num--)
{
$remaining .= ($_num == count($block_var)-1) ? '<i>Element of Block</i> -&gt; <b>' . $block_var[$_num] . '</b><br>' . "\n" : '<i>...which is an element of</i> -&gt; <b>' . $block_var[$_num] . '</b><br>' . "\n";
}
}
$remaining .= '<br></li>' . "\n";
}
}
$remaining .= '</ul>';
}
else
{
$remaining = '<b>NONE</b><br>' . "\n";
}
$html_data = str_replace('{REMAINING_VARS}', $remaining, $html_data);
if (isset($php_files_includes[$data['single_filename']]) && count($php_files_includes[$data['single_filename']]))
{
$usedby = '<ul>';
foreach ($php_files_includes[$data['single_filename']] as $php_filename)
{
$usedby .= '<li>' . str_replace('../', '', $php_filename) . '</li>';
}
$usedby .= '</ul>';
}
else
{
$usedby = '<b>NONE</b><br>' . "\n";
}
$html_data = str_replace('{USED_BY}', $usedby, $html_data);
fwrite($fp, $html_data);
fclose($fp);
}
echo '<br>Store Files';
$fp = fopen($store_dir . 'index.html', 'w');
$html_data = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="subSilver.css" type="text/css">
<style type="text/css">
<!--
th { background-image: url(\'cellpic3.gif\') }
td.cat { background-image: url(\'cellpic1.gif\') }
//-->
</style>
<title>Contents</title>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td>
<td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">Available Template Files</span> &nbsp; &nbsp; &nbsp;</td>
</tr>
</table>
<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td><br clear="all" />
<br>This Style Document is 100% auto-generated... no human interaction included. :D<br>
<h2>phpBB 2.2 Template</h2>
<br>
<ol>
';
sort($files_to_parse);
foreach ($files_to_parse as $file_num => $data)
{
echo '.';
flush();
$var = $data['single_filename'];
$html_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n";
}
$html_data .= '<br><li><a href="./lang_index.html" class="gen">Appendix A: Language Variable Index</a></li><br>';
$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>
<br clear="all" /></td>
</tr>
</table>
</body>
</html>
';
fwrite($fp, $html_data);
fclose($fp);
// Not only write down all language files, place them into a specific array, named by the template file
// All Language vars assigned to more than one template will be placed into a common file
$entry = array();
$common_fp = fopen($store_dir . 'lang_common.php', 'w');
fwrite($common_fp, "<?php\n\n \$lang = array(\n");
$fp = fopen($store_dir . 'lang_index.html', 'w');
$html_data = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="subSilver.css" type="text/css">
<style type="text/css">
<!--
th { background-image: url(\'cellpic3.gif\') }
td.cat { background-image: url(\'cellpic1.gif\') }
//-->
</style>
<title>Appendix A :: Language Variable Index</title>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td>
<td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">Language Variable Index</span> &nbsp; &nbsp; &nbsp;</td>
</tr>
</table>
<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center">
<tr>
<td><br clear="all" />
<br><a href="./index.html" class="gen">Back to Contents</a><br><br>
<br>
';
echo '<br>Write Language Files';
asort($lang_references);
ksort($lang_references);
$_index = '';
$old_char = '';
foreach ($lang_references as $lang_var => $filenames)
{
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
$char = $var{0};
if ($old_char != $char)
{
$old_char = $char;
$_index .= ($_index != '') ? ' :: ' : '';
$_index .= '<a href="#' . $char . '" class="gen"><b>' . $char . '</b></a>';
}
}
$html_data .= $_index . '<br><br><br>';
$old_char = '';
foreach ($lang_references as $lang_var => $filenames)
{
echo '.';
flush();
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
$char = $var{0};
if ($old_char != $char)
{
$old_char = $char;
$html_data .= '<br><hr><br><a name="' . $char . '"></a><h2>Letter ' . $char . '</h2><br><br>';
}
$html_data .= '<b>' . $lang_var . '</b><ul>';
if (sizeof($filenames) != 1)
{
fwrite($common_fp, (($entry['common']) ? ",\n" : '') . "\t'$var' => '" . $lang[$var] . "'");
$entry['common'] = true;
}
else if (sizeof($filenames) == 1)
{
// Merge logical - hardcoded
$fname = (preg_match('#^(' . implode('|', $merge) . ')#', $filenames[0], $match)) ? $match[0] . '.php' : str_replace($ext, 'php', $filenames[0]);
if (!$lang_fp[$fname])
{
$lang_fp[$fname] = fopen($store_dir . 'lang_' . $fname, 'w');
fwrite($lang_fp[$fname], "<?php\n\n\$lang = array(\n");
$entry[$fname] = false;
}
fwrite($lang_fp[$fname], (($entry[$fname]) ? ",\n" : '') . "\t'$var' => '" . $lang[$var] . "'");
$entry[$fname] = true;
}
foreach ($filenames as $f_name)
{
$var = trim($f_name);
$html_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n";
}
$html_data .= '</ul><br><br>';
}
fwrite($common_fp, ")\n);\n?>");
fclose($common_fp);
foreach ($lang_fp as $filepointer)
{
fwrite($filepointer, ")\n);\n?>");
fclose($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>
<br clear="all" /></td>
</tr>
</table>
</body>
</html>
';
fwrite($fp, $html_data);
fclose($fp);
echo '<br>Finished!';
flush();
?>

View File

@@ -1,73 +0,0 @@
<?php
/***************************************************************************
* revar_lang_files.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
//
// 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");
$dirname = "./../language";
$dir = opendir($dirname);
while ( $file = readdir($dir) )
{
if ( ereg('^lang_', $file) && !is_file(phpbb_realpath($dirname . '/' . $file)) && !is_link(phpbb_realpath($dirname . '/' . $file)) )
{
include($dirname . '/' . $file . '/lang_main.php');
$lang_dir = opendir($dirname . '/' . $file . '/email');
while ( $email = readdir($lang_dir) )
{
if ( ereg('\.tpl$', $email) && is_file(phpbb_realpath($dirname . '/' . $file . '/email/' . $email)) )
{
$fp = fopen($dirname . '/' . $file . '/email/' . $email, 'r+');
$email_file = "";
while ( $line = fread($fp, 100000) )
{
$email_file .= $line;
}
if ( !preg_match('/^Charset: .*?$/m', $email_file) )
{
$email_file = preg_replace('/^((Subject: .*?\n)(\n))?/i', "\\2Charset: " . $lang['ENCODING'] . "\n\n", $email_file);
}
echo '<b>' . $dirname . '/' . $file . '/email/' . $email . "</b><br />\n";
echo nl2br($email_file);
echo "\n\n<br /><br />\n\n";
fseek($fp, 0);
fwrite($fp, $email_file);
fclose($fp);
}
}
echo "\n\n<hr />\n\n";
}
}
?>

176
phpBB/develop/fill.php Normal file
View File

@@ -0,0 +1,176 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : fill.php
// STARTED : Mon Sep 15, 2003
// COPYRIGHT : <20> 2001, 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
set_time_limit(0);
header('Expires: 0');
ignore_user_abort(true);
// number of topics to create
$num_topics = 5000000;
// number of topics to be generated per call
$batch_size = 100000;
// max number of posts per topic
$posts_per_topic = 500000;
// general vars
$mode = (isset($_REQUEST['mode'])) ? $_REQUEST['mode'] : 'generate';
$start = (isset($_REQUEST['start'])) ? intval($_REQUEST['start']) : 0;
switch ($mode)
{
case 'generate':
$user_ids = $forum_ids = $topic_rows = array();
$sql = 'SELECT user_id FROM ' . USERS_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$user_ids[] = $row['user_id'];
}
$db->sql_freeresult($result);
$sql = 'SELECT forum_id FROM ' . FORUMS_TABLE . ' WHERE forum_type = ' . FORUM_POST;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$forum_ids[$row['forum_id']] = $row['forum_id'];
}
$db->sql_freeresult($result);
if (!$start)
{
$db->sql_query('TRUNCATE TABLE ' . POSTS_TABLE);
$db->sql_query('TRUNCATE TABLE ' . TOPICS_TABLE);
$db->sql_query('TRUNCATE TABLE ' . TOPICS_TABLE . '_prefetch');
}
$db->sql_query('LOCK TABLES ' . POSTS_TABLE . ' WRITE, ' . TOPICS_TABLE . ' WRITE');
for ($topic_id = $start + 1; $topic_id < min($start + $batch_size, $num_topics + 1); ++$topic_id)
{
$forum_id = array_rand($forum_ids);
if (count($topic_rows) == 10)
{
$sql = 'INSERT IGNORE INTO ' . TOPICS_TABLE . " (topic_id, forum_id, topic_title, topic_reported)
VALUES " . implode(', ', $topic_rows);
$db->sql_query($sql);
$topic_rows = array();
}
$topic_rows[] = "($topic_id, $forum_id, '$forum_id-$topic_id', " . (($topic_id % 34) ? '0' : '1') . ')';
$sql = 'INSERT IGNORE INTO ' . POSTS_TABLE . ' (topic_id, forum_id, poster_id, post_subject, post_text, post_username, post_approved, post_time, post_reported)
VALUES ';
$rows = array();
$post_time = mt_rand(0, time());
$num_posts = mt_rand(1, $posts_per_topic);
for ($i = 0; $i < $num_posts; ++$i)
{
$poster_id = $user_ids[array_rand($user_ids)];
$poster_name = ($poster_id == ANONYMOUS) ? rndm_username() : '';
$rows[] = "($topic_id, $forum_id, $poster_id, '$forum_id-$topic_id-$i', '$forum_id-$topic_id-$i', '$poster_name', " . (mt_rand(0, 12) ? '1' : '0') . ', ' . ($post_time + $i * 60) . ', ' . (mt_rand(0, 32) ? '0' : '1') . ')';
}
$db->sql_query($sql . implode(', ', $rows));
}
if (count($topic_rows))
{
$sql = 'INSERT IGNORE INTO ' . TOPICS_TABLE . " (topic_id, forum_id, topic_title, topic_reported)
VALUES " . implode(', ', $topic_rows);
$db->sql_query($sql);
}
$db->sql_query('UNLOCK TABLES');
if ($topic_id >= $num_topics)
{
echo '<meta http-equiv="refresh" content="0; url=fill.' . $phpEx . '?mode=sync&amp;' . time() . '">And now for something completely different...';
$db->sql_query('ANALYZE TABLES ' . TOPICS_TABLE . ', ' . POSTS_TABLE);
}
else
{
echo '<meta http-equiv="refresh" content="0; url=fill.' . $phpEx . '?start=' . $topic_id . '&amp;' . time() . '">To the next page... (' . $topic_id . '/' . $num_topics . ')';
}
break;
case 'sync':
error_reporting(E_ALL);
$sync_all = TRUE;
if ($sync_all)
{
$s = explode(' ', microtime());
sync('topic', '', '', TRUE, FALSE);
// sync('forum');
$e = explode(' ', microtime());
echo '<pre><b>' . ($e[0] + $e[1] - $s[0] - $s[1]) . '</b></pre>';
echo '<a href="fill.' . $phpEx . '">Here we go again</a>';
}
else
{
$batch_size = $batch_size * 10;
$end = $start + $batch_size;
$s = explode(' ', microtime());
sync('topic', 'range', "topic_id BETWEEN $start AND $end", TRUE, FALSE);
$e = explode(' ', microtime());
echo '<pre>Time taken: <b>' . ($e[0] + $e[1] - $s[0] - $s[1]) . '</b></pre>';
if ($end < $num_topics)
{
$start += $batch_size;
echo '<meta http-equiv="refresh" content="0; url=fill.' . $phpEx . "?mode=sync&amp;start=$start&amp;" . time() . "\">And now for something completely different... ($start/$num_topics)";
}
else
{
echo '<a href="fill.' . $phpEx . '">Here we go again</a>';
}
}
if (isset($_GET['explain']))
{
trigger_error('Done');
}
}
function rndm_username()
{
static $usernames;
if (!isset($usernames))
{
$usernames = get_defined_functions();
$usernames = $usernames['internal'];
}
return $usernames[array_rand($usernames)];
}
?>

View File

@@ -7,18 +7,21 @@
#
# UPDATE: 7/31/2001: fix so that it doesn't touch things in the images directory
#
# UPDATE: 12/15/2003: Fix so that it doesn't touch any "non-text" files
#
find . > FILELIST.$$
grep -sv FILELIST FILELIST.$$ > FILELIST2.$$
grep -sv $(basename $0) FILELIST2.$$ > FILELIST.$$
grep -sv "^\.$" FILELIST.$$ > FILELIST2.$$
grep -sv "images" FILELIST2.$$ > FILELIST
file -f FILELIST2.$$ |grep text | sed -e 's/^\([^\:]*\)\:.*$/\1/' > FILELIST
file -f FILELIST2.$$ |grep -sv text | sed -e 's/^\([^\:]*\)\:.*$/Not Modifying file: \1/'
rm FILELIST2.$$
rm FILELIST.$$
for i in $(cat FILELIST); do
if [ -f $i ]; then
sed -e s/
sed -e s/
//g $i > $i.tmp
mv $i.tmp $i
fi

View File

@@ -1,64 +0,0 @@
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
echo "Inserting new config vars<br /><br />\n";
echo "server_name :: ";
flush();
$sql = "INSERT INTO " . CONFIG_TABLE . "
(config_name, config_value) VALUES ('server_name', 'www.myserver.tld')";
if( !$db->sql_query($sql) )
{
print "Failed inserting server_name config ... probably exists already<br />\n";
}
else
{
echo "DONE<br />\n";
}
echo "script_path :: ";
flush();
$sql = "INSERT INTO " . CONFIG_TABLE . "
(config_name, config_value) VALUES ('script_path', '/phpBB2/')";
if( !$db->sql_query($sql) )
{
print "Failed inserting script_path config ... probably exists already<br />\n";
}
else
{
echo "DONE<br />\n";
}
echo "server_port :: ";
flush();
$sql = "INSERT INTO " . CONFIG_TABLE . "
(config_name, config_value) VALUES ('server_port', '80')";
if( !$db->sql_query($sql) )
{
print "Failed inserting server_port config ... probably exists already<br />\n";
}
else
{
echo "DONE<br />\n";
}
$db->sql_close();
echo "<br />COMPLETE<br />\n";
?>

View File

@@ -0,0 +1,80 @@
<?php
// -------------------------------------------------------------
//
// $Id$
//
// FILENAME : merge_attachment_tables.php
// STARTED : Tue Nov 04, 2003
// COPYRIGHT : <20> 2001, 2003 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------
//
// 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");
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'config.'.$phpEx);
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
$cache = new acm();
$db = new sql_db();
// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
// Rename the attachments table...
$sql = "RENAME TABLE {$table_prefix}attachments TO {$table_prefix}attach_temp";
$db->sql_query($sql);
$sql = "CREATE TABLE {$table_prefix}attachments
SELECT d.*, a.post_id, a.user_id_from as poster_id, p.topic_id
FROM {$table_prefix}attach_desc d, {$table_prefix}attach_temp a, {$table_prefix}posts p
WHERE a.attach_id = d.attach_id
AND a.post_id = p.post_id";
$db->sql_query($sql);
switch (SQL_LAYER)
{
case 'mysql':
case 'mysql4':
$sql = 'ALTER TABLE ' . $table_prefix . 'attachments
ADD PRIMARY KEY (attach_id),
ADD INDEX filetime (filetime),
ADD INDEX post_id (post_id),
ADD INDEX poster_id (poster_id),
ADD INDEX physical_filename (physical_filename(10)),
ADD INDEX filesize (filesize),
ADD INDEX topic_id (topic_id),
MODIFY COLUMN attach_id mediumint(8) UNSIGNED NOT NULL auto_increment';
break;
case 'mssql':
case 'mssql-odbc':
case 'msaccess':
break;
case 'postgresql':
break;
}
$db->sql_query($sql);
//$db->sql_query("DROP TABLE {$table_prefix}attach_temp");
echo "<p><b>Done</b></p>\n";
?>

View File

@@ -0,0 +1,209 @@
<?php
/***************************************************************************
* merge_clean_posts.php
* -------------------
* begin : Tuesday, February 25, 2003
* copyright : (C) 2003 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
//
// 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");
@set_time_limit(2400);
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
define('IN_PHPBB', 1);
define('ANONYMOUS', 1);
$phpbb_root_path='./../';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
require($phpbb_root_path . 'includes/acm/cache_' . $acm_type . '.'.$phpEx);
include($phpbb_root_path . 'db/' . $dbms . '.'.$phpEx);
$cache = new acm();
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
// Just Do it (tm)
$sql = "RENAME TABLE {$table_prefix}posts TO {$table_prefix}posts_temp";
$db->sql_query($sql);
$sql = "CREATE TABLE {$table_prefix}posts
SELECT p.*, pt.post_subject, pt.post_text, pt.post_checksum, pt.bbcode_bitfield, pt.bbcode_uid
FROM {$table_prefix}posts_temp p, {$table_prefix}posts_text pt
WHERE pt.post_id = p.post_id";
$db->sql_query($sql);
switch (SQL_LAYER)
{
case 'mysql':
case 'mysql4':
$sql = 'ALTER TABLE ' . $table_prefix . 'posts
ADD PRIMARY KEY (post_id),
ADD INDEX topic_id (topic_id),
ADD INDEX poster_ip (poster_ip),
ADD INDEX post_approved (post_approved),
MODIFY COLUMN post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
ADD COLUMN post_encoding varchar(11) DEFAULT \'iso-8859-15\' NOT NULL';
break;
case 'mssql':
case 'mssql-odbc':
case 'msaccess':
break;
case 'postgresql':
break;
}
$db->sql_query($sql);
$sql = "UPDATE {$table_prefix}topics SET topic_poster = 1 WHERE topic_poster = 0 OR topic_poster IS NULL";
$db->sql_query($sql);
$sql = "UPDATE {$table_prefix}topics SET topic_last_poster_id = 1 WHERE topic_last_poster_id = 0 OR topic_last_poster_id IS NULL";
$db->sql_query($sql);
$sql = "UPDATE {$table_prefix}posts SET poster_id = 1 WHERE poster_id = 0 OR poster_id IS NULL";
$db->sql_query($sql);
$sql = "UPDATE {$table_prefix}users SET user_id = 1 WHERE user_id = 0";
$db->sql_query($sql);
$sql = "SELECT t.topic_id
FROM {$table_prefix}topics t
LEFT JOIN {$table_prefix}posts p ON p.topic_id = t.topic_id
WHERE p.topic_id IS NULL";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$del_sql = '';
do
{
$del_sql .= (($del_sql != '') ? ', ' : '') . $row['topic_id'];
}
while ($row = $db->sql_fetchrow($result));
$sql = "DELETE FROM {$table_prefix}topics
WHERE topic_id IN ($del_sql)";
$db->sql_query($sql);
}
$db->sql_freeresult($result);
$del_sql = '';
$sql = "SELECT topic_id, MIN(post_id) AS first_post_id, MAX(post_id) AS last_post_id, COUNT(post_id) AS total_posts
FROM {$table_prefix}posts
GROUP BY topic_id";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$del_sql .= (($del_sql != '') ? ', ' : '') . $row['topic_id'];
$sql = "UPDATE {$table_prefix}topics
SET topic_first_post_id = " . $row['first_post_id'] . ", topic_last_post_id = " . $row['last_post_id'] . ", topic_replies = " . ($row['total_posts'] - 1) . "
WHERE topic_id = " . $row['topic_id'];
$db->sql_query($sql);
}
$db->sql_freeresult($result);
$sql = "DELETE FROM {$table_prefix}topics WHERE topic_id NOT IN ($del_sql)";
$db->sql_query($sql);
$topic_count = $post_count = array();
$sql = "SELECT forum_id, COUNT(topic_id) AS topics
FROM {$table_prefix}topics
GROUP BY forum_id";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$topic_count[$row['forum_id']] = $row['topics'];
}
$db->sql_freeresult($result);
$sql = "SELECT forum_id, COUNT(post_id) AS posts
FROM {$table_prefix}posts
GROUP BY forum_id";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$post_count[$row['forum_id']] = $row['posts'];
}
$db->sql_freeresult($result);
switch (SQL_LAYER)
{
case 'oracle':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM " . $table_prefix . "forums f, " . $table_prefix . "posts p, " . $table_prefix . "users u
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)";
break;
default:
$sql = "SELECT f.forum_id, p.post_time, p.post_username, u.username, u.user_id
FROM ((" . $table_prefix . "forums f
LEFT JOIN " . $table_prefix . "posts p ON p.post_id = f.forum_last_post_id)
LEFT JOIN " . $table_prefix . "users u ON u.user_id = p.poster_id)";
break;
}
$result = $db->sql_query($sql);
$sql_ary = array();
while ($row = $db->sql_fetchrow($result))
{
$forum_id = $row['forum_id'];
$sql_ary[] = "UPDATE " . $table_prefix . "forums
SET forum_last_poster_id = " . ((!empty($row['user_id']) && $row['user_id'] != ANONYMOUS) ? $row['user_id'] : ANONYMOUS) . ", forum_last_poster_name = '" . ((!empty($row['user_id']) && $row['user_id'] != ANONYMOUS) ? addslashes($row['username']) : addslashes($row['post_username'])) . "', forum_last_post_time = " . $row['post_time'] . ", forum_posts = " . (($post_count[$forum_id]) ? $post_count[$forum_id] : 0) . ", forum_topics = " . (($topic_count[$forum_id]) ? $topic_count[$forum_id] : 0) . "
WHERE forum_id = $forum_id";
$sql = "SELECT t.topic_id, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . $table_prefix . "topics t, " . $table_prefix . "users u, " . $table_prefix . "posts p, " . $table_prefix . "posts p2, " . $table_prefix . "users u2
WHERE t.forum_id = $forum_id
AND u.user_id = t.topic_poster
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id";
$result2 = $db->sql_query($sql);
while ($row2 = $db->sql_fetchrow($result2))
{
$sql_ary[] = "UPDATE " . $table_prefix . "topics
SET topic_poster = " . $row2['user_id'] . ", topic_first_poster_name = '" . ((!empty($row2['user_id']) && $row2['user_id'] != ANONYMOUS) ? addslashes($row2['username']) : addslashes($row2['post_username'])) . "', topic_last_poster_id = " . ((!empty($row2['id2']) && $row2['id2'] != ANONYMOUS) ? $row2['id2'] : ANONYMOUS) . ", topic_last_post_time = " . $row2['post_time'] . ", topic_last_poster_name = '" . ((!empty($row2['id2']) && $row2['id2'] != ANONYMOUS) ? addslashes($row2['user2']) : addslashes($row2['post_username2'])) . "'
WHERE topic_id = " . $row2['topic_id'];
}
$db->sql_freeresult($result2);
unset($row2);
}
$db->sql_freeresult($result);
foreach ($sql_ary as $sql)
{
$sql . "<br />";
$db->sql_query($sql);
}
echo "<p><b>Done</b></p>\n";
?>

View File

@@ -1,42 +0,0 @@
<html>
<body>
<?php
//
// 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");
//
// Do not change anything below this line.
//
$phpbb_root_path = "../";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
echo "\n<br >\n" . $sql = "INSERT INTO " . CONFIG_TABLE . "
(config_name, config_value) VALUES ('record_online_users', '1')";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert config key 'record_online_users'", "", __LINE__, __FILE__, $sql);
}
echo "\n<br >\n" . $sql = "INSERT INTO " . CONFIG_TABLE . "
(config_name, config_value) VALUES ('record_online_date', '".time()."')";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert config key 'record_online_date'", "", __LINE__, __FILE__, $sql);
}
echo "\n<br />\nCOMPLETE";
?>
</body>
</html>

View File

@@ -1,82 +0,0 @@
<?php
/***************************************************************************
* revar_lang_files.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
//
// 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");
$vars = array('lang_main' => 'lang', 'lang_admin' => 'lang', 'lang_faq' => 'faq', 'lang_bbcode' => 'faq');
$dirname = "./../language";
$dir = opendir($dirname);
while ( $file = readdir($dir) )
{
if ( ereg("^lang_", $file) && !is_file(realpath($dirname . "/" . $file)) && !is_link(realpath($dirname . "/" . $file)) )
{
foreach($vars as $lang_file => $lang_var)
{
$$lang_var = array();
include($dirname . "/" . $file . "/" . $lang_file . '.php');
$store = "";
while( list($key, $value) = each($$lang_var) )
{
if ( !is_array($value) )
{
$key = ( is_string($key) ) ? "'$key'" : $key;
$store .= ( ( $store != "" ) ? ", \n\t" : "" ) . "$key => '" . addslashes($value) . "'";
}
else
{
$key = ( is_string($key) ) ? "'$key'" : $key;
$store .= ( ( $store != "" ) ? ", \n\t" : "" ) . "$key => array(\n\t\t";
$store2 = "";
while( list($key2, $value2) = each($value) )
{
$key2 = ( is_string($key) ) ? "'$key2'" : $key2;
$store2 .= ( ( $store2 != "" ) ? ", \n\t\t" : "" ) . "$key2 => '" . addslashes($value2) . "'";
}
$store .= $store2 . "\n\t)";
}
}
$store = "<?php\n\$$lang_var = array(\n\t$store\n);\n?".">";
$fp = fopen($dirname . "/" . $file . "/" . $lang_file . '.php', 'w');
fwrite($fp, $store);
fclose($fp);
}
}
}
?>

View File

@@ -33,7 +33,7 @@ $synonym_array = file($phpbb_root_path . "language/lang_english/search_synonyms.
// Fetch a batch of posts_text entries
//
$sql = "SELECT COUNT(*) as total, MAX(post_id) as max_post_id
FROM ". POSTS_TEXT_TABLE;
FROM ". POSTS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
$error = $db->sql_error();
@@ -56,7 +56,7 @@ for(;$postcounter <= $max_post_id; $postcounter += $batchsize)
$batchcount++;
$sql = "SELECT *
FROM " . POSTS_TEXT_TABLE . "
FROM " . POSTS_TABLE . "
WHERE post_id
BETWEEN $batchstart
AND $batchend";

View File

@@ -1 +1,33 @@
Please see: http://www.phpbb.com/about.php for a list of all the people involved in phpBB.
/* ********************************************************************** *\
/* *\
/* phpBB 2.2 <20> Copyright 2003 phpBB Group *\
/* *\
/* [ http://www.phpbb.com/ ] *\
/* *\
/* ********************************************************************** *\
phpBB Project Manager : theFinn (James Atkinson)
phpBB Lead Developer : psoTFX (Paul S. Owen)
phpBB Developers : Ashe (Ludovic Arnaud)
Acyd Burn (Meik Sievertsen)
phpBB Group : theFinn (James Atkinson)
psoTFX (Paul S. Owen)
BartVB (Bart Van Bragt)
ffeingol (Frank Feingold)
Original subSilver by subBlue Design, Tom Beddard, <20> 2001 phpBB Group
phpBB 2.2 contains code from the following applications:
LGPL licenced:
Smarty <20> 2001, 2002 by ispi of Lincoln, Inc, http://smarty.php.net/
GPL licenced:
phpMyAdmin <20> 2001,2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
Jabber class <20> 2003 Carlo Zottmann, http://phpjabber.g-blog.net
PHP License, version 3.0:
Pear <20> 2001-2004 PHP Group, http://pear.php.net

View File

@@ -1,602 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>phpBB 2.0.11 :: Changelog</title>
<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css" />
<style type="text/css">
<!--
p,ul,td {font-size:10pt;}
.h2 {font-size:15pt;font-weight:bold;color:red}
.h3 {font-size:12pt;color:blue}
//-->
</style>
</head>
<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#006699">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td class="bodyline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../templates/subSilver/images/logo_phpBB.gif" border="0" alt="phpBB 2 : Creating Communities" vspace="1" /></a></td>
<td align="center" width="100%" valign="middle"><span class="maintitle">phpBB 2.0.11 CHANGELOG</span></td>
</tr>
</table>
<!-- BEGIN DOCUMENT -->
<ol>
<li><a href="#changelog">Changelog</a></li>
<ol type="i">
<li><a href="#2010">Changes since 2.0.10</a></li>
<li><a href="#209">Changes since 2.0.9</a></li>
<li><a href="#208">Changes since 2.0.8</a></li>
<li><a href="#207">Changes since 2.0.7</a></li>
<li><a href="#206">Changes since 2.0.6</a></li>
<li><a href="#205">Changes since 2.0.5</a></li>
<li><a href="#204">Changes since 2.0.4</a></li>
<li><a href="#203">Changes since 2.0.3</a></li>
<li><a href="#202">Changes since 2.0.2</a></li>
<li><a href="#201">Changes since 2.0.1</a></li>
<li><a href="#200">Changes since 2.0.0</a></li>
<li><a href="#final">Changes since RC-4</a></li>
<li><a href="#rc4">Changes since RC-3</a></li>
<li><a href="#rc3">Changes since RC-2</a></li>
<li><a href="#rc2">Changes since RC-1</a></li>
<li><a href="#rc1">Changes since RC-1 (pre)</a></li>
</ol>
<li><a href="#disclaimer">Disclaimer</a></li>
</ol>
<a name="changelog"></a><h2 class="h2"><u>1. Changelog</u></h2>
<p>This is a non-exhaustive (but still near complete) changelog for phpBB 2.0.x including beta and release candidate versions. Our thanks to all those people who've contributed bug reports and code fixes.</p>
<a name="2010"></a><h3 class="h3">l.i. Changes since 2.0.10</h3>
<ul>
<li>Fixed vulnerability in highlighting code (<b>very high severity, please update your installation as soon as possible</b>)</li>
<li>Fixed unsetting global vars - <b>Matt Kavanagh</b></li>
<li>Fixed XSS vulnerability in username handling - <b>AnthraX101</b></li>
<li>Fixed not confirmed sql injection in username handling - <b>warmth</b></li>
<li>Added check for empty topic id in topic_review function</li>
<li>Added visual confirmation mod to code base</li>
</ul>
<a name="209"></a><h3 class="h3">l.ii. Changes since 2.0.9</h3>
<ul>
<li>Fixed deleting of styles in admin_styles.php</li>
<li>Fixed wrong unsetting of variables introduced in phpBB 2.0.9, making the board non-functional for users with specific php.ini settings</li>
<li>Added code to let phpBB work with PHP5 for those having register_long_arrays set to off (default settings) - running phpBB 2.0.x with PHP5 is not supported at http://www.phpbb.com.</li>
<li>Fixed bug in admin_board.php for board settings having single quotes in it</li>
<li>Fixed "search by author" in search.php. Now it is possible to search for users with special chars in their name too</li>
<li>Fixed forum jumpbox propagating session id in moderator control pages</li>
<li>Added check for newlines at redirecting pages, to prevent http response splitting attacks - <b>Ory Segal and Amit Klein</b></li>
<li>Fixed visual confirmation code. The image was not created due to a wrong regular expression.</li>
</ul>
<a name="208"></a><h3 class="h3">l.iii. Changes since 2.0.8</h3>
<ul>
<li>Fixed one vulnerability in admin_board.php - <b>Xore</b></li>
<li>Added checking for proper session id characters to sessions and viewtopic to prevent injections - <b>Bartlomiej Korupczynski</b></li>
<li>Fixed injection vulnerabilities possible with linked avatars</li>
<li>Implemented unsetting globalised variables</li>
<li>Limited confirm switch to POST variable in posting</li>
<li>Changed IP code in common.php to prevent IP spoofing, which might introduce some problems with private IP Ranges showing up. - <b>Wang Products</b></li>
<li>Updated visual confirmation mod [pre-edited files]</li>
<li>Moved obtaining word censors in modcp out of topic generation loop [increased performance/lower query count] - spotted by <b>R45</b></li>
<li>Added the ability to link to https/ftps sites using the img bbcode tag</li>
<li>Fixed user online information in admin/index.php</li>
<li>Fixed getting group moderator in groupcp.php if running oracle backend - spotted by <b>pakman</b></li>
<li>Fixed use of non-existing result variable in modcp (poster_id instead of user_id)</li>
<li>Fixed several vulnerabilities (XSS, SQL Injection and path disclosure) only possible with register_globals enabled - <b>Matthew C. Kavanagh, Janek Vind</b></li>
<li>Fixed problem with SID not delivered to next page in groupcp.php</li>
</ul>
<a name="207"></a><h3 class="h3">l.iv. Changes since 2.0.7</h3>
<ul>
<li>Fixed several vulnerabilities in admin pages</li>
<li>Fixed sid checking code in admin/pagestart.php</li>
<li>Fixed injection vulnerabilities possible with the img bbcode tag</li>
<li>Limited allowed images in img bbcode tag to jpg, jpeg, gif and png</li>
<li>Fixed redirect problems - 2.0.7a</li>
<li>Fixed sql injection vulnerability in search - 2.0.7a</li>
<li>Fixed sql injection vulnerability in privmsg - 2.0.8a</li>
</ul>
<a name="206"></a><h3 class="h3">1.v. Changes since 2.0.6</h3>
<ul>
<li>Fixed several vulnerabilities in modcp - <b>Robert Lavierck</b></li>
<li>Changed whois lookup address within admin index</li>
<li>Fixed potential vulnerability in viewtopic postorder - 2.0.6d</li>
<li>Updates to cope with Zend Optimizer 2.5 problems - 2.0.6d - <b>jetset</b></li>
<li>Force specialcharing of redirect variable in login - <b>Pit</b></li>
<li>Fixed potential vulnerability in viewtopic postdays - <b>GulfTech Security Research</b></li>
<li>Fixed potential vulnerability in viewforum topicdays - <b>GulfTech Security Research</b></li>
<li>Fixed potential vulnerability in modcp</li>
<li>Fixed potential vulnerability in avatar gallery</li>
</ul>
<a name="205"></a><h3 class="h3">1.vi. Changes since 2.0.5</h3>
<ul>
<li>Fixed various email issues</li>
<li>Fixed registration email bug with Administrator Confirmation used</li>
<li>Fixed mass emailer</li>
<li>Fixed long post time issue</li>
<li>Fixed bug with usernames containing single quotes</li>
<li>Fixed word list bug - Word boundaries were not considered</li>
<li>Fixed vulnerability in style admin</li>
<li>Fixed sql injection vulnerability in viewtopic</li>
<li>Fixed vulnerability allowing server side variable access in search - <b>tendor</b></li>
<li>Fixed potential vulnerability in 2.0.5 login username entry - <b>throw away/eomer</b></li>
<li>Fixed sql injection with reset date format field in profile - <b>tendor</b></li>
</ul>
<a name="204"></a><h3 class="h3">1.vii. Changes since 2.0.4</h3>
<ul>
<li>Removed user facing session_id checks</li>
<li>Fixed user self-activation after deactivation</li>
<li>Fixed incorrect functioning of phpbb_realpath</li>
<li>Fixed wrong path to database schema files within the upgrade script</li>
<li>Fixed double quote problem with username validation</li>
<li>Allow & within email addresses</li>
<li>Fixed email validation for banned email addresses</li>
<li>Removed underline from email domain validation</li>
<li>Fixed redirection for sentbox folder, installation and email</li>
<li>Fixed poll deletion</li>
<li>Fixed Mozilla navigation bar</li>
<li>Fixed URL bbcode parsing</li>
<li>Fixed database timeouts while searching the forums</li>
<li>Fixed wrong email return path in admin mass mailing - <b>netclectic</b></li>
<li>Fixed MS-SQL failures within the update script</li>
<li>Fixed memberlist sort order</li>
<li>Fixed not showing leading spaces within Code BBCode</li>
<li>Fixed problem with adding double quotes to subject titles</li>
<li>Remove username input field from profile when user cannot change name</li>
<li>Fixed pagination error with highlighting</li>
<li>Fixed errors if no smilies are installed</li>
<li>Fixed CSS issues with IE 5.2 on MacOS X</li>
<li>Fixed missing sid propagation problem within the Moderator Control Panel</li>
<li>Fixed language variables within Authentication error output</li>
<li>Removed doubled CSS class definitions within input fields</li>
<li>Fixed username change within the Administration Panel</li>
<li>Added missing &lt;tr&gt; tags to index_body.tpl</li>
<li>Added missing username language variable to admin index page</li>
<li>Fixed moderator status update if a usergroup got deleted</li>
<li>Fixed poll handling upon post edit</li>
<li>Fixed remove common words from search table if post get pruned - <b>Nuttzy99</b></li>
<li>Fixed behaviour on splitting topics if no checkbox is selected</li>
<li>Anonymous is no longer displayed within Username dropdown boxes</li>
<li>Fixed viewprofile redirection if an invalid mode was specified</li>
<li>Fixed fraction settings within determining common words - <b>Novan</b></li>
<li>Prevent admin change usernames to his own within the ACP</li>
<li>Activation email is sent to all admins</li>
<li>Fixed conversion of &amp; to &amp;amp; in appropriate cases</li>
<li>Fixed display of "greater than topics per page" announcements preventing display of normal posts</li>
<li>Added variable checks to database backup and restore screen</li>
<li>Prevented pm popup window from resetting after visiting avatar gallery</li>
<li>Fixed special character handling with word censor</li>
<li>Added SID to jumpbox</li>
<li>Fixed problems with usernames using html special chars</li>
<li>Added GMT + 13 to English lang_main, all translators are encouraged to do likewise</li>
<li>Deleted doubled 'U_MEMBERLIST' assignment from page_header.php</li>
<li>Fixed wrong display of Signature Checkbox while editing Private Message</li>
<li>Fixed disappearing post text if emoticon was inserted directly after pressing a BBCode button</li>
<li>Display correct alt-tag for smilies within postings</li>
<li>Prevented the ability to apply BBCode to website contents</li>
<li>Fixed maxlength issue with password field in login_body.tpl</li>
<li>Fixed possible username duplication issue with validation and username length</li>
<li>Fixed split words function to handle additional foreign characters</li>
<li>Changed empty email To Field to use a non-disclosure delimiter</li>
<li>Fixed wrong language var in install.php - FTP Config screen</li>
<li>Fixed alt tag for locked topic images in viewforum_body.tpl</li>
<li>Fixed typo in groupcp.php - $lang['Unsub_success'] instead of $lang['Usub_success']</li>
<li>Fixed timezone display</li>
<li>Fixed wrong display of author quote tag within profile - <b>Cl1mh4224rd</b></li>
<li>Added deletion of sessions of users whose account is deactivated</li>
<li>Added mail header X-MimeOLE to the emailer class</li>
<li>Prevent registration if user is logged in or user trying to register again</li>
<li>Prevent usage of char(255) in usernames</li>
<li>Added check for additional FORWARDED_FOR IP's - <b>cosmos</b></li>
<li>Fixed handling of non-selection of option when voting</li>
<li>Fixed potential xss issue with memberslist mode</li>
<li>Default English support for visual confirmation - translators are encouraged to support this</li>
</ul>
<a name="203"></a><h3 class="h3">1.viii. Changes since 2.0.3</h3>
<ul>
<li>Fixed cross-browser scripting issue with highlight param</li>
<li>Back-ported highlighting code from phpBB 2.2</li>
<li>Add session id validation to posting, profile, email, voting - <b>Edwin van Vliet</b></li>
<li>Added {S_HIDDEN_FIELDS} template var to profile_send_email.tpl</li>
<li>Added "intval" fix for flood check, may resolve some issues</li>
<li>Added missing index to post_id for search_wordmatch</li>
<li>Fixed spelling error in search add words preventing use of stopword list</li>
<li>Fixed issue with search common words not being run</li>
<li>Introduce viewtopic resync patch by Ashe</li>
<li>Replace a for n in templating code</li>
<li>Fixed ordering in memberslist</li>
<li>Fixed group_id sequence issues with pgsql and msaccess</li>
<li>Fixed assumption of word censors in user notification</li>
<li>Fixed incorrect display of quotes in user management fields</li>
<li>Fixed entry of special chars in all profile fields - note this may cause temporary issues</li>
<li>Fixed incorrect display of quotes when using avatar gallery</li>
<li>Fixed missing username in email sent to users when admin activated</li>
<li>Added check for non-empty smiley code and url in smiley admin</li>
<li>Prevent display of -- sig seperator in emails when no board sig exists</li>
<li>Fixed URL propagated sid issues with jumpbox</li>
<li>Fixed wrong mode name check (polldelete) in functions_post</li>
<li>Added missing root path to l10n image path check</li>
<li>Remove validation of fields when deleting a user</li>
<li>Fixed sort mode select box in memberslist to default to current mode</li>
<li>Deny inline topic review listing to users without auth_read permissions</li>
<li>Prevent display of topic notification checkbox if user cannot read forum</li>
<li>Remove incorrect pre-pending of IP to uploaded avatars</li>
<li>Fixed deletion of uploaded avatars when changing to remote/gallery</li>
<li>Added check for non-blank line during install schema/basic sql ops</li>
<li>Added sort ordering to Top Ten poster listing by request</li>
<li>Fixed incorrect error report when altering case of username</li>
<li>Added jumpbox output to modcp {JUMPBOX} will now work</li>
<li>Fixed non-updating of users with MOD levels when deleting a forum</li>
<li>Remove email to group moderator when approving new members</li>
<li>Fixed non-handling of HTML in poll options</li>
<li>Fixed non-deletion of polls when deleting forum and its posts</li>
<li>Fixed moved shadow topic from being bumped upon reply</li>
<li>Changed field size of timezone to decimal(5,2) where applicable</li>
<li>Fixed missing sid append to URL when redirecting to newest reply</li>
<li>Fixed missing slashes in private IP preg check</li>
<li>Fixed session not setting userdata['user_id'] to ANON as appropriate</li>
<li>Added check for non-empty name in disallow admin</li>
<li>Fixed validation of SSL website addresses in profile</li>
<li>Fixed inability of admins to upload avatars via user admin panel</li>
<li>Fixed non-deletion of private message text upon full box overwrite</li>
<li>Fixed incorrect error message in smiley admin</li>
<li>Fixed incorrect alt-text for "Stop Watching Topic" image</li>
<li>Temporary fix for missing lang strings in forum admin - translators should update their packages if not done already</li>
<li>Use selected localisation during later stages of installation</li>
<li>Fixed non-check of permissions when deleting a topic via Moderator Control Panel</li>
<li>Fixed non-update of banlist upon user deletion</li>
<li>Check approved users boxes by default in usergroup approve form</li>
<li>Fixed non-appending of sid to backup meta refresh</li>
<li>Fixed non-notification of no support for certain databases in backup/restore</li>
<li>Added $images var to message die global declaration</li>
<li>Fixed wrong string, Private_message in Private Messaging</li>
<li>Add mail send result to error output</li>
<li>Fixed non-appending of sid to Mozilla nav bar menu items</li>
<li>Fixed incorrect profile linking from MSNM url in private messaging</li>
<li>Grammatical errors in English lang_main fixed - <b>Cluster</b></li>
<li>Allow deletion of avatar and simultaneous upload/linking/gallery selection</li>
<li>Fixed non-updating of user rank when changing from special to normal rank in rank admin</li>
<li>Changed user topic notification default in schemas to 0 (off)</li>
<li>Fixed non-XHTML compliant img tags in privmsg.php</li>
<li>Fixed non-deletion of announcements and polls when removing forum contents in forum admin</li>
<li>Fixed non-pruning of watched topics table when pruning related topics</li>
<li>Enable GET redirect on logout</li>
<li>Added check for IE6.x to viewtopic ICQ indicator javascript</li>
<li>Fixed empty username quoting with MS-SQL</li>
<li>Fixed BBCode url, magic url and img tags to allow most chars beyond domain names</li>
<li>Prevent parsing of -ve size values in BBCode size tag</li>
<li>Back ported HTML handler from 2.2, this may impact some boards which allow complex HTML - existing parser remains but commented out</li>
<li>Fixed parsing of word censors to not censor words within &lt; and &gt; tag delimiters</li>
<li>Fixed database utilities failing to backup data with MySQL</li>
<li>Fixed signature parsing in User Admin</li>
<li>Fixed missing class="post" tags in subSilver Admin templates</li>
<li>Fixes for paths under Apache2</li>
<li>Added wrap text with tag support for posting in Mozilla 1.1+</li>
<li>Fixed use of missing CSS classes in modcp_split, group_info_body, error_body and agreement</li>
<li>Fixed ability of users to edit polls even after they have received votes</li>
<li>Fixed header Location to be absolute URL as per HTTP 1.1 spec - noted by <b>PhilippK</b></li>
<li>Added additional session_id checks to MCP, topic subscription, PM and similar items</li>
<li>Fixed colour select box in posting_body to reset to Default colour after selection</li>
<li>Altered PM icon to show new image until messages have been read</li>
<li>Fixed incomplete deletion of PMs when removing the associated user</li>
<li>Fixed unread and new PM user counters to decrement appropriately in all situations</li>
<li>Fixed possible cross-site scripting issue with username search</li>
<li>Fixed some problems with gzip in combination with newer PHP versions and Mozilla</li>
<li>Fixed wrong maxlength in modcp_split.tpl subject field</li>
<li>Fixed inability to edit username of guest poster - <b>vHiker</b></li>
<li>Fixed ability for guests to post with certain registered usernames</li>
<li>Fixed various HTML issues to improve XHTML compliance - <b>Daz</b></li>
<li>Fixed missing template var {L_PM} for memberslist - <b>Daz</b></li>
<li>Fixed wrong key name for $images['Topic_un_watch'] - <b>Daz</b></li>
<li>Fixed missing template var {S_WATCH_TOPIC_IMG} for viewtopic - <b>Daz</b></li>
<li>Fixed missing default constraints for post table under MSSQL</li>
<li>Fixed incorrect field size for forum pruning - preventing days > 256</li>
<li>Fixed continuing redirect issues for broken web servers, e.g. IIS+CGI PHP</li>
<li>Fixed inability to use ftp as a protocol for the [img] tag</li>
<li>Fixed incorrect handling of [img] tags containing %20 encoded spaces</li>
<li>Added check for . within cookie_name, change to _ if present</li>
<li>Added SHOW_ONLINE constant to limit "users online" code operation to index and viewforum</li>
<li>Added "temporary" workaround for Apache2 + PHP module ignoring "private" cache header</li>
<li>Added workaround for modcp IP lookup and links to Anonymous user profile</li>
<li>Fixed broken bbcode parsing of quotes containing bbcode in the "username"</li>
<li>Fixed excess slashes in [quote=""] first pass encoding</li>
<li>Fixed rendering issue with quote button under Mozilla - <b>Daz</b></li>
<li>Grammatical errors in remaining core lang files fixed - <b>Cluster</b></li>
<li>Fixed bbcode quote breaking when username contained ] before [</li>
<li>Fixed duplicate group_id error during upgrade of users from phpBB 1.x</li>
<li>Fixed stripslashes() problem with the conversion of the config table from phpBB 1.x</li>
<li>Rejiggled validation code, may eliminate "Username disallowed" issues</li>
<li>Fixed differing initial "public" setting of forum permissions between different files</li>
<li>Added check for invalid (non-compliant) email addresses to upgrade script</li>
<li>Further redirect workarounds for broken servers, please direct further issues to the vendors</li>
<li>Added GMT + 13 to English lang_main, all translators are encouraged to do likewise</li>
<li>Added switch to default_lang email template if user lang template no longer exists</li>
<li>Fixed javascript error when selecting smiley containing a single quote</li>
<li>Update users watched topic if a post they made is split into a new topic</li>
<li>Fixed situations where email templates contain incorrect or missing subject lines</li>
<li>Fixed error when searching for posts and no forums exist</li>
<li>Fixed potential SQL vulnerability with marking of private messages - <b>Ulf Harnhammar</b></li>
</ul>
<a name="202"></a><h3 class="h3">1.ix. Changes since 2.0.2</h3>
<ul>
<li>Fixed potential cross-site scripting vulnerability with avatars - <b>Showscout</b></li>
<li>Fixed potential SQL rewrite issue in page header - <b>missing contrib</b></li>
<li>Fixed potential CSS/HTML rewrite on viewing in login - <b>Marc Rees</b></li>
<li>Fixed (hopefully) issue with MS Access and multiple pages</li>
</ul>
<a name="201"></a><h3 class="h3">1.x. Changes since 2.0.1</h3>
<ul>
<li>Fixed missing "username" lang variable in user admin template</li>
<li>Session work around for users behind rotating IPs - <b>vHiker</b></li>
<li>Fixed potential session user_id re-write - <b>Ashe</b></li>
<li>Fixed potential cross-browser scripting issue with BBCode URLs</li>
<li>Fixed potential gallery avatar exploit - <b>Ashe</b></li>
<li>Fix sorting of smileys on each function call - <b>Ashe/psoTFX</b></li>
<li>Clear topic_mod text output in viewtopic - <b>Lars</b></li>
<li>Fix regex for avatar remote urls</li>
<li>Fix non-updating of user post counts when deleting whole topics</li>
<li>Increase time limit when sending topic reply notifications</li>
<li>Set default forum when splitting topics</li>
<li>Fix non-deletion of uploaded avatars when switching to gallery</li>
<li>Removed various closing newlines from included files</li>
<li>Add MAX_ROWS to HEAP table alter in install/upgrade - <b>Ashe</b></li>
<li>Update username maxlength for subSilver templates</li>
<li>Allow <b>(</b> and <b>)</b> in BBCode [url] tags</li>
<li>Fix non-quoting of <b>#</b> in username validation regexs</li>
<li>Fix overlooked global var in private messaging</li>
<li>Possible fix for \r\n email templates issues</li>
<li>Fix missing str_replace for category title forum admin SQL</li>
<li>Fix trailing <b>,</b> when sending emails via smtp</li>
<li>Fix avatar issues in user admin</li>
<li>Fix improper checking of email address ban in sessions</li>
<li>Fix use of hard coded language strings in forum admin</li>
<li>Fix missing closing <b>)</b> in smilies admin</li>
<li>Fix missing Username label in user admin</li>
<li>Fix upgrade.php bug where conversion would not complete (and updated other scripts to match the changes)</li>
<li>Fix problem with redirect and login.php</li>
<li>Fix typo that could cause problems with sorting in the memberlist</li>
<li>Fix emailer to allow sending emails with language-specific character sets</li>
</ul>
<a name="200"></a><h3 class="h3">1.xi. Changes since 2.0.0</h3>
<ul>
<li>Fixed delete image bug for normal users</li>
<li>Fixed group control panel image links</li>
<li>Fixed missing L_POST variable in group control panel</li>
<li>Fixed missing user id when redirecting to email form after login</li>
<li>Fixed (a)ppend_sid function name error in group control panel</li>
<li>Fixed reset of post type when previewing a post</li>
<li>Fixed mass emailer include path error</li>
<li>Fixed potential SQL exploit</li>
<li>Fixed several minor subSilver issues</li>
<li>Fixed [quote] breaking HTML problem</li>
<li>Fixed problem with unclosed nested quotes</li>
<li>Fixed bad handling of automagic links at end of quotes</li>
<li>Fixed potential BBCode and avatar remote exploit</li>
<li>Altered email validation check to allow + in username as per RFC</li>
<li>Fixed incorrect behaviour with wildcards in disallowed usernames</li>
<li>Added missing append_sid for search view results as posts</li>
<li>Fixed incorrect clearing of current sessions for logged in users</li>
<li>Fixed user_timezone (cannot update user profile) problem</li>
<li>Added correct setting of moderator status for users during upgrade</li>
<li>Fixed handling of uploaded avatars if gallery avatar currently used</li>
<li>Fixed use of existing username for uploaded avatars</li>
<li>Fixed updating of topic reply stats when post is deleted</li>
<li>Fixed irrelevant error message when activating already active account</li>
<li>Fixed gzip compression problems with Netscape and some PHP versions</li>
<li>Fixed MS Access layer errors when using latest PHP versions</li>
<li>Fixed styles admin editing problems with MSSQL Server</li>
<li>Fixed logout issue when cancelling certain actions</li>
<li>Fixed missing text in certain admin links</li>
<li>Fixed opening of frame within frame when logging into admin</li>
<li>Fixed incorrect ordering of search results by time</li>
<li>Fixed fulltext searching failure with MS Access</li>
<li>Hopefully fixed fulltext search with non-latin single byte charsets</li>
<li>Enabled work-around support for some multi-byte charsets - <b>OOHOO</b></li>
<li>Re-enabled search indexing of all-numeric character sequences</li>
<li>Updated email banning to properly implement wildcards</li>
<li>Fixed missing extension in links from groupcp</li>
<li>Fixed lack of re-validation when changing email address</li>
<li>Added additional IP check when using HTTP_X_FORWARDED_FOR</li>
<li>Fixed non-display of delete icon when on second or greater topic page</li>
<li>Fixed problems with users/groups assigned multiple permissions</li>
<li>Fixed problem with - and + in search words - <b>Matthijs</b></li>
<li>Fixed improper handling for deletion of words from search table</li>
<li>Fixed support for <b>,</b> in automagic URLs as per RFC</li>
<li>Fixed circular reference SQL errors when deleting posts under MS Access</li>
<li>Fixed nested [code] problems</li>
<li>Added charset encoding headers for emails - <b>romutis</b></li>
<li>Fixed "Copy to self" emails to use correct language</li>
<li>Fixed pagination error when limiting previous days for viewforum</li>
<li>Decreased minimum search word size to 3 chars</li>
<li>Fixed deletion of one or more options from all polls when editing just one</li>
<li>Fixed checking of group memberships when promoting/demoting group moderators</li>
<li>Added database closure to admin frameset page</li>
</ul>
<a name="final"></a><h3 class="h3">1.xii. Changes since RC-4</h3>
<ul>
<li>Fixed improper report of general error when posting messages containing errors</li>
<li>Fixed post text being doubled up if it contained one or more &lt; without closing &gt;</li>
<li>Fixed pruning errors due to search function name change</li>
<li>Hopefully fixed various issues which led to incorrect reply and excess page counts</li>
<li>Fixed groupcp not displaying all email buttons to group moderator or admin</li>
<li>Fixed failure to display error notice when uploading oversized avatars</li>
<li>Hopefully corrected problem with viewonline displaying too few/many users online</li>
<li>Partially addressed issue with activation URLs >76 chars</li>
<li>Fixed additional search facilities failing to work or working incorrectly</li>
<li>Fixed search syntax highlighting</li>
<li>Addressed various webservers handling of page redirects</li>
<li>Fixed word censor not replacing first or last words</li>
<li>Fixed avatar height and width check for locally uploaded images</li>
<li>Hopefully fixed cache control header</li>
<li>Added check for PM box size limit of 0 to prevent div0 error</li>
<li>Fixed failure to fully delete PMs in outbox</li>
<li>Fixed display problem with polls</li>
<li>Fixed problem with guest username not being displayed for topic results in search</li>
<li>Fixed problem with quotes in various profile fields</li>
<li>Fixed schema problem with user_timezone</li>
<li>Fixed page display issue with MS Access</li>
<li>Fixed user level issue when altering user from user to admin and vice versa</li>
<li>Fixed incorrect parseing of some email templates</li>
<li>Reduced size of MS Access primer</li>
<li>Fixed various remaining usergroup display issues</li>
</ul>
<a name="rc4"></a><h3 class="h3">1.xiii. Changes since RC-3</h3>
<ul>
<li>Addressed serious security issue with included files</li>
<li>Fixed non-use of database table prefix name during upgrade</li>
<li>Split functions and profile into separate modules</li>
<li>Fixed (hopefully) remaining issues with colourisation of moderator usernames</li>
<li>Updated install to include entry of additional, required, information</li>
<li>Fixed (hopefully) AOL incompatibilities</li>
<li>Fixed non-display of moderators in index/viewforum</li>
<li>Fixed group control panel 'no groups exist' problems</li>
<li>Fix HTTP_X_FORWARDED_FOR spoofing possibility</li>
<li>Fix ignoring of private range IP's in HTTP_X_FORWARDED_FOR</li>
<li>Enable multiple wildcard email banning, eg. *name*@somewhere.tld</li>
<li>Fix problems with posts being truncated if containing &lt; and &gt; characters</li>
<li>Prevent URL, BBCode and most smiley parseing in [code][/code]</li>
<li>Fix problems with use of certain reserved chars in word censor list</li>
<li>Fix default search useage to be as described (was doing AND by default)</li>
<li>Fix various avatar issues with profile, gallery and viewtopic</li>
<li>Enable safe mode support for uploading avatars</li>
<li>Fix broken modcp IP view issue</li>
<li>Fix potential session_id re-write vulnerability</li>
<li>Finish localisation of days and months (AM/PM are not and will not be localised in 2.0)</li>
<li>Remove link to external subSilver stylesheet from default subSilver templates</li>
<li>Handle TRANSACTIONS correctly in MySQL 3.x (by returning correct responses)</li>
<li>Fix checkbox resetting problem while previewing posts</li>
<li>Fix a login redirect issue</li>
<li>Remove some additional unused fields during upgrade</li>
<li>Fix (hopefully) remaining ICQ overlay issue with view profile in subSilver</li>
</ul>
<a name="rc3"></a><h3 class="h3">1.xiv. Changes since RC-2</h3>
<ul>
<li>Fixed infamous install parse error</li>
<li>Major update of posting and related search functions (fixing various issues and increasing speed)</li>
<li>Fixed display of author and last poster names when both are different guest users</li>
<li>Fixed upgrade stall issues (hopefully!) and improved output</li>
<li>Fixed highlighting code for viewtopic and search</li>
<li>Reduced size of several files and functions</li>
<li>Moved localised images to sub-directories</li>
<li>Improved user feedback of disallowed usernames</li>
<li>Fixed various MSSQL bugs</li>
<li>Fixed installation of MSSQL/MSSQL-ODBC</li>
<li>Fixed security issue with upgrade.php</li>
<li>Finished implemention of various additional features</li>
<li>Fixed various user, group and forum permissions problems</li>
<li>Fixed issues with BBCode [ and ] (hopefully!)</li>
<li>Fixed autologin problems with MS IIS</li>
<li>Hopefully fixed problems with URIs in emails on some server configs</li>
<li>Fixed 'blank' profile and DB utilities problems on submit</li>
<li>Fixed incorrect language being used in email subjects</li>
<li>Fixed issues with incorrect private message new/unread counts</li>
<li>Fixed various PostgreSQL related errors</li>
<li>Automatically forward users to login screen in more situations</li>
<li>AEnabled (coloured) online indication of moderators and admins</li>
<li>Enabled maximum online user count</li>
<li>Altered online user count to ignore duplicate IPs (will now underestimate rather than overestimate)</li>
<li>Enabled viewing of users browsing each forum</li>
<li>Fixed (hopefully) display of overlayed ICQ icon in Netscape using subSilver</li>
<li>Fixed display of guest usernames for last post and author</li>
<li>Hidden usergroups are now completely hidden from view</li>
</ul>
<a name="rc2"></a><h3 class="h3">1.xv. Changes since RC-1</h3>
<ul>
<li>Fixed numerous PostgreSQL related issues</li>
<li>Significant updates and additions to the upgrade script</li>
<li>Various (missed) hard coded language strings fixed</li>
<li>Fixed viewforum error when no forum id specified</li>
<li>Fixed old constant name useage in search system</li>
<li>Fixed display of moved posts when viewing unanswered posts</li>
<li>Fixed failure of search for user and keyword when displaying as posts</li>
<li>Fixed PM popup notification</li>
<li>Fixed view more emoticon session page problem</li>
<li>Fixed view profile email links</li>
<li>Fixed display of websites in profile</li>
<li>Fixed backup database failure</li>
<li>Fixed MS Access schema error when posting topics</li>
<li>Fixed problem with hypenated/dotted DB names in MySQL 3.23.6+</li>
<li>Various other fixes and updates</li>
</ul>
<a name="rc1"></a><h3 class="h3">1.xvi. Changes since RC-1 (pre)</h3>
<ul>
<li>Upgrade script completed for initial fully functional release</li>
<li>Sessions code updated</li>
<li>Mark read code updated and hopefully fixed</li>
<li>Significant changes to properly deal with \' for non-MySQL boards</li>
<li>mssql, msaccess and mssql-odbc DB classes re-written</li>
<li>Avatar issues addressed and fixed</li>
<li>Search (INSERT) bug using MySQL fixed</li>
<li>Search highlighting issues addressed</li>
<li>Search own/other users posts fixed</li>
<li>BBCode fixes for magic URIs and other issues</li>
<li>Template updates for subSilver</li>
<li>User and group permissions problems fixed</li>
<li>Forum management problems (deletion of forum causing category not to display) fixed</li>
<li>Pagination problem with groupcp fixed</li>
<li>Backslash issues with posting and profile fixed</li>
<li>Backslash issues with emails fixed</li>
<li>preg_quote problems fixed</li>
<li>User management updated with full avatar control and missing fields</li>
<li>Private messaging box limits fixed</li>
<li>Private messaging ?folder= strangeness fixed</li>
<li>Forum pruning code updated to cope with search system</li>
<li>Emoticon system in posting updated</li>
<li>BBCode FAQ link added to posting form</li>
<li>Language file updates to address concerns of translators</li>
<li>Various other bug fixes and updates</li>
</ul>
<p>Note that a full list of fixed bugs can be found at the bug tracker (see section on bug reporting <a href="README.html#bugs">here</a>)</p>
<a name="disclaimer"></a><h2 class="h2"><u>2. Copyright and disclaimer</u></h2>
<p>This application is opensource software released under the <a href="http://www.gnu.org/licenses/gpl.html" target="_new">GPL</a>. Please see source code and the Docs directory for more details. This package and its contents are Copyright <20> 2002 <a href="http://www.phpbb.com/" target="_new">phpBB Group</a>, All Rights Reserved.</p>
<!-- END DOCUMENT -->
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,206 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>phpBB 2.0.x :: FAQ</title>
<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css" />
<style type="text/css">
<!--
p,ul,td {font-size:10pt;}
h2 {font-size:15pt;font-weight:bold;}
h3 {font-size:12pt;}
//-->
</style>
</head>
<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#006699">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td class="bodyline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../templates/subSilver/images/logo_phpBB.gif" border="0" alt="phpBB 2 : Creating Communities" vspace="1" /></a></td>
<td align="center" width="100%" valign="middle"><span class="maintitle">phpBB 2.0.x FAQ</span></td>
</tr>
</table>
<!-- BEGIN DOCUMENT -->
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB2, the community forums (particularly the Tutorials forum) and our IRC channel (see <a href="README.html">README</a> for details).</p>
<ol>
<li><b>I cannot install this it is too difficult! Will you do it?</b></li>
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB 2.0.x the chances are you will be unable to administer or update it.</p>
<p>There are people, companies (unrelated to your hosting provider), etc. that will install your forum, either for free or for a payment. We do not recommend you make use of these offers. Unless the service is provided by your hosting company you will have to divulge passwords and other sensitive details. If you did not know how to use an ATM would you give a passer-by your bank card and PIN and ask them to show you what to do? No, probably not! The same applies to your hosting account details!</p>
<p>We think a better solution is for you to carefully read the enclosed documentation, read our tutorials forum at www.phpbb.com and if necessary ask for help on any thing you get stuck on. However, the decision is yours but please note we may not offer support if we believe you have had the board installed by a third party. In such cases you should direct your questions to that company or person/s.</p>
<li><b>How do I install this board on Lycos/coolfreepages/other free host?</b></li>
<p>The old addage "You get what you pay for" is particularly true for hosting services! However if you must use a free service (and recognise its limitations) you will find details on common pitfalls in our tutorials forum at <a href="http://www.phpbb.com/phpBB/">http://www.phpbb.com/phpBB/</a>.</p>
<li><b>I am having problems with the admin at a certain board, help!</b></li>
<li><b>A board has ripped off my graphics/software/etc., stop them!</b></li>
<li><b>A board is dealing in warez/porn/etc., you need to prevent them doing this!</b></li>
<p>We provide the software, we have absolutely nothing to do with any board that runs it (beyond phpbb.com of course!). The GPL grants the user an unlimited right of use subject to their adherence of that licence. Therefore we cannot prevent, dictate, control or otherwise limit the use of phpBB 2 software. So please do not contact us for such matters.</p>
<p>If you have a problem with a given board please take it up with them, not us. We are not and cannot be held legally responsible for any third party use of this software (much like Microsoft et al cannot be held responsible for the use of Windows in illegal activities, etc.). Additionally we do <b>not</b> track the use of phpBB software in any way. So please do not ask us for details on a "given" board we will not be able to help you. If any law firms or lawyers out there send us writs, Cease and Desist orders, etc. for third party website use of this software we reserve the right to charge for time wasted dealing with such issues ...</p>
<li><b>According to viewonline a user is doing/reading something they should not be able to!</b></li>
<p>No, they probably are not. phpBB uses sessions to keep track of users as they move between pages. The session information tells us who this user is. Therefore in order to determine what a user can do on a page we first need the session details. Once this data is available we can check whether the user is permitted to do whatever it is they are trying to do. This can result in it appearing as if a user is reading a topic in a forum they should not be able to access. Or perhaps viewing private messages when they are only guests, etc. In practice the user is not doing these things, they are viewing a "You are not permitted to do this" type message. The session data has simply been updated before we were able to determine what the user could or could not do.</p>
<p>Of course this only applies where permissions have been set correctly!</p>
<li><b>I keep getting Mail sending errors when I (or my users) post/send PM's/etc.!</b></li>
<p>This error will occur if phpBB cannot send mail. phpBB can send email two ways; using the PHP mail() function or directly via SMTP. Some hosting providers limit the mail() function to prevent its use in spamming, others may rename it or limit its functionality. In either case you may need to make use of SMTP. This requires that you have access to such a facility, e.g. your hosting provider may provide one (perhaps requiring specific written authorisation), etc. Note that if your provider requires authorisation we only support the simple AUTH method using plaintext username/password. We do not support secure sockets layer (SSL), POP3 send or any other method. Please see <a href="http://www.phpbb.com/phpBB/" target="_blank">http://www.phpbb.com/phpBB/</a> for additional help on this matter.</p>
<p>If you do require SMTP services please do not ask (on our forums or elsewhere) for someone to provide you with one. Open relays are now things of the past thanks to the unthinking spammers out there. Therefore you are unlikely to find someone willing to offer you (free) services.</p>
<li><b>My users are complaining that emails are not in their selected language!</b></li>
<p>You must have deleted a language pack or the language pack is incomplete. phpBB will try to send emails in the users selected language. If it cannot find a suitable email template it will switch to the boards default language.</p>
<li><b>The first four letters of my text disappeared when I hit submit!</b></li>
<p>Some forms in phpBB make use of arrays to "post" or submit data, e.g. polls, forum management, etc. A bug exists in PHP 4.2.3 (and perhaps older versions) which can cause such data to lose the first four characters of text. This bug is related to the presence of the mbstring module and certain compile time parameters (the problem exists for both compiled in and modular version of mbstring). Please see: <a href="http://bugs.php.net/bug.php?id=19460" target="_blank">http://bugs.php.net/bug.php?id=19460</a> for more details. Note the bug is fixed in PHP CVS and thus future versions should be immune. Remember, this is <b>not</b> a bug in phpBB 2.</p>
<li><b>My AOL based users keep getting logged out!</b></li>
<p>phpBB2 uses sessions to keep track of users as they browse the board. These sessions use a combination of a unique session id and the users IP to identify each user. We make use of the IP as an extra safe-guard to help prevent sessions being hijacked (by discovering the unique session id).</p>
<p>Unfortunately this only works when the users IP is constant as they browse the board. For most users this will be the case. However certain providers route their users via a cluster of proxys. In some cases, particularly AOL this results in different IPs being forwarded as the user moves between pages. We take account of this by not checking the entire IP but only the first "three quads". Again in most cases this will be fine. However again AOL uses IPs which can vary so much that checking only the first two quads results in a fairly static IP being available for session validation.</p>
<p>If you are experiencing problems related to this you can make a small change to the code. Please note that reducing the IP validation length does potentially increase the risk of sessions being hijacked (this is something for you to consider, phpBB Group takes no responsibility should anything happen!). The change requires you to open the file sessions.php in the includes/ directory of the distribution. Find line 250, it contains the following <pre>$ip_check_s = substr($userdata['session_ip'], 0, 6);</pre>change this to: <pre>$ip_check_s = substr($userdata['session_ip'], 0, <b>4</b>);</pre>You need to make exactly the same change to the number 6 in the next line. Save the file (and upload it if required). This should reduce or eliminate the problem noted.</p></li>
<li><b>I selected X for my timezone but the time is not correct!</b></li>
<p>I suspect the time is correct but that you may have switched (locally) to daylight savings time. At present we do not support daylight savings only standard local times. Therefore during summer months (depending on whether your nation/state switches to daylight savings) the board times may appear to be <b>one hour</b> behind the <i>real</i> local time. The solution is to either put up with it (just let your users know) or to move the timezone of everyone who is affected (remember that not all your users may be from nations who have switched to daylight savings) on one hour, eg. GMT becomes GMT+1. This requires running some SQL and you should search our forums for information.</p>
<p>If this is not the case then I suspect your servers time is at fault. phpBB 2 stores all times in the form of a unix timestamp. This is a 32bit integer value containing the number of seconds since the unix epoch event, 1st January 1970 00:00:00 GMT. This value is global in nature and will be the same wherever you are in the world. So, if your time is incorrect and you have selected the appropriate timezone chances are your server time is off.</p></li>
<li><b>I am seeing &amp;#nnnn; sequences output instead of what I typed!</b></li>
<p>To enable compliance with HTML and XHTML specifications as well as enabling browsers to automatically support a users selected language we enable a <i>charset</i> tag to be output to the browser. This identifies the primary character set the user has selected, eg. iso-8859-1 for Western European languages (English, German, French, etc.), windows-1251 for Cyrillic alphabets (Russian, Bulgarian, etc.) and so on. The downside to doing this is that most modern browsers (such as Internet Explorer) convert any character not present in that character set into what are termed <i>Numerical Character References</i> or NCR's. These take the form of &amp;#nnnn; where nnnn is the hexadecimal number of that characters UNICODE reference.</p>
<p>Unfortunately PHP (which effectively supports only iso-8859-1 at this time) does not appear to attempt to process this data back into normal characters. Therefore phpBB treats them as text the user has entered and wishes to <i>see</i>. phpBB enables this by turning the &amp; into &amp;amp;. This results in the characters appearing as they do. Although we could ignore &amp;#nnnn; (there are pro's and of course con's to doing so) at present we don't.</p>
<p>If you are finding this to be problem the solution is to remove the <pre>charset={S_CONTENT_ENCODING}</pre> text from <b>all</b> the _header.tpl template files in all templates. The downside to this is a users browser will not automatically switch its charset to that selected by the user (however this is unlikely to be a big problem since users typically run their browser by default in the language they wish to use). Alternatively you can modify the $lang['ENCODING'] entry in the appropriate language file. Until PHP (and all browsers!) trully support UNICODE these problems will persist across all boards.</p></li>
<li><b>I cannot search for certain words!</b>
<p>phpBB 2 uses a Fulltext search system, this has both advantages and disadvantages. The advantage is that on large or busy forums it has far less impact on server load than <i>standard</i> search methods as used by many alternative forums (including phpBB 1.x). The disadvantage is that to reduce the size of the database (every post is examined and unique words stored in a table) we have to limit the size and type of words we store. By default words must contain at least three characters but no more than 25, they must be either alpha or combinations of alpha and numerals (numbers alone are not stored). In addition all non-alphanumeric characters are removed, eg. _, +, -, etc. This is standard practice for fulltext search solutions.</p>
<p>A further downside is that non-latin alphabets, eg. Cyrillic, Greek, etc. require proper locale support to be compiled in and available on the server your board is running on. If this is not the case it is quite likely that words will not be properly indexed for storage. In many cases this can be recified by altering the setlocale(LC_ALL, '[LOCALE_HERE]'); statement in the appropriate language file. If you are experiencing problems you should change whatever is currently in place of [LOCALE_HERE] with the locale as available on your server. If you do not know this please ask your hosting provider. Some examples may be ru_RU.WIN_CP_1251 for the codepage used for the Russian translation, ko.KOI8 for Korean, etc.</p>
<p>Please note that support for multibyte character sets remains very limited in PHP4 and therefore Japanese, Chinese, etc. may have difficulty getting the fulltext search working correctly at all.</p>
<li><b>My screen is filled with errors when I try to view the forum!</b>
<p>Are they errors? Are you sure they are not warnings? They probably are ... What you're seeing is PHP warn you about unset variables. Great care has been taken with phpBB 2.0 to ensure it is secure. Unset variables while being a potential security risk really shouldn't be in 2.0. Unfortunately some hosting providers have decided that any unset variables equal security problems and force PHP to output these warnings even though phpBB 2.0 is set to ignore them.</p>
<p>We have worked some way toward checking and/or setting all variables before use but this will take time to complete (if it can be). Therefore I am afraid for the time being you will have to manually modify the code or ask your hosting provider to be more realistic with their setup.</p></li>
<li><b>How do I use the avatar settings?</b>
<p>There are three types of avatar; upload, remote and local.</p>
<p><ul>
<li>Upload types require you to create a directory (the default is images/avatars) and to set this to public read/write (ie. chmod a+rw), users can then upload avatars (subject to width, height and size limits definable by you).</li>
<li>Remote avatars allow the user to supply a URI pointing to an image available on the internet, <b>PLEASE NOTE</b> that size limits do not apply to remote avatars!</li>
<li>Local avatars allow you to upload your own avatars to a set directory, users can then pick from this avatar gallery. The default location for this is images/avatars/gallery. PLEASE NOTE that avatars are categorised according to sub-folders in this location! ie. you <b>MUST</b> place your avatars in subdirectories, eg. images/avatars/gallery/cartoons, images/avatars/gallery/real-life, etc.</li>
</ul></p></li>
<li><b>No matter what I set the uploadable avatars to I cannot upload one from my computer!</b>
<p>There are two possibilities here, the first is you have not created the directory you specified as the storage location for avatars, ie. as specified in the Admin->General Configuration->Avatars section. If the directory does not exist uploadeable avatars are automatically disabled. You should create the required directory (ensuring it has global write access or other appropriate permissions to allow the webserver to write files to it).</p>
<p>The second possibility is that your provider has disabled file_upload support, possibly because of a recently found serious security issue with PHP before version 4.1.2. You should contact your provider and ask them if this is the case. It may be unrelated to the security issue and your provider has simply decided to disable such things in general. In either case I'm afraid there is not a lot you can do, there are still three other avatar settings left to choose from including uploading via a URL which will work fine</p></li>
<li><b>I just cannot get gallery avatars to appear!</b>
<p>Chances are you have not followed our instructions above. phpBB 2 categorises gallery avatars and it does this by reading through folders contained in the location you specified as being the gallery path. For example, if you set the gallery path to "images/avatars/gallery" phpBB 2 will expect to find a series of folders within that path, eg. "images/avatars/gallery/moviestars", "images/avatars/gallery/cartoons", "images/avatars/gallery/misc", etc. Placing images directly in "images/avatars/gallery/" will result in nothing being listed in your gallery.</p></li>
<li><b>How do I set forum permissions?</b>
<p>You set forum permissions from the administration control panel -> Forums -> Permissions. This system has two modes of operation; Simple and Advanced. Simple uses a set of pre-defined authorisation levels, these set each type of authorisation setting to a specific level. Advanced settings allow you to specify individual levels for each operation in each forum. Experiment!</p></li>
<li><b>How do I set user and group permissions?</b>
<p>These are set from Admin -> Users (Groups) -> Permissions. The system may appear strange but it's very powerful. When you look up a user or group it will give you basic information (at the top of the page) followed by the available forum listing and current settings for this user. You can assign moderator status to users and groups and if you have PRIVATE forums (or forums with any of their individual operations set to PRIVATE) you can also assign access.</p></li>
<li><b>How do I set a user (group) as moderator?</b>
<p>See above</p></li>
<li><b>Why are there no entries in the user (group) permission "Allow Access" column?</b>
<p>You can only allow (or deny) users access to PRIVATE forums, or forums which have one or more operations set to PRIVATE</p></li>
<li><b>How come I cannot set "Vote" to ALL?</b></li>
<p>phpBB does not by default allow guest voting. This was done to prevent guest users (who cannot be reliably tracked) from voting time and time again in the same poll. There is a Mod available if you really need this feature, please see our Mod forums at <a href="http://www.phpbb.com/phpBB/">http://www.phpbb.com/phpBB/</a>.</p>
<li><b>I (or my users) cannot stay logged in to the forum!</b>
<p>If you (or your users) are, after attempting a login, being returned to the index (or other page) without appearing to be logged in the most likely problem is incorrect cookie settings. phpBB 2 uses cookies to store a session id and a small amount of user data. For this data to be stored correctly the cookie domain, path and secure settings must be correct. You can check this in Admin->General Configuration->Cookie settings. Typically the cookie domain can be left blank and the cookie path set to / (a single forward slash). Do <b>not</b> set the cookie as being secure unless your board is running over a secure sockets layer connection, ie. https://</p>
<p>If you still have problems try setting the cookie domain to your full domain name, eg. www.mysystem.tld, www.something.mydomain.tld. You <b>must</b> ensure the domain name contains at least two dots or browsers will be unlikely to recognise the cookie, eg. .mydomain.com, mydomain.com. Do <b>not</b> add http:// or anything else to the domain name!</p></li>
<li><b>My users are complaining about being logged out too quickly!</b>
<p>You can increase the default length of sessions (ie. how long before a users session is considered 'dead') in Admin->General->Configuration->Cookie Settings->Session Length. Set it to whatever value your users feel comfortable with, remember that security issues may affect your decision (ie. having too long a session may allow non-users to abuse your board should a user forget to logout or otherwise leave a current session on a public workstation).</p></li>
<li><b>I am having problems with HTML!</b>
<p>If you want to allow your users to make use of HTML in posts you need to do two things. Firstly enable HTML in Admin -> General -> Configuration. Secondly to need to make sure that the tags your users will post are in the Allowed HTML Tags field (again Admin -> General -> Configuration). If users post using tags not on this list they won't be displayed as HTML! eg. to enable someone to post Flash you could add the embed tag to this field. Be careful which tags you allow, it is very easy to break the boards own output if the wrong tags are used in posts. </p></p></li>
<li><b>Can I suggest a feature for phpBB 2.2?</b>
<p>Yes you most certainly can, phpBB 2.0.0 is now feature frozen and only bug fix releases will be made from this line. However, work has already started on the next release of phpBB, phpBB 2.2. We already have a number of features in mind and these are listed on our task manager:</p>
<p><a href="http://sourceforge.net/pm/task.php?group_project_id=13524&group_id=7885&func=browse" target="_tasks">http://sourceforge.net/pm/task.php?group_project_id=13524&group_id=7885&func=browse</a>.</p>
<p>Some of these features will also be discussed on forums at <a href="http://www.phpbb.com/phpBB/">http://www.phpbb.com/phpBB/</a>.</p>
<p>To suggest a feature first consult the task list mentioned above, if your idea is already listed then the chances are good that it will appear in 2.2. If your suggestion is not listed please submit it to our feature request tracker:</p>
<p><a href="http://sourceforge.net/tracker/index.php?group_id=7885&atid=357885" target="_features">http://sourceforge.net/tracker/index.php?group_id=7885&atid=357885</a>.</p>
<p>Before submitting please read through the already present suggestions, if one matches or is similar to yours please add to it rather than creating a new entry.</p>
<p>We make no promises to the inclusion of features but we will endeavour to introduce the most requested or most interesting ones.</p></li>
<li><b>Why is phpBB 1.x faster than phpBB 2.0?</b>
<p>The original phpBB 1.0 saw a very large decrease in page generation times from version 1.0/1.2 to 1.4. This was achieved by rewriting many of the SQL queries and splitting the database. These changes came about from work on phpBB 2.0. With phpBB 2.0 we have introduced numerous additional functions and features, not least of which is full templating (the separation of page design from code). This results in a slowdown from phpBB 1.4, we suspect though that the new features will outweigh the small difference in page generation times.</p></p></li>
<li><b>My question isn't answered here!</b>
Feel free to search our community forum for the information you require. <b>PLEASE DO NOT</b> post your question without having first used search, chances are someone has already asked and answered your question. You can find our board here:</p>
<p><a href="http://www.phpbb.com/phpBB/" target="_new">http://www.phpbb.com/phpBB/</a></p></li>
</ol>
<h2><u>Copyright and disclaimer</u></h2>
<p>This application is opensource software released under the <a href="http://www.gnu.org/licenses/gpl.html" target="_new">GPL</a>. Please see source code and the Docs directory for more details. This package and its contents are Copyright <20> 2002 <a href="http://www.phpbb.com/" target="_new">phpBB Group</a>, All Rights Reserved.</p>
<!-- END DOCUMENT -->
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,257 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>phpBB 2.0.11 :: Install</title>
<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css">
<style type="text/css">
<!--
p,ul,td {font-size:10pt;}
.h2 {font-size:15pt;font-weight:bold;color:red}
.h3 {font-size:12pt;color:blue}
//-->
</style>
</head>
<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#006699">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td class="bodyline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../templates/subSilver/images/logo_phpBB.gif" border="0" alt="phpBB 2 : Creating Communities" vspace="1" /></a></td>
<td align="center" width="100%" valign="middle"><span class="maintitle">phpBB 2.0.11 INSTALL</span></td>
</tr>
</table>
<!-- BEGIN DOCUMENT -->
<p align="center"><b>Please read this document completely before proceeding with installation.</b></p>
<p>Please note these instructions are not fully comprehensive, a more thorough userguide will be available on the phpBB website in the near future. However, this document will walk you through the basics on installing the forum software.</p>
<p>A basic overview of running phpBB 2.0.11 can be found in the accompanying <a href="README.html">README</a> documentation. Please ensure you read that document in addition to this! For more detailed information on using phpBB 2 you should read <a href="http://www.phpbb.com/guide/phpBB_Users_Guide.html" target="_new">Userguide</a> now available online.</p>
<ol>
<li><a href="#quickinstall">Quick Install</a></li>
<li><a href="#require">Requirements</a></li>
<li><a href="#install">New Installations</a></li>
<ol type="i">
<li><a href="#fileext">Changing the file extension</a></li>
<li><a href="#phpBB1x">Replacing an old phpBB 1.x install</a></li>
<li><a href="#nonaccess">Installing on MySQL 3 and 4, PostgreSQL 7.x, MS SQL 7/2000 (inc. via ODBC)</a></li>
<li><a href="#access">Installing on MS Access 2000/XP</a></li>
<li><a href="#requireddata">Entering required data</a></li>
<li><a href="#completeinstall">Completing installation</a></li>
</ol>
<li><a href="#upgrade1.x">Upgrade from phpBB 1.4.x</a></li>
<li><a href="#upgradeb1">Upgrade from phpBB 2.0 beta-1</a></li>
<li><a href="#upgradeRC">Upgrade from previous Release Candidate versions of phpBB 2</a></li>
<ol type="i">
<li><a href="#langtempchanges">Changes in language pack format and templates</a></li>
</ol>
<li><a href="#upgradeSTABLE">Upgrade from stable releases of phpBB 2.0.x</a></li>
<ol>
<li><a href="#upgradeSTABLE_full">Full package</a></li>
<li><a href="#upgradeSTABLE_files">Changed files only</a></li>
<li><a href="#upgradeSTABLE_patch">Patch file</a></li>
<li><a href="#upgradeSTABLE_all">All package types</a></li>
</ol>
<li><a href="#postinstall">Important (security related) post-Install tasks for all installation methods</a></li>
<ol type="i">
<li><a href="#avatars">Uploadable avatars</a></li>
<li><a href="#safemode">Safe Mode</a></li>
<li><a href="#extras">Optional extras</a></li>
</ol>
<li><a href="#disclaimer">Disclaimer</a></li>
</ol>
<a name="quickinstall"></a><h2 class="h2"><u>1. Quick Install</u></h2>
<p>If you have basic knowledge of using FTP and are sure your hosting service or server will run phpBB 2 you can use these steps to quickly get started. For a more detailed explanation you should skip this and go to <a href="#require">section 2</a> below.</p>
<ol>
<li>Decompress the phpBB 2 archive to a local directory on your system.</li>
<li>Upload all the files contained in this archive (retaining the directory structure) to a web accessible directory on your server or hosting account.
<li>Change the permissions on config.php to be writeable by all (666 or -rw-rw-rw- within your FTP Client)</li>
<li>Using your web browser visit the location you placed phpBB 2 with the addition of install/install.php, e.g. http://www.mydomain.com/phpBB2/install/install.php, http://www.mydomain.com/forum/install/install.php etc.
<li>Fill out all the requested information and hit <i>Submit</i></li>
<li>Change the permissions on config.php to be writeable only by yourself (644 or -rw-r--r-- within your FTP Client)</li>
<li>Click the <i>Complete Installation</i> button or revisit the location you entered above.</li>
<li>phpBB 2 should now be available, please <b>MAKE SURE</b> you read at least <a href="#postinstall">Section 8</a> below for important, security related post-installation instructions.</li>
</ol>
<p>If you experienced problems or do not know how to proceed with any of the steps above please read the rest of this document.</p>
<a name="require"></a><h2 class="h2"><u>2. Requirements</u></h2>
<p>Installation of phpBB 2.0.11 requires the following:</p>
<ul>
<li>A webserver or web hosting account running on any major Operating System</li>
<li>A SQL database system, <b>one of</b>:
<ul>
<li>MySQL (3.22 or higher)</li>
<li>PostgreSQL 7.0.3 or higher (preferably 7.1.x or 7.2.x)</li>
<li>MS SQL Server (7 or 2000) directly or via ODBC</li>
<li>MS Access (2000 or XP) via ODBC</li>
</ul>
</li>
<li>PHP (3.0.9 and above or preferably a recent 4.x) with support for the database you intend to use above</li>
</ul>
<p>If your server or hosting account does not meet the requirements above I am afraid phpBB 2.0 is not for you.</p>
<a name="install"></a><h2 class="h2"><u>3. New Installations</u></h2>
<p>Installation of phpBB 2 will vary according to your server and database. If you have <i>shell access</i> to your account (via telnet or ssh for example) you may want to upload the entire phpBB 2 archive (in binary mode!) to a directory on your host and unarchive it there.</p>
<p>If you do not have shell access or do not wish to use it you will need to decompress the phpBB 2 archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <b>ALL</b> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <b>NOT</b> force filenames to all lower or upper case doing so will cause errors later.</p>
<p>All .php, .inc, .sql, .cfg and .htm files should be uploaded in <b>ASCII</b> mode, while all graphics should be uploaded in <b>BINARY</b> mode. If you are unfamiliar with what this means please refer to your FTP client documentation. In most cases this is all handled transparantly by your ftp client but if you encounter problems later you should be sure the files where uploaded correctly as described here.</p>
<p>phpBB2 comes supplied with English as its standard language. However a number of seperate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can of course change this default at a later stage). For more details of language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
<p>Once all the files have been uploaded to your site you should point your browser at this location with the addition of install/install.php (please note that if you changed the extension from php, see <a href="#fileext">Section 3.i</a> below, you should alter install.php appropriately). For example if your domain name is <i>www.mydomain.tld</i> and you placed phpBB 2 in a directory /phpBB2 off your web root you would enter <i>http://www.mydomain.tld/phpBB2/install/install.php</i> into your browser. When you have done this you should see the phpBB 2 Installation screen appear.</p>
<a name="fileext"></a><h3 class="h3">3.i. Changing the file extension</h3>
<p>If the file extension used to execute PHP scripts on your server is <b>NOT</b> .php but for example .php3 or .phtml you should first rename <b>ALL</b> files ending in .php and change the value of $phpEx in <u>extension.inc</u>. In the vast majority of cases this step will be unncessary.</p>
<a name="phpBB1x"></a><h3 class="h3">3.ii. Replacing an old phpBB 1.x install</h3>
<p><b>NOTE</b>, you should <b>NOT</b> place phpBB 2 files into the same directory as any previous installation of phpBB 1.x! Create a new directory (or move your old phpBB 1.x out of the way), failure to do this will result in runtime errors.</p>
<a name="nonaccess"></a><h3 class="h3">3.iii. Installing on MySQL 3 and 4, PostgreSQL 7.x, MS SQL 7/2000 (inc. via ODBC)</h3>
<p><b>Before proceeding</b> with installation you should ensure you have a database available. Most good hosting accounts now come with at least one database as part of the basic package although it may need to be setup before first use. Ask your provider for details if you are unsure whether you do or not. If you are running your own server and are unsure how to create a database you should refer to your SQL servers documentation or website, e.g. <a href="http://www.mysql.com/doc/" target="_new">http://www.mysql.com/doc/</a>, <a href="http://www.postgresql.org/users-lounge/" target="_new">http://www.postgresql.org/users-lounge/</a>, etc.</p>
<p>If your database server is MySQL <b>PLEASE</b> ensure you select the appropriate version from the dropdown box. Do <b>NOT</b> select MySQL 4.x if you have MySQL 3.x (the most common type) installed, if in doubt select MySQL 3.x.</p>
<a name="access"></a><h3 class="h3">3.iv. Installing on MS Access 2000/XP</h3>
<p>Before you install phpBB 2 you need to create a <b>Data Source Name</b> or <b>DSN</b>. The exact way to do this will depend on your hosting provider, if you are unsure you should check with them before proceeding. In general though you should create a System DSN which points to the location where you have stored an unarchived copy of the ms_access_primer.mdb file (this is contained in the ms_access_primer.zip which can be found in <u>install/schemas/</u>). The name you give this DSN will be used during installation. Do not proceed until this step is complete!</p>
<p>Please note that MS Access support is not designed for busy boards. If you anticipate more than one or two users being online at any given time you should upgrade to a more robust server solution.</p>
<a name="requireddata"></a><h3 class="h3">3.v. Entering required data</h3>
<p>Once you have reached the installation page you need to fill out several fields. Be sure to select the right <u>database type</u>! If you do not have or do not know the <u>database name</u>, <u>database server</u>, etc. please check with your hosting provider. For <b>non-ODBC</b> databases the database server is typically localhost but this is <b>NOT</b> universal! If you are using an ODBC based database (such as MS Access or MSSQL via ODBC) you should enter the DSN here (see 2.iv.).</p>
<p>The <u>database prefix</u> allows you to enter a few characters, short name, etc. which all tables used by this installation will be prefixed with. The default (phpbb_) will usually be fine. However if you have more than one copy of phpBB 2 using the same database be sure to alter it or you will receive errors during installation.</p>
<p>The remaining information is personal to you and your site. You will need to enter a <u>username</u> and <u>password</u> for the initial administration account (more administrators can be created later). The <u>server name</u>, <u>server port</u> and <u>script path</u> are essential because all emails containing URLs will use these values. The installer will guess initial values, however they may not be correct so be sure to check them!</p>
<p>Remember that a domain (or server) name does <b>NOT</b> include http://! Enter just the domain name, eg. <i>www.mydomain.tld</i> and <b>NOT</b> <i>http://www.mydomain.tld/</i>. The server port can, in the great majority of cases be left as 80, this is the standard http port. However if your web server listens to a different port because for example port 80 is blocked then alter this appropriately. The script path is the relative path from your webroot where phpBB 2 is installed, e.g. if you install phpBB 2 into phpBB 2/ in your webroot then enter phpBB 2 (or /phpBB 2/) as the script path.</p>
<a name="completeinstall"></a><h3 class="h3">3.vi. Completing installation</h3>
<p>Once you have checked all the data press submit. The installation script will create and populate all the necessary tables. It will then attempt to write to the <u>config.php</u> file which will contain the basic configuration data used to run phpBB 2. If the installer cannot write <u>config.php</u> directly you will be given the option of either downloading the file or even FTPing it to the correct location. If you choose to download you should then re-upload the file to your server, overwriting the existing <u>config.php</u> in the process. If you attempt to FTP via the install script you should supply the requested information. Should FTP fail you will be able to download the file and then re-upload as described earlier.</p>
<p>During the installation procedure phpBB 2 will check to ensure the relevant PHP database module is available and will not proceed if it cannot be found. Should this happen be sure to check you have selected the correct database and/or ask your hosting provider for advice.</p>
<p><b>Do not</b> proceed untill the installation is completed and (if necessary) you have uploaded the <u>config.php</u> file.</p>
<a name="upgrade1.x"></a><h2 class="h2"><u>4. Upgrade from phpBB 1.4.x</u></h2>
<p>Before upgrading we heavily recommend you do a <u>full backup of your database</u>! If you are unsure how to achieve this please ask your hosting provider for advice. One you have backed up your database you should follow the basic instructions given for <a href="#install">New Installations</a> above. <b>However</b> instead of selecting <u>Install</u> as the <i>Installation Method</i> you should select <u>Upgrade</u>.</p>
<p>As with install the upgrade is automated. The config.php will be written automatically (if possible, else you will be able to download a copy as with New Installation above). Once the config.php is in place everything should proceed without error. Please note that this upgrading process may take quite some time and depending on your hosting provider this may result in it failing (due to web server or other timeout issues). If this is the case you should ask your provider if they are willing to allow the upgrade script to temporarily exceed their limits (be nice and they will probably be quite helpful).</p>
<p>Once completed your board should be immediately available. If you encountered errors you should restore your original database and report the problems to our bug tracker or seek help via our forums (see <a href="README.html">README</a> for details).</p>
<a name="upgradeb1"></a><h2 class="h2"><u>5. Upgrade from phpBB 2.0 beta-1</u></h2>
<p>Sorry but no direct upgrade is available from beta-1 (we did warn you!). If you are reasonably confident with the use of SQL, etc. you may be able to make the required changes to the database manually. You will need to examine the CVS check-ins to determine what needs changing where.</p>
<a name="upgradeRC"></a><h2 class="h2"><u>6. Upgrade from previous Release Candidate versions of phpBB 2</u></h2>
<p>Upgrading from these versions is generally quite easy. First you should make a copy of your existing <u>config.php</u>, keep it in a safe place! Next delete all the existing phpBB 2 files, do not leave any in place otherwise you may encounter errors later. You can leave alternative templates in-place but you should note they may not function correctly with the final release. It is therefore recommended you switch back to subSilver if you are currently using a different style. With this complete you can upload the new phpBB 2.0.0 files (see <a href="#install">New Installations</a> for details if necessary). Once complete copy back your saved <u>config.php</u>, replacing the new one.</p>
<p>You should now run <b>install/update_to_210.php</b> which, depending on your previous version, will make a number of database changes. You may receive <u>FAILURES</u> during this procedure, they should not be a cause for concern unless you see an actual <u>ERROR</u>, in which case the script will stop (in this case you should seek help via our forums or bug tracker).</p>
<p><b>RC-2 and below MSSQL users</b>, please note that during the update procedure your existing forums table will be dropped and re-created. All data in standard fields will be retained. However if you have modified the forums table and added additional fields or altered existing ones these changes <b>WILL</b> be lost. If this is a significant issue for you we advise you comment out the "DROP FORUM TABLE" section in update_to_210.php and instead, manually alter the forum_id column to remove the IDENTITY setting (if it exists).</p>
<p>Once the update_to_210.php has completed you <b>MUST</b> proceed to the Administration General Configuration panel and check all the values in General Configuration. This is essential if you were running any version before RC-3 since extra information needs to be entered to enable correct URLs to be output in emails.</p>
<a name="langtempchanges"></a><h3 class="h3">6.i. Changes in language pack format and templates</h3>
<p>Please note that changes have been made to the format of language, image localisations and templates from previous RC's to FINAL. If you were running a release candidate prior to RC-3 you will <b>need</b> to download new language and image localisation packs. You can safely delete any existing <u>*_lang.gif</u> files in the subSilver/images directory since these are no longer utilised. If you are using or have installed any 3rd party template set you must either remove it or update it. Changes have been made to a number of template variables which will result in these not working unless they have been updated to meet phpBB 2.0.x standards.</p>
<a name="upgradeSTABLE"></a><h2 class="h2"><u>7. Upgrade from previous stable (released) versions of phpBB 2</u></h2>
<p>If you are currently using a stable release of phpBB 2 updating to this version is straightforward. You would have downloaded one of three packages and your choice determines what you need to do. <b>Please Note</b>: That before upgrading we heavily recommend you do a <u>full backup of your database and existing phpBB2 source files</u>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
<p><b>MySQL Users Please Note</b>: Changes introduced in 2.0.4 may increase the size of your database, more specifically the search_wordmatch table. There are other changes in that release which are designed to reduce the database size. However these additional changes may not apply to all types of forum (particularly non-English boards). While any increases will be relatively small compared to the overall database size it may be an issue for some users. In particular users on hosting plans which limit database size and where the database is near that limit.</p>
<a name="#upgradeSTABLE_full"></a><h3 class="h3">7.i. Full package</h3>
<p>If you have downloaded the full package you should follow the same general upgrade path as for "<a href="#upgradeRC">Upgrade from previous Release Candidate versions of phpBB 2</a>". The exception to this being the need to switch or update styles. In addition there is generally little need to visit the admin panel (though it is adviseable).</p>
<a name="#upgradeSTABLE_files"></a><h3 class="h3">7.ii. Changed files only</h3>
<p>This package contains a number of archives, each contains the files changed from a given release to 2.0.11. You should select the appropriate archive for your current version, e.g. if you currently have 2.0.10 you should select the phpBB-2.0.10_to_2.0.11.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>
<p>As for the other upgrade procedures you should run <b>install/update_to_210.php</b> after you have finished updating the files. This will update your database schema and data (if appropriate) and increment the version number.</p>
<a name="#upgradeSTABLE_patch"></a><h3 class="h3">7.iii. Patch file</h3>
<p>The patch file is probably the best solution for those with many Mods or other changes who do not want to re-add them back to all the changed files. To use this you will need command line access to a standard UNIX type <b>patch</b> application.</p>
<p>A number of patch files are provided to allow you to upgrade from previous stable releases. Select the correct patch, e.g. if your current version is 2.0.10 you need the phpBB-2.0.10_to_2.0.11.patch. Place the correct patch in the parent directory containing the phpBB 2 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <b>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</b> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB2, 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="#upgradeSTABLE_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 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>
<p>You should of course delete the patch file (or files) after use. As for the other upgrade procedures you should run <b>install/update_to_210.php</b> after you have finished updating the files. This will update your database schema and data (if appropriate) and increment the version number.</p>
<a name="#upgradeSTABLE_all"></a><h3 class="h3">7.iv. All package types</h3>
<p>If you have non-English language packs installed you may want to see if a new version has been made available. A number of missing strings have been added which, though not essential, may be beneficial to users. Please note that at this time not all language packs have been updated so you should be prepared to periodically check for updates.</p>
<a name="postinstall"></a><h2 class="h2"><u>8. Important (security related) post-Install tasks for all installation methods</u></h2>
<p>Once you have succssfully installed phpBB 2.0.11 you <b>MUST</b> ensure you remove the entire install/ and contrib/ directories. Leaving these in place is a <u>very serious potential security issue</u> which may lead to deletion or alteration of files, etc. Please note that until these directories are remove phpBB2 will not operate and a warning message will be displayed. Beyond these <b>essential</b> deletions you may also wish to delete the docs/ directories if you wish.</p>
<p>With these directories deleted you should proceed to the administration panel. Depending on how the installation completed you may have been directed there automatically. If not, login as the administrator you specified during install/upgrade and click the "<b>Administration Panel</b>" link at the bottom of any page. Ensure that details specified in General -> Configuration are correct!</p>
<a name="avatars"></a><h3 class="h3">8.i. Uploadable avatars</h3>
<p>phpBB 2 supports several methods for allowing users to select their own <i>avatar</i> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
<p>Two of these options allow users to upload an avatar from their machine or a remote location (via a URL). If you wish to enable this function you should first ensure the correct paths for uploadeable avatars is set in Admin -> General -> Configuration -> Avatars. By default this is <u>images/avatars</u> but you can set it to whatever you like, just ensure the configuration setting is updated. You must also ensure this directory can be written to by the webserver. Usually this means you have to alter its permissions to allow anyone to read and write to. Exactly how you should do this depends on your ftp client or server operating system.</p>
<p>On UNIX systems for example you set the directory to a+rwx (or ugo+rwx or even 777). This can be done from a command line on your server using chmod or via your FTP client (using the Change Permissions, chmod or other Permissions dialoge box, see your FTP clients documentation for help). Most FTP clients list permissions in the form of User (Read, Write, Execute), Group (Read, Write, Execute) and Other (Read, Write, Execute). You need to tick all of these boxes to set correct permissions.</p>
<p>On Windows system you need to ensure the directory is not write-protected and that it has global write permissions (see your servers documentation or contact your hosting provider if you are unsure on how to achieve this).</p>
<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 out to cause trouble. Therefore you should monitor this directory and if possible make regular backups.</p>
<a name="safemode"></a><h3 class="h3">8.ii. Safe Mode</h3>
<p>phpBB 2.0.11 includes support for using uploadable avatars on systems running PHP in safe mode. If this applies to your hosting service you will need to create a sub-directory called <u>tmp</u> in the directory you specified for storage of uploaded avatars (by default this is images/avatars as explained above). Give it the same access rights as for uploadable avatars above.</p>
<p>This safe mode support includes compatibility with various directory restrictions your host may impose (assuming they are not too restrictive and that the PHP installed is version 4.0.3 or later). There is generally no need for any manual setup for safe mode support it is typically handled transparantly.</p>
<a name="extras"></a><h3 class="h3">8.iii. Optional extras</h3>
<p>Included with this package are two extra (optional) files, you will find them in the <u>contrib/</u> directory. These extras, <i>template_file_cache.php</i> and <i>template_db_cache.php</i> address concerns over server load and page generation times on slower or heavily loaded systems. These updated template modules compile each template and uses this rather than compiling each file everytime it is viewed. Tests seem to indicate a noticeable decrease in page generation times and more importantly a significant decrease in overall server load in virtual hosting environments.</p>
<p>You should see the <a href="../contrib/README.html">README</a> contained within the contrib directory for more details.</p>
<a name="disclaimer"></a><h2 class="h2"><u>9. Copyright and disclaimer</u></h2>
<p>This application is opensource software released under the <a href="http://www.gnu.org/licenses/gpl.html" target="_new">GPL</a>. Please see source code and the Docs directory for more details. This package and its contents are Copyright <20> 2002 <a href="http://www.phpbb.com/" target="_new">phpBB Group</a>, All Rights Reserved.</p>
<!-- END DOCUMENT -->
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,226 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>phpBB 2.0.11 :: Readme</title>
<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css" />
<style type="text/css">
<!--
p,ul,td {font-size:10pt;}
.h2 {font-size:15pt;font-weight:bold;color:red}
.h3 {font-size:12pt;color:blue}
//-->
</style>
</head>
<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#006699">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td class="bodyline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../templates/subSilver/images/logo_phpBB.gif" border="0" alt="phpBB 2 : Creating Communities" vspace="1" /></a></td>
<td align="center" width="100%" valign="middle"><span class="maintitle">phpBB 2.0.11 README</span></td>
</tr>
</table>
<!-- BEGIN DOCUMENT -->
<p>Thank you for downloading phpBB 2, the long awaited re-write of the popular phpBB 1.x online community forum. This README will guide through the basics of installation and operation of phpBB 2. Please ensure you read this and the accompanying documentation fully <b>before</b> proceeding with the installation.</p>
<ol>
<li><a href="#install">Installing phpBB 2</a></li>
<li><a href="#run">Running phpBB 2</a></li>
<ol type="i">
<li><a href="#i18n">Internationalisation (i18n)</a></li>
<li><a href="#styles">Styles</a></li>
<li><a href="#mods">Mods</a></li>
</ol>
<li><a href="#help">Getting help with phpBB 2</a></li>
<ol type="i">
<li><a href="#userguide">Userguide</a></li>
<li><a href="#website">Community Forums</a></li>
<li><a href="#irc">Internet Relay Chat</a></li>
</ol>
<li><a href="#status">Status of this version</a></li>
<li><a href="#bugs">Reporting Bugs</a></li>
<ol>
<li><a href="#securitybugs">Security related bugs</a></li>
</ol>
<li><a href="#curbugs">Overview of current bug list</a></li>
<li><a href="#php">PHP compatibility issues</a></li>
<ol type="i">
<li><a href="#phpsec">Notice on PHP security issues</a></li>
</ol>
<li><a href="#disclaimer">Disclaimer</a></li>
</ol>
<a name="install"></a><h2 class="h2"><u>1. Installing phpBB 2</u></h2>
<p>Installation and upgrade instructions can be found in the <a href="INSTALL.html">INSTALL</a> document contained in this distribution. If you are intending to upgrade from a previous phpBB 1.4.x installation we highly recommend you backup any existing data before proceeding!</p>
<p><b>Please note</b> that users of Release Candidate (RC) versions of phpBB 2 should run the update_to_205.php script <b>BEFORE</b> attempting to access your board. Failing to do so may result in errors and unexpected behaviour! While these won't do any damage they will prevent you using your board.</p>
<p>If you are using RC-1 (pre) you may find some other DB changes have occured and should examine the schemas to see if your installation requires any modifications (note that most of these have already been discussed on the phpBB 2 forums and are handled by the update script). If you are uncomfortable doing any of this we recommend you re-install (you may backup your existing data if you wish, re-install phpBB 2 and then insert your backup).</p>
<p>Users of phpBB 2.0 Beta-1 cannot directly upgrade to phpBB 2.0 RC-2, 3 or 4, sorry.</p>
<a name="run"></a><h2 class="h2"><u>2. Running phpBB 2</u></h2>
<p>Once installed phpBB 2.0 is easily managed by both admin and moderator control panels. If you need help or advice with phpBB 2 please see <a href="#help">Section 3</a> below.</p>
<a name="i18n"></a><h3 class="h3">2.i. Internationalisation, i18n</h3>
<p>A number of language packs and subSilver localisations are now available. You can find them on our official download page:</p>
<p><a href="http://www.phpbb.com/downloads.php#lang" target="_new">http://www.phpbb.com/downloads.php</a></p>
<p>This is the <i>Official</i> location for all support language sets. If you download a package from a 3rd party site you do so with the understanding that we cannot offer support. So please, do not ask for help in these cases!</p>
<p>Installation of these packages is straightforward, simply download the required language pack and unarchive it into the languages/ folder. Please ensure you retain the directory structure when doing this! To install the subSilver image packs you should unarchive the file/s into the templates/subSilver/images directory, again you must retain the directory structure. Once installed the languages will become immediately available.</p>
<p>If your language is not available please visit our forums where you will find a topic listing translations currently available or in preparation. This topic also gives you information should you wish to volunteer to translate a language not currently listed</p>
<p><b>Please note</b> that users who have upgraded to 2.0.11 from versions prior to RC-3 should will <b>need</b> to download new versions of the language/subSilver image packs. Any package downloaded prior to the availability of RC-3 will <b>not</b> function correctly with this version of phpBB 2.</p>
<p>If you have upgraded from 2.0.0 and make use of non-English language packs you will benefit from downloading updated versions which will become available shortly. These introduce a number of strings which went missing from the first version plus a few updates and additions.</p>
<a name="styles"></a><h3 class="h3">2.ii. Styles</h3>
<p>Although phpBB Group are rather proud of the subSilver style (which has influenced many of our competitors boards <i>updated</i> designs!) we realise that it may not be to everyones tastes. Therefore phpBB 2 allows styles to be switched with relative ease. Firstly you need to locate and download a style you like. We maintain such a site at</p>
<p><a href="http://www.phpbb.com/styles/" target="_new">http://www.phpbb.com/styles/</a></p>
<p><b>Please note</b> that 3rd party styles downloaded for versions of phpBB 2 prior to its final (2.0.x) release will <b>not</b> function correctly. You should either remove these styles or (if available) update them to meet changes in 2.0.x.</p>
<p>Once you have downloaded a style the usual next step is to unarchive (or upload the unarchived contents of) the package into your templates/ directory. You then need to visit Administration -> Styles -> Add, you should see the new style available, click add and it will become available for all your users.</p>
<a name="mods"></a><h3 class="h3">2.iii. Mods</h3>
<p>Although not officially supported by phpBB Group, phpBB 2 has a thriving mod (formerly known as <i>hacks</i>) scene. These third party modifications to the standard phpBB 2 extend its capabilities still further and can be found at:</p>
<p><a href="http://www.phpbb.com/mods" target="_new">http://www.phpbb.com/mods</a></p>
<p><b>Please remember</b> that any bugs or other issues that occur after you have added any modification should <b>NOT</b> be reported to the bug tracker (see below). First remove the modification and see if the problem is resolved.</p>
<p>Also remember that any modifications which modify the database in any way may render upgrading your forum to future versions more difficult unless we state otherwise. With all this said many users have and continue to utilise many of the mods already available with great success</p>
<a name="help"></a><h2 class="h2"><u>3. Getting help with phpBB 2</u></h2>
<p>phpBB 2 can seem a little daunting to new users in places, particularly with regard the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a> which covers a few basic getting started questions. If you need additional help there are several places you should look.</p>
<a name="userguide"></a><h3 class="h3">3.i. phpBB 2 Userguide</h3>
<p>A comprehensive userguide is now available online and can be accessed from the following location:</p>
<p><a href="http://www.phpbb.com/guide/phpBB_Users_Guide.html" target="_new">http://www.phpbb.com/guide/phpBB_Users_Guide.html</a></p>
<p>This covers everything from installation through setting permissions and managing users.</p>
<a name="website"></a><h3 class="h3">3.ii. Community Forums</h3>
<p>phpBB Group maintains a thriving community where a number of people have generously decided to donate their time to help support users. This site can be found at:</p>
<p><a href="http://www.phpbb.com/" target="_new">http://www.phpbb.com/</a></p>
<p>If you do seek help via our forums please be sure to do a Search before posting. This may well save both you and us time and allow the developer, moderator and support groups to spend more time responding to people with unknown issues and problems. Please also remember that phpBB is an entirely volunteer effort, no one receives any compensation for the time they give, this includes moderators as well as developers. So please be respectful and mindful when awaiting responses.</p>
<a name="irc"></a><h3 class="h3">3.iii Internet Relay Chat</h3>
<p>Another place you may find help is our IRC channel. This operates on the Openprojects IRC network, <b>irc.openprojects.net</b> and the channel is <b>#phpbb</b> and can be accessed by any good IRC client such as mIRC, XChat, etc. Again, please do not abuse this service and be respectful of other users.</p>
<a name="status"></a><h2 class="h2"><u>4. Status of this version</u></h2>
<p>This is the second stable release of phpBB 2. The 2.0.x line is essentially feature frozen, point releases will see only bugs and such like fixed. Our next major release will be phpBB 2.2 and work is progressing on this (the unstable development version is 2.1). Please do not post questions asking when 2.2 will be available, no release date has been set. Feel free to suggest new features for phpBB 2.2, we already have a number of improvements in mind and these can be viewed using our task tracker:</p>
<p><a href="http://sourceforge.net/pm/task.php?group_project_id=13524&group_id=7885&func=browse" target="_new">http://sourceforge.net/pm/task.php?group_project_id=13524&group_id=7885</a></p>
<p>We do not guarantee that all these will appear in 2.2 but we will do our best! If your idea does not appear on this list please visit our feature request list:</p>
<p><a href="http://sourceforge.net/tracker/?atid=357885&group_id=7885&func=browse" target="_new">http://sourceforge.net/tracker/?atid=357885&group_id=7885</a></p>
<p>Before submitting your idea please <b>ensure</b> you have read through the entries in that list. If your idea is similar to an existing one please feel free to add a comment to it. Please <b>do not</b> submit duplicate suggestions!</p>
<p>For some suggestions we may ask for your feedback via our forums. For those interested in the development of phpBB 2.2 you should keep an eye on the community forums (particularly the Feature Discussion forum) where you may be able to influence the direction we take with certain new features. Finally you may like to visit our development forum to see how things are progressing:</p>
<p><a href="http://area51.phpbb.com/phpBB 2/" target="_new">http://area51.phpbb.com/phpBB 2/</a></p>
<p>Please note that this forum should <b>NOT</b> be used to obtain support for or ask questions about phpBB 2.0.x, the main community forums are the place for this. Any such posts will be locked and go unanswered.</p>
<a name="bugs"></a><h2 class="h2"><u>5. Reporting Bugs</u></h2>
<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 <b>DO NOT</b> post bug reports to our forums, they will be locked. In addition please <b>DO NOT</b> 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/" target="_new">http://www.phpbb.com/bugs/</a></p>
<p>While we very much appreciate receiving bug reports (the more reports the more stable phpBB 2 will be) we ask you carry out a few steps before adding new entries:</p>
<ul>
<li>Firstly determine if your bug is reproduceable, how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB 2.0 (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
<li>Next please read or search through the existing bug reports (remember to check open <b>AND</b> closed reports!) to see if <i>your</i> bug (or one very similar to it) is already listed. If it is please add to that existing bug rather than creating a new duplicate entry (all this does is slow us down).<br /><br /></li>
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <b>DO NOT</b> post your particular bug to the forum unless it's non-reproduceable or you are sure it's related to something you have done rather phpBB 2.0<br /><br /></li>
<li>If no existing bug exists then please feel free to add it</li>
</ul>
<p>If you do post a new bug (i.e. one that isn't already listed in the bug tracker) firstly make sure you have logged in (your username and password are the same as for the community forums) then please include the following details:</p>
<ul>
<li>Your server type/version, eg. Apache 1.2.22, IIS 4, Sambar, etc.</li>
<li>PHP version and mode of operation, eg. PHP 4.1.1 as a module, PHP 4.0.1 running as CGI, etc.</li>
<li>DB type/version, eg. MySQL 3.23.32, PostgreSQL 7.1.2, MSSQL Server 2000 SP1, etc.</li>
</ul>
<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 <b>VERY SURE</b> works (and is consistent with our coding guidelines) 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>Once a bug has been submitted you will be emailed any follow up comments added to it. <b>Please</b> if you are requested to supply additional information, <b>do so</b>! It is <u>extremely frustrating</u> for us to receive bug reports, ask for additional information but get nothing. In these cases we have a policy of <u>closing the bug</u>, which may leave a very real problem in place. Obviously we would rather not have this situation arise.</p>
<a name="securitybugs"></a><h3 class="h3">5.i. Security related bugs</h3>
<p>If you find a potential security related vulnerability in phpBB 2 please <b>DO NOT</b> post it to the bug tracker, public forums, mailing lists, etc.! Doing so may allow unscrupulous users to take advantage of it before we have time to put a fix in place. All security related bugs should be sent directly to one or more of the developers.</p>
<p>This can be done in one of three ways; email <a href="mailto:security&#64;phpbb.com">security&#64;phpbb.com</a> this is forwarded to all developers, PM one of the developers (see Developer usergroup list for usernames of all developers) or email them directly (either use their listed email address if available or username&#64;phpbb.com where username is their board username). If emailing or PM'ing developers individually please send the message to several and not just one. If you obtain no response in a reasonable timeframe (a day or two) try the other listed developers.</p>
<a name="curbugs"></a><h2 class="h2"><u>6. Overview of current bug list</u></h2>
<p>This list is not complete (see above link for full list) but does represent those bugs which may effect users on a wider scale. Other bugs listed in the tracker have typically been shown to be limited to certain setups or methods of installation/upgrade.</p>
<ul>
<li>First four characters of some posted content disappears - this is an issue with PHP not phpBB</li>
<li>Cannot post very large messages when using PostgreSQL 7.0.x (limitation of Postgresql 7.0.x)</li>
<li>By default cannot post very large messages with MSSQL (this can be configured within MSSQL)</li>
<li>Use of non-latin charsets with MSSQL may result in post data being cropped unexpectedly</li>
<li>Upgrade may fail to complete on large boards under some hosts</li>
<li>PHP 3 compatibility issues remain and we recommend you upgrade to PHP4 as soon as possible ( phpBB 2.0.x will be the last version to support PHP 3 )
</ul>
<a name="php"></a><h2 class="h2"><u>7. PHP compatibility issues</u></h2>
<p>Please remember that running any application on a developmental version of PHP can lead to strange/unexpected results which may appear to be bugs in the application (which may not be true). Therefore we recommend you upgrade to the newest stable version of PHP before running phpBB 2. If you are running a developmental version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running IIS and Apache using MySQL 3.23 and 4.0.0, MSSQL Server 2000, MS Access 2000 and XP and PostgreSQL 7.x. Versions of PHP used range from 4.0.6 to 4.3.8 without problem. There may be unconfirmed issues with PHP 4.0.1 including patch level releases. If you experience problems with phpBB and have this PHP version installed it is recommended you upgrade it before posting bug reports.</p>
<p>With the recent release of the official version of PHP 5, people and hosts may be switching to the latest PHP version. At this moment, the phpBB Team does not officially support running phpBB on PHP 5, as phpBB2.0.x was not written with PHP 5 in mind. However, many users have reported using it sucessfully on PHP 5 having made a configuration change in PHP to enable support for the deprecated HTTP_*_VARS arrays which is turned off by default in new PHP 5 installations. The relevant configuration option is register_long_arrays and it is decribed in the PHP Manual. phpBB 2.0.x makes use of these arrays in order to maintain backwards compatibility with PHP 3.x and early versions of PHP 4.x which is part of the original specification.<br />
For this reason we do not support PHP 5 as platform for phpBB. It has been reported working, so you can try it. It's a risk you will be taking though.</p>
<a name="phpsec"></a><h3 class="h3">7.i. Notice on PHP security issues</h3>
<p>At the end of February 2002 a <a href="http://security.e-matters.de/advisories/012002.html" target="_new">major security issue</a> was found with PHP 3 and 4 which has resulted in many hosting providers disabling file uploads (although patches fixing the security issues are available and new versions of PHP 4 have been released).</p>
<p>Because of this, and to cope with situations where hosts didn't allow such uploads anyway we have implemented various checks in phpBB 2. These checks prevent you from enabling or making use of functions which will not operate correctly on PHP as installed on your server. At this time this includes locally uploaded avatars and DB restore.</p>
<p>Third party mods may also be effected but these are outside our control, you should contact the mod writer for more information.</p>
<a name="disclaimer"></a><h2 class="h2"><u>8. Copyright and disclaimer</u></h2>
<p>This application is opensource software released under the <a href="http://www.gnu.org/licenses/gpl.html" target="_new">GPL</a>. Please see source code and the Docs directory for more details. This package and its contents are Copyright <20> 2002 <a href="http://www.phpbb.com/" target="_new">phpBB Group</a>, All Rights Reserved.</p>
<!-- END DOCUMENT -->
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

88
phpBB/docs/auth_api.html Normal file
View File

@@ -0,0 +1,88 @@
<html>
<head>
<link rel="stylesheet" href="../templates/subSilver/subSilver.css" type="text/css" />
<style type="text/css">
<!--
p,ul,td {font-size:10pt;}
h2 {font-size:15pt;font-weight:bold;color:red}
h3 {font-size:12pt;color:blue}
//-->
</style>
</head>
<body bgcolor="#E5E5E5" text="#000000" link="#006699" vlink="#006699">
<table width="100%" border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td class="bodyline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<h1>Using the <i><u>auth</u></i> class</h1>
<h2>What is it?</h2>
<p>The <i><u>auth</u></i> class contains methods related to authorisation users to access various board functions, e.g. posting, viewing, replying, logging in (and out), etc. If you need to check whether a user can carry out a task or handle user login/logouts this class is required.</p>
<h2>Initialisation</h2>
<p>To use any methods contained with the <i><u>auth</u></i> class it first needs to be instantiated. This is best achieved early in the execution of the script in the following manner:
<pre>$auth = new auth();</pre>
<p>Once an instance of the object has been created you are free to call the various methods it contains. Please note that should you wish to use the <i><u>auth_admin</u></i> methods you will need to instantiate this seperately but in the same way.</p>
<h3><i>acl</i></h3>
<p>The <i>acl</i> method is the initialisation routine for all the acl functions. If you intend calling any acl method you must first call this. The method takes as its one and only required parameter a hash of userdata. This hash must contain at least the following information; user_id, user_permissions and user_founder. It is called in the following way:
<pre>$auth->acl(<i>userdata</i>);</pre>
<p>Where userdata is the hash containing the aforementioned data.</p>
<h3><i>acl_get</i></h3>
<p>This method is the primary way of determining what a user can and cannot do for a given option in, optionally, a given forum. The method should be called in the following way:</p>
<pre>$result = $auth->acl_get(<i>option</i>[, <i>forum</i>]);</pre>
<p>Where option is a string representing the required option, e.g. 'f_list', 'm_edit', 'a_adduser', etc. The optional forum term is the integer forum_id.</p>
<pThe method returns a positive integer when the user is allowed to carry out the option and a zero if denied.</p>
<h3><i>acl_gets</i></h3>
<p>This method is funtionally similar to <i>acl_get</i> in that it returns information on whether a user can or cannot carry out a given task. The difference here is the ability to test several different options in one go. This may be useful for testing whether a user is a moderator or an admin in one call. Rather than having to call and check <i>acl_get</i> twice.</p>
<p>The method should be called thus:</p>
<pre>$result = $auth->acl_gets(<i>option1</i>[, <i>option2</i>, ..., <i>optionN</i>, <i>forum</i>]);</pre>
<p>As with the <i>acl_get</i> method the options are strings representing the required permissions to check. The forum again is an integer representing a given forum_id.</p>
<h3><i>acl_cache</i></h3>
<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 <i>acl</i>.</p>
<h3><i>login</i></h3>
<p></p>
<h2>Admin related functions</h2>
<p>A number of additional methods are available related to <i><u>auth</u></i>. These handle more basic functions such as adding user and group permissions, new options and clearing the user cache. These methods are contained within a seperate class, <i><u>auth_admin</u></i>. This can be found in the functions_admin source.</p>
<p>To use any methods this class contains it first needs to be instantiated seperately from <i><u>auth</u></i>. This is achieved in the same way as <i><u>auth</u></i>:</p>
<pre>$authadmin = new auth_admin();</pre>
<p>This instance gives you access to both the methods of this specific class and that of <i><u>auth</u></i>.</p>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +0,0 @@
CODING GUIDELINES : Initials by psoTFX (July 2001)
-----------------
* The coding style is defined in the codingstandards.html file, all attempts should be made to follow it as closely as possible
* All SQL should be cross-DB compatible, if DB specific SQL is used alternatives must be provided which work on all supported DB's (MySQL, MSSQL (7.0 and 2000), PostgreSQL (7.0+), Oracle8, ODBC (generalised if possible, otherwise MS Access, DB2))
* All SQL commands should utilise the DataBase Abstraction Layer (DBAL)
* All URL's (and form actions) _must_ be wrapped in append_sid, this ensures the session_id is propagated when cookies aren't available
* The minimum amount of data should be passed via GET or POST, checking should occur within individual scripts (to prevent spoofing of information)
* The auth function should be used for all authorisation checking
* Sessions should be initiated on each page, as near the top as possible using the session_pagestart function (userdata should be obtained by calling the init_userprefs immediately after session initialisation)
* Login checks should be forwarded to the login page (supplying a page to forward onto once check is complete if required)
* 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_, all other variables should be presented 'as is'.
* Functions used by more than page should be placed in functions.php, functions specific to one page should be placed on that page (at the top to maintain compatibility with PHP3) surrounded by comments indicating the start and end of the function block
* All messages/errors should be output by the message_die function using the appropriate message type (see function for details)
* 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)

View File

@@ -1,327 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0044) -->
<HTML><HEAD><TITLE>phpBB Coding Standard Guidelines</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY aLink=#cccccc bgColor=#ffffff link=#0000ff text=#000000
vLink=#0000ff><FONT face=verdana,arial,tahoma size=-1><A name=top></A>
<H2>phpBB Coding Standard Guidelines</H2>Comments or suggestions? email <A
href="mailto:nate@phpbb.com">nate@phpbb.com</A><BR><BR><A
href="#editor">Editor
Settings</A><BR><A
href="#naming">Naming
Conventions</A><BR><A
href="#layout">Code Layout</A><BR><A
href="#general">General
Guidelines</A><BR><BR><BR><A name=editor></A><A
href="#top">top</A>
<H3>Editor Settings</H3>
<P><B>Tabs vs Spaces:</B> In order to make this as simple as possible, we will
be using tabs, not spaces. Feel free to set how many spaces your editor uses
when it <B>displays</B> tabs, but make sure that when you <B>save</B> the file,
it's saving tabs and not spaces. This way, we can each have the code be
displayed the way we like it, without breaking the layout of the actual files.
</P>
<P><B>Linefeeds:</B> Ensure that your editor is saving files in the UNIX format.
This means lines are terminated with a newline, not with a CR/LF combo as they
are on Win32, or whatever the Mac uses. Any decent Win32 editor should be able
to do this, but it might not always be the default. Know your editor. If you
want advice on Windows text editors, just ask one of the developers. Some of
them do their editing on Win32. </P><BR><BR><A name=naming></A><A
href="#top">top</A>
<H3>Naming Conventions</H3>
<P>We will not be using any form of hungarian notation in our naming
conventions. Many of us believe that hungarian naming is one of the primary code
obfuscation techniques currently in use. </P>
<P><B>Variable Names:</B> Variable names should be in all lowercase, with words
separated by an underscore. <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Example: <CODE><FONT
size=+1>$current_user</FONT></CODE> is right, but <CODE><FONT
size=+1>$currentuser</FONT></CODE> and <CODE><FONT
size=+1>$currentUser</FONT></CODE> are not. <BR><BR>Names should be descriptive,
but concise. We don't want huge sentences as our variable names, but typing an
extra couple of characters is always better than wondering what exactly a
certain variable is for. </P>
<P><B>Loop Indices:</B> The <I>only</I> situation where a one-character variable
name is allowed is when it's the index for some looping construct. In this case,
the index of the outer loop should always be $i. If there's a loop inside that
loop, its index should be $j, followed by $k, and so on. If the loop is being
indexed by some already-existing variable with a meaningful name, this guideline
does not apply. <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Example: <PRE><FONT size=+1>
for ($i = 0; $i &lt; $outer_size; $i++)
{
for ($j = 0; $j &lt; $inner_size; $j++)
{
foo($i, $j);
}
} </FONT></PRE>
<P></P>
<P><B>Function Names:</B> Functions should also be named descriptively. We're
not programming in C here, we don't want to write functions called things like
"stristr()". Again, all lower-case names with words separated by a single
underscore character. Function names should preferably have a verb in them
somewhere. Good function names are <CODE><FONT
size=+1>print_login_status()</FONT></CODE>, <CODE><FONT
size=+1>get_user_data()</FONT></CODE>, etc.. </P>
<P><B>Function Arguments:</B> Arguments are subject to the same guidelines as
variable names. We don't want a bunch of functions like: <CODE><FONT
size=+1>do_stuff($a, $b, $c)</FONT></CODE>. In most cases, we'd like to be able
to tell how to use a function by just looking at its declaration. </P>
<P><B>Summary:</B> The basic philosophy here is to not hurt code clarity for the
sake of laziness. This has to be balanced by a little bit of common sense,
though; <CODE><FONT size=+1>print_login_status_for_a_given_user()</FONT></CODE>
goes too far, for example -- that function would be better named <CODE><FONT
size=+1>print_user_login_status()</FONT></CODE> , or just <CODE><FONT
size=+1>print_login_status()</FONT></CODE>. </P><BR><BR><A name=layout></A><A
href="#top">top</A>
<H3>Code Layout</H3>
<P><B>Standard header for new files:</B> Here a template of the header that must
be included at the start of all phpBB files: <PRE><FONT size=+1>
/***************************************************************************
filename.php
-------------------
begin : Sat June 17 2000
copyright : (C) 2000 The phpBB Group
email : support@phpBB.com
$Id$
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
</FONT></PRE>
<P></P>
<P><B>Always include the braces:</B> This is another case of being too lazy to
type 2 extra characters causing problems with code clarity. Even if the body of
some construct is only one line long, do <I>not</I> drop the braces. Just don't.
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* These are all wrong. */
if (condition) do_stuff();
if (condition)
do_stuff();
while (condition)
do_stuff();
for ($i = 0; $i &lt; size; $i++)
do_stuff($i);
/* These are right. */
if (condition)
{
do_stuff();
}
while (condition)
{
do_stuff();
}
for ($i = 0; $i &lt; size; $i++)
{
do_stuff();
}
</FONT></PRE>
<P></P>
<P><B>Where to put the braces:</B> This one is a bit of a holy war, but we're
going to use a style that can be summed up in one sentence: Braces always go on
their own line. The closing brace should also always be at the same column as
the corresponding opening brace. <BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
if (condition)
{
while (condition2)
{
...
}
}
else
{
...
}
for ($i = 0; $i &lt; $size; $i++)
{
...
}
while (condition)
{
...
}
function do_stuff()
{
...
}
</FONT></PRE>
<P></P>
<P><B>Use spaces between tokens:</B> This is another simple, easy step that
helps keep code readable without much effort. Whenever you write an assignment,
expression, etc.. Always leave <I>one</I> space between the tokens. Basically,
write code as if it was English. Put spaces between variable names and
operators. Don't put spaces just after an opening bracket or before a closing
bracket. Don't put spaces just before a comma or a semicolon. This is best shown
with a few examples. <BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* Each pair shows the wrong way followed by the right way. */
$i=0;
$i = 0;
if($i&lt;7) ...
if ($i &lt; 7) ...
if ( ($i &lt; 7)&amp;&amp;($j &gt; 8) ) ...
if (($i &lt; 7) &amp;&amp; ($j &gt; 8)) ...
do_stuff( $i, "foo", $b );
do_stuff($i, "foo", $b);
for($i=0; $i&lt;$size; $i++) ...
for($i = 0; $i &lt; $size; $i++) ...
$i=($j &lt; $size)?0:1;
$i = ($j &lt; $size) ? 0 : 1;
</FONT></PRE>
<P></P>
<P><B>Operator precedence:</B> Do you know the exact precedence of all the
operators in PHP? Neither do I. Don't guess. Always make it obvious by using
brackets to force the precedence of an equation so you know what it does.
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* what's the result? who knows. */
$bool = ($i &lt; 7 &amp;&amp; $j &gt; 8 || $k == 4);
/* now you can be certain what I'm doing here. */
$bool = (($i &lt; 7) &amp;&amp; (($j &lt; 8) || ($k == 4)))
</FONT></PRE>
<P></P>
<P><B>SQL code layout:</B> Since we'll all be using different editor settings,
don't try to do anything complex like aligning columns in SQL code. Do, however,
break statements onto their own lines. Here's a sample of how SQL code should
look. Note where the lines break, the capitalization, and the use of brackets.
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
SELECT field1 AS something, field2, field3
FROM table a, table b
WHERE (this = that) AND (this2 = that2)
</FONT></PRE>
<P></P>
<P><B>SQL insert statements:</B> SQL INSERT statements can be written in two
different ways. Either you specify explicitly the columns being inserted, or
you rely on knowing the order of the columns in the database and do not
specify them. We want to use the former approach, where it is explicitly
stated whcih columns are being inserted. This means our application-level code
will not depend on the order of the fields in the database, and will not be broken
if we add additional fields (unless they're specified as NOT NULL, of course).
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
# This is not what we want.
INSERT INTO mytable
VALUES ('something', 1, 'else')
# This is correct.
INSERT INTO mytable (column1, column2, column3)
VALUES ('something', 1, 'else')
</FONT></PRE>
<P></P><BR><BR><A name=general></A><A
href="#top">top</A>
<H3>General Guidelines</H3>
<P><B>Quoting strings:</B> There are two different ways to quote strings in PHP
- either with single quotes or with double quotes. The main difference is that
the parser does variable interpolation in double-quoted strings, but not in
single quoted strings. Because of this, you should <I>always</I> use single
quotes <I>unless</I> you specifically need variable interpolation to be done on
that string. This way, we can save the parser the trouble of parsing a bunch of
strings where no interpolation needs to be done. Also, if you are using a string
variable as part of a function call, you do not need to enclose that variable in
quotes. Again, this will just make unnecessary work for the parser. Note,
however, that nearly all of the escape sequences that exist for double-quoted
strings will not work with single-quoted strings. Be careful, and feel free to
break this guideline if it's making your code harder to read.
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* wrong */
$str = "This is a really long string with no variables for the parser to find.";
do_stuff("$str");
/* right */
$str = 'This is a really long string with no variables for the parser to find.';
do_stuff($str);
</FONT></PRE>
<P></P>
<P><B>Associative array keys:</B> 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.
<BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* wrong */
$foo = $assoc_array[blah];
/* right */
$foo = $assoc_array['blah'];
</FONT></PRE>
<P></P>
<P><B>Comments:</B> Each 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. Nobody should have to look at the actual
source of a function in order to be able to call it with confidence in their own
code. <BR><BR>In addition, commenting any tricky, obscure, or otherwise
not-immediately-obvious code is clearly something we should be doing. Especially
important to document are any assumptions your 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. </P>
<P><B>Magic numbers:</B> 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. Included in this guideline is that we should be
using the constants TRUE and FALSE in place of the literals 1 and 0 -- even
though they have the same values, it's more obvious what the actual logic is
when you use the named constants. </P>
<P><B>Shortcut operators:</B> The only shortcut operators that cause readability
problems are the shortcut increment ($i++) and decrement ($j--) 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. <BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* wrong */
$array[++$i] = $j;
$array[$i++] = $k;
/* right */
$i++;
$array[$i] = $j;
$array[$i] = $k;
$i++;
</FONT></PRE>
<P></P>
<P><B>Inline conditionals:</B> Inline conditionals should only be used to do
very simple things. Preferably, they will only be used to do assignments, and
not for function calls or anything complex at all. They can be harmful to
readability if used incorrectly, so don't fall in love with saving typing by
using them. <BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* Bad place to use them */
(($i &lt; $size) &amp;&amp; ($j &gt; $size)) ? do_stuff($foo) : do_stuff($bar);
/* OK place to use them */
$min = ($i &lt; $j) ? $i : $j;
</FONT></PRE>
<P></P>
<P><B>Don't use uninitialized variables.</B> for phpBB 2, we intend to use a
higher level of run-time error reporting. This will mean that the use of an
uninitialized variable will be reported as an error. This will come up most
often when checking which HTML form variables were passed. These errors can be
avoided by using the built-in isset() function to check whether a variable has
been set. <BR><BR>&nbsp;&nbsp;&nbsp;Examples:<PRE><FONT size=+1>
/* Old way */
if ($forum) ...
/* New way */
if (isset($forum)) ...
</FONT></PRE>
<P></P><BR><BR><A href="#top">Return
to top</A> </FONT></BODY></HTML>

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