544 Commits

Author SHA1 Message Date
Marc Alexander
8724215bad Merge pull request #353 from marc1706/ticket/327
[ticket/327] Prepare package for release of beta
2014-08-24 15:50:27 +02:00
Marc Alexander
ac8686179d [ticket/327] Remove authors that haven't contributed in last 5 years
B3P-327
2014-08-24 15:16:53 +02:00
Marc Alexander
309bc6da45 [ticket/327] Update version info in composer.json
B3P-327
2014-08-24 15:10:43 +02:00
Marc Alexander
c96627ac85 Merge pull request #352 from marc1706/ticket/342
[ticket/342] Add version check for portal to extension manager
2014-08-24 14:03:32 +02:00
Marc Alexander
048968ae66 [ticket/342] Add version check for portal to extension manager
B3P-342
2014-08-24 13:44:48 +02:00
Marc Alexander
0451caed38 Merge pull request #350 from marc1706/ticket/347
[ticket/347] Rename services and controllers to be prefix with vendor & ext
2014-08-24 01:28:47 +02:00
Marc Alexander
c3366f746a [ticket/347] Rename services and controllers to be prefix with vendor & ext
B3P-347
2014-08-24 01:16:09 +02:00
Marc Alexander
fab235065f Merge pull request #348 from marc1706/ticket/346
[ticket/346] Remove usage of legacy phpBB functions and methods
2014-08-24 00:48:07 +02:00
Marc Alexander
f0f8b85280 [ticket/346] Use phpbb_get_avtar() instead of deprecated function
B3P-346
2014-08-24 00:04:17 +02:00
Marc Alexander
3f87caf3f3 [ticket/346] Use phpBB log class instead of add_log()
B3P-346
2014-08-23 23:50:32 +02:00
Marc Alexander
8e232cec9d [ticket/346] Correctly pass config object in calendar test
B3P-346
2014-08-23 22:39:32 +02:00
Marc Alexander
ff26914f72 [ticket/346] Use $config->set() instead of set_config()
B3P-346
2014-08-23 22:27:02 +02:00
Marc Alexander
f8fa912342 Merge pull request #345 from marc1706/ticket/340
[ticket/340] Correctly check if permission_setting template row exists
2014-08-23 22:15:38 +02:00
Marc Alexander
61ec0eecf7 Merge pull request #344 from marc1706/ticket/339
[ticket/339] Remove add_log call from welcome module acp settings
2014-08-23 22:04:37 +02:00
Marc Alexander
c02d214f85 Merge pull request #343 from marc1706/ticket/338
[ticket/338] Make sure list style of modules is set to none
2014-08-23 21:59:48 +02:00
Marc Alexander
7d6df389ed [ticket/340] Correctly check if permission_setting template row exists
B3P-340
2014-08-23 21:58:07 +02:00
Marc Alexander
5a285050a7 [ticket/339] Remove add_log call from welcome module acp settings
B3P-339
2014-08-23 21:48:00 +02:00
Marc Alexander
58b1d818d4 [ticket/338] Make sure list style of modules is set to none
B3P-338
2014-08-23 21:43:11 +02:00
Marc Alexander
dac1b2bcaa Merge pull request #341 from marc1706/ticket/337
[ticket/337] Move log and permission lang variables back to info_acp_portal
2014-08-23 21:21:20 +02:00
Marc Alexander
7556ddfc3d [ticket/337] Explicitly state UTF8 as encoding in tests
B3P-337
2014-08-23 21:00:21 +02:00
Marc Alexander
a61eab4b36 [ticket/337] Move log and permission lang variables back to info_acp_portal
Tests for correct displayal of language variables have been added.

B3P-337
2014-08-23 20:35:48 +02:00
Marc Alexander
d81fc02ddb Merge pull request #336 from marc1706/ticket/335
[ticket/335] Resolve merge conflicts when merging master into develop
2014-08-20 23:45:12 +02:00
Marc Alexander
ec858672d2 Merge branch 'master' into test
Conflicts:
	acp/portal_module.php
	contrib/de.xml
	contrib/modx.prosilver.en.xsl
	contrib/subsilver2.xml
	contrib/update_201_to_202/contrib/de.xml
	contrib/update_201_to_202/contrib/modx.prosilver.en.xsl
	contrib/update_201_to_202/contrib/subsilver2.xml
	contrib/update_201_to_202/modx.prosilver.en.xsl
	contrib/update_201_to_202/update.xml
	includes/functions_upload.php
	install.xml
	language/de/modules/portal_attachments_module.php
	modules/custom.php
	modx.prosilver.en.xsl
	root/install/index.php
	root/portal/includes/functions.php
	root/portal/modules/portal_attachments.php
	root/portal/modules/portal_birthday_list.php
	root/portal/modules/portal_calendar.php
	root/portal/modules/portal_donation.php
	root/portal/modules/portal_poll.php
	root/styles/prosilver/template/portal/modules/donation_center.html
	root/styles/prosilver/theme/portal.css
	root/styles/subsilver2/template/portal/modules/recent_center.html
	root/umil/file.php
	root/umil/language/ar/umil.php
	root/umil/language/da/umil.php
	root/umil/language/de/umil.php
	root/umil/language/de_x_sie/umil.php
	root/umil/language/en/umil.php
	root/umil/language/es/umil.php
	root/umil/language/fr/umil.php
	root/umil/language/he/umil.php
	root/umil/language/hr/umil.php
	root/umil/language/hu/umil.php
	root/umil/language/id/umil.php
	root/umil/language/it/umil.php
	root/umil/language/ja/umil.php
	root/umil/language/nl-x-formal/umil.php
	root/umil/language/nl/umil.php
	root/umil/language/pl/umil.php
	root/umil/language/pt/umil.php
	root/umil/language/pt_br/umil.php
	root/umil/language/ro/umil.php
	root/umil/language/ru/umil.php
	root/umil/language/sk/umil.php
	root/umil/language/sv/umil.php
	root/umil/language/tr/umil.php
	root/umil/language/zh_cmn_hant/umil.php
	root/umil/style/parse.css
	root/umil/umil.php
	root/umil/umil_auto.php
	root/umil/umil_frontend.php
	styles/prosilver/template/portal/modules/birthdays_side.html
	styles/prosilver/template/portal/modules/recent_center.html
2014-08-20 23:25:21 +02:00
Marc Alexander
a05ffcba13 Merge pull request #333 from marc1706/ticket/314
[ticket/314] Check copyright lines and fix incorrect comments
2014-08-17 22:49:45 +02:00
Marc Alexander
39a14ea788 [ticket/314] Fix function and method comments 2014-08-17 22:36:45 +02:00
Marc Alexander
ed33e19f4b [ticket/314] Check incorrect copyright lines 2014-08-17 22:13:19 +02:00
Marc Alexander
c89d0c0d4f Merge pull request #332 from marc1706/ticket/331
[ticket/331] Add EPV check to travis builds
2014-08-17 18:20:07 +02:00
Marc Alexander
555b02fd16 [ticket/331] Remove spellchecker 2014-08-17 18:07:11 +02:00
Marc Alexander
fa6f292365 [ticket/331] Exclude vendor and develop folder from spellcheck 2014-08-17 17:51:51 +02:00
Marc Alexander
cf4f2209ff [ticket/331] Run spellchecker on travis again 2014-08-17 16:59:37 +02:00
Marc Alexander
a031bd611e [ticket/331] Remove EPV errors in code 2014-08-17 16:01:53 +02:00
Marc Alexander
5eceecf442 [ticket/331] Removed board3 portal clock 2014-08-17 15:45:19 +02:00
Marc Alexander
61584baed7 [ticket/331] Rename jquery easing plugin 2014-08-17 15:44:28 +02:00
Marc Alexander
49707925b6 [ticket/331] Change call to run-epv.sh 2014-08-17 15:12:05 +02:00
Marc Alexander
3e0ff080bb [ticket/331] Add missing arguments to modules helper in tests 2014-08-17 14:45:15 +02:00
Marc Alexander
85d4d85ee5 [ticket/331] Specify datetime class in tests 2014-08-17 14:37:40 +02:00
Marc Alexander
dfc78cafd6 [ticket/331] Add EPV check to travis builds
B3P-331
2014-08-17 14:09:33 +02:00
Marc Alexander
3fa1e7c745 Merge pull request #330 from marc1706/ticket/329
[ticket/329] Remove span surrounding pagination
2014-08-05 22:54:21 +02:00
Marc Alexander
83da7e0f23 [ticket/329] Remove span surrounding pagination 2014-08-05 22:30:44 +02:00
Marc Alexander
1e1af5f883 Merge pull request #328 from marc1706/ticket/321
[ticket/321] Display jumpbox again
2014-08-03 23:03:56 +02:00
Marc Alexander
acdc7adbd7 [ticket/321] Display jumpbox again 2014-08-03 22:45:12 +02:00
Marc Alexander
4d7cc18c43 Merge pull request #326 from marc1706/ticket/232
[ticket/232] Improve sizing of portal columns and modules
2014-07-30 14:17:58 +02:00
Marc Alexander
4e3ff66f2d [ticket/232] Improve sizing of portal columns and modules 2014-07-30 13:49:02 +02:00
Marc Alexander
7925d69a12 Merge pull request #325 from marc1706/ticket/324
[ticket/324] Do not load module if column is disabled
2014-07-30 13:23:01 +02:00
Marc Alexander
ce2d9bf90f Merge pull request #323 from marc1706/ticket/322
[ŧicket/322] Fix margins if left/right column is disabled
2014-07-30 12:19:54 +02:00
Marc Alexander
c408f8b9c6 [ticket/324] Do not load module if column is disabled 2014-07-30 12:18:50 +02:00
Marc Alexander
dfcb429278 [ŧicket/322] Fix margins if left/right column is disabled 2014-07-30 12:01:36 +02:00
Marc Alexander
c5020a7608 Merge pull request #319 from marc1706/ticket/207
[ticket/207] Add links to portal in header and footer
2014-07-28 17:17:30 +02:00
Marc Alexander
a166ae2553 [ticket/207] Remove unneeded method parameter in add_portal_link 2014-07-28 16:36:16 +02:00
Marc Alexander
4b099019e0 [ticket/207] Use different template var for redirect and fix portal link 2014-07-28 16:27:52 +02:00
Marc Alexander
8567a5c931 [ticket/207] Add links to portal in header and footer
Also added tests for listener.
2014-07-27 22:03:52 +02:00
Marc Alexander
3bc2bfd67e Merge pull request #318 from marc1706/ticket/317
[ticket/317] Use correct block name in END statement
2014-07-27 19:55:03 +02:00
Marc Alexander
b98a67287c [ticket/317] Use correct block name in END statement 2014-07-27 19:42:09 +02:00
Marc Alexander
78887540a4 Merge pull request #313 from marc1706/ticket/289
[ticket/289] Add method for assigning template vars
2014-07-25 14:48:02 +02:00
Marc Alexander
9fd003bb00 [ticket/289] Add method for getting module template 2014-07-25 14:34:34 +02:00
Marc Alexander
6b8fcf120d [ticket/289] Add helper class for controller 2014-07-25 13:13:14 +02:00
Marc Alexander
1d37cbec80 [ticket/289] Add method for getting portal modules 2014-07-25 00:34:56 +02:00
Marc Alexander
e8d32dd018 [ticket/289] Add methods for loading language files and displaying online list 2014-07-25 00:18:34 +02:00
Marc Alexander
2203614991 [ticket/289] Add method for assigning module template variables 2014-07-24 23:56:33 +02:00
Marc Alexander
ca2304abb8 [ticket/289] Add method for checking if redirect is needed 2014-07-24 23:24:40 +02:00
Marc Alexander
50f5cfcbf3 [ticket/289] Add method for checking module count 2014-07-24 23:12:44 +02:00
Marc Alexander
149a92e822 [ticket/289] Add method for assigning template vars 2014-07-24 22:54:53 +02:00
Marc Alexander
2f45c5547d Merge pull request #312 from marc1706/ticket/289
[ticket/289] Removed duplicated code from attachments.php
2014-07-24 20:02:16 +02:00
Marc Alexander
e3e60b3068 [ticket/289] Fix incorrect method docs 2014-07-24 19:22:46 +02:00
Marc Alexander
d41bd0eab9 [ticket/289] Move store_selected_forums to modules_helper 2014-07-24 19:18:25 +02:00
Marc Alexander
2c279b71df [ticket/289] Use generate_forum_select() in all modules 2014-07-24 18:04:05 +02:00
Marc Alexander
483c621fac [ticket/289] Remove unneeded assignment 2014-07-24 17:52:34 +02:00
Marc Alexander
d554480697 [ticket/289] Add missing class variable to modules_helper 2014-07-24 17:51:16 +02:00
Marc Alexander
7f887b872c [ticket/289] Add method for generating forum select boxes 2014-07-24 17:42:51 +02:00
Marc Alexander
240168e925 [ticket/289] Add method for generating select boxes in modules 2014-07-24 13:16:48 +02:00
Marc Alexander
53a58f8a7c [ticket/289] Removed duplicated code from attachments.php 2014-07-24 09:12:18 +02:00
Marc Alexander
8479cb28ca Merge pull request #311 from marc1706/ticket/289
[ticket/289] Fix scrutinizer documentation issues
2014-07-24 08:39:18 +02:00
Marc Alexander
304f7883d9 [ticket/289] Fix newly added scrutinizer issues 2014-07-24 08:28:34 +02:00
Marc Alexander
2692429e82 [ticket/289] Fix scrutinizer documentation issues 2014-07-23 23:21:39 +02:00
Marc Alexander
7732c23e3d Merge pull request #309 from marc1706/ticket/308
[ticket/308] Fix pagination in compact announcements module
2014-07-16 11:49:40 +02:00
Marc Alexander
e43cb08db6 [ticket/308] Fix pagination in compact announcements module
B3P-308
2014-07-16 09:41:27 +02:00
Marc Alexander
023940466f Merge pull request #307 from marc1706/ticket/242
[ticket/242] Remove corners-top and corners-bottom from portal files
2014-07-15 09:09:58 +02:00
Marc Alexander
ca59efa379 [ticket/242] Remove portal-corners from html and css files
B3P-242
2014-07-14 23:53:23 +02:00
Marc Alexander
2542c5ef30 [ticket/242] Remove rounded corners from portal html files
B3P-242
2014-07-14 23:44:27 +02:00
Marc Alexander
3b56ca328f Merge pull request #306 from marc1706/ticket/305
[ticket/305] Turn phpbb_fetch_posts into service
2014-07-14 01:06:40 +02:00
Marc Alexander
86afbe6fe1 [ticket/305] Add method for running sql query
B3P-305
2014-07-14 00:53:06 +02:00
Marc Alexander
6d21c1794c [ticket/305] Split up get_type_constraints()
B3P-305
2014-07-14 00:44:15 +02:00
Marc Alexander
e57d1f411a [ticket/305] Use fetch posts service in news and announcements modules
B3P-305
2014-07-13 10:25:47 +02:00
Marc Alexander
1978fbc48f [ticket/305] Simplify method get_global_id()
B3P-305
2014-07-13 00:44:49 +02:00
Marc Alexander
be8593d288 [ticket/305] Reduce complexity of set_forum_constraints()
B3P-305
2014-07-13 00:23:21 +02:00
Marc Alexander
7acaa371c7 [ticket/305] Make run-coveralls.sh executable
B3P-305
2014-07-13 00:14:48 +02:00
Marc Alexander
fc65161989 [ticket/305] Only run coveralls on PHP 5.5 and mysqli
B3P-305
2014-07-13 00:00:24 +02:00
Marc Alexander
b9d0236793 [ticket/305] Mark phpbb_fetch_posts() as deprecated
B3P-305
2014-07-12 23:29:42 +02:00
Marc Alexander
9922b6a7a7 [ticket/305] Add fetch_posts service as replacement for phpbb_fetch_posts
B3P-305
2014-07-12 23:16:18 +02:00
Marc Alexander
ac88dde05b Merge pull request #304 from marc1706/ticket/303
[ticket/303] Fix character_limit() tests
2014-07-10 00:20:10 +02:00
Marc Alexander
f2a6bce07b [ticket/303] Add sql_exists to cache mock
B3P-303
2014-07-09 23:55:00 +02:00
Marc Alexander
1a9dfa8a58 [ticket/303] Add tests for get_user_groups()
B3P-303
2014-07-09 23:25:26 +02:00
Marc Alexander
75d75df881 Merge pull request #302 from marc1706/ticket/301
[ticket/301] Improve coverage of phpbb_fetch_posts() to 100%
2014-07-09 22:32:02 +02:00
Marc Alexander
2cdc2ee211 [ticket/301] Extend phpbb_fetch_posts coverage to 100%
B3P-301
2014-07-09 22:17:46 +02:00
Marc Alexander
a552a5cb8f [ticket/301] Add higher test coverage of phpbb_fetch_posts
B3P-301
2014-07-09 20:49:49 +02:00
Marc Alexander
63be896ca4 [ticket/301] Cover InvalidArgumentException in phpbb_fetch_posts
B3P-301
2014-07-09 20:05:08 +02:00
Marc Alexander
0a276c6ec6 [ticket/301] Throw Exception on incorrect call of phpbb_fetch_posts
B3P-301
2014-07-09 20:04:02 +02:00
Marc Alexander
9d678d86a9 Merge pull request #300 from marc1706/ticket/299
[ticket/299] Add tests for phpbb_fetch_posts
2014-07-08 20:23:21 +02:00
Marc Alexander
92e17646ed [ticket/299] Add missing sql_exists to fetch_news_test
B3P-299
2014-07-08 19:18:12 +02:00
Marc Alexander
c4c884bd7c [ticket/299] Fix calendar module test
B3P-299
2014-07-08 19:00:44 +02:00
Marc Alexander
aeb912a559 [ticket/299] Add tests for phpbb_fetch_posts
B3P-299
2014-07-08 18:45:49 +02:00
Marc Alexander
016bee7f72 Merge pull request #298 from marc1706/ticket/297
[ticket/297] Enable codesniffer again
2014-07-08 16:56:09 +02:00
Marc Alexander
bf7b8eb99b [ticket/297] Rename version_check method to check to prevent 2nd constructor
B3P-297
2014-07-08 16:14:59 +02:00
Marc Alexander
f4fd6f73e0 [ticket/297] Enable ext sniffer
B3P-297
2014-07-08 16:14:40 +02:00
Marc Alexander
cefd447a67 Merge pull request #296 from marc1706/ticket/293
[ticket/293] Use trimmessage as composer dependency
2014-07-08 00:27:06 +02:00
Marc Alexander
496fb8b60b [ticket/293] Use trimmessage as composer dependency
B3P-293
2014-07-08 00:07:44 +02:00
Marc Alexander
0e7d1b01cc Merge pull request #295 from marc1706/ticket/294
[ticket/294] Use composer dependencies for coveralls
2014-07-07 23:53:06 +02:00
Marc Alexander
a7c4e6b5ab [ticket/294] Exclude vendor directory from coverage reports
B3P-294
2014-07-07 23:38:33 +02:00
Marc Alexander
252e1de3a5 [ticket/294] Correct issues with coveralls.yml
B3P-294
2014-07-07 23:15:51 +02:00
Marc Alexander
830305267a [ticket/294] Handle incorrect check for module_classname
B3P-294
2014-07-07 22:54:30 +02:00
Marc Alexander
f46328889f [ticket/294] Use different coveralls.yml
B3P-294
2014-07-07 22:47:47 +02:00
Marc Alexander
3a35acd1b6 [ticket/294] Disable sniffing in travis for now
B3P-294
2014-07-07 22:45:47 +02:00
Marc Alexander
d7fadc322e [ticket/294] Remove scrutinizer issues introduced recently
B3P-294
2014-07-07 22:43:46 +02:00
Marc Alexander
3f738233fd [ticket/294] Use composer dependencies for coveralls
B3P-294
2014-07-07 22:02:06 +02:00
Marc Alexander
b0e2208bdb Merge pull request #292 from marc1706/ticket/291
[ticket/291] Add controller helper for portal functions
2014-07-07 15:50:38 +02:00
Marc Alexander
40f630a55d [ticket/291] Add modules_helper and use for permission checks
B3P-291
2014-07-07 15:16:29 +02:00
Marc Alexander
0ae979e34a [ticket/291] Add get_disallowed_forums() method to helper
B3P-291
2014-07-07 14:05:06 +02:00
Marc Alexander
b9a6a3b3e5 [ticket/291] Add portal helper class
B3P-291
2014-07-07 11:35:11 +02:00
Marc Alexander
09376584df Merge pull request #290 from marc1706/ticket/289
[ticket/289] Fix some scrutinizer issues
2014-07-07 00:41:05 +02:00
Marc Alexander
5d9c9447f0 [ticket/289] Rename mod_version_check to just version_check
B3P-289
2014-07-07 00:24:09 +02:00
Marc Alexander
cebf984217 [ticket/289] Split mod_version_check into separate methods
B3P-289
2014-07-07 00:16:56 +02:00
Marc Alexander
4390d9cf62 [ticket/289] Add a few more minor scrutinizer fixes
B3P-289
2014-07-07 00:00:20 +02:00
Marc Alexander
09c3898fad [ticket/289] Fix some scrutinizer issues
B3P-289
2014-07-06 23:43:09 +02:00
Marc Alexander
9c87379bf5 Merge pull request #288 from marc1706/ticket/283
[ticket/283] Use newer pagination style in prosilver & support subsilver2
2014-07-06 22:30:17 +02:00
Marc Alexander
cd43291738 [ticket/283] Mark shortened message test skipped if trimmessage not available
B3P-283
2014-07-06 22:07:44 +02:00
Marc Alexander
34bc17a55f Merge pull request #287 from marc1706/ticket/286
[ticket/286] Use get_ methods for dbal properties
2014-07-06 21:54:52 +02:00
Marc Alexander
5d441c68b6 [ticket/283] Use newer pagination style in prosilver & support subsilver2
B3P-283
2014-07-06 21:53:49 +02:00
Marc Alexander
3ce983c7b6 [ticket/286] Use get_ methods for dbal properties
B3P-286
2014-07-06 19:14:39 +02:00
Marc Alexander
ed8d2e2412 Merge pull request #285 from marc1706/ticket/284
[ticket/284] Move phpBB requirement in composer.json
2014-07-06 19:11:15 +02:00
Marc Alexander
34adefe7b5 [ticket/284] Move phpBB requirement in composer.json
B3P-284
2014-07-06 18:46:32 +02:00
Marc Alexander
0a10c75c28 Merge pull request #282 from marc1706/ticket/281
[ticket/281] Run calendar tests and extend calendar testing
2014-06-28 17:15:46 +02:00
Marc Alexander
71e71e75df [ticket/281] Add a few more tests for functions.php
B3P-281
2014-06-28 17:00:01 +02:00
Marc Alexander
79e22c2b9c [ticket/281] Fix incorrect check in calendar tests
B3P-281
2014-06-28 16:37:58 +02:00
Marc Alexander
2b05666f1a [ticket/281] Fix date_to_time tests
B3P-281
2014-06-28 15:54:24 +02:00
Marc Alexander
3ef03e4a43 [ticket/281] Run calendar tests and extend calendar testing
B3P-281
2014-06-28 15:48:56 +02:00
Marc Alexander
7dba6c61e0 Merge pull request #280 from marc1706/ticket/279
[ticket/279] Exclude language files from coverage reports
2014-06-28 15:07:28 +02:00
Marc Alexander
aa2b99be7f [ticket/279] Exclude language files from coverage reports
B3P-279
2014-06-28 14:46:23 +02:00
Marc Alexander
f4f797a477 Merge pull request #278 from marc1706/ticket/277
[ticket/277] Add tests for functions_modules.php
2014-06-28 14:39:50 +02:00
Marc Alexander
24b9fed88b [ticket/277] Add tests for functions_modules.php
B3P-277
2014-06-28 14:22:15 +02:00
Marc Alexander
6825c679c0 Merge pull request #276 from marc1706/ticket/275
[ticket/275] Fix incorrect copyrights in portal files
2014-06-28 14:12:30 +02:00
Marc Alexander
909c123cd9 [ticket/275] Fix incorrect copyrights in portal files
B3P-275
2014-06-28 13:54:19 +02:00
Marc Alexander
1f3d7f996c Merge pull request #274 from marc1706/ticket/273
[ticket/273] Only show portal files in coverage report
2014-06-28 13:25:35 +02:00
Marc Alexander
70cf265951 [ticket/273] Exclude develop from coverage reports
B3P-273
2014-06-28 13:10:55 +02:00
Marc Alexander
3728b87360 [ticket/273] Add script for modifying phpunit-mysqli-travis.xml
B3P-273
2014-06-28 12:48:36 +02:00
Marc Alexander
6d66f85a5c [ticket/273] Add more excluded directories to filter
B3P-273
2014-06-28 11:45:16 +02:00
Marc Alexander
7bb42186e6 [ticket/273] Add coverage badge to README.md
B3P-273
2014-06-28 11:29:01 +02:00
Marc Alexander
70917d9155 [ticket/273] Only show portal files in coverage report
B3P-273
2014-06-28 11:26:27 +02:00
Marc Alexander
724a8372e1 Merge pull request #272 from marc1706/ticket/271
[ticket/271] Add coveralls to travis.yml
2014-06-28 10:45:56 +02:00
Marc Alexander
a4595d3014 [ticket/271] Add missing json_path setting to .coveralls.yml
B3P-271
2014-06-28 10:29:43 +02:00
Marc Alexander
b5f6e9e532 [ticket/271] Add .coveralls.yml
B3P-271
2014-06-28 02:11:09 +02:00
Marc Alexander
3f75dd8fa3 [ticket/271] Add coveralls to travis.yml
B3P-271
2014-06-27 20:40:54 +02:00
Marc Alexander
709d163a78 Merge pull request #270 from marc1706/ticket/269
Fix codesniffer complaints
2014-06-27 18:19:46 +02:00
Marc Alexander
16f85cfbaa [ticket/269] Remove IN_PHPBB check from functions file
B3P-269
2014-06-27 17:59:25 +02:00
Marc Alexander
7d0edf7403 [ticket/269] Use trimmessage tool as extension and add test
B3P-269
2014-06-27 17:39:16 +02:00
Marc Alexander
87bf71684d [ticket/269] Move definition of portal tables to services file
B3P-269
2014-06-27 17:38:43 +02:00
Marc Alexander
4a7f5e6ed8 [ticket/269] Fix codesniffer complaints
B3P-269
2014-06-27 17:38:00 +02:00
Marc Alexander
03509a3195 Merge pull request #268 from marc1706/ticket/265
[ticket/265] Remove execute flag from files that don't need it
2014-06-27 12:01:47 +02:00
Marc Alexander
3c3d0d055e [ticket/265] Remove execute flag from files that don't need it
B3P-265
2014-06-27 11:39:14 +02:00
Marc Alexander
7d46bf53c1 Merge pull request #267 from marc1706/fix/tests
Revert "[ticket/265] Use 644 permissions for files"
2014-06-26 12:51:16 +02:00
Marc Alexander
dac82f5c47 Revert "[ticket/265] Use 644 permissions for files"
This reverts commit d6395878bc.
2014-06-26 12:50:51 +02:00
Marc Alexander
04b9ecf190 Merge pull request #266 from marc1706/ticket/265
[ticket/265] Use 644 permissions for files
2014-06-26 12:30:38 +02:00
Marc Alexander
d6395878bc [ticket/265] Use 644 permissions for files
B3P-265
2014-06-26 12:28:17 +02:00
Marc Alexander
a5e070b7d9 Merge pull request #264 from marc1706/ticket/263
[ticket/263] Strip ICC profiles from images
2014-06-11 23:19:22 +02:00
Marc Alexander
a5affe3ab1 [ticket/263] Strip ICC profiles from images
B3P-263
2014-06-11 19:13:11 +02:00
Marc Alexander
b29a49e0f0 Merge pull request #262 from marc1706/ticket/261
[ticket/261] Fix tests on sqlite3 and use correct phpBB branch
2014-06-11 18:58:00 +02:00
Marc Alexander
9423032df7 [ticket/261] Remove sqlite3 from allowed failures
B3P-261
2014-06-11 18:23:22 +02:00
Marc Alexander
a4b71f01e3 [ticket/261] Properly build birthday list database query
This should fix compatibility with sqlite3.

