1592 Commits

Author SHA1 Message Date
Marc Alexander
4996846126 Remove not needed file and update composer files 2023-03-19 09:58:15 +01:00
Marc Alexander
b5e680ef0f Move portal_weather.png to styles/all folder 2023-03-15 17:26:22 +01:00
Marc Alexander
140ac8761d Improve handling and language vars for module images 2023-03-15 17:16:47 +01:00
Marc Alexander
b634c3cad8 Fix display of list markers in side modules 2023-03-01 20:44:19 +01:00
Marc Alexander
dadf57fd55 Extend explanation of module reset and link to recommended fa icons 2023-02-28 21:07:10 +01:00
Marc Alexander
eaa878645b Link to wiki in readme 2023-02-28 21:01:22 +01:00
Marc Alexander
b76bdcab13 Change icons to use for modules 2023-02-28 20:54:14 +01:00
Marc Alexander
2d7eeae515 Add ext.php for enable check and bp icon 2023-02-28 20:52:35 +01:00
Marc Alexander
9a89bf3a1b Remove note about additional icons in custom styles 2023-02-28 20:52:04 +01:00
Marc Alexander
1b4006b9a3 Clean up whitespace 2023-02-28 20:51:47 +01:00
Marc Alexander
1c88afc176 Clean up language files 2023-02-20 21:13:10 +01:00
Marc Alexander
6854ff7407 Update build.xml to exlude not wanted directories/files 2023-02-20 21:07:29 +01:00
Marc Alexander
e0c9908a2b Update README 2023-02-20 21:04:53 +01:00
Marc Alexander
9ccf4b81e9 Improve module icons and update language for icons 2023-02-20 20:51:58 +01:00
Marc Alexander
ecc95254f1 Fix shifting of clock bottom parts during animation 2023-02-19 11:05:32 +01:00
Marc Alexander
812dfa0298 Add Kirk to list of developers and update fields 2023-02-14 20:53:20 +01:00
Marc Alexander
3002126d44 Add missing b3p-icon classes to html files 2023-02-14 20:49:16 +01:00
Marc Alexander
68cf9864c6 Add support for module icons in center column 2023-02-13 20:49:53 +01:00
Marc Alexander
286bd55424 Some more cleanup and add PHP 8.2 support 2023-02-13 20:39:50 +01:00
Marc Alexander
552ceb2e49 Tweak stylesheet settings and usee newer media syntax 2023-02-13 20:35:43 +01:00
Marc Alexander
807e06f8a6 Use twig syntax in modules html files 2023-02-13 20:34:16 +01:00
Marc Alexander
46a9e89db2 Update modules code with small fixes and improvements 2023-02-13 20:24:54 +01:00
Marc Alexander
ccd7e27410 Update language files, add de_x_sie, and clean up files 2023-02-13 20:15:34 +01:00
Marc Alexander
e34de96b5d Add include to random member module 2023-02-13 19:53:33 +01:00
Marc Alexander
2069837ffc Change ACP to use twig syntax 2023-02-13 19:43:31 +01:00
Marc Alexander
44358e503a Resolve warnings in PHPUnit tests due to deprecation 2023-02-13 17:11:32 +01:00
Marc Alexander
446b76dbbb Add missing data to users fixture 2023-02-08 20:20:27 +01:00
Marc Alexander
e7419198dd Ensure that global user is set in birthday list test 2023-02-07 21:35:04 +01:00
Marc Alexander
46e7d5c334 Change block_config and portal_config to twig style & update copyright 2023-02-07 21:00:56 +01:00
Marc Alexander
791fc8920b Change events to use twig syntax & be compatible with phpBB 3.3.9+ 2023-02-07 20:57:49 +01:00
Marc Alexander
6711688b73 Update composer dependencies, supported versions, and version check 2023-02-07 20:55:21 +01:00
Marc Alexander
9d9e0960c5 Start using Ubuntu 20.04 runners 2023-02-07 20:39:58 +01:00
Marc Alexander
68b243f4ff Update copyright blocks 2023-02-07 20:36:48 +01:00
Marc Alexander
0643475b20 Merge pull request #717 from marc1706/ticket/701
Add fontawesome support
2021-09-05 14:23:21 +02:00
Marc Alexander
71c66c4cdd [ticket/701] Add missing variables for fontawesome with portal on all pages
B3P-701
2021-09-05 10:16:10 +02:00
Marc Alexander
61f943a895 Merge pull request #719 from marc1706/ticket/718
[ticket/718] Use 3.3.x in phing builds
2021-09-04 18:07:07 +02:00
Marc Alexander
d2fba40472 [ticket/718] Use 3.3.x in phing builds
B3P-718
2021-09-04 17:39:57 +02:00
Marc Alexander
38ad62d4b7 [ticket/701] Some more clean up
B3P-701
2021-09-04 17:32:43 +02:00
Marc Alexander
5f77867c36 [ticket/701] Remove non-default style
B3P-701
2021-09-04 17:24:40 +02:00
Marc Alexander
2044fc8e72 [ticket/701] Update migrations file
B3P-701
2021-09-04 17:24:16 +02:00
Marc Alexander
8fdc620197 [ticket/701] Rename migrations file to v230_fa.php
B3P-701
2021-09-04 17:21:34 +02:00
Marc Alexander
38a8b4410f [ticket/701] Replace spaces with tabs
B3P-701
2021-09-04 17:15:35 +02:00
Marc Alexander
9f374290ad [ticket/701] Fix tests and move declarations to services file
B3P-701
2021-09-04 17:15:12 +02:00
Marc Alexander
bca0afa86d [ticket/701] Replaces spaces with tabs
B3P-701
2021-09-04 16:27:41 +02:00
MarkusWME
d0a74065c0 Add Font Awesome functionality 2021-09-04 12:17:53 +02:00
MarkusWME
158e3e6954 Update styles 2021-09-04 12:17:34 +02:00
MarkusWME
478766994b Add Mobbern3.1 support 2021-09-04 12:17:33 +02:00
Marc Alexander
46da9a8b47 Merge pull request #716 from marc1706/ticket/715
[ticket/715] Resolv build issues with GitHub Actions
2021-09-04 11:52:29 +02:00
Marc Alexander
6306d6a18b [ticket/715] Make expected error type depend on PHP version
B3P-715
2021-09-04 11:27:09 +02:00
Marc Alexander
ed54e3ef0c [ticket/715] Resolve issues with portal and tests on PHP 8.0
B3P-715
2021-09-04 11:09:52 +02:00
Marc Alexander
9eb415b79c [ticket/715] Remove epv from composer dependencies
B3P-715
2021-08-29 11:18:42 +02:00
Marc Alexander
d02e6c36c1 [ticket/715] Stop executable check and remove travis files
B3P-715
2021-08-29 11:10:55 +02:00
Marc Alexander
11326bce1a [ticket/715] Fix code sniffer and mssql complaints
B3P-715
2021-08-29 11:07:11 +02:00
Marc Alexander
d24316d809 [ticket/715] Resolve some more test issues
B3P-715
2021-08-29 09:39:57 +02:00
Marc Alexander
d8bb1c64a4 [ticket/715] Resolve code sniffer complaints
B3P-715
2021-08-28 08:36:22 +02:00
Marc Alexander
2c89b28a53 [ticket/715] Create composer.json on platform PHP 7.1
B3P-715
2021-08-28 08:29:40 +02:00
Marc Alexander
99ad0f4f16 [ticket/715] Update composer to 1.10.22
B3P-715
2021-08-28 08:29:01 +02:00
Marc Alexander
ec021a72ca Merge pull request #693 from marc1706/ticket/690
[ticket/690] Apply Kirk's changes and fix pagination
2021-08-27 22:37:30 +02:00
Marc Alexander
5f838e48a1 [ticket/690] Fix issues with composer.json entries
B3P-690
2021-08-27 22:35:57 +02:00
Marc Alexander
e31522f310 [ticket/690] Add github actions workflows file
B3P-690
2021-08-27 22:35:50 +02:00
Marc Alexander
abf8a7bfcf [ticket/690] Make tests compatible with latest version of phpunit & phpBB
B3P-690
2021-08-27 22:35:42 +02:00
Marc Alexander
7ee3bd1727 [ticket/690] Adjust setUp() declaration and classes
B3P-690
2021-08-27 22:35:34 +02:00
Marc Alexander
5b62c517e5 [ticket/690] Update text shortener and other dependencies
B3P-690
2021-08-27 22:35:19 +02:00
Marc Alexander
ea527c580c [ticket/690] Add Kirk's changes from 3.3.x version
B3P-690
2021-08-27 21:20:47 +02:00
Marc Alexander
12acc2191d [master] Fix tests with missing global 2017-11-05 11:38:10 +01:00
Marc Alexander
c1227a9f2e Merge branch '2.1.x' 2017-11-05 11:22:39 +01:00
Marc Alexander
fa97aac0ab [2.1.x] Fix double semi-colon 2017-11-05 11:22:17 +01:00
Marc Alexander
cc21416254 Merge branch '2.1.x' 2017-11-05 11:21:49 +01:00
Marc Alexander
772b6449c0 Merge pull request #707 from marc1706/ticket/704
[ticket/704] Checkout 3.1.x in build.xml
2017-11-04 16:48:02 +01:00
Marc Alexander
d2a1655832 [ticket/704] Checkout 3.1.x in build.xml
B3P-704
2017-11-04 16:46:21 +01:00
Marc Alexander
b1f14fd670 Merge pull request #706 from marc1706/ticket/704
[ticket/704] Fix call to phploc.phar
2017-11-04 16:25:17 +01:00
Marc Alexander
0bbaba2c3e [ticket/704] Fix call to phploc.phar
B3P-704
2017-11-04 16:24:21 +01:00
Marc Alexander
3f98302449 Merge pull request #705 from marc1706/ticket/704
[ticket/704] Update .travis.yml for travis changes
2017-11-04 16:09:28 +01:00
Marc Alexander
5857effadd [ticket/704] Add missing phpbb_dispatcher definition for tests
B3P-704
2017-11-04 15:56:05 +01:00
Marc Alexander
52b1880593 [ticket/704] Update .travis.yml for travis changes
B3P-704
2017-11-04 15:45:54 +01:00
Marc Alexander
049a499843 Merge pull request #687 from marc1706/ticket/686
[ticket/686] Add possibility to use UI tests
2017-11-04 15:12:35 +01:00
Marc Alexander
d9e64e978c Merge pull request #699 from marc1706/ticket/696
[ticket/696] Update text shortener to latest version
2017-03-25 22:02:36 +01:00
Marc Alexander
bf54579ffa [ticket/696] Update text shortener to latest version
B3P-696
2017-03-25 14:52:47 +01:00
Marc Alexander
e6bfe744d8 Merge pull request #695 from saint-hh/master
Poll icon in all edited topics (news, announcements blocks) with phpBB 3.2
2017-01-30 08:22:48 +01:00
saint-hh
593b11f7a5 Fixing lists / missing bullet points
http://www.board3.de/viewtopic.php?p=37226#p37226
2017-01-29 22:21:09 +01:00
Marc Alexander
93ea98f744 Revert changes to use old text shortener
The old text shortener is not compatible with phpBB 3.2.
2017-01-29 16:55:49 +01:00
saint-hh
af78256355 Style changes phpBB 3.2 2017-01-29 12:50:54 +01:00
saint-hh
b73b968d37 Style changes phpBB 3.2 2017-01-29 12:48:53 +01:00
saint-hh
998fd77ee4 Style changes phpBB 3.2 cleanup 2017-01-29 12:45:20 +01:00
saint-hh
373b21121b Style changes for phpBB 3.2 2017-01-28 19:30:12 +01:00
saint-hh
6cae1e4b75 Style changes - pagination buttons 2017-01-28 19:25:41 +01:00
saint-hh
b9a0ef7cdb Add files via upload 2017-01-26 22:21:26 +01:00
Marc Alexander
3853fde6ed Merge pull request #692 from marc1706/ticket/690
[ticket/690] Change .yml files to use single quotes for arguments
2017-01-15 12:54:44 +01:00
Marc Alexander
719d0e9cfb [ticket/690] Use utf8 encoding in language files
B3P-690
2017-01-15 12:22:07 +01:00
Marc Alexander
7929bc4da4 [ticket/690] Replace windows with unix line endings
B3P-690
2017-01-15 12:15:54 +01:00
Marc Alexander
e6a4c8758a [ticket/690] Checkout 3.2.x in master & fix .yml syntax for symfony
B3P-690
2017-01-15 12:12:56 +01:00
Marc Alexander
070d25ca4b Merge pull request #691 from marc1706/ticket/690
[ticket/690] Update test for phpBB 3.2.0 and PHP 7.1 compatibility
2017-01-14 08:25:45 +01:00
Marc Alexander
5bbbf25fe8 Make sure variables are casted to numeric values 2017-01-14 08:09:24 +01:00
Marc Alexander
391cffae02 Fix invalid includes 2017-01-13 23:27:22 +01:00
Marc Alexander
2d41386fd0 Remove 3.1 text shortener 2017-01-13 23:16:51 +01:00
Marc Alexander
301e7a1b1c [ticket/690] Add PHP 7.1 to test environments
B3P-690
2017-01-08 22:33:50 +01:00
Marc Alexander
49a001f527 [ticket/690] Run tests against phpBB 3.2.x branch
B3P-690
2017-01-08 22:33:16 +01:00
Marc Alexander
7f36382cc6 [ticket/690] Update test for phpBB 3.2.0 and PHP 7.1 compatibility
B3P-690
2017-01-08 22:09:21 +01:00
Marc Alexander
acea787547 [ticket/686] Add possibility to use UI tests
B3P-686
2016-07-31 20:12:18 +02:00
Marc Alexander
8101fd3ede Merge pull request #681 from marc1706/ticket/678
[ticket/678] Fix typo in German language file
2016-04-23 22:56:12 +02:00
Marc Alexander
2ef617da09 Merge pull request #680 from marc1706/ticket/679
[ticket/679] Add horizontal line to poll module
2016-04-23 22:04:57 +02:00
Marc Alexander
33d41ac99d [ticket/678] Fix typo in German language file
B3P-678
2016-04-23 21:46:24 +02:00
Marc Alexander
5bab8a5fc3 [ticket/679] Add horizontal line to poll module
B3P-679
2016-04-23 21:44:59 +02:00
Marc Alexander
2b6c85e2cf Merge branch 'ticket/676' 2016-04-23 15:39:37 +02:00
Marc Alexander
122d79dc80 [ticket/676] Create directory instead of using touch
B3P-676
2016-04-23 15:38:51 +02:00
Marc Alexander
fc8db41bf8 [ticket/676] Make sure test cache dir exists and is writable
B3P-676
2016-04-23 15:12:18 +02:00
Marc Alexander
708873506b Merge pull request #677 from marc1706/ticket/676
[ticket/676] Set cache permissions recursively
2016-04-23 13:34:13 +02:00
Marc Alexander
54754f1d9d [ticket/676] Set cache permissions recursively
[ci skip]

B3P-676
2016-04-23 13:33:01 +02:00
Marc Alexander
94180f0e2d Merge pull request #675 from marc1706/ticket/674
[ticket/674] Define textformatter factory correctly
2016-04-23 13:15:40 +02:00
Marc Alexander
daf730ab12 [ticket/674] Define textformatter factory correctly
B3P-674
2016-04-23 12:58:55 +02:00
Marc Alexander
2a5ae2d485 Merge branch '2.1.x' 2016-04-23 12:37:55 +02:00
Marc Alexander
72f7894bf9 Merge pull request #672 from marc1706/ticket/656
[ticket/656] Reduce margin of topiclist in responsive portal all
2016-04-23 11:24:13 +02:00
Marc Alexander
84359510c5 [ticket/656] Reduce margin of topiclist in responsive portal all
B3P-656
2016-04-23 11:05:08 +02:00
Marc Alexander
2338089b51 Merge pull request #668 from alhitary/2.1.x
Arabic Translation Board3-Portal
2016-02-13 09:41:16 +01:00
Marc Alexander
a0bc7dabe4 Merge branch '2.1.x' 2016-01-07 12:25:01 +01:00
Marc Alexander
d173fbaff7 Merge pull request #671 from marc1706/ticket/669-master
[ticket/669] Purge cache if necessary in functional tests
2016-01-07 12:25:01 +01:00
Marc Alexander
ccf901dfbf Merge pull request #670 from marc1706/ticket/669
[ticket/669] Purge cache if necessary in functional tests
2016-01-07 12:24:56 +01:00
Marc Alexander
306101fee9 Merge branch 'ticket/669' into ticket/669-master
Conflicts:
	tests/functional/portal_announcement_test.php
2016-01-07 11:54:34 +01:00
Marc Alexander
0cc4deb495 [ticket/669] Purge cache if necessary in functional tests
B3P-669
2016-01-07 11:52:19 +01:00
Basil Taha Alhitary
b018d51c11 Update info_acp_portal.php 2015-12-29 22:12:15 +03:00
Basil Taha Alhitary
e2ddf73757 Update permissions_portal.php 2015-12-29 22:10:36 +03:00
Basil Taha Alhitary
6284f76c43 Create permissions_portal.php 2015-12-29 22:07:03 +03:00
Basil Taha Alhitary
3540961812 Create portal_poll_module.php 2015-12-29 21:59:11 +03:00
Basil Taha Alhitary
9c19cd17b3 Create portal_whois_online_module.php 2015-12-29 21:36:56 +03:00
Basil Taha Alhitary
d9d00c0652 Create portal_welcome_module.php 2015-12-29 21:36:36 +03:00
Basil Taha Alhitary
8589f28536 Create portal_user_menu_module.php 2015-12-29 21:36:18 +03:00
Basil Taha Alhitary
d49d2b2d96 Create portal_topposters_module.php 2015-12-29 21:35:53 +03:00
Basil Taha Alhitary
6b7b261461 Create portal_stylechanger_module.php 2015-12-29 21:35:29 +03:00
Basil Taha Alhitary
b19cb5accb Create portal_statistics_module.php 2015-12-29 21:33:15 +03:00
Basil Taha Alhitary
f1f228358f Create portal_search_module.php 2015-12-29 21:32:56 +03:00
Basil Taha Alhitary
fa503fc5ad Create portal_recent_module.php 2015-12-29 21:32:34 +03:00
Basil Taha Alhitary
3e2231a8e7 Create portal_random_member_module.php 2015-12-29 21:32:07 +03:00
Basil Taha Alhitary
ec8782b3b5 Create portal_news_module.php 2015-12-29 21:31:32 +03:00
Basil Taha Alhitary
f35af8fe0c Create portal_main_menu_module.php 2015-12-29 21:31:06 +03:00
Basil Taha Alhitary
6207e24081 Create portal_links_module.php 2015-12-29 21:30:40 +03:00
Basil Taha Alhitary
fd5fb1ab33 Create portal_link_us_module.php 2015-12-29 21:30:15 +03:00
Basil Taha Alhitary
f969e375bc Create portal_leaders_module.php 2015-12-29 21:29:55 +03:00
Basil Taha Alhitary
f6f376a23c Create portal_latest_members_module.php 2015-12-29 21:29:28 +03:00
Basil Taha Alhitary
80d4353e43 Create portal_latest_bots_module.php 2015-12-29 21:28:01 +03:00
Basil Taha Alhitary
74f2860521 Create portal_friends_module.php 2015-12-29 21:27:41 +03:00
Basil Taha Alhitary
a21358748b Create portal_forumlist_module.php 2015-12-29 21:27:22 +03:00
Basil Taha Alhitary
716ab2cb95 Create portal_donation_module.php 2015-12-29 21:26:58 +03:00
Basil Taha Alhitary
8450b49306 Create portal_custom_module.php 2015-12-29 21:26:32 +03:00
Basil Taha Alhitary
dc6df43e8f Create portal_clock_module.php 2015-12-29 19:56:19 +03:00
Basil Taha Alhitary
3cf8cf24f7 Create portal_calendar_module.php 2015-12-29 19:56:02 +03:00
Basil Taha Alhitary
d1647a1cb7 Create portal_birthday_list_module.php 2015-12-29 19:55:38 +03:00
Basil Taha Alhitary
674dad9aa9 Create portal_attachments_module.php 2015-12-29 19:55:03 +03:00
Basil Taha Alhitary
abff50d9b6 Create portal_announcements_module.php 2015-12-29 19:53:44 +03:00
Basil Taha Alhitary
2838b58151 Create portal_acp.php 2015-12-29 19:46:26 +03:00
Basil Taha Alhitary
9e4b3143df Create portal.php 2015-12-29 19:45:08 +03:00
Basil Taha Alhitary
5aaa3a8297 Create info_acp_portal.php 2015-12-29 19:44:45 +03:00
Marc Alexander
2b781defac Merge branch '2.1.x' 2015-12-10 12:55:11 +01:00
Marc Alexander
7d4b3c52cd Merge pull request #667 from marc1706/ticket/666
[ticket/666] Reduce caching time of post related queries
2015-12-10 12:53:45 +01:00
Marc Alexander
278765ed30 [ticket/666] Reduce caching time of post related queries
B3P-666
2015-12-10 10:37:04 +01:00
Marc Alexander
c0895aa638 Merge pull request #663 from marc1706/ticket/661
[ticket/661] Remove PHP7 from allowed failures
2015-11-11 11:50:29 +01:00
Marc Alexander
0ac73f5b0e [ticket/661] Remove PHP7 from allowed failures
B3P-661
2015-11-11 10:18:02 +01:00
Marc Alexander
0c22c79045 Merge pull request #659 from marc1706/ticket/658
[ticket/658] Remove subsilver2 from master branch
2015-11-11 10:16:19 +01:00
Marc Alexander
1df94beaf4 Merge pull request #662 from marc1706/ticket/660
[ticket/660] Update tests for recent changes in 3.2.x
2015-11-11 10:08:21 +01:00
Marc Alexander
6ac3c6caf3 [ticket/660] Correctly pass $NOTESTS to ext-sniff and icc check
B3P-660
2015-11-11 09:48:06 +01:00
Marc Alexander
bdd52ad3c0 [ticket/660] Fix tests after recent changes to phpBB
B3P-660
2015-11-11 09:36:56 +01:00
Marc Alexander
1641e1fdc5 [ticket/660] Update .travis.yml
B3P-660
2015-11-11 09:21:48 +01:00
Marc Alexander
1a2f4d9931 [ticket/658] Remove subsilver2 from master branch
B3P-658
2015-11-11 08:58:19 +01:00
Marc Alexander
8388533630 Merge branch '2.1.x' 2015-11-11 08:55:08 +01:00
Marc Alexander
a152da8dbd Merge pull request #655 from Galixte/patch-1
Minor update of FRENCH language for Board3 Portal extension
2015-10-16 15:09:46 +02:00
Raphaël M.
096b2bb292 Minor update of FRENCH language for Board3 Portal extension 2015-09-20 02:55:42 +02:00
Marc Alexander
6b179d204b Merge pull request #653 from marc1706/ticket/652
[ticket/652] Fix test failures caused by latest changes to phpBB's master
2015-09-14 18:38:12 +02:00
Marc Alexander
e4e5141978 [ticket/652] Fix test failures caused by latest changes to phpBB's master
B3P-652
2015-09-14 17:53:08 +02:00
Marc Alexander
2799ba6762 Merge branch '2.1.x' 2015-09-14 13:13:55 +02:00
Marc Alexander
b93ebc781e Merge pull request #651 from marc1706/ticket/648
[ticket/648] Add missing brackets to donations HTML files
2015-09-14 13:12:43 +02:00
Marc Alexander
d7f6d265fa [ticket/648] Add missing brackets to donations HTML files
B3P-648
2015-09-14 12:57:23 +02:00
Marc Alexander
74267a0f9d Merge pull request #650 from marc1706/ticket/649
[ticket/649] Use phpbb_get_user_rank() instead of deprecated function
2015-09-13 23:37:25 +02:00
Marc Alexander
bf8d10d3fe [ticket/649] Include correct language file for acp tests
B3P-649
2015-09-13 23:22:15 +02:00
Marc Alexander
8f99c070a8 [ticket/649] Fix test for getSubscribedEvents()
B3P-649
2015-09-13 23:12:27 +02:00
Marc Alexander
94b93c34e6 [ticket/649] Use correct event name and make method public
B3P-649
2015-09-13 23:07:01 +02:00
Marc Alexander
12781a6fc8 [ticket/649] Properly load language for permission settings in ACP
B3P-649
2015-09-13 23:03:10 +02:00
Marc Alexander
0845725ded [ticket/649] Use phpbb_get_user_rank() instead of deprecated function
B3P-649
2015-09-13 18:18:48 +02:00
Marc Alexander
2e947cd66f Merge branch '2.1.x' 2015-08-04 15:28:30 +02:00
Marc Alexander
6971392003 Merge pull request #647 from marc1706/ticket/644
[ticket/644] Reduce caching time on portal page
2015-08-04 15:05:56 +02:00
Marc Alexander
71e51ee730 [ticket/644] Update release date in composer.json
B3P-644
2015-08-04 14:49:22 +02:00
Marc Alexander
a991cb1359 [ticket/644] Reduce caching time on portal page
B3P-644
2015-08-04 14:48:31 +02:00
Marc Alexander
f3dd0c37c1 Merge pull request #643 from Mauron/patch-1
Italian translation update for portal_acp.php
2015-07-23 12:07:42 +02:00
Mauron
0989a7a058 Italian translation update for portal_acp.php
Some lines have been added; moreover, the ' character has been replaced by ’.
2015-07-23 11:25:25 +02:00
Marc Alexander
0e80fb3930 Merge branch '2.1.x' 2015-07-22 15:26:25 +02:00
Marc Alexander
2535ca5ebe Merge pull request #642 from marc1706/ticket/641
[ticket/641] Correctly align portal columns with css
2015-07-22 15:22:37 +02:00
Marc Alexander
8e4380a170 [ticket/641] Use correct aria roles for elements
B3P-641
2015-07-22 14:51:29 +02:00
Marc Alexander
3509044e03 [ticket/641] Correctly align portal columns in RTL languages
B3P-641
2015-07-21 14:48:32 +02:00
Marc Alexander
c61971e7eb [ticket/641] Use CSS for aligning portal columns
B3P-641
2015-07-21 14:48:07 +02:00
Marc Alexander
a1748116f6 Merge pull request #640 from marc1706/ticket/639
[ticket/639] Fix slightly incorrect alignment in portal all view
2015-06-28 19:48:27 +02:00
Marc Alexander
1bb9381027 [ticket/639] Fix slightly incorrect alignment in portal all view
B3P-639
2015-06-28 19:30:26 +02:00
Marc Alexander
7e335a660b [master] Fix tests for master branch 2015-06-24 17:09:25 +02:00
Marc Alexander
0761948012 Merge branch '2.1.x'
Conflicts:
	tests/unit/event/listener_test.php
2015-06-24 16:10:22 +02:00
Marc Alexander
281aa4fcc7 Merge pull request #637 from marc1706/ticket/634
[ticket/634] Move get_sub_taged_string to fetch_posts
2015-06-23 19:53:28 +02:00
Marc Alexander
f82794df11 [ticket/634] Add tests for birthday_list and improve modules_helper_test
B3P-634
2015-06-23 17:56:54 +02:00
Marc Alexander
c3297982f7 [ticket/634] Remove unused sql_table_exists() function
B3P-634
2015-06-23 16:32:55 +02:00
Marc Alexander
668040b48e [ticket/634] Move get_sub_taged_string to fetch_posts
B3P-634
2015-06-23 16:02:08 +02:00
Marc Alexander
060319d2ea Merge pull request #636 from marc1706/ticket/634
[ticket/634] Increase test coverage
2015-06-23 12:50:15 +02:00
Marc Alexander
1eb4dc0e8e [ticket/634] Assert that events row is empty
B3P-634
2015-06-23 12:29:33 +02:00
Marc Alexander
66a5d95ed9 [ticket/634] Improve test coverage and fix coding issues
B3P-634
2015-06-23 12:15:38 +02:00
Marc Alexander
0cc4b4ea0a [ticket/634] Add tests for clock module and improve tests for calendar
B3P-634
2015-06-23 00:48:52 +02:00
Marc Alexander
2b65156d47 [ticket/634] Add more tests
B3P-634
2015-06-22 21:18:32 +02:00
Marc Alexander
1967e94f64 Merge pull request #635 from marc1706/ticket/634
[ticket/634] Increase code coverage
2015-06-22 18:16:04 +02:00
Marc Alexander
98aee57309 [ticket/634] Add tests for welcome module
B3P-634
2015-06-22 17:50:23 +02:00
Marc Alexander
b805ce2e5f [ticket/634] Increase test coverage of acp module
B3P-634
2015-06-22 16:59:14 +02:00
Marc Alexander
cba13d7a7d Merge pull request #633 from marc1706/ticket/632
[ticket/632] Use different test_config for 2.2.x builds [ci skip]
2015-06-22 12:07:22 +02:00
Marc Alexander
c549ea4f1d [ticket/632] Use different test_config for 2.2.x builds [ci skip]
B3P-632
2015-06-22 11:59:12 +02:00
Marc Alexander
c8a36b0c36 Merge branch '2.1.x' 2015-06-22 11:23:47 +02:00
Marc Alexander
0ea94ae9c8 Merge pull request #631 from marc1706/ticket/628
[ticket/628] Properly parse build number
2015-06-22 10:25:51 +02:00
Marc Alexander
5be701a09a [ticket/628] Properly parse build number
B3P-628
2015-06-22 10:25:21 +02:00
Marc Alexander
b3adcbe97d Merge pull request #630 from marc1706/ticket/628
[ticket/628] Correctly pass version.override [ci skip]
2015-06-21 23:44:00 +02:00
Marc Alexander
5e7cb9b63f [ticket/628] Correctly pass version.override [ci skip]
B3P-628
2015-06-21 23:43:12 +02:00
Marc Alexander
8755e12b53 Merge pull request #629 from marc1706/ticket/628
[ticket/628] Name portal builds based on git commit ID [ci skip]
2015-06-21 23:31:20 +02:00
Marc Alexander
863933cc56 [ticket/628] Name portal builds based on git commit ID [ci skip]
B3P-628
2015-06-21 23:30:47 +02:00
Marc Alexander
c3d71b992f Merge branch '2.1.x' 2015-06-21 23:01:45 +02:00
Marc Alexander
1714f1fb33 Merge pull request #627 from marc1706/ticket/626
[ticket/626] Correctly resize portal on all pages again
2015-06-21 21:45:54 +02:00
Marc Alexander
c0841d17b3 [ticket/626] Correctly resize portal on all pages again
B3P-626
2015-06-21 21:39:00 +02:00
Marc Alexander
7cf857fd93 Merge pull request #625 from marc1706/ticket/624
[ticket/624] Display modules on all pages if column disabled in portal
2015-06-21 21:37:01 +02:00
Marc Alexander
dc5638ef55 [ticket/624] Display modules on all pages if column disabled in portal
B3P-624
2015-06-21 20:31:03 +02:00
Marc Alexander
1ce0d2d535 Merge branch '2.1.x' 2015-06-21 13:26:04 +02:00
Marc Alexander
6a5c79787d Merge pull request #623 from marc1706/ticket/622
[ticket/622] Return css settings to initial prosilver values in portal_all
2015-06-21 12:32:57 +02:00
Marc Alexander
511f7571c2 Merge pull request #621 from marc1706/ticket/550
[ticket/550] Update module_auth upon update to 2.1.0
2015-06-21 12:15:51 +02:00
Marc Alexander
f26b019a44 [ticket/622] Further improve responsiveness of forumlist
B3P-622
2015-06-21 12:14:06 +02:00
Marc Alexander
d2012e1712 [ticket/622] Return css settings to initial prosilver values in portal_all
B3P-622
2015-06-21 12:06:35 +02:00
Marc Alexander
a9a4e9af63 [ticket/550] Update module_auth upon update to 2.1.0
B3P-550
2015-06-21 12:00:00 +02:00
Marc Alexander
ba64d8aef6 Merge branch '2.1.x' 2015-06-20 19:44:23 +02:00
Marc Alexander
fe1ebd8299 Merge pull request #620 from marc1706/ticket/619
[ticket/619] Fix wrong overflow in compact center blocks
2015-06-20 19:43:25 +02:00
Marc Alexander
a15acd0382 [ticket/619] Fix wrong overflow in compact center blocks
B3P-619
2015-06-20 19:42:11 +02:00
Marc Alexander
1007dac3cb Merge branch '2.1.x' 2015-06-20 15:05:19 +02:00
Marc Alexander
64facf06d0 Merge pull request #618 from marc1706/ticket/552
[ticket/552] Correctly create path to module images
2015-06-20 15:04:39 +02:00
Marc Alexander
83a2d7d816 [ticket/552] Correctly create path to module images
B3P-552
2015-06-20 14:42:00 +02:00
Marc Alexander
c76ba45e77 Merge pull request #617 from marc1706/ticket/616
[ticket/616] Update composer.json and composer.lock
2015-06-19 14:57:54 +02:00
Marc Alexander
4a1c82b140 [ticket/616] Update composer.json and composer.lock
B3P-616
2015-06-19 14:29:36 +02:00
Marc Alexander
46d22c53ea Merge pull request #615 from marc1706/ticket/614
[ticket/614] Select correct role ID for hidden forum
2015-06-19 14:10:14 +02:00
Marc Alexander
d819efc34b [ticket/614] Select correct role ID for hidden forum
B3P-614
2015-06-19 13:50:00 +02:00
Marc Alexander
805147a0f6 Merge branch '2.1.x' 2015-06-19 10:56:23 +02:00
Marc Alexander
7647af3673 Merge pull request #613 from marc1706/ticket/605
[ticket/605] Fix incorrect path to config [ci skip]
2015-06-19 10:55:42 +02:00
Marc Alexander
2140e03bd9 [ticket/605] Fix incorrect path to config [ci skip]
B3P-605
2015-06-19 10:55:03 +02:00
Marc Alexander
7814b373b4 Merge branch '2.1.x' 2015-06-19 10:50:11 +02:00
Marc Alexander
4183b631f3 Merge pull request #612 from marc1706/ticket/611
[ticket/611] Move paypal image to styles/all folder
2015-06-19 10:38:43 +02:00
Marc Alexander
77e03d27bd [ticket/611] Move paypal image to styles/all folder
B3P-611
2015-06-19 10:16:00 +02:00
Marc Alexander
01a44515ce Merge branch '2.1.x' 2015-06-16 21:01:32 +02:00
Marc Alexander
4697a1fbf5 Merge pull request #610 from marc1706/ticket/582
[ticket/582] Increase space for last post info [ci skip]

Conflicts:
	styles/prosilver/theme/portal.css
2015-06-16 21:01:07 +02:00
Marc Alexander
50dcce6c59 [ticket/582] Increase space for last post info [ci skip]
B3P-582
2015-06-16 20:58:26 +02:00
Marc Alexander
9fef51e3e9 Merge pull request #609 from marc1706/ticket/582
[ticket/582] Improve responsiveness for prosilver SE
2015-06-16 20:57:35 +02:00
Marc Alexander
add30ed905 [ticket/582] Increase space for last post info
B3P-582
2015-06-16 20:49:03 +02:00
Marc Alexander
a1a6220e47 [ticket/582] Remove redundant CSS
B3P-582
2015-06-16 20:34:35 +02:00
Marc Alexander
a140f8ecc1 [ticket/582] Improve responsiveness for prosilver SE
B3P-582
2015-06-16 20:32:58 +02:00
Marc Alexander
57f4a56727 Merge pull request #608 from marc1706/ticket/605
[ticket/605] Fix incorrect path to config [ci skip]
2015-06-16 17:18:03 +02:00
Marc Alexander
5a19a3d4db [ticket/605] Fix incorrect path to config [ci skip]
B3P-605
2015-06-16 17:16:52 +02:00
Marc Alexander
735e4f5297 Merge pull request #607 from marc1706/ticket/605
[ticket/605] Revert changes to chmod and change copy path [ci skip]
2015-06-16 17:00:55 +02:00
Marc Alexander
47cfa00f0e [ticket/605] Revert changes to chmod and change copy path [ci skip]
B3P-605
2015-06-16 16:59:53 +02:00
Marc Alexander
3821609831 Merge pull request #606 from marc1706/ticket/605
[ticket/605] Recursively chmod cache directory
2015-06-16 16:11:28 +02:00
Marc Alexander
2944dbf057 [ticket/605] Recursively chmod cache directory
B3P-605
2015-06-16 14:43:59 +02:00
Marc Alexander
e6fd931b39 Merge branch '2.1.x' 2015-06-16 10:48:50 +02:00
Marc Alexander
8a08e80368 Merge pull request #604 from marc1706/ticket/603
[ticket/603] Correctly exclude files from phploc report
2015-06-16 00:12:46 +02:00
Marc Alexander
3bf91b97f1 [ticket/603] Correctly exclude files from phploc report
B3P-603
2015-06-16 00:12:06 +02:00
Marc Alexander
d0d69befa4 Merge pull request #602 from marc1706/ticket/601
[ticket/601] Clone phpBB's master branch for master branch
2015-06-15 23:55:00 +02:00
Marc Alexander
be7b9e23d3 [ticket/601] Clone phpBB's master branch for master branch
B3P-601
2015-06-15 23:54:03 +02:00
Marc Alexander
72f6db8577 Merge branch '2.1.x' 2015-06-15 23:17:06 +02:00
Marc Alexander
ba921a8eae Merge pull request #600 from marc1706/ticket/597
[ticket/597] Update composer.lock [ci skip]
2015-06-15 23:16:12 +02:00
Marc Alexander
d72f1c0788 [ticket/597] Update composer.lock [ci skip]
B3P-597
2015-06-15 23:15:32 +02:00
Marc Alexander
36ef4dff01 Merge pull request #598 from marc1706/ticket/597
[ticket/597] Update composer.lock and composer.phar
2015-06-15 00:32:17 +02:00
Marc Alexander
b8981f54fa Merge pull request #599 from marc1706/ticket/583
[ticket/583] Correctly show clock in legacy browsers
2015-06-15 00:19:34 +02:00
Marc Alexander
b276309c2c [ticket/597] Update composer.lock and composer.phar
B3P-597
2015-06-15 00:03:58 +02:00
Marc Alexander
7af7268440 [ticket/583] Correctly show clock in legacy browsers
B3P-583
2015-06-14 23:39:20 +02:00
Marc Alexander
6f0dcb6699 Merge pull request #596 from marc1706/ticket/592
[ticket/592] Use proper relative path for phploc
2015-06-14 14:14:47 +02:00
Marc Alexander
51e88a7c56 [ticket/592] Use proper relative path for phploc
B3P-592
2015-06-14 14:14:06 +02:00
Marc Alexander
ea053a251d Merge pull request #595 from marc1706/ticket/592
[ticket/592] Do not run phploc on complete git repository
2015-06-14 14:12:16 +02:00
Marc Alexander
b8cbeb5b01 [ticket/592] Do not run phploc on complete git repository
B3P-592
2015-06-14 14:11:39 +02:00
Marc Alexander
b734d1f3fb Merge pull request #594 from marc1706/ticket/592
[ticket/592] Correctly check if already setup inside phpBB
2015-06-14 12:44:02 +02:00
Marc Alexander
d6c8538c13 [ticket/592] Correctly check if already setup inside phpBB
B3P-592
2015-06-14 12:43:08 +02:00
Marc Alexander
c47b7f5cef Merge pull request #593 from marc1706/ticket/592
[ticket/592] Run phploc on jenkins build
2015-06-14 12:34:25 +02:00
Marc Alexander
7f8d8ce50a [ticket/592] Run phploc on jenkins build
B3P-592
2015-06-14 12:33:25 +02:00
Marc Alexander
f64825e730 Merge branch '2.1.x'
Conflicts:
	tests/unit/functions/version_check_test.php
2015-06-13 18:20:43 +02:00
Marc Alexander
5aef24cb98 [ticket/584] Use correct repository for checkout
B3P-584
2015-06-13 18:19:15 +02:00
Marc Alexander
06da0228a6 Merge pull request #591 from marc1706/ticket/584
[ticket/584] Check for file instead of directory
2015-06-13 18:13:08 +02:00
Marc Alexander
252a91231f [ticket/584] Check for file instead of directory
B3P-584
2015-06-13 17:40:31 +02:00
Marc Alexander
9d1cbc0063 Merge pull request #590 from marc1706/ticket/584
[ticket/584] Make sure phpunit is available during build
2015-06-13 17:36:54 +02:00
Marc Alexander
ec68169445 [ticket/584] Make sure phpunit is available during build
B3P-584
2015-06-13 17:18:58 +02:00
Marc Alexander
2e067f8de5 Merge pull request #589 from marc1706/ticket/588
[ticket/588] Fix code sniffer issues in portal files [ci skip]
2015-06-13 16:19:47 +02:00
Marc Alexander
2c633fe567 [ticket/588] Fix code sniffer issues in portal files [ci skip]
B3P-588
2015-06-13 16:18:21 +02:00
Marc Alexander
adfdc0c817 Merge pull request #587 from marc1706/ticket/584
[ticket/584] Allow building with test environment on Jenkins
2015-06-13 15:35:15 +02:00
Marc Alexander
5e6c7ac4b6 [ticket/584] Properly set up whitelist filtering in phunit.xml.dist
B3P-584
2015-06-13 12:31:26 +02:00
Marc Alexander
81d08cbef1 [ticket/584] Create phpBB setup
B3P-584
2015-06-13 11:57:04 +02:00
Marc Alexander
053a31fef5 Merge pull request #586 from marc1706/ticket/585
[ticket/585] Use up-to-date images in README.md
2015-06-11 15:36:19 +02:00
Marc Alexander
4df5702eff [ticket/585] Use up-to-date images in README.md
B3P-585
2015-06-11 15:08:35 +02:00
Marc Alexander
2afa1c14c9 Merge pull request #580 from marc1706/ticket/577
[ticket/577] Use phpBB's extension version check instead of B3P version
2015-06-07 00:05:01 +02:00
Marc Alexander
2b05a550c5 [ticket/577] Fix tests
B3P-577
2015-06-06 23:46:05 +02:00
Marc Alexander
a927aae498 [ticket/577] Use phpBB's extension version check instead of B3P version
B3P-577
2015-06-06 23:38:17 +02:00
Marc Alexander
426af6f844 Merge pull request #579 from marc1706/ticket/578
[ticket/578] Correctly assign classes to elements upon deleting/moving modules
2015-06-06 23:03:20 +02:00
Marc Alexander
24c7950dcb [ticket/578] Correctly align right and left columns
This also fixes responsiveness in RTL languages.

B3P-578
2015-06-06 22:44:47 +02:00
Marc Alexander
b143c5f525 [ticket/578] Correctly align left column no matter what column enabled
B3P-578
2015-06-06 22:10:07 +02:00
Marc Alexander
215a29c0ac [ticket/578] Correctly assign classes upon moving modules up/down
B3P-578
2015-06-06 21:39:18 +02:00
Marc Alexander
e5319bfbe3 [ticket/578] Correctly assign classes to element upon deleting modules
B3P-578
2015-06-06 21:22:37 +02:00
Marc Alexander
4739c5317c Merge branch '2.1.x' 2015-06-06 18:17:19 +02:00
Marc Alexander
55d7991829 Merge pull request #576 from marc1706/ticket/575
[ticket/575] Remove border-radius from top and bottom modules
2015-06-06 18:01:02 +02:00
Marc Alexander
f92ef62843 Merge pull request #573 from marc1706/ticket/571
[ticket/571] Intval more variables and fix validation issues
2015-06-06 18:00:57 +02:00
Marc Alexander
a364f1f258 [ticket/575] Remove border-radius from top and bottom modules
B3P-575
2015-06-06 17:01:29 +02:00
Marc Alexander
0665dba08f [ticket/571] Fix incorrect cast to integer in database_handler
B3P-571
2015-06-06 16:52:37 +02:00
Marc Alexander
04d4cc50af Merge pull request #574 from marc1706/ticket/572
[ticket/572] Use json_decode/encode instead of serializing data
2015-06-06 16:51:00 +02:00
Marc Alexander
2ee6b3c819 [ticket/572] Use json_decode/encode instead of serializing data
B3P-572
2015-06-06 16:26:28 +02:00
Marc Alexander
7d5128db80 [ticket/571] Improve docblocks and simplify check in controller helper
B3P-571
2015-06-06 15:46:16 +02:00
Marc Alexander
35e07a1201 [ticket/571] No longer enforce date formats
B3P-571
2015-06-06 15:45:58 +02:00
Marc Alexander
31d01f0aa4 [ticket/571] Use proper links for forms in ACP
B3P-571
2015-06-06 15:37:03 +02:00
Marc Alexander
45fb1c859d [ticket/571] Some more minor fixes
B3P-571
2015-06-06 15:29:37 +02:00
Marc Alexander
9d4515432c [ticket/571] Remove unused ext.php
B3P-571
2015-06-06 14:50:46 +02:00
Marc Alexander
f3be40fd72 [ticket/571] Intval more variables and improve code quality
B3P-571
2015-06-06 14:47:35 +02:00
Marc Alexander
dd25b5dc1f Merge branch '2.1.x' 2015-06-06 14:13:57 +02:00
Marc Alexander
e72d8c0a5f Merge pull request #570 from marc1706/ticket/569
[ticket/569] Do not display portal on login page if board is disabled
2015-06-06 14:13:15 +02:00
Marc Alexander
4e3cbbc378 [ticket/569] Do not display portal on login page if board is disabled
B3P-569
2015-06-06 13:54:36 +02:00
Marc Alexander
62847190dd Merge branch '2.1.x' 2015-06-05 12:16:33 +02:00
Marc Alexander
a7ee21e621 Merge pull request #568 from marc1706/ticket/527
[ticket/527] Move calendar arrow icons to styles/all/
2015-06-05 10:56:07 +02:00
Marc Alexander
cbe29004bd [ticket/527] Move calendar arrow icons to styles/all/
B3P-527
2015-06-05 10:02:15 +02:00
Marc Alexander
eae00a3897 Merge pull request #567 from marc1706/ticket/565
[ticket/565] Properly create select box for multiple options
2015-06-04 22:50:52 +02:00
Marc Alexander
a832bea536 [ticket/565] Properly create select box for multiple options
B3P-565
2015-06-04 22:28:33 +02:00
Marc Alexander
c6767fa9f2 Merge pull request #563 from Galixte/patch-6
Update of FRENCH translation for Board3 Portal extension
2015-06-04 21:38:44 +02:00
Raphaël M.
8e398363fe Update of FRENCH translation for Board3 Portal extension
- update for portal_donation_module.php file.
2015-06-04 12:03:37 +02:00
Marc Alexander
f3f6dc16ea Merge branch '2.1.x' 2015-06-03 19:40:16 +02:00
Marc Alexander
b50d6012ea Merge pull request #562 from marc1706/ticket/550
[ticket/550] Use extension ACL variable in portal_info
2015-06-03 19:38:54 +02:00
Marc Alexander
9e1623e37d Merge pull request #561 from marc1706/ticket/560
[ticket/560] Properly instantiate router class in tests
2015-06-03 19:33:28 +02:00
Marc Alexander
2f0852cb70 [ticket/550] Use extension ACL variable in portal_info
B3P-550
2015-06-03 15:57:22 +02:00
Marc Alexander
309e6d06e2 [ticket/560] Properly instantiate router class in tests
B3P-560
2015-06-03 15:54:08 +02:00
Marc Alexander
efdfa5a074 Merge branch '2.1.x' 2015-06-03 15:39:34 +02:00
Marc Alexander
cddeb1eeac Merge pull request #559 from marc1706/ticket/558
[ticket/558] Fix coding guidelines infractions
2015-06-03 15:38:43 +02:00
Marc Alexander
bad0316a94 Merge pull request #557 from marc1706/ticket/555
[ticket/555] Allow setting default currency in ACP
2015-06-03 14:48:23 +02:00
Marc Alexander
522b4d3087 [ticket/558] Fix coding guidelines infractions
B3P-558
2015-06-03 13:59:26 +02:00
Marc Alexander
530d841674 [ticket/555] Fix tests
B3P-555
2015-06-03 13:36:21 +02:00
Marc Alexander
d3cca6a3e2 [ticket/555] Add missing language entries
B3P-555
2015-06-03 12:55:55 +02:00
Marc Alexander
a5ccbb48c7 [ticket/555] Allow defining default currency in ACP
B3P-555
2015-06-03 12:53:21 +02:00
Marc Alexander
367d5168bd [ticket/555] Add default currency to donation modules in migration
B3P-555
2015-06-03 11:06:42 +02:00
Marc Alexander
f4bf6e1d9f [ticket/555] Add setting for default currency
B3P-555
2015-06-03 11:01:51 +02:00
Marc Alexander
8cdf4a2161 Merge pull request #556 from marc1706/ticket/541
[ticket/541] Update for final release of Board3 Portal
2015-06-03 10:50:46 +02:00
Marc Alexander
ba684e1025 Merge branch '2.1.x' 2015-06-03 10:43:57 +02:00
Marc Alexander
c63ec881b1 Merge pull request #554 from marc1706/ticket/553
[ticket/553] Fix code sniffer complaints
2015-06-01 23:51:02 +02:00
Marc Alexander
9c90d2834b [ticket/553] Fix code sniffer complaints
B3P-553
2015-06-01 22:40:14 +02:00
Marc Alexander
7b7fde2a00 [ticket/541] Update for final release of Board3 Portal
B3P-541
2015-05-07 15:48:14 +02:00
Marc Alexander
127617ceaa Merge branch '2.1.x' 2015-05-07 15:45:51 +02:00
Marc Alexander
44a1937237 Merge pull request #548 from marc1706/ticket/541
[ticket/541] Update versions in composer.json
2015-05-07 15:43:51 +02:00
Marc Alexander
5899c9e7a5 [ticket/541] Update versions in composer.json
B3P-541
2015-05-07 15:01:41 +02:00
Marc Alexander
d4a2b63b4e Merge pull request #547 from marc1706/ticket/546
[ticket/546] Use phpbb\language\language for module language files
2015-05-06 12:26:53 +02:00
Marc Alexander
6ad980975a [ticket/546] Use phpbb\language\language for module language files
B3P-546
2015-05-06 11:46:49 +02:00
Marc Alexander
5cee058e69 Merge pull request #545 from marc1706/ticket/544
[ticket/544] Use dummy cache driver instead of replaced null driver
2015-05-06 10:13:11 +02:00
Marc Alexander
5a32b757f6 [ticket/544] Use dummy cache driver instead of replaced null driver
B3P-544
2015-05-06 09:54:24 +02:00
Marc Alexander
76dbec58d9 Merge branch '2.1.x' 2015-05-06 01:05:21 +02:00
Marc Alexander
072957b6ec Merge pull request #543 from marc1706/ticket/542
[ticket/542] Add missing calls to sql_freeresult()
2015-05-06 01:05:17 +02:00
Marc Alexander
76003767d5 [ticket/542] Add missing calls to sql_freeresult()
B3P-542
2015-05-05 23:36:50 +02:00
Marc Alexander
27f9ae0949 Merge branch '2.1.x' 2015-05-05 23:29:19 +02:00
Marc Alexander
229033a618 Merge pull request #540 from marc1706/ticket/539
[ticket/539] Do not show portal on all pages if board is disabled
2015-05-05 23:07:37 +02:00
Marc Alexander
85337f9a09 [ticket/539] Do not show portal on all pages if board is disabled
B3P-539
2015-05-05 20:43:38 +02:00
Marc Alexander
ddeeb97338 Merge branch '2.1.x' 2015-05-01 16:08:49 +02:00
Marc Alexander
3e0ec62751 Merge pull request #538 from marc1706/ticket/535
[ticket/535] Update trimmessage tool
2015-05-01 16:08:47 +02:00
Marc Alexander
2239850ba9 [ticket/535] Update trimmessage tool
B3P-535
2015-05-01 15:27:57 +02:00
Marc Alexander
d5712e70cb Merge pull request #537 from marc1706/ticket/534
[ticket/534] Adapt tests for master branch of phpBB
2015-05-01 15:22:58 +02:00
Marc Alexander
f61a0376dc [ticket/534] No longer test unsupported PHP 5.3.3
B3P-534
2015-05-01 15:07:01 +02:00
Marc Alexander
7ff4937108 [ticket/534] Adapt tests for master branch of phpBB
B3P-534
2015-05-01 15:00:46 +02:00
Marc Alexander
2d7232a392 Merge branch '2.1.x' 2015-04-30 17:50:21 +02:00
Marc Alexander
6cd36b4b13 Merge branch 'ticket/532' into 2.1.x 2015-04-30 17:50:18 +02:00
Marc Alexander
5678dd2251 [ticket/532] Update build excludes in travis.yml
B3P-532
2015-04-30 17:47:47 +02:00
Marc Alexander
5fe659d6b1 Merge remote-tracking branch 'upstream/2.2.x' 2015-04-30 17:42:14 +02:00
Marc Alexander
a1659237ab Merge remote-tracking branch 'upstream/develop-2.1.x' 2015-04-30 17:41:44 +02:00
Marc Alexander
61077d332a [2.2.x] Enable tests that should work with up-to-date DOMCrawler 2015-04-30 17:39:11 +02:00
Marc Alexander
5d8026c3c8 [2.2.x] Add new branch for 2.2.x 2015-04-30 17:38:48 +02:00
Marc Alexander
b4f68afd3c Merge pull request #531 from marc1706/ticket/530
[ticket/530] Update composer.phar for PHP7 compatibility
2015-04-27 19:18:59 +02:00
Marc Alexander
1f6ddc245e Merge pull request #529 from marc1706/ticket/528
[ticket/528] Correctly load module language for 3rd party modules
2015-04-27 19:18:51 +02:00
Marc Alexander
92a960ebd5 [ticket/530] Update composer.phar for PHP7 compatibility
B3P-530
2015-04-27 16:49:55 +02:00
Marc Alexander
9d0146918d [ticket/528] Add missing dependencies to tests
B3P-528
2015-04-27 16:48:21 +02:00
Marc Alexander
d699ef0e3b [ticket/528] Correctly load module language for 3rd party modules
B3P-528
2015-04-27 16:18:04 +02:00
Marc Alexander
6767c6406b Merge pull request #520 from Galixte/patch-5
Update of FRENCH translation for Board3 Portal extension
2015-04-09 13:58:01 +02:00
Marc Alexander
33a96b967b Merge pull request #526 from marc1706/ticket/525
[ticket/525] Use path instead of pattern for routes in tests
2015-04-09 13:38:53 +02:00
Marc Alexander
7e4a6468a2 [ticket/525] Use path instead of pattern for routes in tests
B3P-525
2015-04-09 13:24:07 +02:00
Marc Alexander
5007b9ee35 Merge pull request #524 from marc1706/ticket/521
[ticket/521] Display correct day of week in calendar module
2015-04-08 00:38:02 +02:00
Marc Alexander
8c0c123627 [ticket/521] Display correct day of week in calendar module
B3P-521
2015-04-08 00:12:07 +02:00
Marc Alexander
605c7bc41f Merge pull request #523 from marc1706/ticket/522
[ticket/522] Hide portal on all pages on low resolutions
2015-04-06 23:05:13 +02:00
Marc Alexander
0123621025 [ticket/522] Hide portal on all pages on low resolutions
B3P-522
2015-04-06 17:22:57 +02:00
Raphaël M.
3f2e5d56a6 Update of FRENCH translation for Board3 Portal extension
Update of FRENCH translation for portal_calendar_module.php file
2015-04-02 01:21:58 +02:00
Marc Alexander
dd43a8364c Merge pull request #517 from marc1706/ticket/510
[ticket/510] Order groups by group_legend setting in leaders module
2015-03-21 11:10:23 +01:00
Marc Alexander
6c8b63db06 Merge pull request #516 from marc1706/ticket/513
[ticket/513] Add build script
2015-03-21 10:12:31 +01:00
Marc Alexander
7e0034cd1a [ticket/510] Order groups by group_legend setting in leaders module
B3P-510
2015-03-21 10:11:12 +01:00
Marc Alexander
112b7d2db7 [ticket/513] Add missing line at end of file
B3P-513
2015-03-21 09:52:35 +01:00
Marc Alexander
9792360f03 [ticket/513] Run tests while packaging board3 portal
B3P-513
2015-03-21 09:51:07 +01:00
Marc Alexander
4d042239d6 [ticket/513] Update composer dependencies
B3P-513
2015-03-21 09:51:02 +01:00
Marc Alexander
2a5d91b474 [ticket/513] Add build script
B3P-513
2015-03-21 09:50:57 +01:00
Marc Alexander
61782b6e77 Merge pull request #515 from marc1706/ticket/514
[ticket/514] Add PHP7 to travis build matrix
2015-03-20 18:47:37 +01:00
Marc Alexander
39482d5441 [ticket/514] Use preg_replace_callback in portal
B3P-514
2015-03-20 17:49:41 +01:00
Marc Alexander
6835979dbf [ticket/514] Use preg_replace_callback in main_menu
B3P-514
2015-03-20 17:49:29 +01:00
Marc Alexander
2dd46f61b6 [ticket/514] Add PHP7 to travis build matrix
B3P-514
2015-03-20 15:31:37 +01:00
Marc Alexander
24f18700bb Merge pull request #512 from marc1706/ticket/511
[ticket/511] Do not show <hr> at bottom of prosilver main menu
2015-03-19 11:00:58 +01:00
Marc Alexander
01cb85005a [ticket/511] Do not show <hr> at bottom of prosilver main menu
B3P-511
2015-03-18 13:51:36 +01:00
Marc Alexander
1a4587a2a3 Merge pull request #509 from marc1706/ticket/508
[ticket/508] Only execute portal once when accessed via domain only
2015-03-15 17:29:19 +01:00
Marc Alexander
eb24ba1425 [ticket/508] Only execute portal once when accessed via domain only
B3P-508
2015-03-15 15:26:32 +01:00
Marc Alexander
c0430bb20e Merge pull request #507 from marc1706/ticket/506
[ticket/506] Move module images to styles/all folder
2015-03-15 13:57:29 +01:00
Marc Alexander
08a4d74937 [ticket/506] Only check styles/all folder for module images and fix tests
B3P-506
2015-03-15 13:33:10 +01:00
Marc Alexander
f8de6be004 [ticket/506] Move module images to styles/all folder
B3P-506
2015-03-15 11:56:16 +01:00
Marc Alexander
cd4e7e2993 Merge pull request #505 from marc1706/ticket/504
[ticket/504] Order who is online based on phpBB ACP setting
2015-03-15 11:09:53 +01:00
Marc Alexander
22e48beb8f [ticket/504] Order who is online based on phpBB ACP setting
B3P-504
2015-03-15 09:00:20 +01:00
Marc Alexander
545f7af4de Merge pull request #503 from marc1706/ticket/502
[ticket/502] Remove inner rounded corners from center modules
2015-03-10 21:17:45 +01:00
Marc Alexander
53a9dbf5dd [ticket/502] Remove inner rounded corners from center modules
B3P-502
2015-03-10 20:30:36 +01:00
Marc Alexander
9ca1e197ee Merge pull request #501 from marc1706/ticket/500
[ticket/500] Show correct number of replies in news and announcements
2015-03-09 22:32:24 +01:00
Marc Alexander
131b7a691d [ticket/500] Show correct number of replies in news and announcements
B3P-500
2015-03-09 21:42:27 +01:00
Marc Alexander
c3e1128ad6 Merge pull request #499 from marc1706/ticket/498
[ticket/498] Add nofollow for calendar and add roles for elements
2015-03-05 11:17:36 +01:00
Marc Alexander
2d5a14db22 [ticket/498] Add nofollow for calendar and add roles for elements
B3P-498
2015-03-05 10:59:57 +01:00
Marc Alexander
4134f59a15 Merge pull request #497 from marc1706/ticket/494
[ticket/494] Improve caching and query performance of portal
2015-03-05 10:31:43 +01:00
Marc Alexander
1a74082154 [ticket/494] Remove SQL queries to portal_modules when changing settings
B3P-494
2015-03-04 17:32:53 +01:00
Marc Alexander
9fe7e17124 [ticket/494] Correctly mock sql_save and sql_load methods of cache
B3P-494
2015-03-04 10:23:37 +01:00
Marc Alexander
726f94e798 Merge pull request #496 from marc1706/ticket/495
[ticket/495] Correctly load template files for modules
2015-03-03 15:32:55 +01:00
Marc Alexander
1e405e9d91 [ticket/494] Cache more queries on portal page
B3P-494
2015-03-03 15:25:22 +01:00
Marc Alexander
42973b1a10 [ticket/495] Correctly load template files for modules
B3P-495
2015-03-03 14:55:56 +01:00
Marc Alexander
a699a92e31 Merge pull request #493 from marc1706/ticket/492
[ticket/492] Use B3P controller helper for loading module language
2015-03-02 14:14:33 +01:00
Marc Alexander
22ef20d0e7 [ticket/492] Use B3P controller helper for loading module language
B3P-492
2015-03-02 13:50:28 +01:00
Marc Alexander
a9c5913c1f Merge pull request #491 from Galixte/patch-4
Update for FRENCH translation - UTF8 FRENCH quotes
2015-03-02 11:01:01 +01:00
Raphaël
74adacbe1f Update for FRENCH translation for portal_recent_module.php file
Update for FRENCH translation for portal_recent_module.php file
2015-02-28 15:31:26 +01:00
Raphaël
e2c85346b0 Update for FRENCH translation for portal_poll_module.php file
Update for FRENCH translation for portal_poll_module.php file
2015-02-28 15:31:03 +01:00
Raphaël
7129e5e2a2 Update for FRENCH translation for portal_news_module.php file
Update for FRENCH translation for portal_news_module.php file
2015-02-28 15:30:38 +01:00
Raphaël
af21b2edc4 Update for FRENCH translation for portal_attachments_module.php file
Update for FRENCH translation for portal_attachments_module.php file
2015-02-28 15:30:09 +01:00
Raphaël
f65f132649 Update for FRENCH translation for portal_announcements_module.php file
Update for FRENCH translation for portal_announcements_module.php file
2015-02-28 15:29:45 +01:00
Raphaël
7ac5201425 Update for FRENCH translation - UTF8 FRENCH quotes
Update for FRENCH translation for portal_acp.php file
Update for FRENCH translation for modules/portal_announcements_module.php
Update for FRENCH translation for modules/portal_attachments_module.php
Update for FRENCH translation for modules/portal_news_module.php
Update for FRENCH translation for modules/portal_poll_module.php
Update for FRENCH translation for modules/portal_recent_module.php
2015-02-28 15:28:59 +01:00
Marc Alexander
6488dd8d0c Merge pull request #490 from marc1706/ticket/487
[ticket/487] Add missing language entries to German language
2015-02-27 21:00:17 +01:00
Marc Alexander
df854fe083 [ticket/487] Add missing language entries to German language
B3P-487
2015-02-27 20:41:57 +01:00
Marc Alexander
36db7c0b28 Merge pull request #488 from marc1706/ticket/477
[ticket/477] Expect version_helper to throw RuntimeException
2015-02-27 10:40:39 +01:00
Marc Alexander
3c23f6b405 [ticket/477] Expect version check to return false
B3P-477
2015-02-27 09:24:51 +01:00
Marc Alexander
de98a00df5 [ticket/477] Use class members instead of passing by reference
B3P-477
2015-02-27 09:19:25 +01:00
Marc Alexander
96b31e8abb [ticket/477] Move assignment of update information to seperate method
B3P-477
2015-02-27 09:16:19 +01:00
Marc Alexander
dec789fef7 Merge pull request #489 from marc1706/ticket/464
[ticket/464] Use phpbb_admin_path for links to acp pages
2015-02-27 09:08:13 +01:00
Marc Alexander
3e18e50f89 [ticket/464] Use phpbb_admin_path for links to acp pages
B3P-464
2015-02-26 23:12:29 +01:00
Marc Alexander
53eb8ebe02 [ticket/477] Expect version_helper to throw RuntimeException
B3P-477
2015-02-26 23:08:07 +01:00
Marc Alexander
9551290fcf Merge pull request #485 from marc1706/ticket/482
[ticket/482] Get rid of conflicts between portal and phpBB CSS
2015-02-26 21:12:21 +01:00
Marc Alexander
e838684ae5 Merge pull request #486 from marc1706/ticket/481
[ticket/481] Remove unneeded assignment of S_SEARCH_ACTION in search
2015-02-26 21:06:34 +01:00
Marc Alexander
b68bb7f4a6 [ticket/481] Remove unneeded assignment of S_SEARCH_ACTION in search
B3P-481
2015-02-26 17:55:34 +01:00
Marc Alexander
119855aedf Merge pull request #484 from marc1706/ticket/483
[ticket/483] Use phpBB's 3.1.x branch for travis builds
2015-02-26 17:45:21 +01:00
Marc Alexander
5b6b6740ca [ticket/483] Use phpBB's 3.1.x branch for travis builds
B3P-483
2015-02-26 17:08:00 +01:00
Marc Alexander
3ab38cdf31 [ticket/482] Get rid of conflicts between portal and phpBB CSS
B3P-482
2015-02-26 17:02:11 +01:00
Marc Alexander
5c79d9452a Merge pull request #480 from Galixte/patch-3
Update for FRENCH translation for portal_acp.php file
2015-02-21 11:31:22 +01:00
Raphaël
ce17432e78 Update for FRENCH translation for portal_acp.php file
Update for FRENCH translation for portal_acp.php file
2015-02-21 01:28:54 +01:00
Marc Alexander
7b9380360c Merge pull request #476 from marc1706/ticket/475
[ticket/475] Show "No announcements" if no announcements present
2015-02-15 10:31:47 +01:00
Marc Alexander
a8655fc78d Merge pull request #474 from marc1706/ticket/473
[ticket/473] Correctly create news on read all page
2015-02-15 01:16:57 +01:00
Marc Alexander
d16acc444b [ticket/475] Show "No announcements" if no announcements present
B3P-475
2015-02-15 01:09:57 +01:00
Marc Alexander
76c5f62cbd [ticket/473] Correctly create news on read all page
B3P-473
2015-02-15 01:01:58 +01:00
Marc Alexander
faedc2bd25 Merge pull request #470 from marc1706/ticket/469
[ticket/469] Add setting for displaying portal side columns on all pages
2015-02-14 22:51:08 +01:00
Marc Alexander
cfa2657da4 [ticket/469] Correctly create path to images on pages outside root
B3P-469
2015-02-14 22:30:57 +01:00
Marc Alexander
8e85752c65 [ticket/469] Enable portal on all pages in subsilver2 & add tests
B3P-469
2015-02-14 22:21:10 +01:00
Marc Alexander
9899d4fd3c [ticket/469] Fix incorrect doc block
B3P-469
2015-02-13 22:23:49 +01:00
Marc Alexander
1e7dc9b576 [ticket/469] Add tests for displaying all pages using main controller
B3P-469
2015-02-13 22:23:23 +01:00
Marc Alexander
30bd67f3d8 [ticket/469] Fix tests with new settings
B3P-469
2015-02-13 19:52:00 +01:00
Marc Alexander
311c7cb97f [ticket/469] Only allow showing left or right module on all pages
B3P-469
2015-02-13 16:34:53 +01:00
Marc Alexander
f75dd66601 [ticket/469] Add prosilver events required for portal on all pages
B3P-469
2015-02-13 16:34:52 +01:00
Marc Alexander
0ea8d11360 [ticket/469] Remove unused template variable
B3P-469
2015-02-13 16:34:52 +01:00
Marc Alexander
70efdf099e [ticket/469] Add CSS if portal is displayed on all pages
B3P-469
2015-02-13 16:34:51 +01:00
Marc Alexander
bc3b430569 [ticket/469] Add new language entries for displaying portal on all pages
B3P-469
2015-02-13 16:34:51 +01:00
Marc Alexander
ee096bf60d [ticket/469] Allow restricting portal columns based on parameter in handle
B3P-469
2015-02-13 16:34:50 +01:00
Marc Alexander
f2b002c49b [ticket/469] Check current page with get_current_url()
The current session page seems to be wrong on the first page access.

B3P-469
2015-02-13 16:34:49 +01:00
Marc Alexander
a50e6c04d0 [ticket/469] Make listener display portal if settings are set to true
B3P-469
2015-02-13 16:34:49 +01:00
Marc Alexander
e4861caed8 [ticket/469] Add settings for displaying portal on all pages
B3P-469
2015-02-13 16:34:48 +01:00
Marc Alexander
7a63c9a3a8 [ticket/469] Make sure to not define constants more than once
B3P-469
2015-02-13 16:34:47 +01:00
Marc Alexander
2397563b9a Merge pull request #472 from marc1706/ticket/471
[ticket/471] Do not shorten text if limit is at 0
2015-02-12 23:52:15 +01:00
Marc Alexander
ce42fb4fb8 [ticket/471] Do not shorten text if limit is at 0
Also, text will no longer be shortened if the modules is using the compact
style.

B3P-471
2015-02-12 23:03:33 +01:00
Marc Alexander
b98c6fed23 Merge pull request #468 from marc1706/ticket/467
[ticket/467] Update composer dependencies
2015-02-11 15:30:21 +01:00
Marc Alexander
8d38348f15 [ticket/467] Update composer dependencies
B3P-467
2015-02-11 15:14:39 +01:00
Marc Alexander
64eb8f871a [ticket/467] Update composer.phar to latest version
B3P-467
2015-02-11 15:13:48 +01:00
Marc Alexander
6614a7c320 Merge pull request #466 from marc1706/ticket/465
[ticket/465] Use path instead of pattern in routing.yml
2015-02-11 12:08:26 +01:00
Marc Alexander
9bf8fd049d [ticket/465] Use path instead of pattern in routing.yml
B3P-465
2015-02-11 11:53:19 +01:00
Marc Alexander
6e6e3c504b Merge pull request #463 from Galixte/patch-2
Update for FRENCH translation for Board3 Portal extension
2015-02-08 11:26:48 +01:00
Raphaël
e3163df594 Update for FRENCH translation for portal_topposters_module.php file
Update for FRENCH translation for portal_topposters_module.php file
2015-02-08 00:11:49 +01:00
Raphaël
3713332da0 Update for FRENCH translation for portal_latest_bots_module.php file
Update for FRENCH translation for portal_latest_bots_module.php file
2015-02-08 00:08:16 +01:00
Raphaël
68af642d73 Update for FRENCH translation for portal_random_member_module.php file
Update for FRENCH translation for portal_random_member_module.php file
2015-02-08 00:07:10 +01:00
Marc Alexander
f4ce532f69 Merge pull request #462 from marc1706/ticket/461
[ticket/461] Fix tests for current version
2015-02-07 19:51:59 +01:00
Marc Alexander
2c62ff85a9 [ticket/461] Fix tests for current version
B3P-461
2015-02-07 19:37:59 +01:00
Marc Alexander
4f5fdeb090 Merge pull request #460 from marc1706/ticket/449
[ticket/449] Prepare package for 2.1.0-RC2 release
2015-02-07 19:03:44 +01:00
Marc Alexander
3d1ede7c1b [ticket/449] Make sure border color is not overwritten again by prosilver
B3P-449
2015-02-07 18:48:13 +01:00
Marc Alexander
b3265046f7 [ticket/449] Replace invalid img tags with divs
B3P-449
2015-02-07 18:40:23 +01:00
Marc Alexander
02684758db [ticket/449] Update version and add migration for 2.1.0-rc2
B3P-449
2015-02-07 18:17:53 +01:00
Marc Alexander
655518a9d1 [ticket/449] Update copyright dates and release dates
B3P-449
2015-02-07 18:14:38 +01:00
Marc Alexander
771fcfe06c Merge pull request #457 from marc1706/ticket/456
[ticket/456] Modify files for passing code sniffer
2015-02-02 11:08:08 +01:00
Marc Alexander
f1ca2d8a39 [ticket/456] Do not include functions_modules in controller
B3P-456
2015-02-02 10:58:15 +01:00
Marc Alexander
0e58d83267 [ticket/456] Ignore coding standards in functions.php
B3P-456
2015-02-02 10:52:14 +01:00
Marc Alexander
e08b15ede8 [ticket/456] Remove functions_modules.php
The functions in functions_modules.php were already deprecated.

B3P-456
2015-02-02 10:51:06 +01:00
Marc Alexander
e6aca6aa17 Merge pull request #455 from marc1706/ticket/454
[ticket/454] Check for IN_PHPBB in functions files
2015-02-01 11:50:58 +01:00
Marc Alexander
70efb8a4e8 [ticket/454] Ignore IN_PHPBB check in coding standards check
B3P-454
2015-02-01 11:39:52 +01:00
Marc Alexander
f1b77b1a2b [ticket/454] Remove constants.php
B3P-454
2015-02-01 01:54:44 +01:00
Marc Alexander
cbe947fba4 [ticket/454] Check for IN_PHPBB in functions files
B3P-454
2015-02-01 01:40:22 +01:00
Marc Alexander
a1375a4d6b Merge pull request #453 from marc1706/ticket/452
[ticket/452] Correctly show groups in leaders module
2015-02-01 01:21:16 +01:00
Marc Alexander
44fae8c7cb [ticket/452] Correctly select groups selected for displayal in legend
B3P-452
2015-02-01 01:12:59 +01:00
Marc Alexander
12947c612f [ticket/452] Correctly display moderators in leaders module
B3P-452
2015-02-01 01:08:32 +01:00
Marc Alexander
d4bd1db22e Merge pull request #451 from Galixte/patch-1
FRENCH translation for Board3 Portal extension
2015-01-31 09:37:40 +01:00
Raphaël
1a775ac6c3 FRENCH translation for portal_whois_online_module.php file
FRENCH translation for portal_whois_online_module.php file
2015-01-29 10:57:06 +01:00
Raphaël
baef0aaa22 FRENCH translation for portal_welcome_module.php file
FRENCH translation for portal_welcome_module.php file
2015-01-29 10:56:22 +01:00
Raphaël
1d7f29a526 FRENCH translation for portal_user_menu_module.php file
FRENCH translation for portal_user_menu_module.php file
2015-01-29 10:55:02 +01:00
Raphaël
6d1b5cf43a FRENCH translation for portal_topposters_module.php file
FRENCH translation for portal_topposters_module.php file
2015-01-29 10:53:28 +01:00
Raphaël
720676185f FRENCH translation for portal_stylechanger_module.php file
FRENCH translation for portal_stylechanger_module.php file
2015-01-29 10:52:39 +01:00
Raphaël
7d177dc608 FRENCH translation for portal_statistics_module.php file
FRENCH translation for portal_statistics_module.php file
2015-01-29 10:51:59 +01:00
Raphaël
ecf9a0eaf4 FRENCH translation for portal_search_module.php file
FRENCH translation for portal_search_module.php file
2015-01-29 10:50:52 +01:00
Raphaël
f37aad2148 FRENCH translation for portal_recent_module.php file
FRENCH translation for portal_recent_module.php file
2015-01-29 10:49:32 +01:00
Raphaël
df6424f4dc FRENCH translation for portal_random_member_module.php file
FRENCH translation for portal_random_member_module.php file
2015-01-29 10:46:14 +01:00
Raphaël
0622556422 FRENCH translation for portal_poll_module.php file
FRENCH translation for portal_poll_module.php file
2015-01-29 10:45:19 +01:00
Raphaël
c5fcf594fe FRENCH translation for portal_news_module.php file
FRENCH translation for portal_news_module.php file
2015-01-29 10:44:24 +01:00
Raphaël
831eb5cbe0 FRENCH translation for portal_main_menu_module.php file
FRENCH translation for portal_main_menu_module.php file
2015-01-29 10:43:06 +01:00
Raphaël
d4ef153daa FRENCH translation for portal_links_module.php file
FRENCH translation for portal_links_module.php file
2015-01-29 10:40:21 +01:00
Raphaël
f21862dfd3 FRENCH translation for portal_link_us_module.php file
FRENCH translation for portal_link_us_module.php file
2015-01-29 10:38:53 +01:00
Raphaël
f598ebbc74 FRENCH translation for portal_leaders_module.php file
FRENCH translation for portal_leaders_module.php file
2015-01-29 10:37:52 +01:00
Raphaël
806853e894 FRENCH translation for portal_latest_members_module.php file
FRENCH translation for portal_latest_members_module.php file
2015-01-29 10:36:34 +01:00
Raphaël
6640222b29 FRENCH translation for portal_latest_bots_module.php file
FRENCH translation for portal_latest_bots_module.php file
2015-01-29 10:35:05 +01:00
Raphaël
479cfefcac FRENCH translation for portal_friends_module.php file
FRENCH translation for portal_friends_module.php file
2015-01-29 10:33:51 +01:00
Raphaël
06e05f9816 FRENCH translation for portal_forumlist_module.php file
FRENCH translation for portal_forumlist_module.php file
2015-01-29 10:33:02 +01:00
Raphaël
840ccb2f9a FRENCH translation for portal_donation_module.php file
FRENCH translation for portal_donation_module.php file
2015-01-29 10:32:21 +01:00
Raphaël
6303370a15 FRENCH translation for portal_custom_module.php file
FRENCH translation for portal_custom_module.php file
2015-01-29 10:29:38 +01:00
Raphaël
d98c376b07 FRENCH translation for portal_clock_module.php file
FRENCH translation for portal_clock_module.php file
2015-01-29 10:13:19 +01:00
Raphaël
1da3ae4a1d FRENCH translation for portal_calendar_module.php file
FRENCH translation for portal_calendar_module.php file
2015-01-29 10:12:28 +01:00
Raphaël
c6ec43de6e FRENCH translation for portal_birthday_list_module.php file
FRENCH translation for portal_birthday_list_module.php file
2015-01-29 10:10:51 +01:00
Raphaël
6367bdd928 FRENCH translation for portal_attachments_module.php file
FRENCH translation for portal_attachments_module.php file
2015-01-29 10:10:05 +01:00
Raphaël
7a6128e4fd FRENCH translation for portal_announcements_module.php file
FRENCH translation for portal_announcements_module.php file
2015-01-29 10:09:21 +01:00
Raphaël
50cc1d8b54 FRENCH translation for portal_acp.php file
FRENCH translation for portal_acp.php file
2015-01-29 10:08:06 +01:00
Raphaël
667b0d4feb FRENCH translation for portal.php file
FRENCH translation for portal.php file
2015-01-29 10:07:11 +01:00
Raphaël
53cda218b4 FRENCH translation for info_acp_portal.php file
FRENCH translation for info_acp_portal.php file
2015-01-29 10:00:19 +01:00
Marc Alexander
4aa80b3e68 Merge pull request #450 from marc1706/ticket/418
[ticket/418] Correctly assign paginatino in compact news and announcements
2015-01-24 16:58:42 +01:00
Marc Alexander
b2b8c9a948 [ticket/418] Correctly assign pagination in compact news and announcements
The repsonsiveness of those two blocks has also been improved.

B3P-418
2015-01-24 16:58:07 +01:00
Marc Alexander
102a4b0e22 Merge pull request #448 from marc1706/ticket/435
[ticket/435] Correctly check if replies and views column is enabled in news
2015-01-23 09:30:27 +01:00
Marc Alexander
48140c5220 [ticket/435] Correctly check if replies and views column is enabled in news
B3P-435
2015-01-22 23:30:36 +01:00
Marc Alexander
cb969bdf17 Merge pull request #447 from marc1706/ticket/445
[ticket/445] Add code quality and coverage badges to README
2015-01-21 23:12:35 +01:00
Marc Alexander
c4d6ff8129 [ticket/445] Add code quality and coverage badges to README
B3P-445
2015-01-21 19:21:45 +01:00
Marc Alexander
bf66bb7bb2 Merge pull request #446 from phpbb-es/develop-2.1.x
Spanish translation
2015-01-19 12:52:28 +01:00
phpBB España
a4271117f8 Spanish translation
Spanish translation
2015-01-19 12:15:13 +01:00
Marc Alexander
134274ba5f Merge pull request #443 from marc1706/ticket/432
[ticket/432] Further split get_posts() apart
2015-01-18 21:50:08 +01:00
Marc Alexander
cb8275309c [ticket/432] Fix issues with last changes
B3P-432
2015-01-18 21:36:06 +01:00
Marc Alexander
6e89506076 [ticket/432] Further split get_posts() apart
B3P-432
2015-01-18 20:39:38 +01:00
Marc Alexander
5a29469d5f Merge pull request #433 from marc1706/ticket/432
[ticket/432] Improve worst rated functions and methods
2015-01-18 20:19:39 +01:00
Marc Alexander
09e431d318 [ticket/432] Simplify get_posts() method further
B3P-432
2015-01-18 20:06:13 +01:00
Marc Alexander
6de4b1402c [ticket/432] Reduce number of conditionals in fetch_posts
B3P-432
2015-01-18 19:38:31 +01:00
Marc Alexander
0501e65cea [ticket/432] Add methods for checking conditionals for post attachments
B3P-432
2015-01-18 18:54:43 +01:00
Marc Alexander
48f526716a [ticket/432] Add method for selecting correct string in news constraints
B3P-432
2015-01-18 18:37:48 +01:00
Marc Alexander
970023c03f Merge pull request #442 from marc1706/ticket/426
[ticket/426] Correctly align left and right columns if one is disabled
2015-01-18 18:13:17 +01:00
Marc Alexander
b971916f61 [ticket/426] Correctly align left and right columns if one is disabled
B3P-426
2015-01-18 17:55:57 +01:00
Marc Alexander
efdaa5d5b3 Merge pull request #441 from marc1706/ticket/439
[ticket/439] Remove default.php
2015-01-18 17:22:03 +01:00
Marc Alexander
3d185026f0 [ticket/439] Remove default.php
B3P-439
2015-01-18 16:57:07 +01:00
Marc Alexander
23d451c717 Merge pull request #440 from marc1706/ticket/431
[ticket/431] Send coverage to scrutinizer and update composer files
2015-01-18 16:55:37 +01:00
Marc Alexander
1ad87b46d5 [ticket/431] Rename scripts for coverage and remove .coveralls.yml
B3P-431
2015-01-18 16:40:37 +01:00
Marc Alexander
9f21e447a8 [ticket/431] Send coverage to scrutinizer and update composer files
B3P-431
2015-01-18 16:21:10 +01:00
Marc Alexander
22072a412b Merge pull request #437 from marc1706/ticket/436
[ticket/436] Create routes using controller helper instead of directly creating app.php links
2015-01-18 15:26:35 +01:00
Marc Alexander
f4ceb44124 [ticket/436] Mock controller helper for unit tests
B3P-436
2015-01-18 15:12:18 +01:00
Marc Alexander
b4999f2c38 [ticket/436] Correctly generate links for poll module
B3P-436
2015-01-18 15:11:54 +01:00
Marc Alexander
fc74e9dab7 Merge pull request #438 from Mauron/develop-2.1.x
Italian translation for Board3-Portal.
2015-01-17 11:19:51 +01:00
Mauron
4ba575bb1d Update portal_calendar_module.php
Italian translation for portal_calendar_module.php .
2015-01-17 07:51:39 +01:00
Mauron
8984e39043 Update portal_poll_module.php
Translated line 43.
2015-01-17 07:48:48 +01:00
Mauron
99f917148c Create portal_latest_members_module.php
Italian translation for portal_latest_members_module.php .
2015-01-17 07:36:58 +01:00
Mauron
8c01c1adf6 Create portal_user_menu_module.php
Italian translation for portal_user_menu_module.php .
2015-01-17 07:33:01 +01:00
Mauron
6efbe4acfa Create portal_topposters_module.php
Italian translation for portal_topposters_module.php .
2015-01-17 07:30:36 +01:00
Mauron
d2ad40af02 Create portal_stylechanger_module.php
Italian translation for portal_stylechanger_module.php .
2015-01-17 07:28:58 +01:00
Mauron
9d08339f38 Create portal_statistics_module.php
Italian translation for portal_statistics_module.php .
2015-01-17 07:28:03 +01:00
Mauron
d11d5ecc95 Create portal_search_module.php
Italian translation for portal_search_module.php .
2015-01-17 07:25:25 +01:00
Mauron
619d075bd0 Create portal_recent_module.php
Italian translation for portal_recent_module.php .
2015-01-17 07:24:03 +01:00
Mauron
455af17c48 Create portal_random_member_module.php
Italian translation for portal_random_member_module.php .
2015-01-17 07:18:01 +01:00
Mauron
355a67aeb4 Create portal_poll_module.php
Italian translation for portal_poll_module.php .
2015-01-17 07:14:20 +01:00
Mauron
783e68e2dc Create portal_news_module.php
Italian translation for portal_news_module.php .
2015-01-17 07:09:00 +01:00
Mauron
bcd1a8feac Create portal_main_menu_module.php
Italian translation for portal_main_menu_module.php
2015-01-17 06:58:25 +01:00
Mauron
ec0ffd7cce Create portal_links_module.php
Italian translation for portal_links_module.php .
2015-01-17 06:50:35 +01:00
Mauron
9068197508 Create portal_link_us_module.php
Italian translation for portal_link_us_module.php .
2015-01-17 06:41:27 +01:00
Mauron
6b7f9efae8 Create portal_leaders_module.php
Italian translation for portal_leaders_module.php .
2015-01-17 06:38:41 +01:00
Mauron
d74879e249 Create portal_latest_bots_module.php
Italian translation for portal_latest_bots_module.php .
2015-01-17 06:31:50 +01:00
Mauron
d29941902c Create portal_friends_module.php
Italian translation for portal_friends_module.php .
2015-01-17 06:17:51 +01:00
Mauron
227670703c Create portal_forumlist_module.php
Italian translation for portal_forumlist_module.php .
2015-01-17 06:14:58 +01:00
Mauron
9517dc7fce Create portal_donation_module.php
Italian translation for portal_donation_module.php .
2015-01-17 06:12:38 +01:00
Mauron
92fbcd8c40 Create portal_custom_module.php
Italian translation for portal_custom_module.php .
2015-01-17 06:00:12 +01:00
Mauron
88c334c82e Create portal_welcome_module.php
Italian translation for portal_welcome_module.php .
2015-01-17 05:47:51 +01:00
Mauron
39708289a7 Create portal_clock_module.php
Italian translation for portal_clock_module.php .
2015-01-17 05:42:21 +01:00
Mauron
e2846f25c9 Rename portal_clendar_module.php to portal_calendar_module.php
Mistype fixed.
2015-01-17 05:39:07 +01:00
Mauron
387f6bf9a7 Create portal_clendar_module.php
Preliminary Italian translation for portal_calendar_module.php .
2015-01-17 05:38:14 +01:00
Mauron
8cd2e08464 Create portal_birthday_list_module.php
Italian translation for portal_birthday_list_module.php
2015-01-17 05:32:11 +01:00
Mauron
30e70cd638 Update portal_announcements_module.php
Removed an excessive 'for' from line 57.
2015-01-17 05:26:23 +01:00
Mauron
ef18373c95 Update portal_whois_online_module.php 2015-01-17 05:24:27 +01:00
Mauron
902f029c41 Create portal_whois_online_module.php
Italian translation for portal_whois_online_module.php .
2015-01-17 05:24:03 +01:00
Mauron
73e1ab1fde Create portal_attachments_module.php
Italian translation for portal_attachments_module.php
2015-01-17 05:20:07 +01:00
Mauron
23d1b8dd9f Create portal_announcements_module.php
Italian translation for portal_announcements_module.php .
2015-01-17 05:11:58 +01:00
Mauron
0185f47b40 Create portal_acp.php
Italian translation for portal_acp.php .
2015-01-17 04:54:00 +01:00
Mauron
0cf514e01f Create portal.php
Italian translation for portal.php .
2015-01-17 04:23:24 +01:00
Mauron
4a320f4860 Create info_acp_portal.php
Italian translation for info_acp_portal.php
2015-01-17 04:21:46 +01:00
Marc Alexander
2640fea635 [ticket/436] Generate routes with modules_helper and remove use of app.php
Modules should generate routes with the modules helper instead of directly
creating links to app.php.

B3P-436
2015-01-04 16:09:43 +01:00
Marc Alexander
c08f728fe4 [ticket/436] Use controller helper for generating URLs in announcements
B3P-436
2015-01-04 15:40:42 +01:00
Marc Alexander
589f2a5f16 Merge pull request #434 from David-NF/patch-3
Add UNABLE_TO_ADD_MODULE to Dutch language
2014-12-04 14:34:09 +01:00
David
4261e3d23d Addition
Source: df9e5c47ea
2014-12-04 11:10:21 +01:00
Marc Alexander
bca1b3b639 [ticket/432] Improve code documentation in statistics module
B3P-432
2014-12-02 23:27:40 +01:00
Marc Alexander
6d050de576 [ticket/432] Reduce complexity of statistics get_template_side()
B3P-432
2014-12-02 23:19:37 +01:00
Marc Alexander
7bd1528c8c Merge pull request #417 from marc1706/ticket/416
[ticket/416] Allow multiple inclusions of certain portal modules
2014-12-02 22:20:02 +01:00
Marc Alexander
c0ea8c59d6 [ticket/416] Add tests for can_add_module()
B3P-416
2014-12-02 21:51:10 +01:00
Marc Alexander
c867d16763 [ticket/416] Cast return of can_add_module() to boolean
B3P-416
2014-12-02 21:51:02 +01:00
Marc Alexander
df9e5c47ea [ticket/416] Fix incorrect behavior discovered by tests
B3P-416
2014-12-02 21:39:39 +01:00
Marc Alexander
ef22291efe [ticket/416] Add tests for adding more than one module if possible
B3P-416
2014-12-02 21:39:12 +01:00
Marc Alexander
b64f8fa9d8 [ticket/416] Add tests for can_multi_include()
B3P-416
2014-12-02 18:26:50 +01:00
Marc Alexander
d1b327ed47 [ticket/416] Remove useless assignment of pagination
B3P-416
2014-12-02 18:04:42 +01:00
Marc Alexander
7dabf61f6b [ticket/416] Only allow adding module more than once on proper modules
B3P-416
2014-12-02 17:50:23 +01:00
Marc Alexander
4bfd4212f4 [ticket/416] Allow multiple announcements modules in subsilver2
B3P-416
2014-12-02 16:34:36 +01:00
Marc Alexander
f010a0a35c [ticket/416] Modify compact announcements to allow multiple inclusions
B3P-416
2014-12-02 12:47:22 +01:00
Marc Alexander
1544d85369 [ticket/416] Allow adding announcements module more than once
B3P-416
2014-12-01 21:51:55 +01:00
Marc Alexander
15fbf01a29 [ticket/416] Allow multiple inclusions of main menu
B3P-416
2014-12-01 21:03:34 +01:00
Marc Alexander
d3bc75ccdf [ticket/416] Do not try check_module_already_exists() with array values
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
b5e317ad06 [ticket/416] Allow adding links module more than once
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
4bf63d4929 [ticket/416] Correctly document input parameter
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
496e0b79cd [ticket/416] Further reduce complexity of constraints_handler
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
8294faf6e6 [ticket/416] Reduce size of can_move_module() method
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
a1ec325790 [ticket/416] Add test for module base
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
cfa063cfc9 [ticket/416] Ignore migrations folder in coverage report
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
a2dd8671b6 [ticket/416] Add handler for module constraints
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
74933dd425 [ticket/416] Move database code for moving modules horizontally to handler
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
0d429b2f29 [ticket/416] Use extra variable in get_module()
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
3a2782b578 [ticket/416] Add one method for moving modules horizontally
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
99c5b164d9 [ticket/416] Use instanceof check in get_module()
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
1a5b678e0d [ticket/416] Cast affected rows to boolean
B3P-416
2014-12-01 15:07:12 +01:00
Marc Alexander
2aae1337dc [ticket/416] Add tests for deleting module
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
16c79dea35 [ticket/416] Use only one method for moving module vertically
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
a55b1002e1 [ticket/416] Add tests for reset_module()
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
7e8a036a7b [ticket/416] Remove non working tests
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
3404aec242 [ticket/416] Add test for handle_ajax_request()
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
dd50d3961a [ticket/416] Add better test coverage for modules manager
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
f6e79075d8 [ticket/416] Move database handling of moving modules vertically to handler
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
8c0d537841 [ticket/416] Add method for handling ajax requests
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
a6b1e82e56 [ticket/416] Move database query for resetting module to database_handler
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
7e8363d849 [ticket/416] Add modules database handler
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
791ae65f22 [ticket/416] Improve controller helper test coverage and fix coding issues
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
8738847a2d [ticket/416] Reduce duplicated code in modules manager
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
c470ebe386 [ticket/416] Use modules manager in acp and tests
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
4bb9d76bb3 [ticket/416] Add portal modules manager
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
1a4e55c10d [ticket/416] Improve portal module and modify tests
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
ccb3193b3c [ticket/416] Add new line at end of file
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
801024d34d [ticket/416] Also use array mapping for string to constant conversion
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
80122ee349 [ticket/416] Use column map in portal columns instead of switch
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
dbb00ee558 [ticket/416] Add class for handling portal columns
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
70c2a8f5ee [ticket/416] Allow multiple news modules in subsilver2 news
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
791e15eb63 [ticket/416] Remove unused code
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
ced68fc73b [ticket/416] Fix news modules variables for independent news modules
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
703e846e37 [ticket/416] Fix pagination for independent news modules
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
e2497fbe7f [ticket/416] Modify news module to allow more than one news module
B3P-416
2014-12-01 15:07:11 +01:00
Marc Alexander
1a29cd4896 [ticket/416] Allow adding module no matter which column it is in
B3P-416
2014-12-01 15:07:10 +01:00
Marc Alexander
f303a738d5 Merge pull request #430 from marc1706/ticket/429
[ticket/429] Remove upload module
2014-12-01 15:06:07 +01:00
Marc Alexander
fa6c211a87 [ticket/429] Remove upload module
It is no longer functional and does not fit the idea of extensions.

B3P-429
2014-12-01 14:41:49 +01:00
Marc Alexander
d7f7e66b17 Merge pull request #427 from David-NF/patch-1
Small writing error
2014-11-30 13:45:49 +01:00
Marc Alexander
f0934e4a51 Merge pull request #428 from David-NF/patch-2
Small writing errors
2014-11-30 11:09:17 +01:00
David
0e7857f5c0 Small writing errors
I made 'UM_LOG_ME_IN' the same as the original Dutch translation 

It's better to use mij instead of me
2014-11-29 19:03:22 +01:00
David
edc9f65924 Small writing error 2014-11-29 19:01:19 +01:00
Marc Alexander
52d9946f86 Merge pull request #425 from marc1706/ticket/424
[ticket/424] Use correct version for check in version check test
2014-11-26 16:29:21 +01:00
Marc Alexander
2290d75388 [ticket/424] Use correct version for check in version check test
B3P-424
2014-11-26 16:28:26 +01:00
Marc Alexander
4d1f24d15c Merge pull request #423 from marc1706/ticket/361
[ticket/361] Prepare package for 2.1.0-RC1 release
2014-11-26 15:36:20 +01:00
Marc Alexander
eb152add05 [ticket/361] Update files to ignore on export
B3P-361
2014-11-26 15:33:57 +01:00
Marc Alexander
7e7b593660 [ticket/361] Update copyright info in portal files
B3P-361
2014-11-26 15:24:09 +01:00
Marc Alexander
c6896d5e01 Merge pull request #422 from marc1706/ticket/334
[ticket/334] Allow overriding the HTML5 clock with flash files
2014-11-26 15:18:32 +01:00
Marc Alexander
876e0e95de [ticket/334] Add clock setting in v210_rc1 migration
B3P-334
2014-11-26 14:53:56 +01:00
Marc Alexander
420d389c27 [ticket/334] Allow specifying flash clock instead of using the standard clock
B3P-334
2014-11-26 14:53:29 +01:00
Marc Alexander
333ee274b5 [ticket/334] Try to resolve functions for portal modules in acp
B3P-334
2014-11-26 14:49:57 +01:00
Marc Alexander
c07de94fe2 Merge pull request #421 from marc1706/ticket/420
[ticket/420] Properly check permissions for news module
2014-11-23 15:47:17 +01:00
Marc Alexander
5f55b9026b [ticket/420] Correctly exclude forums user has no access to
B3P-420
2014-11-23 15:34:48 +01:00
Marc Alexander
e26ffa88b8 [ticket/420] Correctly set permissions for hidden forum
B3P-420
2014-11-23 13:48:02 +01:00
Marc Alexander
88f8f0653a [ticket/420] Fix unrelated tests
B3P-420
2014-11-23 01:12:07 +01:00
Marc Alexander
aa9421f1a1 [ticket/420] Add test for checking if permission check in latest news works
B3P-420
2014-11-23 00:57:29 +01:00
Marc Alexander
cb58112c69 Merge pull request #415 from marc1706/ticket/414
[ticket/414] Add possibility to specify different vendor for module language
2014-11-08 07:22:25 +01:00
Marc Alexander
8628755c07 [ticket/414] Add possibility to specify different vendor for module language
B3P-414
2014-11-08 07:07:29 +01:00
Marc Alexander
25a957ebf6 Merge pull request #413 from BianCionaa/patch-29
Create portal_whois_online_module.php
2014-11-08 06:56:36 +01:00
Marc Alexander
8dbce81126 Merge pull request #412 from BianCionaa/patch-28
Create portal_welcome_module.php
2014-11-08 06:56:30 +01:00
Marc Alexander
48ce1c60ff Merge pull request #411 from BianCionaa/patch-27
Create portal_user_menu_module.php
2014-11-08 06:56:23 +01:00
Marc Alexander
2d55bc5ea3 Merge pull request #410 from BianCionaa/patch-26
Create portal_topposters_module.php
2014-11-08 06:56:18 +01:00
Marc Alexander
b921300708 Merge pull request #409 from BianCionaa/patch-25
Create portal_stylechanger_module.php
2014-11-08 06:56:10 +01:00
Marc Alexander
70fd4543fc Merge pull request #408 from BianCionaa/patch-24
Create portal_statistics_module.php
2014-11-08 06:56:04 +01:00
Marc Alexander
b6f582fac0 Merge pull request #407 from BianCionaa/patch-23
Create portal_search_module.php
2014-11-08 06:55:58 +01:00
Marc Alexander
11ae5cbeab Merge pull request #406 from BianCionaa/patch-22
Create portal_recent_module.php
2014-11-08 06:55:53 +01:00
Marc Alexander
1d45ead71f Merge pull request #405 from BianCionaa/patch-21
Create portal_random_member_module.php
2014-11-08 06:55:43 +01:00
Marc Alexander
e786543335 Merge pull request #404 from BianCionaa/patch-20
Create portal_poll_module.php
2014-11-08 06:55:35 +01:00
Marc Alexander
aec2d84d99 Merge pull request #403 from BianCionaa/patch-19
Create portal_news_module.php
2014-11-08 06:55:29 +01:00
Marc Alexander
a904754ebb Merge pull request #402 from BianCionaa/patch-18
Create portal_main_menu_module.php
2014-11-08 06:55:22 +01:00
Marc Alexander
eeac9c1813 Merge pull request #401 from BianCionaa/patch-17
Create portal_links_module.php
2014-11-08 06:55:16 +01:00
Marc Alexander
97ce6579a8 Merge pull request #400 from BianCionaa/patch-16
Create portal_link_us_module.php
2014-11-08 06:55:10 +01:00
Marc Alexander
a1fe498049 Merge pull request #399 from BianCionaa/patch-15
Create portal_leaders_module.php
2014-11-08 06:55:00 +01:00
Marc Alexander
c2d7ff2254 Merge pull request #398 from BianCionaa/patch-14
Create portal_latest_members_module.php
2014-11-08 06:54:53 +01:00
Marc Alexander
219be1f402 Merge pull request #397 from BianCionaa/patch-13
Create portal_latest_bots_module.php
2014-11-08 06:54:47 +01:00
Marc Alexander
d399a2e4c4 Merge pull request #396 from BianCionaa/patch-12
Create portal_friends_module.php
2014-11-08 06:54:41 +01:00
Marc Alexander
81b4087da4 Merge pull request #395 from BianCionaa/patch-11
Create portal_forumlist_module.php
2014-11-08 06:54:33 +01:00
Marc Alexander
dc09f6f072 Merge pull request #394 from BianCionaa/patch-10
Create portal_donation_module.php
2014-11-08 06:54:26 +01:00
Marc Alexander
f4a8f10ba3 Merge pull request #393 from BianCionaa/patch-9
Create portal_custom_module.php
2014-11-08 06:54:20 +01:00
Marc Alexander
e44ecc137e Merge pull request #392 from BianCionaa/patch-8
Create portal_clock_module.php
2014-11-08 06:54:13 +01:00
Marc Alexander
f6a5de7062 Merge pull request #391 from BianCionaa/patch-7
Create portal_calendar_module.php
2014-11-08 06:54:08 +01:00
Marc Alexander
0d27ba0f84 Add missing less than sign to beginning of file 2014-11-08 06:52:58 +01:00
Marc Alexander
7298b58399 Merge pull request #390 from BianCionaa/patch-6
Create portal_birthday_list_module.php
2014-11-08 06:52:27 +01:00
Marc Alexander
1099a2cd2f Merge pull request #389 from BianCionaa/patch-5
Create portal_attachments_module.php
2014-11-08 06:50:59 +01:00
Marc Alexander
6032016631 Merge pull request #388 from BianCionaa/patch-4
Create portal_announcements_module.php
2014-11-08 06:50:41 +01:00
Marc Alexander
c87709a741 Merge pull request #387 from BianCionaa/patch-3
Create portal_acp.php
2014-11-08 06:50:31 +01:00
Marc Alexander
dacb445b51 Merge pull request #386 from BianCionaa/patch-2
Create portal.php
2014-11-08 06:50:24 +01:00
Marc Alexander
e902fc2090 Merge pull request #385 from BianCionaa/patch-1
Create info_acp_portal.php
2014-11-08 06:50:15 +01:00
BianCionaa
4a490385c8 Create portal_whois_online_module.php 2014-11-07 23:24:03 +01:00
BianCionaa
4c5c068adc Create portal_welcome_module.php 2014-11-07 23:23:34 +01:00
BianCionaa
fc395182e3 Create portal_user_menu_module.php 2014-11-07 23:23:11 +01:00
BianCionaa
d71380e88b Create portal_topposters_module.php 2014-11-07 23:22:46 +01:00
BianCionaa
ecef40e3a1 Create portal_stylechanger_module.php 2014-11-07 23:22:24 +01:00
BianCionaa
8efbe99abc Create portal_statistics_module.php 2014-11-07 23:21:59 +01:00
BianCionaa
6588def851 Create portal_search_module.php 2014-11-07 23:21:21 +01:00
BianCionaa
797abf5367 Create portal_recent_module.php 2014-11-07 23:20:49 +01:00
BianCionaa
7486dc94d0 Create portal_random_member_module.php 2014-11-07 23:20:19 +01:00
BianCionaa
612a8e5f78 Create portal_poll_module.php 2014-11-07 23:19:44 +01:00
BianCionaa
76df8a08b5 Create portal_news_module.php 2014-11-07 23:19:15 +01:00
BianCionaa
ed8644facb Create portal_main_menu_module.php 2014-11-07 23:18:51 +01:00
BianCionaa
b9689cad2c Create portal_links_module.php 2014-11-07 23:18:22 +01:00
BianCionaa
0069fe1850 Create portal_link_us_module.php 2014-11-07 23:18:00 +01:00
BianCionaa
a3bba23b23 Create portal_leaders_module.php 2014-11-07 23:17:30 +01:00
BianCionaa
b4a029a0b0 Create portal_latest_members_module.php 2014-11-07 23:16:40 +01:00
BianCionaa
172a985595 Create portal_latest_bots_module.php 2014-11-07 23:16:07 +01:00
BianCionaa
88696e0863 Create portal_friends_module.php 2014-11-07 23:15:38 +01:00
BianCionaa
61fc372bb0 Create portal_forumlist_module.php 2014-11-07 23:15:10 +01:00
BianCionaa
16df69fac3 Create portal_donation_module.php 2014-11-07 23:14:42 +01:00
BianCionaa
5579ea1043 Create portal_custom_module.php 2014-11-07 23:14:13 +01:00
BianCionaa
a3de2c8f23 Create portal_clock_module.php 2014-11-07 23:13:46 +01:00
BianCionaa
0aa26d9e3f Create portal_calendar_module.php 2014-11-07 23:13:08 +01:00
BianCionaa
cf23e694a3 Create portal_birthday_list_module.php 2014-11-07 23:12:42 +01:00
BianCionaa
cddf5d2922 Create portal_attachments_module.php 2014-11-07 23:12:14 +01:00
BianCionaa
758ae3c414 Create portal_announcements_module.php 2014-11-07 23:11:43 +01:00
BianCionaa
f737eded48 Create portal_acp.php 2014-11-07 23:09:30 +01:00
BianCionaa
351ab0494e Create portal.php 2014-11-07 23:08:09 +01:00
BianCionaa
fbe9915c15 Create info_acp_portal.php
Dutch translation
2014-11-07 23:05:05 +01:00
Marc Alexander
d7fa0ae6aa Merge pull request #384 from marc1706/ticket/243
[ticket/243] Improve portal responsiveness
2014-11-02 16:02:41 +01:00
Marc Alexander
c80c412563 [ticket/243] Pass module_classname in confirm_box
B3P-243
2014-11-02 15:48:32 +01:00
Marc Alexander
14d39ae961 [ticket/243] Fix responsive layout of portal
B3P-243
2014-11-02 15:35:13 +01:00
Marc Alexander
1c47512066 [ticket/243] Fix paths to javascript files
B3P-243
2014-11-02 15:34:47 +01:00
Marc Alexander
05777c0812 [ticket/243] Remove msie check as it's not supported anymore and fix call
B3P-243
2014-11-02 15:34:24 +01:00
Marc Alexander
2d40c6060a [ticket/243] Move js files to assets folder and add getscrollbarwidth
B3P-243
2014-11-02 15:29:52 +01:00
Marc Alexander
5fbe4f5d5f Merge pull request #383 from marc1706/ticket/382
[ticket/382] Fix inheritdoc and functions_upload docblock
2014-10-31 08:07:46 +01:00
Marc Alexander
29ebc6230b [ticket/382] Check if pagination is not empty
B3P-382
2014-10-31 07:55:29 +01:00
Marc Alexander
5f04c9a2bb [ticket/382] Code clean up in modules
B3P-382
2014-10-31 07:49:46 +01:00
Marc Alexander
a4336cfff2 [ticket/382] Clean up in module base
B3P-382
2014-10-31 07:41:06 +01:00
Marc Alexander
b402df024d [ticket/382] More code clean up
B3P-382
2014-10-31 07:41:01 +01:00
Marc Alexander
7e6ba60948 [ticket/382] Clean up custom module
B3P-382
2014-10-31 07:33:20 +01:00
Marc Alexander
51e94518f4 [ticket/382] Clean up calendar module
B3P-382
2014-10-31 07:31:37 +01:00
Marc Alexander
361c0d9729 [ticket/382] Remove unused code and fix logic issue
B3P-382
2014-10-31 07:25:04 +01:00
Marc Alexander
2c951d8c4b [ticket/382] Correctly specfiy return types of get_template methods
B3P-382
2014-10-31 07:13:16 +01:00
Marc Alexander
aa6e53812b [ticket/382] Fix inheritdoc and functions_upload docblock
B3P-382
2014-10-31 07:08:57 +01:00
Marc Alexander
e39eefded5 Merge pull request #381 from marc1706/ticket/369
[ticket/369] Remove config variables starting with board3_portal_ on install
2014-10-31 07:00:53 +01:00
Marc Alexander
41f6d77b7f [ticket/369] Remove config variables starting with board3_portal_ on install
B3P-369
2014-10-31 06:44:50 +01:00
Marc Alexander
9a60ff9306 Merge pull request #380 from marc1706/ticket/378
[ticket/378] Hide portal link if it's disabled
2014-09-25 11:32:16 +02:00
Marc Alexander
e9c8ffe28f [ticket/378] Add functional test and correct check in listener
B3P-378
2014-09-24 23:59:08 +02:00
Marc Alexander
2eaefd0b6a Merge pull request #379 from marc1706/ticket/377
[ticket/377] Align portal columns right-to-left in rtl languages
2014-09-24 22:46:14 +02:00
Marc Alexander
b739cce3eb [ticket/378] Hide portal link if it's disabled
B3P-378
2014-09-24 19:51:08 +02:00
Marc Alexander
1afb392199 [ticket/377] Align portal columns right-to-left in rtl languages
With the old table layout, the left columns always displayed on the right
in rtl languages and vice-versa for the left right column. This should be
changed back in the tableless layout.

B3P-377
2014-09-21 19:39:20 +02:00
Marc Alexander
c2bb81dbd6 Merge pull request #376 from marc1706/ticket/351
[ticket/351] Use version_helper and json version file for version check
2014-09-20 01:52:07 +02:00
Marc Alexander
1a761b75e8 Merge pull request #375 from marc1706/ticket/368
[ticket/368] Correctly display clock in rtl languages
2014-09-20 01:40:35 +02:00
Marc Alexander
4e1bce320e [ticket/351] Use version_helper and json version file for version check
B3P-351
2014-09-20 01:39:23 +02:00
Marc Alexander
436a2d7255 [ticket/368] Correctly display clock in rtl languages
B3P-368
2014-09-20 00:26:22 +02:00
Marc Alexander
d9ea2e4dda Merge pull request #374 from marc1706/ticket/365
[ticket/365] Fix alignment in rtl languages
2014-09-19 00:14:19 +02:00
Marc Alexander
da83856c00 [ticket/365] Fix tests due to controller helper changes
B3P-365
2014-09-18 23:39:04 +02:00
Marc Alexander
7107660669 [ticket/365] Fix alignment in rtl languages
B3P-365
2014-09-18 22:57:09 +02:00
Marc Alexander
099a089145 Merge pull request #373 from marc1706/ticket/365
[ticket/365] Remove inline css from random member module
2014-09-16 01:23:09 +02:00
Marc Alexander
d6815f7468 [ticket/365] Enable poll side module again
B3P-365
2014-09-16 01:07:07 +02:00
Marc Alexander
1aa5cffac6 [ticket/365] Remove inline css from poll side and fix poll side layout
B3P-365
2014-09-16 01:06:18 +02:00
Marc Alexander
3f1a4ed2f1 [ticket/365] Remove inline CSS from poll center where possible
B3P-365
2014-09-16 00:47:18 +02:00
Marc Alexander
08a10d7866 [ticket/365] Remove inline CSS from calendar module
B3P-365
2014-09-16 00:35:34 +02:00
Marc Alexander
4b3b1d2a1c [ticket/365] Remove inline css from donations center
B3P-365
2014-09-16 00:13:01 +02:00
Marc Alexander
3d9ec1a134 [ticket/365] Remove inline css from recent center module
B3P-365
2014-09-15 23:08:40 +02:00
Marc Alexander
1301541e03 [ticket/365] Remove inline css from random member module
B3P-365
2014-09-13 18:26:45 +02:00
Marc Alexander
49cc27c7c9 Merge pull request #371 from marc1706/ticket/365
[ticket/365] Use portal.css instead of inline css in donations module
2014-09-11 00:36:46 +02:00
Marc Alexander
0d27f01ec4 [ticket/365] Unify announcements and news module and remove inline css
B3P-365
2014-09-11 00:20:01 +02:00
Marc Alexander
b0830f2eae [ticket/365] Remove inline css in announcements_center_compact
B3P-365
2014-09-10 18:41:55 +02:00
Marc Alexander
75ae957684 [ticket/365] Remove inline css from announcements_center module
B3P-365
2014-09-10 18:31:29 +02:00
Marc Alexander
e0c404a059 [ticket/365] Remove inline css from announcements center
B3P-365
2014-09-10 18:23:19 +02:00
Marc Alexander
04e9b20871 [ticket/365] Remove inline css from user menu
B3P-365
2014-09-10 18:12:18 +02:00
Marc Alexander
46a7f142cd [ticket/365] Use portal.css instead of inline css in donations module
B3P-365
2014-09-10 18:03:31 +02:00
Marc Alexander
8418e01c56 Merge pull request #370 from marc1706/ticket/365
[ticket/365] Remove more inline CSS from prosilver files
2014-09-09 20:58:29 +02:00
Marc Alexander
cd1f77a48a [ticket/365] Move inline CSS of whois online to portal.css
B3P-365
2014-09-09 20:25:55 +02:00
Marc Alexander
47e178b564 [ticket/365] Remove more inline CSS from prosilver files
B3P-365
2014-09-08 17:23:37 +02:00
Marc Alexander
2227998de5 Merge pull request #367 from marc1706/ticket/365
[ticket/365] Move inline CSS from HTML to CSS files
2014-09-07 15:17:38 +02:00
Marc Alexander
8fb01f997d [ticket/365] Add missing removal of inline css in edited files
B3P-365
2014-09-07 15:03:17 +02:00
Marc Alexander
d7343e2b3d [ticket/365] Use css classes in attachments module
B3P-365
2014-09-07 14:53:01 +02:00
Marc Alexander
7fc27b3483 [ticket/365] Move CSS of lines related to portal users icons to portal.css
B3P-365
2014-09-07 00:35:37 +02:00
Marc Alexander
8258d70f07 [ticket/365] Move inline CSS rules of portal user icon to portal.css
B3P-365
2014-09-06 23:45:04 +02:00
Marc Alexander
1a87ad3431 Merge pull request #366 from marc1706/ticket/320
[ticket/320] Remove setting for displaying phpBB menu from acp
2014-09-05 20:56:10 +02:00
Marc Alexander
099beb8153 [ticket/320] Remove setting for displaying phpBB menu from acp
B3P-320
2014-09-03 20:40:52 +02:00
Marc Alexander
27eef620ba Merge pull request #364 from marc1706/ticket/349
[ticket/349] Correctly allow editing of link with ID 0
2014-08-27 10:35:49 +02:00
Marc Alexander
a277d6a08a Merge pull request #363 from marc1706/ticket/354
[ticket/354] Hide portal link if U_PORTAL is not set
2014-08-27 10:35:13 +02:00
Marc Alexander
068691f8c5 [ticket/349] Correctly allow editing of link with ID 0
B3P-349
2014-08-26 22:07:54 +02:00
Marc Alexander
c919f92446 [ticket/354] Hide portal link if U_PORTAL is not set
B3P-354
2014-08-26 22:03:18 +02:00
Marc Alexander
4e16c7bd1b Merge pull request #362 from marc1706/ticket/358
[ticket/358] Remove use of T_EXT_THEME_PATH
2014-08-26 14:50:46 +02:00
Marc Alexander
fc6b1ef5b0 [ticket/358] Remove T_EXT_THEME_PATH from overal_header_head_append
Also, the responsive CSS file for the portal has been renamed to
portal_responsive.css in order to prevent conflicts with other extensions.

B3P-358
2014-08-26 13:44:50 +02:00
Marc Alexander
c7fa3e3bdd [ticket/358] Remove uses of T_EXT_THEME_PATH in subsilver
B3P-358
2014-08-25 23:38:47 +02:00
Marc Alexander
b6e39159b7 [ticket/358] Remove uses of T_EXT_THEME_PATH in prosilver files
B3P-358
2014-08-25 23:20:48 +02:00
Marc Alexander
5c35cb9cf8 [ticket/358] Remove use of T_EXT_THEME_PATH in attachments side
Additionally, we'll now also test that the portal doesn't show errors
while using subsilver.

B3P-358
2014-08-25 22:49:13 +02:00
Marc Alexander
db7ad0361d Merge pull request #360 from marc1706/ticket/354
[ticket/354] Do not show portal link if user is not authed to see it
2014-08-25 00:25:53 +02:00
Marc Alexander
f737a7d683 [ticket/354] Do not show portal link if user is not authed to see it
B3P-354
2014-08-25 00:12:46 +02:00
Marc Alexander
917eb48e07 Merge pull request #359 from marc1706/ticket/349
[ticket/349] Pass link_id to form when submitting edited link
2014-08-24 23:32:43 +02:00
Marc Alexander
52c668eba1 [ticket/349] Pass link_id to form when submitting edited link
B3P-349
2014-08-24 23:19:35 +02:00
Marc Alexander
55c4a06f99 Merge pull request #357 from marc1706/ticket/355
[ticket/355] Rename MOD version check to Extension version check
2014-08-24 22:59:28 +02:00
Marc Alexander
b8266eed8d [ticket/355] Rename MOD version check to Extension version check
B3P-355
2014-08-24 22:58:22 +02:00
Marc Alexander
b1dcd62fb2 Merge pull request #355 from phpbb-es/patch-1
Update portal_acp.php
2014-08-24 22:57:25 +02:00
phpBB España
bfec89846b Update portal_acp.php
Marc, I think you do not need this part ...?
Lines 122 to 133
2014-08-24 17:52:27 +02:00
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
259d6d80e4 Merge pull request #164 from marc1706/birthday/year_opt
[birthday/year_opt] Make year optional for displaying date in birthday ahead
2013-10-29 05:46:28 -07:00
Marc Alexander
36fdb4d33d [birthday/year_opt] Make year optional for displaying date in birthday ahead 2013-10-29 13:43:13 +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
32a63f3124 Merge pull request #160 from marc1706/update/install
[update/install] Update installation/update files for release
2013-10-27 09:39:28 -07:00
Marc Alexander
8e65ce57aa [update/install] Update installation/update files for release 2013-10-27 17:38:46 +01:00
Marc Alexander
68da22bc28 Merge pull request #159 from marc1706/birthday/php_5_5_compat
[birthday/php_5_5_compat] Remove unneeded functions from birthday list
2013-10-27 09:28:21 -07:00
Marc Alexander
ad82abde08 [birthday/php_5_5_compat] Remove unneeded functions from birthday list 2013-10-27 17:25:09 +01:00
Marc Alexander
bd78cc73cd Merge pull request #158 from marc1706/birthday/php_5_5_compat
[birthday/php_5_5_compat] Filter out array elements from lang dates
2013-10-26 09:43:33 -07:00
Marc Alexander
6bbd7cff42 [birthday/php_5_5_compat] Filter out array elements from lang dates 2013-10-26 18:42:39 +02:00
Marc Alexander
c2e839defb Merge pull request #157 from marc1706/improve/design
[improve/design] Slight changes to menu and recent topics design
2013-10-26 09:05:10 -07:00
Marc Alexander
09dad56bcf [improve/design] Slight changes to menu and recent topics design 2013-10-26 18:03:29 +02:00
Marc Alexander
aae9917f9f Merge pull request #156 from marc1706/birthday/ahead_date
[birthday/ahead_date] Add span title with date to birthday ahead list
2013-10-26 08:38:52 -07:00
Marc Alexander
70a77ca298 [birthday/ahead_date] Add span title with date to birthday ahead list 2013-10-26 17:37:56 +02:00
Marc Alexander
0f7ae90fb6 Merge pull request #155 from marc1706/fix/acp_logs
[fix/acp-logs] Do not create duplicate acp logs and fix custom module logs
2013-10-26 06:01:54 -07:00
Marc Alexander
58ced7a6e7 [fix/acp-logs] Do not create duplicate acp logs and fix custom module logs 2013-10-26 14:56:35 +02: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
ee38238199 Merge pull request #151 from marc1706/fix/update
[fix/update] Copy German language files in German language update
2013-10-14 05:07:21 -07:00
Marc Alexander
6c54de1662 [fix/update] Copy German language files in German language update
B3P-FIX-DE_UPDATE
2013-10-14 14:04:55 +02:00
Marc Alexander
6130bcab38 Merge pull request #150 from marc1706/fix/german
[fix/german] Fix incorrect language strings in the German files
2013-10-14 05:03:27 -07:00
Marc Alexander
7d42187fb1 [fix/german] Fix incorrect language strings in the German files
B3P-FIX-DE
2013-10-14 14:02:17 +02:00
Marc Alexander
18c27f17d8 Merge pull request #149 from marc1706/ticket/226
[ticket/226] Use $this->c_class instead of $c_class
2013-10-14 02:57:20 -07:00
Marc Alexander
533701b201 [ticket/226] Use $this->c_class instead of $c_class
B3P-226
2013-10-14 11:56:17 +02:00
Marc Alexander
7b0864411b Merge pull request #148 from marc1706/translate/changes
[translate/changes] Translate 2.0.2 changes to German
2013-10-06 07:09:02 -07:00
Marc Alexander
3ab6e550c4 [translate/changes] Translate 2.0.2 changes to German
B3P-TRNS-CHANGES
2013-10-06 16:07:11 +02:00
Marc Alexander
dc032effb8 Merge pull request #147 from marc1706/remove/format_birthday
[remove/format_birthday] Remove useless function format_birthday()
2013-10-06 06:55:06 -07:00
Marc Alexander
e594d23f79 [remove/format_birthday] Remove useless function format_birthday()
B3P-RM-FORMAT_BIRTHDAY
2013-10-06 15:53:53 +02:00
Marc Alexander
277784bd11 Merge pull request #146 from marc1706/fix/xml
[fix/xml] Use dependency again for mod version check links
2013-10-06 04:08:51 -07:00
Marc Alexander
65c5406ae8 [fix/xml] Use dependency again for mod version check links
B3P-FIX_XML
2013-10-06 13:07:57 +02:00
Marc Alexander
1c6e503d2e Merge pull request #145 from marc1706/update/2.0.2
[update/2.0.2] Update files for 2.0.2 release
2013-10-06 03:59:36 -07:00
Marc Alexander
9d0a483ab3 [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
2013-10-06 12:58:06 +02:00
Marc Alexander
4640b00d3d Merge pull request #144 from marc1706/gh/113
[gh/113] Update UMIL to 1.0.5
2013-10-06 02:47:03 -07:00
Marc Alexander
7a1cf0e9ee [gh/113] Update UMIL to 1.0.5
B3P-GH-113
2013-10-06 11:46:10 +02:00
Marc Alexander
c71695dfcb Merge pull request #143 from marc1706/feature/clean-up
[feature/clean-up] Remove duplicated code from portal modules
2013-10-06 02:44:43 -07:00
Marc Alexander
93376e16a5 [feature/clean-up] Remove duplicated code from portal modules
B3P-CU
2013-10-05 11:00:33 +02:00
Marc Alexander
7d2a124bbc Merge pull request #142 from marc1706/ticket/223
[ŧicket/223] Set correct permissions to uploaded files (644)
2013-10-04 07:33:46 -07:00
Marc Alexander
651514aa54 [ŧ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-04 16:32:10 +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
aac0e22962 Merge pull request #140 from marc1706/ticket/224
[ticket/224] Add possibility to append username to donation
2013-09-21 05:23:29 -07:00
Marc Alexander
cd4dd32e0d [ticket/224] Add possibility to append username to donation
B3P-224
2013-09-21 14:22:16 +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
22b51dfb66 Merge pull request #132 from marc1706/ticket/120
[ticket/120] Move birthday block HTML to template files
2013-06-09 07:42:06 -07:00
Marc Alexander
9d8089b287 [ticket/120] Move birthday block HTML to template files
B3P-120
2013-06-09 16:40:56 +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
a2ffc65d1d Merge pull request #116 from marc1706/calendar/one_day_off
Display correct day of the week with negative UTC offset
2013-02-15 01:46:22 -08:00
Marc Alexander
36903cb9c8 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.
2013-02-15 10:45:12 +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
58aa86123a Merge pull request #110 from marc1706/cleanup/whitespace
[cleanup/whitespace] Get rid of unnecessary whitespace
2013-01-08 13:51:05 -08:00
Marc Alexander
407f8df8a4 [cleanup/whitespace] Get rid of unnecessary whitespace 2013-01-08 22:33:23 +01:00
Marc Alexander
61685ce96a Merge pull request #109 from marc1706/cleanup/tabs
[cleanup/tabs] Remove unnecessary tabbing in portal files
2013-01-04 08:00:52 -08:00
Marc Alexander
0b4eafdd9e Merge branch 'master' of github.com:board3/Board3-Portal into cleanup/tabs
Conflicts:
	root/includes/acp/acp_portal.php
	root/language/de/mods/info_acp_portal.php
	root/language/en/mods/info_acp_portal.php
2013-01-04 16:59:37 +01:00
Marc Alexander
f948811044 [cleanup/tabs] Remove unnecessary tabbing in portal files 2013-01-04 16:51:43 +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
8854bb4a4b Merge pull request #106 from marc1706/cleanup/acp
[cleanup/acp] Make acp_portal module more readable
2012-12-24 05:26:33 -08:00
Marc Alexander
316cbfb59b [cleanup/acp] Make acp_portal module more readable 2012-12-24 14:20:47 +01: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
741df3475e Merge pull request #105 from marc1706/ticket/217
[ticket/217] Handle incorrect values in the news URL
2012-12-07 16:46:35 -08:00
Marc Alexander
fb84ff92ae [ticket/217] Handle incorrect values in the news URL
The news module was actually comparing the id of the selected news
with the maximum allowed length of a news article.

B3P-217
2012-12-08 01:44:03 +01:00
Marc Alexander
025421ff94 Merge pull request #104 from marc1706/ticket/216
[ticket/216] Add function for obtaining user's groups
2012-12-06 16:04:02 -08:00
Marc Alexander
d5b91d4c01 [ticket/216] Add function for obtaining user's groups
B3P-216
2012-12-07 00:59:57 +01: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
075a12dbca Merge pull request #99 from marc1706/master
Add missing language variable "NO_FILE_B3P"
2012-10-13 13:02:37 -07:00
Marc Alexander
0c90a1c613 Add missing error messages to links & main menu modules 2012-10-13 22:01:50 +02:00
Marc Alexander
326d9013b2 Add missing language variable "NO_FILE_B3P" 2012-10-13 21:50:30 +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
370f96aa99 Update install & update instructions for 2.0.1 2012-09-08 16:30:44 +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
1f55dd564c Remove update for beta version 2012-08-26 16:36:29 +02: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
1aeed1e4ec Remove update instructions for old releases
Fixed #86
2012-08-26 16:30:06 +02: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
Marc Alexander
74b5f6f87c Add missing error messages to links & main menu modules 2012-08-25 17:01:13 +02:00
Marc Alexander
12b792bb38 Merge pull request #93 from marc1706/master
Save module settings even if module image can't be found
2012-08-11 09:18:16 -07:00
Marc Alexander
c4026c9066 Save module settings even if module image can't be found 2012-08-11 17:28:41 +02:00
Marc Alexander
eb5f1f8156 Add .gitignore 2012-08-10 13:17:56 +02:00
Marc Alexander
8234c97a82 Merge pull request #92 from marc1706/master
Remove unnecessary variables from format_birthday() & clean-up
2012-08-09 06:08:04 -07:00
Marc Alexander
2b100c2792 Remove unnecessary variables from format_birthday() & clean-up 2012-08-09 15:02:39 +02:00
Marc Alexander
3645336aeb Merge pull request #91 from marc1706/master
Display events that start in the next 24 Hours as "Current"
2012-08-04 08:14:22 -07:00
Marc Alexander
1ea5e2bfd7 Display events that start in the next 24 Hours as "Current"
Cleaned some more code up, too. Using constants instead of magic
numbers in some places where it makes sense to use them.
2012-08-04 17:12:25 +02:00
Marc Alexander
7ddb84c514 Merge pull request #90 from marc1706/master
Fix: Infinite loop caused by smiley code with "["
2012-08-04 04:26:36 -07:00
Marc Alexander
ec54bb99c4 Fix: Infinite loop caused by smiley code with "["
This reworks the previous commit and fix the incorrect readings.
I would've rebased but my windows git is missing some commands for
not so obvious reasons.
2012-08-04 13:23:05 +02:00
Marc Alexander
1c4a73efa7 Merge pull request #89 from marc1706/master
Only variables can be passed by ref in strict mode
2012-07-30 13:08:09 -07:00
Marc Alexander
8327c46551 Only variables can be passed by ref in strict mode
Fix for PHP 5.5.x
2012-07-30 22:04:58 +02:00
Marc Alexander
b8f9b6a83f Merge pull request #88 from marc1706/master
Fix: Infinite loop caused by smiley code with "["
2012-07-30 13:01:17 -07:00
Marc Alexander
cea6d2b155 Fix: Infinite loop caused by smiley code with "["
Complete error description here:
http://www.flying-bits.org/tracker.php?p=33&t=978
2012-07-30 21:45:06 +02:00
Marc Alexander
4f83baee6f Merge pull request #87 from marc1706/master
Remove converter for Board3 Portal 1.0.6
2012-06-27 08:12:41 -07:00
Marc Alexander
a72b7b788f Remove converter for Board3 Portal 1.0.6
Fixed #85
2012-06-27 17:10:06 +02:00
Marc Alexander
011163669f Merge pull request #84 from marc1706/master
Add missing language var for logs after removing a link
2012-06-23 14:00:50 -07:00
Marc Alexander
591d6af124 Add missing language var for logs after removing a link 2012-06-23 22:59:07 +02:00
Marc Alexander
a68b9b1904 Merge pull request #83 from marc1706/master
Enable stylechanger for guests again
2012-06-23 06:07:52 -07:00
Marc Alexander
009b90f9cb Enable stylechanger for guests again
Update install files for next release
2012-06-23 15:05:39 +02:00
Marc Alexander
d84dda8fe1 Merge pull request #82 from marc1706/master
Properly handle mutated vowels in links
2012-06-19 07:57:47 -07:00
Marc Alexander
e81bb0f967 Properly handle mutated vowels in links 2012-06-19 15:51:41 +02:00
Marc Alexander
0f53f6de07 Merge pull request #81 from marc1706/master
Fix incorrect space above calendar in IE9
2012-06-11 05:03:45 -07:00
Marc Alexander
e5182d667b Merge pull request #80 from marc1706/e5206ff46deb942e4716f2a4125e060c66edc4b2
Fix PHP notice when unable to rename
2012-06-11 05:03:19 -07:00
Marc Alexander
f203232c60 Fix incorrect space above calendar in IE9 2012-06-11 13:50:49 +02:00
Marc Alexander
e5206ff46d Fix PHP notice when unable to rename
Also change chmod() to phpbb_chmod()
2012-06-06 15:00:19 +02:00
Marc Alexander
e0210130d7 Merge pull request #78 from marc1706/master
[ticket/206] Missing link to MCP in subsilver2
2012-06-05 13:51:21 -07:00
Marc Alexander
9907b61aa9 [ticket/206] Missing link to MCP in subsilver2 2012-06-05 22:49:15 +02:00
Marc Alexander
778de7ca84 Merge pull request #77 from marc1706/master
[ticket/207] Debug warning in ACP when using PHP 5.4
2012-06-05 13:46:40 -07:00
Marc Alexander
d8558bafb0 [ticket/207] Debug warning in ACP when using PHP 5.4 2012-06-05 22:43:56 +02:00
Marc Alexander
72c882b691 Merge pull request #76 from marc1706/master
[ticket/203] Future all day events are always displayed as current
2012-06-05 13:27:14 -07:00
Marc Alexander
5ae08f7604 [ticket/203] Future all day events are always displayed as current 2012-06-05 22:24:29 +02:00
Marc Alexander
d7cfebbd31 Merge pull request #75 from marc1706/master
Fix incorrect space between blocks in IE9
2012-06-04 09:04:32 -07:00
Marc Alexander
2acdafd27b Fix incorrect space between blocks in IE9 2012-06-04 18:00:34 +02:00
Marc Alexander
29ac558758 Merge pull request #74 from marc1706/master
Fix error if server-side topic marking is disabled
2012-05-24 11:32:10 -07:00
Marc Alexander
0d6b235b87 Fix error if server-side topic marking is disabled 2012-05-24 20:30:23 +02:00
Marc Alexander
be189babd4 Merge pull request #73 from marc1706/master
Fix incorrect config_name in portal_recent.php
2012-05-14 15:23:04 -07:00
Marc Alexander
7fe2d484ab Fix incorrect config_name in portal_recent.php 2012-05-15 00:19:02 +02:00
Marc Alexander
84bbe65ed7 Merge pull request #72 from marc1706/master
Fix previous commit for calendar
2012-04-30 11:04:05 -07:00
Marc Alexander
9f835088da Fix previous commit for calendar 2012-04-30 20:02:17 +02:00
Marc Alexander
aea49ee61a Merge pull request #71 from marc1706/master
Fixed incorrect handling of months by strtotime
2012-04-30 09:27:19 -07:00
Marc Alexander
d7dc9cfb04 Fixed incorrect handling of months by strtotime 2012-04-30 18:23:50 +02:00
Marc Alexander
62ca3c2478 Merge pull request #70 from marc1706/master
Add rel="nofollow" to calendar navigation
2012-04-20 04:10:01 -07:00
Marc Alexander
7eca7c6b58 Add rel="nofollow" to calendar navigation 2012-04-20 13:08:44 +02:00
Marc Alexander
2f0831eec4 Merge pull request #69 from marc1706/master
Redirect to portal.php when detecting incorrect announcement parameter
2012-04-12 11:05:59 -07:00
Marc Alexander
f97fad470a Redirect to portal.php when detecting incorrect announcement parameter 2012-04-12 20:01:50 +02:00
Marc Alexander
3e841584fa Merge pull request #68 from marc1706/master
Moving algorithm should finally be fixed now
2012-04-08 13:52:19 -07:00
Marc Alexander
361fc247f7 Moving algorithm should finally be fixed now 2012-04-08 22:50:21 +02:00
Marc Alexander
972e10d82c Merge pull request #67 from marc1706/master
Fix me messing up
2012-04-08 08:28:15 -07:00
Marc Alexander
858e643a4b Add missing edit to portal_attachments.php after c0e0191945 2012-04-08 17:23:17 +02:00
Marc Alexander
86eb3e7526 Make sure we can only move modules to allowed columns
Moving a module to a column type (side & center columns) where
this module already exists will cause massive issues
2012-04-08 17:19:01 +02:00
Marc Alexander
a7bb3b3226 Add missing edit to portal_attachments.php after c0e0191945 2012-04-07 17:53:03 +02:00
Marc Alexander
908db8fa6c Merge pull request #63 from marc1706/master
Fix incorrect filtering of custom blocks from drop-down list
2012-04-07 03:24:18 -07:00
Marc Alexander
cf3784b780 Fix incorrect filtering of custom blocks from drop-down list 2012-04-07 12:17:47 +02:00
Marc Alexander
01755ad5b5 Merge pull request #62 from marc1706/master
Updated install.xml
2012-04-06 04:44:03 -07:00
Marc Alexander
0f54212e90 Updated changelog 2012-04-06 13:39:21 +02:00
Marc Alexander
df17f6f59f Add note to DIY-instructions that user needs to remove install folder 2012-04-06 13:29:34 +02:00
Marc Alexander
07c527e855 Merge pull request #61 from marc1706/master
Hide modules that can't be added
2012-04-06 02:51:56 -07:00
Marc Alexander
724505062c Hide modules that can't be added 2012-04-06 11:50:46 +02:00
Marc Alexander
6b86ea9094 Merge pull request #60 from marc1706/master
Moved duplicate javascript to acp_portal.js
2012-04-06 02:39:58 -07:00
Marc Alexander
c34c6efe57 Moved duplicate javascript to acp_portal.js 2012-04-06 11:38:18 +02:00
Marc Alexander
ab6db7e57d Merge pull request #59 from marc1706/master
Fixed exceeding of max execution time when using trim message tool
2012-04-03 02:06:17 -07:00
Marc Alexander
2c0838b2c3 Fixed exceeding of max execution time when using trim message tool 2012-04-03 11:03:07 +02:00
Marc Alexander
435e8b7e5f Merge pull request #58 from marc1706/master
Added missing language vars and removed useless ones
2012-03-13 03:39:17 -07:00
Marc Alexander
f2aad0b6a2 Added missing language vars and removed useless ones
Purge caches via install file
2012-03-13 11:24:48 +01:00
Marc Alexander
bd0659b36f Merge pull request #57 from marc1706/master
Update update instructions in order to fit 83ac08a
2012-03-07 06:22:37 -08:00
Marc Alexander
53953d4476 Update update instructions in order to fit 83ac08a9d2 2012-03-07 15:19:56 +01:00
Marc Alexander
1ecf1372e9 Merge pull request #56 from marc1706/master
[Fix] Don't let Bots use styleswitcher
2012-03-07 03:56:16 -08:00
Marc Alexander
83ac08a9d2 [Fix] Don't let Bots use styleswitcher 2012-03-07 11:53:06 +01:00
Marc Alexander
0e263e7f34 Merge pull request #55 from marc1706/master
Make sure we don't try to copy folders
2012-02-26 04:20:40 -08:00
Marc Alexander
8e4cb28569 Merge pull request #54 from marc1706/master
Get rid of magic numbers in portal.php
2012-02-26 04:20:11 -08:00
Marc Alexander
4917e8ca3c Make sure we don't try to copy folders 2012-02-26 13:19:14 +01:00
Marc Alexander
9e542e181d Get rid of magic numbers in portal.php 2012-02-26 13:00:22 +01:00
Marc Alexander
d92d1fb476 Merge pull request #53 from marc1706/master
Fixing incorrect size of module box for oneliners
2012-02-25 16:04:03 -08:00
Marc Alexander
adaad84a1b Merge pull request #52 from marc1706/master
Fixed "unknown column" issue when installing
2012-02-25 16:03:26 -08:00
Marc Alexander
2e95c0f6ee Fixing incorrect size of module box for oneliners 2012-02-26 01:01:36 +01:00
Marc Alexander
1dd041d67d Fixed "unknown column" issue when installing 2012-02-26 00:42:58 +01:00
Marc Alexander
b198ef8930 Merge pull request #51 from marc1706/master
Fix size of input boxes
2012-02-01 12:59:40 -08:00
Marc Alexander
732098f461 Fix size of input boxes 2012-02-01 21:58:15 +01:00
Marc Alexander
7e6ada25d7 Merge pull request #50 from marc1706/master
Add missing class references
2012-02-01 12:50:36 -08:00
Marc Alexander
8ea4242591 Merge pull request #49 from marc1706/master
Update to last few changes before test release
2012-02-01 12:49:44 -08:00
Marc Alexander
9850484fa3 Add missing class references 2012-02-01 21:43:18 +01:00
Marc Alexander
394a3677c1 Fixed incorrect size of input box in link us module 2012-01-06 20:31:34 +01:00
Marc Alexander
551ebc31f2 Added missing link to update instructions 2012-01-05 13:10:32 +01:00
Marc Alexander
4209c3e1f7 Add missing update instructions for 2.0.0b1 2012-01-05 13:04:34 +01:00
Marc Alexander
9fa1778225 Fixed missing module_status in board3_basic_install() 2012-01-04 16:23:34 +01:00
Marc Alexander
5e8cdd6ba3 Merged small whois online block into whois online module 2012-01-04 16:13:56 +01:00
Marc Alexander
80abc153ea Updated files for upcoming release 2012-01-04 12:05:20 +01:00
Marc Alexander
0cf220a31c Disabled poll module for the side columns 2012-01-03 23:50:04 +01:00
Marc Alexander
4ca2d7c297 Merge pull request #48 from marc1706/master
Fix incorrect spacing in forumlist after commit 1350543
2012-01-03 01:02:05 -08:00
Marc Alexander
5928289ebc Merge pull request #47 from marc1706/master
Fixed incorrect arrow directions when using rtl language
2012-01-03 00:59:52 -08:00
Marc Alexander
d9e56d730a Fix incorrect spacing in forumlist after commit 1350543537 2012-01-03 09:57:04 +01:00
Marc Alexander
baf7909964 Fixed incorrect arrow directions when using rtl language 2012-01-02 20:56:04 +01:00
Marc Alexander
344bfc9690 Merge pull request #46 from marc1706/master
Allow duplicate inclusion of module if it's in a different column type
2012-01-02 11:45:23 -08:00
Marc Alexander
dfd6a77147 Merge pull request #45 from marc1706/master
Reverted changes to trim_message tool
2012-01-02 11:43:55 -08:00
Marc Alexander
c0e0191945 Allow duplicate inclusion of module if it's in a different column type
A module can now be added once in the side columns and once in
the center columns, if the module itself allows that
2012-01-02 20:41:24 +01:00
Marc Alexander
92e1a4ca8c Reverted changes to trim_message tool
htmlspecialchars_decode() gets applied in function get_sub_taged_string() now
2012-01-02 12:42:12 +01:00
Marc Alexander
47e1228028 Merge pull request #44 from marc1706/master
Fixed incorrect ordering of users in leaders module
2012-01-01 09:15:01 -08:00
Marc Alexander
5339a8854d Fixed incorrect ordering of users in leaders module 2012-01-01 18:10:28 +01:00
Marc Alexander
6e51f8fe3d Merge pull request #43 from marc1706/master
Added missing lang entries for removed events
2012-01-01 07:01:08 -08:00
Marc Alexander
6375e4b5a4 Added missing lang entries for removed events 2012-01-01 15:58:07 +01:00
Marc Alexander
02127a28ac Merge pull request #42 from marc1706/master
Add README file
2012-01-01 06:41:50 -08:00
Marc Alexander
05122ddeec Add newline at the end of the file 2012-01-01 15:40:45 +01:00
Marc Alexander
5e2413eefe Add README file 2012-01-01 15:38:04 +01:00
Marc Alexander
1cc86d4276 Merge pull request #41 from marc1706/master
Moved trim_message tool to includes folder
2012-01-01 06:24:30 -08:00
Marc Alexander
96391cf873 Moved trim_message tool to includes folder
Suggested by nickvergessen
Added htmlspecialchars_decode for $message
2012-01-01 13:46:04 +01:00
Marc Alexander
a3eebf916f Merge pull request #40 from marc1706/master
Add possibility to define a different class for callback functions
2011-12-07 10:05:13 -08:00
Marc Alexander
b91473f842 Merge pull request #39 from marc1706/master
Modified language strings as suggested by nickvergessen
2011-12-07 10:04:37 -08:00
Marc Alexander
83c64b941c Add possibility to define a different class for callback functions 2011-12-07 19:03:10 +01:00
Marc Alexander
17ceff91c5 Modified language strings as suggested by nickvergessen 2011-12-07 18:54:39 +01:00
Marc Alexander
40b37e082b Merge pull request #38 from marc1706/master
Added RTL fixes to subsilver2
2011-12-07 09:52:52 -08:00
Marc Alexander
685223cd0f Added RTL fixes to subsilver2 2011-12-06 23:19:53 +01:00
Marc Alexander
2077f0b717 Merge pull request #37 from marc1706/master
Fixed RTL languages on prosilver
2011-12-06 13:43:55 -08:00
Marc Alexander
56a46ab094 Fixed RTL languages on prosilver 2011-11-26 00:19:01 +01:00
Marc Alexander
295ad31ba5 Merge pull request #36 from marc1706/master
Unread topics do not get displayed
2011-08-05 13:19:05 -07:00
Marc Alexander
4cb5081b53 Unread topics do not get displayed 2011-08-05 22:15:15 +02:00
Marc Alexander
e83b9edd2d Merge pull request #35 from marc1706/master
Added a few rtl fixes
2011-07-31 09:25:50 -07:00
Marc Alexander
9ae3012689 Added a few rtl fixes 2011-07-31 18:19:57 +02:00
Marc Alexander
24410b2ba8 Merge pull request #34 from marc1706/master
Jumpbox doesn't care if it is enabled in the ACP
2011-07-31 04:27:57 -07:00
Marc Alexander
204af4c8be Jumpbox doesn't care if it is enabled in the ACP 2011-07-31 13:24:57 +02:00
Marc Alexander
507caa128f Merge pull request #33 from marc1706/master
Modified style of calendar in subsilver2
2011-07-30 12:42:37 -07:00
Marc Alexander
1da08d37d2 Modified style of calendar in subsilver2 2011-07-30 21:33:23 +02:00
Marc Alexander
b8aa3660c3 Fixed incorrect position of event desc in future events (prosilver) 2011-07-30 21:29:38 +02:00
Marc Alexander
222d5912bb Merge pull request #32 from marc1706/master
Added missing permission check for calendar events
2011-07-30 12:26:21 -07:00
Marc Alexander
8ee238ec65 Added missing permission check for calendar events 2011-07-30 21:22:09 +02:00
Marc Alexander
7169a25422 Merge pull request #31 from marc1706/master
Hide module image settings in center, top & bottom column
2011-07-29 12:26:52 -07:00
Marc Alexander
46a55c202e Hide module image settings in center, top & bottom column 2011-07-29 21:23:54 +02:00
Marc Alexander
3cbc7c502b Merge pull request #30 from marc1706/master
Added correct padding between headerbar and portal body
2011-07-29 11:50:56 -07:00
Marc Alexander
32be3764b8 Merge pull request #29 from marc1706/master
Fixed small cosmetic errors in prosilver
2011-07-29 11:48:04 -07:00
Marc Alexander
1350543537 Added correct padding between headerbar and portal body 2011-07-29 20:47:14 +02:00
Marc Alexander
378643a072 Merge pull request #28 from marc1706/master
Modified install&update files for next release
2011-07-29 11:40:48 -07:00
Marc Alexander
320c44b087 Fixed small cosmetic errors in prosilver 2011-07-29 20:39:46 +02:00
Marc Alexander
162e604feb Modified install&update files for next release 2011-07-29 20:37:39 +02:00
Marc Alexander
b1e9c8101d Merge pull request #27 from marc1706/master
Added <br /> in forumlist.html to prevent issues in custom styles
2011-07-24 12:49:38 -07:00
Marc Alexander
c29957e316 Added <br /> in forumlist.html to prevent issues in custom styles 2011-07-24 21:48:21 +02:00
Marc Alexander
acdb07bc38 Merge pull request #26 from marc1706/master
Centered clock in prosilver
2011-07-24 12:47:50 -07:00
Marc Alexander
c2157b502d Centered clock in prosilver 2011-07-24 21:46:35 +02:00
Marc Alexander
7c5462a828 Merge pull request #25 from marc1706/master
Removed number in latest bots title
2011-07-24 12:45:10 -07:00
Marc Alexander
5f3e116e46 Merge pull request #24 from marc1706/master
Fixed incorrect timezone handling of events
2011-07-24 12:43:16 -07:00
Marc Alexander
4e6567c20a Removed number in latest bots title 2011-07-24 21:42:22 +02:00
Marc Alexander
639ee3539b Fixed incorrect timezone handling of events 2011-07-24 21:33:12 +02:00
Marc Alexander
d7e581532b Merge pull request #23 from marc1706/master
Modified module title to "Attachments" as suggested by wang555
2011-07-22 09:32:26 -07:00
Marc Alexander
88b076439c Modified module title to "Attachments" as suggested by wang555 2011-07-22 18:31:02 +02:00
Marc Alexander
0691c3cee9 Merge pull request #22 from marc1706/master
Fixed missing height and width in module images of custom blocks
2011-07-09 07:40:06 -07:00
Marc Alexander
9929d469dd Fixed missing height and width in module images of custom blocks 2011-07-09 16:37:39 +02:00
Marc Alexander
428d3b7950 Merge pull request #21 from marc1706/master
Fixed incorrect handling of utf8 characters in custom blocks
2011-07-09 07:22:16 -07:00
Marc Alexander
ca25262e38 Fixed incorrect handling of utf8 characters in custom blocks 2011-07-09 16:18:41 +02:00
Marc Alexander
6059562beb Merge branch 'master' of github.com:board3/Board3-Portal 2011-06-20 20:27:00 +02:00
Marc Alexander
149469230f Added note to author notes that PHP5 is required 2011-06-09 20:44:36 +02:00
Marc Alexander
2c2c4f9224 Merge pull request #20 from marc1706/master
Fixed incorrect links to convert instruction
2011-06-08 06:34:25 -07:00
Marc Alexander
866393e1b4 Fixed incorrect links to convert instruction 2011-06-08 15:30:33 +02:00
Marc Alexander
66ba25b3dd Merge pull request #19 from marc1706/master
Fixed 2 small errors in calendar language file
2011-06-06 05:51:46 -07:00
Marc Alexander
190ac7075e Fixed 2 small errors in calendar language file 2011-06-06 14:50:38 +02:00
Marc Alexander
736cb1c9f4 Merge pull request #18 from marc1706/master
Replaced German language vars with English ones
2011-06-05 01:36:58 -07:00
Marc Alexander
215868acfd Replaced German language vars with English ones 2011-06-05 10:35:13 +02:00
Marc Alexander
182d570195 Merge pull request #17 from marc1706/master
Updated install and update files for Beta release
2011-06-04 06:19:18 -07:00
Marc Alexander
14c181bd06 Updated install and update files for Beta release 2011-06-04 15:16:52 +02:00
Marc Alexander
4e91379691 Merge pull request #16 from marc1706/master
Do not install random members block by default
2011-05-16 14:41:52 -07:00
Marc Alexander
1f60e3daad Do not install random members block by default 2011-05-16 23:40:24 +02:00
Marc Alexander
620db4e9e8 Merge pull request #15 from marc1706/master
Updated files for first Beta release
2011-05-12 15:02:57 -07:00
Marc Alexander
e52d009593 Updated files for first Beta release
Fixed a few small bugs
2011-05-13 00:01:23 +02:00
Marc Alexander
332b4e4d0a Merge pull request #14 from marc1706/master
Merged nickvergessen's phpbb3-tools-trim-message replacing old get_sub_taged_string function
2011-05-11 05:28:42 -07:00
Marc Alexander
f6db836926 Merged nickvergessen's phpbb3-tools-trim-message replacing old
get_sub_taged_string function
2011-05-11 14:26:27 +02:00
Marc Alexander
df93a27587 Merge pull request #13 from marc1706/master
Added "open links in new window" to main menu and links module
2011-05-11 05:11:12 -07:00
Marc Alexander
9bb57606b3 Added "open links in new window" to main menu and links module
Added cache destroy when for portal_modules when installing portal
2011-05-11 14:09:33 +02:00
Marc Alexander
7eb5a169c1 Merge pull request #12 from marc1706/master
Removed useless unlink()
Added missing delete for old data when converting & missing vars
Added missing language variables to English language files
2011-05-10 13:18:22 -07:00
Marc Alexander
8946ead961 Removed useless unlink()
Added missing delete for old data when converting & missing vars
Added missing language variables to English language files
2011-05-10 22:15:47 +02:00
Marc Alexander
5035a29129 Merge pull request #11 from marc1706/master
A few small fixes to upload funtion 
Added link arrows to subsilver2 (by Archivar)
2011-05-10 11:37:31 -07:00
Marc Alexander
8c0f6c1bfc A few small fixes to upload funtion
Added link arrows to subsilver2 (by Archivar)
2011-05-05 18:16:46 +02:00
Marc Alexander
365b6c6965 Merged pull request #10 from marc1706/master.
Added feature to open external event links in a new window
2011-04-25 08:56:24 -07:00
Marc Alexander
166465b8c2 Added feature to open external event links in a new window
Fixed latest bots block
Fixed missing whois_online legend
2011-04-25 17:54:21 +02:00
Marc Alexander
e5f44f98ed Merge remote-tracking branch 'marc1706/master' 2011-04-25 00:50:16 +02:00
Marc Alexander
5efe1d6b7c Replace chmod with phpbb_chmod in uploader where needed
Fixed missing update of subsilver2 stylechanger_side.html
2011-04-25 00:48:13 +02:00
Marc Alexander
853ffaa69f Merge remote-tracking branch 'marc1706/master' 2011-04-24 21:53:15 +02:00
Marc Alexander
7b8d5f0cb6 Added adm folder to allowed upload folders 2011-04-24 21:49:07 +02:00
Marc Alexander
810aa0bbee Merge remote-tracking branch 'marc1706/master' 2011-04-24 12:28:45 +02:00
Marc Alexander
e223d2ce63 Added feature to hide portal name on acp configuration page for
all modules (was only for latest bots module)
2011-04-24 12:26:41 +02:00
Marc Alexander
d3a4b3d395 Merge remote-tracking branch 'marc1706/master' 2011-04-23 18:55:12 +02:00
Marc Alexander
0009f1de1d Modified class files for PHP5 2011-04-23 18:52:48 +02:00
Marc Alexander
a3c23052bf Added check to prevent adding a module more than once
Few small bugfixes
2011-04-23 18:48:56 +02:00
Marc Alexander
ff8f71fc60 Modified class files for PHP5 2011-04-23 18:09:23 +02:00
Marc Alexander
02233a88c4 Merge remote-tracking branch 'marc1706/master' 2011-04-18 19:59:49 +02:00
Marc Alexander
7803e58d2f Merge remote-tracking branch 'marc1706/upload_module_rewrite' 2011-04-18 19:44:29 +02:00
Marc Alexander
337adc1bbf Made calendar block independent of other calendar block 2011-04-17 12:44:36 +02:00
Marc Alexander
a0395966c8 Continued reworking the upload module
this time I actually uploaded the correct files
2011-04-17 01:43:08 +02:00
Marc Alexander
0efc2493f1 Replace upload files with the actual files 2011-04-10 00:43:42 +02:00
Marc Alexander
7f16a3f2ac Rewrote basic uploader for module zips 2011-04-09 22:31:11 +02:00
Marc Alexander
b17a77d152 Remove php closing tag 2011-04-07 13:14:48 +02:00
Marc Alexander
391bbdee5c Moved constants into module files 2011-04-05 09:45:44 +02:00
Marc Alexander
bbc9bb3043 Corrected language var for module image as suggested by archivar
Changed trigger_error() error_type to E_USER_WARNING
2011-04-03 19:20:41 +02:00
Marc Alexander
a18a0166e6 Added possibility to add forumlist to top and bottom column
Fixed small typo
2011-04-03 15:59:59 +02:00
Marc Alexander
8eaa1b0629 Updated files for 2.0.0a2 release 2011-04-03 02:00:12 +02:00
Marc Alexander
619eb19342 Fixed incorrect if-statement for error handling 2011-04-03 01:51:54 +02:00
Marc Alexander
05c426b3b8 Added code that was accidentaly removed 2011-04-02 20:03:40 +02:00
Marc Alexander
7810d55702 Fixed mixup with td and tr in subsilver2 calendar block 2011-04-02 19:53:31 +02:00
Marc Alexander
4dc0f2d505 Fixed missing check for correct column when moving a module left or right 2011-04-02 19:49:19 +02:00
Marc Alexander
c3c9d59267 Added missing HTML file for center block of attachments module 2011-04-02 19:02:24 +02:00
Marc Alexander
edd20076ed Fixed mixup with td and tr in subsilver2 calendar block 2011-04-02 12:10:20 +02:00
Marc Alexander
ffeb0a39f3 Fixed incorrect handling of links 2011-04-02 11:20:25 +02:00
Marc Alexander
59a0ab6d90 Fixed missing CSS for li-tags of calendar 2011-04-02 11:05:10 +02:00
Marc Alexander
dc5c9aacf0 Fixed timezone handling in calendar 2011-04-02 10:57:03 +02:00
Marc Alexander
d15900ba85 Added error handling to installation of modules 2011-04-01 18:12:42 +02:00
Marc Alexander
4cb8c9dbb1 Reworked parts of calendar block
Fixed missing CSS for li-tags of calendar
2011-04-01 01:19:01 +02:00
Marc Alexander
491e3f35ef Applied patch for folders with special characters 2011-03-20 00:48:57 +01:00
Marc Alexander
b9c0d7b9c8 Fixed typo 2011-03-11 14:02:34 +01:00
Marc Alexander
9db0baf400 Add feature to disable modules without having to remove them 2011-03-11 14:00:32 +01:00
Marc Alexander
45372fe769 Again, forgot to update install.xml 2011-03-11 00:19:38 +01:00
Marc Alexander
3d37f531a5 Fixed select for displaying events 2011-03-11 00:15:58 +01:00
Marc Alexander
92034a009d Forgot to update install.xml 2011-03-10 22:36:16 +01:00
Marc Alexander
208e5fd254 Added missing IF $S_BLOCK_ICON 2011-03-10 22:24:20 +01:00
658 changed files with 34051 additions and 36034 deletions

11
.gitattributes vendored Normal file
View File

@@ -0,0 +1,11 @@
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
build.xml export-ignore

414
.github/workflows/tests.yml vendored Normal file
View File

@@ -0,0 +1,414 @@
name: Tests
env:
EXTNAME: board3/portal # Your extension vendor/package name
SNIFF: 1 # Run code sniffer on your code? 1 or 0
IMAGE_ICC: 0 # Run icc profile sniffer on your images? 1 or 0
EPV: 1 # Run EPV (Extension Pre Validator) on your code? 1 or 0
EXECUTABLE_FILES: 0 # Run check for executable files? 1 or 0
PHPBB_BRANCH: 3.3.x # The phpBB branch to run tests on
on:
push:
branches: # Run tests when commits are pushed to these branches in your repo
- master
pull_request: # Run tests when pull requests are made on these branches in your repo
branches:
- master
jobs:
# START Basic Checks Job (EPV, code sniffer, images check, etc.)
basic-checks:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- php: '7.1'
db: "none"
NOTESTS: 1
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
steps:
- name: Checkout phpBB
uses: actions/checkout@v2
with:
repository: phpbb/phpbb
ref: ${{ env.PHPBB_BRANCH }}
path: phpBB3
- name: Checkout extension
uses: actions/checkout@v2
with:
path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
coverage: none
- name: Setup environment for phpBB
env:
DB: ${{ matrix.db }}
PHP_VERSION: ${{ matrix.php }}
NOTESTS: '1'
run: .github/setup-phpbb.sh $DB $PHP_VERSION $NOTESTS
working-directory: ./phpBB3
- name: Setup EPV
if: ${{ env.EPV != 0 }}
run: composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs
working-directory: ./phpBB3/phpBB
- name: Run code sniffer
if: ${{ env.SNIFF != 0 }}
env:
NOTESTS: '1'
run: .github/ext-sniff.sh $EXTNAME $NOTESTS
working-directory: ./phpBB3
- name: Check image ICC profiles
if: ${{ env.IMAGE_ICC != 0 }}
run: .github/check-image-icc-profiles.sh
working-directory: ./phpBB3
- name: Check executable files
if: ${{ env.EXECUTABLE_FILES != 0 }}
run: .github/ext-check-executable-files.sh ./ $EXTNAME
working-directory: ./phpBB3
- name: Run EPV
if: ${{ env.EPV != 0 }}
run: phpBB/vendor/bin/EPV.php run --dir="phpBB/ext/$EXTNAME/"
working-directory: ./phpBB3
# END Basic Checks Job
# START MySQL and MariaDB Job
mysql-tests:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- php: '7.1'
db: "mariadb:10.1"
- php: '7.1'
db: "mariadb:10.2"
- php: '7.1'
db: "mariadb:10.3"
- php: '7.1'
db: "mariadb:10.4"
- php: '7.1'
db: "mariadb:10.5"
- php: '7.1'
db: "mysql:5.6"
db_alias: "MyISAM Tests"
MYISAM: 1
- php: '7.1'
db: "mysql:5.6"
- php: '7.1'
db: "mysql:5.7"
- php: '7.2'
db: "mysql:5.7"
- php: '7.3'
db: "mysql:5.7"
- php: '7.4'
db: "mysql:5.7"
- php: '7.4'
db: "mysql:8.0"
- php: '8.0'
db: "mysql:5.7"
- php: '8.1'
db: "mysql:5.7"
name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }}
services:
mysql:
image: ${{ matrix.db }}
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: phpbb_tests
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- name: Checkout phpBB
uses: actions/checkout@v2
with:
repository: phpbb/phpbb
ref: ${{ env.PHPBB_BRANCH }}
path: phpBB3
- name: Checkout extension
uses: actions/checkout@v2
with:
path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- id: database-type
env:
MATRIX_DB: ${{ matrix.db }}
run: |
db=$(echo "${MATRIX_DB%%:*}")
echo "::set-output name=db::$db"
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
coverage: none
- name: Setup environment for phpBB
env:
DB: ${{steps.database-type.outputs.db}}
PHP_VERSION: ${{ matrix.php }}
NOTESTS: '0'
run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
working-directory: ./phpBB3
- name: Setup Extension composer dependencies
run: composer install
working-directory: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- name: Setup database
env:
DB: ${{steps.database-type.outputs.db}}
MYISAM: ${{ matrix.MYISAM != 1 && '0' || '1' }}
run: .github/setup-database.sh $DB $MYISAM
working-directory: ./phpBB3
- name: Setup PHPUnit files
run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
working-directory: ./phpBB3
- name: Run unit tests
env:
DB: ${{steps.database-type.outputs.db}}
run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
working-directory: ./phpBB3
# END MySQL and MariaDB Job
# START PostgreSQL Job
postgres-tests:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- php: '7.1'
db: "postgres:9.5"
- php: '7.1'
db: "postgres:9.6"
- php: '7.1'
db: "postgres:10"
- php: '7.1'
db: "postgres:11"
- php: '7.1'
db: "postgres:12"
- php: '7.1'
db: "postgres:13"
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
services:
postgres:
image: ${{ matrix.db != 'postgres:9.5' && matrix.db != 'postgres:9.6' && matrix.db != 'postgres:10' && matrix.db != 'postgres:11' && matrix.db != 'postgres:12' && matrix.db != 'postgres:13' && 'postgres:10' || matrix.db }}
env:
POSTGRES_HOST: localhost
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
-v /var/run/postgresql:/var/run/postgresql
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- name: Checkout phpBB
uses: actions/checkout@v2
with:
repository: phpbb/phpbb
ref: ${{ env.PHPBB_BRANCH }}
path: phpBB3
- name: Checkout extension
uses: actions/checkout@v2
with:
path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- id: database-type
env:
MATRIX_DB: ${{ matrix.db }}
run: |
db=$(echo "${MATRIX_DB%%:*}")
echo "::set-output name=db::$db"
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
coverage: none
- name: Setup environment for phpBB
env:
DB: ${{steps.database-type.outputs.db}}
PHP_VERSION: ${{ matrix.php }}
NOTESTS: '0'
run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
working-directory: ./phpBB3
- name: Setup Extension composer dependencies
run: composer install
working-directory: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- name: Setup database
env:
DB: ${{steps.database-type.outputs.db}}
MYISAM: '0'
run: .github/setup-database.sh $DB $MYISAM
working-directory: ./phpBB3
- name: Setup PHPUnit files
run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
working-directory: ./phpBB3
- name: Run unit tests
env:
DB: ${{steps.database-type.outputs.db}}
run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
working-directory: ./phpBB3
# END PostgreSQL Job
# START Other Tests Job (SQLite 3 and mssql)
other-tests:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- php: '7.1'
db: "sqlite3"
- php: '7.2'
db: "mcr.microsoft.com/mssql/server:2017-latest"
db_alias: 'MSSQL 2017'
- php: '7.2'
db: "mcr.microsoft.com/mssql/server:2019-latest"
db_alias: 'MSSQL 2019'
name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }}
services:
mssql:
image: ${{ matrix.db != 'mcr.microsoft.com/mssql/server:2017-latest' && matrix.db != 'mcr.microsoft.com/mssql/server:2019-latest' && 'mcr.microsoft.com/mssql/server:2017-latest' || matrix.db }}
env:
SA_PASSWORD: "Pssw0rd_12"
ACCEPT_EULA: "y"
ports:
- 1433:1433
options: >-
--health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Pssw0rd_12' -Q \"Use [master]; CREATE DATABASE [phpbb_tests] COLLATE Latin1_General_CI_AS\" || exit 1"
--health-interval 10s
--health-timeout 5s
--health-retries 5
--health-start-period 10s
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- name: Checkout phpBB
uses: actions/checkout@v2
with:
repository: phpbb/phpbb
ref: ${{ env.PHPBB_BRANCH }}
path: phpBB3
- name: Checkout extension
uses: actions/checkout@v2
with:
path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- id: database-type
env:
MATRIX_DB: ${{ matrix.db }}
run: |
if [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2017-latest' ] || [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2019-latest' ]
then
db='mssql'
else
db=$(echo "${MATRIX_DB%%:*}")
fi
echo "::set-output name=db::$db"
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
coverage: none
- name: Setup environment for phpBB
env:
DB: ${{steps.database-type.outputs.db}}
PHP_VERSION: ${{ matrix.php }}
NOTESTS: '0'
run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
working-directory: ./phpBB3
- name: Setup Extension composer dependencies
run: composer install
working-directory: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- name: Setup database
env:
DB: ${{steps.database-type.outputs.db}}
MYISAM: '0'
run: .github/setup-database.sh $DB $MYISAM
working-directory: ./phpBB3
- name: Setup PHPUnit files
run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
working-directory: ./phpBB3
- name: Run unit tests
env:
DB: ${{steps.database-type.outputs.db}}
run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
working-directory: ./phpBB3
# END Other Tests Job

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
/.idea/*
/tests/test_config.php
/vendor/
/build/

24
README.md Normal file
View File

@@ -0,0 +1,24 @@
# Board3 Portal 2.3.x
Board Portal 2.3.x is a second generation portal for phpBB 3.3.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.3.x here or download the current release at [www.board3.de](https://www.board3.de/ "Board3 • Portal").
Board3 Portal 2.3.x can be installed via the phpBB 3.3 ACP.
## Support
Support for Board3 Portal can be found at [www.board3.de](https://www.board3.de/ "Board3 • Portal") or on [www.phpbb.com](https://www.phpbb.com/customise/db/mod/board3_portal/support/ "phpBB • Board3 Portal").
## Wiki
A wiki with some basic information can be found here: https://github.com/board3/Board3-Portal/wiki
## AUTOMATED TESTING
We are starting to have unit and functional tests in order to prevent regressions. You can check our GitHub Actions builds below.
master - [![Tests](https://github.com/board3/Board3-Portal/actions/workflows/tests.yml/badge.svg)](https://github.com/board3/Board3-Portal/actions/workflows/tests.yml)

29
acp/portal_info.php Normal file
View File

@@ -0,0 +1,29 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\acp;
/**
* @package module_install
*/
class portal_info
{
public function module()
{
return array(
'filename' => '\board3\portal\acp\portal_module',
'title' => 'ACP_PORTAL',
'version' => '2.1.0',
'modes' => array(
'config' => array('title' => 'ACP_PORTAL_GENERAL_INFO', 'auth' => 'ext_board3/portal && acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
'modules' => array('title' => 'ACP_PORTAL_MODULES', 'auth' => 'ext_board3/portal && acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
),
);
}
}

708
acp/portal_module.php Normal file
View File

@@ -0,0 +1,708 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\acp;
class portal_module
{
public $u_action;
public $new_config = [];
/** @var \board3\portal\modules\module_interface */
protected $c_class;
protected $db, $user, $cache, $template, $display_vars, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
protected $root_path, $request, $php_ext, $portal_helper, $modules_helper, $log, $portal_columns;
/** @var \board3\portal\portal\modules\manager */
protected $modules_manager;
/** @var \board3\portal\portal\modules\constraints_handler */
protected $modules_constraints;
/** @var \board3\portal\controller\helper */
protected $board3_controller_helper;
/** @var int Board3 module enabled */
const B3_MODULE_ENABLED = 1;
public function __construct()
{
global $db, $user, $cache, $request, $template, $table_prefix;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpbb_container, $phpEx, $phpbb_log;
$user->add_lang_ext('board3/portal', array('portal', 'portal_acp'));
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
$this->db = $db;
$this->user = $user;
$this->cache = $cache;
$this->template = $template;
$this->config = $config;
$this->request = $request;
$this->phpbb_root_path = $phpbb_root_path;
$this->phpbb_admin_path = $phpbb_admin_path;
$this->php_ext = $phpEx;
$this->phpbb_container = $phpbb_container;
$this->portal_helper = $this->phpbb_container->get('board3.portal.helper');
$this->modules_helper = $this->phpbb_container->get('board3.portal.modules_helper');
$this->log = $phpbb_log;
$this->portal_columns = $this->phpbb_container->get('board3.portal.columns');
$this->modules_manager = $this->phpbb_container->get('board3.portal.modules.manager');
$this->modules_constraints = $this->phpbb_container->get('board3.portal.modules.constraints_handler');
$this->board3_controller_helper = $this->phpbb_container->get('board3.portal.controller_helper');
if (!defined('PORTAL_MODULES_TABLE'))
{
define('PORTAL_MODULES_TABLE', $this->phpbb_container->getParameter('board3.portal.modules.table'));
define('PORTAL_CONFIG_TABLE', $this->phpbb_container->getParameter('board3.portal.config.table'));
}
if (!function_exists('obtain_portal_config'))
{
include($this->root_path . 'includes/functions.' . $this->php_ext);
}
}
public function main($id, $mode)
{
$submit = ($this->request->is_set_post('submit')) ? true : false;
$form_key = 'acp_portal';
add_form_key($form_key);
// Setup modules manager class
$this->modules_manager->set_u_action($this->u_action)
->set_acp_class(__CLASS__);
/**
* Validation types are:
* string, int, bool,
* script_path (absolute path in url - beginning with / and no trailing slash),
* rpath (relative), rwpath (realtive, writeable), path (relative path, but able to escape the root), wpath (writeable)
*/
switch ($mode)
{
case 'config':
$display_vars = array(
'title' => 'ACP_PORTAL_GENERAL_TITLE',
'vars' => array(
'legend1' => 'ACP_PORTAL_CONFIG_INFO',
'board3_enable' => array('lang' => 'PORTAL_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_left_column' => array('lang' => 'PORTAL_LEFT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_right_column' => array('lang' => 'PORTAL_RIGHT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_display_jumpbox' => array('lang' => 'PORTAL_DISPLAY_JUMPBOX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'legend2' => 'ACP_PORTAL_COLUMN_WIDTH_SETTINGS',
'board3_left_column_width' => ['lang' => 'PORTAL_LEFT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'number:150:400', 'explain' => true, 'append' => ' ' . $this->user->lang('PIXEL')],
'board3_right_column_width' => ['lang' => 'PORTAL_RIGHT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'number:150:400', 'explain' => true, 'append' => ' ' . $this->user->lang('PIXEL')],
'legend3' => 'ACP_PORTAL_SHOW_ALL',
'board3_show_all_pages' => array('lang' => 'ACP_PORTAL_SHOW_ALL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_all_side' => array('lang' => 'PORTAL_SHOW_ALL_SIDE', 'validate' => 'bool', 'type' => 'custom', 'method' => array('board3.portal.modules_helper', 'display_left_right'), 'submit' => array('board3.portal.modules_helper', 'store_left_right'), 'explain' => true),
'legend4' => 'ACP_FA',
'board3_fa_styles' => array('lang' => 'ACP_FA', 'validate' => 'string', 'type' => 'custom', 'method' => array('board3.portal.modules_helper', 'display_fa_styles'), 'submit' => array('board3.portal.modules_helper', 'store_fa_styles'), 'explain' => true),
)
);
$module_id = $this->request->variable('module_id', 0);
if ($module_id)
{
$sql = 'SELECT *
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_id = ' . (int) $module_id;
$result = $this->db->sql_query_limit($sql, 1);
$module_data = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
if ($module_data !== false)
{
if (!($this->c_class = $this->portal_helper->get_module($module_data['module_classname'])))
{
break;
}
// Load module language
$this->board3_controller_helper->load_module_language($this->c_class);
$module_name = $this->user->lang[$this->c_class->get_name()];
$display_vars = $this->c_class->get_template_acp($module_id);
$this->template->assign_vars(array(
'MODULE_NAME' => (isset($this->c_class->hide_name) && $this->c_class->hide_name == true)? '' : $module_data['module_name'],
'MODULE_IMAGE' => $module_data['module_image_src'],
'MODULE_IMAGE_WIDTH' => $module_data['module_image_width'],
'MODULE_IMAGE_HEIGHT' => $module_data['module_image_height'],
'MODULE_IMAGE_SRC' => ($module_data['module_image_src']) ? $this->root_path . 'styles/all/theme/images/portal/' . $module_data['module_image_src'] : '',
'MODULE_FA' => $module_data['module_fa_icon'],
'MODULE_FA_SIZE' => $module_data['module_fa_size'],
'MODULE_ENABLED' => ($module_data['module_status']) ? true : false,
'MODULE_SHOW_IMAGE' => (in_array($this->portal_columns->number_to_string($module_data['module_column']), array(''))) ? false : true,
));
if ($module_data['module_classname'] != '\board3\portal\modules\custom')
{
$groups_ary = explode(',', $module_data['module_group_ids']);
// get group info from database and assign the block vars
$sql = 'SELECT group_id, group_name
FROM ' . GROUPS_TABLE . '
ORDER BY group_id ASC';
$result = $this->db->sql_query($sql);
while ($row = $this->db->sql_fetchrow($result))
{
$this->template->assign_block_vars('permission_setting', array(
'SELECTED' => (in_array($row['group_id'], $groups_ary)) ? true : false,
'GROUP_NAME' => (isset($this->user->lang['G_' . $row['group_name']])) ? $this->user->lang['G_' . $row['group_name']] : $row['group_name'],
'GROUP_ID' => $row['group_id'],
));
}
$this->db->sql_freeresult($result);
}
$this->template->assign_var('SHOW_MODULE_OPTIONS', true);
}
}
$this->new_config = $this->config;
$cfg_array = ($this->request->is_set('config')) ? $this->request->variable('config', array('' => ''), true) : $this->new_config;
$error = array();
// We validate the complete config if wished
validate_config_vars($display_vars['vars'], $cfg_array, $error);
if ($submit && !check_form_key($form_key))
{
$error[] = $this->user->lang['FORM_INVALID'];
}
// Do not write values if there is an error
if (sizeof($error))
{
$submit = false;
}
// Reset module
$reset_module = $this->request->variable('module_reset', 0);
if ($reset_module && !empty($module_data))
{
$this->modules_manager->reset_module($id, $mode, $module_id, $module_data);
}
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $config_name => $null)
{
if ($submit && ((isset($null['type']) && $null['type'] == 'custom') || (isset($null['submit_type']) && $null['submit_type'] == 'custom')))
{
if (!is_array($null['submit']))
{
if (method_exists($this->c_class, $null['submit']))
{
$func = array($this->c_class, $null['submit']);
$args = ($module_id != 0) ? array($config_name, $module_id) : $config_name;
}
else if (function_exists($null['submit']))
{
$func = $null['submit'];
$args = ($module_id != 0) ? array($cfg_array[$config_name], $config_name, $module_id) : $config_name;
}
else
{
throw new \RuntimeException($this->user->lang('UNKNOWN_MODULE_METHOD', $module_data['module_classname']));
}
}
else
{
if ($null['submit'][0] == 'board3.portal.modules_helper')
{
$func = array($this->modules_helper, $null['submit'][1]);
$args = ($module_id != 0) ? array($config_name, $module_id) : array($config_name);
}
else
{
$args = ($module_id != 0) ? array($cfg_array[$config_name], $config_name, $module_id) : array($config_name);
$func = $null['submit'];
}
}
call_user_func_array($func, $args);
}
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
{
continue;
}
if (isset($null['type']) && $null['type'] == 'custom')
{
continue;
}
$this->new_config[$config_name] = $config_value = $cfg_array[$config_name];
if ($submit)
{
$this->config->set($config_name, $config_value);
}
}
if ($submit)
{
$module_permission = $this->request->variable('permission-setting', array(0 => ''));
$groups_ary = array();
// get groups and check if the selected groups actually exist
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . '
ORDER BY group_id ASC';
$result = $this->db->sql_query($sql);
while ($row = $this->db->sql_fetchrow($result))
{
$groups_ary[] = $row['group_id'];
}
$this->db->sql_freeresult($result);
$module_permission = array_intersect($module_permission, $groups_ary);
$module_permission = implode(',', $module_permission);
$sql_ary = array(
'module_image_src' => $this->request->variable('module_image', ''),
'module_image_width' => $this->request->variable('module_img_width', 16),
'module_image_height' => $this->request->variable('module_img_height', 16),
'module_fa_icon' => $this->request->variable('module_fa', ''),
'module_fa_size' => $this->request->variable('module_fa_size', 16),
'module_group_ids' => $module_permission,
'module_status' => $this->request->variable('module_status', self::B3_MODULE_ENABLED),
);
if (!(isset($this->c_class->hide_name) && $this->c_class->hide_name == true))
{
$sql_ary['module_name'] = $this->request->variable('module_name', '', true);
}
// check if module image file actually exists
$img_error = check_file_src($sql_ary['module_image_src'], '', $module_id, false);
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '
WHERE module_id = ' . (int) $module_id;
$this->db->sql_query($sql);
$this->cache->destroy('sql', PORTAL_MODULES_TABLE);
$this->cache->destroy('sql', CONFIG_TABLE);
if (isset($module_name))
{
if (isset($module_data) && $module_data['module_classname'] !== '\board3\portal\modules\custom')
{
$this->log->add('admin', $this->user->data['user_id'], $this->user->data['user_ip'], 'LOG_PORTAL_CONFIG', false, array($module_name));
}
}
else
{
$this->log->add('admin', $this->user->data['user_id'], $this->user->data['user_ip'], 'LOG_PORTAL_CONFIG', false, array($this->user->lang['ACP_PORTAL_' . strtoupper($mode) . '_INFO']));
}
trigger_error($this->user->lang['CONFIG_UPDATED'] . ((!empty($img_error) ? '<br /><br />' . $this->user->lang['MODULE_IMAGE_ERROR'] . '<br />' . $img_error : '')) . adm_back_link(($module_id) ? append_sid("{$this->phpbb_admin_path}index.{$this->php_ext}", 'i=\board3\portal\acp\portal_module&amp;mode=modules') : $this->u_action));
}
// show custom HTML files on the settings page of the modules instead of the standard board3 portal one, if chosen by module
if (!isset($this->c_class->custom_acp_tpl) || empty($this->c_class->custom_acp_tpl))
{
$this->tpl_name = 'portal/acp_portal_config';
}
else
{
$this->tpl_name = 'portal/' . $this->c_class->custom_acp_tpl;
}
$this->page_title = $display_vars['title'];
$this->template->assign_vars(array(
'L_TITLE' => $this->user->lang($display_vars['title']),
'L_TITLE_EXPLAIN' => (isset($this->user->lang[$display_vars['title'] . '_EXP'])) ? $this->user->lang[$display_vars['title'] . '_EXP'] : '',
'S_ERROR' => (sizeof($error)) ? true : false,
'ERROR_MSG' => implode('<br />', $error),
'B3P_U_ACTION' => $this->modules_manager->get_module_link('config', $module_id),
'B3P_ACP_ROOT' => $this->root_path,
));
// Output relevant page
foreach ($display_vars['vars'] as $config_key => $vars)
{
if (!is_array($vars) && strpos($config_key, 'legend') === false)
{
continue;
}
if (strpos($config_key, 'legend') !== false)
{
$this->template->assign_block_vars('options', array(
'S_LEGEND' => true,
'LEGEND' => (isset($this->user->lang[$vars])) ? $this->user->lang[$vars] : $vars)
);
continue;
}
$this->new_config[$config_key] = $this->config[$config_key];
$type = explode(':', $vars['type']);
$l_explain = '';
if ($vars['explain'])
{
$l_explain = (isset($this->user->lang[$vars['lang'] . '_EXP'])) ? $this->user->lang[$vars['lang'] . '_EXP'] : '';
}
if ($vars['type'] != 'custom')
{
$content = build_cfg_template($type, $config_key, $this->new_config, $config_key, $vars);
}
else
{
$args = array($this->new_config[$config_key], $config_key, $module_id);
if (!is_array($vars['method']))
{
$func = array($this->c_class, $vars['method']);
}
else
{
if ($vars['method'][0] == 'board3.portal.modules_helper')
{
$func = array($this->modules_helper, $vars['method'][1]);
}
else
{
$func = $vars['method'];
}
}
$content = call_user_func_array($func, $args);
}
if (empty($content))
{
continue;
}
$this->template->assign_block_vars('options', array(
'KEY' => $config_key,
'TITLE' => (isset($this->user->lang[$vars['lang']])) ? $this->user->lang[$vars['lang']] : $vars['lang'],
'S_EXPLAIN' => $vars['explain'],
'TITLE_EXPLAIN' => $l_explain,
'CONTENT' => $content,
));
unset($display_vars['vars'][$config_key]);
}
break;
case 'modules':
$action = $this->request->variable('action', '');
$module_id = $this->request->variable('module_id', '');
// Create an array of already installed modules
$portal_modules = obtain_portal_modules();
$installed_modules = $module_column = array();
foreach ($portal_modules as $cur_module)
{
$installed_modules[] = $cur_module['module_classname'];
// Create an array with the columns the module is in
$module_column[$cur_module['module_classname']][] = $this->portal_columns->number_to_string($cur_module['module_column']);
}
$this->modules_constraints->set_module_column($module_column);
unset($module_column);
if ($action == 'move_up')
{
$this->modules_manager->move_module_vertical($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_UP);
}
else if ($action == 'move_down')
{
$this->modules_manager->move_module_vertical($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_DOWN);
}
else if ($action == 'move_right')
{
$this->modules_manager->move_module_horizontal($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_RIGHT);
}
else if ($action == 'move_left')
{
$this->modules_manager->move_module_horizontal($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_LEFT);
}
else if ($action == 'delete')
{
$this->modules_manager->module_delete($id, $mode, $action, $module_id);
}
$add_list = $this->request->variable('add', array('' => ''));
$add_module = key($add_list);
$add_column = $this->request->variable('add_column', $this->portal_columns->string_to_number($add_module));
if ($add_column)
{
$submit = ($this->request->is_set_post('submit')) ? true : false;
if ($submit)
{
$module_classname = $this->request->variable('module_classname', '');
if (!($this->c_class = $this->portal_helper->get_module($module_classname)))
{
break;
}
// Do not add modules that shouldn't be added
if (!$this->modules_constraints->can_add_module($this->c_class, $add_column))
{
trigger_error($this->user->lang('UNABLE_TO_ADD_MODULE') . adm_back_link($this->u_action), E_USER_WARNING);
}
// Do not install if module already exists in the
// column and it can't be added more than once
if (!$this->c_class->can_multi_include() && !$this->modules_constraints->can_move_module($this->portal_columns->number_to_string($add_column), $module_classname))
{
trigger_error($this->user->lang['MODULE_ADD_ONCE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$sql = 'SELECT module_order
FROM ' . PORTAL_MODULES_TABLE . '
WHERE module_column = ' . (int) $add_column . '
ORDER BY module_order DESC';
$result = $this->db->sql_query_limit($sql, 1);
$module_order = 1 + (int) $this->db->sql_fetchfield('module_order');
$this->db->sql_freeresult($result);
$sql_ary = array(
'module_classname' => $module_classname,
'module_column' => $add_column,
'module_order' => $module_order,
'module_name' => $this->c_class->get_name(),
'module_image_src' => $this->c_class->get_image(),
'module_group_ids' => '',
'module_image_height' => 16,
'module_image_width' => 16,
'module_status' => self::B3_MODULE_ENABLED,
);
$sql = 'INSERT INTO ' . PORTAL_MODULES_TABLE . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
$this->db->sql_query($sql);
$module_id = $this->db->sql_nextid();
$error = $this->c_class->install($module_id);
$this->cache->purge(); // make sure we don't get errors after re-adding a module
// if something went wrong, handle the errors accordingly and undo the above query
if (!empty($error) && $error != true)
{
if (is_array($error))
{
$error_output = '';
foreach ($error as $cur_error)
{
$error_output .= $cur_error . '<br />';
}
}
else
{
$error_output = $error;
}
$sql = 'DELETE FROM ' . PORTAL_MODULES_TABLE . ' WHERE module_id = ' . (int) $module_id;
$this->db->sql_query($sql);
trigger_error($error_output . adm_back_link($this->u_action));
}
meta_refresh(3, $this->modules_manager->get_module_link('config', $module_id));
trigger_error($this->user->lang['SUCCESS_ADD'] . adm_back_link($this->u_action));
}
$this->template->assign_var('S_EDIT', true);
$fileinfo = $name_ary = array();
$modules_list = $this->portal_helper->get_all_modules();
// Find new modules
foreach ($modules_list as $module_class => $module)
{
// Module can't be added to this column
if (!$this->modules_constraints->can_add_module($module, $add_column))
{
continue;
}
// Do not install if module already exists in the
// column and it can't be added more than once
if (!$module->can_multi_include() && !$this->modules_constraints->can_move_module($this->portal_columns->number_to_string($add_column), $module_class))
{
continue;
}
if ($module->get_allowed_columns() & $this->portal_columns->string_to_constant($add_module))
{
// Load module language
$this->board3_controller_helper->load_module_language($module);
$fileinfo[] = array(
'module' => $module_class,
'name' => $this->user->lang[$module->get_name()],
);
}
}
// we sort the $fileinfo array by the name of the modules
foreach ($fileinfo as $key => $cur_file)
{
$name_ary[$key] = $cur_file['name'];
}
array_multisort($name_ary, SORT_REGULAR, $fileinfo);
$options = '';
foreach ($fileinfo as $module)
{
$options .= '<option value="' . $module['module'] . '">' . $module['name'] . '</option>';
}
$s_hidden_fields = build_hidden_fields(array(
'add_column' => $this->portal_columns->string_to_number($add_module),
));
$this->template->assign_vars(array(
'S_MODULE_NAMES' => $options,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
));
if ($this->request->is_ajax())
{
$this->template->assign_vars(array(
'S_AJAX_REQUEST' => true,
'U_ACTION' => str_replace('&amp;', '&', $this->modules_manager->get_module_link('modules', $module_id)),
));
$this->template->set_filenames(array(
'body' => 'portal/acp_portal_modules.html')
);
$this->modules_manager->handle_ajax_request(array(
'MESSAGE_BODY' => $this->template->assign_display('body'),
'MESSAGE_TITLE' => $this->user->lang['ADD_MODULE'],
'MESSAGE_TEXT' => $this->user->lang['ADD_MODULE'],
'YES_VALUE' => $this->user->lang['SUBMIT'],
'S_CONFIRM_ACTION' => str_replace('&amp;', '&', $this->modules_manager->get_module_link('modules', $module_id)), //inefficient, rewrite whole function
'S_HIDDEN_FIELDS' => $s_hidden_fields
));
}
}
else
{
$portal_modules = obtain_portal_modules();
foreach ($portal_modules as $row)
{
if (!($this->c_class = $this->portal_helper->get_module($row['module_classname'])))
{
continue;
}
// Load module language
$this->board3_controller_helper->load_module_language($this->c_class);
$template_column = $this->portal_columns->number_to_string($row['module_column']);
// find out of we can move modules to the left or right
if (($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] + 1))) || ($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] + 2)) && $row['module_column'] != 2))
{
/**
* check if we can actually move
* this only applies to modules in the center column as the side modules
* will automatically skip the center column when moving if they need to
*/
if ($row['module_classname'] != '\board3\portal\modules\custom')
{
$column_string = $this->portal_columns->number_to_string($row['module_column'] + 1); // move 1 right
if ($column_string == 'right' && !$this->modules_constraints->can_move_module(array('left', 'right'), $row['module_classname']))
{
$move_right = false;
}
else
{
$move_right = true;
}
}
else
{
$move_right = true;
}
}
else
{
$move_right = false;
}
if (($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] - 1))) || ($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] - 2)) && $row['module_column'] != 2))
{
/**
* check if we can actually move
* this only applies to modules in the center column as the side modules
* will automatically skip the center column when moving if they need to
*/
if ($row['module_classname'] != '\board3\portal\modules\custom')
{
$column_string = $this->portal_columns->number_to_string($row['module_column'] - 1); // move 1 left
if ($column_string == 'left' && !$this->modules_constraints->can_move_module(array('left', 'right'), $row['module_classname']))
{
$move_left = false;
}
else
{
$move_left = true;
}
}
else
{
$move_left = true;
}
}
else
{
$move_left = false;
}
$this->template->assign_block_vars('modules_' . $template_column, array(
'MODULE_NAME' => (isset($this->user->lang[$row['module_name']])) ? $this->user->lang[$row['module_name']] : $row['module_name'],
'MODULE_IMAGE' => ($row['module_image_src']) ? '<img src="' . $this->root_path . 'styles/all/theme/images/portal/' . $row['module_image_src'] . '" alt="' . $this->user->lang['MODULE_IMAGE'] . '" />' : '',
'MODULE_ENABLED' => ($row['module_status']) ? true : false,
'U_DELETE' => $this->modules_manager->get_module_link('modules', $row['module_id']) . '&amp;action=delete&amp;module_classname=' . $row['module_classname'],
'U_EDIT' => $this->modules_manager->get_module_link('config', $row['module_id']),
'U_MOVE_UP' => $this->u_action . '&amp;module_id=' . $row['module_id'] . '&amp;action=move_up',
'U_MOVE_DOWN' => $this->u_action . '&amp;module_id=' . $row['module_id'] . '&amp;action=move_down',
'U_MOVE_RIGHT' => ($move_right) ? $this->u_action . '&amp;module_id=' . $row['module_id'] . '&amp;action=move_right' : '',
'U_MOVE_LEFT' => ($move_left) ? $this->u_action . '&amp;module_id=' . $row['module_id'] . '&amp;action=move_left' : '',
));
}
$this->template->assign_vars(array(
'ICON_MOVE_LEFT' => '<img src="' . $this->root_path . 'adm/images/icon_left.gif" alt="' . $this->user->lang['MOVE_LEFT'] . '" title="' . $this->user->lang['MOVE_LEFT'] . '" />',
'ICON_MOVE_LEFT_DISABLED' => '<img src="' . $this->root_path . 'adm/images/icon_left_disabled.gif" alt="' . $this->user->lang['MOVE_LEFT'] . '" title="' . $this->user->lang['MOVE_LEFT'] . '" />',
'ICON_MOVE_RIGHT' => '<img src="' . $this->root_path . 'adm/images/icon_right.gif" alt="' . $this->user->lang['MOVE_RIGHT'] . '" title="' . $this->user->lang['MOVE_RIGHT'] . '" />',
'ICON_MOVE_RIGHT_DISABLED' => '<img src="' . $this->root_path . 'adm/images/icon_right_disabled.gif" alt="' . $this->user->lang['MOVE_RIGHT'] . '" title="' . $this->user->lang['MOVE_RIGHT'] . '" />',
'B3P_U_ACTION' => $this->modules_manager->get_module_link('modules', $module_id),
));
}
$this->tpl_name = 'portal/acp_portal_modules';
$this->page_title = 'ACP_PORTAL_MODULES';
break;
default:
trigger_error('NO_MODE', E_USER_ERROR);
break;
}
}
}

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

@@ -0,0 +1,439 @@
/**
* bbCode control by subBlue design [ www.subBlue.com ]
* Includes unixsafe colour palette selector by SHS`
* stripped parts that are useless for the portal
*/
var panels = new Array('options-panel', 'attach-panel', 'poll-panel');
var show_panel = 'options-panel';
/**
* Shows the help messages in the helpline window
*/
function helpline(help)
{
return;
}
/**
* Fix a bug involving the TextRange object. From
* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
*/
function initInsertions()
{
var doc;
if (document.forms[form_name])
{
doc = document;
}
else
{
doc = opener.document;
}
var textarea = doc.getElementById(text_name);
if (is_ie && typeof(baseHeight) != 'number')
{
textarea.focus();
baseHeight = doc.selection.createRange().duplicate().boundingHeight;
}
}
/**
* bbstyle
*/
function bbstyle(bbnumber)
{
if (bbnumber != -1)
{
bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]);
}
else
{
insert_text('[*]');
document.getElementById(text_name).focus();
}
}
/**
* Apply bbcodes
*/
function bbfontstyle(bbopen, bbclose)
{
theSelection = false;
var textarea = document.getElementById(text_name);
textarea.focus();
if ((clientVer >= 4) && is_ie && is_win)
{
// Get text selection
theSelection = document.selection.createRange().text;
if (theSelection)
{
// Add tags around selection
document.selection.createRange().text = bbopen + theSelection + bbclose;
document.getElementById(text_name).focus();
theSelection = '';
return;
}
}
else if (document.getElementById(text_name).selectionEnd && (document.getElementById(text_name).selectionEnd - document.getElementById(text_name).selectionStart > 0))
{
mozWrap(document.getElementById(text_name), bbopen, bbclose);
document.getElementById(text_name).focus();
theSelection = '';
return;
}
//The new position for the cursor after adding the bbcode
var caret_pos = getCaretPosition(textarea).start;
var new_pos = caret_pos + bbopen.length;
// Open tag
insert_text(bbopen + bbclose);
// Center the cursor when we don't have a selection
// Gecko and proper browsers
if (!isNaN(textarea.selectionStart))
{
textarea.selectionStart = new_pos;
textarea.selectionEnd = new_pos;
}
// IE
else if (document.selection)
{
var range = textarea.createTextRange();
range.move("character", new_pos);
range.select();
storeCaret(textarea);
}
textarea.focus();
return;
}
/**
* Insert text at position
*/
function insert_text(text, spaces, popup)
{
var textarea;
if (!popup)
{
textarea = document.getElementById(text_name);
}
else
{
textarea = opener.document.getElementById(text_name);
}
if (spaces)
{
text = ' ' + text + ' ';
}
if (!isNaN(textarea.selectionStart))
{
var sel_start = textarea.selectionStart;
var sel_end = textarea.selectionEnd;
mozWrap(textarea, text, '')
textarea.selectionStart = sel_start + text.length;
textarea.selectionEnd = sel_end + text.length;
}
else if (textarea.createTextRange && textarea.caretPos)
{
if (baseHeight != textarea.caretPos.boundingHeight)
{
textarea.focus();
storeCaret(textarea);
}
var caret_pos = textarea.caretPos;
caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
}
else
{
textarea.value = textarea.value + text;
}
if (!popup)
{
textarea.focus();
}
}
/**
* Add inline attachment at position
*/
function attach_inline(index, filename)
{
insert_text('[attachment=' + index + ']' + filename + '[/attachment]');
document.getElementById(text_name).focus();
}
/**
* Add quote text to message
*/
function addquote(post_id, username)
{
var message_name = 'message_' + post_id;
var theSelection = '';
var divarea = false;
if (document.all)
{
divarea = document.all[message_name];
}
else
{
divarea = document.getElementById(message_name);
}
// Get text selection - not only the post content :(
if (window.getSelection)
{
theSelection = window.getSelection().toString();
}
else if (document.getSelection)
{
theSelection = document.getSelection();
}
else if (document.selection)
{
theSelection = document.selection.createRange().text;
}
if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null)
{
if (divarea.innerHTML)
{
theSelection = divarea.innerHTML.replace(/<br>/ig, '\n');
theSelection = theSelection.replace(/<br\/>/ig, '\n');
theSelection = theSelection.replace(/&lt\;/ig, '<');
theSelection = theSelection.replace(/&gt\;/ig, '>');
theSelection = theSelection.replace(/&amp\;/ig, '&');
theSelection = theSelection.replace(/&nbsp\;/ig, ' ');
}
else if (document.all)
{
theSelection = divarea.innerText;
}
else if (divarea.textContent)
{
theSelection = divarea.textContent;
}
else if (divarea.firstChild.nodeValue)
{
theSelection = divarea.firstChild.nodeValue;
}
}
if (theSelection)
{
if (bbcodeEnabled)
{
insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
}
else
{
var lines = split_lines(theSelection);
for (i = 0; i < lines.length; i++)
{
insert_text('> ' + lines[i] + '\n')
}
}
}
return;
}
function split_lines(text)
{
var lines = text.split('\n');
var splitLines = new Array();
var j = 0;
for(i = 0; i < lines.length; i++)
{
if (lines[i].length <= 80)
{
splitLines[j] = lines[i];
j++;
}
else
{
var line = lines[i];
do
{
var splitAt = line.indexOf(' ', 80);
if (splitAt == -1)
{
splitLines[j] = line;
j++
}
else
{
splitLines[j] = line.substring(0, splitAt);
line = line.substring(splitAt);
j++;
}
}
while (splitAt != -1)
}
}
return splitLines;
}
/**
* From http://www.massless.org/mozedit/
*/
function mozWrap(txtarea, open, close)
{
var selLength = (typeof(txtarea.textLength) == 'undefined') ? txtarea.value.length : txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var scrollTop = txtarea.scrollTop;
if (selEnd == 1 || selEnd == 2)
{
selEnd = selLength;
}
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
txtarea.selectionStart = selStart + open.length;
txtarea.selectionEnd = selEnd + open.length;
txtarea.focus();
txtarea.scrollTop = scrollTop;
return;
}
/**
* Insert at Caret position. Code from
* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
*/
function storeCaret(textEl)
{
if (textEl.createTextRange)
{
textEl.caretPos = document.selection.createRange().duplicate();
}
}
/**
* Color pallette
*/
function colorPalette(dir, width, height) {
var r = 0,
g = 0,
b = 0,
numberList = new Array(6),
color = '',
html = '';
numberList[0] = '00';
numberList[1] = '40';
numberList[2] = '80';
numberList[3] = 'BF';
numberList[4] = 'FF';
html += '<table>';
for (r = 0; r < 5; r++) {
if (dir == 'h') {
html += '<tr>';
}
for (g = 0; g < 5; g++) {
if (dir == 'v') {
html += '<tr>';
}
for (b = 0; b < 5; b++) {
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
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') {
html += '</tr>';
}
}
if (dir == 'h') {
html += '</tr>';
}
}
html += '</table>';
return html;
}
(function($) {
$(document).ready(function() {
$('#color_palette_placeholder').each(function() {
$(this).html(colorPalette('h', 5, 10));
});
});
})(jQuery);
/**
* Caret Position object
*/
function caretPosition()
{
var start = null;
var end = null;
}
/**
* Get the caret position in an textarea
*/
function getCaretPosition(txtarea)
{
var caretPos = new caretPosition();
// simple Gecko/Opera way
if(txtarea.selectionStart || txtarea.selectionStart == 0)
{
caretPos.start = txtarea.selectionStart;
caretPos.end = txtarea.selectionEnd;
}
// dirty and slow IE way
else if(document.selection)
{
// get current selection
var range = document.selection.createRange();
// a new selection of the whole textarea
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtarea);
// calculate selection start point by moving beginning of range_all to beginning of range
var sel_start;
for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
{
range_all.moveStart('character', 1);
}
txtarea.sel_start = sel_start;
// we ignore the end value for IE, this is already dirty enough and we don't need it
caretPos.start = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
}
return caretPos;
}

View File

@@ -0,0 +1,206 @@
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{{ lang('ACP_PORTAL_EVENTS') }}</legend>
<dl>
<dt><label for="event_title">{{ lang('EVENT_TITLE') }}{{ lang('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">{{ lang('EVENT_DESC') }}{{ lang('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_date">{{ lang('ACP_PORTAL_EVENT_START_DATE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_EVENT_START_DATE_EXP') }}</span>
</dt>
<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_all_day">{{ lang('EVENT_ALL_DAY') }}{{ lang('COLON') }}</label></dt>
<dd>
<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 %} />{{ lang('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 %} /> {{ lang('NO') }}</label>
</dd>
</dl>
<div id="end"{% if EVENT_ALL_DAY %}style="display: none;"{% endif %}>
<dl>
<dt>
<label for="event_end_date">{{ lang('ACP_PORTAL_EVENT_END_DATE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_EVENT_END_DATE_EXP') }}</span>
</dt>
<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">{{ lang('EVENT_LINK') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('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">{{ lang('ACP_PORTAL_CALENDAR_PERMISSION') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_CALENDAR_PERMISSION_EXP') }}</span>
</dt>
<dd>
<select id="permission-setting-calendar" size="10" multiple="multiple" name="permission-setting-calendar[]">
{% for permission_setting_calendar in loops.permission_setting_calendar %}
<option value="{{ permission_setting_calendar.GROUP_ID }}"{% if permission_setting_calendar.SELECTED %}selected="selected"{% endif %}>{{ permission_setting_calendar.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
<p class="submit-buttons">
<input type="hidden" name="action" value="save" />
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
{{ S_FORM_TOKEN }}
</p>
</fieldset>
</form>
{% else %}
<form id="acp_portal_calendar" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('MODULE_PERMISSIONS') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_PERMISSIONS_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
{% endif %}
<fieldset>
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{{ options.KEY }}">{{ options.TITLE }}{{ lang('COLON') }}</label>{% if options.S_EXPLAIN %}<br /><span>{{ options.TITLE_EXPLAIN }}</span>{% endif %}</dt>
<dd>{{ options.CONTENT }}</dd>
</dl>
{% endif %}
{% endfor %}
</fieldset>
<fieldset>
<legend>{{ lang('ACP_PORTAL_EVENTS') }}</legend>
<fieldset class="tabulated">
<p class="quick">
<input class="button2" name="add" type="submit" value="{{ lang('ADD_EVENT') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{{ lang('EVENT_TITLE') }}</th>
<th>{{ lang('EVENT_DESC') }}</th>
<th>{{ lang('EVENT_TIME') }}</th>
<th>{{ lang('EVENT_LINK') }}</th>
<th>{{ lang('ACTION') }}</th>
</tr>
</thead>
<tbody>
{% for events in loops.events %}
{% 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 %}{{ lang('EVENT_START') }}{{ lang('COLON') }}&nbsp;{{ events.EVENT_START }}&nbsp;&#124;&nbsp;{{ lang('EVENT_END') }}{{ lang('COLON') }}&nbsp;{{ events.EVENT_END }}{% else %}{{ lang('EVENT_TIME') }}{{ lang('COLON') }}&nbsp;{{ events.EVENT_START }}{% if events.EVENT_ALL_DAY %}&nbsp;&#124;&nbsp;{{ lang('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>
</td>
</tr>
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="5">{{ lang('NO_EVENTS') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
{% endif %}
{% INCLUDE 'overall_footer.html' %}

View File

@@ -0,0 +1,109 @@
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
{% if MODULE_NAME %}
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('MODULE_PERMISSIONS') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_PERMISSIONS_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
{% endif %}
<fieldset>
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{{ options.KEY }}">{{ options.TITLE }}{{ lang('COLON') }}</label>{% if options.S_EXPLAIN %}<br /><span>{{ options.TITLE_EXPLAIN }}</span>{% endif %}</dt>
<dd>{{ options.CONTENT }}</dd>
</dl>
{% endif %}
{% else %}
<fieldset>
{% endfor %}
{% if S_AUTH %}
{% for auth_tpl in loops.auth_tpl %}
{{ auth_tpl.TPL }}
{% endfor %}
{% endif %}
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</form>
{% INCLUDE 'overall_footer.html' %}

View File

@@ -0,0 +1,239 @@
{% INCLUDE 'overall_header.html' %}
{% INCLUDEJS 'portal/acp_editor.js' %}
<script type="text/javascript">
// <![CDATA[
/**
* bbCode control by subBlue design [ www.subBlue.com ]
* Includes unixsafe colour palette selector by SHS`
*/
// Startup variables
var imageTag = false;
var theSelection = false;
var bbcodeEnabled = true;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1));
var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1));
var baseHeight;
var form_name = 'acp_portal_welcome';
var text_name = 'custom_code';
var load_draft = false;
var upload = false;
// Define the bbCode tags
var bbcode = new Array();
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'{% for custom_tags in loops.custom_tags %}, {{ custom_tags.BBCODE_NAME }}{% endfor %});
var imageTag = false;
// Helpline messages
var help_line = {
b: '{{ lang('BBCODE_B_HELP')|escape('js') }}',
i: '{{ lang('BBCODE_I_HELP')|escape('js') }}',
u: '{{ lang('BBCODE_U_HELP')|escape('js') }}',
q: '{{ lang('BBCODE_Q_HELP')|escape('js') }}',
c: '{{ lang('BBCODE_C_HELP')|escape('js') }}',
l: '{{ lang('BBCODE_L_HELP')|escape('js') }}',
o: '{{ lang('BBCODE_O_HELP')|escape('js') }}',
p: '{{ lang('BBCODE_P_HELP')|escape('js') }}',
w: '{{ lang('BBCODE_W_HELP')|escape('js') }}',
a: '{{ lang('BBCODE_A_HELP')|escape('js') }}',
s: '{{ lang('BBCODE_S_HELP')|escape('js') }}',
f: '{{ lang('BBCODE_F_HELP')|escape('js') }}',
e: '{{ lang('BBCODE_E_HELP')|escape('js') }}',
d: '{{ lang('BBCODE_D_HELP')|escape('js') }}'
{% for custom_tags in loops.custom_tags %}
,cb_{{ custom_tags.BBCODE_ID }}: '{{ custom_tags.A_BBCODE_HELPLINE }}'
{% endfor %}
}
function change_palette()
{
phpbb.toggleDisplay('colour_palette');
e = document.getElementById('colour_palette');
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR_HIDE')|escape('js') }}';
}
else
{
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR')|escape('js') }}';
}
}
// ]]>
</script>
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('ACP_PORTAL_CUSTOM_PERMISSION') }}{{ lang('COLON') }}</label><br /><span>{{ lang('ACP_PORTAL_CUSTOM_PERMISSION_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% if S_PREVIEW %}
<fieldset>
<legend>{{ lang('ACP_PORTAL_CUSTOM_PREVIEW') }}</legend>
<dl>
<dt style="border: none; width: 100%;">
{{ PREVIEW_TEXT }}
</dt>
</dl>
</fieldset>
{% endif %}
<fieldset>
<legend>{{ lang('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>{{ lang('FONT_COLOR') }}{{ lang('COLON') }}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
<dt id="color_palette_placeholder" style="border: none;"></dt>
<dd></dd>
</dl>
</div>
<div id="format-buttons">
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{{ lang('BBCODE_B_HELP') }}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{{ lang('BBCODE_I_HELP') }}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{{ lang('BBCODE_U_HELP') }}" />
{% if S_BBCODE_QUOTE %}
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{{ lang('BBCODE_Q_HELP') }}" />
{% endif %}
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{{ lang('BBCODE_C_HELP') }}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{{ lang('BBCODE_L_HELP') }}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{{ lang('BBCODE_O_HELP') }}" />
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{{ lang('BBCODE_LISTITEM_HELP') }}" />
{% if S_BBCODE_IMG %}
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{{ lang('BBCODE_P_HELP') }}" />
{% endif %}
{% if S_LINKS_ALLOWED %}
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" title="{{ lang('BBCODE_W_HELP') }}" />
{% endif %}
{% if S_BBCODE_FLASH %}
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{{ lang('BBCODE_D_HELP') }}" />
{% endif %}
<select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{{ lang('BBCODE_F_HELP') }}">
<option value="50">{{ lang('FONT_TINY') }}</option>
<option value="85">{{ lang('FONT_SMALL') }}</option>
<option value="100" selected="selected">{{ lang('FONT_NORMAL') }}</option>
{% if not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 %}
<option value="150">{{ lang('FONT_LARGE') }}</option>
{% if not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 %}
<option value="200">{{ lang('FONT_HUGE') }}</option>
{% endif %}
{% endif %}
</select>
<input type="button" class="button2" name="bbpalette" id="bbpalette" value="{{ lang('FONT_COLOR') }}" onclick="change_palette();" title="{{ lang('BBCODE_S_HELP') }}" />
{% for custom_tags in loops.custom_tags %}
<input type="button" class="button2" name="addbbcode{{ custom_tags.BBCODE_ID }}" value="{{ custom_tags.BBCODE_TAG }}" onclick="bbstyle({{ custom_tags.BBCODE_ID }})" title="{{ custom_tags.BBCODE_HELPLINE }}" />
{% endfor %}
</div>
</dd>
</dl>
<dl>
<dt>
<label for="custom_code">{{ lang('ACP_PORTAL_CUSTOM_CODE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_CUSTOM_CODE_EXP') }}</span>
</dt>
<dd><textarea name="custom_code" id="custom_code" cols="6" rows="12">{{ CUSTOM_CODE }}</textarea></dd>
</dl>
<dl>
<dt>
<label for="custom_use_bbcode">{{ lang('ACP_PORTAL_CUSTOM_BBCODE') }}</label><br />
<span>{{ lang('ACP_PORTAL_CUSTOM_BBCODE_EXP') }}</span>
</dt>
<dd>
<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 %} />{{ lang('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 %} />{{ lang('NO') }}</label>
</dd>
</dl>
{% if S_AUTH %}
{% for auth_tpl in loops.auth_tpl %}
{{ auth_tpl.TPL }}
{% endfor %}
{% endif %}
<p class="submit-buttons">
<input class="button2" type="submit" id="preview" name="preview" value="{{ lang('PREVIEW') }}" />&nbsp;
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</form>
{% INCLUDE 'overall_footer.html' %}

View File

@@ -0,0 +1,187 @@
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<dl>
<dt><label for="link_title">{{ lang('ACP_PORTAL_LINK_TITLE') }}{{ lang('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">{{ lang('ACP_PORTAL_LINK_TYPE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_LINK_TYPE_EXP') }}</span>
</dt>
<dd>
<label><input type="radio" class="radio" name="link_type" value="1" id="link_type"{% if S_LINK_IS_INT %} checked="checked"{% endif %} />{{ lang('ACP_PORTAL_LINK_INT') }}</label>
<label><input type="radio" class="radio" name="link_type" value="2"{% if not S_LINK_IS_INT %} checked="checked"{% endif %} /> {{ lang('ACP_PORTAL_LINK_EXT') }}</label>
</dd>
</dl>
<dl>
<dt>
<label for="link_url">{{ lang('ACP_PORTAL_LINK_URL') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('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">{{ lang('ACP_PORTAL_LINK_PERMISSION') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_LINK_PERMISSION_EXP') }}</span>
</dt>
<dd>
<select id="permission-setting-link" size="10" multiple="multiple" name="permission-setting-link[]">
{% for permission_setting_link in loops.permission_setting_link %}
<option value="{{ permission_setting_link.GROUP_ID }}"{% if permission_setting_link.SELECTED %}selected="selected"{% endif %}>{{ permission_setting_link.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
<p class="submit-buttons">
<input type="hidden" name="action" value="save" />
{% if LINK_ID !== '' %}<input type="hidden" name="id" value="{{ LINK_ID }}" />{% endif %}
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
{{ S_FORM_TOKEN }}
</p>
</fieldset>
</form>
{% else %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('MODULE_PERMISSIONS') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_PERMISSIONS_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
{% endif %}
<fieldset>
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{{ options.KEY }}">{{ options.TITLE }}{{ lang('COLON') }}</label>{% if options.S_EXPLAIN %}<br /><span>{{ options.TITLE_EXPLAIN }}</span>{% endif %}</dt>
<dd>{{ options.CONTENT }}</dd>
</dl>
{% endif %}
{% else %}
<fieldset>
{% endfor %}
<fieldset class="tabulated">
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<p class="quick">
<input class="button2" name="add" type="submit" value="{{ lang('ACP_PORTAL_LINK_ADD') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{{ lang('ACP_PORTAL_LINK_TITLE') }}</th>
<th>{{ lang('ACP_PORTAL_LINK_URL') }}</th>
<th>{{ lang('ACTION') }}</th>
</tr>
</thead>
<tbody>
{% for links in loops.links %}
{% if links.S_ROW_COUNT is even %}<tr class="row1">{% else %}<tr class="row2">{% endif %}
<td style="text-align: center;"{% if links.S_LINK_IS_CAT %} class="row3" colspan="2"{% endif %}>{{ links.LINK_TITLE }}</td>
{% if not links.S_LINK_IS_CAT %}<td style="text-align: center;">{{ links.LINK_URL }}</td>{% endif %}
<td style="text-align: center;">
{% if links.S_FIRST_ROW %}{{ ICON_MOVE_UP_DISABLED }}{% else %}<a href="{{ links.U_MOVE_UP }}">{{ ICON_MOVE_UP }}</a>{% endif %}&nbsp;
{% if links.S_LAST_ROW %}{{ ICON_MOVE_DOWN_DISABLED }}{% else %}<a href="{{ links.U_MOVE_DOWN }}">{{ ICON_MOVE_DOWN }}</a>{% endif %}&nbsp;
<a href="{{ links.U_EDIT }}">{{ ICON_EDIT }}</a> <a href="{{ links.U_DELETE }}">{{ ICON_DELETE }}</a>
</td>
</tr>
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="3">{{ lang('LINKS_NO_LINKS') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
{% endif %}
{% INCLUDE 'overall_footer.html' %}

View File

@@ -0,0 +1,194 @@
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{{ lang('ACP_PORTAL_MENU_LINK_SETTINGS') }}</legend>
<dl>
<dt><label for="link_title">{{ lang('ACP_PORTAL_MENU_TITLE') }}{{ lang('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">{{ lang('ACP_PORTAL_MENU_IS_CAT') }}{{ lang('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 %} />{{ lang('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 %} /> {{ lang('NO') }}</label></dd>
</dl>
<div id="url"{% if S_LINK_IS_CAT %} style="display: none;"{% endif %}>
<dl>
<dt>
<label for="link_type">{{ lang('ACP_PORTAL_MENU_TYPE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_MENU_TYPE_EXP') }}</span>
</dt>
<dd>
<label><input type="radio" class="radio" name="link_type" value="1" id="link_type"{% if S_LINK_IS_INT %} checked="checked"{% endif %} />{{ lang('ACP_PORTAL_MENU_INT') }}</label>
<label><input type="radio" class="radio" name="link_type" value="2"{% if not S_LINK_IS_INT %} checked="checked"{% endif %} /> {{ lang('ACP_PORTAL_MENU_EXT') }}</label>
</dd>
</dl>
<dl>
<dt>
<label for="link_url">{{ lang('ACP_PORTAL_MENU_URL') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('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">{{ lang('ACP_PORTAL_MENU_PERMISSION') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_MENU_PERMISSION_EXP') }}</span>
</dt>
<dd>
<select id="permission-setting-menu" size="10" multiple="multiple" name="permission-setting-menu[]">
{% for permission_setting_menu in loops.permission_setting_menu %}
<option value="{{ permission_setting_menu.GROUP_ID }}"{% if permission_setting_menu.SELECTED %}selected="selected"{% endif %}>{{ permission_setting_menu.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
</div>
<p class="submit-buttons">
<input type="hidden" name="action" value="save" />
{% if LINK_ID !== '' %}<input type="hidden" name="id" value="{{ LINK_ID }}" />{% endif %}
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
{{ S_FORM_TOKEN }}
</p>
</fieldset>
</form>
{% else %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('MODULE_PERMISSIONS') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_PERMISSIONS_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
{% endif %}
<fieldset>
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{{ options.KEY }}">{{ options.TITLE }}{{ lang('COLON') }}</label>{% if options.S_EXPLAIN %}<br /><span>{{ options.TITLE_EXPLAIN }}</span>{% endif %}</dt>
<dd>{{ options.CONTENT }}</dd>
</dl>
{% endif %}
{% else %}
<fieldset>
{% endfor %}
<fieldset class="tabulated">
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<p class="quick">
<input class="button2" name="add" type="submit" value="{{ lang('ACP_PORTAL_MENU_ADD') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{{ lang('ACP_PORTAL_MENU_TITLE') }}</th>
<th>{{ lang('ACP_PORTAL_MENU_URL') }}</th>
<th>{{ lang('ACTION') }}</th>
</tr>
</thead>
<tbody>
{% for links in loops.links %}
{% if links.S_ROW_COUNT is even %}<tr class="row1">{% else %}<tr class="row2">{% endif %}
<td style="text-align: center;"{% if links.S_LINK_IS_CAT %} class="row3" colspan="2"{% endif %}>{{ links.LINK_TITLE }}</td>
{% if not links.S_LINK_IS_CAT %}<td style="text-align: center;">{{ links.LINK_URL }}</td>{% endif %}
<td style="text-align: center;">
{% if links.S_FIRST_ROW %}{{ ICON_MOVE_UP_DISABLED }}{% else %}<a href="{{ links.U_MOVE_UP }}">{{ ICON_MOVE_UP }}</a>{% endif %}&nbsp;
{% if links.S_LAST_ROW %}{{ ICON_MOVE_DOWN_DISABLED }}{% else %}<a href="{{ links.U_MOVE_DOWN }}">{{ ICON_MOVE_DOWN }}</a>{% endif %}&nbsp;
<a href="{{ links.U_EDIT }}">{{ ICON_EDIT }}</a> <a href="{{ links.U_DELETE }}">{{ ICON_DELETE }}</a>
</td>
</tr>
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="3">{{ lang('MENU_NO_LINKS') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
{% endif %}
{% INCLUDE 'overall_footer.html' %}

View File

@@ -0,0 +1,206 @@
{% if S_AJAX_REQUEST %}
<form id="acp_portal_modules" method="post" action="{{ U_ACTION }}">
<fieldset>
<dl>
<dt><label for="module_classname" style="display: inline;">{{ lang('CHOOSE_MODULE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('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>{{ lang('ACP_PORTAL_MODULES') }}</h1>
<p>{{ lang('ACP_PORTAL_MODULES_EXP') }}</p>
<form id="acp_portal_modules" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<dl>
<dt><label for="module_classname">{{ lang('CHOOSE_MODULE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
{{ S_FORM_TOKEN }}{{ S_HIDDEN_FIELDS }}
</p>
</fieldset>
</form>
{% else %}
<h1>{{ lang('ACP_PORTAL_MODULES') }}</h1>
<p>{{ lang('ACP_PORTAL_MODULES_EXP') }}</p>
<form id="acp_portal_modules" method="post" action="{{ B3P_U_ACTION }}" data-ajax="true">
<fieldset class="tabulated">
<legend>{{ lang('ACP_PORTAL_MODULES') }}</legend>
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{{ lang('MODULE_POS_TOP') }}</th>
</tr>
{% for modules_top in loops.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>
{{ modules_top.MODULE_IMAGE }} {{ modules_top.MODULE_NAME }}<br />
<br />
<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>
{% else %}
<tr>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[top]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
<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 class="portal-modules-overview">
<tr>
<th>{{ lang('MODULE_POS_LEFT') }}</th>
</tr>
{% for modules_left in loops.modules_left %}
{% if not modules_left.MODULE_ENABLED %}<tr class="row3">{% elseif modules_left.S_ROW_COUNT is even %}<tr class="row1">{% else %}<tr class="row2">{% endif %}
<td>
{{ modules_left.MODULE_IMAGE }} {{ modules_left.MODULE_NAME }}<br />
<br />
<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 }}" 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;
<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>
{% else %}
<tr>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[left]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
</td>
<td style="font-size: 100%; line-height: 100%; padding: 0 12px;">
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{{ lang('MODULE_POS_CENTER') }}</th>
</tr>
{% for modules_center in loops.modules_center %}
{% if not modules_center.MODULE_ENABLED %}<tr class="row3">{% elseif modules_center.S_ROW_COUNT is even %}<tr class="row1">{% else %}<tr class="row2">{% endif %}
<td>
{{ modules_center.MODULE_IMAGE }} {{ modules_center.MODULE_NAME }}<br />
<br />
<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 }}" 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;
<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>
{% else %}
<tr>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[center]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
</td>
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px;">
<table class="portal-modules-overview">
<tr>
<th>{{ lang('MODULE_POS_RIGHT') }}</th>
</tr>
{% for modules_right in loops.modules_right %}
{% if not modules_right.MODULE_ENABLED %}<tr class="row3">{% elseif modules_right.S_ROW_COUNT is even %}<tr class="row1">{% else %}<tr class="row2">{% endif %}
<td>
{{ modules_right.MODULE_IMAGE }} {{ modules_right.MODULE_NAME }}<br />
<br />
<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 }}" 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;
<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>
{% else %}
<tr>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[right]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
</td>
</tr>
</table>
<br />
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{{ lang('MODULE_POS_BOTTOM') }}</th>
</tr>
{% for modules_bottom in loops.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>
{{ modules_bottom.MODULE_IMAGE }} {{ modules_bottom.MODULE_NAME }}<br />
<br />
<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>
{% else %}
<tr>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[bottom]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</form>
{% endif %}
{% INCLUDEJS 'portal/ajax.js' %}
{% INCLUDE 'overall_footer.html' %}
{% endif %}

View File

@@ -0,0 +1,228 @@
{% INCLUDE 'overall_header.html' %}
{% INCLUDEJS 'portal/acp_editor.js' %}
<script type="text/javascript">
// <![CDATA[
/**
* bbCode control by subBlue design [ www.subBlue.com ]
* Includes unixsafe colour palette selector by SHS`
*/
// Startup variables
var imageTag = false;
var theSelection = false;
var bbcodeEnabled = true;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1));
var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1));
var baseHeight;
var form_name = 'acp_portal_welcome';
var text_name = 'welcome_message';
var load_draft = false;
var upload = false;
// Define the bbCode tags
var bbcode = new Array();
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'{% for custom_tags in loops.custom_tags %}, {{ custom_tags.BBCODE_NAME }}{% endfor %});
var imageTag = false;
// Helpline messages
var help_line = {
b: '{{ lang('BBCODE_B_HELP')|escape('js') }}',
i: '{{ lang('BBCODE_I_HELP')|escape('js') }}',
u: '{{ lang('BBCODE_U_HELP')|escape('js') }}',
q: '{{ lang('BBCODE_Q_HELP')|escape('js') }}',
c: '{{ lang('BBCODE_C_HELP')|escape('js') }}',
l: '{{ lang('BBCODE_L_HELP')|escape('js') }}',
o: '{{ lang('BBCODE_O_HELP')|escape('js') }}',
p: '{{ lang('BBCODE_P_HELP')|escape('js') }}',
w: '{{ lang('BBCODE_W_HELP')|escape('js') }}',
a: '{{ lang('BBCODE_A_HELP')|escape('js') }}',
s: '{{ lang('BBCODE_S_HELP')|escape('js') }}',
f: '{{ lang('BBCODE_F_HELP')|escape('js') }}',
e: '{{ lang('BBCODE_E_HELP')|escape('js') }}',
d: '{{ lang('BBCODE_D_HELP')|escape('js') }}'
{% for custom_tags in loops.custom_tags %}
,cb_{{ custom_tags.BBCODE_ID }}: '{{ custom_tags.A_BBCODE_HELPLINE }}'
{% endfor %}
}
function change_palette()
{
phpbb.toggleDisplay('colour_palette');
e = document.getElementById('colour_palette');
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR_HIDE')|escape('js') }}';
}
else
{
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR')|escape('js') }}';
}
}
// ]]>
</script>
<a name="maincontent"></a>
<h1>{{ lang('TITLE') }}</h1>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
{% if S_ERROR %}
<div class="errorbox">
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
{% endif %}
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{{ lang('MODULE_NAME') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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">{{ lang('MODULE_IMAGE') }}{{ lang('COLON') }}</label><br /><span>{{ lang('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="{{ lang('MODULE_IMAGE') }}" /></dd>{% endif %}
</dl>
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{{ lang('MODULE_IMAGE_WIDTH') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_WIDTH_EXP') }}</span></dt>
<dd><input id="module_img_width" type="number" value="{{ MODULE_IMAGE_WIDTH }}" name="module_img_width" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
<dl>
<dt><label for="module_img_height">{{ lang('MODULE_IMAGE_HEIGHT') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_IMAGE_HEIGHT_EXP') }}</span></dt>
<dd><input id="module_img_height" type="number" value="{{ MODULE_IMAGE_HEIGHT }}" name="module_img_height" min="0" />&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_fa">{{ lang('MODULE_FA') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_EXP') }}</span></dt>
<dd><input id="module_fa" type="text" value="{{ MODULE_FA }}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{{ lang('MODULE_FA_SIZE') }}{{ lang('COLON') }}</label><br/><span>{{ lang('MODULE_FA_SIZE_EXP') }}</span></dt>
<dd><input id="module_fa_size" type="number" value="{{ MODULE_FA_SIZE }}" name="module_fa_size" min="0"/>&nbsp;{{ lang('PIXEL') }}</dd>
</dl>
{% endif %}
<dl>
<dt><label for="module_reset">{{ lang('MODULE_RESET') }}{{ lang('COLON') }}</label><br /><span style="color: #BC2A4D;">{{ lang('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">{{ lang('MODULE_STATUS') }}{{ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"{% if MODULE_ENABLED %} checked="checked"{% endif %} />{{ lang('YES') }}</label>
<label><input type="radio" class="radio" name="module_status" value="0"{% if not MODULE_ENABLED %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{{ lang('MODULE_PERMISSIONS') }}{{ lang('COLON') }}</label><br /><span>{{ lang('MODULE_PERMISSIONS_EXP') }}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
{% for permission_setting in loops.permission_setting %}
<option value="{{ permission_setting.GROUP_ID }}"{% if permission_setting.SELECTED %}selected="selected"{% endif %}>{{ permission_setting.GROUP_NAME }}</option>
{% endfor %}
</select>
</dd>
</dl>
{% endif %}
</fieldset>
{% endif %}
{% if S_PREVIEW %}
<fieldset>
<legend>{{ lang('ACP_PORTAL_WELCOME_PREVIEW') }}</legend>
<dl>
<dt style="border: none; width: 100%;">
{{ PREVIEW_TEXT }}
</dt>
</dl>
</fieldset>
{% endif %}
<fieldset>
<legend>{{ lang('PORTAL_WELCOME') }}</legend>
<dl><dt style="display: none;"></dt>
<dd>
<div id="colour_palette" style="display: none;">
<dl style="clear: left;">
<dt style="border: none;"><label>{{ lang('FONT_COLOR') }}{{ lang('COLON') }}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
<dt id="color_palette_placeholder" style="border: none;"></dt>
<dd></dd>
</dl>
</div>
<div id="format-buttons">
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{{ lang('BBCODE_B_HELP') }}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{{ lang('BBCODE_I_HELP') }}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{{ lang('BBCODE_U_HELP') }}" />
{% if S_BBCODE_QUOTE %}
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{{ lang('BBCODE_Q_HELP') }}" />
{% endif %}
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{{ lang('BBCODE_C_HELP') }}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{{ lang('BBCODE_L_HELP') }}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{{ lang('BBCODE_O_HELP') }}" />
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{{ lang('BBCODE_LISTITEM_HELP') }}" />
{% if S_BBCODE_IMG %}
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{{ lang('BBCODE_P_HELP') }}" />
{% endif %}
{% if S_LINKS_ALLOWED %}
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" title="{{ lang('BBCODE_W_HELP') }}" />
{% endif %}
{% if S_BBCODE_FLASH %}
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{{ lang('BBCODE_D_HELP') }}" />
{% endif %}
<select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{{ lang('BBCODE_F_HELP') }}">
<option value="50">{{ lang('FONT_TINY') }}</option>
<option value="85">{{ lang('FONT_SMALL') }}</option>
<option value="100" selected="selected">{{ lang('FONT_NORMAL') }}</option>
{% if not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 %}
<option value="150">{{ lang('FONT_LARGE') }}</option>
{% if not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 %}
<option value="200">{{ lang('FONT_HUGE') }}</option>
{% endif %}
{% endif %}
</select>
<input type="button" class="button2" name="bbpalette" id="bbpalette" value="{{ lang('FONT_COLOR') }}" onclick="change_palette();" title="{{ lang('BBCODE_S_HELP') }}" />
{% for custom_tags in loops.custom_tags %}
<input type="button" class="button2" name="addbbcode{{ custom_tags.BBCODE_ID }}" value="{{ custom_tags.BBCODE_TAG }}" onclick="bbstyle({{ custom_tags.BBCODE_ID }})" title="{{ custom_tags.BBCODE_HELPLINE }}" />
{% endfor %}
</div>
</dd>
</dl>
<dl>
<dt>
<label for="welcome_message">{{ lang('ACP_PORTAL_WELCOME_MESSAGE') }}{{ lang('COLON') }}</label><br />
<span>{{ lang('ACP_PORTAL_WELCOME_MESSAGE_EXP') }}</span>
</dt>
<dd><textarea name="welcome_message" id="welcome_message" cols="6" rows="12">{{ WELCOME_MESSAGE }}</textarea></dd>
</dl>
{% if S_AUTH %}
{% for auth_tpl in loops.auth_tpl %}
{{ auth_tpl.TPL }}
{% endfor %}
{% endif %}
<p class="submit-buttons">
<input class="button2" type="submit" id="preview" name="preview" value="{{ lang('PREVIEW') }}" />&nbsp;
<input class="button1" type="submit" id="submit" name="submit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{{ lang('RESET') }}" />
</p>
{{ S_FORM_TOKEN }}
</fieldset>
</form>
{% INCLUDE 'overall_footer.html' %}

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

@@ -0,0 +1,115 @@
(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 $bottomRow = $(this).parents('tr:first'),
$topRow = $bottomRow.prev(),
topRowClass = $topRow.attr('class'),
bottomRowClass = $bottomRow.attr('class');
$bottomRow.insertBefore($topRow);
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
$bottomRow.attr('class', topRowClass);
$topRow.attr('class', bottomRowClass);
} else if (bottomRowClass === 'row3') {
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
} else if (topRowClass === 'row3') {
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
}
// Swap images if swap element is first row
var swapIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
if (swapIsFirstRow) {
$topRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
}
// Swap images if move element is last row
var elIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
if (elIsLastRow) {
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
$bottomRow.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 $topRow = $(this).parents('tr:first'),
$bottomRow = $topRow.next(),
bottomRowClass = $bottomRow.attr('class'),
topRowClass = $topRow.attr('class');
$topRow.insertAfter($bottomRow);
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
$bottomRow.attr('class', topRowClass);
$topRow.attr('class', bottomRowClass);
} else if (bottomRowClass === 'row3') {
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
} else if (topRowClass === 'row3') {
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
}
// Swap images if swap element is last row
var swapIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
if (swapIsLastRow) {
$bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
}
// Swap images if move element is first row
var elIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
if (elIsFirstRow) {
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
$topRow.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 $deletedRow = $(this).parents('tr:first'),
$nextRow = $deletedRow.next();
$deletedRow.remove();
// Fix classes of next elements
while ($nextRow !== undefined && $nextRow.is('tr')) {
var nextRowClass = ($nextRow.attr('class') === 'row1') ? 'row2' : 'row1';
if ($nextRow.attr('class') !== 'row3') {
$nextRow.attr('class', nextRowClass);
}
$nextRow = $nextRow.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;
}

233
build.xml Normal file
View File

@@ -0,0 +1,233 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="Extension Builder" description="Builds an extension.zip from a git repository" default="all">
<property name="vendor-name" value="board3" />
<property name="extension-name" value="portal" />
<!--
Only set this to "true" if you have dependencies in the composer.json,
otherwise use "false".
-->
<property name="has-dependencies" value="true" />
<target name="clean-package">
<!--
Remove some unnecessary files/directories
${dir}/ is the folder of your extension, e.g. ext/nickvergessen/newspage/
-->
<delete dir="${dir}/tests" />
<delete dir="${dir}/.github" />
<delete dir="${dir}/travis" />
<delete dir="${dir}/vendor/marc1706/phpbb-text-shortener/.github" />
<delete dir="${dir}/language/ar" />
<delete dir="${dir}/language/es" />
<delete dir="${dir}/language/fr" />
<delete dir="${dir}/language/it" />
<delete dir="${dir}/language/nl" />
<delete file="${dir}/.gitignore" />
<delete file="${dir}/.gitattributes" />
<delete file="${dir}/build.xml" />
<delete file="${dir}/composer.lock" />
<delete file="${dir}/composer.phar" />
<delete file="${dir}/phpunit.xml.dist" />
<delete file="${dir}/README.md" />
</target>
<!--
TODO: DO NOT EDIT BELOW THIS LINE!!!!
-->
<property name="version" value="HEAD" override="true" />
<property name="package.version" value="HEAD" />
<property name="build-directory" value="build" override="true" />
<property name="package-directory" value="${build-directory}/package/${vendor-name}/${extension-name}" />
<property name="phpbb-root" value="${build-directory}/../../../../../" />
<property name="clover-path" value="${build-directory}/logs/clover.xml" />
<property name="coverage-html-path" value="${build-directory}/coverage" />
<!-- These are the main targets which you will probably want to use -->
<target name="all" depends="prepare-structure,package" />
<!--
Clean up the build directory
-->
<target name="clean">
<delete dir="${build-directory}" />
<mkdir dir="${build-directory}" />
</target>
<target name="composer">
<exec dir="${build-directory}/../"
command="php composer.phar install"
passthru="true" />
</target>
<target name="prepare-tests" depends="clean,composer">
<if>
<available property="phpbb-is-available" file="${phpbb-root}/phpBB/vendor/bin/phpunit" type="file" />
<then>
<echo msg="phpBB is already set up." />
</then>
<else>
<!-- Move Board3 Portal and set up phpBB -->
<exec command="CURRENT_BUILD_REV=$(git rev-parse --abbrev-ref HEAD)" passthru="true" />
<exec command="echo $GIT_BRANCH" passthru="true" />
<exec command="git clone -v --progress https://github.com/phpbb/phpbb.git phpbb" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="git checkout 3.3.x" passthru="true" />
<exec dir="${build-directory}/../phpbb/phpBB" command="php ../composer.phar install" passthru="true" />
<mkdir dir="phpbb/phpBB/ext/board3" />
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3" command="git clone https://github.com/board3/Board3-Portal.git portal" passthru="true" />
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3/portal" command="git checkout $GIT_BRANCH" passthru="true" />
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3/portal" command="php composer.phar install" passthru="true" />
<property name="phpbb-root" value="${build-directory}/../phpbb" override="true" />
<property name="clover-path" value="../build/logs/clover.xml" override="true" />
<property name="coverage-html-path" value="../build/coverage" override="true" />
<exec dir="${build-directory}/../phpbb" command="cp ../../test_config_22x.php tests/test_config.php" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="chmod 777 phpBB/cache" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="mkdir phpBB/cache/test" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="chmod 777 phpBB/cache/test" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="chmod 777 phpBB/files" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="chmod 777 phpBB/store" passthru="true" />
<exec dir="${build-directory}/../phpbb" command="chmod 777 phpBB/images/avatars/upload" passthru="true" />
</else>
</if>
<if>
<equals arg1="$JENKINS_URL" arg2="" />
<then>
<echo msg="JENKINS_URL is not set" />
</then>
<else>
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3/portal" command="wget https://phar.phpunit.de/phploc.phar" passthru="true" />
<if>
<available property="logs-dir-available" file="${build-directory}/logs" type="dir" />
<then>
<echo msg="Logs dir already set up." />
</then>
<else>
<mkdir dir="${build-directory}/logs" />
<exec dir="${build-directory}/logs" command="touch phploc.csv" />
</else>
</if>
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3" command="php portal/phploc.phar --exclude=vendor --exclude=travis --log-csv ../../../../build/logs/phploc.csv portal/" passthru="true" />
<exec dir="${build-directory}/../phpbb/phpBB/ext/board3/portal" command="rm phploc.phar" passthru="true" />
</else>
</if>
<if>
<equals arg1="$BUILD_NUMBER" arg2="" />
<then>
<echo msg="BUILD_NUMBER is not available" />
</then>
<else>
<property environment="env" />
<echo>Build number is ${env.BUILD_NUMBER}</echo>
<property name="package.version" value="${env.BUILD_NUMBER}" override="true" />
</else>
</if>
</target>
<target name="test" depends="clean,composer,prepare-tests">
<if>
<available property="phpunit-available" file="phpbb/phpBB/vendor/bin/phpunit" type="file" />
<then>
<exec dir="${phpbb-root}"
command="phpBB/vendor/bin/phpunit
-c phpBB/ext/${vendor-name}/${extension-name}/ --coverage-clover=${clover-path} --coverage-html=${coverage-html-path}"
passthru="true" returnProperty="test.pass" />
<if>
<not>
<equals arg1="${test.pass}" arg2="0"/>
</not>
<then>
<fail msg="PHPUnit tests failed."/>
</then>
</if>
</then>
<else>
<echo msg="PHPUnit couldn't be found." />
</else>
</if>
</target>
<target name="test-slow" depends="clean,composer">
<if>
<available property="phpunit-available" file="phpbb/phpBB/vendor/bin/phpunit" type="file" />
<then>
<exec dir="${phpbb-root}"
command="phpBB/vendor/bin/phpunit
-c phpBB/ext/${vendor-name}/${extension-name}/
--group slow"
passthru="true" />
<if>
<not>
<equals arg1="${test.pass}" arg2="0"/>
</not>
<then>
<fail msg="PHPUnit slow tests failed."/>
</then>
</if>
</then>
<else>
<echo msg="PHPUnit couldn't be found." />
</else>
</if>
</target>
<!--
Recreate the necessary folders
-->
<target name="prepare-structure" depends="clean,composer,test,test-slow">
<mkdir dir="${build-directory}" />
<mkdir dir="${build-directory}/checkout" />
<mkdir dir="${build-directory}/package" />
<mkdir dir="${build-directory}/package/${vendor-name}" />
<mkdir dir="${build-directory}/package/${vendor-name}/${extension-name}" />
<mkdir dir="${build-directory}/upload" />
</target>
<!--
The real packaging
-->
<target name="package">
<echo msg="Extracting ${version}" />
<phingcall target="git-checkout">
<property name="archive-version" value="${version}" />
</phingcall>
<if>
<equals arg1="${has-dependencies}" arg2="1" />
<then>
<exec dir="${package-directory}" command="php composer.phar install --no-dev"
checkreturn="true" />
</then>
</if>
<phingcall target="clean-package">
<property name="dir" value="${package-directory}" />
</phingcall>
<phingcall target="wrap-package">
<property name="destination-filename" value="${build-directory}/upload/${vendor-name}_${extension-name}_${package.version}" />
</phingcall>
</target>
<!--
Checkout a given version and install/clean the dependencies
-->
<target name="git-checkout">
<echo msg="Getting archive for ${archive-version}" />
<exec command="git archive ${archive-version} --format zip --output ${build-directory}/checkout/${archive-version}.zip"
checkreturn="true" />
<unzip file="${build-directory}/checkout/${archive-version}.zip" todir="${package-directory}" />
</target>
<!--
Create the zip and tar ball
-->
<target name="wrap-package">
<echo msg="Creating archives (${vendor-name}/${extension-name} ${version})" />
<zip basedir="${build-directory}/package/" destfile="${destination-filename}.zip" />
</target>
</project>

47
composer.json Normal file
View File

@@ -0,0 +1,47 @@
{
"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": "https://www.board3.de",
"version": "2.3.0",
"time": "2023-03-19 09:58:18",
"license": "GPL-2.0-only",
"authors": [{
"name": "Marc Alexander",
"email": "admin@m-a-styles.de",
"homepage": "https://www.m-a-styles.de",
"role": "Developer"
},
{
"name": "Joas Schilling",
"homepage": "https://www.schilljs.com/",
"role": "Former Developer"
},
{
"name": "Kirk",
"homepage": "https://reyno41.bplaced.net/phpbb/",
"role": "Developer"
}
],
"require": {
"php": ">=7.1.0,<8.3.0",
"marc1706/phpbb-text-shortener": "^0.3.0"
},
"extra": {
"display-name": "Board3 Portal",
"soft-require": {
"phpbb/phpbb": ">=3.2.6,<3.4@dev"
},
"version-check": {
"host": "board3.de",
"directory": "/updatecheck",
"filename": "board3_portal.json",
"ssl": "true"
}
},
"config": {
"allow-plugins": {
"composer/installers": true
}
}
}

79
composer.lock generated Normal file
View File

@@ -0,0 +1,79 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a9605bea31820bc73c4bd7d142cbba7c",
"packages": [
{
"name": "marc1706/phpbb-text-shortener",
"version": "v0.3.0",
"source": {
"type": "git",
"url": "https://github.com/marc1706/phpbb-text-shortener.git",
"reference": "9f0e4a7ae1a203cc73697f95a4d3bd3f3ff14d69"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/marc1706/phpbb-text-shortener/zipball/9f0e4a7ae1a203cc73697f95a4d3bd3f3ff14d69",
"reference": "9f0e4a7ae1a203cc73697f95a4d3bd3f3ff14d69",
"shasum": ""
},
"require": {
"php": ">=7.1.3"
},
"require-dev": {
"phpunit/phpunit": "^7.0",
"symfony/yaml": "~3.4"
},
"type": "library",
"autoload": {
"psr-4": {
"Marc1706\\TextShortener\\": "src",
"Marc1706\\TextShortener\\tests\\": "tests"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marc Alexander",
"email": "admin@m-a-styles.de",
"homepage": "https://www.m-a-styles.de",
"role": "Developer"
}
],
"description": "Library for shortening post text in phpBB 3.2.x",
"homepage": "https://www.m-a-styles.de",
"keywords": [
"bbcode",
"extension",
"extensions",
"minify",
"php",
"phpbb",
"post",
"shortening"
],
"support": {
"issues": "https://github.com/marc1706/phpbb-text-shortener/issues",
"source": "https://github.com/marc1706/phpbb-text-shortener/tree/v0.3.0"
},
"time": "2023-02-07T19:46:11+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": ">=7.1.0,<8.3.0"
},
"platform-dev": [],
"plugin-api-version": "1.1.0"
}

BIN
composer.phar Executable file

Binary file not shown.

325
config/modules.yml Normal file
View File

@@ -0,0 +1,325 @@
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'
- '@board3.portal.modules_helper'
- '@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
arguments:
- '@config'
- '@template'
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'
- '@request'
- '@template'
- '@user'
- '@board3.portal.modules_helper'
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'
- '@board3.portal.modules_helper'
tags:
- { name: board3.portal.module }
board3.portal.module.random_member:
class: board3\portal\modules\random_member
arguments:
- '@dbal.conn'
- '@template'
- '@user'
- '%core.root_path%'
- '%core.php_ext%'
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'
- '@board3.portal.modules_helper'
- '@template'
- '@dbal.conn'
- '@request'
- '@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'
- '@config'
- '@dbal.conn'
- '@template'
- '@user'
- '%core.root_path%'
- '%core.php_ext%'
tags:
- { name: board3.portal.module }

15
config/routing.yml Normal file
View File

@@ -0,0 +1,15 @@
board3_portal_controller:
path: /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:
path: /
defaults:
_controller: 'board3.portal.main:handle'

107
config/services.yml Normal file
View File

@@ -0,0 +1,107 @@
imports:
- { resource: modules.yml }
parameters:
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:
- '@board3.portal.columns'
- '@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'
- '@board3.portal.columns'
- '@config'
- '@language'
- '@template'
- '@user'
- '@path_helper'
- '@board3.portal.helper'
- '%core.root_path%'
- '.%core.php_ext%'
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'
- '@controller.helper'
- '@dbal.conn'
- '@request'
- '%tables.styles%'
board3.portal.columns:
class: board3\portal\portal\columns
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:
- '@board3.portal.main'
- '@auth'
- '@config'
- '@controller.helper'
- '@path_helper'
- '@template'
- '@user'
- '%core.php_ext%'
tags:
- { name: event.listener }
board3.portal.modules.manager:
class: board3\portal\portal\modules\manager
arguments:
- '@cache'
- '@dbal.conn'
- '@board3.portal.controller_helper'
- '@board3.portal.columns'
- '@board3.portal.helper'
- '@board3.portal.modules.constraints_handler'
- '@board3.portal.modules.database_handler'
- '@request'
- '@user'
board3.portal.modules.database_handler:
class: board3\portal\portal\modules\database_handler
arguments:
- '@dbal.conn'
board3.portal.modules.constraints_handler:
class: board3\portal\portal\modules\constraints_handler
arguments:
- '@board3.portal.columns'
- '@user'

View File

@@ -1,110 +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/-->
<!-- $Id$ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.8</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,173 +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/-->
<!-- $Id: subsilver2.xml 658 2010-06-01 12:26:23Z marc1706 $ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.8</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,117 +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/-->
<!-- $Id$ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.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.0a1</title>
<title lang="de">board3 Portal - Deutsche Sprache Aktualisiering für 2.0.0a1</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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.8</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>
<delete>
<file name="language/de/mods/additional_blocks.php" />
<file name="language/de/mods/info_acp_additional_blocks.php" />
<file name="language/de/mods/install_portal.php" />
<file name="language/de/mods/lang_portal.php" />
<file name="language/de/mods/lang_portal_acp.php" />
</delete>
<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,136 +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/-->
<!-- $Id: subsilver2.xml 658 2010-06-01 12:26:23Z marc1706 $ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.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.0a1</title>
<title lang="de">board3 Portal - Aktualisiere das subsilver2 style für 2.0.0a1</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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.8</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/*.*" to="styles/subsilver2/template/portal/*.*" />
<file from="root/styles/subsilver2/theme/images/portal/*.*" to="styles/subsilver2/theme/images/portal/*.*" />
</copy>
<delete>
<file name="styles/subsilver2/template/portal/portal_center.html" />
<file name="styles/subsilver2/template/portal/portal_left.html" />
<file name="styles/subsilver2/template/portal/portal_right.html" />
<file name="styles/subsilver2/template/portal/block/" />
<file name="styles/subsilver2/theme/images/portal/mini_cal_icon_left_arrow.png" />
<file name="styles/subsilver2/theme/images/portal/mini_cal_icon_right_arrow.png" />
<file name="styles/subsilver2/theme/images/portal/portal_login.png" />
<file name="styles/subsilver2/theme/images/portal/portal_minical.png" />
<file name="styles/subsilver2/theme/images/portal/portal_random.png" />
<file name="styles/subsilver2/theme/images/portal/portal_stats.png" />
</delete>
<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,189 +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/-->
<!-- $Id: subsilver2.xml 658 2010-06-01 12:26:23Z marc1706 $ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal - Convert from Board3 Portal 1.0.6</title>
<title lang="de">board3 Portal - Konvertiere von Board3 Portal 1.0.6</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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>120</time>
<target-version>3.0.8</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.0a1</link>
<link type="template" lang="de" href="contrib/subsilver2.xml">Aktualisiere subsilver2 für Board3 Portal 2.0.0a1</link>
<link type="language" lang="en" href="contrib/subsilver2.xml">Update German language to Board3 Portal 2.0.0a1</link>
<link type="language" lang="de" href="contrib/subsilver2.xml">Aktualisiere deutsche Sprachdateien für Board3 Portal 2.0.0a1</link>
</link-group>
</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/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>
<delete>
<file name="adm/style/acp_portal.html" />
<file name="language/en/mods/additional_blocks.php" />
<file name="language/en/mods/info_acp_additional_blocks.php" />
<file name="language/en/mods/install_portal.php" />
<file name="language/en/mods/lang_portal.php" />
<file name="language/en/mods/lang_portal_acp.php" />
<file name="portal/block/*.*" />
<file name="styles/prosilver/template/portal/portal_center.html" />
<file name="styles/prosilver/template/portal/portal_left.html" />
<file name="styles/prosilver/template/portal/portal_right.html" />
<file name="styles/prosilver/template/portal/block/" />
<file name="styles/prosilver/theme/images/portal/mini_cal_icon_left_arrow.png" />
<file name="styles/prosilver/theme/images/portal/mini_cal_icon_right_arrow.png" />
<file name="styles/prosilver/theme/images/portal/portal_login.png" />
<file name="styles/prosilver/theme/images/portal/portal_minical.png" />
<file name="styles/prosilver/theme/images/portal/portal_random.png" />
<file name="styles/prosilver/theme/images/portal/portal_stats.png" />
</delete>
<open src="viewonline.php">
<edit>
<find><![CDATA[ $user->add_lang('mods/lang_portal');]]></find>
<action type="replace-with"><![CDATA[ $user->add_lang('mods/portal');]]></action>
</edit>
</open>
<open src="includes/constants.php">
<edit>
<remove><![CDATA[define('PORTAL_CONFIG_TABLE', $table_prefix . 'portal_config');]]></remove>
</edit>
</open>
<open src="includes/functions.php">
<edit>
<find><![CDATA[ $user->add_lang(array('mods/lang_portal', 'mods/additional_blocks'));
if (!function_exists('obtain_portal_config'))
{
include($phpbb_root_path . 'portal/includes/functions.' . $phpEx);
}
if(sql_table_exists(PORTAL_CONFIG_TABLE) == true)
{
$portal_config = obtain_portal_config();
}]]></find>
<action type="replace-with"><![CDATA[ $user->add_lang('mods/portal');]]></action>
</edit>
<edit>
<find><![CDATA[ 'U_PORTAL' => (isset($portal_config['portal_enable']) && $portal_config['portal_enable'] == true) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',]]></find>
<action type="replace-with"><![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>
<php-installer>install/index.php</php-installer>
<diy-instructions lang="de"><![CDATA[Rufe install/index.php auf und führe den Installer aus
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[Browse to install/index.php and run the installer
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>

300
controller/helper.php Normal file
View File

@@ -0,0 +1,300 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\controller;
class helper
{
/** @var \board3\portal\portal\columns */
protected $portal_columns;
/**
* Auth object
* @var \phpbb\auth\auth
*/
protected $auth;
/**
* phpBB Config object
* @var \phpbb\config\config
*/
protected $config;
/** @var \phpbb\language\language */
protected $language;
/**
* 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;
/** @var int Board3 module disabled */
const B3_MODULE_DISABLED = 0;
/**
* 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 \board3\portal\portal\columns $portal_columns Board3 Portal columns object
* @param \phpbb\config\config $config phpBB Config object
* @param \phpbb\language\language $language phpBB language
* @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, $portal_columns, $config, $language, $template, $user, $path_helper, $portal_helper, $phpbb_root_path, $php_ext)
{
$this->auth = $auth;
$this->portal_columns = $portal_columns;
$this->config = $config;
$this->language = $language;
$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 = str_replace($this->path_helper->get_web_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 (empty($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'] == self::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 && $this->portal_columns->number_to_string($row['module_column']) === 'left') || ($this->config['board3_right_column'] === false && $this->portal_columns->number_to_string($row['module_column']) === 'right');
}
/**
* Check if user is in required groups.
* If the group_ary is empty, this means that there are no limitation on
* which groups can see this module.
*
* @param array $row Module row
*
* @return bool True if group has access, false if not
*/
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())
{
// Load language file from vendor if specified
if (is_array($language_file))
{
$this->language->add_lang($language_file['file'], $language_file['vendor']);
}
else
{
$this->language->add_lang('modules/' . $language_file, 'board3/portal');
}
}
}
/**
* 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)
{
$fa_styles = json_decode($this->config['board3_portal_fa_styles']);
$use_fa = !empty($fa_styles) && in_array($this->user->style['style_name'], $fa_styles);
if (is_array($template_module))
{
$this->template->assign_block_vars('modules_' . $this->portal_columns->number_to_string($row['module_column']), array(
'TEMPLATE_FILE' => $this->parse_template_file($template_module['template']),
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . ltrim($this->root_path . 'styles/all/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'],
'FA_ICON' => isset($row['module_fa_icon']) ? utf8_htmlspecialchars($row['module_fa_icon']) : '',
'FA_SIZE' => $row['module_fa_size'] ?? '',
'FA_ENABLED' => $use_fa,
));
}
else
{
$this->template->assign_block_vars('modules_' . $this->portal_columns->number_to_string($row['module_column']), array(
'TEMPLATE_FILE' => $this->parse_template_file($template_module),
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . ltrim($this->root_path . 'styles/all/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']),
'FA_ICON' => isset($row['module_fa_icon']) ? utf8_htmlspecialchars($row['module_fa_icon']) : '',
'FA_SIZE' => $row['module_fa_size'] ?? '',
'FA_ENABLED' => $use_fa,
));
}
}
/**
* 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->language->add_lang('portal', 'board3/portal');
// Obtain portal config
obtain_portal_config();
}
/**
* Parse template file by prefixing default modules with the portal path
*
* @param string $template_file HTML template
*
* @return string Parsed template file
*/
protected function parse_template_file($template_file)
{
if (strpos($template_file, '@') === false)
{
$template_file = 'portal/modules/' . $template_file;
}
return $template_file;
}
}

368
controller/main.php Normal file
View File

@@ -0,0 +1,368 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\controller;
class main
{
/** @var \board3\portal\portal\columns */
protected $portal_columns;
/**
* 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\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;
/** @var int Allowed columns */
protected $allowed_columns;
/** @var bool Portal active flag */
protected $portal_active = false;
/**
* 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 \board3\portal\portal\columns $portal_columns Board3 Portal columns object
* @param \phpbb\config\config $config phpBB Config object
* @param \board3\portal\controller\helper $controller_helper Controller helper
* @param \phpbb\template\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($portal_columns, $config, $controller_helper, $template, $user, $path_helper, $phpbb_root_path, $php_ext, $config_table, $modules_table)
{
global $portal_root_path;
$this->portal_columns = $portal_columns;
$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;
if (!defined('PORTAL_MODULES_TABLE'))
{
define('PORTAL_MODULES_TABLE', $modules_table);
define('PORTAL_CONFIG_TABLE', $config_table);
}
if (!function_exists('obtain_portal_config'))
{
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
*
* @param array $columns Columns to display
*
* @return null
*/
public function handle($columns = array())
{
// Do not run portal if it's already active
if ($this->portal_active)
{
return;
}
$this->controller_helper->run_initial_tasks();
// Set portal active
$this->portal_active = true;
// Check if we should limit the columns to display
$this->set_allowed_columns($columns);
// 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();
// Return if columns were specified. Columns are only specified if
// portal columns are displayed on pages other than the portal itself.
if ($this->allowed_columns !== 0)
{
$this->template->assign_var('S_PORTAL_ALL', true);
return;
}
// 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 = $this->portal_columns->number_to_string($row['module_column']);
// Make sure we should actually load this module
if (!$this->display_module_allowed($this->portal_columns->string_to_constant($column)))
{
return false;
}
if ($this->is_enabled_side_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 column is enabled side column
*
* @param string $column Column string
*
* @return bool True if column is side column and enabled, false if not
*/
protected function is_enabled_side_column($column)
{
return in_array($column, array('left', 'right')) && ($this->config['board3_' . $column . '_column'] || $this->allowed_columns);
}
/**
* 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() . ltrim($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 || $this->allowed_columns);
}
/**
* 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}"));
}
}
/**
* Check whether displaying the module is allowed
*
* @param int $module_column The column of the module
*
* @return bool True if module can be displayed, false if not
*/
protected function display_module_allowed($module_column)
{
return ($this->allowed_columns > 0) ? (bool) ($this->allowed_columns & $module_column) : true;
}
/**
* Set allowed columns based on supplied columns array
*
* @param array $columns Allowed columns
*/
protected function set_allowed_columns($columns)
{
if (!empty($columns))
{
foreach ($columns as $column => $show)
{
$this->allowed_columns |= ($show) ? $this->portal_columns->string_to_constant($column) : 0;
}
}
else
{
$this->allowed_columns = 0;
}
}
}

197
event/listener.php Normal file
View File

@@ -0,0 +1,197 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
/** @var \board3\portal\controller\main */
protected $board3_controller;
/** @var \phpbb\auth\auth */
protected $auth;
/** @var \phpbb\config\config */
protected $config;
/** @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 \board3\portal\controller\main $board3_controller Board3 Portal controller
* @param \phpbb\auth\auth $auth phpBB auth object
* @param \phpbb\config\config $config phpBB config
* @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(\board3\portal\controller\main $board3_controller, \phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\controller\helper $controller_helper, \phpbb\path_helper $path_helper, \phpbb\template\template $template, \phpbb\user $user, $php_ext)
{
$this->board3_controller = $board3_controller;
$this->auth = $auth;
$this->config = $config;
$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
*/
public static function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_portal_language',
'core.viewonline_overwrite_location' => 'viewonline_page',
'core.page_header' => 'add_portal_link',
'core.permissions' => 'load_permissions',
);
}
/**
* 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 if user is authed to see it
*
* @return null
*/
public function add_portal_link($event)
{
if (!$this->has_portal_access())
{
return;
}
if ($this->config['board3_show_all_pages'])
{
$event['display_online_list'] = true;
}
if (strpos($this->controller_helper->get_current_url(), '/portal') === false)
{
$portal_link = $this->controller_helper->route('board3_portal_controller');
$this->check_portal_all();
}
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,
));
}
/**
* Check if user should be able to access portal
*
* @return bool True of user should be able to access it, false if not
*/
protected function has_portal_access()
{
return $this->auth->acl_get('u_view_portal') && $this->config['board3_enable'];
}
/**
* Check if portal on all pages should be shown and display it accordignly
*/
protected function check_portal_all()
{
// Check if we should show the portal
if (isset($this->config['board3_show_all_pages']) && $this->config['board3_show_all_pages'] && !$this->board_disabled())
{
$this->display_portal();
}
}
/**
* Display portal on all pages
*/
protected function display_portal()
{
$this->board3_controller->handle(array(
'left' => $this->config['board3_show_all_side'] == false,
'right' => $this->config['board3_show_all_side'] == true,
));
}
/**
* Check whether the board has been disabled and should not be shown
*
* @return bool True if board has been disabled, false if not
*/
protected function board_disabled()
{
return $this->config['board_disable'] && !defined('SKIP_CHECK_DISABLED') && !$this->auth->acl_gets('a_', 'm_') && !$this->auth->acl_getf_global('m_');
}
/**
* Load permissions into permissions array
*
* @param array $event Event data
*/
public function load_permissions($event)
{
$permissions = $event['permissions'];
$permissions['a_manage_portal'] = array('lang' => 'ACL_A_MANAGE_PORTAL', 'cat' => 'misc');
$permissions['u_view_portal'] = array('lang' => 'ACL_U_VIEW_PORTAL', 'cat' => 'misc');
$event['permissions'] = $permissions;
}
}

63
ext.php Normal file
View File

@@ -0,0 +1,63 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal;
class ext extends \phpbb\extension\base
{
/**
* Check whether the extension can be enabled.
* Provides meaningful(s) error message(s) and the back-link on failure.
* CLI and 3.2/3.3 compatible.
*
* @return bool
*/
public function is_enableable()
{
$phpbb_min_ver = '3.2.6';
$phpbb_below_ver = '3.4.0-dev';
$php_min_ver = '7.1.0';
$php_below_ver = '8.3.0-dev';
if (phpbb_version_compare(PHPBB_VERSION, '3.2.0-dev', '<'))
{
$lang = $this->container->get('user');
$lang->add_lang_ext('board3/portal', 'b3p_enable_error');
}
else
{
$lang = $this->container->get('language');
$lang->add_lang('b3p_enable_error', 'board3/portal');
}
$error_message = [$lang->lang('ERROR_B3P_EXTENSION_NOT_ENABLEABLE', $lang->lang('BOARD3_PORTAL'))];
if ((phpbb_version_compare(PHPBB_VERSION, $phpbb_min_ver, '<') || phpbb_version_compare(PHPBB_VERSION, $phpbb_below_ver, '>=')))
{
$error_message[] = $lang->lang('ERROR_B3P_MSG_PHPBB_WRONG_VERSION', $phpbb_min_ver, $phpbb_below_ver);
}
if ((phpbb_version_compare(PHP_VERSION, $php_min_ver, '<') || phpbb_version_compare(PHP_VERSION, $php_below_ver, '>=')))
{
$error_message[] = $lang->lang('ERROR_B3P_MSG_PHP_WRONG_VERSION', $php_min_ver, $php_below_ver);
}
if (phpbb_version_compare(PHPBB_VERSION, '3.3.0-dev', '<') && count($error_message) > 1)
{
$error_message = implode('<br>', $error_message);
trigger_error($error_message . $this->get_adm_back_link(), E_USER_WARNING);
}
return (count($error_message) > 1) ? $error_message : true;
}
private function get_adm_back_link()
{
return adm_back_link(append_sid('index.' . $this->container->getParameter('core.php_ext'), 'i=acp_extensions&amp;mode=main'));
}
}

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

428
includes/functions.php Normal file
View File

@@ -0,0 +1,428 @@
<?php
// @codingStandardsIgnoreFile
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
// 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
*
* @return array Portal modules array
*/
function obtain_portal_modules()
{
global $db;
$portal_modules = array();
$sql = 'SELECT *
FROM ' . PORTAL_MODULES_TABLE . '
ORDER BY module_order ASC';
$result = $db->sql_query($sql, 3600);
while ($row = $db->sql_fetchrow($result))
{
$portal_modules[] = $row;
}
$db->sql_freeresult($result);
return $portal_modules;
}
/**
* 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;
}
}
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, $module_id = 0, $add_prevnext_text = false, $tpl_prefix = '')
{
global $template, $user;
switch ($type)
{
case "announcements":
$pagination_type = 'ap_' . $module_id;
$anker = '#a_' . $module_id;
break;
case "news":
case "news_all":
$pagination_type = 'np_' . $module_id;
$anker = '#n_' . $module_id;
break;
default:
// this shouldn't happen but default to announcements
$pagination_type = 'ap_' . $module_id;
$anker = '#a_' . $module_id;
}
// 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 class="button" href="' . $base_url . $anker .'" role="button">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 class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '" role="button">' . $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 class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '" role="button">' . $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 class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . $anker . '" role="button">' . $total_pages . '</a></li></ul>';
if ($add_prevnext_text)
{
if ($on_page != 1)
{
$page_string = '<a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker . '" role="button">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string;
}
if ($on_page != $total_pages)
{
$page_string .= '&nbsp;&nbsp;<a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker . '" role="button">' . $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;
}
/**
* 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 = ' . (int) $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 = ' . (int) $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);
// Set user last mark time
foreach ($forum_ids as $current_forum_id)
{
$user_lastmark[$current_forum_id] = (isset($mark_time[$current_forum_id])) ? $mark_time[$current_forum_id] : $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 $phpbb_admin_path, $portal_root_path, $phpEx, $user;
$error = '';
// We check if the chosen file is present in the styles/all/ folder
if (!file_exists($portal_root_path . 'styles/all/theme/images/portal/' . $value))
{
$error .= $user->lang('B3P_FILE_NOT_FOUND') . ': styles/all/theme/images/portal/' . $value . '<br />';
}
if (!empty($error))
{
if ($force_error)
{
trigger_error($error . adm_back_link(append_sid("{$phpbb_admin_path}index.$phpEx", 'i=\board3\portal\acp\portal_module&amp;mode=config&amp;module_id=' . $module_id)), E_USER_WARNING);
}
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)
{
$groups_ary = array();
// 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;
}

79
includes/helper.php Normal file
View File

@@ -0,0 +1,79 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
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;
}
}

241
includes/modules_helper.php Normal file
View File

@@ -0,0 +1,241 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
namespace board3\portal\includes;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
class modules_helper
{
/**
* Auth object
* @var \phpbb\auth\auth
*/
protected $auth;
/**
* phpBB config
* @var \phpbb\config\config
*/
protected $config;
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\controller\helper Controller helper */
protected $controller_helper;
/**
* phpBB request
* @var \phpbb\request\request
*/
protected $request;
/** @var string Styles table */
protected $styles_table;
/**
* 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\controller\helper $controller_helper Controller helper
* @param \phpbb\db\driver\driver_interface $db Dbal connection
* @param \phpbb\request\request $request phpBB request
* @param string $styles_table Styles table
*/
public function __construct($auth, $config, $controller_helper, $db, $request, string $styles_table)
{
$this->auth = $auth;
$this->config = $config;
$this->controller_helper = $controller_helper;
$this->db = $db;
$this->request = $request;
$this->styles_table = $styles_table;
}
/**
* 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
* @param bool $multiple Whether multiple options should be selectable
*
* @return string HTML code of select box
* @access public
*/
public function generate_select_box($key, $select_ary, $selected_options, $multiple = false)
{
// Build options
$options = '<select id="' . $key . '" name="' . $key;
$options .= ($multiple) ? '[]" 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, true);
}
/**
* 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);
}
/**
* Wrapper method for controller_helper::route()
*
* @param string $route Route name
* @param array $params Route parameters
* @param bool $is_amp
* @param bool $session_id
* @param bool $reference_type
*
* @return string URL for route
*/
public function route($route, $params = array(), $is_amp = true, $session_id = false, $reference_type = UrlGeneratorInterface::ABSOLUTE_PATH)
{
return $this->controller_helper->route($route, $params, $is_amp, $session_id, $reference_type);
}
/**
* Display radio buttons for left/right choice
*
* @param int $value Selected value
* @param string $key Key of config variable
*
* @return string
*/
public function display_left_right($value, $key)
{
$radio_ary = array(0 => 'PORTAL_SHOW_ALL_LEFT', 1 => 'PORTAL_SHOW_ALL_RIGHT');
return h_radio($key, $radio_ary, $value, $key);
}
/**
* Store left right choice
*
* @param string $key Config key
*/
public function store_left_right($key)
{
// Get selected side
$value = $this->request->variable($key, 0);
$this->config->set($key, $value);
}
/**
* Show available styles
*
* @return string Select with available styles
*/
public function display_fa_styles(): string
{
$portal_fa_styles = json_decode($this->config->offsetGet('board3_portal_fa_styles'));
if (!$portal_fa_styles)
{
$portal_fa_styles = [];
}
$options = '';
$query = 'SELECT style_name
FROM ' . $this->styles_table;
$result = $this->db->sql_query($query);
while ($row = $this->db->sql_fetchrow($result))
{
$options .= '<option value="' . $row['style_name'] . '"';
if (in_array($row['style_name'], $portal_fa_styles))
{
$options .= ' selected';
}
$options .= '>' . $row['style_name'] . '</option>';
}
$this->db->sql_freeresult($result);
return '<select id="board3_fa_styles" name="board3_fa_styles[]" multiple>' . $options . '</select>';
}
/**
* Save styles that have been set as Font Awesome styles
*
* @param string $key Key of the parameter
*/
public function store_fa_styles(string $key): void
{
$style_array = $this->request->variable($key, ['']);
$this->config->set('board3_portal_fa_styles', json_encode($style_array));
}
}

View File

@@ -1,231 +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/-->
<!-- $Id$ -->
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phpbb.com/mods/xml/modx-1.2.5.xsd">
<header>
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
<title lang="en">board3 Portal 2.0.0 - Alpha 1</title>
<title lang="de">board3 Portal 2.0.0 - Alpha 1</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">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>
<author-group>
<author>
<realname>Ice</realname>
<username>avaren</username>
<homepage>http://www.board3.de</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>Christian</realname>
<username>Christian_N</username>
<homepage>http://www.phpbb-projekt.de</homepage>
<contributions-group>
<contributions status="current" position="Developer"></contributions>
</contributions-group>
</author>
<author>
<realname>Marc Alexander</realname>
<username>marc1706</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="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.0a1</mod-version>
<installation>
<level>easy</level>
<time>600</time>
<target-version>3.0.8</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_106_to_200a1/update.xml">Manual for Updating B3P 1.0.6 to 2.0.0a1</link>
<link type="contrib" lang="de" href="contrib/update_106_to_200a1/update.xml">Anleitung für das Aktualisieren von B3P 1.0.6 zu 2.0.0a1</link>
</link-group>
<history>
<entry>
<date>2011-05-01</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/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'))]]></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
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[Browse to install/index.php and run the installer
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

@@ -0,0 +1,50 @@
<?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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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' => 'الموديلات',
'ACP_PORTAL' => 'مجلة المنتدى',
'ACP_PORTAL_GENERAL_INFO' => 'الإعدادات',
'ACP_PORTAL_UPLOAD' => 'رفع الموديل',
// Portal logs
'LOG_PORTAL_LINK_ADDED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم إضافة الرابط : %s ',
'LOG_PORTAL_LINK_UPDATED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم تحديث الرابط : %s ',
'LOG_PORTAL_LINK_REMOVED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم إزالة الرابط : %s ',
'LOG_PORTAL_EVENT_ADDED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم إضافة حدث : %s ',
'LOG_PORTAL_EVENT_UPDATED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم تحديث حدث : %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; تم إزالة حدث : %s ',
'LOG_PORTAL_CONFIG' => '<strong>تغيير إعدادات المجلة</strong><br />&raquo; %s',
));

View File

@@ -0,0 +1,75 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'LATEST_ANNOUNCEMENTS' => 'أحدث الإعلانات العامة',
'GLOBAL_ANNOUNCEMENTS' => 'إعلانات عامة',
'GLOBAL_ANNOUNCEMENT' => 'إعلان عام',
'VIEW_LATEST_ANNOUNCEMENT' => '1 إعلان',
'VIEW_LATEST_ANNOUNCEMENTS' => '%d إعلانات',
'READ_FULL' => 'اقرأ المزيد',
'NO_ANNOUNCEMENTS' => 'لا توجد إعلانات عامة',
'POSTED_BY' => 'كاتب المُشاركة',
'COMMENTS' => 'التعليقات',
'VIEW_COMMENTS' => 'مُشاهدة التعليقات',
'PORTAL_POST_REPLY' => 'إضافة تعليق',
'TOPIC_VIEWS' => 'المُشاهدات ',
'JUMP_NEWEST' => 'انتقل إلى أحدث مُشاركة',
'JUMP_FIRST' => 'انتقل إلى أول مُشاركة',
'JUMP_TO_POST' => 'انتقل إلى المُشاركة',
// ACP
'ACP_PORTAL_ANNOUNCE_SETTINGS' => 'إعدادات الإعلانات العامة',
'ACP_PORTAL_ANNOUNCE_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الإعلانات العامة.',
'PORTAL_ANNOUNCEMENTS' => 'إظهار الإعلانات العامة',
'PORTAL_ANNOUNCEMENTS_EXP' => 'عرض هذا الموديل في المجلة.',
'PORTAL_ANNOUNCEMENTS_STYLE' => 'التصميم الإفتراضي ',
'PORTAL_ANNOUNCEMENTS_STYLE_EXP' => 'اختيارك "نعم" يعني استخدام التصميم الإفتراضي لشكل المنتديات ( بدون محتوى الإعلانات ). اختيارك "لا" يعني استخدام التصميم الخاص بالمجلة ( عرض النص / محتوى الإعلانات ).',
'PORTAL_NUMBER_OF_ANNOUNCEMENTS' => 'عدد الإعلانات في المجلة ',
'PORTAL_NUMBER_OF_ANNOUNCEMENTS_EXP' => 'القيمة صفر تعني عدد غير محدود',
'PORTAL_ANNOUNCEMENTS_DAY' => 'عدد الأيام لعرض الإعلان',
'PORTAL_ANNOUNCEMENTS_DAY_EXP' => 'سيتم إخفاء الإعلانات بعد القيمة التي تحددها هنا. القيمة صفر تعني عدد غير محدود',
'PORTAL_ANNOUNCEMENTS_LENGTH' => 'الحد الأقصى لطول / عدد حروف الإعلانات العامة ',
'PORTAL_ANNOUNCEMENTS_LENGTH_EXP' => 'القيمة صفر تعني عدد غير محدود',
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' => 'المنتديات ',
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار الإعلانات منها. عدم التحديد يعني إظهار الإعلانات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من الإعلانات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE' => 'استثناء المنتديات ',
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE_EXP'=> 'اختار "نعم" إذا تريد استثناء الإعلانات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'تفعيل / تعطيل الصلاحيات ',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXP' => 'سيتم تطبيق نفس صلاحيات العضو لمًشاهدة المنتدى على هذا الموديل.',
'PORTAL_ANNOUNCEMENTS_ARCHIVE' => 'تفعيل نظام الأرشفة ',
'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXP' => 'اختيارك "نعم" يعني إظهار أرقام الصفحات / نظام الأرشفة للإعلانات.',
'PORTAL_SHOW_REPLIES_VIEWS' => 'إظهار عدد الردود و المُشاهدات ',
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'هذه الإعدادات متعلقة بالتصميم الإفتراضي.<br />سيتم عرض عدد الردود و المُشاهدات في 2 أعمدة إضافية عند اختيارك "نعم". سيتم عرض عدد الردود و المُشاهدات بجانب اسم المنتدى عند اختيارك "لا". <br />يُنصح بإختيار "لا" في حالة وجود مشاكل في ظهور الأعمدة الإضافية والتي تتطلب مساحة أكبر.',
));

View File

@@ -0,0 +1,55 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'DOWNLOADS' => 'عدد التحميلات ',
'NO_ATTACHMENTS' => 'لا توجد ملفات مُرفقة',
'PORTAL_ATTACHMENTS' => 'المرفقات',
// ACP
'ACP_PORTAL_ATTACHMENTS_NUMBER_SETTINGS' => 'إعدادات المرفقات',
'ACP_PORTAL_ATTACHMENTS_NUMBER_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل المرفقات.',
'PORTAL_ATTACHMENTS_NUMBER' => 'عدد المرفقات ',
'PORTAL_ATTACHMENTS_NUMBER_EXP' => 'الحد الأقصى لعدد المرفقات التي سيتم عرضها في الموديل. القيمة صفر يعني عدد غير محدود',
'PORTAL_ATTACHMENTS_FORUM_IDS' => 'المنتديات ',
'PORTAL_ATTACHMENTS_FORUM_IDS_EXP' => 'حدد المنتديات التي تريد إظهار المرفقات منها. عدم التحديد يعني إظهار المرفقات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE' => 'استثناء المنتديات ',
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء المرفقات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
'PORTAL_ATTACHMENTS_MAX_LENGTH' => 'عدد حروف أسماء المرفقات ',
'PORTAL_ATTACHMENTS_MAX_LENGTH_EXP' => 'القيمة صفر تعني غير محدود',
'PORTAL_ATTACHMENTS_FILETYPE' => 'أنواع الملفات ',
'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'حدد أنواع الملفات التي تريد عرضها في المرفقات. تستطيع هنا كذلك تحديد أنواع الملفات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء أنواع الملفات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من أنواع الملفات بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على الأنواع المطلوبة.',
'PORTAL_ATTACHMENTS_EXCLUDE' => 'استثناء أنواع الملفات ',
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء أنواع الملفات التي حددتها في الخيار أعلاه ( أنواع الملفات ). اختار "لا" لتعطيل هذا الخيار.',
));

View File

@@ -0,0 +1,45 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'BIRTHDAYS_AHEAD' => 'خلال الـ %s الأيام القادمة',
'NO_BIRTHDAYS_AHEAD' => 'لا يوجد أعضاء لديهم أعياد ميلاد خلال هذه الفترة.',
// ACP
'ACP_PORTAL_BIRTHDAYS_SETTINGS' => 'إعدادات أعياد الميلاد',
'ACP_PORTAL_BIRTHDAYS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل أعياد الميلاد.',
'PORTAL_BIRTHDAYS' => 'قائمة أعياد الميلاد',
'PORTAL_BIRTHDAYS_AHEAD' => 'عدد الأيام لعرض أعياد الميلاد القادمة ',
'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'عدد الأيام القادمة التي سيكون فيها أعياد ميلاد للأعضاء.<br />القيمة صفر تعني تعطيل قائمة أعياد الميلاد.',
));

View File

@@ -0,0 +1,132 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_CALENDAR' => 'التقويم',
'VIEW_NEXT_MONTH' => 'الشهر التالي',
'VIEW_PREVIOUS_MONTH' => 'الشهر السابق',
'EVENT_START' => 'من ',
'EVENT_END' => 'إلى ',
'EVENT_TIME' => 'التوقيت ',
'EVENT_ALL_DAY' => 'طوال اليوم ',
'CURRENT_EVENTS' => 'الأحداث الحالية ',
'NO_CUR_EVENTS' => 'لا توجد أحداث حالية',
'UPCOMING_EVENTS' => 'الأحداث القادمة ',
'NO_UPCOMING_EVENTS' => 'لا توجد أحداث قادمة',
'mini_cal' => array(
'day' => array(
'1' => 'أح',
'2' => 'أث',
'3' => 'ثل',
'4' => 'أر',
'5' => 'خم',
'6' => 'جم',
'7' => 'سب',
),
'month' => array(
'1' => 'ينا.',
'2' => 'فبر.',
'3' => 'مار.',
'4' => 'أبر.',
'5' => 'ماي',
'6' => 'يول.',
'7' => 'يون.',
'8' => 'أغس.',
'9' => 'سبت.',
'10'=> 'أكت.',
'11'=> 'نوف.',
'12'=> 'ديس.',
),
'long_month'=> array(
'1' => 'يناير',
'2' => 'فبراير',
'3' => 'مارس',
'4' => 'أبريل',
'5' => 'مايو',
'6' => 'يونيو',
'7' => 'يوليو',
'8' => 'أغسطس',
'9' => 'سبتمبر',
'10'=> 'أكتوبر',
'11'=> 'نوفمبر',
'12'=> 'ديسمبر',
),
),
// ACP
'ACP_PORTAL_CALENDAR' => 'إعدادات التقويم',
'ACP_PORTAL_CALENDAR_EXP' => 'من هنا تستطيع تخصيص موديل التقويم.',
'ACP_PORTAL_EVENTS' => 'الأحداث',
'PORTAL_CALENDAR_TODAY_COLOR' => 'لون اليوم الحالي ',
'PORTAL_CALENDAR_TODAY_COLOR_EXP' => 'تستطيع إضافة أكواد الألوان HEX مثل : #FFFFFF للون الأبيض , أو إضافة أسماء الألوان باللغة الإنجليزية مثل : violet ( البنفسجي ).',
'PORTAL_CALENDAR_SUNDAY_COLOR' => 'لون يوم الأحد ',
'PORTAL_CALENDAR_SUNDAY_COLOR_EXP' => 'تستطيع إضافة أكواد الألوان HEX مثل : #FFFFFF للون الأبيض , أو إضافة أسماء الألوان باللغة الإنجليزية مثل : violet ( البنفسجي ).',
'PORTAL_LONG_MONTH' => 'إظهار الإسم الكامل للشهور ',
'PORTAL_LONG_MONTH_EXP' => 'أسماء الشهور ستكون مُختصرة عند اختيارك "لا". مثال : سيكون أغس بدلاً من أغسطس.',
'PORTAL_SUNDAY_FIRST' => 'أول أيام الأسبوع ',
'PORTAL_SUNDAY_FIRST_EXP' => 'سيبدأ الأسبوع في التقويم من ( الأثنين ) إلى ( الأحد ) عند اختيارك "لا". وسيكون من ( الأحد ) إلى ( السبت ) عند اختيارك "نعم".',
'PORTAL_DISPLAY_EVENTS' => 'إظهار الأحداث ',
'PORTAL_DISPLAY_EVENTS_EXP' => 'سيتم عرض الأحداث التي تم إنشائها في موديل التقويم',
'PORTAL_EVENTS_MANAGE' => 'إدارة الأحداث',
'NO_EVENT_TITLE' => 'لم يتم إضافة عنوان للحدث.',
'NO_EVENT_START' => 'لم يتم إضافة تاريخ البداية للحدث.',
'ADD_EVENT' => 'إضافة حدث جديد',
'EVENT_UPDATED' => 'تم تحديث الحدث بنجاح.',
'EVENT_ADDED' => 'تم إضافة الحدث بنجاح.',
'NO_EVENT' => 'لم يتم تحديد أي حدث.',
'EVENT_TITLE' => 'عنوان الحدث ',
'EVENT_DESC' => 'وصف الحدث ',
'EVENT_LINK' => 'رابط الحدث ',
'EVENT_LINK_EXP' => 'أدخل الرابط إلى الموضوع أو إلى موقع يحتوي على الإعلان / موضوع مناقشة الحدث.',
'NO_EVENTS' => 'لا يوجد أحداث',
'ACP_PORTAL_CALENDAR_START_INCORRECT' => 'توقيت البداية الذي أدخلته غير صحيح. الرجاء اتباع التعليمات بعناية.',
'ACP_PORTAL_CALENDAR_END_INCORRECT' => 'توقيت النهاية الذي أدخلته غير صحيح. الرجاء اتباع التعليمات بعناية.',
'ACP_PORTAL_CALENDAR_EVENT_PAST' => 'توقيت بداية الحدث يجب أن يكون في المستقبل.',
'ACP_PORTAL_EVENT_START_DATE' => 'تاريخ بداية الحدث ',
'ACP_PORTAL_EVENT_START_DATE_EXP' => 'أدخل تاريخ و وقت بداية الحدث. يجب أن يكون التوقيت على هذا الشكل : MM/DD/YYYY 3:00 PM',
'ACP_PORTAL_EVENT_END_DATE' => 'تاريخ نهاية الحدث ',
'ACP_PORTAL_EVENT_END_DATE_EXP' => 'أدخل تاريخ و وقت نهاية الحدث. يجب أن يكون التوقيت على هذا الشكل : MM/DD/YYYY 3:00 PM',
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'نهاية الحدث يجب أن يكون بعد بداية الحدث.',
'ACP_PORTAL_CALENDAR_PERMISSION' => 'الصلاحيات ',
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة موديل الأحداث. يجب عليك عدم تحديد أي مجموعة لو تريد عرض هذا الموديل لجميع الأعضاء. <br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
'PORTAL_EVENTS_URL_NEW_WINDOW' => 'افتح الروابط الخارجية للحدث في نافذة جديدة ',
// Logs
'LOG_PORTAL_EVENT_UPDATED' => '<strong>تم تحديث الحدث في المجلة</strong><br />&raquo; %s',
'LOG_PORTAL_EVENT_ADDED' => '<strong>تم إضافة الحدث في المجلة</strong><br />&raquo; %s',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>تم حذف الحدث في المجلة</strong><br />&raquo; %s',
));

View File

@@ -0,0 +1,43 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'CLOCK' => 'Clock',
// ACP
'ACP_PORTAL_CLOCK_SETTINGS' => 'إعدادات الساعة',
'ACP_PORTAL_CLOCK_SETTINGS_EXP' => 'من هنا تستطيع تخصيص الساعة بمنتداك',
'ACP_PORTAL_CLOCK_SRC' => 'الساعة ',
'ACP_PORTAL_CLOCK_SRC_EXP' => 'أدخل إسم الملف للساعة التي تريدها. يجب أن يكون الملف في المسار styles/*yourstyle*/theme/images/portal/. *yourstyle* يعني إسم الإستايل الذي تستخدمه.',
));

View File

@@ -0,0 +1,48 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_CUSTOM' => 'Custom Block',
// ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'إعدادات الموديل الخاص',
'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'من هنا تستطيع تخصيص الموديل الخاص',
'ACP_PORTAL_CUSTOM_PREVIEW' => 'استعراض',
'ACP_PORTAL_CUSTOM_CODE' => 'المحتوى ',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'أدخل الكود الذي سيظهر في هذا الموديل ( المسموح به هو HTML أو BBCode ).',
'ACP_PORTAL_CUSTOM_PERMISSION' => 'الصلاحيات ',
'ACP_PORTAL_CUSTOM_PERMISSION_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة هذا الموديل. عدم تحديد أي مجموعة يعني عرض هذا الموديل لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
'ACP_PORTAL_CUSTOM_BBCODE' => 'تفعيل أكواد البي بي ',
'ACP_PORTAL_CUSTOM_BBCODE_EXP' => 'اختيارك "نعم" يعني استخدام أكواد الـBBCode في صندوق الكتابة أعلاه. اختيارك "لا" يعني استخدام أكواد ال HTML.',
));

View File

@@ -0,0 +1,68 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'DONATION' => 'تبرعات الـPaypal',
'DONATION_TEXT' => 'التبرعات هي عبارة عن دعم للخدمات التي نقدمها في موقعنا ولا توجد أي نية للحصول على مكاسب مالية منها. نرحب بتبرعاتكم التي ستساعد في تغطية تكاليف السيرفر والإستضافة , إسم النطاق...الخ.',
'PAY_MSG' => 'الرجاء استخدام النقطة العشرية ( . ) وعدم استخدام علامة الفاصلة ( , ). مثال 3.50',
'PAY_ITEM' => 'تبرع !', // paypal item
'AUD' => 'دولار استرالي (AUD)',
'CAD' => 'دولار كندي (CAD)',
'CZK' => 'الكورونا التشيكية (CZK)',
'DKK' => 'الكرونة الدنماركي (DKK)',
'HKD' => 'دولار هونج كونج (HKD)',
'HUF' => 'فورينت هنجاري / مجري (HUF)',
'NZD' => 'دولار نيوزلاندي (NZD)',
'NOK' => 'كرونه نرويجي (NOK)',
'PLN' => 'زلوتي بولندي (PLN)',
'GBP' => 'جنيه استرليني (GBP)',
'SGD' => 'دولار سينغافوري (SGD)',
'SEK' => 'كرونه سويدي (SEK)',
'CHF' => 'فرنك سويسري (CHF)',
'JPY' => 'ين ياباني (JPY)',
'USD' => 'دولار أمريكي (USD)',
'EUR' => 'يورو (EUR)',
'MXN' => 'بيزو مكسيكي (MXN)',
'ILS' => 'شيكل اسرائيلي (ILS)',
// ACP
'ACP_PORTAL_PAYPAL_SETTINGS' => 'إعدادات الـ Paypal',
'ACP_PORTAL_PAYPAL_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل التبرعات Paypal.',
'PORTAL_PAY_ACC' => 'حسابك في الـ Paypal ',
'PORTAL_PAY_ACC_EXP' => 'أدخل البريد الإلكتروني الخاص بك في موقع الـ Paypal. مثال : xxx@xxx.com',
'PORTAL_PAY_CUSTOM' => 'إضافة إسم المستخدم إلى تبرعات الـ Paypal',
'PORTAL_PAY_DEFAULT' => 'العُملة الإفتراضية ',
'PORTAL_PAY_DEFAULT_EXP' => 'العُملة التي سيتم تحديدها افتراضياً في القائمة المُنسدلة للعُملات.'
));

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_FORUMLIST' => 'قائمة المنتديات',
));

View File

@@ -0,0 +1,48 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'FRIENDS' => 'الأصدقاء',
'FRIENDS_OFFLINE' => 'الغير مُتصلين',
'FRIENDS_ONLINE' => 'المُتصلين',
'NO_FRIENDS' => 'لا يوجد أصدقاء معروفين حالياً',
'NO_FRIENDS_OFFLINE' => 'لا يوجد أصدقاء غير مُتصلين',
'NO_FRIENDS_ONLINE' => 'لا يوجد أصدقاء مُتصلين',
// ACP
'ACP_PORTAL_FRIENDS_SETTINGS' => 'إعدادات الإصدقاء',
'ACP_PORTAL_FRIENDS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الأصدقاء.',
'PORTAL_MAX_ONLINE_FRIENDS' => 'عدد الأصدقاء ',
'PORTAL_MAX_ONLINE_FRIENDS_EXP' => 'الحد الأقصى لعدد الأصدقاء الذين سيتم عرضهم في الموديل.',
));

View File

@@ -0,0 +1,44 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'LATEST_BOTS' => 'محركات البحث',
'LAST_VISITED_BOTS' => 'آخر زيارة لمحركات البحث',
// ACP
'ACP_PORTAL_BOTS_SETTINGS' => 'إعدادات محركات البحث',
'ACP_PORTAL_BOTS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل محركات البحث.',
'PORTAL_LAST_VISITED_BOTS_NUMBER' => 'عدد محركات البحث ',
'PORTAL_LAST_VISITED_BOTS_NUMBER_EXP' => 'عدد محركات البحث الذي تريد عرضهم في الموديل. القيمة صفر تعني عدد غير محدود',
));

View File

@@ -0,0 +1,43 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'LATEST_MEMBERS' => 'آخر الأعضاء المُسجلين',
// ACP
'ACP_PORTAL_MEMBERS_SETTINGS' => 'إعدادات آخر الأعضاء المُسجلين',
'ACP_PORTAL_MEMBERS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل آخر الأعضاء المُسجلين.',
'PORTAL_MAX_LAST_MEMBER' => 'عدد الأعضاء ',
'PORTAL_MAX_LAST_MEMBER_EXP' => 'الحد الأقصى لعدد آخر الأعضاء المُسجلين الذين سيتم عرضهم. الصفر يعني عدد غير محدود',
));

View File

@@ -0,0 +1,45 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'NO_ADMINISTRATORS_P' => 'لا يوجد مدراء',
'NO_MODERATORS_P' => 'لا يوجد مشرفين',
'NO_GROUPS_P' => 'لا توجد مجموعات',
// ACP
'ACP_PORTAL_LEADERS' => 'إعدادات فريق الموقع',
'ACP_PORTAL_LEADERS_EXP' => 'من هنا تستطيع تخصيص الموديل الخاص بفريق الموقع',
'PORTAL_LEADERS_EXT' => 'العرض الموسع للمدراء / للفريق ',
'PORTAL_LEADERS_EXT_EXP' => 'العرض القياسي سيكون لجميع المدراء والمشرفين , بينما العرض الموسع سيتضمن جميع المجموعات الغير المخفية في ألوان المجموعات.',
));

View File

@@ -0,0 +1,38 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'LINK_US' => 'ارتبط بنا ',
'LINK_US_TXT' => 'نرجوا عدم التردد في الإرتباط إلى <strong>%s</strong> بواسطة استخدام كود الـHTML التالي في موقعك :',
));

View File

@@ -0,0 +1,57 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_LINKS' => 'الروابط',
'LINKS_NO_LINKS' => 'لا يوجد روابط',
// ACP
'ACP_PORTAL_LINKS' => 'إعدادات الروابط',
'ACP_PORTAL_LINKS_EXP' => 'من هنا تستطيع تخصيص قائمة الروابط في موديل الروابط',
'ACP_PORTAL_LINK_TITLE' => 'العنوان',
'ACP_PORTAL_LINK_TYPE' => 'نوع الرابط ',
'ACP_PORTAL_LINK_TYPE_EXP' => 'حدد الخيار "رابط داخلي" اذا لديك رابط لأحد صفحات منتداك ولكي تمنع الخروج من منتداك.',
'ACP_PORTAL_LINK_INT' => 'رابط داخلي',
'ACP_PORTAL_LINK_EXT' => 'رابط خارجي',
'ACP_PORTAL_LINK_ADD' => 'إضافة رابط جديد ',
'ACP_PORTAL_LINK_URL' => 'عنوان الرابط ',
'ACP_PORTAL_LINK_URL_EXP' => 'الروابط الخارجية :<br />يجب أن تحتوي جميع الروابط على http://<br /><br />الروابط الداخلية :<br />فقط أدخل الملف php file كعنوان رابط , مثال : index.php?style=4.',
'ACP_PORTAL_LINK_PERMISSION' => 'صلاحيات الرابط ',
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'حدد المجموعات التي تستطيع مُشاهدة الرابط. يجب عليك عدم تحديد أي مجموعة لو تريد عرض هذا الرابط لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
'ACP_PORTAL_LINKS_NEW_WINDOW' => 'فتح الروابط الخارجية في نافذة جديدة ',
// Errors
'NO_LINK_TITLE' => 'يجب عليك إضافة عنوان لهذا الرابط.',
'NO_LINK_URL' => 'يجب عليك إضافة عنوان الرابط.',
));

View File

@@ -0,0 +1,70 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'M_MENU' => 'القائمة',
'M_CONTENT' => 'المحتوى',
'M_ACP' => 'لوحة تحكم المدير',
'M_HELP' => 'مساعدة',
'M_BBCODE' => 'دليل BBCode',
'M_TERMS' => 'شروط الإستخدام',
'M_PRV' => 'سياسة الخصوصية',
'M_SEARCH' => 'بحث',
'MENU_NO_LINKS' => 'لا يوجد روابط',
// ACP
'ACP_PORTAL_MENU' => 'إعدادات القائمة',
'ACP_PORTAL_MENU_LINK_SETTINGS' => 'إعدادات الرابط',
'ACP_PORTAL_MENU_EXP' => 'من هنا تستطيع تخصيص القائمة الرئيسية',
'ACP_PORTAL_MENU_MANAGE' => 'إدارة القائمة',
'ACP_PORTAL_MENU_MANAGE_EXP' => 'من هنا تستطيع إدارة الروابط في القائمة الرئيسية.',
'ACP_PORTAL_MENU_CAT' => 'القسم',
'ACP_PORTAL_MENU_IS_CAT' => 'اجعله قسم خاص ',
'ACP_PORTAL_MENU_INT' => 'داخلي',
'ACP_PORTAL_MENU_EXT' => 'خارجي',
'ACP_PORTAL_MENU_TITLE' => 'العنوان ',
'ACP_PORTAL_MENU_URL' => 'عنوان الرابط ',
'ACP_PORTAL_MENU_ADD' => 'إضافة رابط تنقل جديد',
'ACP_PORTAL_MENU_TYPE' => 'نوع الرابط ',
'ACP_PORTAL_MENU_TYPE_EXP' => 'اختار "داخلي" لو لديك رابط إلى صفحة موجودة في منتداك من أجل منع الخروج الغبر مرغوب به خارج منتداك.',
'ACP_PORTAL_MENU_CREATE_CAT' => 'يجب عليك أولاً إنشاء قسم.',
'ACP_PORTAL_MENU_URL_EXP' => 'الروابط الخارجية :<br />يجب أن تحتوي جميع الروابط على http://<br /><br />الروابط الداخلية :<br />يجب أن تضيف فقط ملف الـ php كرابط. مثال : index.php?style=4.',
'ACP_PORTAL_MENU_PERMISSION' => 'صلاحيات الرابط ',
'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'حدد المجموعات التي تستطيع مُشاهدة هذا الرابط. عدم تحديد أي مجموعة يعني عرض هذا الرابط لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
'ACP_PORTAL_MENU_EXT_NEW_WINDOW'=> 'فتح الروابط الخارجية في نافذة جديدة ',
// Errors
'NO_LINK_TITLE' => 'يجب عليك إضافة عنوان لهذا الرابط.',
'NO_LINK_URL' => 'يجب عليك إضافة الرابط.',
));

View File

@@ -0,0 +1,71 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'LATEST_NEWS' => 'آخر الأخبار',
'READ_FULL' => 'اقرأ المزيد',
'NO_NEWS' => 'لا يوجد أخبار',
'POSTED_BY' => 'كاتب المُشاركة',
'COMMENTS' => 'التعليقات',
'VIEW_COMMENTS' => 'مُشاهدة التعليقات',
'PORTAL_POST_REPLY' => 'إضافة تعليق',
'TOPIC_VIEWS' => 'المُشاهدات',
'JUMP_NEWEST' => 'انتقل إلى أحدث مُشاركة',
'JUMP_FIRST' => 'انتقل إلى أول مُشاركة',
'JUMP_TO_POST' => 'انتقل إلى المُشاركة',
// ACP
'ACP_PORTAL_NEWS_SETTINGS' => 'إعدادات الأخبار',
'ACP_PORTAL_NEWS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الأخبار.',
'PORTAL_NEWS_STYLE' => 'التصميم الإفتراضي ',
'PORTAL_NEWS_STYLE_EXP' => 'اختيارك "نعم" يعني استخدام التصميم الإفتراضي لشكل المنتديات ( بدون محتوى الأخبار ). اختيارك "لا" يعني استخدام التصميم الخاص بالمجلة ( عرض النص / محتوى الأخبار ).',
'PORTAL_SHOW_ALL_NEWS' => 'عرض جميع الأخبار ',
'PORTAL_SHOW_ALL_NEWS_EXP' => 'عرض جميع الأخبار في هذا المنتدى ( يشمل المواضيع المُثبتة ).',
'PORTAL_NUMBER_OF_NEWS' => 'عدد الأخبار في المجلة ',
'PORTAL_NUMBER_OF_NEWS_EXP' => 'القيمة صفر تعني عدد غير محدود',
'PORTAL_NEWS_LENGTH' => 'الحد الأقصى لطول / عدد حروف الأخبار ',
'PORTAL_NEWS_LENGTH_EXP' => 'القيمة صفر تعني عدد غير محدود',
'PORTAL_NEWS_FORUM' => 'المنتديات ',
'PORTAL_NEWS_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار الأخبار منها. عدم التحديد يعني إظهار الأخبار من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من الأخبار بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
'PORTAL_NEWS_EXCLUDE' => 'استثناء المنتديات ',
'PORTAL_NEWS_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء الأخبار من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
'PORTAL_NEWS_PERMISSIONS' => 'تفعيل / تعطيل الصلاحيات ',
'PORTAL_NEWS_PERMISSIONS_EXP' => 'سيتم تطبيق نفس صلاحيات العضو لمًشاهدة المنتدى على هذا الموديل.',
'PORTAL_NEWS_SHOW_LAST' => 'الترتيب بحسب آخر مُشاركة ',
'PORTAL_NEWS_SHOW_LAST_EXP' => 'اختار "نعم" إذا تريد ترتيب آخر الأخبار بحسب آخر مُشاركة. اختار "لا" إذا تريد الترتيب بحسب آخر موضوع.',
'PORTAL_NEWS_ARCHIVE' => 'تفعيل نظام الأرشفة ',
'PORTAL_NEWS_ARCHIVE_EXP' => 'اختيارك "نعم" يعني إظهار أرقام الصفحات / نظام الأرشفة للأخبار.',
'PORTAL_SHOW_REPLIES_VIEWS' => 'إظهار عدد الردود و المُشاهدات ',
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'هذه الإعدادات متعلقة بالتصميم الإفتراضي.<br />سيتم عرض عدد الردود و المُشاهدات في 2 أعمدة إضافية عند اختيارك "نعم". سيتم عرض عدد الردود و المُشاهدات بجانب اسم المنتدى عند اختيارك "لا". <br />يُنصح بإختيار "لا" في حالة وجود مشاكل في ظهور الأعمدة الإضافية والتي تتطلب مساحة أكبر.',
));

View File

@@ -0,0 +1,54 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_POLL' => 'التصويت',
'LATEST_POLLS' => 'أحدث التصويتات',
'NO_OPTIONS' => 'لا توجد خيارات في هذا التصويت.',
'NO_POLL' => 'لا يوجد أي تصويت',
'RETURN_PORTAL' => '%sالعودة إلى المجلة%s',
// ACP
'ACP_PORTAL_POLLS_SETTINGS' => 'إعدادات التصويت',
'ACP_PORTAL_POLLS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل التصويت.',
'PORTAL_POLL_TOPIC_ID' => 'المنتديات ',
'PORTAL_POLL_TOPIC_ID_EXP' => 'حدد المنتديات التي تريد إظهار التصويتات منها. عدم التحديد يعني إظهار التصويتات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من التصويتات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
'PORTAL_POLL_EXCLUDE_ID' => 'استثناء المنتديات ',
'PORTAL_POLL_EXCLUDE_ID_EXP' => 'اختار "نعم" إذا تريد استثناء التصويتات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
'PORTAL_POLL_LIMIT' => 'عدد التصويتات ',
'PORTAL_POLL_LIMIT_EXP' => 'عدد التصويتات التي تريد عرضها في صفحة المجلة.',
'PORTAL_POLL_ALLOW_VOTE' => 'السماح بالتصويت ',
'PORTAL_POLL_ALLOW_VOTE_EXP' => 'السماح للأعضاء الذين يملكون الصلاحيات المطلوبة بالتصويت بواسطة صفحة المجلة.',
'PORTAL_POLL_HIDE' => 'إخفاء التصويتات المُنتهية ',
));

View File

@@ -0,0 +1,42 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_RANDOM_MEMBER' => 'عضو رائع',
'RND_JOIN' => 'تاريخ الإشتراك ',
'RND_POSTS' => 'عدد المشاركات ',
'RND_OCC' => 'المهنة ',
'RND_FROM' => 'المكان ',
'RND_WWW' => 'صفحة الموقع ',
));

View File

@@ -0,0 +1,52 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_RECENT' => 'أحدث المواضيع',
'PORTAL_RECENT_TOPIC' => 'أحدث المواضيع',
'PORTAL_RECENT_ANN' => 'أحدث الإعلانات',
'PORTAL_RECENT_HOT_TOPIC' => 'أحدث المواضيع النشطة ',
// ACP
'ACP_PORTAL_RECENT_SETTINGS' => 'إعدادات أحدث المواضيع',
'ACP_PORTAL_RECENT_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل أحدث المواضيع.',
'PORTAL_MAX_TOPIC' => 'عدد المواضيع ',
'PORTAL_MAX_TOPIC_EXP' => 'عدد المواضيع التي ستظهر في هذا الموديل. القيمة صفر تعني عدد غير محدود',
'PORTAL_RECENT_TITLE_LIMIT' => 'عدد حروف العنوان ',
'PORTAL_RECENT_TITLE_LIMIT_EXP' => 'عدد حروف عناوين المواضيع التي ستظهر في هذا الموديل. القيمة صفر تعني عدد غير محدود',
'PORTAL_RECENT_FORUM' => 'المنتديات ',
'PORTAL_RECENT_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار آخر المواضيع منها. عدم التحديد يعني إظهار آخر المواضيع من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
'PORTAL_EXCLUDE_FORUM' => 'استثناء المنتديات ',
'PORTAL_EXCLUDE_FORUM_EXP' => 'اختار "نعم" إذا تريد استثناء آخر المواضيع من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
));

View File

@@ -0,0 +1,43 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_SEARCH' => 'بحث',
'PORTAL_SEARCH_GO' => 'اذهب',
'PORTAL_SEARCH_SITE' => 'المنتديات',
'PORTAL_SEARCH_POSTS' => 'المشاركات',
'PORTAL_SEARCH_AUTHOR' => 'الكاتب',
'PORTAL_SEARCH_ENGINE' => 'محركات البحث',
'PORTAL_SEARCH_ADV' => 'بحث مُتقدم',
));

View File

@@ -0,0 +1,52 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'ST_TOP' => 'الإجمالي',
'ST_TOP_ANNS' => 'إجمالي الإعلانات :',
'ST_TOP_STICKYS'=> 'إجمالي المواضيع المُثبتة :',
'ST_TOT_ATTACH' => 'إجمالي المرفقات :',
'TOPICS_PER_DAY_OTHER' => 'المواضيع يومياً : <strong>%d</strong>',
'TOPICS_PER_DAY_ZERO' => 'المواضيع يومياً : <strong>0</strong>',
'POSTS_PER_DAY_OTHER' => 'المُشاركات يومياً : <strong>%d</strong>',
'POSTS_PER_DAY_ZERO' => 'المُشاركات يومياً : <strong>0</strong>',
'USERS_PER_DAY_OTHER' => 'الأعضاء يومياً : <strong>%d</strong>',
'USERS_PER_DAY_ZERO' => 'الأعضاء يومياً : <strong>0</strong>',
'TOPICS_PER_USER_OTHER' => 'المواضيع لكل عضو : <strong>%d</strong>',
'TOPICS_PER_USER_ZERO' => 'المواضيع لكل عضو : <strong>0</strong>',
'POSTS_PER_USER_OTHER' => 'المُشاركات لكل عضو : <strong>%d</strong>',
'POSTS_PER_USER_ZERO' => 'المُشاركات لكل عضو : <strong>0</strong>',
'POSTS_PER_TOPIC_OTHER' => 'المُشاركات لكل موضوع : <strong>%d</strong>',
'POSTS_PER_TOPIC_ZERO' => 'المُشاركات لكل موضوع : <strong>0</strong>',
));

View File

@@ -0,0 +1,38 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'BOARD_STYLE' => 'استايل المنتدى',
'STYLE_CHOOSE' => 'حدد الإستايل',
));

View File

@@ -0,0 +1,42 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'TOPPOSTERS' => 'أكثر الأعضاء نشاطاً',
'TOPPOSTERS_CONFIG' => 'إعدادات أكثر الأعضاء نشاطاً',
// ACP
'NUM_TOPPOSTERS' => 'عدد الأعضاء ',
'NUM_TOPPOSTERS_EXP' => 'أدخل عدد الأعضاء الذين تريد عرضهم في موديل أكثر الأعضاء نشاطاً.',
));

View File

@@ -0,0 +1,46 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'USER_MENU' => 'قائمة العضو',
'UM_LOG_ME_IN' => 'تذكرني',
'UM_HIDE_ME' => 'أخفني',
'UM_REGISTER_NOW' => 'التسجيل الآن !',
'UM_MAIN_SUBSCRIBED'=> 'الإشتراكات',
'UM_BOOKMARKS' => 'المواضيع المُفضلة',
'M_MENU' => 'القائمة',
'M_ACP' => 'لوحة تحكم المدير',
'USER_MENU_SETTINGS' => 'إعدادات قائمة العضو',
'USER_MENU_REGISTER' => 'عرض رابط التسجيل في قائمة العضو',
));

View File

@@ -0,0 +1,43 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_WELCOME' => 'رسالة الترحيب',
// ACP
'ACP_PORTAL_WELCOME_SETTINGS' => 'إعدادات رسالة الترحيب',
'ACP_PORTAL_WELCOME_PREVIEW' => 'استعراض رسالة الترحيب',
'ACP_PORTAL_WELCOME_MESSAGE' => 'رسالة الترحيب ',
'ACP_PORTAL_WELCOME_MESSAGE_EXP' => 'من هنا تستطيع تغيير رسالة الترحيب. أكواد BBCode / الصور / الروابط مسموح بها.',
));

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* @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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
'PORTAL_WHOIS_ONLINE' => 'الأعضاء الموجودون الآن',
));

View File

@@ -0,0 +1,40 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2015 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'يستطيع تغيير إعدادات المجلة',
'ACL_U_VIEW_PORTAL' => 'يستطيع مُشاهدة المجلة',
));

42
language/ar/portal.php Normal file
View File

@@ -0,0 +1,42 @@
<?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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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
// Common
$lang = array_merge($lang, array(
'PORTAL' => 'المجلة',
'VIEWING_PORTAL' => 'صفحة المجلة',
'BACK' => 'العودة',
'B3P_WRONG_METHOD_CALL' => 'طلب غير صحيح للطريقة %s',
));

110
language/ar/portal_acp.php Normal file
View File

@@ -0,0 +1,110 @@
<?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
*
* Translated By : Bassel Taha Alhitary - www.alhitary.net
*/
/**
* 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(
// Portal Modules
'ACP_PORTAL_MODULES_EXP' => 'من هنا تستطيع إدارة الموديلات الخاصة بمجلتك. نرجوا تعطيل المجلة إذا عطلت أيضاً جميع الموديلات ولم تفعل أي موديل.',
'MODULE_POS_TOP' => 'الأعلى',
'MODULE_POS_LEFT' => 'العمود اليسار',
'MODULE_POS_RIGHT' => 'العمود اليمين',
'MODULE_POS_CENTER' => 'العمود الوسط',
'MODULE_POS_BOTTOM' => 'الأسفل',
'ADD_MODULE' => 'إضافة موديل',
'CHOOSE_MODULE' => 'اختار موديل',
'CHOOSE_MODULE_EXP' => 'اختار الموديل من القائمة المُنسدلة',
'SUCCESS_ADD' => 'تم إضافة الموديل بنجاح.',
'SUCCESS_DELETE' => 'تم حذف الموديل بنجاح.',
'NO_MODULES' => 'لم يتم الكشف عن أي موديلات.',
'MOVE_RIGHT' => 'تحريك لليمين',
'MOVE_LEFT' => 'تحريك لليسار',
'B3P_FILE_NOT_FOUND' => 'لم يتم العثور على الملف المطلوب',
'UNABLE_TO_MOVE' => 'لا يُمكن تحريك الموديل إلى العمود الذي حددته.',
'UNABLE_TO_MOVE_ROW' => 'لا يُمكن تحريك الموديل إلى الصف الذي حددته.',
'UNABLE_TO_ADD_MODULE' => 'لا يُمكن إضافة الموديل إلى العمود الذي حددته.',
'DELETE_MODULE_CONFIRM' => 'هل أنت متأكد من حذف الموديل "%1$s" ?',
'MODULE_RESET_SUCCESS' => 'تم إعادة ضبط إعدادت الموديل.',
'MODULE_RESET_CONFIRM' => 'هل أنت متأكد من إعادة ضبط إعدادات الموديل "%1$s" ?',
'MODULE_NOT_EXISTS' => 'الموديل المُحدد غير موجود.',
'MODULE_OPTIONS' => 'خيارات الموديل',
'MODULE_NAME' => 'الإسم ',
'MODULE_NAME_EXP' => 'ادخل إسم الموديل الذي يجب عرضه في ضبط الموديل.',
'MODULE_IMAGE' => 'الصورة ',
'MODULE_IMAGE_EXP' => 'ادخل إسم صورة الموديل. يجب أن تكون الصور موجودة في المسار styles/{yourstyle}/theme/images/portal/. {yourstyle} يعني إسم مجلد الاستايل الذي تستخدمه.',
'MODULE_PERMISSIONS' => 'الصلاحيات ',
'MODULE_PERMISSIONS_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة هذا الموديل. عدم تحديد أي مجموعة يعني عرض هذا الموديل لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
'MODULE_IMAGE_WIDTH' => 'عرض الصورة ',
'MODULE_IMAGE_WIDTH_EXP' => 'ادخل مقاس العرض لصورة الموديل بالبيكسل',
'MODULE_IMAGE_HEIGHT' => 'ارتفاع الصورة ',
'MODULE_IMAGE_HEIGHT_EXP' => 'ادخل مقاس الإرتفاع لصورة الموديل بالبيكسل',
'MODULE_RESET' => 'إعادة ضبط الإعدادات ',
'MODULE_RESET_EXP' => 'سوف يتم إعادة ضبط الإعدادات إلى الإفتراضية !',
'MODULE_STATUS' => 'تفعيل ',
'MODULE_ADD_ONCE' => 'يُمكن إضافة هذا الموديل مرة واحدة فقط.',
'MODULE_IMAGE_ERROR' => 'يوجد خطأ أثناء التحقق من صورة الموديل :',
'UNKNOWN_MODULE_METHOD' => 'لا يُمكن مُعالجة طريقة الموديل %1$s.',
// general
'ACP_PORTAL_CONFIG_INFO' => 'إعدادات عامة',
'ACP_PORTAL_GENERAL_TITLE' => 'إدارة المجلة',
'ACP_PORTAL_GENERAL_TITLE_EXP' => 'شكراً لإستخدامك مجلة المنتدى Board3 ! من هنا تستطيع إدارة صفحة المجلة. الخيارات الموجود بالأسفل تعطيك إمكانية تخصيص العديد من الإعدادات العامة.',
'ACP_PORTAL_SHOW_ALL' => 'إظهار المجلة على جميع الصفحات ',
'ACP_PORTAL_SHOW_ALL_EXP' => 'عرض المجلة على جميع الصفحات',
'PORTAL_ENABLE' => 'تفعيل ',
'PORTAL_ENABLE_EXP' => 'تفعيل أو تعطيل المجلة',
'PORTAL_LEFT_COLUMN' => 'تفعيل العمود اليسار ',
'PORTAL_LEFT_COLUMN_EXP' => 'عرض العمود اليسار فقط وإخفاء اليمين',
'PORTAL_RIGHT_COLUMN' => 'تفعيل العمود اليمين ',
'PORTAL_RIGHT_COLUMN_EXP' => 'عرض العمود اليمين فقط وإخفاء اليسار',
'PORTAL_DISPLAY_JUMPBOX' => 'إظهار صندوق التنقل السريع ',
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'عرض صندوق التنقل السريع في المجلة. لن يعمل هذا الخيار إذا تم تعطيل صندوق التنقل السريع في خصائص المنتدى.',
'ACP_PORTAL_COLUMN_WIDTH_SETTINGS' => 'إعدادات عرض الأعمدة',
'PORTAL_LEFT_COLUMN_WIDTH' => 'عرض العمود اليسار ',
'PORTAL_LEFT_COLUMN_WIDTH_EXP' => 'تغيير عرض العمود اليسار بالبيكسل ؛ ننصح بالقيمة 180',
'PORTAL_RIGHT_COLUMN_WIDTH' => 'عرض العمود اليمين ',
'PORTAL_RIGHT_COLUMN_WIDTH_EXP' => 'تغيير عرض العمود اليمين بالبيكسل ؛ ننصح بالقيمة 180',
'PORTAL_SHOW_ALL_SIDE' => 'اظهار العمود على جميع الصفحات ',
'PORTAL_SHOW_ALL_SIDE_EXP' => 'اختار أحد الأعمدة لعرضه على جميع الصفحات.',
'PORTAL_SHOW_ALL_LEFT' => 'يسار',
'PORTAL_SHOW_ALL_RIGHT' => 'يمين',
'LINK_ADDED' => 'تم إضافة الرابط بنجاح',
'LINK_UPDATED' => 'تم تحديث الرابط بنجاح',
// Install
'PORTAL_BASIC_INSTALL' => 'جاري إضافة الموديلات الأساسية',
'PORTAL_BASIC_UNINSTALL' => 'جاري حذف الموديلات من قاعدة البيانات',
));

View File

@@ -0,0 +1,40 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = [];
}
// 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, [
'BOARD3_PORTAL' => 'Board3 Portal',
'ERROR_B3P_EXTENSION_NOT_ENABLEABLE' => 'Die Erweiterung „%s“ kann nicht aktiviert werden. Bitte prüfe die Voraussetzungen, die für die Erweiterung notwendig sind.',
'ERROR_B3P_MSG_PHPBB_WRONG_VERSION' => 'Minimum phpBB %1$s aber kleiner als %2$s',
'ERROR_B3P_MSG_PHP_WRONG_VERSION' => 'Minimum PHP %1$s aber kleiner als %2$s',
]);

View File

@@ -0,0 +1,50 @@
<?php
/**
*
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
/**
* 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',
));

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Announcements * @package Board3 Portal v2.3 - Announcements
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -33,7 +33,7 @@ if (empty($lang) || !is_array($lang))
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array( $lang = array_merge($lang, array(
'LATEST_ANNOUNCEMENTS' => 'Letzte Bekanntmachung', 'LATEST_ANNOUNCEMENTS' => 'Letzte Bekanntmachung',
'GLOBAL_ANNOUNCEMENTS' => 'Global Bekanntmachungen', 'GLOBAL_ANNOUNCEMENTS' => 'Globale Bekanntmachungen',
'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung', 'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung',
'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung', 'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung',
'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen', 'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen',
@@ -62,8 +62,8 @@ $lang = array_merge($lang, array(
'PORTAL_ANNOUNCEMENTS_LENGTH' => 'Maximale Länge der Bekanntmachungen', 'PORTAL_ANNOUNCEMENTS_LENGTH' => 'Maximale Länge der Bekanntmachungen',
'PORTAL_ANNOUNCEMENTS_LENGTH_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_ANNOUNCEMENTS_LENGTH_EXP' => '0 bedeutet unbegrenzt',
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' => 'Foren der Bekanntmachungen', 'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' => 'Foren der Bekanntmachungen',
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXP' => 'Die ID des Forums, aus welchem die Bekanntmachungen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren aussschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren aussschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXP' => 'Die ID des Forums, aus welchem die Bekanntmachungen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren ausschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren ausschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE' => 'Foren aussschließen', 'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE' => 'Foren ausschließen',
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE_EXP'=> 'Wähle "Ja" wenn du die ausgewählten Foren vom Bekanntmachungen-Block ausschließen willst, und "Nein" wenn du nur die Bekanntmachungen aus den ausgewählten Foren im Bekanntmachungen-Block sehen willst.', 'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE_EXP'=> 'Wähle "Ja" wenn du die ausgewählten Foren vom Bekanntmachungen-Block ausschließen willst, und "Nein" wenn du nur die Bekanntmachungen aus den ausgewählten Foren im Bekanntmachungen-Block sehen willst.',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?', 'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXP' => 'Berücksichtigt Berechtigungen beim Anzeigen der Bekanntmachungen', 'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXP' => 'Berücksichtigt Berechtigungen beim Anzeigen der Bekanntmachungen',
@@ -72,5 +72,3 @@ $lang = array_merge($lang, array(
'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten', 'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten',
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.', 'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Attachments * @package Board3 Portal v2.3 - Attachments
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -42,15 +42,13 @@ $lang = array_merge($lang, array(
'PORTAL_ATTACHMENTS_NUMBER' => 'Anzahl der anzuzeigenden Dateianhänge', 'PORTAL_ATTACHMENTS_NUMBER' => 'Anzahl der anzuzeigenden Dateianhänge',
'PORTAL_ATTACHMENTS_NUMBER_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_ATTACHMENTS_NUMBER_EXP' => '0 bedeutet unbegrenzt',
'PORTAL_ATTACHMENTS_FORUM_IDS' => 'Dateianhänge Foren', 'PORTAL_ATTACHMENTS_FORUM_IDS' => 'Dateianhänge Foren',
'PORTAL_ATTACHMENTS_FORUM_IDS_EXP' => 'Die Foren, aus welchen die Dateianhänge angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren aussschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren aussschließen" auf "Nein" steht, wähle die Foren aus, aus denen du die Dateianhänge sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_ATTACHMENTS_FORUM_IDS_EXP' => 'Die Foren, aus welchen die Dateianhänge angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren ausschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren ausschließen" auf "Nein" steht, wähle die Foren aus, aus denen du die Dateianhänge sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE' => 'Foren aussschließen', 'PORTAL_ATTACHMENTS_FORUM_EXCLUDE' => 'Foren ausschließen',
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die Dateianhänge der ausgewählten Foren im Dateianhänge-Block sehen willst.', 'PORTAL_ATTACHMENTS_FORUM_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die Dateianhänge der ausgewählten Foren im Dateianhänge-Block sehen willst.',
'PORTAL_ATTACHMENTS_MAX_LENGTH' => 'Maximal angezeigte Länge der Dateianhänge', 'PORTAL_ATTACHMENTS_MAX_LENGTH' => 'Maximal angezeigte Länge der Dateianhänge',
'PORTAL_ATTACHMENTS_MAX_LENGTH_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_ATTACHMENTS_MAX_LENGTH_EXP' => '0 bedeutet unbegrenzt',
'PORTAL_ATTACHMENTS_FILETYPE' => 'Dateitypen', 'PORTAL_ATTACHMENTS_FILETYPE' => 'Dateitypen',
'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'Falls "Dateitypen ausschließen" auf "Ja" steht, wähle die Dateitypen die du ausschließen willst.<br />Falls "Dateitypen ausschließen" auf "Nein" steht, wähle die Dateitypen die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'Falls "Dateitypen ausschließen" auf "Ja" steht, wähle die Dateitypen die du ausschließen willst.<br />Falls "Dateitypen ausschließen" auf "Nein" steht, wähle die Dateitypen die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_ATTACHMENTS_EXCLUDE' => 'Dateitypen aussschließen', 'PORTAL_ATTACHMENTS_EXCLUDE' => 'Dateitypen ausschließen',
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Dateitypen vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die ausgewählten Dateitypen im Dateianhänge-Block sehen willst.', 'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Dateitypen vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die ausgewählten Dateitypen im Dateianhänge-Block sehen willst.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Birthday List * @package Board3 Portal v2.3 - Birthday List
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -39,9 +39,6 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_BIRTHDAYS_SETTINGS' => 'Einstellungen für den Geburtstage-Block', 'ACP_PORTAL_BIRTHDAYS_SETTINGS' => 'Einstellungen für den Geburtstage-Block',
'ACP_PORTAL_BIRTHDAYS_SETTINGS_EXP' => 'Hier kannst du die Einstellungen für den Geburtstage-Block ändern.', 'ACP_PORTAL_BIRTHDAYS_SETTINGS_EXP' => 'Hier kannst du die Einstellungen für den Geburtstage-Block ändern.',
'PORTAL_BIRTHDAYS' => 'Geburtstage', 'PORTAL_BIRTHDAYS' => 'Geburtstage',
'PORTAL_BIRTHDAYS_EXPLAIN' => 'Diesen Block auf dem Portal anzeigen.',
'PORTAL_BIRTHDAYS_AHEAD' => 'Anstehende Geburtstage', 'PORTAL_BIRTHDAYS_AHEAD' => 'Anstehende Geburtstage',
'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'Zeitraum für die Geburtstagsvorschau (Tage).<br />"0" deaktiviert die Anzeige der bevorstehenden Geburtstage.', 'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'Zeitraum für die Geburtstagsvorschau (Tage).<br />"0" deaktiviert die Anzeige der bevorstehenden Geburtstage.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Calendar * @package Board3 Portal v2.3 - Calendar
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -115,23 +115,17 @@ $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_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_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_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_DATE' => '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: JJJJ-MM-TT', '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_START_TIME' => 'Start-Zeit der Veranstaltung', 'ACP_PORTAL_EVENT_END_DATE' => 'End-Datum 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_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_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: JJJJ-MM-TT',
'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_CALENDAR_EVENT_START_FIRST' => 'Das Ende der Veranstaltung muss nach dem Beginn der Veranstaltung liegen.', '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' => '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.', '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.',
'PORTAL_EVENTS_URL_NEW_WINDOW' => 'Öffne externe Veranstaltungsverknüpfungen in einem neuen Fenster',
// Logs // Logs
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Veranstaltung aktualisiert</strong><br />&raquo; %s', 'LOG_PORTAL_EVENT_UPDATED' => '<strong>Veranstaltung aktualisiert</strong><br />&raquo; %s',
'LOG_PORTAL_EVENT_ADDED' => '<strong>Veranstaltung hinzugefügt</strong><br />&raquo; %s', 'LOG_PORTAL_EVENT_ADDED' => '<strong>Veranstaltung hinzugefügt</strong><br />&raquo; %s',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Veranstaltung entfernt</strong><br />&raquo; %s', 'LOG_PORTAL_EVENT_REMOVED' => '<strong>Veranstaltung entfernt</strong><br />&raquo; %s',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Clock * @package Board3 Portal v2.3 - Clock
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -40,5 +40,3 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CLOCK_SRC' => 'Uhr', 'ACP_PORTAL_CLOCK_SRC' => 'Uhr',
'ACP_PORTAL_CLOCK_SRC_EXP' => 'Gebe den Dateinamen der Uhr ein. Die Uhr muss unter folgendem Pfad gespeichert sein: styles/*yourstyle*/theme/images/portal/.', 'ACP_PORTAL_CLOCK_SRC_EXP' => 'Gebe den Dateinamen der Uhr ein. Die Uhr muss unter folgendem Pfad gespeichert sein: styles/*yourstyle*/theme/images/portal/.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Custom * @package Board3 Portal v2.3 - Custom
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -37,7 +37,7 @@ $lang = array_merge($lang, array(
// ACP // ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'Custom Block Settings', 'ACP_PORTAL_CUSTOM_SETTINGS' => 'Custom Block Settings',
'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'Einstellungen für den eigenen Block', 'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'Einstellungen für den eigenen Block',
'ACP_PORTAL_CUSTOM_CODE_SHORT' => 'Der eingegebene Code ist nicht lang genug.', 'TOO_FEW_CHARS' => 'Der eingegebene Code ist nicht lang genug.',
'ACP_PORTAL_CUSTOM_PREVIEW' => 'Vorschau', 'ACP_PORTAL_CUSTOM_PREVIEW' => 'Vorschau',
'ACP_PORTAL_CUSTOM_CODE' => 'Code für den eigenen Block', 'ACP_PORTAL_CUSTOM_CODE' => 'Code für den eigenen Block',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'Ändere den Code für deinen eigenen Block (HTML oder BBCode).', 'ACP_PORTAL_CUSTOM_CODE_EXP' => 'Ändere den Code für deinen eigenen Block (HTML oder BBCode).',
@@ -46,5 +46,3 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CUSTOM_BBCODE' => 'BBCode für den eigenen Block aktivieren', 'ACP_PORTAL_CUSTOM_BBCODE' => 'BBCode für den eigenen Block aktivieren',
'ACP_PORTAL_CUSTOM_BBCODE_EXP' => 'BBCode kann dann in diesem Block benutzt werden. Ansonsten wird HTML direkt geparst.', 'ACP_PORTAL_CUSTOM_BBCODE_EXP' => 'BBCode kann dann in diesem Block benutzt werden. Ansonsten wird HTML direkt geparst.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Donation * @package Board3 Portal v2.3 - Donation
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -57,14 +57,11 @@ $lang = array_merge($lang, array(
'ILS' => 'Neue Israelische Schekel (ILS)', 'ILS' => 'Neue Israelische Schekel (ILS)',
// ACP // ACP
'ACP_PORTAL_PAYPAL_SETTINGS' => 'Paypal Einstellungen', 'ACP_PORTAL_PAYPAL_SETTINGS' => 'Paypal Einstellungen',
'ACP_PORTAL_PAYPAL_SETTINGS_EXP' => 'Hier kannst du die Paypal Einstellungen ändern.', 'ACP_PORTAL_PAYPAL_SETTINGS_EXP' => 'Hier kannst du die Paypal Einstellungen ändern.',
'PORTAL_PAY_C_BLOCK' => 'Normalen Paypal-Block anzeigen', 'PORTAL_PAY_ACC' => 'Paypal Account',
'PORTAL_PAY_C_BLOCK_EXP' => 'Diesen Block auf dem Portal anzeigen.',
'PORTAL_PAY_S_BLOCK' => 'Paypal als kleinen Block anzeigen',
'PORTAL_PAY_S_BLOCK_EXP' => 'Diesen Block auf dem Portal anzeigen.',
'PORTAL_PAY_ACC' => 'Paypal Account',
'PORTAL_PAY_ACC_EXP' => 'Gib deine e-mail-Adresse an, die du bei Paypal benutzt, z.B. xxx@xxx.com', 'PORTAL_PAY_ACC_EXP' => 'Gib deine e-mail-Adresse an, die du bei Paypal benutzt, z.B. xxx@xxx.com',
'PORTAL_PAY_CUSTOM' => 'Benutzername an die Paypal Zahlung anhängen',
'PORTAL_PAY_DEFAULT' => 'Standard-Währung',
'PORTAL_PAY_DEFAULT_EXP' => 'Währung die standardmäßig in der Drop-Down-Liste ausgewählt ist.'
)); ));
?>

View File

@@ -0,0 +1,37 @@
<?php
/**
*
* @package Board3 Portal v2.3 - Forumlist
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
/**
* 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(
'PORTAL_FORUMLIST' => 'Forumliste',
'PORTAL_FORUMLIST_EXP' => '<span style="color: #BC2A4D;">In diesem Modul kann auf der Portal Seite kein Modul Bild oder Font Awesome Icon angezeigt werden!</span>',
));

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Friends * @package Board3 Portal v2.3 - Friends
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -45,5 +45,3 @@ $lang = array_merge($lang, array(
'PORTAL_MAX_ONLINE_FRIENDS' => 'Limitierung der Anzeige Freunde online', 'PORTAL_MAX_ONLINE_FRIENDS' => 'Limitierung der Anzeige Freunde online',
'PORTAL_MAX_ONLINE_FRIENDS_EXP' => 'Limitiert die Anzeige Freunde online auf den angegebenen Wert.', 'PORTAL_MAX_ONLINE_FRIENDS_EXP' => 'Limitiert die Anzeige Freunde online auf den angegebenen Wert.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Latest Bots * @package Board3 Portal v2.3 - Latest Bots
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -32,8 +32,8 @@ if (empty($lang) || !is_array($lang))
// equally where a string contains only two placeholders which are used to wrap text // 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 // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array( $lang = array_merge($lang, array(
'LATEST_BOTS' => 'Lezte Bots', 'LATEST_BOTS' => 'Letzte Bots',
'LAST_VISITED_BOTS' => 'Die letzten %s Bots', 'LAST_VISITED_BOTS' => 'Die letzten Bots',
// ACP // ACP
'ACP_PORTAL_BOTS_SETTINGS' => 'Einstellungen für Bot-Besuche', 'ACP_PORTAL_BOTS_SETTINGS' => 'Einstellungen für Bot-Besuche',
@@ -41,5 +41,3 @@ $lang = array_merge($lang, array(
'PORTAL_LAST_VISITED_BOTS_NUMBER' => 'Anzahl der anzuzeigenden Bots', 'PORTAL_LAST_VISITED_BOTS_NUMBER' => 'Anzahl der anzuzeigenden Bots',
'PORTAL_LAST_VISITED_BOTS_NUMBER_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_LAST_VISITED_BOTS_NUMBER_EXP' => '0 bedeutet unbegrenzt',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Latest Members * @package Board3 Portal v2.3 - Latest Members
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -40,5 +40,3 @@ $lang = array_merge($lang, array(
'PORTAL_MAX_LAST_MEMBER' => 'Anzahl der anzuzeigenden Mitglieder', 'PORTAL_MAX_LAST_MEMBER' => 'Anzahl der anzuzeigenden Mitglieder',
'PORTAL_MAX_LAST_MEMBER_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_MAX_LAST_MEMBER_EXP' => '0 bedeutet unbegrenzt',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Leaders * @package Board3 Portal v2.3 - Leaders
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -43,5 +43,3 @@ $lang = array_merge($lang, array(
'PORTAL_LEADERS_EXT' => 'Erweiterter Team-Block', 'PORTAL_LEADERS_EXT' => 'Erweiterter Team-Block',
'PORTAL_LEADERS_EXT_EXP' => 'Der standard Block listet alle Admins und Moderatoren auf, der erweiterte Team-Block listet zusätzlich alle nicht-versteckten Gruppen inklusive Legende auf.', 'PORTAL_LEADERS_EXT_EXP' => 'Der standard Block listet alle Admins und Moderatoren auf, der erweiterte Team-Block listet zusätzlich alle nicht-versteckten Gruppen inklusive Legende auf.',
)); ));
?>

View File

@@ -0,0 +1,39 @@
<?php
/**
*
* @package Board3 Portal v2.3 - Link Us
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
/**
* 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(
'LINK_US' => 'Link zu uns ',
'LINK_US_HTML' => 'HTML',
'LINK_US_BBCODE' => 'BBCode',
'LINK_US_TXT' => 'Benutze bitte diesen Link um <em><strong>"%s"</strong></em> bei dir zu verlinken:',
));

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Links * @package Board3 Portal v2.3 - Links
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -48,6 +48,9 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_LINK_URL_EXP' => 'Externe Links:<br />Alle Links sollten mit einem http:// eingegeben werden.<br /><br />Interne Links:<br />Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.', 'ACP_PORTAL_LINK_URL_EXP' => 'Externe Links:<br />Alle Links sollten mit einem http:// eingegeben werden.<br /><br />Interne Links:<br />Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.',
'ACP_PORTAL_LINK_PERMISSION' => 'Link Berechtigungen', 'ACP_PORTAL_LINK_PERMISSION' => 'Link Berechtigungen',
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab indem du <samp>STRG</samp> gedrückt hältst und klickst.', 'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab indem du <samp>STRG</samp> gedrückt hältst und klickst.',
)); 'ACP_PORTAL_LINKS_NEW_WINDOW' => 'Öffne externe Verknüpfungen in einem neuen Fenster/Tab',
?> // Errors
'NO_LINK_TITLE' => 'Du musst einen Titel für diesen Link angeben.',
'NO_LINK_URL' => 'Du musst eine Link URL eingeben.',
));

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Main Menu * @package Board3 Portal v2.3 - Main Menu
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -61,6 +61,9 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_MENU_URL_EXP' => 'Externe Links:<br />Alle Links sollten mit einem http:// eingegeben werden.<br /><br />Interne Links:<br />Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.', 'ACP_PORTAL_MENU_URL_EXP' => 'Externe Links:<br />Alle Links sollten mit einem http:// eingegeben werden.<br /><br />Interne Links:<br />Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.',
'ACP_PORTAL_MENU_PERMISSION' => 'Link Berechtigungen', 'ACP_PORTAL_MENU_PERMISSION' => 'Link Berechtigungen',
'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab indem du <samp>STRG</samp> gedrückt hältst und klickst.', 'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab indem du <samp>STRG</samp> gedrückt hältst und klickst.',
)); 'ACP_PORTAL_MENU_EXT_NEW_WINDOW'=> 'Öffne externe Verknüpfungen in einem neuen Fenster',
?> // Errors
'NO_LINK_TITLE' => 'Du musst einen Titel für diesen Link angeben.',
'NO_LINK_URL' => 'Du musst eine Link URL eingeben.',
));

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - News * @package Board3 Portal v2.3 - News
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -56,8 +56,8 @@ $lang = array_merge($lang, array(
'PORTAL_NEWS_LENGTH' => 'Maximal angezeigte Länge der Beiträge', 'PORTAL_NEWS_LENGTH' => 'Maximal angezeigte Länge der Beiträge',
'PORTAL_NEWS_LENGTH_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_NEWS_LENGTH_EXP' => '0 bedeutet unbegrenzt',
'PORTAL_NEWS_FORUM' => 'Beiträge Foren', 'PORTAL_NEWS_FORUM' => 'Beiträge Foren',
'PORTAL_NEWS_FORUM_EXP' => 'Die Foren, aus welchen die Beiträge angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren aussschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren aussschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_NEWS_FORUM_EXP' => 'Die Foren, aus welchen die Beiträge angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren ausschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren ausschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_NEWS_EXCLUDE' => 'Foren aussschließen', 'PORTAL_NEWS_EXCLUDE' => 'Foren ausschließen',
'PORTAL_NEWS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Aktuelle Beiträge-Block ausschließen willst, und "Nein" wenn du nur die Beiträge aus den ausgewählten Foren im Aktuelle Beiträge-Block sehen willst.', 'PORTAL_NEWS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Aktuelle Beiträge-Block ausschließen willst, und "Nein" wenn du nur die Beiträge aus den ausgewählten Foren im Aktuelle Beiträge-Block sehen willst.',
'PORTAL_NEWS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?', 'PORTAL_NEWS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?',
'PORTAL_NEWS_PERMISSIONS_EXP' => 'Berücksichtigt Berechtigungen beim Anzeigen der aktuellen Beiträge', 'PORTAL_NEWS_PERMISSIONS_EXP' => 'Berücksichtigt Berechtigungen beim Anzeigen der aktuellen Beiträge',
@@ -68,5 +68,3 @@ $lang = array_merge($lang, array(
'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten', 'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten',
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.', 'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Poll * @package Board3 Portal v2.3 - Poll
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -42,7 +42,7 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_POLLS_SETTINGS' => 'Einstellungen für Umfragen', 'ACP_PORTAL_POLLS_SETTINGS' => 'Einstellungen für Umfragen',
'ACP_PORTAL_POLLS_SETTINGS_EXP' => 'Hier kannst du die Einstellungen für Umfragen ändern.', 'ACP_PORTAL_POLLS_SETTINGS_EXP' => 'Hier kannst du die Einstellungen für Umfragen ändern.',
'PORTAL_POLL_TOPIC_ID' => 'Umfragen Foren', 'PORTAL_POLL_TOPIC_ID' => 'Umfragen Foren',
'PORTAL_POLL_TOPIC_ID_EXP' => 'Die Foren, aus welchen die Umfragen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren aussschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren aussschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_POLL_TOPIC_ID_EXP' => 'Die Foren, aus welchen die Umfragen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren ausschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren ausschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_POLL_EXCLUDE_ID' => 'Foren ausschließen', 'PORTAL_POLL_EXCLUDE_ID' => 'Foren ausschließen',
'PORTAL_POLL_EXCLUDE_ID_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Umfragen-Block ausschließen willst, und "Nein" wenn du nur die Themen aus den ausgewählten Foren im Umfragen-Block sehen willst.', 'PORTAL_POLL_EXCLUDE_ID_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Umfragen-Block ausschließen willst, und "Nein" wenn du nur die Themen aus den ausgewählten Foren im Umfragen-Block sehen willst.',
'PORTAL_POLL_LIMIT' => 'Maximale Anzahl der Umfragen', 'PORTAL_POLL_LIMIT' => 'Maximale Anzahl der Umfragen',
@@ -51,5 +51,3 @@ $lang = array_merge($lang, array(
'PORTAL_POLL_ALLOW_VOTE_EXP' => 'Verfügt der Benutzer über entsprechende Berechtigungen, kann er direkt auf der Portal-Seite abstimmen.', 'PORTAL_POLL_ALLOW_VOTE_EXP' => 'Verfügt der Benutzer über entsprechende Berechtigungen, kann er direkt auf der Portal-Seite abstimmen.',
'PORTAL_POLL_HIDE' => 'Abgelaufene Umfragen verbergen?', 'PORTAL_POLL_HIDE' => 'Abgelaufene Umfragen verbergen?',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Random Member * @package Board3 Portal v2.3 - Random Member
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -39,5 +39,3 @@ $lang = array_merge($lang, array(
'RND_FROM' => 'Wohnort', 'RND_FROM' => 'Wohnort',
'RND_WWW' => 'Webseite', 'RND_WWW' => 'Webseite',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Recent Module * @package Board3 Portal v2.3 - Recent Module
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -45,9 +45,7 @@ $lang = array_merge($lang, array(
'PORTAL_RECENT_TITLE_LIMIT' => 'Maximal angezeigte Länge der neuesten Themen', 'PORTAL_RECENT_TITLE_LIMIT' => 'Maximal angezeigte Länge der neuesten Themen',
'PORTAL_RECENT_TITLE_LIMIT_EXP' => '0 bedeutet unbegrenzt', 'PORTAL_RECENT_TITLE_LIMIT_EXP' => '0 bedeutet unbegrenzt',
'PORTAL_RECENT_FORUM' => 'Themen Foren', 'PORTAL_RECENT_FORUM' => 'Themen Foren',
'PORTAL_RECENT_FORUM_EXP' => 'Die Foren, aus welchen die Themen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren aussschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren aussschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.', 'PORTAL_RECENT_FORUM_EXP' => 'Die Foren, aus welchen die Themen angezeigt werden sollen. Frei lassen, um aus allen Foren anzeigen zu lassen. Falls "Foren ausschließen" auf "Ja" steht, wähle die Foren die du ausschließen willst.<br />Falls "Foren ausschließen" auf "Nein" steht, wähle die Foren die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_EXCLUDE_FORUM' => 'Foren aussschließen', 'PORTAL_EXCLUDE_FORUM' => 'Foren ausschließen',
'PORTAL_EXCLUDE_FORUM_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Aktuelle Themen-Block ausschließen willst, und "Nein" wenn du nur die Themen aus den ausgewählten Foren im Aktuelle Themen-Block sehen willst.', 'PORTAL_EXCLUDE_FORUM_EXP' => 'Wähle "Ja" wenn du die ausgewählten Foren vom Aktuelle Themen-Block ausschließen willst, und "Nein" wenn du nur die Themen aus den ausgewählten Foren im Aktuelle Themen-Block sehen willst.',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Search * @package Board3 Portal v2.3 - Search
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -38,7 +38,5 @@ $lang = array_merge($lang, array(
'PORTAL_SEARCH_POSTS' => 'Beiträge', 'PORTAL_SEARCH_POSTS' => 'Beiträge',
'PORTAL_SEARCH_AUTHOR' => 'Autor', 'PORTAL_SEARCH_AUTHOR' => 'Autor',
'PORTAL_SEARCH_ENGINE' => 'Suchmaschinen', 'PORTAL_SEARCH_ENGINE' => 'Suchmaschinen',
'PORTAL_SEARCH_ADV' => 'erweiterte Suche', 'PORTAL_SEARCH_ADV' => 'Erweiterte Suche',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Statistics * @package Board3 Portal v2.3 - Statistics
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -49,5 +49,3 @@ $lang = array_merge($lang, array(
'POSTS_PER_TOPIC_OTHER' => 'Beiträge pro Thema: <strong>%d</strong>', 'POSTS_PER_TOPIC_OTHER' => 'Beiträge pro Thema: <strong>%d</strong>',
'POSTS_PER_TOPIC_ZERO' => 'Beiträge pro Thema: <strong>0</strong>', 'POSTS_PER_TOPIC_ZERO' => 'Beiträge pro Thema: <strong>0</strong>',
)); ));
?>

View File

@@ -1,9 +1,9 @@
<?php <?php
/** /**
* *
* @package Board3 Portal v2 - Stylechanger * @package Board3 Portal v2.3 - Stylechanger
* @copyright (c) Board3 Group ( www.board3.de ) * @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License * @license GNU General Public License, version 2 (GPL-2.0-only)
* *
*/ */
@@ -35,5 +35,3 @@ $lang = array_merge($lang, array(
'BOARD_STYLE' => 'Mein Board-Style', 'BOARD_STYLE' => 'Mein Board-Style',
'STYLE_CHOOSE' => 'Wähle einen Style', 'STYLE_CHOOSE' => 'Wähle einen Style',
)); ));
?>

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