B3P-261
2014-06-11 17:56:59 +02:00
Marc Alexander
a11bdf667f [ticket/261] Require phpBB functions.php in check_file_src_test
B3P-261
2014-06-11 16:31:23 +02:00
Marc Alexander
fbf101d0ff [ticket/261] Use correct branch for tests and use code and icc sniffer
B3P-261
2014-06-11 16:30:57 +02:00
Marc Alexander
2665a07237 Merge pull request #260 from board3/ticket/12483
Use new testing framework, weeeeh
2014-06-11 07:59:57 +02:00
Joas Schilling
e53d75bb6c Ignore SQLite3 errors for now 2014-06-10 23:47:59 +02:00
Joas Schilling
fe33179197 Use new testing framework, weeeeh 2014-06-10 23:33:51 +02:00
Marc Alexander
9ee1edcb8c Merge pull request #259 from marc1706/ticket/258
[ticket/258] U_ACTION should be B3P_U_ACTION for calendar events
2014-06-09 21:42:46 +02:00
Marc Alexander
6cb6cca7f8 [ticket/258] Slightly improve calendar code and update copyright
B3P-258
2014-06-09 21:26:41 +02:00
Marc Alexander
36963661d4 [ticket/258] U_ACTION should be B3P_U_ACTION for calendar events
B3P-258
2014-06-09 21:14:30 +02:00
Marc Alexander
8894e606b0 Merge pull request #257 from marc1706/ticket/239
[ticket/239] Disable uploading portal modules for now
2014-06-09 15:22:00 +02:00
Marc Alexander
923574566b [ticket/239] Do not test access to the upload module
B3P-239
2014-06-09 15:11:12 +02:00
Marc Alexander
9712518f2b [ticket/239] Disable uploading portal modules for now
B3P-239
2014-06-09 15:05:33 +02:00
Marc Alexander
a66585e14b Merge pull request #256 from marc1706/ticket/255
[ticket/255] Fix display of date of users' upcoming birthdays
2014-06-09 14:52:13 +02:00
Marc Alexander
275bd7c9c6 Merge pull request #254 from marc1706/ticket/251
[ticket/251] Fix display of date of users upcoming birthdays
2014-06-09 14:51:38 +02:00
Marc Alexander
3bf0fbb1e9 [ticket/255] Fix display of date of users' upcoming birthdays
B3P-255
2014-06-09 14:45:25 +02:00
Marc Alexander
50737c5cff [ticket/251] Fix display of date of users upcoming birthdays
B3P-251
2014-06-09 14:39:22 +02:00
Marc Alexander
442e67eabc Merge pull request #253 from marc1706/ticket/251
[ticket/251] Replace colons in HTML files with L_COLON
2014-06-09 13:58:29 +02:00
Marc Alexander
a14139cf9a [ticket/251] Replace colons in HTML files with L_COLON
B3P-251
2014-06-09 13:44:39 +02:00
Marc Alexander
244f283be7 Merge pull request #252 from marc1706/ticket/248
[ticket/248] Be less restrictive on date & time strings
2014-06-09 11:55:39 +02:00
Marc Alexander
6e67220fcc [ticket/248] Allow different types of timestrings for calendar events
B3P-248
2014-06-09 11:43:32 +02:00
Marc Alexander
66a1f20705 [ticket/248] Move unit tests to unit folder
B3P-248
2014-06-09 11:40:16 +02:00
Marc Alexander
e07af8de27 Merge pull request #250 from marc1706/ticket/249
[ticket/249] Fix codesniffer issues
2014-06-09 00:42:53 +02:00
Marc Alexander
eb256a647d [ticket/249] Fix codesniffer complaints in portal files
B3P-249
2014-06-09 00:32:38 +02:00
Marc Alexander
727980f7e0 [ticket/249] Always run functional tests
B3P-249
2014-06-09 00:14:02 +02:00
Marc Alexander
a2f728de3c [ticket/249] Add changes from phpBB files
B3P-249
2014-06-09 00:11:13 +02:00
Marc Alexander
89f3355c76 Merge pull request #247 from marc1706/ticket/246
[ticket/246] Add spellchecker for common misspellings to develop folder
2014-06-09 00:01:59 +02:00
Marc Alexander
207b5f4c66 [ticket/246] Remove mkdir for ext folder
B3P-246
2014-06-08 23:48:18 +02:00
Marc Alexander
c4ab45ade1 [ticket/246] Fix misspellings in portal files
B3P-246
2014-06-08 23:45:11 +02:00
Marc Alexander
1ac06334b0 [ticket/246] Exit with 1 if script encountered misspellings
B3P-246
2014-04-14 01:05:16 +02:00
Marc Alexander
51e6a6e9a8 [ticket/246] Try running spellchecker in php 5.5 test
B3P-246
2014-04-14 00:57:15 +02:00
Marc Alexander
be38d6d284 [ticket/246] Add spellchecker for common misspellings to develop folder
B3P-246
2014-04-14 00:52:58 +02:00
Marc Alexander
251ed1d857 Merge pull request #245 from marc1706/ticket/241
[ticket/241] Correctly call on_page in portal modules
2014-04-12 16:23:38 +02:00
Marc Alexander
192356aff4 Merge pull request #244 from marc1706/ticket/240
[ticket/240] Specify correct namespace of bbcode class
2014-04-12 16:02:13 +02:00
Marc Alexander
f4add715f0 [ticket/241] Correctly call on_page() for news module
B3P-241
2014-04-12 16:01:28 +02:00
Marc Alexander
045efb6df2 [ticket/241] Correctly call on_page() for announcements
B3P-241
2014-04-12 16:00:01 +02:00
Marc Alexander
81d25051ad [ticket/240] Specify correct namespace of bbcode class
B3P-240
2014-04-12 15:42:49 +02:00
Marc Alexander
428cacd35f Merge pull request #238 from marc1706/ticket/102
[ticket/102] Ajaxify certain actions in the ACP
2014-04-08 20:41:58 +02:00
Marc Alexander
767783027c [ticket/102] Ajaxify deleting module from acp
B3P-102
2014-04-08 18:16:31 +02:00
Marc Alexander
f3f9a5cbef [ticket/102] Ignore git-tools on export
B3P-102
2014-04-08 17:22:40 +02:00
Marc Alexander
07cad1d6a9 [ticket/102] Add git-tools with commit and pre commit hooks
B3P-102
2014-04-08 17:21:49 +02:00
Marc Alexander
9bc05fb9e6 [ticket/102] Fix menu module acp settings
B3P-102
2014-04-08 17:21:21 +02:00
Marc Alexander
1e4fa1df0b [ticket/102] Make Welcome module settings html valid
B3P-102
2014-04-08 17:14:51 +02:00
Marc Alexander
dc7e0adf5b [ticket/102] Use B3P_U_ACTION instead of U_ACTION
U_ACTION couldn't be changed for some reason. Therefore we are now using our
own template variable.

B3P-102
2014-04-08 17:13:53 +02:00
Marc Alexander
4da6d97653 [ticket/102] Add functional tests for deleting module and fix deleting module
B3P-102
2014-04-08 16:41:20 +02:00
Marc Alexander
e64f04b927 [ticket/102] Fix html validation issues in modules overview
B3P-102
2014-04-08 14:35:04 +02:00
Marc Alexander
83072b0dce [ticket/102] Add admin CSS file for portal
B3P-102
2014-04-08 14:27:10 +02:00
Marc Alexander
c603e32b19 [ticket/102] Ajaxify moving modules up and down
The complete moving process for moving a module up or down now works with
AJAX. Images are properly changing as one would expect.

B3P-102
2014-04-08 12:38:40 +02:00
Marc Alexander
6692d4f71e [ticket/102] Add possibility to move module up via ajax
B3P-102
2014-04-08 00:21:48 +02:00
Marc Alexander
86be688cf9 [ticket/102] Use phpbb.toggleDisplay() instead of dE()
B3P-102
2014-04-08 00:21:16 +02:00
Marc Alexander
cd8c30960e [ticket/102] Rename acp_portal.js to acp_editor.js
B3P-102
2014-04-08 00:20:27 +02:00
Marc Alexander
2da97611a7 [ticket/102] Cover moving modules more and fix functional tests
B3P-102
2014-04-08 00:19:18 +02:00
Marc Alexander
69c748e1e4 Merge pull request #237 from marc1706/ticket/219
[ticket/219] Remove unneccessary entries from info_acp_portal.php
2014-04-07 12:55:29 +02:00
Marc Alexander
d2b4cb35f8 [ticket/219] Load portal_acp.php in acp portal_module
B3P-219
2014-04-07 12:40:13 +02:00
Marc Alexander
d5dc59df3c [ticket/219] Move remaining language variables to portal_acp.php
B3P-219
2014-04-07 12:40:02 +02:00
Marc Alexander
112ce17761 [ticket/219] Remove unnecessary entries from info_acp_portal.php
Only keep the titles and names of the modules and category.

B3P-219
2014-04-07 12:39:34 +02:00
Marc Alexander
6c3e300543 Merge pull request #236 from marc1706/ticket/232
[ticket/232] Improve look of responsive portal
2014-04-06 22:17:23 +02:00
Marc Alexander
2390fd8432 [ticket/232] Correctly align right column under left column in mobile view
Javascript code will make sure that the right column is nicely aligned right
below the left column if the screen width is not enough for 3 columns.

B3P-232
2014-04-06 21:48:15 +02:00
Marc Alexander
42a34c2ea6 [ticket/232] Get rid of useless padding and margins in mobile view
B3P-232
2014-04-06 21:27:32 +02:00
Marc Alexander
67b067355d [ticket/232] Add missing margin-right to #viewpoll ID
B3P-232
2014-04-06 21:26:53 +02:00
Marc Alexander
ac11640938 [ticket/232] Use class for clear both <br>
B3P-232
2014-04-06 21:26:24 +02:00
Marc Alexander
a415941829 Merge pull request #235 from marc1706/ticket/221
[ticket/221] Link testing badge to Board3 Portal
2014-04-06 21:08:06 +02:00
Marc Alexander
f8ace055f9 [ticket/221] Link testing badge to Board3 Portal
B3P-221
2014-04-06 21:07:12 +02:00
Marc Alexander
4e5bee3840 Merge pull request #234 from marc1706/ticket/233
[ticket/233] Properly redirect to portal after login
2014-04-06 19:59:58 +02:00
Marc Alexander
8db374bcd8 [ticket/233] Properly redirect to portal after login
We need to provide a proper path with controller helper and path helper.
A simple path to the portal is not enough, as we redirect from ucp.php.
Therefore, we need to remove the web root path from the URL to the portal.

B3P-233
2014-04-06 19:48:41 +02:00
Marc Alexander
1b18cfc104 Merge pull request #222 from marc1706/ticket/218
[ticket/218] Fix undefined background-position in IE 8/9
2014-04-06 18:57:12 +02:00
Marc Alexander
988b4a44a2 Merge pull request #231 from marc1706/ticket/229
[ticket/229] Display all groups in who is online module
2014-04-06 01:39:12 +02:00
Marc Alexander
85ea218545 [ticket/229] Test if legend contains more than just Administrators
B3P-229
2014-04-06 01:26:36 +02:00
Marc Alexander
2ea6bfa6fb [ticket/229] Display all groups in who is online module
B3P-229
2014-04-06 01:13:42 +02:00
Marc Alexander
eb5961564e Merge pull request #230 from marc1706/ticket/220
[ticket/220] Enable testing of PHP 5.6
2014-04-05 22:14:50 +02:00
Marc Alexander
e6d527268d [ticket/220] Enable testing of PHP 5.6
B3P-220
2014-04-05 22:02:22 +02:00
Marc Alexander
8745f0b93c Merge pull request #228 from marc1706/ticket/227
[ticket/227] Reduce size of test matrix
2014-04-05 20:41:38 +02:00
Marc Alexander
c42a5015ce [ticket/227] Reduce size of test matrix
B3P-227
2014-04-05 20:23:53 +02:00
Marc Alexander
1e7c107682 Merge pull request #226 from marc1706/ticket/223-gh
[ticket/223] Display whois_online if module is enabled
2014-04-05 20:21:20 +02:00
Marc Alexander
edaf25cebd [ticket/223] Display whois_online if module is enabled
The page_header() function's default was changed from true to false which
means we now have to call it with the second parameter set to true if we want
to display the whois online list.

B3P-223
2014-04-05 20:04:31 +02:00
Marc Alexander
2b6252f874 Merge pull request #225 from marc1706/ticket/224
[ticket/224] Use new create_schema_files from phpBB and json schema
2014-04-05 18:25:29 +02:00
Marc Alexander
8a7212bdb3 [ticket/224] Fix incorrect include and call to get_user_rank
B3P-224
2014-04-05 18:09:49 +02:00
Marc Alexander
891e1ec648 [ticket/224] Use license instead of licence in composer.json
B3P-224
2014-04-05 18:09:20 +02:00
Marc Alexander
4319d7d041 [ticket/224] Use new create_schema_files from phpBB and json schema
B3P-224
2014-04-05 14:50:40 +02:00
Marc Alexander
e255e2f4fc [ticket/218] Add missing fix for IE8 in subsilver2
B3P-218
2014-03-17 18:03:33 +01:00
Marc Alexander
3e06ac9fe2 [ticket/218] Make sure clock doesn't cause trembling blocks in left column
B3P-218
2014-03-17 16:16:18 +01:00
Marc Alexander
e7c32ec1f0 [ticket/218] Apply changes to prosilver portal_clock.js to subsilver2
B3P-218
2014-02-20 10:58:33 +01:00
Marc Alexander
e178f9c40f [ticket/218] Correctly animate clock in IE8
This should make sure that the correct background positions are used for
animating the clock in IE8.

B3P-218
2014-02-20 10:56:18 +01:00
Marc Alexander
43baccd837 [ticket/218] Fix undefined background-position in IE 8/9
This will only take care of the errors that show in IE 8/9. The clock
still doesn't properly show in at least IE8.

B3P-218
2014-02-19 01:07:52 +01:00
Marc Alexander
3d755c1c95 Merge pull request #217 from marc1706/ticket/216
[ticket/216] Remove duplicate code from moving modules in acp and add tests
2014-02-18 01:49:27 +01:00
Marc Alexander
4655544ed4 [ticket/216] Add method for checking if module can be moved
Also fixed minor issues with incorrect checks for module class 'custom'.

B3P-216
2014-02-18 00:44:41 +01:00
Marc Alexander
1d2bc15cf4 [ticket/216] Get full test coverage on move_module_left & move_module_right
B3P-216
2014-02-12 18:27:34 +01:00
Marc Alexander
d9eaf2f2fd [ticket/216] Add error handling for incorrectly moving modules left & right
B3P-216
2014-02-12 18:26:58 +01:00
Marc Alexander
1e34c77459 [ticket/216] Fix non-existing array module_column in portal_module
B3P-216
2014-02-12 18:26:31 +01:00
Marc Alexander
c7b71f8c0a [ticket/216] Add move_module_left and move_module_right to unit tests
These methods are now covered by unit tests. They might need to be
stripped a little bit as the code coverage report currently states that
some part of the code is never hit.

B3P-216
2014-02-11 23:00:28 +01:00
Marc Alexander
817c89e26e [ticket/216] Use handle_after_move() in move_module_down()
B3P-216
2014-02-11 22:08:11 +01:00
Marc Alexander
feb2f52d4d [ticket/216] Methods for last module order and handle_after_move()
The method for getting the last module order will return the last module
order in a column. handle_after_move() will take care of return an error
to the user or redirecting if the move was successful.

B3P-216
2014-02-11 22:05:55 +01:00
Marc Alexander
48ae4e63fb [ticket/216] Do not try to set language if $lang is null in user mock
B3P-216
2014-02-09 16:34:31 +01:00
Marc Alexander
2909976697 [ticket/216] Use get_move_module_data() for acquiring module data for moving
This will get rid of a query code that was duplicated over 4 methods in
portal_module.

B3P-216
2014-02-09 16:23:46 +01:00
Marc Alexander
cc098fb66c Merge pull request #215 from marc1706/ticket/214
[ticket/214] Add MariaDB environment to Travis-CI
2014-02-08 23:15:07 +01:00
Marc Alexander
5f092ad7cd [ticket/214] Set correct permissions for setup-mariadb.sh
B3P-214
2014-02-08 23:03:52 +01:00
Marc Alexander
99cd7f2b9d [ticket/214] Apply recent changes to travis files from phpbb repository
B3P-214
2014-02-08 22:57:46 +01:00
Marc Alexander
7ff415973f [ticket/214] Add MariaDB environment to Travis-CI
B3P-214
2014-02-08 22:47:02 +01:00
Marc Alexander
69bff0fafb Merge pull request #213 from marc1706/ticket/212
[ticket/212] Add unit tests for acp module
2014-02-08 22:40:14 +01:00
marc1706
19b4a3a5a0 [ticket/212] Fix base database test
B3P-212
2014-02-06 23:12:33 +01:00
marc1706
68cd966f3b [ticket/212] Add tests for moving modules
B3P-212
2014-02-06 22:50:56 +01:00
marc1706
fc78d5c5ed [ticket/212] Add missing schema data and improve user class for acp tests
B3P-212
2014-02-06 22:49:36 +01:00
Marc Alexander
384b6bd610 Merge pull request #210 from marc1706/ticket/172
[ticket/172] Remove portal.php from export-ignore list
2014-02-04 04:10:38 -08:00
marc1706
25a70e20b2 [ticket/172] Remove portal.php from export-ignore list
The file no longer exists inside the repository and therefore there is no
need to ingore it during export. This prevented the portal from exporting
the needed language file portal.php during the creation of the zip
archive.

B3P-172
2014-02-04 12:55:24 +01:00
Marc Alexander
a86a99d090 Merge pull request #209 from marc1706/ticket/208
[ticket/208] Move includes files out of portal folder
2014-02-03 15:52:46 -08:00
Marc Alexander
fb7871cb87 [ticket/208] Make sure functional tests only try to enable portal once
Until now, the portal would access the acp page for enabling it every time
a functional test is run. This change will make sure that this happens only
once and therefore slightly speeds up functional tests.

B3P-208
2014-02-04 00:35:12 +01:00
Marc Alexander
c873fd768c [ticket/208] Fix paths after moving includes files
B3P-208
2014-02-04 00:14:59 +01:00
Marc Alexander
81a83e6f9e [ticket/208] Move includes files out of portal folder into includes
The includes files were inside a portal folder until now. This is no longer
needed with the extension.

B3P-208
2014-02-04 00:13:40 +01:00
Marc Alexander
af102fee19 Merge pull request #205 from marc1706/ticket/203
[ticket/203] Remove preceding backslash from service definitions
2014-01-31 09:32:31 -08:00
Marc Alexander
2eace0a015 [ticket/203] Remove preceding backslash from service definitions
Fixed #203

B3P-203
2014-01-31 17:54:02 +01:00
Marc Alexander
939dfb8a6c Merge pull request #204 from marc1706/func_test/registered
[func test/registered] Add functional tests for registered users and fix minor issues
2014-01-31 08:50:06 -08:00
Marc Alexander
c36a297113 [func_test/registered] Fix incorrect name of permissions
Fixed #203

B3P-203
2014-01-31 17:14:24 +01:00
Marc Alexander
e88a313640 [func_test/registered] Add functional tests for registered users
B3P-203
2014-01-31 17:09:55 +01:00
Marc Alexander
cb4dc1fe5e [funct_test/registered] Fix incorrect topic and post columns in user menu
Fixed #203

B3P-203
2014-01-31 16:56:14 +01:00
Marc Alexander
e533cc7f7d Merge pull request #202 from marc1706/functional_test/announce
[functional_test/announce] Add functional tests for announcements on portal
2013-12-29 13:23:13 -08:00
Marc Alexander
795add0751 [functional_test/announce] Add functional tests for announcements on portal 2013-12-29 22:12:23 +01:00
Marc Alexander
c175c89cc7 Merge pull request #200 from marc1706/responsive/portal
Responsive/portal
2013-12-28 15:17:42 -08:00
Marc Alexander
ecdaf2acdb [responsive/portal] Add new pagination to announcements module 2013-12-29 00:10:52 +01:00
Marc Alexander
6e2b9e3a13 [responsive/portal] Add new pagination to portal 2013-12-29 00:09:07 +01:00
Marc Alexander
04b1a4866a Merge pull request #201 from marc1706/update/travis
[update/travis] Do not test branches that don't support testing
2013-12-28 14:48:05 -08:00
Marc Alexander
facdccd6c7 [update/travis] Do not test branches that don't support testing 2013-12-28 23:36:10 +01:00
Marc Alexander
3dc7e79cfd [responsive/portal] Make compact announcements module block responsive 2013-12-02 14:13:11 +01:00
Marc Alexander
f164d2e901 [responsive/portal] Use correct folder img in announcements 2013-12-02 14:12:42 +01:00
Marc Alexander
e4ae9cf436 [responsive/portal] Fix incorrect margins in center column 2013-12-02 14:12:15 +01:00
Marc Alexander
8c031b6c0d [responsive/portal] Remove duplicate ID 2013-12-02 13:45:05 +01:00
Marc Alexander
80da7081f9 [responsive/portal] Use INCLUDECSS to include portal.css 2013-12-02 13:41:59 +01:00
Marc Alexander
ac91c09778 [responsive/portal] Make new tableless layout more or less responsive
Right column is moved down below other columns if width is not sufficient.
2013-12-01 22:56:46 +01:00
Marc Alexander
161cc6c209 [responsive/portal] Get rid of <table> in portal_body.html 2013-12-01 22:56:18 +01:00
Marc Alexander
61af6d6569 [responsive/portal] Include missing functions for forumlist module 2013-12-01 22:55:25 +01:00
Marc Alexander
48f6d9b8e1 [responsive/portal] Fix validation issues in donation center 2013-12-01 22:54:57 +01:00
Marc Alexander
963c5d60b8 [responsive/portal] Use CSS classes for portal-clock
This will get rid of some inline CSS and enable multiple clocks on the portal.
Multiple clocks don't necessarily make sense though.
2013-12-01 22:38:43 +01:00
Marc Alexander
19a9630b2b [responsive/portal] Center clock in module block 2013-12-01 22:10:19 +01:00
Marc Alexander
f52d111d48 [responsive/portal] Make donations module responsive 2013-11-28 11:48:49 +01:00
Marc Alexander
51e6bc742f [responsive/portal] Make forumlist responsive 2013-11-28 11:41:37 +01:00
Marc Alexander
a9d3d84b36 [responsive/portal] Make recent module responsive 2013-11-28 03:22:43 +01:00
Marc Alexander
f00c59b908 [responsive/portal] Make poll and whois online module responsive 2013-11-28 03:14:29 +01:00
Marc Alexander
c4224fef73 [responsive/portal] Show content of left column in responsive layout 2013-11-28 02:41:47 +01:00
Marc Alexander
614e4170f4 [responsive/portal] Improve look of compact news on lower widths 2013-11-28 00:30:27 +01:00
Marc Alexander
0ec477c849 [responsive/portal] Hide parts of portal on small screens 2013-11-28 00:21:45 +01:00
Marc Alexander
8e97adac09 Merge pull request #199 from marc1706/tests/portal_acp
[tests/portal_acp] Test if acp portal pages show without errors
2013-11-26 16:26:43 -08:00
Marc Alexander
b2a5c3859b Merge pull request #198 from marc1706/ajax/add_module
[ajax/add_module] Make add module use ajax
2013-11-26 16:21:01 -08:00
Marc Alexander
838639ad10 [ajax/add_module] Make add module use ajax 2013-11-27 01:09:42 +01:00
Marc Alexander
3c697881ff Merge pull request #197 from marc1706/use/request_class
Use/request class
2013-11-26 06:11:14 -08:00
Marc Alexander
87215fde46 [use/request_class] Use request class in acp module and fix minor issues 2013-11-26 14:37:25 +01:00
Marc Alexander
e20eae3e18 [use/request_class] Use request class in calendar module 2013-11-26 14:23:45 +01:00
Marc Alexander
84fef324b1 [use/request_class] Use request class in welcome module 2013-11-26 14:20:15 +01:00
Marc Alexander
e0f676c2f4 [use/request_class] Use request class in news module 2013-11-26 14:17:11 +01:00
Marc Alexander
837e36eba6 [use/request_class] Use request class in custom module 2013-11-26 14:14:15 +01:00
Marc Alexander
591e232650 [use/request_class] Use request class in announcements module 2013-11-26 14:07:36 +01:00
Marc Alexander
c601476ead [use/request_class] Use request class in stylechanger 2013-11-26 14:05:14 +01:00
Marc Alexander
af84d05fd3 [use/request_class] Use request class in recent module 2013-11-26 13:10:08 +01:00
Marc Alexander
9476743f55 [use/request_class] Use request class in attachments module 2013-11-26 13:07:00 +01:00
Marc Alexander
98dab4ed0f [use/request_class] Use request class in links module 2013-11-26 13:03:45 +01:00
Marc Alexander
5e575e2f83 [use/request_class] Add test for no errors for guests on portal with poll 2013-11-26 12:56:24 +01:00
Marc Alexander
0c95bc508e [use/request_class] Use class variable config in poll module 2013-11-26 12:56:01 +01:00
Marc Alexander
c4fd78dfd2 [use/request_class] Use request class in main menu module 2013-11-26 12:47:54 +01:00
Marc Alexander
e8bc2c79a9 [use/request_class] Use request class in portal functions 2013-11-26 12:25:46 +01:00
Marc Alexander
f7ec84633d [use/request_class] Use request class in poll module 2013-11-26 12:25:23 +01:00
Marc Alexander
b628ba287d Merge pull request #196 from marc1706/move/language
[move/language] Move language files out of mods folder use module folder
2013-11-25 15:56:46 -08:00
Marc Alexander
fd93ef9702 [move/language] Move language files out of mods folder use module folder
The standard language files are now in language/%language%/ and the module
language files have been moved to  language/%language%/modules/.
2013-11-25 20:48:18 +01:00
Marc Alexander
2c08318ee4 [tests/portal_acp] Test if acp portal pages show without errors 2013-11-24 01:18:38 +01:00
Marc Alexander
b611bb42ea Merge pull request #195 from marc1706/extend/vote_test
[extend/vote_test] Extend vote test to vote on poll
2013-11-19 08:45:09 -08:00
Marc Alexander
71a4315ffe [extend/vote_test] Change links to portal to use correct format app.php/portal 2013-11-19 17:34:23 +01:00
Marc Alexander
045dcdb686 [extend/vote_test] Add rewrite rule for app.php 2013-11-19 17:26:40 +01:00
Marc Alexander
669688006f [extend/vote_test] Extend vote test to vote on poll 2013-11-19 16:51:28 +01:00
Marc Alexander
92cac64108 Merge pull request #194 from marc1706/fix/license
[fix/license] Fix license info in PHP files
2013-11-18 15:42:30 -08:00
Marc Alexander
aceb686d70 [fix/license] Fix license info in PHP files 2013-11-19 00:11:32 +01:00
Marc Alexander
d1a4097c45 Merge pull request #193 from marc1706/split/functional_test
[split/functional_test] Split poll tests into seperate functional test file
2013-11-17 23:03:42 -08:00
Marc Alexander
5609bf131b [split/functional_test] Split poll tests into seperate functional test file 2013-11-17 23:48:54 +01:00
Marc Alexander
1604a56909 Merge pull request #192 from marc1706/feature/module_services
[feature/module_services]
2013-11-16 17:04:27 -08:00
Marc Alexander
d55a921e81 [feature/module_services] Move module definitions to modules.yml 2013-11-17 01:56:44 +01:00
Marc Alexander
801066801c [feature/module_services] Get rid of compatibility with old modules 2013-11-17 01:52:57 +01:00
Marc Alexander
64ee68568b [feature/module_services] Move whois_online to module services 2013-11-17 01:52:24 +01:00
Marc Alexander
06bc28ed5a [feature/module_services] Move welcome module to module services 2013-11-17 01:38:11 +01:00
Marc Alexander
12db763560 [feature/module_services] Move user_menu to module services 2013-11-17 01:26:06 +01:00
Marc Alexander
9131024585 [feature/module_services] Move topposers to module services 2013-11-17 01:17:23 +01:00
Marc Alexander
8c66281379 [feature/module_services] Move recent module to module_services 2013-11-17 00:55:05 +01:00
Marc Alexander
e8ba092710 [feature/module_services] Move random_member module to module services 2013-11-17 00:44:41 +01:00
Marc Alexander
73fa16f983 [feature/module_services] Move poll module to module services 2013-11-17 00:38:36 +01:00
Marc Alexander
95a9c7a642 [feature/module_services] Move news module to module services 2013-11-17 00:20:27 +01:00
Marc Alexander
bfe396eec9 [feature/module_services] Move main menu to module services 2013-11-16 23:27:21 +01:00
Marc Alexander
b320d6854d Merge branch 'develop-2.1.x' of https://github.com/board3/Board3-Portal into feature/module_services 2013-11-16 23:01:10 +01:00
Marc Alexander
a4b2debca1 Merge pull request #191 from marc1706/fix/version_check_test
[fix/version_check_test] Include utf_tools.php in version_check_test
2013-11-16 09:07:48 -08:00
Marc Alexander
0c38ca2924 [fix/version_check_test] Include utf_tools.php in version_check_test 2013-11-16 17:59:00 +01:00
Marc Alexander
82495cb249 [feature/module_services] Move statistics module to module services 2013-11-16 17:58:09 +01:00
Marc Alexander
29d81e1f0c Merge pull request #190 from marc1706/feature/module_services
Feature/module services
2013-11-16 08:23:50 -08:00
Marc Alexander
e2b5ace07d [feature/module_services] Remove not needed variable from link us 2013-11-16 17:16:49 +01:00
Marc Alexander
a816a703f2 [feature/module_services] Move search module to module services 2013-11-16 17:16:28 +01:00
Marc Alexander
19c2d437a4 Merge pull request #188 from marc1706/feature/module_services
Feature/module services
2013-11-16 07:48:15 -08:00
Marc Alexander
9df1a2a1b7 [feature/module_services] Fix codesniffer complaint in link us 2013-11-16 16:41:03 +01:00
Marc Alexander
e6e86f07b2 [feature/module_services] Fix type in latest members 2013-11-16 16:10:05 +01:00
Marc Alexander
4c9303eba0 [feature/module_services] Move link_us to module services 2013-11-16 16:09:38 +01:00
Marc Alexander
ce9534bb3d [feature/module_services] Fix docblocks in leaders module 2013-11-16 15:42:38 +01:00
Marc Alexander
9a0ad6d1e3 [feature/module_services] Move links to module services 2013-11-16 15:42:22 +01:00
Marc Alexander
7ef6ca25ba [feature/module_services] Remove portal_leaders module 2013-11-16 15:15:23 +01:00
Marc Alexander
025c368ed9 [feature/module_services] Fix typo in forumlist module 2013-11-16 15:13:50 +01:00
Marc Alexander
ebabc1117c [feature/module_services] Move leaders to module services 2013-11-16 15:13:11 +01:00
Marc Alexander
58e532dfd4 [feature/module_services] Move latest_members to module services 2013-11-16 13:44:11 +01:00
Marc Alexander
972ad7ae5d [feature/module_services] Move latest_bots to module services 2013-11-16 10:42:30 +01:00
Marc Alexander
a1f64e9842 [feature/module_services] Move friends module to module services 2013-11-16 10:36:11 +01:00
Marc Alexander
ebd11b302f [feature/module_services] Move forumlist to module services 2013-11-16 00:32:14 +01:00
Marc Alexander
95eb3d5111 [feature/module_services] Make default module a module service 2013-11-16 00:17:44 +01:00
Marc Alexander
a0fb429665 [feature/module_services] Minor fixes to calendar module 2013-11-15 23:34:56 +01:00
Marc Alexander
af712c4e1e [feature/module_services] Fix colorPalette javascript 2013-11-15 23:34:29 +01:00
Marc Alexander
e939b5e169 [feature/module_services] Add ability to add new module services in acp 2013-11-15 23:33:37 +01:00
Marc Alexander
9d230d7b27 [feature/module_services] Move custom module to module services 2013-11-15 23:29:10 +01:00
Marc Alexander
9b85ac923b [feature/module_services] Fix check_file_src() function for extensions 2013-11-15 18:19:54 +01:00
Marc Alexander
6f3a3c62b7 [feature/module_services] Add missing blank line to birthday_list 2013-11-15 17:51:56 +01:00
Marc Alexander
db82e28857 [feature/module_services] Fix some more acp related issues 2013-11-15 17:51:33 +01:00
Marc Alexander
512910189c [feature/module_services] Move calendar to module service 2013-11-15 17:36:30 +01:00
Marc Alexander
9702fc8923 [feature/module_services] Move birthday_list module to service 2013-11-14 19:48:18 +01:00
Marc Alexander
0c736232aa [feature/module_services] Fix display of compact news module 2013-11-14 19:42:09 +01:00
Marc Alexander
a5717eeb80 [feature/module_services] Delete old portal.php 2013-11-14 19:41:40 +01:00
Marc Alexander
71145968ca [feature/module_services] Try fixing function tests for nginx 2013-11-14 19:31:26 +01:00
Marc Alexander
2a7773eec3 [feature/module_services] Minor changes to docblocks and migration file 2013-11-14 19:22:25 +01:00
Marc Alexander
b5f9e21a15 [feature/module_services] Fix module_services for acp module 2013-11-14 19:21:51 +01:00
Marc Alexander
0f449e142a [feature/module_services] Add tests that check if errors appear on portal 2013-11-14 18:48:23 +01:00
Marc Alexander
fefa2c8cd9 Merge branch 'develop-2.1.x' of https://github.com/board3/Board3-Portal into feature/module_services
Conflicts:
	portal/includes/functions.php
2013-11-14 18:33:31 +01:00
Marc Alexander
0eacefc1da [feature/module_services] Disable caching of portal modules when debug enabled 2013-11-14 18:22:28 +01:00
Marc Alexander
e26c88e963 [feature/module_services] Fix minor issues in changed files 2013-11-14 17:17:39 +01:00
Marc Alexander
942d8f98e2 [feature/module_services] Move attachments module to services 2013-11-14 17:15:36 +01:00
Marc Alexander
da964d047b Merge pull request #189 from marc1706/reduce/queries
[reduce/queries] Cache first forum_id in phpbb_fetch_posts() for one day
2013-11-14 06:01:37 -08:00
Marc Alexander
ba167ddc90 [reduce/queries] Cache first forum_id in phpbb_fetch_posts() for one day 2013-11-14 14:26:58 +01:00
Marc Alexander
f852f166f7 [feature/module_services] Make announcements module a service 2013-11-14 14:02:02 +01:00
Marc Alexander
fd12ba4b8e [feature/module_services] Fix minor issues in portal_poll 2013-11-12 14:59:01 +01:00
Marc Alexander
c37da45612 [feature/module_services] Pass phpBB dbal driver to module uninstall method 2013-11-12 14:46:18 +01:00
Marc Alexander
d0e8cbea32 [feature/module_services] Fix docblocks and missing variables in modules 2013-11-12 14:45:19 +01:00
Marc Alexander
35fb3103f7 [feature/module_services] Move donation module to new module format 2013-11-12 14:44:08 +01:00
Marc Alexander
31b4fe1f96 [feature/module_services] Ignore line in generate_migrations_data in sniffer 2013-11-12 14:06:48 +01:00
Marc Alexander
8de0a01890 [feature/module_services] Turn clock and stylechanger into new modules only 2013-11-12 13:41:05 +01:00
Marc Alexander
145bfeb6e5 [feature/module_services] Let generate_migrations_data handle new modules 2013-11-12 13:39:23 +01:00
Marc Alexander
7f85489f69 [feature/module_services] Remove IN_PHPBB check from modules files 2013-11-11 23:03:06 +01:00
Marc Alexander
18a93ea829 [feature/module_services] Add clock module 2013-11-11 23:02:41 +01:00
Marc Alexander
2d87b0e06d Merge pull request #187 from marc1706/fix/generate_migrations_data
[fix/generate_migrations_data] fix script generate_migrations_data
2013-11-11 13:32:07 -08:00
Marc Alexander
bad689b5fd [fix/generate_migrations_data] fix script generate_migrations_data 2013-11-11 22:31:14 +01:00
Marc Alexander
8f43a142b8 Merge pull request #185 from marc1706/feature/module_services
[feature/module_services] Start using services for modules
2013-11-10 04:26:09 -08:00
Marc Alexander
207076d637 [feature/module_services] Add missing methods to module interface and base 2013-11-10 13:19:38 +01:00
Marc Alexander
d63149f33b [feature/module_services] Add ability to use old module files for now 2013-11-10 13:18:57 +01:00
Marc Alexander
e3220460a9 [feature/module_services] Start using services for modules
This includes a module_interface and module_base for the modules.
Adding, moving, or managing modules doesn't work yet.
2013-11-07 17:33:59 +01:00
Marc Alexander
cf1cd55cfd Merge pull request #184 from marc1706/remove/add_lang
[remove/add_lang] Remove add_lang from functional tests
2013-11-06 07:58:15 -08:00
Marc Alexander
52b7ce6aa3 [remove/add_lang] Remove add_lang from functional tests 2013-11-06 16:46:37 +01:00
Marc Alexander
6df924ff0f Merge pull request #183 from marc1706/ticket/181
[ticket/181] Add functional tests for portal redirect
2013-11-06 07:36:48 -08:00
Marc Alexander
9adf059eaa [ticket/181] Correctly check if Board3 Portal extension is disabled 2013-11-06 16:20:50 +01:00
Marc Alexander
04f6d4018f [ticket/181] Check if mod_rewrite is enabled in functional tests 2013-11-06 12:54:57 +01:00
Marc Alexander
2c8a93b6d9 [ticket/181] Add functional tests for portal redirect 2013-11-06 11:48:09 +01:00
Marc Alexander
fe145f4b29 Merge pull request #182 from marc1706/ticket/181
[ticket/181] Redirect to portal by default
2013-11-06 01:58:46 -08:00
Marc Alexander
062a5112a5 [ticket/181] Redirect to portal by default
Fixed #181
2013-11-06 10:58:04 +01:00
Marc Alexander
9c90e52907 Merge pull request #180 from marc1706/ticket/179
[ticket/179] Correctly redirect to app.php/portal using styleswitcher
2013-11-06 00:35:26 -08:00
Marc Alexander
fb02bd2b61 [ticket/179] Correctly redirect to app.php/portal using styleswitcher
Fixed #179
2013-11-06 00:12:30 +01:00
Marc Alexander
7c86475eba Merge pull request #178 from marc1706/fix/subsilver2
Fix/subsilver2
2013-11-05 14:57:55 -08:00
Marc Alexander
6083270b61 [fix/subsilver2] Fix clock on subsilver2 2013-11-05 23:57:04 +01:00
Marc Alexander
f4e7061087 [fix/subsilver2] Fix subsilver2 style 2013-11-05 23:42:06 +01:00
Marc Alexander
2ac5f713dc Merge pull request #177 from marc1706/fix/news_layout
[fix/news_layout] "Last post" should be on same line as other titles
2013-11-05 05:34:32 -08:00
Marc Alexander
2fb73a9e3d [fix/news_layout] "Last post" should be on same line as other titles 2013-11-04 14:33:01 +01:00
Marc Alexander
da6af3b1aa Merge pull request #176 from marc1706/fix/code_sniffer
[fix/code_sniffer] Fix code_sniffer complaints
2013-11-03 06:32:36 -08:00
Marc Alexander
2d87dc449c [fix/code_sniffer] Fix code_sniffer complaints 2013-11-03 15:31:38 +01:00
Marc Alexander
404fad65b5 Merge pull request #175 from marc1706/fix/redirect_link
[fix/redirect_link] Correctly redirect to app.php/portal for now
2013-11-02 02:36:28 -07:00
Marc Alexander
2d5a7af22d [fix/redirect_link] Correctly redirect to app.php/portal for now
This does not work yet though, as the redirect() function is unable to handle
redirects to app.php/xyz.
2013-11-02 10:35:03 +01:00
Marc Alexander
6ee32bad32 Merge pull request #174 from marc1706/fix/notifications_pms
[fix/notifications_pms] Fix links to pms and add notifications
2013-11-01 06:44:22 -07:00
Marc Alexander
d2d6b0ac6e [fix/notifications_pms] Fix links to pms and add notifications 2013-11-01 14:43:34 +01:00
Marc Alexander
cedc646b1d Merge pull request #173 from marc1706/fix/acp_links
[fix/acp_links] Fix incorrect links in acp
2013-10-31 04:05:01 -07:00
Marc Alexander
0cb27d7ca8 [fix/acp_links] Fix incorrect links in acp
This doesn't fix all yet but at least some of the links.
2013-10-31 12:03:53 +01:00
Marc Alexander
f2c29df22e Merge pull request #171 from marc1706/ticket/154
[ticket/154] only load portal.css on portal page
2013-10-30 10:28:48 -07:00
Marc Alexander
9b92d1a1df [ticket/154] only load portal.css on portal page 2013-10-30 18:27:47 +01:00
Marc Alexander
f8f0d1ace7 Merge pull request #170 from marc1706/feature/mod_version_check
[feature/mod_version_check] Add newer mod version check service
2013-10-29 16:45:25 -07:00
Marc Alexander
7b130f2c49 [feature/mod_version_check] Remove old version check and introduce new one 2013-10-30 00:26:16 +01:00
Marc Alexander
6747625a5c [feature/mod_version_check] Add newer mod version check service 2013-10-30 00:14:44 +01:00
Marc Alexander
b4f0657714 Merge pull request #169 from marc1706/fix/namespaces
[fix/namespaces] add namespaces for acp modules
2013-10-29 15:59:33 -07:00
Marc Alexander
1c9e0da63c [fix/namespaces] add namespaces for acp modules 2013-10-29 19:53:28 +01:00
Marc Alexander
d2634566b8 Merge pull request #168 from marc1706/add/gitattributes
[add/gitattributes] add .gitattributes
2013-10-29 11:12:03 -07:00
Marc Alexander
cad748bc0d [add/gitattributes] add .gitattributes 2013-10-29 19:10:34 +01:00
Marc Alexander
3e8b0d6394 Merge pull request #167 from marc1706/fix/folders
[fix/folders] Fix folder structure as mentioned by nickvergessen
2013-10-29 10:56:21 -07:00
Marc Alexander
e0ab401185 [fix/folders] fix paths for travis builds 2013-10-29 18:38:39 +01:00
Marc Alexander
34ceca877e [fix/folders] fix unit tests after moving files 2013-10-29 18:26:51 +01:00
Marc Alexander
0ed406ae04 [fix/folders] move files up one level
Root folder now equals the root folder of the extension.
2013-10-29 18:19:15 +01:00
Marc Alexander
6695373e0b [fix/folders] move files back to root 2013-10-29 18:18:10 +01:00
Marc Alexander
de3bfbd7dd [fix/folders] remove old modx files 2013-10-29 18:16:13 +01:00
Marc Alexander
076fe71999 Merge pull request #166 from marc1706/cleanup/files
[cleanup/files] clean up files after adding testframework
2013-10-29 10:10:31 -07:00
Marc Alexander
0215d30281 [cleanup/files] Remove redis from board3 directory to fix codesniffer 2013-10-29 17:44:17 +01:00
Marc Alexander
7e65259d6f [cleanup/files] Add build info for automated tests to readme 2013-10-29 17:18:09 +01:00
Marc Alexander
7525acfcd6 [cleanup/files] Remove useless code from travis.yml and run codesniffer 2013-10-29 17:17:42 +01:00
Marc Alexander
add4d2987f [cleanup/files] Remove nickvergessen from email notifications 2013-10-29 17:00:36 +01:00
Marc Alexander
492c047f7e [cleanup/files] Use correct requirements in composer.json 2013-10-29 16:59:27 +01:00
Marc Alexander
b9946a227c [cleanup/files] Enable colors in tests 2013-10-29 16:59:12 +01:00
Marc Alexander
6afff6b32c [cleanup/files] Remove not needed files added by extension-testframework 2013-10-29 16:58:44 +01:00
Marc Alexander
f62f58a1be Merge pull request #165 from marc1706/feature/tests
[feature/tests] add unit testing framework
2013-10-29 08:22:02 -07:00
Marc Alexander
e7413d417d [feature/tests] fix tests for not defined PHPUnit_Runner_Version 2013-10-29 16:11:39 +01:00
Marc Alexander
5263e67fa8 [feature/tests] use correct link to phpunit 2013-10-29 15:52:11 +01:00
Marc Alexander
88dd50f3ab [feature/tests] show dir content before failure 2013-10-29 15:47:34 +01:00
Marc Alexander
27304eb644 [feature/tests] Correctly move Board3-Portal on any repository 2013-10-29 15:32:30 +01:00
Marc Alexander
4eb836cbc7 [feature/tests] fix travis build 2013-10-29 15:19:37 +01:00
Marc Alexander
fe7794f81a [feature/tests] Fix testframework for board3 portal 2013-10-29 15:12:24 +01:00
Marc Alexander
c3066e6f01 [feature/tests] Add simple function test 2013-10-29 15:03:59 +01:00
Marc Alexander
d757d7396d [feature/tests] Add extension-testframework from phpBB gallery 2013-10-29 15:02:51 +01:00
Marc Alexander
e3fb1073be Merge pull request #163 from marc1706/move_to_portal
[move_to_portal] Move portal files from root folder to portal folder
2013-10-29 05:33:20 -07:00
Marc Alexander
ffef91d62f [move_to_portal] Move portal files from root folder to portal folder 2013-10-29 13:32:09 +01:00
Marc Alexander
7214de04b7 Merge pull request #162 from marc1706/merge/master
Merge/master
2013-10-27 10:34:36 -07:00
Marc Alexander
1e83ce9489 [update/install] Update installation/update files for release 2013-10-27 18:33:48 +01:00
Marc Alexander
9996eabe77 [birthday/php_5_5_compat] Remove unneeded functions from birthday list 2013-10-27 18:33:19 +01:00
Marc Alexander
35b31ce0bf [birthday/php_5_5_compat] Filter out array elements from lang dates 2013-10-27 18:33:05 +01:00
Marc Alexander
fd1f89e908 [improve/design] Slight changes to menu and recent topics design
Conflicts:
	root/styles/prosilver/template/portal/modules/recent_center.html
	root/styles/prosilver/theme/portal.css
2013-10-27 18:32:41 +01:00
Marc Alexander
453468cc79 [birthday/ahead_date] Add span title with date to birthday ahead list 2013-10-27 18:28:41 +01:00
Marc Alexander
8a841d816f [fix/acp-logs] Do not create duplicate acp logs and fix custom module logs 2013-10-27 18:28:28 +01:00
Marc Alexander
67c60419b8 Merge pull request #161 from marc1706/fix/readme
[fix/readme] Remove outdated instructions and info from readme
2013-10-27 10:26:14 -07:00
Marc Alexander
ad4787ae1c [fix/readme] Remove outdated instructions and info from readme 2013-10-27 18:25:20 +01:00
Marc Alexander
0d0418f2d5 Merge pull request #153 from marc1706/fix/namespaces
[fix/namespaces] Fix portal after adding namespaces
2013-10-17 12:43:52 -07:00
Marc Alexander
53436e790c [fix/namespaces] Fix portal after adding namespaces
B3P-FIX-NAMESPACES
2013-10-17 21:42:43 +02:00
Marc Alexander
ab9f2eaaa3 Merge pull request #152 from marc1706/apply/master
Apply/master
2013-10-17 02:08:59 -07:00
Marc Alexander
0c8b39b0bd [fix/update] Copy German language files in German language update
B3P-FIX-DE_UPDATE
2013-10-17 11:07:49 +02:00
Marc Alexander
d3cfdae79a [fix/german] Fix incorrect language strings in the German files
B3P-FIX-DE
2013-10-17 11:07:40 +02:00
Marc Alexander
5e95d62e1e [ticket/226] Use $this->c_class instead of $c_class
B3P-226
2013-10-17 11:07:32 +02:00
Marc Alexander
63d7dd9f75 [translate/changes] Translate 2.0.2 changes to German
B3P-TRNS-CHANGES
2013-10-17 11:07:23 +02:00
Marc Alexander
7e4896c79e [remove/format_birthday] Remove useless function format_birthday()
B3P-RM-FORMAT_BIRTHDAY
2013-10-17 11:07:03 +02:00
Marc Alexander
2d4468b643 [fix/xml] Use dependency again for mod version check links
B3P-FIX_XML
2013-10-17 11:06:46 +02:00
Marc Alexander
eee18cc4e5 [update/2.0.2] Update files for 2.0.2 release
This includes an update of MODx to 1.2.6

B3P-UPDATE-2.0.2

Conflicts:
	root/install/index.php
2013-10-17 11:06:30 +02:00
Marc Alexander
5c5f8b4845 [feature/clean-up] Remove duplicated code from portal modules
B3P-CU

Conflicts:
	root/portal/modules/portal_poll.php
2013-10-17 11:02:56 +02:00
Marc Alexander
566762c5d2 [ŧicket/223] Set correct permissions to uploaded files (644)
phpbb_chmod() only sets the owner permissions. As we need to set the
permissions for all users, it is not possible to use phpbb_chmod().

B3P-223
2013-10-17 10:59:38 +02:00
Marc Alexander
966f5cfa2d Display correct day of the week with negative UTC offset
A duplicate subtraction of the UTC offset and DST time caused the creation
of an incorrect timestamp. In return this caused us to go back too far and
therefore moved us back one day.

Conflicts:
	root/portal/modules/portal_calendar.php
2013-10-17 10:56:42 +02:00
Marc Alexander
3be38fabc5 Merge pull request #141 from marc1706/ticket/224
[ticket/224] Add possibility to append username to donation
2013-09-21 05:26:08 -07:00
Marc Alexander
198e32ea9d [ticket/224] Add possibility to append username to donation
B3P-224
2013-09-21 14:25:11 +02:00
Marc Alexander
71a7860925 Merge pull request #139 from marc1706/ticket/138
[ticket/138] Fix issues caused by switching to twig
2013-08-23 14:20:44 -07:00
Marc Alexander
30da5c6261 [ticket/138] Fix issues caused by switching to twig
B3P-138
2013-08-23 15:30:23 -05:00
Marc Alexander
16b148b713 Merge pull request #137 from marc1706/ticket/134
[ticket/134] Replace old _approved and _replies columns with replacements
2013-08-23 12:26:33 -07:00
Marc Alexander
a5102ee393 [ticket/134] Replace old _approved and _replies columns with replacements
Due to softdelete in 3.1, these columns were replaced by newer ones.

B3P-134
2013-08-23 14:23:49 -05:00
Marc Alexander
e8056e8e48 Merge pull request #136 from marc1706/ticket/135
[ticket/135] Fix broken installer
2013-07-18 13:26:42 -07:00
Marc Alexander
c764c45732 [ticket/135] Fix broken installer
Fixed #135

B3P-135
2013-07-18 22:25:03 +02:00
Marc Alexander
c260b90488 Merge remote-tracking branch 'marc1706/ticket/120' into develop-2.1.x
Conflicts:
	root/portal/modules/portal_birthday_list.php
2013-06-09 16:52:07 +02:00
Marc Alexander
5d2b3b4a54 Merge pull request #131 from marc1706/feature/acp
[feature/acp] Convert ACP module to new extension system
2013-03-22 05:49:13 -07:00
Marc Alexander
fe1888e6c0 [feature/acp] Convert ACP module to new extension system
B3P-131
2013-03-22 13:45:56 +01:00
Marc Alexander
156fded994 Merge pull request #130 from marc1706/fixup/theme
[fixup/theme] Fix theme paths and topic icons
2013-03-09 05:17:29 -08:00
Marc Alexander
78ea9ef8d3 Merge pull request #129 from marc1706/fixup/valid_css
[fixup/valid_css] Fix invalid CSS and/or HTML
2013-03-09 05:17:17 -08:00
Marc Alexander
05e320be77 [fixup/theme] Fix theme paths and topic icons
B3P-118
2013-03-09 14:15:24 +01:00
Marc Alexander
1bbe74e8c6 [fixup/valid_css] Fix invalid CSS and/or HTML
B3P-118
2013-03-09 13:57:21 +01:00
Marc Alexander
faf559acd1 Merge pull request #128 from marc1706/feature/migrations
[feature/migrations] Add migrations file for phpBB 3.1
2013-03-08 14:33:09 -08:00
Marc Alexander
f931c822e8 [feature/migrations] Remove old umil installer and umil package
B3P-101
2013-03-08 23:27:07 +01:00
Marc Alexander
7be6d9318e [feature/migrations] Add migrations file for Board3 Portal
B3P-101
2013-03-08 23:26:43 +01:00
Marc Alexander
7e25bf46aa [feature/migrations] Fix minor issues in migrations data script
Fixed incorrect IDs, line endings, and add tabbing.

B3P-101
2013-03-08 23:22:56 +01:00
Marc Alexander
bd2ea48ecb [feature/migrations] Fix incorrect use of php_ext
B3P-101
2013-03-08 23:17:43 +01:00
Marc Alexander
1431b95c1d [feature/migrations] Fix issues in data script and unserialize data
B3P-101
2013-03-04 21:59:55 +01:00
Marc Alexander
5d6f457b93 [feature/migrations] Add script for creating the needed database queries
This script will parse the needed config entries and module entries that
are needed for a basic Board3 Portal.

B3P-101
2013-03-04 21:33:58 +01:00
Marc Alexander
16de474503 Merge pull request #127 from marc1706/update/copyright
[update/copyright] Update copyright to 2013
2013-03-03 09:17:42 -08:00
Marc Alexander
78e1a9b064 [update/copyright] Update copyright to 2013
B3P-217
2013-03-03 18:16:31 +01:00
Marc Alexander
a2ef3b8172 Merge pull request #126 from marc1706/fixup/stylechanger
[fixup/stylechanger] Use link to controller file
2013-03-03 09:16:03 -08:00
Marc Alexander
895546f502 [fixup/stylechanger] Use link to controller file
It's not perfect but makes sure the links work right now.

B3P-126
2013-03-03 18:14:38 +01:00
Marc Alexander
b72fef9af3 Merge pull request #125 from marc1706/ticket/124
[ticket/124] Make portal HTML 5 valid
2013-03-03 09:12:56 -08:00
Marc Alexander
ed642b9321 [ticket/124] Make portal HTML 5 valid
B3P-124
2013-03-03 18:11:30 +01:00
Marc Alexander
06918bc81d Merge pull request #123 from marc1706/ticket/122
[ticket/122] Correctly display days in calendar
2013-03-03 09:07:49 -08:00
Marc Alexander
b69511de36 [ticket/122] Correctly display days in calendar
Due to changes in handling the time the HTML is incorrectly created and
thus causes a <tr> for every day. This results in every day being on a new
line. Additionally, the calendar module is now HTML5 valid.

B3P-122
2013-03-03 18:05:20 +01:00
Marc Alexander
c3f7197eea Merge pull request #121 from marc1706/feature/jquery_clock
[feature/jquery_clock] Add jQuery-based clock to prosilver clock_side
2013-03-03 08:55:25 -08:00
Marc Alexander
a74347eefc [feature/jquery_clock] Make jquery clock html5 valid
B3P-218
2013-03-03 17:54:16 +01:00
Marc Alexander
6b17f71941 [feature/jquery_clock] Remove not needed settings from portal_clock module
B3P-218
2013-03-02 23:33:08 +01:00
Marc Alexander
09faef4d74 [feature/jquery_clock] Add jQuery clock to subsilver2
The clock module is now also displaying the jQuery clock in subsilver2.

B3P-218
2013-03-02 23:29:21 +01:00
Marc Alexander
53186f7060 [feature/jquery_clock] Add jQuery-based clock to prosilver clock_side
The clock we currently use needs flash support. As newer browsers and
mobile devices are moving on from flash to HTML5 we should do the same and
replace our flash clock with a jQuery based clock.
It is using image sprites which means we only have to load 2 images. One
for the single digits and one for the double digit hours.
This is currently only added to prosilver and the obsolete settings in the
clock module still need to be removed.

B3P-218
2013-03-02 14:15:48 +01:00
Marc Alexander
ce300a78a6 Merge pull request #119 from marc1706/fixup/theme
[fixup/theme] Fix theme paths and other related paths in module files
2013-02-27 09:25:59 -08:00
Marc Alexander
76bd3af823 [fixup/theme] Fix theme paths and other related paths in module files
Due to the new extension system some paths to files are no longer correct
and need to be fixed. Additionally, an event listener that allows the
loading of portal.css has been added.

B3P-118
2013-02-27 18:18:14 +01:00
Marc Alexander
2d0e98b83c Merge pull request #117 from marc1706/calendar/one_day_off
Display correct day of the week with negative UTC offset
2013-02-27 08:28:32 -08:00
Marc Alexander
e33f13f8fb Display correct day of the week with negative UTC offset
A duplicate subtraction of the UTC offset and DST time caused the creation
of an incorrect timestamp. In return this caused us to go back too far and
therefore moved us back one day.

Conflicts:
	root/portal/modules/portal_calendar.php
2013-02-27 17:27:03 +01:00
Marc Alexander
e40a5e97a6 Merge pull request #115 from marc1706/feature/controller
[feature/controller] Make portal work with new controller interface
2013-02-25 02:49:17 -08:00
Marc Alexander
cf79e948c3 Merge branch 'develop-2.1.x' of github.com:board3/Board3-Portal into feature/controller
Conflicts:
	root/portal/modules/portal_user_menu.php
2013-02-25 11:47:49 +01:00
Marc Alexander
b755201897 [feature/controller] Fix missing issues that prevented portal from working
The portal still requires the fix to PHPBB3-11323 in order to work.

B3P-114
2013-02-25 11:41:57 +01:00
Marc Alexander
edf7541001 [feature/controller] Fix displayal of readme
B3P-114
2013-01-09 18:29:25 +01:00
Marc Alexander
742ac5bdea [feature/controller] Include portal files and fix incorrect variables
B3P-114
2013-01-09 18:28:05 +01:00
Marc Alexander
632c7ab24f [feature/controller] Add routing and services files
B3P-114
2013-01-09 18:22:44 +01:00
Marc Alexander
93b3291de9 [feature/controller] Fix incorrect coding and docblocks in main controller
B3P-114
2013-01-09 18:21:13 +01:00
Marc Alexander
3a6640450c [feature/controller] Update readme for correct database changes
B3P-114
2013-01-09 18:19:55 +01:00
Marc Alexander
48bce54c48 [feature/controller] Move main controller to controller directory
A few minor improvements to variables etc. were also added.

B3P-114
2013-01-09 17:44:51 +01:00
Marc Alexander
d419c19324 [feature/controller] Update readme for Board3 Portal 2.1.x
As migrations do not work yet, include instructions for manually
installing it.

B3P-114
2013-01-09 17:43:15 +01:00
Marc Alexander
1b85010f43 Merge remote-tracking branch 'origin' into develop-2.1.x
Conflicts:
	root/portal/includes/functions_upload.php
2013-01-09 17:02:41 +01:00
Marc Alexander
95a7130591 Merge pull request #108 from board3/master
Update develop-2.1.x
2012-12-24 05:27:06 -08:00
Marc Alexander
2c2c0ad9ee Merge pull request #103 from marc1706/develop-2.1.x
Use flag SKIP_DOTS for RecursiveDirectoryIterator
2012-12-19 15:05:52 -08:00
Marc Alexander
6422c7925b Use flag SKIP_DOTS for RecursiveDirectoryIterator
We should use the flag FilesystemIterator::SKIP_DOTS for the
RecursiveDirectoryIterator in functions_upload.php. This is supported
starting with PHP 5.3. As PHP 5.3.2 is a requirement for phpBB 3.1
this will not break anything.

Fixed #100
2012-10-26 13:04:12 +02:00
Marc Alexander
96e0180f6e Merge pull request #98 from marc1706/develop-2.1.x
Add basic files for being an extension
2012-10-26 03:59:02 -07:00
Marc Alexander
520f0b4ab4 Merge branch 'master' into develop-2.1.x
Conflicts:
	root/language/de/mods/info_acp_portal.php
	root/language/en/mods/info_acp_portal.php
2012-10-26 12:56:19 +02:00
Marc Alexander
59a37a06ac Add basic files for being an extension 2012-10-05 15:33:02 +02:00
Marc Alexander
fee70fd3d0 Merge pull request #97 from marc1706/master
Add small changes for B3P 2.0.1 release
2012-09-22 07:34:43 -07:00
Marc Alexander
a8ed6a31e8 Add missing language variable "NO_FILE_B3P" 2012-09-22 16:32:29 +02:00
Marc Alexander
715960ee94 Merge pull request #96 from marc1706/master
Remove update for beta version
2012-08-26 07:47:18 -07:00
Marc Alexander
2678e879e3 Merge pull request #95 from marc1706/master
Remove update instructions for old releases
2012-08-26 07:35:33 -07:00
Marc Alexander
46fd811fa1 Merge pull request #94 from marc1706/master
Add missing error messages to links & main menu modules
2012-08-25 08:03:42 -07:00
424 changed files with 16077 additions and 29461 deletions

5
.coveralls.yml Normal file
View File

@@ -0,0 +1,5 @@
#.coveralls.yml
src_dir: ../../phpBB3
coverage_clover: ../../phpBB3/build/logs/clover.xml
json_path: ../../phpBB3/build/logs/coveralls-upload.json

12
.gitattributes vendored Normal file
View File

@@ -0,0 +1,12 @@
tests/ export-ignore
develop/ export-ignore
travis/ export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.travis.yml export-ignore
phpunit.xml.* export-ignore
README.md export-ignore
git-tools/ export-ignore
.coveralls.yml export-ignore
composer.phar export-ignore
composer.lock export-ignore

2
.gitignore vendored
View File

@@ -1 +1,3 @@
/.idea/*
/tests/test_config.php
/vendor/

72
.travis.yml Normal file
View File

@@ -0,0 +1,72 @@
language: php
matrix:
include:
- php: 5.3.3
env: DB=mysqli
- php: 5.3
env: DB=mysqli # MyISAM
- php: 5.4
env: DB=mysqli
- php: 5.4
env: DB=mysql
- php: 5.4
env: DB=mariadb
- php: 5.4
env: DB=postgres
- php: 5.4
env: DB=sqlite3
- php: 5.5
env: DB=mysqli
- php: 5.6
env: DB=mysqli
- php: hhvm
env: DB=mysqli
allow_failures:
- php: hhvm
fast_finish: true
env:
global:
- EXTNAME="board3/portal"
- SNIFF="1" # Should we run code sniffer on your code?
- IMAGE_ICC="0" # Should we run icc profile sniffer on your images?
- COVERALLS="1" # Should we run coveralls?
- EPV="1" # Should we run EPV (Extension Pre Validator) on your code?
- SPELLCHECK="1" # Should the php files be checked for obvious spelling errors?
- PHPBB_BRANCH="develop-ascraeus"
branches:
except:
- master
- develop-1_0_X
install:
- php composer.phar install --dev --no-interaction --prefer-source
- travis/prepare-phpbb.sh $EXTNAME $PHPBB_BRANCH
- cp .coveralls.yml ../../phpBB3/phpBB/.coveralls.yml
- cd ../../phpBB3
- travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH
- travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION
- sh -c "if [ '$COVERALLS' != '0' ]; then ../board3/Board3-Portal/travis/prepare-coverage.sh $DB $TRAVIS_PHP_VERSION; fi"
before_script:
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION
- mkdir build/logs
- chmod +wx build/logs
script:
- sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME; fi"
- sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION; fi"
- ../board3/Board3-Portal/travis/run-testsuite.sh $DB $TRAVIS_PHP_VERSION
- sh -c "if [ '$EPV' != '0' ]; then ../board3/Board3-Portal/travis/run-epv.sh $DB $TRAVIS_PHP_VERSION $EXTNAME; fi"
after_script:
- sh -c "if [ '$COVERALLS' != '0' ]; then ../board3/Board3-Portal/travis/run-coveralls.sh $DB $TRAVIS_PHP_VERSION; fi"
notifications:
email:
recipients:
- admin@m-a-styles.de
on_success: change
on_failure: change

View File

@@ -1,13 +1,21 @@
#Board3 Portal 2.0.0
#Board3 Portal 2.1.x
Board Portal 2.0.0 is a second generation portal for phpBB 3.0.x. It adds a portal with several blocks to your forum.
Board Portal 2.1.x is a second generation portal for phpBB 3.1.x. It adds a portal with several blocks to your forum.
You can change the settings, move the blocks, add new blocks and more in the ACP.
##How to use
You can download the current development version of Board3 Portal 2.0.0 here or download the current release at [www.board3.de](http://www.board3.de/ "Board3 • Portal").
Board3 Portal can be installed via AutoMOD or manually by following the instructions in install.xml (open it with your browser).
You can download the current development version of Board3 Portal 2.1.x here or download the current release at [www.board3.de](http://www.board3.de/ "Board3 • Portal").
Board3 Portal 2.1.x can be installed via the phpBB 3.1 ACP.
##Support
Support for Board3 Portal can be found at [www.board3.de](http://www.board3.de/ "Board3 • Portal") or on [www.phpbb.com](http://www.phpbb.com/community/viewtopic.php?f=70&t=2131824/ "phpBB • Board3 Portal").
The extension is currently under heavy development and not supported until further notice.
## AUTOMATED TESTING
We are starting to have unit and functional tests in order to prevent regressions. You can check our travis build below.
develop-2.1.x - [![Build Status](https://api.travis-ci.org/board3/Board3-Portal.png?branch=develop-2.1.x)](https://travis-ci.org/board3/Board3-Portal)
[![Coverage Status](https://coveralls.io/repos/board3/Board3-Portal/badge.png?branch=develop-2.1.x)](https://coveralls.io/r/board3/Board3-Portal?branch=develop-2.1.x)

View File

@@ -1,32 +1,29 @@
<?php
/**
*
* @package Board3 Portal v2
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
namespace board3\portal\acp;
/**
* @package module_install
*/
class acp_portal_info
class portal_info
{
public function module()
{
return array(
'filename' => 'acp_portal',
'filename' => '\board3\portal\acp\portal_module',
'title' => 'ACP_PORTAL',
'version' => '2.0.0b2',
'modes' => array(
'config' => array('title' => 'ACP_PORTAL_GENERAL_INFO', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
'modules' => array('title' => 'ACP_PORTAL_MODULES', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
'upload_module' => array('title' => 'ACP_PORTAL_UPLOAD', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
// 'upload_module' => array('title' => 'ACP_PORTAL_UPLOAD', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
),
);
}

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 240 B

After

Width:  |  Height:  |  Size: 240 B

View File

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

View File

Before

Width:  |  Height:  |  Size: 241 B

After

Width:  |  Height:  |  Size: 241 B

View File

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

View File

@@ -331,11 +331,13 @@ function storeCaret(textEl)
/**
* Color pallette
*/
function colorPalette(dir, width, height)
{
var r = 0, g = 0, b = 0;
var numberList = new Array(6);
var color = '';
function colorPalette(dir, width, height) {
var r = 0,
g = 0,
b = 0,
numberList = new Array(6),
color = '',
html = '';
numberList[0] = '00';
numberList[1] = '40';
@@ -343,44 +345,47 @@ function colorPalette(dir, width, height)
numberList[3] = 'BF';
numberList[4] = 'FF';
document.writeln('<table cellspacing="1" cellpadding="0" border="0">');
html += '<table>';
for (r = 0; r < 5; r++)
{
if (dir == 'h')
{
document.writeln('<tr>');
for (r = 0; r < 5; r++) {
if (dir == 'h') {
html += '<tr>';
}
for (g = 0; g < 5; g++)
{
if (dir == 'v')
{
document.writeln('<tr>');
for (g = 0; g < 5; g++) {
if (dir == 'v') {
html += '<tr>';
}
for (b = 0; b < 5; b++)
{
for (b = 0; b < 5; b++) {
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
document.write('<td bgcolor="#' + color + '" style="width: ' + width + 'px; height: ' + height + 'px;">');
document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" style="margin: -4px 0px -4px 2px;"><img src="images/spacer.gif" width="' + width + '" height="' + (height+10) + '" alt="#' + color + '" title="#' + color + '" style="margin: -4px;" /></a>');
document.writeln('</td>');
html += '<td style="background-color: #' + color + '; width: ' + width + 'px; height: ' + height + 'px;">';
html += '<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" style="display: block; width: ' + width + 'px; height: ' + height + 'px; " alt="#' + color + '" title="#' + color + '"></a>';
html += '</td>';
}
if (dir == 'v')
{
document.writeln('</tr>');
if (dir == 'v') {
html += '</tr>';
}
}
if (dir == 'h')
{
document.writeln('</tr>');
if (dir == 'h') {
html += '</tr>';
}
}
document.writeln('</table>');
html += '</table>';
return html;
}
(function($) {
$(document).ready(function() {
$('#color_palette_placeholder').each(function() {
$(this).html(colorPalette('h', 5, 10));
});
});
})(jQuery);
/**
* Caret Position object

View File

@@ -14,65 +14,51 @@
<!-- ENDIF -->
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{U_ACTION}">
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
<fieldset>
<legend>{L_ACP_PORTAL_EVENTS}</legend>
<dl>
<dt><label for="event_title">{L_EVENT_TITLE}:</label></dt>
<dt><label for="event_title">{L_EVENT_TITLE}{L_COLON}</label></dt>
<dd><input name="event_title" type="text" id="event_title" value="{EVENT_TITLE}" maxlength="255" /></dd>
</dl>
<dl>
<dt><label for="event_desc">{L_EVENT_DESC}:</label></dt>
<dt><label for="event_desc">{L_EVENT_DESC}{L_COLON}</label></dt>
<dd><textarea id="event_desc" rows="6" cols="6" name="event_desc">{EVENT_DESC}</textarea></dd>
</dl>
<dl>
<dt>
<label for="event_start_day">{L_ACP_PORTAL_EVENT_START_DAY}:</label><br />
<span>{L_ACP_PORTAL_EVENT_START_DAY_EXP}</span>
<label for="event_start_date">{L_ACP_PORTAL_EVENT_START_DATE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_EVENT_START_DATE_EXP}</span>
</dt>
<dd><input name="event_start_day" type="text" id="event_start_day" value="{EVENT_START_DAY}" maxlength="255" /></dd>
<dd><input name="event_start_date" type="text" id="event_start_date" value="{EVENT_START_DATE}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="event_start_time">{L_ACP_PORTAL_EVENT_START_TIME}:</label><br />
<span>{L_ACP_PORTAL_EVENT_START_TIME_EXP}</span>
</dt>
<dd><input name="event_start_time" type="text" id="event_start_time" value="{EVENT_START_TIME}" maxlength="255" /></dd>
</dl>
<dl>
<dt><label for="event_all_day">{L_EVENT_ALL_DAY}:</label></dt>
<dt><label for="event_all_day">{L_EVENT_ALL_DAY}{L_COLON}</label></dt>
<dd>
<label><input onchange="dE('end', -1)" type="radio" class="radio" name="event_all_day" value="1" id="event_all_day"<!-- IF EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="dE('end', 1)" type="radio" class="radio" name="event_all_day" value="0"<!-- IF not EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<label><input onchange="phpbb.toggleDisplay('end', -1)" type="radio" class="radio" name="event_all_day" value="1" id="event_all_day"<!-- IF EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('end', 1)" type="radio" class="radio" name="event_all_day" value="0"<!-- IF not EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<div id="end"<!-- IF EVENT_ALL_DAY -->style="display: none;"<!-- ENDIF -->>
<dl>
<dt>
<label for="event_end_day">{L_ACP_PORTAL_EVENT_END_DAY}:</label><br />
<span>{L_ACP_PORTAL_EVENT_END_DAY_EXP}</span>
<label for="event_end_date">{L_ACP_PORTAL_EVENT_END_DATE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_EVENT_END_DATE_EXP}</span>
</dt>
<dd><input name="event_end_day" type="text" id="event_end_day" value="{EVENT_END_DAY}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="event_end_time">{L_ACP_PORTAL_EVENT_END_TIME}:</label><br />
<span>{L_ACP_PORTAL_EVENT_END_TIME_EXP}</span>
</dt>
<dd><input name="event_end_time" type="text" id="event_end_time" value="{EVENT_END_TIME}" maxlength="255" /></dd>
<dd><input name="event_end_date" type="text" id="event_end_date" value="{EVENT_END_DATE}" maxlength="255" /></dd>
</dl>
</div>
<dl>
<dt>
<label for="event_url">{L_EVENT_LINK}:</label><br />
<label for="event_url">{L_EVENT_LINK}{L_COLON}</label><br />
<span>{L_EVENT_LINK_EXP}</span>
</dt>
<dd><input name="event_url" type="text" id="event_url" value="{EVENT_URL}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-calendar">{L_ACP_PORTAL_CALENDAR_PERMISSION}:</label><br />
<label for="permission-setting-calendar">{L_ACP_PORTAL_CALENDAR_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_CALENDAR_PERMISSION_EXP}</span>
</dt>
<dd>
@@ -99,40 +85,40 @@
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -154,7 +140,7 @@
<!-- ELSE -->
<dl>
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
</dl>
@@ -185,7 +171,7 @@
<!-- IF events.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td style="text-align: center;">{events.EVENT_TITLE}</td>
<td style="text-align: center;">{events.EVENT_DESC}</td>
<td style="text-align: center;"><!-- IF events.EVENT_END -->{L_EVENT_START}:&nbsp;{events.EVENT_START}&nbsp;&#124;&nbsp;{L_EVENT_END}:&nbsp;{events.EVENT_END}<!-- ELSE -->{L_EVENT_TIME}:&nbsp;{events.EVENT_START}<!-- IF events.EVENT_ALL_DAY -->&nbsp;&#124;&nbsp;{L_EVENT_ALL_DAY}<!-- ENDIF --><!-- ENDIF --></td>
<td style="text-align: center;"><!-- IF events.EVENT_END -->{L_EVENT_START}{L_COLON}&nbsp;{events.EVENT_START}&nbsp;&#124;&nbsp;{L_EVENT_END}{L_COLON}&nbsp;{events.EVENT_END}<!-- ELSE -->{L_EVENT_TIME}{L_COLON}&nbsp;{events.EVENT_START}<!-- IF events.EVENT_ALL_DAY -->&nbsp;&#124;&nbsp;{L_EVENT_ALL_DAY}<!-- ENDIF --><!-- ENDIF --></td>
<td style="text-align: center;"><a href="{events.EVENT_URL}" alt="{events.EVENT_TITLE}">{events.EVENT_URL_RAW}</td>
<td style="text-align: center;">
<a href="{events.U_EDIT}">{ICON_EDIT}</a> <a href="{events.U_DELETE}">{ICON_DELETE}</a>

View File

@@ -38,47 +38,47 @@
<!-- ENDIF -->
</fieldset>
<!-- END mods -->
<form id="acp_portal_config" method="post" action="{U_ACTION}">
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
<!-- IF SHOW_MODULE_OPTIONS -->
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<!-- IF MODULE_NAME -->
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- ENDIF -->
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -100,7 +100,7 @@
<!-- ELSE -->
<dl>
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
</dl>

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript" src="{ROOT_PATH}style/portal/acp_portal.js"></script>
<!-- INCLUDEJS portal/acp_editor.js -->
<script type="text/javascript">
// <![CDATA[
/**
@@ -53,6 +53,21 @@ var help_line = {
<!-- END custom_tags -->
}
function change_palette()
{
phpbb.toggleDisplay('colour_palette');
e = document.getElementById('colour_palette');
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
}
}
// ]]>
</script>
@@ -68,45 +83,45 @@ var help_line = {
<p>{ERROR_MSG}</p>
</div>
<!-- ENDIF -->
<form id="acp_portal_config" method="post" action="{U_ACTION}">
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
<!-- IF SHOW_MODULE_OPTIONS -->
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_ACP_PORTAL_CUSTOM_PERMISSION}:</label><br /><span>{L_ACP_PORTAL_CUSTOM_PERMISSION_EXP}</span></dt>
<dt><label for="permission-setting">{L_ACP_PORTAL_CUSTOM_PERMISSION}{L_COLON}</label><br /><span>{L_ACP_PORTAL_CUSTOM_PERMISSION_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -131,41 +146,16 @@ var help_line = {
<fieldset>
<legend>{L_PORTAL_CUSTOM}</legend>
<dl id="bbcode-buttons"<!-- IF not CUSTOM_USE_BBCODE --> style="display: none;"<!-- ENDIF -->>
<dt></dt>
<dd>
<div id="colour_palette" style="display: none;">
<dl style="clear: left;">
<dt style="border: none;"><label>{L_FONT_COLOR}:</label><br /></dt>
<dt style="border: none;"><label>{L_FONT_COLOR}{L_COLON}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
<dt style="border: none;">
<script type="text/javascript">
// <![CDATA[
function change_palette()
{
e = document.getElementById('colour_palette');
if(e.style.display == 'block')
{
dE('colour_palette', -1);
}
else
{
dE('colour_palette', 1);
}
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
}
}
colorPalette('h', 10, 5);
// ]]>
</script>
</dt>
<dt id="color_palette_placeholder" style="border: none;"></dt>
<dd></dd>
</dl>
</div>
<div id="format-buttons">
@@ -208,7 +198,7 @@ var help_line = {
</dl>
<dl>
<dt>
<label for="custom_code">{L_ACP_PORTAL_CUSTOM_CODE}:</label><br />
<label for="custom_code">{L_ACP_PORTAL_CUSTOM_CODE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_CUSTOM_CODE_EXP}</span>
</dt>
<dd><textarea name="custom_code" id="custom_code" cols="6" rows="12">{CUSTOM_CODE}</textarea></dd>
@@ -219,8 +209,8 @@ var help_line = {
<span>{L_ACP_PORTAL_CUSTOM_BBCODE_EXP}</span>
</dt>
<dd>
<label><input onchange="dE('bbcode-buttons', 1)" class="radio" type="radio" value="1" name="custom_use_bbcode" id="custom_use_bbcode"<!-- IF CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="dE('bbcode-buttons', -1)" class="radio" type="radio" value="0" name="custom_use_bbcode"<!-- IF not CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_NO}</label>
<label><input onchange="phpbb.toggleDisplay('bbcode-buttons', 1)" class="radio" type="radio" value="1" name="custom_use_bbcode" id="custom_use_bbcode"<!-- IF CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('bbcode-buttons', -1)" class="radio" type="radio" value="0" name="custom_use_bbcode"<!-- IF not CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_NO}</label>
</dd>
</dl>
<!-- IF S_AUTH -->

View File

@@ -14,17 +14,17 @@
<!-- ENDIF -->
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{U_ACTION}">
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
<fieldset>
<legend>{L_ACP_PORTAL_LINKS}</legend>
<dl>
<dt><label for="link_title">{L_ACP_PORTAL_LINK_TITLE}:</label></dt>
<dt><label for="link_title">{L_ACP_PORTAL_LINK_TITLE}{L_COLON}</label></dt>
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="link_type">{L_ACP_PORTAL_LINK_TYPE}:</label><br />
<label for="link_type">{L_ACP_PORTAL_LINK_TYPE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_TYPE_EXP}</span>
</dt>
<dd>
@@ -34,14 +34,14 @@
</dl>
<dl>
<dt>
<label for="link_url">{L_ACP_PORTAL_LINK_URL}:</label><br />
<label for="link_url">{L_ACP_PORTAL_LINK_URL}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_URL_EXP}</span>
</dt>
<dd><input name="link_url" type="text" id="link_url" value="{LINK_URL}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-link">{L_ACP_PORTAL_LINK_PERMISSION}:</label><br />
<label for="permission-setting-link">{L_ACP_PORTAL_LINK_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_PERMISSION_EXP}</span>
</dt>
<dd>
@@ -68,40 +68,40 @@
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -123,7 +123,7 @@
<!-- ELSE -->
<dl>
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
</dl>

View File

@@ -14,23 +14,23 @@
<!-- ENDIF -->
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{U_ACTION}">
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
<fieldset>
<legend>{L_ACP_PORTAL_MENU_LINK_SETTINGS}</legend>
<dl>
<dt><label for="link_title">{L_ACP_PORTAL_MENU_TITLE}:</label></dt>
<dt><label for="link_title">{L_ACP_PORTAL_MENU_TITLE}{L_COLON}</label></dt>
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
</dl>
<dl>
<dt><label for="link_is_cat">{L_ACP_PORTAL_MENU_IS_CAT}:</label></dt>
<dd><label><input onchange="dE('url', -1)" type="radio" class="radio" name="link_is_cat" value="1" id="link_is_cat"<!-- IF S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="dE('url', 1)" type="radio" class="radio" name="link_is_cat" value="0"<!-- IF not S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
<dt><label for="link_is_cat">{L_ACP_PORTAL_MENU_IS_CAT}{L_COLON}</label></dt>
<dd><label><input onchange="phpbb.toggleDisplay('url', -1)" type="radio" class="radio" name="link_is_cat" value="1" id="link_is_cat"<!-- IF S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('url', 1)" type="radio" class="radio" name="link_is_cat" value="0"<!-- IF not S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<div id="url"<!-- IF S_LINK_IS_CAT --> style="display: none;"<!-- ENDIF -->>
<dl>
<dt>
<label for="link_type">{L_ACP_PORTAL_MENU_TYPE}:</label><br />
<label for="link_type">{L_ACP_PORTAL_MENU_TYPE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_TYPE_EXP}</span>
</dt>
<dd>
@@ -40,14 +40,14 @@
</dl>
<dl>
<dt>
<label for="link_url">{L_ACP_PORTAL_MENU_URL}:</label><br />
<label for="link_url">{L_ACP_PORTAL_MENU_URL}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_URL_EXP}</span>
</dt>
<dd><input name="link_url" type="text" id="link_url" value="{LINK_URL}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-menu">{L_ACP_PORTAL_MENU_PERMISSION}:</label><br />
<label for="permission-setting-menu">{L_ACP_PORTAL_MENU_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_PERMISSION_EXP}</span>
</dt>
<dd>
@@ -75,40 +75,40 @@
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -130,7 +130,7 @@
<!-- ELSE -->
<dl>
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
</dl>

View File

@@ -1,16 +1,34 @@
<!-- IF S_AJAX_REQUEST -->
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
<fieldset>
<dl>
<dt><label for="module_classname" style="display: inline;">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
</dl>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
</p>
</fieldset>
</form>
<!-- ELSE -->
<!-- INCLUDECSS portal/b3p_admin.css -->
<!-- INCLUDE overall_header.html -->
<a name="maincontent"></a>
<!-- IF S_EDIT -->
<h1>{L_ACP_PORTAL_MODULES}</h1>
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
<form id="acp_portal_modules" method="post" action="{B3P_U_ACTION}">
<fieldset>
<legend>{L_GENERAL_OPTIONS}</legend>
<dl>
<dt><label for="module_classname">{L_CHOOSE_MODULE}:</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
<dt><label for="module_classname">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
</dl>
@@ -27,22 +45,24 @@
<h1>{L_ACP_PORTAL_MODULES}</h1>
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
<form id="acp_portal_modules" method="post" action="{U_ACTION}" data-ajax="true">
<fieldset class="tabulated">
<legend>{L_ACP_PORTAL_MODULES}</legend>
<table cellspacing="1">
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;" colspan="3">{L_MODULE_POS_TOP}</th>
<th style="text-align: center;">{L_MODULE_POS_TOP}</th>
</tr>
<!-- BEGIN modules_top -->
<!-- IF not modules_top.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_top.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td colspan="3">
<td>
{modules_top.MODULE_IMAGE} {modules_top.MODULE_NAME}<br />
<br />
<!-- IF modules_top.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_top.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<!-- IF modules_top.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_top.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->&nbsp;
<a href="{modules_top.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_top.U_DELETE}">{ICON_DELETE}</a>
<span<!-- IF not modules_top.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED}&nbsp;</span>
<span<!-- IF modules_top.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_top.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a>&nbsp;</span>
<span<!-- IF not modules_top.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED}&nbsp;</span>
<span<!-- IF modules_top.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_top.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a>&nbsp;</span>
<a href="{modules_top.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_top.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a>
</td>
</tr>
<!-- BEGINELSE -->
@@ -58,7 +78,7 @@
<table style="background-color: transparent; border: none; padding: 0px; margin: 0px;">
<tr style="vertical-align: top;">
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px; margin: 0px;">
<table cellspacing="1">
<table class="portal-modules-overview">
<tr>
<th>{L_MODULE_POS_LEFT}</th>
</tr>
@@ -67,11 +87,13 @@
<td>
{modules_left.MODULE_IMAGE} {modules_left.MODULE_NAME}<br />
<br />
<!-- IF modules_left.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_left.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<span<!-- IF not modules_left.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED}&nbsp;</span>
<span<!-- IF modules_left.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_left.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a>&nbsp;</span>
<!-- IF modules_left.U_MOVE_RIGHT --><a href="{modules_left.U_MOVE_RIGHT}"><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT}<!-- ELSE -->{ICON_MOVE_RIGHT}<!-- ENDIF --></a><!-- ELSE --><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT_DISABLED}<!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF --><!-- ENDIF -->&nbsp;
<a href="{modules_left.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_left.U_DELETE}">{ICON_DELETE}</a><br />
<a href="{modules_left.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_left.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT_DISABLED}<!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF -->&nbsp;
<!-- IF modules_left.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_left.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
<span<!-- IF not modules_left.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED}&nbsp;</span>
<span<!-- IF modules_left.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_left.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
</td>
</tr>
<!-- BEGINELSE -->
@@ -85,7 +107,7 @@
</p>
</td>
<td style="font-size: 100%; line-height: 100%; padding: 0 12px;">
<table cellspacing="1">
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{L_MODULE_POS_CENTER}</th>
</tr>
@@ -94,11 +116,13 @@
<td>
{modules_center.MODULE_IMAGE} {modules_center.MODULE_NAME}<br />
<br />
<!-- IF modules_center.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<span<!-- IF not modules_center.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED}&nbsp;</span>
<span<!-- IF modules_center.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_center.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a>&nbsp;</span>
<!-- IF modules_center.U_MOVE_RIGHT --><a href="{modules_center.U_MOVE_RIGHT}">{ICON_MOVE_RIGHT}</a><!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF -->&nbsp;
<a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}">{ICON_DELETE}</a><br />
<a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
<!-- IF modules_center.U_MOVE_LEFT --><a href="{modules_center.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a><!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF -->&nbsp;
<!-- IF modules_center.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
<span<!-- IF not modules_center.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED}&nbsp;</span>
<span<!-- IF modules_center.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_center.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
</td>
</tr>
<!-- BEGINELSE -->
@@ -112,7 +136,7 @@
</p>
</td>
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px;">
<table cellspacing="1">
<table class="portal-modules-overview">
<tr>
<th>{L_MODULE_POS_RIGHT}</th>
</tr>
@@ -121,11 +145,13 @@
<td>
{modules_right.MODULE_IMAGE} {modules_right.MODULE_NAME}<br />
<br />
<!-- IF modules_right.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<span<!-- IF not modules_right.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED}&nbsp;</span>
<span<!-- IF modules_right.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_right.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a>&nbsp;</span>
<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT_DISABLED}<!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF -->&nbsp;
<a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}">{ICON_DELETE}</a><br />
<a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
<!-- IF modules_right.U_MOVE_LEFT --><a href="{modules_right.U_MOVE_LEFT}"><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT}<!-- ELSE -->{ICON_MOVE_LEFT}<!-- ENDIF --></a><!-- ELSE --><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT_DISABLED}<!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF --><!-- ENDIF -->&nbsp;
<!-- IF modules_right.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
<span<!-- IF not modules_right.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED}&nbsp;</span>
<span<!-- IF modules_right.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_right.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
</td>
</tr>
<!-- BEGINELSE -->
@@ -142,18 +168,20 @@
</table>
<br />
<table cellspacing="1">
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;" colspan="3">{L_MODULE_POS_BOTTOM}</th>
<th style="text-align: center;">{L_MODULE_POS_BOTTOM}</th>
</tr>
<!-- BEGIN modules_bottom -->
<!-- IF not modules_bottom.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_bottom.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td colspan="3">
<td>
{modules_bottom.MODULE_IMAGE} {modules_bottom.MODULE_NAME}<br />
<br />
<!-- IF modules_bottom.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_bottom.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->&nbsp;
<!-- IF modules_bottom.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_bottom.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->&nbsp;
<a href="{modules_bottom.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_bottom.U_DELETE}">{ICON_DELETE}</a>
<span<!-- IF not modules_bottom.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED}&nbsp;</span>
<span<!-- IF modules_bottom.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_bottom.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a>&nbsp;</span>
<span<!-- IF not modules_bottom.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED}&nbsp;</span>
<span<!-- IF modules_bottom.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_bottom.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a>&nbsp;</span>
<a href="{modules_bottom.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_bottom.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a>
</td>
</tr>
<!-- BEGINELSE -->
@@ -172,4 +200,7 @@
<!-- ENDIF -->
<!-- INCLUDEJS portal/ajax.js -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript" src="{ROOT_PATH}style/portal/acp_portal.js"></script>
<!-- INCLUDEJS portal/acp_editor.js -->
<script type="text/javascript">
// <![CDATA[
/**
@@ -53,6 +53,21 @@ var help_line = {
<!-- END custom_tags -->
}
function change_palette()
{
phpbb.toggleDisplay('colour_palette');
e = document.getElementById('colour_palette');
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
}
}
// ]]>
</script>
@@ -68,45 +83,45 @@ var help_line = {
<p>{ERROR_MSG}</p>
</div>
<!-- ENDIF -->
<form id="acp_portal_config" method="post" action="{U_ACTION}">
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
<!-- IF SHOW_MODULE_OPTIONS -->
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<!-- IF .permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
@@ -130,42 +145,16 @@ var help_line = {
<!-- ENDIF -->
<fieldset>
<legend>{L_PORTAL_WELCOME}</legend>
<dl>
<dl><dt style="display: none;"></dt>
<dd>
<div id="colour_palette" style="display: none;">
<dl style="clear: left;">
<dt style="border: none;"><label>{L_FONT_COLOR}:</label><br /></dt>
<dt style="border: none;"><label>{L_FONT_COLOR}{L_COLON}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
<dt style="border: none;">
<script type="text/javascript">
// <![CDATA[
function change_palette()
{
e = document.getElementById('colour_palette');
if(e.style.display == 'block')
{
dE('colour_palette', -1);
}
else
{
dE('colour_palette', 1);
}
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
}
}
colorPalette('h', 10, 5);
// ]]>
</script>
</dt>
<dt id="color_palette_placeholder" style="border: none;"></dt>
<dd></dd>
</dl>
</div>
<div id="format-buttons">
@@ -208,7 +197,7 @@ var help_line = {
</dl>
<dl>
<dt>
<label for="welcome_message">{L_ACP_PORTAL_WELCOME_MESSAGE}:</label><br />
<label for="welcome_message">{L_ACP_PORTAL_WELCOME_MESSAGE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_WELCOME_MESSAGE_EXP}</span>
</dt>
<dd><textarea name="welcome_message" id="welcome_message" cols="6" rows="12">{WELCOME_MESSAGE}</textarea></dd>

99
adm/style/portal/ajax.js Normal file
View File

@@ -0,0 +1,99 @@
(function($) { // Avoid conflicts with other libraries
"use strict";
/**
* The following callbacks are for reording items. row_down
* is triggered when an item is moved down, and row_up is triggered when
* an item is moved up. It moves the row up or down, and deactivates /
* activates any up / down icons that require it (the ones at the top or bottom).
*/
phpbb.addAjaxCallback('b3p_move_module_up', function(res) {
if (typeof res.success === 'undefined' || !res.success) {
return;
}
var el = $(this).parents('tr:first'),
trSwap = el.prev(),
elClass = trSwap.attr('class'),
trSwapClass = el.attr('class');
el.insertBefore(trSwap);
el.attr('class', elClass);
trSwap.attr('class', trSwapClass);
// Swap images if swap element is first row
var swapIsFirstRow = trSwap.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
if (swapIsFirstRow) {
trSwap.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
trSwap.find('img[src*="icon_up."]').parents('span:first').toggle();
el.find('img[src*="icon_up."]').parents('span:first').toggle();
el.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
}
// Swap images if move element is last row
var elIsLastRow = el.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
if (elIsLastRow) {
trSwap.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
trSwap.find('img[src*="icon_down."]').parents('span:first').toggle();
el.find('img[src*="icon_down."]').parents('span:first').toggle();
el.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
}
});
phpbb.addAjaxCallback('b3p_move_module_down', function(res) {
if (typeof res.success === 'undefined' || !res.success) {
return;
}
var el = $(this).parents('tr:first'),
trSwap = el.next(),
elClass = trSwap.attr('class'),
trSwapClass = el.attr('class');
el.insertAfter(trSwap);
el.attr('class', elClass);
trSwap.attr('class', trSwapClass);
// Swap images if swap element is last row
var swapIsLastRow = trSwap.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
if (swapIsLastRow) {
trSwap.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
trSwap.find('img[src*="icon_down."]').parents('span:first').toggle();
el.find('img[src*="icon_down."]').parents('span:first').toggle();
el.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
}
// Swap images if move element is first row
var elIsFirstRow = el.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
if (elIsFirstRow) {
trSwap.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
trSwap.find('img[src*="icon_up."]').parents('span:first').toggle();
el.find('img[src*="icon_up."]').parents('span:first').toggle();
el.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
}
});
phpbb.addAjaxCallback('b3p_delete_module', function(res) {
if (typeof res.success === 'undefined' || !res.success) {
return;
}
var el = $(this).parents('tr:first'),
nextEl = el.next();
el.remove();
// Fix classes of next elements
while (nextEl !== undefined && nextEl.is('tr')) {
var nextElClass = (nextEl.attr('class') === 'row1') ? 'row2' : 'row1';
nextEl.attr('class', nextElClass);
nextEl = nextEl.next();
}
});
})(jQuery); // Avoid conflicts with other libraries

View File

@@ -0,0 +1,10 @@
/* Board3 Portal 2.1 Admin Style Sheet
------------------------------------------------------------------------
Copyright 2014 board3 Group ( http://www.board3.de/ )
------------------------------------------------------------------------
*/
.portal-modules-overview {
border-collapse: separate;
border-spacing: 1px;
}

40
composer.json Normal file
View File

@@ -0,0 +1,40 @@
{
"name": "board3/portal",
"type": "phpbb-extension",
"description": "Adds a portal with several blocks to your forum. You can change the settings, move the blocks, add new blocks and more in the ACP.",
"homepage": "http://www.board3.de",
"version": "2.1.0-b1",
"time": "2014-08-24 14:02:18",
"license": "GPL-2.0",
"authors": [{
"name": "Marc Alexander",
"email": "admin@m-a-styles.de",
"homepage": "http://www.m-a-styles.de",
"role": "Lead Developer"
},
{
"name": "Joas Schilling",
"email": "nickvergessen@gmx.de",
"homepage": "http://mods.flying-bits.org",
"role": "Developer"
}],
"require": {
"php": ">=5.3.3",
"nickvergessen/phpbb-tool-trimmessage": "1.3.*"
},
"require-dev": {
"satooshi/php-coveralls": "dev-master",
"phpbb/epv": "dev-master"
},
"extra": {
"display-name": "Board3 Portal",
"soft-require": {
"phpbb/phpbb": ">=3.1.0-RC3,<3.2.*@dev"
},
"version-check": {
"host": "board3.de",
"directory": "/updatecheck",
"filename": "board3_portal.json"
}
}
}

812
composer.lock generated Normal file
View File

@@ -0,0 +1,812 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "6322be845c2cb83f9f4e314d15157d45",
"packages": [
{
"name": "nickvergessen/phpbb-tool-trimmessage",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/nickvergessen/phpbb-tool-trimmessage.git",
"reference": "2a3d8273dc1238dd06454688bcb6496f62f66c3b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nickvergessen/phpbb-tool-trimmessage/zipball/2a3d8273dc1238dd06454688bcb6496f62f66c3b",
"reference": "2a3d8273dc1238dd06454688bcb6496f62f66c3b",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "4.1.*"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0"
],
"authors": [
{
"name": "Joas Schilling",
"email": "nickvergessen@gmx.de",
"homepage": "https://github.com/nickvergessen",
"role": "Developer"
}
],
"description": "This tool contains a class, that is able to trim a message from the phpbb message_parser to a maximum length without breaking the bbcodes/smilies and links.",
"homepage": "https://github.com/nickvergessen/phpbb-tool-trimmessage",
"time": "2014-07-06 19:42:34"
}
],
"packages-dev": [
{
"name": "gitonomy/gitlib",
"version": "v0.1.7",
"source": {
"type": "git",
"url": "https://github.com/gitonomy/gitlib.git",
"reference": "7a46107cfb8552b312101e0d5906e95d54d7ddc6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/gitonomy/gitlib/zipball/7a46107cfb8552b312101e0d5906e95d54d7ddc6",
"reference": "7a46107cfb8552b312101e0d5906e95d54d7ddc6",
"shasum": ""
},
"require": {
"symfony/process": "~2.4"
},
"require-dev": {
"psr/log": "~1"
},
"suggest": {
"psr/log": "Add some log"
},
"type": "library",
"autoload": {
"psr-0": {
"Gitonomy\\Git": [
"src/",
"tests/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alexandre Salomé",
"email": "alexandre.salome@gmail.com",
"homepage": "http://alexandre-salome.fr"
},
{
"name": "Julien DIDIER",
"email": "genzo.wm@gmail.com",
"homepage": "http://www.jdidier.net"
}
],
"description": "Library for accessing git",
"homepage": "http://gitonomy.com",
"time": "2014-07-13 19:02:31"
},
{
"name": "guzzle/guzzle",
"version": "v3.9.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle3.git",
"reference": "54991459675c1a2924122afbb0e5609ade581155"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/54991459675c1a2924122afbb0e5609ade581155",
"reference": "54991459675c1a2924122afbb0e5609ade581155",
"shasum": ""
},
"require": {
"ext-curl": "*",
"php": ">=5.3.3",
"symfony/event-dispatcher": "~2.1"
},
"replace": {
"guzzle/batch": "self.version",
"guzzle/cache": "self.version",
"guzzle/common": "self.version",
"guzzle/http": "self.version",
"guzzle/inflection": "self.version",
"guzzle/iterator": "self.version",
"guzzle/log": "self.version",
"guzzle/parser": "self.version",
"guzzle/plugin": "self.version",
"guzzle/plugin-async": "self.version",
"guzzle/plugin-backoff": "self.version",
"guzzle/plugin-cache": "self.version",
"guzzle/plugin-cookie": "self.version",
"guzzle/plugin-curlauth": "self.version",
"guzzle/plugin-error-response": "self.version",
"guzzle/plugin-history": "self.version",
"guzzle/plugin-log": "self.version",
"guzzle/plugin-md5": "self.version",
"guzzle/plugin-mock": "self.version",
"guzzle/plugin-oauth": "self.version",
"guzzle/service": "self.version",
"guzzle/stream": "self.version"
},
"require-dev": {
"doctrine/cache": "~1.3",
"monolog/monolog": "~1.0",
"phpunit/phpunit": "3.7.*",
"psr/log": "~1.0",
"symfony/class-loader": "~2.1",
"zendframework/zend-cache": "2.*,<2.3",
"zendframework/zend-log": "2.*,<2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.9-dev"
}
},
"autoload": {
"psr-0": {
"Guzzle": "src/",
"Guzzle\\Tests": "tests/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Guzzle Community",
"homepage": "https://github.com/guzzle/guzzle/contributors"
}
],
"description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"rest",
"web service"
],
"time": "2014-08-11 04:32:36"
},
{
"name": "nikic/php-parser",
"version": "v0.9.5",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "ef70767475434bdb3615b43c327e2cae17ef12eb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb",
"reference": "ef70767475434bdb3615b43c327e2cae17ef12eb",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=5.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.9-dev"
}
},
"autoload": {
"psr-0": {
"PHPParser": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"time": "2014-07-23 18:24:17"
},
{
"name": "phpbb/epv",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/phpbb/epv.git",
"reference": "4122e7329b683ac253ad99a90d1415e2ec83eb3a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpbb/epv/zipball/4122e7329b683ac253ad99a90d1415e2ec83eb3a",
"reference": "4122e7329b683ac253ad99a90d1415e2ec83eb3a",
"shasum": ""
},
"require": {
"gitonomy/gitlib": "0.1.*@dev",
"nikic/php-parser": "0.9.*@dev",
"php": ">=5.3.3",
"symfony/console": ">=2.3.0",
"symfony/finder": ">=2.3.0",
"symfony/yaml": ">=2.3.0|>=2.4.0|>=2.5.0"
},
"require-dev": {
"phpunit/phpunit": "4.0.*"
},
"bin": [
"src/EPV.php"
],
"type": "library",
"autoload": {
"psr-4": {
"Phpbb\\Epv\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0"
],
"authors": [
{
"name": "Paul Sohier",
"email": "paul@phpbb.com"
}
],
"description": "A extension validator for phpBB extensions. Extensions are required to pass the validator when submitted to the extension database.",
"time": "2014-08-16 16:29:34"
},
{
"name": "psr/log",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
"reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
"shasum": ""
},
"type": "library",
"autoload": {
"psr-0": {
"Psr\\Log\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"keywords": [
"log",
"psr",
"psr-3"
],
"time": "2012-12-21 11:40:51"
},
{
"name": "satooshi/php-coveralls",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/satooshi/php-coveralls.git",
"reference": "94389a0ebdb64857d6899b5e0254dffa99e5aa96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/94389a0ebdb64857d6899b5e0254dffa99e5aa96",
"reference": "94389a0ebdb64857d6899b5e0254dffa99e5aa96",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-simplexml": "*",
"guzzle/guzzle": ">=2.7",
"php": ">=5.3",
"psr/log": "1.0.0",
"symfony/config": ">=2.0",
"symfony/console": ">=2.0",
"symfony/stopwatch": ">=2.2",
"symfony/yaml": ">=2.0"
},
"require-dev": {
"apigen/apigen": "2.8.*@stable",
"pdepend/pdepend": "dev-master as 2.0.0",
"phpmd/phpmd": "dev-master",
"phpunit/php-invoker": ">=1.1.0,<1.2.0",
"phpunit/phpunit": "3.7.*@stable",
"sebastian/finder-facade": "dev-master",
"sebastian/phpcpd": "1.4.*@stable",
"squizlabs/php_codesniffer": "1.4.*@stable",
"theseer/fdomdocument": "dev-master"
},
"suggest": {
"symfony/http-kernel": "Allows Symfony integration"
},
"bin": [
"composer/bin/coveralls"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.7-dev"
}
},
"autoload": {
"psr-0": {
"Satooshi\\Component": "src/",
"Satooshi\\Bundle": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kitamura Satoshi",
"email": "with.no.parachute@gmail.com",
"homepage": "https://www.facebook.com/satooshi.jp"
}
],
"description": "PHP client library for Coveralls API",
"homepage": "https://github.com/satooshi/php-coveralls",
"keywords": [
"ci",
"coverage",
"github",
"test"
],
"time": "2014-07-09 10:45:38"
},
{
"name": "symfony/config",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Config",
"source": {
"type": "git",
"url": "https://github.com/symfony/Config.git",
"reference": "8d044668c7ccb4ade684e368d910e3aadcff6f6c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Config/zipball/8d044668c7ccb4ade684e368d910e3aadcff6f6c",
"reference": "8d044668c7ccb4ade684e368d910e3aadcff6f6c",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/filesystem": "~2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Config\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Config Component",
"homepage": "http://symfony.com",
"time": "2014-08-05 09:00:40"
},
{
"name": "symfony/console",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Console",
"source": {
"type": "git",
"url": "https://github.com/symfony/Console.git",
"reference": "cd2d1e4bac2206b337326b0140ff475fe9ad5f63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Console/zipball/cd2d1e4bac2206b337326b0140ff475fe9ad5f63",
"reference": "cd2d1e4bac2206b337326b0140ff475fe9ad5f63",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/event-dispatcher": "~2.1"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Console\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Console Component",
"homepage": "http://symfony.com",
"time": "2014-08-05 09:00:40"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.5.3",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
"reference": "8faf5cc7e80fde74a650a36e60d32ce3c3e0457b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/8faf5cc7e80fde74a650a36e60d32ce3c3e0457b",
"reference": "8faf5cc7e80fde74a650a36e60d32ce3c3e0457b",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/config": "~2.0",
"symfony/dependency-injection": "~2.0",
"symfony/stopwatch": "~2.2"
},
"suggest": {
"symfony/dependency-injection": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\EventDispatcher\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
"time": "2014-07-28 13:20:46"
},
{
"name": "symfony/filesystem",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Filesystem",
"source": {
"type": "git",
"url": "https://github.com/symfony/Filesystem.git",
"reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/c1309b0ee195ad264a4314435bdaecdfacb8ae9c",
"reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Filesystem\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Filesystem Component",
"homepage": "http://symfony.com",
"time": "2014-07-09 09:05:48"
},
{
"name": "symfony/finder",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Finder",
"source": {
"type": "git",
"url": "https://github.com/symfony/Finder.git",
"reference": "090fe4eaff414d8f2171c7a4748ea868d530775f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Finder/zipball/090fe4eaff414d8f2171c7a4748ea868d530775f",
"reference": "090fe4eaff414d8f2171c7a4748ea868d530775f",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Finder\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Finder Component",
"homepage": "http://symfony.com",
"time": "2014-07-28 13:20:46"
},
{
"name": "symfony/process",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "e0997d2a9a1a763484b34b989900b61322a9b056"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/e0997d2a9a1a763484b34b989900b61322a9b056",
"reference": "e0997d2a9a1a763484b34b989900b61322a9b056",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Process\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2014-08-05 09:00:40"
},
{
"name": "symfony/stopwatch",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Stopwatch",
"source": {
"type": "git",
"url": "https://github.com/symfony/Stopwatch.git",
"reference": "086c8c98c3016f59f5e6e7b15b751c2384b311e5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Stopwatch/zipball/086c8c98c3016f59f5e6e7b15b751c2384b311e5",
"reference": "086c8c98c3016f59f5e6e7b15b751c2384b311e5",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Stopwatch\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Stopwatch Component",
"homepage": "http://symfony.com",
"time": "2014-08-06 06:44:37"
},
{
"name": "symfony/yaml",
"version": "v2.5.3",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
"reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
"reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Yaml\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
"time": "2014-08-05 09:00:40"
}
],
"aliases": [
],
"minimum-stability": "stable",
"stability-flags": {
"satooshi/php-coveralls": 20,
"phpbb/epv": 20
},
"platform": {
"php": ">=5.3.3"
},
"platform-dev": [
]
}

BIN
composer.phar Executable file

Binary file not shown.

316
config/modules.yml Normal file
View File

@@ -0,0 +1,316 @@
services:
board3.portal.module.announcements:
class: board3\portal\modules\announcements
arguments:
- @auth
- @cache
- @config
- @template
- @dbal.conn
- @pagination
- @board3.portal.modules_helper
- @request
- %core.php_ext%
- %core.root_path%
- @user
- @board3.portal.fetch_posts
tags:
- { name: board3.portal.module }
board3.portal.module.attachments:
class: board3\portal\modules\attachments
arguments:
- @auth
- @config
- @board3.portal.modules_helper
- @template
- @dbal.conn
- @request
- %core.php_ext%
- %core.root_path%
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.birthday_list:
class: board3\portal\modules\birthday_list
arguments:
- @config
- @template
- @dbal.conn
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.calendar:
class: board3\portal\modules\calendar
arguments:
- @config
- @template
- @dbal.conn
- @request
- %core.root_path%
- %core.php_ext%
- @user
- @path_helper
- @log
tags:
- { name: board3.portal.module }
board3.portal.module.clock:
class: board3\portal\modules\clock
tags:
- { name: board3.portal.module }
board3.portal.module.custom:
class: board3\portal\modules\custom
arguments:
- @config
- @template
- @dbal.conn
- @request
- %core.root_path%
- %core.php_ext%
- @user
- @log
tags:
- { name: board3.portal.module }
board3.portal.module.donation:
class: board3\portal\modules\donation
arguments:
- @config
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.forumlist:
class: board3\portal\modules\forumlist
arguments:
- @auth
- @config
- @template
- %core.root_path%
- %core.php_ext%
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.friends:
class: board3\portal\modules\friends
arguments:
- @auth
- @config
- @dbal.conn
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.latest_bots:
class: board3\portal\modules\latest_bots
arguments:
- @config
- @dbal.conn
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.latest_members:
class: board3\portal\modules\latest_members
arguments:
- @config
- @dbal.conn
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.leaders:
class: board3\portal\modules\leaders
arguments:
- @auth
- @config
- @dbal.conn
- @template
- %core.root_path%
- %core.php_ext%
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.link_us:
class: board3\portal\modules\link_us
arguments:
- @config
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.links:
class: board3\portal\modules\links
arguments:
- @config
- @dbal.conn
- @request
- @template
- %core.root_path%
- %core.php_ext%
- @user
- @log
tags:
- { name: board3.portal.module }
board3.portal.module.main_menu:
class: board3\portal\modules\main_menu
arguments:
- @config
- @dbal.conn
- @request
- @template
- %core.root_path%
- %core.php_ext%
- @user
- @log
tags:
- { name: board3.portal.module }
board3.portal.module.news:
class: board3\portal\modules\news
arguments:
- @auth
- @cache
- @config
- @dbal.conn
- @pagination
- @board3.portal.modules_helper
- @request
- @template
- %core.root_path%
- %core.php_ext%
- @user
- @board3.portal.fetch_posts
tags:
- { name: board3.portal.module }
board3.portal.module.poll:
class: board3\portal\modules\poll
arguments:
- @auth
- @config
- @dbal.conn
- @request
- @template
- %core.root_path%
- %core.php_ext%
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.random_member:
class: board3\portal\modules\random_member
arguments:
- @dbal.conn
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.recent:
class: board3\portal\modules\recent
arguments:
- @auth
- @config
- @dbal.conn
- @request
- @template
- %core.root_path%
- %core.php_ext%
tags:
- { name: board3.portal.module }
board3.portal.module.search:
class: board3\portal\modules\search
arguments:
- @template
- %core.php_ext%
- %core.root_path%
tags:
- { name: board3.portal.module }
board3.portal.module.statistics:
class: board3\portal\modules\statistics
arguments:
- @cache
- @config
- @dbal.conn
- @template
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.stylechanger:
class: board3\portal\modules\stylechanger
arguments:
- @config
- @template
- @dbal.conn
- @request
- %core.php_ext%
- %core.root_path%
- @user
tags:
- { name: board3.portal.module }
board3.portal.module.topposters:
class: board3\portal\modules\topposters
arguments:
- @config
- @dbal.conn
- @template
- %core.root_path%
- %core.php_ext%
tags:
- { name: board3.portal.module }
board3.portal.module.user_menu:
class: board3\portal\modules\user_menu
arguments:
- @auth
- @config
- @controller.helper
- @dbal.conn
- @path_helper
- @template
- @user
- %core.root_path%
- %core.php_ext%
tags:
- { name: board3.portal.module }
board3.portal.module.welcome:
class: board3\portal\modules\welcome
arguments:
- @config
- @request
- @template
- @user
- %core.root_path%
- %core.php_ext%
tags:
- { name: board3.portal.module }
board3.portal.module.whois_online:
class: board3\portal\modules\whois_online
arguments:
- @auth
- @dbal.conn
- @template
- @user
- %core.root_path%
- %core.php_ext%
tags:
- { name: board3.portal.module }

13
config/routing.yml Normal file
View File

@@ -0,0 +1,13 @@
board3_portal_controller:
pattern: /portal
defaults: { _controller: board3.portal.main:handle }
# This is currently not supported yet
# board3_portal_pages_controller:
# pattern: /portal/{page}
# defaults: { _controller: board3.portal.main:handle_page, page: "portal" }
# Redirect to portal by default
board3_portal_redirect_controller:
pattern: /
defaults: { _controller: board3.portal.main:handle }

91
config/services.yml Normal file
View File

@@ -0,0 +1,91 @@
imports:
- { resource: modules.yml }
parameters:
board3.version_data:
author: Marc
title: Board3 Portal
tag: board3_portal_v2_dev
version: board3_portal_version
file:
- board3.de
- updatecheck
- board3_portal.xml
board3.portal.config.table: %core.table_prefix%portal_config
board3.portal.modules.table: %core.table_prefix%portal_modules
services:
board3.portal.main:
class: board3\portal\controller\main
arguments:
- @config
- @board3.portal.controller_helper
- @template
- @user
- @path_helper
- %core.root_path%
- .%core.php_ext%
- %board3.portal.config.table%
- %board3.portal.modules.table%
board3.portal.controller_helper:
class: board3\portal\controller\helper
arguments:
- @auth
- @config
- @template
- @user
- @path_helper
- @board3.portal.helper
- %core.root_path%
- .%core.php_ext%
board3.portal.version.check:
class: board3\portal\includes\version_check
arguments:
- %board3.version_data%
- @config
- %core.root_path%
- %core.php_ext%
- @template
- @user
board3.portal.module_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: board3.portal.module }
board3.portal.helper:
class: board3\portal\includes\helper
arguments:
- @board3.portal.module_collection
board3.portal.modules_helper:
class: board3\portal\includes\modules_helper
arguments:
- @auth
- @config
- @request
board3.portal.fetch_posts:
class: board3\portal\portal\fetch_posts
arguments:
- @auth
- @cache
- @config
- @dbal.conn
- @board3.portal.modules_helper
- @user
board3.portal.listener:
class: board3\portal\event\listener
arguments:
- @controller.helper
- @path_helper
- @template
- @user
- %core.php_ext%
tags:
- { name: event.listener }

View File

@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal - German Language</title>
<title lang="de">board3 Portal - Deutsche Sprache</title>
<description lang="en">Adds a portal to your forum.
It has several boxes wich can be turned on an off in the ACP and certain settings.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal deinem Forum hinzu.
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="parent" lang="de" href="../install.xml">Installations-Anleitung</link>
<link type="parent" lang="en" href="../install.xml">Manual</link>
</link-group>
</header>
<action-group>
<copy>
<file from="root/language/de/mods/*.*" to="language/de/mods/*.*" />
</copy>
<diy-instructions lang="en">See general install.xml file</diy-instructions>
<diy-instructions lang="de">Siehe install.xml</diy-instructions>
</action-group>
</mod>

File diff suppressed because one or more lines are too long

View File

@@ -1,172 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal - subsilver2 style</title>
<title lang="de">board3 Portal - subsilver2 style</title>
<description lang="en">Adds a portal to your forum.
It has several boxes wich can be turned on an off in the ACP and certain settings.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal deinem Forum hinzu.
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="parent" lang="de" href="../install.xml">Installations-Anleitung</link>
<link type="parent" lang="en" href="../install.xml">Manual</link>
</link-group>
</header>
<action-group>
<copy>
<file from="root/styles/subsilver2/template/portal/*.*" to="styles/subsilver2/template/portal/*.*" />
<file from="root/styles/subsilver2/theme/images/portal/*.*" to="styles/subsilver2/theme/images/portal/*.*" />
</copy>
<open src="styles/subsilver2/template/breadcrumbs.html">
<edit>
<find><![CDATA[<p class="breadcrumbs"><a href="{U_INDEX}">{L_INDEX}</a><!-- BEGIN navlinks --> &#187; ]]></find>
<inline-edit>
<inline-find><![CDATA[<a href="{U_INDEX}">{L_INDEX}</a>]]></inline-find>
<inline-action type="before-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> &#187; <!-- ENDIF -->]]></inline-action>
</inline-edit>
</edit>
</open>
<open src="styles/subsilver2/template/overall_header.html">
<edit>
<find><![CDATA[ <div id="logodesc">
<table width="100%" cellspacing="0">
<tr>
<td><a href="{U_INDEX}">{SITE_LOGO_IMG}</a></td>
<td width="100%" align="center"><h1>{SITENAME}</h1><span class="gen">{SITE_DESCRIPTION}</span></td>
</tr>
</table>
</div>]]></find>
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
</edit>
<edit>
<find><![CDATA[ <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN --> &nbsp;<span style="color: red;">{L_BOARD_DISABLED}</span><!-- ENDIF -->]]></find>
<action type="before-add"><![CDATA[<!-- ENDIF -->]]></action>
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
</edit>
<edit>
<find><![CDATA[ <div id="datebar">
<table width="100%" cellspacing="0">
<tr>
<td class="gensmall"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ENDIF --></td>
<td class="gensmall" align="{S_CONTENT_FLOW_END}">{CURRENT_TIME}<br /></td>
</tr>
</table>
</div>]]></find>
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
</edit>
<edit>
<find><![CDATA[<div id="wrapcentre">]]></find>
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
</edit>
<edit>
<find><![CDATA[ <!-- INCLUDE breadcrumbs.html -->
<br />]]></find>
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
</edit>
</open>
<diy-instructions lang="de"><![CDATA[
Aktualisiere deine Styles:
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Themes" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Grafiksammlungen" > jedes > "Aktualisieren"
Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"
]]></diy-instructions>
<diy-instructions lang="en"><![CDATA[
Refresh your Styles:
"Administration Control Panel" (ACP) > "Styles" > "Templates" > each > "refresh"
"Administration Control Panel" (ACP) > "Styles" > "Themes" > each > "refresh"
"Administration Control Panel" (ACP) > "Styles" > "Imagesets" > each > "refresh"
Clear your cache in the "Administration Control Panel" (ACP) > "General" > "Purge the cache"
]]></diy-instructions>
</action-group>
</mod>

View File

@@ -1,108 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal - German Language Update for 2.0.2</title>
<title lang="de">board3 Portal - Deutsche Sprache Aktualisiering für 2.0.2</title>
<description lang="en">Adds a portal to your forum.
It has several boxes wich can be turned on an off in the ACP and certain settings.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal deinem Forum hinzu.
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="parent" lang="de" href="../update.xml">Update-Anleitung</link>
<link type="parent" lang="en" href="../update.xml">Update instructions</link>
</link-group>
</header>
<action-group>
<copy>
<file from="root/language/de/mods/*.*" to="language/de/mods/*.*" />
</copy>
<diy-instructions lang="en">See general install.xml file</diy-instructions>
<diy-instructions lang="de">Siehe install.xml</diy-instructions>
</action-group>
</mod>

File diff suppressed because one or more lines are too long

View File

@@ -1,122 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal - Update subsilver2 style for 2.0.2</title>
<title lang="de">board3 Portal - Aktualisiere das subsilver2 style für 2.0.2</title>
<description lang="en">Adds a portal to your forum.
It has several boxes wich can be turned on an off in the ACP and certain settings.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal deinem Forum hinzu.
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="parent" lang="de" href="../update.xml">Update-Anleitung</link>
<link type="parent" lang="en" href="../update.xml">Update instructions</link>
</link-group>
</header>
<action-group>
<copy>
<file from="root/styles/subsilver2/template/portal/modules/*.*" to="styles/subsilver2/template/portal/modules/*.*" />
</copy>
<diy-instructions lang="de"><![CDATA[
Aktualisiere deine Styles:
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Themes" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Grafiksammlungen" > jedes > "Aktualisieren"
Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"
]]></diy-instructions>
<diy-instructions lang="en"><![CDATA[
Refresh your Styles:
"Administration Control Panel" (ACP) > "Styles" > "Templates" > each > "refresh"
"Administration Control Panel" (ACP) > "Styles" > "Themes" > each > "refresh"
"Administration Control Panel" (ACP) > "Styles" > "Imagesets" > each > "refresh"
Clear your cache in the "Administration Control Panel" (ACP) > "General" > "Purge the cache"
]]></diy-instructions>
</action-group>
</mod>

File diff suppressed because one or more lines are too long

View File

@@ -1,125 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal 2.0.2 - Update from Board3 Portal 2.0.1</title>
<title lang="de">board3 Portal 2.0.2 - Update von Board3 Portal 2.0.1</title>
<description lang="en">Adds a portal to your forum.
It has several boxes wich can be turned on an off in the ACP and certain settings.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal deinem Forum hinzu.
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="parent" lang="de" href="../../install.xml">Installations-Anleitung</link>
<link type="parent" lang="en" href="../../install.xml">Manual</link>
<link type="template" lang="en" href="contrib/subsilver2.xml">Update subsilver2 to Board3 Portal 2.0.2</link>
<link type="template" lang="de" href="contrib/subsilver2.xml">Aktualisiere subsilver2 für Board3 Portal 2.0.2</link>
<link type="language" lang="en" href="contrib/de.xml">Update German language to Board3 Portal 2.0.2</link>
<link type="language" lang="de" href="contrib/de.xml">Aktualisiere deutsche Sprachdateien für Board3 Portal 2.0.2</link>
</link-group>
</header>
<action-group>
<copy>
<file from="root/adm/style/portal/acp_portal.js" to="adm/style/portal/acp_portal.js" />
<file from="root/adm/style/portal/acp_portal_custom.html" to="adm/style/portal/acp_portal_custom.html" />
<file from="root/adm/style/portal/acp_portal_welcome.html" to="adm/style/portal/acp_portal_welcome.html" />
<file from="root/includes/acp/acp_portal.php" to="includes/acp/acp_portal.php" />
<file from="root/install/index.php" to="install/index.php" />
<file from="root/language/en/mods/*.*" to="language/en/mods/*.*" />
<file from="root/portal/includes/functions.php" to="portal/includes/functions.php" />
<file from="root/portal/includes/functions_upload.php" to="portal/includes/functions_upload.php" />
<file from="root/portal/modules/*.*" to="portal/modules/*.*" />
<file from="root/styles/prosilver/template/portal/modules/*.*" to="styles/prosilver/template/portal/modules/*.*" />
<file from="root/styles/prosilver/theme/portal.css" to="styles/prosilver/theme/portal.css" />
<file from="root/umil/*.*" to="umil/*.*" />
<file from="root/portal.php" to="portal.php" />
</copy>
<php-installer>install/index.php</php-installer>
<diy-instructions lang="de"><![CDATA[Rufe install/index.php auf und führe den Installer aus.]]></diy-instructions>
<diy-instructions lang="en"><![CDATA[Browse to install/index.php and run the installer.]]></diy-instructions>
</action-group>
</mod>

249
controller/helper.php Normal file
View File

@@ -0,0 +1,249 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\controller;
class helper
{
/**
* Auth object
* @var \phpbb\auth\auth
*/
protected $auth;
/**
* phpBB Config object
* @var \phpbb\config\config
*/
protected $config;
/**
* Template object
* @var \phpbb\template
*/
protected $template;
/**
* User object
* @var \phpbb\user
*/
protected $user;
/**
* phpBB root path
* @var string
*/
protected $phpbb_root_path;
/**
* PHP file extension
* @var string
*/
protected $php_ext;
/**
* Portal root path
* @var string
*/
protected $root_path;
/**
* phpBB path helper
* @var \phpbb\path_helper
*/
protected $path_helper;
/**
* Portal Helper object
* @var \board3\portal\includes\helper
*/
protected $portal_helper;
/**
* Portal modules array
* @var array
*/
protected $portal_modules;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
* the dependencies defined in the services.yml file for this service.
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\config\config $config phpBB Config object
* @param \phpbb\template $template Template object
* @param \phpbb\user $user User object
* @param \phpbb\path_helper $path_helper phpBB path helper
* @param \board3\portal\includes\helper $portal_helper Portal helper class
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
*/
public function __construct($auth, $config, $template, $user, $path_helper, $portal_helper, $phpbb_root_path, $php_ext)
{
$this->auth = $auth;
$this->config = $config;
$this->template = $template;
$this->user = $user;
$this->path_helper = $path_helper;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
$this->portal_helper = $portal_helper;
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
}
/**
* Check if user should be able to access this page. Redirect to index
* if this does not apply.
*
* @return null
*/
protected function check_permission()
{
if (!isset($this->config['board3_enable']) || !$this->config['board3_enable'] || !$this->auth->acl_get('u_view_portal'))
{
redirect(append_sid($this->phpbb_root_path . 'index' . $this->php_ext));
}
}
/**
* Return true if online list should be displayed
*
* @return mixed True if online list should be display, current value
* if unsure
*/
public function check_online_list($module_classname, $display_online)
{
return ($module_classname === '\board3\portal\modules\whois_online') ? true : $display_online;
}
/**
* Get portal module and run module start checks
*
* @param array $row Module row
*
* @return mixed False if one of the module checks failed, the module
* object if checks were successful
*/
public function get_portal_module($row)
{
// Do not try to load non-existent or disabled modules
if ($row['module_status'] == B3_MODULE_DISABLED || !is_object($module = $this->portal_helper->get_module($row['module_classname'])))
{
return false;
}
// Check if module shouldn't be loaded
if ($this->check_column_disabled($row))
{
return false;
}
/**
* Check for permissions before loading anything
* the default group of a user always defines his/her permission
*/
return ($this->check_group_access($row)) ? $module : false;
}
/**
* Check if column is disabled
*
* @param array $row Module database row
*
* @return bool False if column is not disabled, true if it is
*/
protected function check_column_disabled($row)
{
return ($this->config['board3_left_column'] === false && column_num_string($row['module_column']) === 'left') || ($this->config['board3_right_column'] === false && column_num_string($row['module_column']) === 'right');
}
/**
* Check if user is in required groups
*
* @param array $row Module row
*/
protected function check_group_access($row)
{
$group_ary = (!empty($row['module_group_ids'])) ? explode(',', $row['module_group_ids']) : '';
if ((is_array($group_ary) && !in_array($this->user->data['group_id'], $group_ary)))
{
return false;
}
else
{
return true;
}
}
/**
* Load language file of module
*
* @param object $module Module of which language file should be loaded
*/
public function load_module_language($module)
{
if ($language_file = $module->get_language())
{
$this->user->add_lang_ext('board3/portal', 'modules/' . $language_file);
}
}
/**
* Assign module's template vars
*
* @param array $row Database row of module
* @param mixed $template_module Template data as returned by module
*
* @return null
*/
public function assign_module_vars($row, $template_module)
{
if (is_array($template_module))
{
$this->template->assign_block_vars('modules_' . column_num_string($row['module_column']), array(
'TEMPLATE_FILE' => 'portal/modules/' . $template_module['template'],
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . $this->root_path . 'styles/' . $this->user->style['style_path'] . '/theme/images/portal/' . $template_module['image_src'],
'TITLE' => $template_module['title'],
'CODE' => $template_module['code'],
'MODULE_ID' => $row['module_id'],
'IMAGE_WIDTH' => $row['module_image_width'],
'IMAGE_HEIGHT' => $row['module_image_height'],
));
}
else
{
$this->template->assign_block_vars('modules_' . column_num_string($row['module_column']), array(
'TEMPLATE_FILE' => 'portal/modules/' . $template_module,
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . $this->root_path . 'styles/' . $this->user->style['style_path'] . '/theme/images/portal/' . $row['module_image_src'],
'IMAGE_WIDTH' => $row['module_image_width'],
'IMAGE_HEIGHT' => $row['module_image_height'],
'MODULE_ID' => $row['module_id'],
'TITLE' => (isset($this->user->lang[$row['module_name']])) ? $this->user->lang[$row['module_name']] : utf8_normalize_nfc($row['module_name']),
));
}
}
/**
* Run initial tasks that are required for a properly setup extension
*
* @return null
*/
public function run_initial_tasks()
{
// Check for permissions first
$this->check_permission();
// Load language file
$this->user->add_lang_ext('board3/portal', 'portal');
// Obtain portal config
obtain_portal_config();
}
}

282
controller/main.php Normal file
View File

@@ -0,0 +1,282 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\controller;
class main
{
/**
* phpBB Config object
* @var \phpbb\config\config
*/
protected $config;
/**
* Board3 Portal controller helper
* @var \board3\portal\controller\helper
*/
protected $controller_helper;
/**
* Template object
* @var \phpbb\template
*/
protected $template;
/**
* User object
* @var \phpbb\user
*/
protected $user;
/**
* phpBB root path
* @var string
*/
protected $phpbb_root_path;
/**
* PHP file extension
* @var string
*/
protected $php_ext;
/**
* Portal root path
* @var string
*/
protected $root_path;
/**
* Portal includes path
* @var string
*/
protected $includes_path;
/**
* phpBB path helper
* @var \phpbb\path_helper
*/
protected $path_helper;
/**
* Portal modules count
* @var array
*/
protected $module_count;
/**
* Portal modules array
* @var array
*/
protected $portal_modules;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
* the dependencies defined in the services.yml file for this service.
* @param \phpbb\config\config $config phpBB Config object
* @param \board3\portal\controller\helper $controller_helper Controller helper
* @param \phpbb\template $template Template object
* @param \phpbb\user $user User object
* @param \phpbb\path_helper $path_helper phpBB path helper
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
* @param string $config_table Board3 config table
* @param string $modules_table Board3 modules table
*/
public function __construct($config, $controller_helper, $template, $user, $path_helper, $phpbb_root_path, $php_ext, $config_table, $modules_table)
{
global $portal_root_path;
$this->config = $config;
$this->controller_helper = $controller_helper;
$this->template = $template;
$this->user = $user;
$this->path_helper = $path_helper;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
$this->includes_path = $phpbb_root_path . 'ext/board3/portal/includes/';
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
$portal_root_path = $this->root_path;
define('PORTAL_MODULES_TABLE', $modules_table);
define('PORTAL_CONFIG_TABLE', $config_table);
if (!function_exists('obtain_portal_config'))
{
include($this->includes_path . 'constants' . $this->php_ext);
include($this->includes_path . 'functions_modules' . $this->php_ext);
include($this->includes_path . 'functions' . $this->php_ext);
}
}
/**
* Extension front handler method. This is called automatically when your extension is accessed
* through index.php?ext=example/foobar
* @return null
*/
public function handle()
{
$this->controller_helper->run_initial_tasks();
// Set default data
$this->portal_modules = obtain_portal_modules();
$display_online = false;
/**
* set up column_count array
* with this we can hide unneeded parts of the portal
*/
$this->module_count = array(
'total' => 0,
'top' => 0,
'left' => 0,
'center' => 0,
'right' => 0,
'bottom' => 0,
);
/**
* start assigning block vars
*/
foreach ($this->portal_modules as $row)
{
if (!($module = $this->controller_helper->get_portal_module($row)))
{
continue;
}
// Load module language file
$this->controller_helper->load_module_language($module);
$template_module = $this->get_module_template($row, $module);
if (empty($template_module))
{
continue;
}
// Custom Blocks that have been defined in the ACP will return an array instead of just the name of the template file
$this->controller_helper->assign_module_vars($row, $template_module);
// Check if we need to show the online list
$display_online = $this->controller_helper->check_online_list($row['module_classname'], $display_online);
unset($template_module);
}
// Redirect to index if there are currently no active modules
$this->check_redirect();
// Assign specific vars
$this->assign_template_vars();
// And now to output the page.
page_header($this->user->lang('PORTAL'), $display_online);
// foobar_body.html is in ./ext/foobar/example/styles/prosilver/template/foobar_body.html
$this->template->set_filenames(array(
'body' => 'portal/portal_body.html'
));
$this->make_jumpbox($this->config['board3_display_jumpbox']);
page_footer();
}
/**
* Get module's template
*
* @param array $row Database row of module
* @param object $module Module object
*
* @return mixed False if module is not inside possible columns or if
* module shouldn't be shown, otherwise module's template
*/
public function get_module_template($row, $module)
{
$template_module = false;
$column = column_num_string($row['module_column']);
if (in_array($column, array('left', 'right')) && $this->config['board3_' . $column . '_column'])
{
++$this->module_count[$column];
$template_module = $module->get_template_side($row['module_id']);
}
else if (in_array($column, array('top', 'center', 'bottom')))
{
++$this->module_count[$column];
$template_module = $module->get_template_center($row['module_id']);
}
return $template_module;
}
/**
* Check if portal needs to redirect to index page
*/
protected function check_redirect()
{
$this->module_count['total'] = sizeof($this->portal_modules);
if ($this->module_count['total'] < 1)
{
redirect(append_sid($this->phpbb_root_path . 'index' . $this->php_ext));
}
}
/**
* Assign template vars for portal
*
* @return null
*/
protected function assign_template_vars()
{
$this->template->assign_vars(array(
'S_PORTAL_LEFT_COLUMN' => $this->config['board3_left_column_width'],
'S_PORTAL_RIGHT_COLUMN' => $this->config['board3_right_column_width'],
'S_LEFT_COLUMN' => $this->check_module_count('left', $this->config['board3_left_column']),
'S_CENTER_COLUMN' => $this->check_module_count('center'),
'S_RIGHT_COLUMN' => $this->check_module_count('right', $this->config['board3_right_column']),
'S_TOP_COLUMN' => $this->check_module_count('top'),
'S_BOTTOM_COLUMN' => $this->check_module_count('bottom'),
'S_DISPLAY_PHPBB_MENU' => $this->config['board3_phpbb_menu'],
'B3P_DISPLAY_JUMPBOX' => $this->config['board3_display_jumpbox'],
'T_EXT_THEME_PATH' => $this->path_helper->get_web_root_path() . $this->root_path . 'styles/' . $this->user->style['style_path'] . '/theme/',
));
}
/**
* Check module count and related config setting
*
* @param string $column Column to check
* @param bool $config Config value to check
*
* @return bool True if module count is bigger than 0 and $config is true
*/
protected function check_module_count($column, $config = true)
{
return $this->module_count[$column] > 0 && $config;
}
/**
* Wrapper method for running make_jumpbox
*
* @param bool $display Whether jumpbox should be displayed
* @return null
*/
protected function make_jumpbox($display = false)
{
if ($display)
{
make_jumpbox(append_sid("{$this->phpbb_root_path}viewforum{$this->php_ext}"));
}
}
}

114
event/listener.php Normal file
View File

@@ -0,0 +1,114 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2014 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
/** @var \phpbb\controller\helper */
protected $controller_helper;
/** @var \phpbb\path_helper */
protected $path_helper;
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;
/** @var string phpEx */
protected $php_ext;
/**
* Constructor of Board3 Portal event listener
*
* @param \phpbb\controller\helper $controller_helper Controller helper object
* @param \phpbb\path_helper $path_helper phpBB path helper
* @param \phpbb\template\template $template Template object
* @param \phpbb\user $user User object
* @param string $php_ext phpEx
*/
public function __construct(\phpbb\controller\helper $controller_helper, \phpbb\path_helper $path_helper, \phpbb\template\template $template, \phpbb\user $user, $php_ext)
{
$this->controller_helper = $controller_helper;
$this->path_helper = $path_helper;
$this->template = $template;
$this->user = $user;
$this->php_ext = $php_ext;
}
/**
* Assign functions defined in this class to event listeners in the core
*
* @return array
*/
static public function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_portal_language',
'core.viewonline_overwrite_location' => 'viewonline_page',
'core.page_header' => 'add_portal_link',
);
}
/**
* Load portal language during user setup
*
* @param object $event The event object
* @return null
*/
public function load_portal_language($event)
{
$lang_set_ext = $event['lang_set_ext'];
$lang_set_ext[] = array(
'ext_name' => 'board3/portal',
'lang_set' => 'portal',
);
$event['lang_set_ext'] = $lang_set_ext;
}
/**
* Show users as viewing the portals on Who Is Online page
*
* @param object $event The event object
* @return null
*/
public function viewonline_page($event)
{
if ($event['on_page'][1] == 'app' && strrpos($event['row']['session_page'], 'app.' . $this->php_ext . '/portal') === 0)
{
$event['location'] = $this->user->lang('VIEWING_PORTAL');
$event['location_url'] = $this->controller_helper->route('board3_portal_controller');
}
}
/**
* Add portal link
*
* @return null
*/
public function add_portal_link()
{
if (strpos($this->user->data['session_page'], '/portal') === false)
{
$portal_link = $this->controller_helper->route('board3_portal_controller');
}
else
{
$portal_link = $this->path_helper->remove_web_root_path($this->controller_helper->route('board3_portal_controller'));
}
$this->template->assign_vars(array(
'U_PORTAL' => $portal_link,
));
}
}

16
ext.php Normal file
View File

@@ -0,0 +1,16 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2014 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
// This file is needed for phpBB3 to properly register the extension
namespace board3\portal;
class ext extends \phpbb\extension\base
{
}

342
git-tools/hooks/commit-msg Normal file
View File

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

View File

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

View File

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

15
includes/constants.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
// Config constants
define('B3_MODULE_DISABLED', 0);
define('B3_MODULE_ENABLED', 1);
// Tables and paths
define('PORTAL_ROOT_PATH', 'portal/');

494
includes/functions.php Normal file
View File

@@ -0,0 +1,494 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
// Get portal config
function obtain_portal_config()
{
global $db, $cache, $portal_config;
if (($portal_config = $cache->get('portal_config')) === false)
{
$portal_config = $portal_cached_config = array();
$sql = 'SELECT config_name, config_value
FROM ' . PORTAL_CONFIG_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$portal_cached_config[$row['config_name']] = $row['config_value'];
$portal_config[$row['config_name']] = $row['config_value'];
}
$db->sql_freeresult($result);
$cache->put('portal_config', $portal_cached_config);
}
return $portal_config;
}
/**
* Set config value. Creates missing config entry.
* Only use this if your config value might exceed 255 characters, otherwise please use set_config
*/
function set_portal_config($config_name, $config_value)
{
global $db, $cache, $portal_config;
$sql = 'UPDATE ' . PORTAL_CONFIG_TABLE . "
SET config_value = '" . $db->sql_escape($config_value) . "'
WHERE config_name = '" . $db->sql_escape($config_name) . "'";
$db->sql_query($sql);
if (!$db->sql_affectedrows() && !isset($portal_config[$config_name]))
{
$sql = 'INSERT INTO ' . PORTAL_CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'config_name' => $config_name,
'config_value' => $config_value));
$db->sql_query($sql);
}
$portal_config[$config_name] = $config_value;
$cache->destroy('portal_config');
}
/**
* Get portal modules
*/
function obtain_portal_modules()
{
global $db, $cache, $portal_modules;
if (($portal_modules = $cache->get('portal_modules')) === false || defined('DEBUG'))
{
$portal_modules = $portal_cached_modules = array();
$sql = 'SELECT *
FROM ' . PORTAL_MODULES_TABLE . '
ORDER BY module_order ASC';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$portal_cached_modules[] = $row;
$portal_modules[] = $row;
}
$db->sql_freeresult($result);
$cache->put('portal_modules', $portal_cached_modules);
}
return $portal_modules;
}
/**
* Fetch post for news & announce
*
* @deprecated 2.1.0-b1 (To be removed: 2.2.0)
*/
function phpbb_fetch_posts($module_id, $forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start = 0, $invert = false)
{
global $phpbb_container;
$fetch_posts = $phpbb_container->get('board3.portal.fetch_posts');
$fetch_posts->set_module_id($module_id);
return $fetch_posts->get_posts($forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start, $invert);
}
/**
* Censor title, return short title
*
* @param $title string title to censor
* @param $limit int short title character limit
*
*/
function character_limit(&$title, $limit = 0)
{
$title = censor_text($title);
if ($limit > 0)
{
return (strlen(utf8_decode($title)) > $limit + 3) ? truncate_string($title, $limit) . '...' : $title;
}
else
{
return $title;
}
}
/**
* Cut post text to given length
*
* @param string $message post text
* @param string $bbcode_uid bbcode uid
* @param int $length The desired length
*
* @return string Shortened message
*/
function get_sub_taged_string($message, $bbcode_uid, $length)
{
if (class_exists('\Nickvergessen\TrimMessage\TrimMessage'))
{
$trim = new \Nickvergessen\TrimMessage\TrimMessage($message, $bbcode_uid, $length);
$message = $trim->message();
unset($trim);
}
return $message;
}
function ap_validate($str)
{
$s = str_replace('<br />', '<br/>', $str);
return str_replace('</li><br/>', '</li>', $s);
}
/**
* Pagination routine, generates archive number sequence
*/
function generate_portal_pagination($base_url, $num_items, $per_page, $start_item, $type, $add_prevnext_text = false, $tpl_prefix = '')
{
global $template, $user;
switch ($type)
{
case "announcements":
$pagination_type = 'ap';
$anker = '#a';
break;
case "news":
case "news_all":
$pagination_type = 'np';
$anker = '#n';
break;
default:
// this shouldn't happen but default to announcements
$pagination_type = 'ap';
$anker = '#a';
}
// Make sure $per_page is a valid value
$per_page = ($per_page <= 0) ? 1 : $per_page;
$seperator = '<li>&nbsp;</li>';
$total_pages = ceil($num_items / $per_page);
if ($total_pages == 1 || !$num_items)
{
return false;
}
$on_page = floor($start_item / $per_page) + 1;
$url_delim = (strpos($base_url, '?') === false) ? '?' : '&amp;';
$page_string = ($on_page == 1) ? '<ul><li class="active"><span>1</span></li>' : '<ul><li><a href="' . $base_url . $anker .'">1</a></li>';
if ($total_pages > 5)
{
$start_cnt = min(max(1, $on_page - 4), $total_pages - 5);
$end_cnt = max(min($total_pages, $on_page + 4), 6);
// Add ... separator to pagination
$page_string .= ($start_cnt > 1) ? '<li class="ellipsis" role="separator"><span>' . $user->lang['ELLIPSIS'] . '</span></li>' : $seperator;
for ($i = $start_cnt + 1; $i < $end_cnt; ++$i)
{
$page_string .= ($i == $on_page) ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '">' . $i . '</a></li>';
if ($i < $end_cnt - 1)
{
$page_string .= $seperator;
}
}
// Add ... separator to pagination
$page_string .= ($end_cnt < $total_pages) ? '<li class="ellipsis" role="separator"><span>' . $user->lang['ELLIPSIS'] . '</span></li>' : $seperator;
}
else
{
$page_string .= $seperator;
for ($i = 2; $i < $total_pages; ++$i)
{
$page_string .= ($i == $on_page) ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '">' . $i . '</a></li>';
if ($i < $total_pages)
{
$page_string .= $seperator;
}
}
}
$page_string .= ($on_page == $total_pages) ? '<li class="active"><span>' . $total_pages . '</span></li></ul>' : '<li><a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . $anker . '">' . $total_pages . '</a></li></ul>';
if ($add_prevnext_text)
{
if ($on_page != 1)
{
$page_string = '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker . '">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string;
}
if ($on_page != $total_pages)
{
$page_string .= '&nbsp;&nbsp;<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker . '">' . $user->lang['NEXT'] . '</a>';
}
}
$template->assign_vars(array(
$tpl_prefix . 'BASE_URL' => $base_url,
'A_' . $tpl_prefix . 'BASE_URL' => is_string($base_url) ? $base_url : '',
$tpl_prefix . 'PER_PAGE' => $per_page,
$tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker,
$tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker,
$tpl_prefix . 'TOTAL_PAGES' => $total_pages,
));
return $page_string;
}
/**
* Check if table exists
* @copyright (c) 2007 phpBB Group
*
* @param string $table_name The table name to check for
* @return bool true if table exists, else false
*/
function sql_table_exists($table_name)
{
global $db;
$db->sql_return_on_error(true);
$result = $db->sql_query_limit('SELECT * FROM ' . $db->sql_escape($table_name), 1);
$db->sql_return_on_error(false);
if ($result)
{
$db->sql_freeresult($result);
return true;
}
return false;
}
/**
* get topic tracking info for news
* based on get_complete_tracking_info of phpBB3
* this should reduce the queries for the news and announcements block
*/
function get_portal_tracking_info($fetch_news)
{
global $config, $request, $user;
$last_read = $topic_ids = $forum_ids = $tracking_info = $rev_forum_ids = $user_lastmark = array();
/**
* group everything by the forum IDs
*/
$count = $fetch_news['topic_count'];
for ($i = 0; $i < $count; ++$i)
{
$tracking_info[$fetch_news[$i]['forum_id']][] = $fetch_news[$i]['topic_id'];
$topic_ids[] = $fetch_news[$i]['topic_id'];
$forum_ids[] = $fetch_news[$i]['forum_id'];
$rev_forum_ids[$fetch_news[$i]['topic_id']] = $fetch_news[$i]['forum_id']; // the other way round also helps
}
foreach ($tracking_info as $forum_id => $current_forum)
{
if ($config['load_db_lastread'] && $user->data['is_registered'])
{
global $db;
$mark_time = array();
$sql = 'SELECT topic_id, mark_time
FROM ' . TOPICS_TRACK_TABLE . "
WHERE user_id = {$user->data['user_id']}
AND " . $db->sql_in_set('topic_id', $current_forum);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$last_read[$row['topic_id']] = $row['mark_time'];
}
$db->sql_freeresult($result);
$current_forum = array_diff($current_forum, array_keys($last_read));
if (sizeof($topic_ids))
{
$sql = 'SELECT forum_id, mark_time
FROM ' . FORUMS_TRACK_TABLE . "
WHERE user_id = {$user->data['user_id']}
AND " . $db->sql_in_set('forum_id', $forum_ids);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$mark_time[$row['forum_id']] = $row['mark_time'];
}
$db->sql_freeresult($result);
// @todo: do not use $current_forum here as this is already used by the outside foreach
foreach($forum_ids as $current_forum)
{
$user_lastmark[$current_forum] = (isset($mark_time[$current_forum])) ? $mark_time[$current_forum] : $user->data['user_lastmark'];
}
// @todo: also check if $user_lastmark has been defined for this specific forum_id
foreach ($topic_ids as $topic_id)
{
if (!isset($last_read[$topic_id]) || (isset($user_lastmark[$rev_forum_ids[$topic_id]]) && $user_lastmark[$rev_forum_ids[$topic_id]] > $last_read[$topic_id]))
{
$last_read[$topic_id] = $user_lastmark[$rev_forum_ids[$topic_id]];
}
}
}
}
else if ($config['load_anon_lastread'] || $user->data['is_registered'])
{
global $tracking_topics;
if (!isset($tracking_topics) || !sizeof($tracking_topics))
{
if ($request->is_set($config['cookie_name'] . '_track', \phpbb\request\request_interface::COOKIE))
{
$tracking_topics = $request->variable($config['cookie_name'] . '_track', '', true, \phpbb\request\request_interface::COOKIE);
}
else
{
$tracking_topics = '';
}
$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();
}
if (!$user->data['is_registered'])
{
$user_lastmark = (isset($tracking_topics['l'])) ? base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate'] : 0;
}
else
{
$user_lastmark = $user->data['user_lastmark'];
}
foreach ($topic_ids as $topic_id)
{
$topic_id36 = base_convert($topic_id, 10, 36);
if (isset($tracking_topics['t'][$topic_id36]))
{
$last_read[$topic_id] = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate'];
}
}
$topic_ids = array_diff($topic_ids, array_keys($last_read));
if (sizeof($topic_ids))
{
$mark_time = array();
if (isset($tracking_topics['f'][$forum_id]))
{
$mark_time[$forum_id] = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate'];
}
$user_lastmark = (isset($mark_time[$forum_id])) ? $mark_time[$forum_id] : $user_lastmark;
foreach ($topic_ids as $topic_id)
{
$last_read[$topic_id] = $user_lastmark;
}
}
}
}
return $last_read;
}
/**
* Check if the entered source file actually exists
*
* @param string $value Filename of file to check
* @param string $key Key of the acp setting (unused here)
* @param int $module_id Module ID of this module
* @param bool $force_error Whether an error message should be triggered on
* errors.
* @return bool|string False if file exists, an error string if file doesn't exist.
*/
function check_file_src($value, $key, $module_id, $force_error = true)
{
global $db, $phpbb_root_path, $phpEx, $user;
$error = '';
// We check if the chosen file is present in all active styles
$sql = 'SELECT style_path
FROM ' . STYLES_TABLE . '
WHERE style_active = 1';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (!file_exists($phpbb_root_path . 'styles/' . $row['style_path'] . '/theme/images/portal/' . $value) &&
!file_exists($phpbb_root_path . 'ext/board3/portal/styles/' . $row['style_path'] . '/theme/images/portal/' . $value))
{
$error .= $user->lang['B3P_FILE_NOT_FOUND'] . ': styles/' . $row['style_path'] . '/theme/images/portal/' . $value . '<br />';
}
}
$db->sql_freeresult($result);
if (!empty($error))
{
if ($force_error)
{
trigger_error($error . adm_back_link(append_sid("{$phpbb_root_path}adm/index.$phpEx", 'i=\board3\portal\acp\portal_module&amp;mode=config&amp;module_id=' . $module_id)), E_USER_WARNING);
}
else
{
return $error;
}
}
else
{
return false;
}
}
/**
* Get the groups a user is in
*
* @return array Array containing the user's groups
*/
function get_user_groups()
{
global $cache, $db, $user;
$groups_ary = $cache->get('_user_groups_' . $user->data['user_id']);
if ($groups_ary === false)
{
// get user's groups
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_id = ' . (int) $user->data['user_id'] . '
ORDER BY group_id ASC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$groups_ary[] = $row['group_id'];
}
$db->sql_freeresult($result);
// save data in cache for 60 seconds
$cache->put('_user_groups_' . $user->data['user_id'], $groups_ary, 60);
}
return $groups_ary;
}

View File

@@ -1,17 +1,12 @@
<?php
/**
*
* @package Board3 Portal v2
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
function column_num_string($column)
{
switch ($column)
@@ -26,8 +21,8 @@ function column_num_string($column)
return 'top';
case 5:
return 'bottom';
default:
return 0;
default:
return 0;
}
}

View File

@@ -1,16 +1,13 @@
<?php
/**
*
* @package Board3 Portal v2
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
namespace board3\portal\includes;
/**
* @ignore
@@ -105,7 +102,7 @@ class portal_upload
// Now we need to get the files inside the folders
//$folder_contents = $this->cut_folder(scandir($mod_dir));
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($mod_dir)); // requires PHP 5
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($mod_dir, FilesystemIterator::SKIP_DOTS)); // requires PHP 5
foreach($iterator as $cur_file)
{
@@ -114,16 +111,6 @@ class portal_upload
$cur_path = str_replace($mod_dir . '/', '', $cur_path);
$cut_pos = strpos($cur_path, '/');
/*
* We only copy files. The recursive iterator might grab paths depending on
* the PHP version. This will trigger our error handle with trigger_error()
* though. If we are trying to copy a directory just move on.
*/
if (is_dir($cur_path))
{
continue;
}
// Only allow files in adm, language, portal and styles folder and a license.txt
if(!in_array(substr($cur_path, 0, $cut_pos), array('adm', 'language', 'portal', 'styles')) && $cur_file->getFilename() != 'license.txt')
{
@@ -332,7 +319,7 @@ class portal_upload
/**
* @author Michal Nazarewicz (from the php manual)
* Creates all non-existant directories in a path
* Creates all non-existent directories in a path
* @param $path - path to create
* @param $mode - CHMOD the new dir to these permissions
* @return bool

79
includes/helper.php Normal file
View File

@@ -0,0 +1,79 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2014 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\includes;
class helper
{
/**
* Board3 Modules service collection
* @var \phpbb\di\service_collection
*/
protected $modules;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
* the dependencies defined in the services.yml file for this service.
* @param \phpbb\di\service_collection $modules Board3 Modules service
* collection
*/
public function __construct($modules)
{
$this->register_modules($modules);
}
/**
* Register list of Board3 Portal modules
*
* @param \phpbb\di\service_collection $modules Board3 Modules service
* collection
* @return null
*/
protected function register_modules($modules)
{
foreach ($modules as $current_module)
{
$class_name = '\\' . get_class($current_module);
if (!isset($this->modules[$class_name]))
{
$this->modules[$class_name] = $current_module;
}
}
}
/**
* Get module specified by module class name
*
* @param string $module_name Module class name
*
* @return bool|object The module object if it exists, false if not
*/
public function get_module($module_name)
{
if (isset($this->modules[$module_name]))
{
return $this->modules[$module_name];
}
else
{
return false;
}
}
/**
* Get all supported modules
*
* @return array An array containing all supported modules
*/
public function get_all_modules()
{
return $this->modules;
}
}

138
includes/modules_helper.php Normal file
View File

@@ -0,0 +1,138 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2014 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\includes;
class modules_helper
{
/**
* Auth object
* @var \phpbb\auth\auth
*/
protected $auth;
/**
* phpBB config
* @var \phpbb\config\config
*/
protected $config;
/**
* phpBB request
* @var \phpbb\request\request
*/
protected $request;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
* the dependencies defined in the services.yml file for this service.
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\config\config $config phpBB config
* @param \phpbb\request\request $request phpBB request
*/
public function __construct($auth, $config, $request)
{
$this->auth = $auth;
$this->config = $config;
$this->request = $request;
}
/**
* Get an array of disallowed forums
*
* @param bool $disallow_access Whether the array for disallowing access
* should be filled
* @return array Array of forums the user is not allowed to access
*/
public function get_disallowed_forums($disallow_access)
{
if ($disallow_access == true)
{
$disallow_access = array_unique(array_keys($this->auth->acl_getf('!f_read', true)));
}
else
{
$disallow_access = array();
}
return $disallow_access;
}
/**
* Generate select box
*
* @param string $key Key of select box
* @param array $select_ary Array of select box options
* @param array $selected_options Array of selected options
*
* @return string HTML code of select box
* @access public
*/
public function generate_select_box($key, $select_ary, $selected_options)
{
// Build options
$options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple">';
foreach ($select_ary as $id => $option)
{
$options .= '<option value="' . $option['value'] . '"' . ((in_array($option['value'], $selected_options)) ? ' selected="selected"' : '') . (!empty($option['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $option['title'] . '</option>';
}
$options .= '</select>';
return $options;
}
/**
* Generate forum select box
*
* @param string $value Value of select box
* @param string $key Key of select box
*
* @return string HTML code of select box
* @access public
*/
public function generate_forum_select($value, $key)
{
$forum_list = make_forum_select(false, false, true, true, true, false, true);
$selected_options = $select_ary = array();
if(isset($this->config[$key]) && strlen($this->config[$key]) > 0)
{
$selected_options = explode(',', $this->config[$key]);
}
// Build forum options
foreach ($forum_list as $f_id => $f_row)
{
$select_ary[] = array(
'value' => $f_id,
'title' => $f_row['padding'] . $f_row['forum_name'],
'disabled' => $f_row['disabled'],
);
}
return $this->generate_select_box($key, $select_ary, $selected_options);
}
/**
* Store selected forums
*
* @param string $key Key name
*
* @return null
* @access public
*/
public function store_selected_forums($key)
{
// Get selected extensions
$values = $this->request->variable($key, array(0 => ''));
$news = implode(',', $values);
$this->config->set($key, $news);
}
}

165
includes/version_check.php Normal file
View File

@@ -0,0 +1,165 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\includes;
class version_check
{
/**
* @var array version_data
*/
protected $version_data;
/**
* @var \phpbb\config\config
*/
protected $config;
/**
* @var string phpbb_root_path
*/
protected $phpbb_root_path;
/**
* @var string PHP file extension
*/
protected $php_ext;
/**
* @var \phpbb\template\twig\twig
*/
protected $template;
/**
* @var \phpbb\user
*/
protected $user;
/**
* Construct a version_check object
*
* @param array $version_data Version data
* @param \phpbb\config\config $config phpBB config
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
* @param \phpbb\template\twig\twig $template phpBB template object
* @param \phpbb\user $user phpBB user object
*/
public function __construct($version_data, $config, $phpbb_root_path, $php_ext, $template, $user)
{
$this->version_data = $version_data;
$this->config = $config;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
$this->template = $template;
$this->user = $user;
}
/**
* Check MOD version
*
* @param bool $return_version Yes if current version should be returned
* @return string Current version if $return_version is set to true
*/
public function check($return_version = false)
{
if (!function_exists('get_remote_file'))
{
include($this->phpbb_root_path . 'includes/functions_admin.' . $this->php_ext);
}
// Fill with bogus data
$this->get_empty_data($mod_version, $data);
// Get version info from server
$this->get_version_info($mod_version, $data);
// remove spaces from the version in the mod file stored locally
$version = $this->config[str_replace(' ', '', $this->version_data['version'])];
if ($return_version)
{
return $version;
}
$version_compare = (version_compare($version, $mod_version, '<')) ? false : true;
$this->template->assign_block_vars('mods', array(
'ANNOUNCEMENT' => (string) $data['announcement'],
'AUTHOR' => $this->version_data['author'],
'CURRENT_VERSION' => $version,
'DESCRIPTION' => (string) $data['description'],
'DOWNLOAD' => (string) $data['download'],
'LATEST_VERSION' => $mod_version,
'TITLE' => (string) $data['title'],
'UP_TO_DATE' => sprintf((!$version_compare) ? $this->user->lang['NOT_UP_TO_DATE'] : $this->user->lang['UP_TO_DATE'], $data['title']),
'S_UP_TO_DATE' => $version_compare,
'U_AUTHOR' => 'http://www.phpbb.com/community/memberlist.php?mode=viewprofile&un=' . $this->version_data['author'],
));
}
/**
* Fill variables with empty bogus data
*
* @param string $mod_version Mod version
* @param array $data Array containing mod info
*
* @return null
*/
protected function get_empty_data(&$mod_version, &$data)
{
// Fill with bogus data
$mod_version = $this->user->lang['NO_INFO'];
$data = array(
'title' => $this->version_data['title'],
'description' => $this->user->lang['NO_INFO'],
'download' => $this->user->lang['NO_INFO'],
'announcement' => $this->user->lang['NO_INFO'],
);
}
/**
* Get version info from remote server
*
* @param string $mod_version Mod version
* @param array $data Array containing mod info
*
* @return null
*/
protected function get_version_info(&$mod_version, &$data)
{
// Get current and latest version
$errstr = '';
$errno = 0;
$var = $this->version_data;
$file = get_remote_file($this->version_data['file'][0], '/' . $this->version_data['file'][1], $this->version_data['file'][2], $errstr, $errno);
if ($file)
{
// let's not stop the page from loading if a mod author messed up their mod check file
// also take care of one of the easiest ways to mess up an xml file: "&"
$mod = @simplexml_load_string(str_replace('&', '&amp;', $file));
if (isset($mod->$var['tag']))
{
$row = $mod->$var['tag'];
$mod_version = $row->mod_version->major . '.' . $row->mod_version->minor . '.' . $row->mod_version->revision . $row->mod_version->release;
$data = array(
'title' => $row->title,
'description' => $row->description,
'download' => $row->download,
'announcement' => $row->announcement,
);
}
}
}
}

View File

@@ -1,462 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal</title>
<title lang="de">board3 Portal</title>
<description lang="en">Adds a portal with several blocks to your forum.
You can change the settings, move the blocks, add new blocks and more in the ACP.
Included language files:
» English (en)
» German (de)
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
<description lang="de">Fügt ein Portal mit diversen Boxen deinem Forum hinzu.
Im Admin-Bereich kann man unter Anderem die Einstellungen ändern, die Blöcke verschieben, neue Blöcke hinzufügen und vieles mehr.
Enthaltenen Sprachdateien:
» Englisch (en)
» Deutsch (de)
Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.board3.de/viewforum.php?f=13
</description>
<author-notes lang="en">This MOD requires PHP5. I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
</author-notes>
<author-notes lang="de">Dieser MOD benötigt PHP5. Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
</author-notes>
<github>https://github.com/board3/Board3-Portal</github>
<author-group>
<author>
<realname>Marc Alexander</realname>
<username>Marc</username>
<email>admin@m-a-styles.de</email>
<homepage>http://www.m-a-styles.de</homepage>
<contributions-group>
<contributions status="current" position="Main-Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Joas Schilling</realname>
<email>nickvergessen@gmx.de</email>
<username>nickvergessen</username>
<homepage>http://mods.flying-bits.org/</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Kevin</realname>
<username>saint_hh</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Walter</realname>
<email>w.bobeth@digitalfotografie-foren.de</email>
<username>Redbull254</username>
<homepage>http://www.digitalfotografie-foren.de</homepage>
<contributions-group>
<contributions status="past" position="Developer"></contributions>
</contributions-group>
</author>
</author-group>
<mod-version>2.0.2</mod-version>
<installation>
<level>easy</level>
<time>600</time>
<target-version>3.0.12</target-version>
</installation>
<link-group>
<link type="dependency" lang="en" href="http://www.phpbb.com/community/viewtopic.php?f=69&amp;t=691155">Board3 Portal supports MOD Version Check. To use this feature, this mod has to be installed.</link>
<link type="dependency" lang="de" href="http://www.phpbb.com/community/viewtopic.php?f=69&amp;t=691155">Board3 Portal unterstützt MOD Version Check. Um dieses Feature zu nutzen, muss dieser Mod installiert sein.</link>
<link type="language" lang="en" href="contrib/de.xml">Manual for German Language-set</link>
<link type="language" lang="de" href="contrib/de.xml">Anleitung für das deutsche Sprachpaket</link>
<link type="template" lang="en" href="contrib/subsilver2.xml">Manual for subsilver2</link>
<link type="template" lang="de" href="contrib/subsilver2.xml">Anleitung für subsilver2</link>
<link type="contrib" lang="en" href="contrib/update_201_to_202/update.xml">Manual for Updating B3P 2.0.1 to 2.0.2</link>
<link type="contrib" lang="de" href="contrib/update_201_to_202/update.xml">Anleitung für das Aktualisieren von B3P 2.0.1 zu 2.0.2</link>
</link-group>
<history>
<entry>
<date>2013-10-27</date>
<rev-version>2.0.2</rev-version>
<changelog lang="en">
<change>[ticket/216] Add function for obtaining user's groups</change>
<change>[ticket/217] Handle incorrect values in the news URL</change>
<change>[cleanup/acp] Make acp_portal module more readable</change>
<change>[cleanup/tabs] Remove unnecessary tabbing in portal files</change>
<change>[cleanup/whitespace] Get rid of unnecessary whitespace</change>
<change>Display correct day of the week with negative UTC offset</change>
<change>[ticket/120] Move birthday block HTML to template files</change>
<change>[ticket/224] Add possibility to append username to donation</change>
<change>[ŧicket/223] Set correct permissions to uploaded files (644)</change>
<change>[feature/clean-up] Remove duplicated code from portal modules</change>
<change>[gh/113] Update UMIL to 1.0.5</change>
<change>Slight changes to design of portal</change>
</changelog>
<changelog lang="de">
<change>[ticket/216] Füge Funktion zur Erlangung der Gruppen eines Benutzers hinzu</change>
<change>[ticket/217] Behandele falsche Parameter in der News URL</change>
<change>[cleanup/acp] Mache acp_portal lesbarer</change>
<change>[cleanup/tabs] Entferne sinnlose Tabs in Portal Dateien</change>
<change>[cleanup/whitespace] Entferne unnötige Leerzeichen</change>
<change>Zeige korrekten Tag der Woche bei negativem UTC Abstand an</change>
<change>[ticket/120] Verschiebe HTML des Geburtstags-Blocks in Template Dateien</change>
<change>[ticket/224] Füge Möglichkeit des Anhängens des Benutzernamens an Spende ein</change>
<change>[ŧicket/223] Setze richtige Berechtigungen für hochgeladene Dateien (644)</change>
<change>[feature/clean-up] Entferne doppelten Code von Portal Modulen</change>
<change>[gh/113] Aktualisiere UMIL zu 1.0.5</change>
<change>Kleine Änderungen im Design des Portals</change>
</changelog>
</entry>
<entry>
<date>2012-10-13</date>
<rev-version>2.0.1</rev-version>
<changelog lang="en">
<change>Redirect to portal.php when detecting incorrect announcement parameter</change>
<change>Add rel="nofollow" to calendar navigation</change>
<change>Fixed incorrect handling of months by strtotime</change>
<change>Fix previous commit for calendar</change>
<change>Fix incorrect config_name in portal_recent.php</change>
<change>Fix error if server-side topic marking is disabled</change>
<change>Fix incorrect space between blocks in IE9</change>
<change>[ticket/203] Future all day events are always displayed as current</change>
<change>[ticket/207] Debug warning in ACP when using PHP 5.4</change>
<change>[ticket/206] Missing link to MCP in subsilver2</change>
<change>Fix PHP notice when unable to rename</change>
<change>Fix incorrect space above calendar in IE9</change>
<change>Properly handle mutated vowels in links</change>
<change>Enable stylechanger for guests again</change>
<change>Add missing language var for logs after removing a link</change>
<change>Remove converter for Board3 Portal 1.0.6</change>
<change>Fix: Infinite loop caused by smiley code with "["</change>
<change>Fix: Only variables can be passed by ref in strict mode</change>
<change>Display events that start in the next 24 Hours as "Current"</change>
<change>Remove unnecessary variables from format_birthday() &amp; clean-up</change>
<change>Save module settings even if module image can't be found</change>
<change>Add missing error messages to links &amp; main menu modules</change>
<change>Remove update instructions for old releases</change>
<change>Remove update for beta version</change>
<change>Add missing language variable "NO_FILE_B3P"</change>
</changelog>
<changelog lang="de">
<change>Leite bei falschen Parametern für Ankündigungen an die portal.php weiter</change>
<change>Füge rel="nofollow" zur Kalender Navigation hinzu</change>
<change>Korrigiere fehlerhafte Behandlung von Monaten mit strtotime</change>
<change>Korrigiere vohergehende Änderung für den Kalender</change>
<change>Korrigiere falschen config_name in portal_recent.php</change>
<change>Korrigiere Fehler falls serverseitiges Markieren von Themen deaktiviert ist</change>
<change>Korrigiere falschen Abstand zwischen Blöcken in IE9</change>
<change>[ticket/203] Future all day events are always displayed as current</change>
<change>[ticket/207] PHP 5.4.0 Unterstützung / Support</change>
<change>[ticket/206] Kein Link zum Moderations-Bereich im user_menu_side.html bei subsilver2</change>
<change>Korrigiere PHP notice falls nicht umbenannt werden kann</change>
<change>Korrigiere falschen Abstand über dem Kalender in IE9</change>
<change>Gehe korrekt mit Umlauten in Links um</change>
<change>Aktiviere Stylechanger wieder für Gäste</change>
<change>Füge fehlende Sprachvariablen für Logs nach dem Entfernen von Links hinzu</change>
<change>Entferne Konverter für Board3 Portal 1.0.6</change>
<change>Korrigiere Endlosschleife durch Smiley Code mit "["</change>
<change>Korrigiere: Only variables can be passed by ref in strict mode</change>
<change>Zeige Veranstaltungen die in den nächsten 24 Stunden beginnen als aktuell an</change>
<change>Entferne unnötige Variablen von format_birthday() &amp; räume etwas auf</change>
<change>Sichere Modul Einstellungen auch wenn die Modul Bilder nicht gefunden werden können</change>
<change>Füge fehlende Fehlermeldungen zu Links &amp; Menü Modulen hinzu</change>
<change>Entferne Update Anleitungen für ältere Veröffentlichungen</change>
<change>Entferne Update Anleitung für Beta Version</change>
<change>Füge fehlende Sprachvariable "NO_FILE_B3P" hinzu</change>
</changelog>
</entry>
<entry>
<date>2012-04-06</date>
<rev-version>2.0.0</rev-version>
<changelog lang="en">
<change>Replaced German language vars with English ones</change>
<change>Fixed 2 small errors in calendar language file</change>
<change>Fixed incorrect links to convert instruction</change>
<change>Added note to author notes that PHP5 is required</change>
<change>Fixed incorrect handling of utf8 characters in custom blocks</change>
<change>Fixed missing height and width in module images of custom blocks</change>
<change>Modified module title to "Attachments" as suggested by wang555</change>
<change>Fixed incorrect timezone handling of events</change>
<change>Removed number in latest bots title</change>
<change>Centered clock in prosilver</change>
<change>Added br-tag in forumlist.html to prevent issues in custom styles</change>
<change>Fixed small cosmetic errors in prosilver</change>
<change>Added correct padding between headerbar and portal body</change>
<change>Hide module image settings in center, top &amp; bottom column</change>
<change>Added missing permission check for calendar events</change>
<change>Fixed incorrect position of event desc in future events (prosilver)</change>
<change>Modified style of calendar in subsilver2</change>
<change>Fixed: Jumpbox doesn't care if it is enabled in the ACP</change>
<change>Added a few rtl fixes</change>
<change>Fixed: Unread topics do not get displayed</change>
<change>Add possibility to define a different class for callback functions</change>
<change>Moved trim_message tool to includes folder</change>
<change>Added missing lang entries for removed events</change>
<change>Fixed incorrect ordering of users in leaders module</change>
<change>Added htmlspecialchars_decode for message before trimming</change>
<change>Allow duplicate inclusion of module if it's in a different column type</change>
<change>Fixed incorrect arrow directions when using rtl language (ACP)</change>
<change>Disabled poll module for the side columns</change>
<change>Merged small whois online block into whois online module</change>
<change>Fixed missing module_status in board3_basic_install()</change>
<change>Add missing update instructions for 2.0.0b1</change>
<change>Fix size of input boxes</change>
<change>Add missing class references</change>
<change>Fixed "unknown column" issue when installing</change>
<change>Fixing incorrect size of module box for oneliners</change>
<change>Get rid of magic numbers in portal.php</change>
<change>Make sure we don't try to copy folders</change>
<change>[Fix] Don't let Bots use styleswitcher </change>
<change>Added missing language vars and removed useless ones</change>
<change>Purge caches via install file</change>
<change>Fixed exceeding of max execution time when using trim message tool</change>
<change>Moved duplicate javascript to acp_portal.js</change>
<change>Hide modules that can't be added</change>
</changelog>
<changelog lang="de">
<change>Deutsche Sprachvariablen mit englischen ersetzt</change>
<change>2 kleine Fehler in Kalender Sprachdatei korrigiert</change>
<change>Falsche Links zu Konvertierungsanleitung korrigiert</change>
<change>PHP5 Anforderung zu Author notes hinzugefügt</change>
<change>Inkorrekte Behandlung von utf8 Zeichen in Eigenen Blöcken korrigiert</change>
<change>Fehlende Höhe- und Breiteangaben für Modul Bilder von Eigenen Blöcken korrigiert</change>
<change>Inkorrekte Behandlung von Zeitzonen bei Veranstaltungen korrigiert</change>
<change>Anzahl im Titel des Letzte Bots Modul entfernt</change>
<change>Uhr in prosilver zentriert</change>
<change>br-tag zu forumlist.html hinzugefügt um Probleme in anderen Styles zu verhindern</change>
<change>Kleine kosmetische Fehler in prosilver korrigiert</change>
<change>Abstand zwischen header und portal_body korrigiert</change>
<change>Verstecke Modul Bild Einstelungen in der Mitte, Oben &amp; Unten</change>
<change>Fehlende Überprüfung von Veranstaltungs-Berechtigungen hinzugefügt</change>
<change>Position der Veranstaltungs-Beschreibung in prosilver angepasst</change>
<change>Styles des Kalenders in subsilver2 geändert</change>
<change>Jumpbox lässt sich jetzt deaktivieren</change>
<change>Korrekturen für RTL Sprachen</change>
<change>Ungelesene Beiträge Icons werden angezeigt</change>
<change>Möglichkeit eine andere Klasse für die callback Funktion zu definieren hinzugefügt</change>
<change>trim_message Tool in den includes Ordner verschoben</change>
<change>Fehlende Sprachvariablen für gelöschte Veranstaltungen hinzugefügt</change>
<change>Falsche Sortierung von Benutzernamen in Team Block korrigiert</change>
<change>Anwendung von htmlspecialchars_decode() auf Nachricht vor dem Kürzen hinzugefügt</change>
<change>Doppelte Einbindung von Modulen erlaubt, falls sie in einem anderen Spaltentyp hinzugefügt werden</change>
<change>Falsche Pfeilrichtungen bei RTL Sprachen korrigiert (Admin-Bereich)</change>
<change>Umfrage Modul in den seitlichen Spalten deaktiviert</change>
<change>Kleinen "Wer ist online?" Block in das "Wer ist online?" Modul eingefügt</change>
<change>Fehlender module_stats in board3_basic_install() korrigiert</change>
<change>Fehlende Update-Anleitung für 2.0.0b1 hinzugefügt</change>
<change>Größe der Input-Boxen korrigiert</change>
<change>Fehlende Globalisierung von Klassen und includes hinzugefügt</change>
<change>"unknown column" Fehler beim Installieren korrigiert</change>
<change>Falsche Größe der Modul Box bei Einzeilern korrigiert</change>
<change>"Magic Numbers" in portal.php entfernt</change>
<change>Stelle sicher, dass wir nicht versuchen Ordner zu kopieren</change>
<change>Lasse Bots nicht den Styleswicher benutzen</change>
<change>Fehlende Sprachvariablen hinzugefügt und Unnötige entfernt</change>
<change>Leere Caches mit dem Install-Skript</change>
<change>Überschreiten der maximalen Ausführungszeit im trim message Tool korrigiert</change>
<change>Doppeltes Javascript in acp_portal.js verschoben</change>
<change>Verstecke Module die nicht hinzugefügt werden können</change>
</changelog>
</entry>
<entry>
<date>2011-06-08</date>
<rev-version>2.0.0b1</rev-version>
<changelog lang="en">
<change>Added missing IF $S_BLOCK_ICON</change>
<change>Fixed select for displaying events </change>
<change>Add feature to disable modules without having to remove them</change>
<change>Fixed typo in title of Latest Bots block</change>
<change>Applied patch for folders with special characters (upload module)</change>
<change>Reworked parts of calendar block</change>
<change>Fixed missing CSS for li-tags of calendar</change>
<change>Added error handling to installation of modules</change>
<change>Fixed timezone handling of calendar</change>
<change>Fixed incorrect handling of links</change>
<change>Fixed mixup with td and tr in subsilver2 calendar block</change>
<change>Added missing HTML file for center block of attachments module</change>
<change>Fixed missing check for correct column when moving a module left or right</change>
<change>Added possibility to add forumlist to top and bottom column</change>
<change>Corrected language var for module image as suggested by archivar</change>
<change>Moved link constants into module files</change>
<change>Remove php closing tag</change>
<change>Rewrote basic uploader for module zips</change>
<change>Modified class files for PHP5 -- PHP5 is now a requirement</change>
<change>Added check to prevent adding a module more than once</change>
<change>Added feature to hide portal name on acp configuration page for all modules (was only for latest bots module)</change>
<change>Added adm folder to allowed upload folders</change>
<change>Replace chmod with phpbb_chmod in uploader where needed</change>
<change>Added feature to open external links in a new window</change>
<change>Merged nickvergessen's phpbb3-tools-trim-message replacing old get_sub_taged_string function</change>
<change>Random members block will not be installed by default</change>
</changelog>
<changelog lang="de">
<change>Fehlendes IF $S_BLOCK_ICON hinzugefügt</change>
<change>Auswahl für das Anzeigen von Events repariert</change>
<change>Fähigkeit hinzugefügt um Module zu deaktivieren ohne sie zu entfernen</change>
<change>Schreibfehler in "Letzte Bots" Block beseitigt</change>
<change>Patch für Ordner mit Spezialcharaktern hinzugefügt (Upload Modul)</change>
<change>Teile des Kalender Blocks überarbeitet</change>
<change>Fehlendes CSS für li-tags des Kalenders hinzugefügt</change>
<change>Fehlerbehandlung zu Installation von Modulen hinzugefügt</change>
<change>Zeitzonenbehandlung in Kalender korrigiert</change>
<change>Falsche Behandlung von Links korrigiert</change>
<change>Falsche Benutzung von td und tr im subsilver2 Kalender Block beseitigt</change>
<change>Fehlende HTML Datei des Dateianhänge Moduls für die mittlere Spalte hinzugefügt</change>
<change>Fehlende Überprüfung auf richtige Spalte beim Verschieben der Module</change>
<change>Möglichkeit hinzugefügt die Forenliste in die obere und untere Modulezeile hinzuzufügen</change>
<change>Sprachvariable für Modulbild, wie von archivar vorgeschlagen, abgeändert</change>
<change>Link Konstanten in Module verschoben</change>
<change>Schließenden Tag von PHP Dateien entfernt</change>
<change>Hochlade-Module für Modul Zips komplett neu geschrieben</change>
<change>Klassen Dateien für PHP5 modifiziert -- PHP5 ist jetzt eine Vorraussetzung</change>
<change>Überprüfung hinzugefügt, damit ein Modul nicht mehrmals hinzugefügt werden kann</change>
<change>Möglichkeits hinzugefügt den Modultitel auf der Konfigurationsseite im ACP zu verstecken</change>
<change>adm Ordner zu erlaubten upload Ordnern hinzugefügt</change>
<change>chmod mit phpbb_chmod ersetzt in Upload Modul</change>
<change>Möglichkeit externe Links in einem neuen Fenster zu öffnen hinzugefügt</change>
<change>nickvergessen's phpbb3-tools-trim-message hinzugefügt - ersetzt die alte Funktion get_sub_taged_string()</change>
<change>Zufällige Mitglieder Block wird standardmäßig nicht installiert</change>
</changelog>
</entry>
<entry>
<date>2011-03-08</date>
<rev-version>2.0.0a1</rev-version>
<changelog lang="en">
<change>First alpha release</change>
</changelog>
<changelog lang="de">
<change>Erste Alpha-Version</change>
</changelog>
</entry>
</history>
</header>
<action-group>
<copy>
<file from="root/portal.php" to="portal.php" />
<file from="root/adm/images/*.*" to="adm/images/*.*" />
<file from="root/adm/mods/board3_portal_check_version.php" to="adm/mods/board3_portal_check_version.php" />
<file from="root/adm/style/*.*" to="adm/style/*.*" />
<file from="root/includes/acp/*.*" to="includes/acp/*.*" />
<file from="root/includes/trim_message/*.*" to="includes/trim_message/*.*" />
<file from="root/install/index.php" to="install/index.php" />
<file from="root/language/en/mods/*.*" to="language/en/mods/*.*" />
<file from="root/portal/*.*" to="portal/*.*" />
<file from="root/styles/prosilver/template/portal/*.*" to="styles/prosilver/template/portal/*.*" />
<file from="root/styles/prosilver/theme/portal.css" to="styles/prosilver/theme/portal.css" />
<file from="root/styles/prosilver/theme/images/portal/*.*" to="styles/prosilver/theme/images/portal/*.*" />
<file from="root/umil/*.*" to="umil/*.*" />
</copy>
<open src=".htaccess">
<edit>
<find><![CDATA[<Files "common.php">
Order Allow,Deny
Deny from All
</Files>]]></find>
<action type="after-add"><![CDATA[DirectoryIndex portal.php index.php index.html index.htm]]></action>
</edit>
</open>
<open src="viewonline.php">
<edit>
<find><![CDATA[ case 'report':
$location = $user->lang['REPORTING_POST'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;]]></find>
<action type="after-add"><![CDATA[ case 'portal':
$user->add_lang('mods/portal');
$location = $user->lang['VIEWING_PORTAL'];
$location_url = append_sid("{$phpbb_root_path}portal.$phpEx");
break;]]></action>
</edit>
</open>
<open src="includes/functions.php">
<edit>
<find><![CDATA[// The following assigns all _common_ variables that may be used at any point in a template.]]></find>
<action type="before-add"><![CDATA[ $user->add_lang('mods/portal');]]></action>
</edit>
<edit>
<find><![CDATA['U_PRIVATEMSGS' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;folder=inbox'),]]></find>
<action type="before-add"><![CDATA[ 'U_PORTAL' => (isset($config['board3_enable']) && $config['board3_enable'] && $auth->acl_get('u_view_portal')) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',]]></action>
</edit>
</open>
<open src="includes/session.php">
<edit>
<find><![CDATA[ if (!empty($_GET['style']) && $auth->acl_get('a_styles') && !defined('ADMIN_START'))]]></find>
<action type="replace-with"><![CDATA[ if (!empty($_GET['style']) && !defined('ADMIN_START') && !$this->data['is_bot'])]]></action>
</edit>
</open>
<open src="styles/prosilver/template/overall_header.html">
<edit>
<find><![CDATA[<div class="navbar">]]></find>
<action type="before-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
</edit>
<edit>
<find><![CDATA[<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a> <!-- BEGIN navlinks --> <strong>&#8249;</strong>]]></find>
<inline-edit>
<inline-find><![CDATA[<li class="icon-home">]]></inline-find>
<inline-action type="after-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> &#187; <!-- ENDIF -->]]></inline-action>
</inline-edit>
</edit>
<edit>
<find><![CDATA[ <li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li>
<!-- ENDIF -->
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>]]></find>
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
</edit>
</open>
<open src="styles/prosilver/template/overall_footer.html">
<edit>
<find><![CDATA[<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a></li>]]></find>
<inline-edit>
<inline-find><![CDATA[<li class="icon-home">]]></inline-find>
<inline-action type="after-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> &#187; <!-- ENDIF -->]]></inline-action>
</inline-edit>
</edit>
</open>
<open src="styles/prosilver/theme/stylesheet.css">
<edit>
<find><![CDATA[@import url("colours.css");]]></find>
<action type="after-add"><![CDATA[@import url("portal.css");]]></action>
</edit>
</open>
<php-installer>install/index.php</php-installer>
<diy-instructions lang="de"><![CDATA[Rufe install/index.php auf und führe den Installer aus.
Lösche anschließend das Installationsverzeichnis.]]></diy-instructions>
<diy-instructions lang="en"><![CDATA[Browse to install/index.php and run the installer.
Remove the install-folder afterwards.]]></diy-instructions>
</action-group>
</mod>

View File

@@ -0,0 +1,54 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'ACP_PORTAL_MODULES' => 'Portal Module',
'ACP_PORTAL' => 'Portal',
'ACP_PORTAL_GENERAL_INFO' => 'Allgemeine Einstellungen',
'ACP_PORTAL_UPLOAD' => 'Modul hochladen',
// Logs
'LOG_PORTAL_LINK_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link hinzugefügt: %s ',
'LOG_PORTAL_LINK_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link geändert: %s ',
'LOG_PORTAL_LINK_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link gelöscht: %s ',
'LOG_PORTAL_EVENT_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin eingetragen: %s ',
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin geändert: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin gelöscht: %s ',
'LOG_PORTAL_CONFIG' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; %s',
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Announcements
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Announcements
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Attachments
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Attachments
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Birthday List
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Birthday List
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Calendar
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Calendar
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
@@ -115,14 +115,10 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CALENDAR_START_INCORRECT' => 'Die eingegebene Start-Zeit ist nicht korrekt. Bitte folge genau den Anweisungen.',
'ACP_PORTAL_CALENDAR_END_INCORRECT' => 'Die eingegebene End-Zeit ist nicht korrekt. Bitte folge genau den Anweisungen.',
'ACP_PORTAL_CALENDAR_EVENT_PAST' => 'Die Start-zeit der Veranstaltung muss in der Zukunft liegen.',
'ACP_PORTAL_EVENT_START_DAY' => 'Start-Datum der Veranstaltung',
'ACP_PORTAL_EVENT_START_DAY_EXP' => 'Gebe das Datum ein, an dem die Veranstaltung beginnt. Das Datum muss in folgendem Format sein: TT-MM-JJJJ',
'ACP_PORTAL_EVENT_START_TIME' => 'Start-Zeit der Veranstaltung',
'ACP_PORTAL_EVENT_START_TIME_EXP' => 'Gebe die Zeit ein, zu der die Veranstaltung beginnt. Die Zeit muss im 24 Stunden Format sein, z.B. 23:12',
'ACP_PORTAL_EVENT_END_DAY' => 'End-Datum der Veranstaltung',
'ACP_PORTAL_EVENT_END_DAY_EXP' => 'Gebe das Datum ein, an dem die Veranstaltung endet. Das Datum muss in folgendem Format sein: TT-MM-JJJJ',
'ACP_PORTAL_EVENT_END_TIME' => 'End-Zeit der Veranstaltung',
'ACP_PORTAL_EVENT_END_TIME_EXP' => 'Gebe die Zeit ein, zu der die Veranstaltung endet. Die Zeit muss im 24 Stunden Forrmat sein, z.B. 23:12',
'ACP_PORTAL_EVENT_START_DATE' => 'Start-Datum der Veranstaltung',
'ACP_PORTAL_EVENT_START_DATE_EXP' => 'Gebe das Datum und Uhrzeit ein, zu der die Veranstaltung beginnt. Datum und Uhrzeit sollten in einem ähnlichen Format sein: TT.MM.JJJJ SS:MM',
'ACP_PORTAL_EVENT_END_DATE' => 'End-Datum der Veranstaltung',
'ACP_PORTAL_EVENT_END_DATE_EXP' => 'Gebe das Datum und Uhrzeit ein, zu der die Veranstaltung endet. Datum und Uhrzeit sollten in einem ähnlichen Format sein: TT.MM.JJJJ',
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'Das Ende der Veranstaltung muss nach dem Beginn der Veranstaltung liegen.',
'ACP_PORTAL_CALENDAR_PERMISSION' => 'Berechtigungen für die Veranstaltung',
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'Wähle die Gruppen aus, denen es erlaubt sein soll die Veranstaltung zu sehen. Falls alle Benutzer die Veranstaltung sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Clock
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Clock
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Custom
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Custom
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Donation
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Donation
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Forumlist
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Forumlist
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Friends
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Friends
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Latest Bots
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Latest Bots
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Latest Members
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Latest Members
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Leaders
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Leaders
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Link Us
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Link Us
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Links
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Links
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Main Menu
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Main Menu
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - News
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - News
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Poll
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Poll
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Random Member
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Random Member
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Recent Module
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Recent Module
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Search
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Search
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Statistics
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Statistics
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Stylechanger
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Stylechanger
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Topposters
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Topposters
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - User Menu
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - User Menu
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Welcome
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Welcome
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Who is online
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Who is online
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1
* @copyright (c) 2014 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
@@ -35,7 +35,6 @@ if (empty($lang) || !is_array($lang))
$lang = array_merge($lang, array(
// Portal Module
'ACP_PORTAL_MODULES' => 'Portal Module',
'ACP_PORTAL_MODULES_EXP' => 'Du kannst deine Portal Module hier verwalten. Falls du alle Module deaktivierst, dann deaktiviere bitte auch das Portal.',
'MODULE_POS_TOP' => 'Oben',
@@ -77,8 +76,6 @@ $lang = array_merge($lang, array(
'MODULE_IMAGE_ERROR' => 'Während dem Prüfen des Modul Bildes sind ein oder mehrere Fehler aufgetreten:',
// general
'ACP_PORTAL' => 'Portal',
'ACP_PORTAL_GENERAL_INFO' => 'Allgemeine Einstellungen',
'ACP_PORTAL_CONFIG_INFO' => 'Allgemeine Einstellungen',
'ACP_PORTAL_GENERAL_TITLE' => 'Portal Verwaltung',
'ACP_PORTAL_GENERAL_TITLE_EXP' => 'Danke, dass du dich für board3 Portal entschieden hast. Auf dieser Seite kannst du dein Portal verwalten. Diese Anzeige gibt dir einen schnellen Überblick über die verschiedenen Portal-Einstellungen.',
@@ -101,15 +98,8 @@ $lang = array_merge($lang, array(
'LINK_ADDED' => 'Der Link wurde erfolgreich eingetragen',
'LINK_UPDATED' => 'Der Link wurde erfolgreich geändert',
'LOG_PORTAL_LINK_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link hinzu gefügt: %s ',
'LOG_PORTAL_LINK_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link geändert: %s ',
'LOG_PORTAL_LINK_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Link gelöscht: %s ',
'LOG_PORTAL_EVENT_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin eingetragen: %s ',
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin geändert: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin gelöscht: %s ',
// Upload Module
'ACP_PORTAL_UPLOAD' => 'Modul hochladen',
'MODULE_UPLOAD' => 'Lade ein Modul hoch',
'MODULE_UPLOAD_EXP' => 'Wähle die ZIP-Datei des Moduls das du hochladen willst:',
'MODULE_UPLOAD_GO' => 'Hochladen',
@@ -130,9 +120,6 @@ $lang = array_merge($lang, array(
'PORTAL_BASIC_INSTALL' => 'Füge Basismodule hinzu',
'PORTAL_BASIC_UNINSTALL' => 'Entferne Module von Datenbank',
// Logs
'LOG_PORTAL_CONFIG' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; %s',
/**
* A copy of Handyman` s MOD version check, to view it on the gallery overview
*/
@@ -145,9 +132,4 @@ $lang = array_merge($lang, array(
'RELEASE_ANNOUNCEMENT' => 'Ankündigungsthema',
'UP_TO_DATE' => '%s ist aktuell',
'VERSION_CHECK' => 'MOD Version Check',
// Adding the permissions
'acl_a_manage_portal' => array('lang' => 'Kann Portal-Einstellungen ändern', 'cat' => 'misc'),
'acl_u_view_portal' => array('lang' => 'Kann das Portal sehen', 'cat' => 'misc'),
));

View File

@@ -0,0 +1,53 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'ACP_PORTAL_MODULES' => 'Portal Modules',
'ACP_PORTAL' => 'Portal',
'ACP_PORTAL_GENERAL_INFO' => 'General settings',
'ACP_PORTAL_UPLOAD' => 'Upload module',
// Portal logs
'LOG_PORTAL_LINK_ADDED' => '<strong>Altered Portal settings</strong><br />&raquo; Link added: %s ',
'LOG_PORTAL_LINK_UPDATED' => '<strong>Altered Portal settings</strong><br />&raquo; Link updated: %s ',
'LOG_PORTAL_LINK_REMOVED' => '<strong>Altered Portal settings</strong><br />&raquo; Link removed: %s ',
'LOG_PORTAL_EVENT_ADDED' => '<strong>Altered Portal settings</strong><br />&raquo; Event added: %s ',
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Altered Portal settings</strong><br />&raquo; Event updated: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Altered Portal settings</strong><br />&raquo; Event removed: %s ',
'LOG_PORTAL_CONFIG' => '<strong>Altered Portal settings</strong><br />&raquo; %s',
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Can alter Portal settings',
'ACL_U_VIEW_PORTAL' => 'Can view the Portal',
));

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Announcements
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Announcements
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Attachments
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Attachments
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Birthday List
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Birthday List
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Calendar
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Calendar
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
@@ -115,14 +115,10 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CALENDAR_START_INCORRECT' => 'The start time you entered was incorrect. Please follow the instructions carefully.',
'ACP_PORTAL_CALENDAR_END_INCORRECT' => 'The end time you entered was incorrect. Please follow the instructions carefully.',
'ACP_PORTAL_CALENDAR_EVENT_PAST' => 'The event start time needs to be in the future.',
'ACP_PORTAL_EVENT_START_DAY' => 'Event start date',
'ACP_PORTAL_EVENT_START_DAY_EXP' => 'Enter the date when the event starts. The date has to be in this format: DD-MM-YYYY',
'ACP_PORTAL_EVENT_START_TIME' => 'Event start time',
'ACP_PORTAL_EVENT_START_TIME_EXP' => 'Enter the time when the event starts. The time has to be in a 24 hour format, i.e. 23:12',
'ACP_PORTAL_EVENT_END_DAY' => 'Event end date',
'ACP_PORTAL_EVENT_END_DAY_EXP' => 'Enter the date when the event ends. The date has to be in this format: DD-MM-YYYY',
'ACP_PORTAL_EVENT_END_TIME' => 'Event end time',
'ACP_PORTAL_EVENT_END_TIME_EXP' => 'Enter the time when the event ends. The time has to be in a 24 hour format, i.e. 23:12',
'ACP_PORTAL_EVENT_START_DATE' => 'Event start date',
'ACP_PORTAL_EVENT_START_DATE_EXP' => 'Enter the date and time the event starts. The date has to be in a similar format: MM/DD/YYYY 3:00 PM',
'ACP_PORTAL_EVENT_END_DATE' => 'Event end date',
'ACP_PORTAL_EVENT_END_DATE_EXP' => 'Enter the date and time the event ends. The date has to be in a similar format: MM/DD/YYYY 3:00 PM',
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'The end of the event has to be after the start of the event.',
'ACP_PORTAL_CALENDAR_PERMISSION' => 'Event permissions',
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'Select the groups that should be authorized to view the event. If you want all users to be able to view the event, dont select anything.<br />Select/Deselect multiple groups by holding <samp>CTRL</samp> and clicking.',

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Clock
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Clock
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Custom
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Custom
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Donation
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Donation
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Forumlist
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Forumlist
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Friends
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Friends
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Latest Bots
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Latest Bots
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Latest Members
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Latest Members
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Leaders
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Leaders
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Link Us
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Link Us
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Links
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Links
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Main Menu
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Main Menu
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - News
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - News
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Poll
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Poll
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Random Member
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Random Member
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Recent
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.1 - Recent
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

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