64 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
287 changed files with 9496 additions and 3815 deletions

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

View File

@@ -1,23 +1,24 @@
#Board3 Portal 2.1.x
# Board3 Portal 2.3.x
Board Portal 2.1.x is a second generation portal for phpBB 3.1.x. It adds a portal with several blocks to your forum.
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
## How to use
You can download the current development version of Board3 Portal 2.1.x here or download the current release at [www.board3.de](http://www.board3.de/ "Board3 • Portal").
Board3 Portal 2.1.x can be installed via the phpBB 3.1 ACP.
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
Support for Board3 Portal can be found at [www.board3.de](http://www.board3.de/ "Board3 • Portal") or on [www.phpbb.com](http://www.phpbb.com/community/viewtopic.php?f=70&t=2131824/ "phpBB • Board3 Portal").
The extension is currently under heavy development and not supported until further notice.
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 travis build below.
2.1.x - [![Build Status](https://travis-ci.org/board3/Board3-Portal.svg?branch=2.1.x)](https://travis-ci.org/board3/Board3-Portal)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/board3/Board3-Portal/badges/quality-score.png?b=2.1.x)](https://scrutinizer-ci.com/g/board3/Board3-Portal/?branch=2.1.x)
[![Code Coverage](https://scrutinizer-ci.com/g/board3/Board3-Portal/badges/coverage.png?b=2.1.x)](https://scrutinizer-ci.com/g/board3/Board3-Portal/?branch=2.1.x)
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)

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -12,7 +12,7 @@ namespace board3\portal\acp;
class portal_module
{
public $u_action;
public $new_config = array();
public $new_config = [];
/** @var \board3\portal\modules\module_interface */
protected $c_class;
@@ -101,12 +101,15 @@ class portal_module
'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' => array('lang' => 'PORTAL_LEFT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'board3_right_column_width' => array('lang' => 'PORTAL_RIGHT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'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),
)
);
@@ -139,8 +142,10 @@ class portal_module
'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('center', 'top', 'bottom'))) ? false : true,
'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')
@@ -148,7 +153,7 @@ class portal_module
$groups_ary = explode(',', $module_data['module_group_ids']);
// get group info from database and assign the block vars
$sql = 'SELECT group_id, group_name
$sql = 'SELECT group_id, group_name
FROM ' . GROUPS_TABLE . '
ORDER BY group_id ASC';
$result = $this->db->sql_query($sql);
@@ -270,8 +275,10 @@ class portal_module
$sql_ary = array(
'module_image_src' => $this->request->variable('module_image', ''),
'module_image_width' => $this->request->variable('module_img_width', 0),
'module_image_height' => $this->request->variable('module_img_height', 0),
'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),
);
@@ -318,7 +325,7 @@ class portal_module
$this->page_title = $display_vars['title'];
$this->template->assign_vars(array(
'L_TITLE' => $this->user->lang[$display_vars['title']],
'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,
@@ -668,7 +675,7 @@ class portal_module
$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="' . $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'],

View File

@@ -18,8 +18,8 @@ function helpline(help)
/**
* Fix a bug involving the TextRange object. From
* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
*/
function initInsertions()
*/
function initInsertions()
{
var doc;
@@ -27,7 +27,7 @@ function initInsertions()
{
doc = document;
}
else
else
{
doc = opener.document;
}
@@ -45,12 +45,12 @@ function initInsertions()
* bbstyle
*/
function bbstyle(bbnumber)
{
{
if (bbnumber != -1)
{
bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]);
}
else
}
else
{
insert_text('[*]');
document.getElementById(text_name).focus();
@@ -92,7 +92,7 @@ function bbfontstyle(bbopen, bbclose)
//The new position for the cursor after adding the bbcode
var caret_pos = getCaretPosition(textarea).start;
var new_pos = caret_pos + bbopen.length;
var new_pos = caret_pos + bbopen.length;
// Open tag
insert_text(bbopen + bbclose);
@@ -103,7 +103,7 @@ function bbfontstyle(bbopen, bbclose)
{
textarea.selectionStart = new_pos;
textarea.selectionEnd = new_pos;
}
}
// IE
else if (document.selection)
{
@@ -124,15 +124,15 @@ function insert_text(text, spaces, popup)
{
var textarea;
if (!popup)
if (!popup)
{
textarea = document.getElementById(text_name);
}
else
}
else
{
textarea = opener.document.getElementById(text_name);
}
if (spaces)
if (spaces)
{
text = ' ' + text + ' ';
}
@@ -148,7 +148,7 @@ function insert_text(text, spaces, popup)
}
else if (textarea.createTextRange && textarea.caretPos)
{
if (baseHeight != textarea.caretPos.boundingHeight)
if (baseHeight != textarea.caretPos.boundingHeight)
{
textarea.focus();
storeCaret(textarea);
@@ -161,7 +161,7 @@ function insert_text(text, spaces, popup)
{
textarea.value = textarea.value + text;
}
if (!popup)
if (!popup)
{
textarea.focus();
}
@@ -283,7 +283,7 @@ function split_lines(text)
j++;
}
}
while(splitAt != -1)
while (splitAt != -1)
}
}
return splitLines;
@@ -298,7 +298,7 @@ function mozWrap(txtarea, open, close)
var selEnd = txtarea.selectionEnd;
var scrollTop = txtarea.scrollTop;
if (selEnd == 1 || selEnd == 2)
if (selEnd == 1 || selEnd == 2)
{
selEnd = selLength;
}
@@ -424,7 +424,7 @@ function getCaretPosition(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);
}
@@ -432,7 +432,7 @@ function getCaretPosition(txtarea)
// we ignore the end value for IE, this is already dirty enough and we don't need it
caretPos.start = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
caretPos.end = txtarea.sel_start;
}
return caretPos;

View File

@@ -1,198 +1,206 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
<!-- ENDIF -->
{% endif %}
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{L_ACP_PORTAL_EVENTS}</legend>
<legend>{{ lang('ACP_PORTAL_EVENTS') }}</legend>
<dl>
<dt><label for="event_title">{L_EVENT_TITLE}{L_COLON}</label></dt>
<dd><input name="event_title" type="text" id="event_title" value="{EVENT_TITLE}" maxlength="255" /></dd>
<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">{L_EVENT_DESC}{L_COLON}</label></dt>
<dd><textarea id="event_desc" rows="6" cols="6" name="event_desc">{EVENT_DESC}</textarea></dd>
<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">{L_ACP_PORTAL_EVENT_START_DATE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_EVENT_START_DATE_EXP}</span>
<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>
<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">{L_EVENT_ALL_DAY}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('end', 1)" type="radio" class="radio" name="event_all_day" value="0"<!-- IF not EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 -->>
<div id="end"{% if EVENT_ALL_DAY %}style="display: none;"{% endif %}>
<dl>
<dt>
<label for="event_end_date">{L_ACP_PORTAL_EVENT_END_DATE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_EVENT_END_DATE_EXP}</span>
<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>
<dd><input name="event_end_date" type="text" id="event_end_date" value="{{ EVENT_END_DATE }}" maxlength="255" /></dd>
</dl>
</div>
<dl>
<dt>
<label for="event_url">{L_EVENT_LINK}{L_COLON}</label><br />
<span>{L_EVENT_LINK_EXP}</span>
<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>
<dd><input name="event_url" type="text" id="event_url" value="{{ EVENT_URL }}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-calendar">{L_ACP_PORTAL_CALENDAR_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_CALENDAR_PERMISSION_EXP}</span>
<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[]">
<!-- BEGIN permission_setting_calendar -->
<option value="{permission_setting_calendar.GROUP_ID}"<!-- IF permission_setting_calendar.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting_calendar.GROUP_NAME}</option>
<!-- END 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="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}
<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 -->
{% else %}
<form id="acp_portal_calendar" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
<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 -->
<!-- END options -->
{% endif %}
{% endfor %}
</fieldset>
<fieldset>
<legend>{L_ACP_PORTAL_EVENTS}</legend>
<legend>{{ lang('ACP_PORTAL_EVENTS') }}</legend>
<fieldset class="tabulated">
<p class="quick">
<input class="button2" name="add" type="submit" value="{L_ADD_EVENT}" />
<input class="button2" name="add" type="submit" value="{{ lang('ADD_EVENT') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{L_EVENT_TITLE}</th>
<th>{L_EVENT_DESC}</th>
<th>{L_EVENT_TIME}</th>
<th>{L_EVENT_LINK}</th>
<th>{L_ACTION}</th>
<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>
<!-- BEGIN 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 -->{L_EVENT_START}{L_COLON}&nbsp;{events.EVENT_START}&nbsp;&#124;&nbsp;{L_EVENT_END}{L_COLON}&nbsp;{events.EVENT_END}<!-- ELSE -->{L_EVENT_TIME}{L_COLON}&nbsp;{events.EVENT_START}<!-- IF events.EVENT_ALL_DAY -->&nbsp;&#124;&nbsp;{L_EVENT_ALL_DAY}<!-- ENDIF --><!-- ENDIF --></td>
<td style="text-align: center;"><a href="{events.EVENT_URL}" alt="{events.EVENT_TITLE}">{events.EVENT_URL_RAW}</td>
{% 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>
<a href="{{ events.U_EDIT }}">{{ ICON_EDIT }}</a> <a href="{{ events.U_DELETE }}">{{ ICON_DELETE }}</a>
</td>
</tr>
<!-- BEGINELSE -->
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="5">{L_NO_EVENTS}</td>
<td style="text-align: center;" colspan="5">{{ lang('NO_EVENTS') }}</td>
</tr>
<!-- END events -->
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
<!-- ENDIF -->
{% endif %}
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

View File

@@ -1,101 +1,109 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
<!-- ENDIF -->
{% endif %}
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
<!-- IF SHOW_MODULE_OPTIONS -->
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<!-- IF MODULE_NAME -->
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
{% if MODULE_NAME %}
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% endif %}
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
<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 -->
<!-- BEGINELSE -->
{% endif %}
{% else %}
<fieldset>
<!-- END options -->
{% endfor %}
<!-- IF S_AUTH -->
<!-- BEGIN auth_tpl -->
{auth_tpl.TPL}
<!-- END auth_tpl -->
<!-- ENDIF -->
{% 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="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</form>
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<!-- INCLUDEJS portal/acp_editor.js -->
{% INCLUDEJS 'portal/acp_editor.js' %}
<script type="text/javascript">
// <![CDATA[
/**
@@ -29,28 +29,28 @@ 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]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
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: '{LA_BBCODE_B_HELP}',
i: '{LA_BBCODE_I_HELP}',
u: '{LA_BBCODE_U_HELP}',
q: '{LA_BBCODE_Q_HELP}',
c: '{LA_BBCODE_C_HELP}',
l: '{LA_BBCODE_L_HELP}',
o: '{LA_BBCODE_O_HELP}',
p: '{LA_BBCODE_P_HELP}',
w: '{LA_BBCODE_W_HELP}',
a: '{LA_BBCODE_A_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
e: '{LA_BBCODE_E_HELP}',
d: '{LA_BBCODE_D_HELP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
<!-- END custom_tags -->
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()
@@ -60,11 +60,11 @@ function change_palette()
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR_HIDE')|escape('js') }}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR')|escape('js') }}';
}
}
@@ -73,84 +73,92 @@ function change_palette()
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<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 -->
{% endif %}
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_ACP_PORTAL_CUSTOM_PERMISSION}{L_COLON}</label><br /><span>{L_ACP_PORTAL_CUSTOM_PERMISSION_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- IF S_PREVIEW -->
{% endif %}
{% if S_PREVIEW %}
<fieldset>
<legend>{L_ACP_PORTAL_CUSTOM_PREVIEW}</legend>
<legend>{{ lang('ACP_PORTAL_CUSTOM_PREVIEW') }}</legend>
<dl>
<dt style="border: none; width: 100%;">
{PREVIEW_TEXT}
{{ PREVIEW_TEXT }}
</dt>
</dl>
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{L_PORTAL_CUSTOM}</legend>
<dl id="bbcode-buttons"<!-- IF not CUSTOM_USE_BBCODE --> style="display: none;"<!-- ENDIF -->>
<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>{L_FONT_COLOR}{L_COLON}</label></dt>
<dt style="border: none;"><label>{{ lang('FONT_COLOR') }}{{ lang('COLON') }}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
@@ -159,73 +167,73 @@ function change_palette()
</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="{L_BBCODE_B_HELP}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_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="{L_BBCODE_Q_HELP}" />
<!-- ENDIF -->
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_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="{L_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="{L_BBCODE_W_HELP}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_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="{L_BBCODE_F_HELP}">
<option value="50">{L_FONT_TINY}</option>
<option value="85">{L_FONT_SMALL}</option>
<option value="100" selected="selected">{L_FONT_NORMAL}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
<option value="150">{L_FONT_LARGE}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
<option value="200">{L_FONT_HUGE}</option>
<!-- ENDIF -->
<!-- ENDIF -->
<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="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}" />
<!-- BEGIN 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}" />
<!-- END custom_tags -->
<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">{L_ACP_PORTAL_CUSTOM_CODE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_CUSTOM_CODE_EXP}</span>
<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>
<dd><textarea name="custom_code" id="custom_code" cols="6" rows="12">{{ CUSTOM_CODE }}</textarea></dd>
</dl>
<dl>
<dt>
<label for="custom_use_bbcode">{L_ACP_PORTAL_CUSTOM_BBCODE}</label><br />
<span>{L_ACP_PORTAL_CUSTOM_BBCODE_EXP}</span>
<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 --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('bbcode-buttons', -1)" class="radio" type="radio" value="0" name="custom_use_bbcode"<!-- IF not CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_NO}</label>
<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 -->
<!-- BEGIN auth_tpl -->
{auth_tpl.TPL}
<!-- END auth_tpl -->
<!-- ENDIF -->
{% 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="{L_PREVIEW}" />&nbsp;
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</form>
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

View File

@@ -1,179 +1,187 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
<!-- ENDIF -->
{% endif %}
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{L_ACP_PORTAL_LINKS}</legend>
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<dl>
<dt><label for="link_title">{L_ACP_PORTAL_LINK_TITLE}{L_COLON}</label></dt>
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
<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">{L_ACP_PORTAL_LINK_TYPE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_TYPE_EXP}</span>
<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 --> />{L_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 --> /> {L_ACP_PORTAL_LINK_EXT}</label>
<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">{L_ACP_PORTAL_LINK_URL}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_URL_EXP}</span>
<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>
<dd><input name="link_url" type="text" id="link_url" value="{{ LINK_URL }}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-link">{L_ACP_PORTAL_LINK_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_LINK_PERMISSION_EXP}</span>
<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[]">
<!-- BEGIN permission_setting_link -->
<option value="{permission_setting_link.GROUP_ID}"<!-- IF permission_setting_link.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting_link.GROUP_NAME}</option>
<!-- END 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 -->
{% if LINK_ID !== '' %}<input type="hidden" name="id" value="{{ LINK_ID }}" />{% endif %}
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}
<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 -->
{% else %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
<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 -->
<!-- BEGINELSE -->
{% endif %}
{% else %}
<fieldset>
<!-- END options -->
{% endfor %}
<fieldset class="tabulated">
<legend>{L_ACP_PORTAL_LINKS}</legend>
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<p class="quick">
<input class="button2" name="add" type="submit" value="{L_ACP_PORTAL_LINK_ADD}" />
<input class="button2" name="add" type="submit" value="{{ lang('ACP_PORTAL_LINK_ADD') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{L_ACP_PORTAL_LINK_TITLE}</th>
<th>{L_ACP_PORTAL_LINK_URL}</th>
<th>{L_ACTION}</th>
<th>{{ lang('ACP_PORTAL_LINK_TITLE') }}</th>
<th>{{ lang('ACP_PORTAL_LINK_URL') }}</th>
<th>{{ lang('ACTION') }}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN 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 -->
{% 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>
{% 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>
<!-- BEGINELSE -->
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="3">{L_LINKS_NO_LINKS}</td>
<td style="text-align: center;" colspan="3">{{ lang('LINKS_NO_LINKS') }}</td>
</tr>
<!-- END links -->
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
<!-- ENDIF -->
{% endif %}
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

View File

@@ -1,186 +1,194 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<h3>{{ lang('WARNING') }}</h3>
<p>{{ ERROR_MSG }}</p>
</div>
<!-- ENDIF -->
{% endif %}
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
{% if S_EDIT %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<legend>{L_ACP_PORTAL_MENU_LINK_SETTINGS}</legend>
<legend>{{ lang('ACP_PORTAL_MENU_LINK_SETTINGS') }}</legend>
<dl>
<dt><label for="link_title">{L_ACP_PORTAL_MENU_TITLE}{L_COLON}</label></dt>
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
<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">{L_ACP_PORTAL_MENU_IS_CAT}{L_COLON}</label></dt>
<dd><label><input onchange="phpbb.toggleDisplay('url', -1)" type="radio" class="radio" name="link_is_cat" value="1" id="link_is_cat"<!-- IF S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="phpbb.toggleDisplay('url', 1)" type="radio" class="radio" name="link_is_cat" value="0"<!-- IF not S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
<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 -->>
<div id="url"{% if S_LINK_IS_CAT %} style="display: none;"{% endif %}>
<dl>
<dt>
<label for="link_type">{L_ACP_PORTAL_MENU_TYPE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_TYPE_EXP}</span>
<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 --> />{L_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 --> /> {L_ACP_PORTAL_MENU_EXT}</label>
<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">{L_ACP_PORTAL_MENU_URL}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_URL_EXP}</span>
<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>
<dd><input name="link_url" type="text" id="link_url" value="{{ LINK_URL }}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-menu">{L_ACP_PORTAL_MENU_PERMISSION}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_MENU_PERMISSION_EXP}</span>
<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[]">
<!-- BEGIN permission_setting_menu -->
<option value="{permission_setting_menu.GROUP_ID}"<!-- IF permission_setting_menu.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting_menu.GROUP_NAME}</option>
<!-- END 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 -->
{% if LINK_ID !== '' %}<input type="hidden" name="id" value="{{ LINK_ID }}" />{% endif %}
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}
<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 -->
{% else %}
<form id="acp_portal_links" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
{% endif %}
{% for options in loops.options %}
{% if options.S_LEGEND %}
{% if not options.S_FIRST_ROW %}
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
<legend>{{ options.LEGEND }}</legend>
{% else %}
<dl>
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
<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 -->
<!-- BEGINELSE -->
{% endif %}
{% else %}
<fieldset>
<!-- END options -->
{% endfor %}
<fieldset class="tabulated">
<legend>{L_ACP_PORTAL_LINKS}</legend>
<legend>{{ lang('ACP_PORTAL_LINKS') }}</legend>
<p class="quick">
<input class="button2" name="add" type="submit" value="{L_ACP_PORTAL_MENU_ADD}" />
<input class="button2" name="add" type="submit" value="{{ lang('ACP_PORTAL_MENU_ADD') }}" />
</p>
<table style="cellspacing: 1;">
<thead>
<tr>
<th>{L_ACP_PORTAL_MENU_TITLE}</th>
<th>{L_ACP_PORTAL_MENU_URL}</th>
<th>{L_ACTION}</th>
<th>{{ lang('ACP_PORTAL_MENU_TITLE') }}</th>
<th>{{ lang('ACP_PORTAL_MENU_URL') }}</th>
<th>{{ lang('ACTION') }}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN 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 -->
{% 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>
{% 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>
<!-- BEGINELSE -->
{% else %}
<tr class="row1">
<td style="text-align: center;" colspan="3">{L_MENU_NO_LINKS}</td>
<td style="text-align: center;" colspan="3">{{ lang('MENU_NO_LINKS') }}</td>
</tr>
<!-- END links -->
{% endfor %}
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</fieldset>
</form>
<!-- ENDIF -->
{% endif %}
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

View File

@@ -1,78 +1,78 @@
<!-- IF S_AJAX_REQUEST -->
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
{% if S_AJAX_REQUEST %}
<form id="acp_portal_modules" method="post" action="{{ U_ACTION }}">
<fieldset>
<dl>
<dt><label for="module_classname" style="display: inline;">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
<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="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
<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 -->
{% else %}
{% INCLUDECSS 'portal/b3p_admin.css' %}
{% INCLUDE 'overall_header.html' %}
<a name="maincontent"></a>
<!-- IF S_EDIT -->
{% if S_EDIT %}
<h1>{L_ACP_PORTAL_MODULES}</h1>
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
<h1>{{ lang('ACP_PORTAL_MODULES') }}</h1>
<p>{{ lang('ACP_PORTAL_MODULES_EXP') }}</p>
<form id="acp_portal_modules" method="post" action="{B3P_U_ACTION}">
<form id="acp_portal_modules" method="post" action="{{ B3P_U_ACTION }}">
<fieldset>
<dl>
<dt><label for="module_classname">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
<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="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
<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 -->
{% else %}
<h1>{L_ACP_PORTAL_MODULES}</h1>
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
<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">
<form id="acp_portal_modules" method="post" action="{{ B3P_U_ACTION }}" data-ajax="true">
<fieldset class="tabulated">
<legend>{L_ACP_PORTAL_MODULES}</legend>
<legend>{{ lang('ACP_PORTAL_MODULES') }}</legend>
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{L_MODULE_POS_TOP}</th>
<th style="text-align: center;">{{ lang('MODULE_POS_TOP') }}</th>
</tr>
<!-- BEGIN modules_top -->
<!-- IF not modules_top.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_top.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
{% 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 />
{{ 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>
<span{% if not modules_top.S_FIRST_ROW %} style="display: none;"{% endif %}>{{ ICON_MOVE_UP_DISABLED }}&nbsp;</span>
<span{% if modules_top.S_FIRST_ROW %} style="display: none;"{% endif %}><a href="{{ modules_top.U_MOVE_UP }}" data-ajax="b3p_move_module_up">{{ ICON_MOVE_UP }}</a>&nbsp;</span>
<span{% if not modules_top.S_LAST_ROW %} style="display: none;"{% endif %}>{{ ICON_MOVE_DOWN_DISABLED }}&nbsp;</span>
<span{% if modules_top.S_LAST_ROW %} style="display: none;"{% endif %}><a href="{{ modules_top.U_MOVE_DOWN }}" data-ajax="b3p_move_module_down">{{ ICON_MOVE_DOWN }}</a>&nbsp;</span>
<a href="{{ modules_top.U_EDIT }}">{{ ICON_EDIT }}</a> <a href="{{ modules_top.U_DELETE }}" data-ajax="b3p_delete_module">{{ ICON_DELETE }}</a>
</td>
</tr>
<!-- BEGINELSE -->
{% else %}
<tr>
<td class="row1" style="text-align: center;">{L_NO_MODULES}</td>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
<!-- END modules_top -->
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[top]" type="submit" value="{L_ADD_MODULE}" />
<input class="button2" name="add[top]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
<table style="background-color: transparent; border: none; padding: 0px; margin: 0px;">
@@ -80,88 +80,88 @@
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px; margin: 0px;">
<table class="portal-modules-overview">
<tr>
<th>{L_MODULE_POS_LEFT}</th>
<th>{{ lang('MODULE_POS_LEFT') }}</th>
</tr>
<!-- BEGIN 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 -->
{% 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 />
{{ 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>
<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>
<!-- BEGINELSE -->
{% else %}
<tr>
<td class="row1" style="text-align: center;">{L_NO_MODULES}</td>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
<!-- END modules_left -->
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[left]" type="submit" value="{L_ADD_MODULE}" />
<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;">{L_MODULE_POS_CENTER}</th>
<th style="text-align: center;">{{ lang('MODULE_POS_CENTER') }}</th>
</tr>
<!-- BEGIN 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 -->
{% 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 />
{{ 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>
<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>
<!-- BEGINELSE -->
{% else %}
<tr>
<td class="row1" style="text-align: center;">{L_NO_MODULES}</td>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
<!-- END modules_center -->
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[center]" type="submit" value="{L_ADD_MODULE}" />
<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>{L_MODULE_POS_RIGHT}</th>
<th>{{ lang('MODULE_POS_RIGHT') }}</th>
</tr>
<!-- BEGIN 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 -->
{% 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 />
{{ 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>
<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>
<!-- BEGINELSE -->
{% else %}
<tr>
<td class="row1" style="text-align: center;">{L_NO_MODULES}</td>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
<!-- END modules_right -->
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[right]" type="submit" value="{L_ADD_MODULE}" />
<input class="button2" name="add[right]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
</td>
</tr>
@@ -170,37 +170,37 @@
<table class="portal-modules-overview">
<tr>
<th style="text-align: center;">{L_MODULE_POS_BOTTOM}</th>
<th style="text-align: center;">{{ lang('MODULE_POS_BOTTOM') }}</th>
</tr>
<!-- BEGIN modules_bottom -->
<!-- IF not modules_bottom.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_bottom.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
{% 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 />
{{ 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>
<span{% if not modules_bottom.S_FIRST_ROW %} style="display: none;"{% endif %}>{{ ICON_MOVE_UP_DISABLED }}&nbsp;</span>
<span{% if modules_bottom.S_FIRST_ROW %} style="display: none;"{% endif %}><a href="{{ modules_bottom.U_MOVE_UP }}" data-ajax="b3p_move_module_up">{{ ICON_MOVE_UP }}</a>&nbsp;</span>
<span{% if not modules_bottom.S_LAST_ROW %} style="display: none;"{% endif %}>{{ ICON_MOVE_DOWN_DISABLED }}&nbsp;</span>
<span{% if modules_bottom.S_LAST_ROW %} style="display: none;"{% endif %}><a href="{{ modules_bottom.U_MOVE_DOWN }}" data-ajax="b3p_move_module_down">{{ ICON_MOVE_DOWN }}</a>&nbsp;</span>
<a href="{{ modules_bottom.U_EDIT }}">{{ ICON_EDIT }}</a> <a href="{{ modules_bottom.U_DELETE }}" data-ajax="b3p_delete_module">{{ ICON_DELETE }}</a>
</td>
</tr>
<!-- BEGINELSE -->
{% else %}
<tr>
<td class="row1" style="text-align: center;">{L_NO_MODULES}</td>
<td class="row1" style="text-align: center;">{{ lang('NO_MODULES') }}</td>
</tr>
<!-- END modules_bottom -->
{% endfor %}
</table>
<p class="quick">
<input class="button2" name="add[bottom]" type="submit" value="{L_ADD_MODULE}" />
<input class="button2" name="add[bottom]" type="submit" value="{{ lang('ADD_MODULE') }}" />
</p>
{S_FORM_TOKEN}
{{ S_FORM_TOKEN }}
</fieldset>
</form>
<!-- ENDIF -->
{% endif %}
<!-- INCLUDEJS portal/ajax.js -->
{% INCLUDEJS 'portal/ajax.js' %}
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->
{% INCLUDE 'overall_footer.html' %}
{% endif %}

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE overall_header.html -->
{% INCLUDE 'overall_header.html' %}
<!-- INCLUDEJS portal/acp_editor.js -->
{% INCLUDEJS 'portal/acp_editor.js' %}
<script type="text/javascript">
// <![CDATA[
/**
@@ -29,28 +29,28 @@ 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]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
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: '{LA_BBCODE_B_HELP}',
i: '{LA_BBCODE_I_HELP}',
u: '{LA_BBCODE_U_HELP}',
q: '{LA_BBCODE_Q_HELP}',
c: '{LA_BBCODE_C_HELP}',
l: '{LA_BBCODE_L_HELP}',
o: '{LA_BBCODE_O_HELP}',
p: '{LA_BBCODE_P_HELP}',
w: '{LA_BBCODE_W_HELP}',
a: '{LA_BBCODE_A_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
e: '{LA_BBCODE_E_HELP}',
d: '{LA_BBCODE_D_HELP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
<!-- END custom_tags -->
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()
@@ -60,11 +60,11 @@ function change_palette()
if (e.style.display == 'block')
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR_HIDE')|escape('js') }}';
}
else
{
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
document.getElementById('bbpalette').value = '{{ lang('FONT_COLOR')|escape('js') }}';
}
}
@@ -73,83 +73,91 @@ function change_palette()
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<h1>{{ lang('TITLE') }}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<p>{{ lang('TITLE_EXPLAIN') }}</p>
<!-- IF S_ERROR -->
{% if S_ERROR %}
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
<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 -->
{% endif %}
<form id="acp_portal_config" method="post" action="{{ B3P_U_ACTION }}">
{% if SHOW_MODULE_OPTIONS %}
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<legend>{{ lang('MODULE_OPTIONS') }}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
<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 -->
{% if MODULE_SHOW_IMAGE %}
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
<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 -->
{% if MODULE_IMAGE_SRC %}
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
<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">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
<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 -->
<!-- ENDIF -->
{% endif %}
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<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">{L_MODULE_STATUS}{L_COLON}</label></dt>
<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 --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
<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 .permission_setting -->
{% if loops.permission_setting|length %}
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<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[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END 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 -->
{% endif %}
</fieldset>
<!-- ENDIF -->
<!-- IF S_PREVIEW -->
{% endif %}
{% if S_PREVIEW %}
<fieldset>
<legend>{L_ACP_PORTAL_WELCOME_PREVIEW}</legend>
<legend>{{ lang('ACP_PORTAL_WELCOME_PREVIEW') }}</legend>
<dl>
<dt style="border: none; width: 100%;">
{PREVIEW_TEXT}
{{ PREVIEW_TEXT }}
</dt>
</dl>
</fieldset>
<!-- ENDIF -->
{% endif %}
<fieldset>
<legend>{L_PORTAL_WELCOME}</legend>
<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>{L_FONT_COLOR}{L_COLON}</label></dt>
<dt style="border: none;"><label>{{ lang('FONT_COLOR') }}{{ lang('COLON') }}</label></dt>
<dd></dd>
</dl>
<dl style="clear: left;">
@@ -158,63 +166,63 @@ function change_palette()
</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="{L_BBCODE_B_HELP}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_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="{L_BBCODE_Q_HELP}" />
<!-- ENDIF -->
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_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="{L_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="{L_BBCODE_W_HELP}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_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="{L_BBCODE_F_HELP}">
<option value="50">{L_FONT_TINY}</option>
<option value="85">{L_FONT_SMALL}</option>
<option value="100" selected="selected">{L_FONT_NORMAL}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
<option value="150">{L_FONT_LARGE}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
<option value="200">{L_FONT_HUGE}</option>
<!-- ENDIF -->
<!-- ENDIF -->
<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="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}" />
<!-- BEGIN 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}" />
<!-- END custom_tags -->
<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">{L_ACP_PORTAL_WELCOME_MESSAGE}{L_COLON}</label><br />
<span>{L_ACP_PORTAL_WELCOME_MESSAGE_EXP}</span>
<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>
<dd><textarea name="welcome_message" id="welcome_message" cols="6" rows="12">{{ WELCOME_MESSAGE }}</textarea></dd>
</dl>
<!-- IF S_AUTH -->
<!-- BEGIN auth_tpl -->
{auth_tpl.TPL}
<!-- END auth_tpl -->
<!-- ENDIF -->
{% 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="{L_PREVIEW}" />&nbsp;
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
<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}
{{ S_FORM_TOKEN }}
</fieldset>
</form>
<!-- INCLUDE overall_footer.html -->
{% INCLUDE 'overall_footer.html' %}

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>

View File

@@ -2,40 +2,46 @@
"name": "board3/portal",
"type": "phpbb-extension",
"description": "Adds a portal with several blocks to your forum. You can change the settings, move the blocks, add new blocks and more in the ACP.",
"homepage": "http://www.board3.de",
"version": "2.1.0",
"time": "2015-08-04 12:49:14",
"license": "GPL-2.0",
"authors": [
{
"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": "http://www.m-a-styles.de",
"role": "Lead Developer"
"homepage": "https://www.m-a-styles.de",
"role": "Developer"
},
{
"name": "Joas Schilling",
"email": "nickvergessen@gmx.de",
"homepage": "http://mods.flying-bits.org",
"homepage": "https://www.schilljs.com/",
"role": "Former Developer"
},
{
"name": "Kirk",
"homepage": "https://reyno41.bplaced.net/phpbb/",
"role": "Developer"
}
],
"require": {
"php": ">=5.3.3",
"marc1706/phpbb-text-shortener": "^0.1.0"
},
"require-dev": {
"phpbb/epv": "dev-master"
"php": ">=7.1.0,<8.3.0",
"marc1706/phpbb-text-shortener": "^0.3.0"
},
"extra": {
"display-name": "Board3 Portal",
"soft-require": {
"phpbb/phpbb": ">=3.1.5,<3.4.*@dev"
"phpbb/phpbb": ">=3.2.6,<3.4@dev"
},
"version-check": {
"host": "www.phpbb.com",
"directory": "/customise/db/extension/board3_portal_ext",
"filename": "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.

View File

@@ -15,7 +15,8 @@ services:
- '@user'
- '@board3.portal.fetch_posts'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.attachments:
class: board3\portal\modules\attachments
arguments:
@@ -29,7 +30,8 @@ services:
- '%core.root_path%'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.birthday_list:
class: board3\portal\modules\birthday_list
arguments:
@@ -38,7 +40,8 @@ services:
- '@dbal.conn'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.calendar:
class: board3\portal\modules\calendar
arguments:
@@ -53,14 +56,16 @@ services:
- '@path_helper'
- '@log'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.clock:
class: board3\portal\modules\clock
arguments:
- '@config'
- '@template'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.custom:
class: board3\portal\modules\custom
arguments:
@@ -73,7 +78,8 @@ services:
- '@user'
- '@log'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.donation:
class: board3\portal\modules\donation
arguments:
@@ -83,7 +89,8 @@ services:
- '@user'
- '@board3.portal.modules_helper'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.forumlist:
class: board3\portal\modules\forumlist
arguments:
@@ -94,7 +101,8 @@ services:
- '%core.php_ext%'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.friends:
class: board3\portal\modules\friends
arguments:
@@ -104,7 +112,8 @@ services:
- '@template'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.latest_bots:
class: board3\portal\modules\latest_bots
arguments:
@@ -113,7 +122,8 @@ services:
- '@template'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.latest_members:
class: board3\portal\modules\latest_members
arguments:
@@ -122,7 +132,8 @@ services:
- '@template'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.leaders:
class: board3\portal\modules\leaders
arguments:
@@ -134,7 +145,8 @@ services:
- '%core.php_ext%'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.link_us:
class: board3\portal\modules\link_us
arguments:
@@ -142,7 +154,8 @@ services:
- '@template'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.links:
class: board3\portal\modules\links
arguments:
@@ -155,7 +168,8 @@ services:
- '@user'
- '@log'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.main_menu:
class: board3\portal\modules\main_menu
arguments:
@@ -168,7 +182,8 @@ services:
- '@user'
- '@log'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.news:
class: board3\portal\modules\news
arguments:
@@ -185,7 +200,8 @@ services:
- '@user'
- '@board3.portal.fetch_posts'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.poll:
class: board3\portal\modules\poll
arguments:
@@ -199,15 +215,19 @@ services:
- '@user'
- '@board3.portal.modules_helper'
tags:
- {name: board3.portal.module}
- { 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}
- { name: board3.portal.module }
board3.portal.module.recent:
class: board3\portal\modules\recent
arguments:
@@ -219,7 +239,8 @@ services:
- '%core.root_path%'
- '%core.php_ext%'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.search:
class: board3\portal\modules\search
arguments:
@@ -227,7 +248,8 @@ services:
- '%core.php_ext%'
- '%core.root_path%'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.statistics:
class: board3\portal\modules\statistics
arguments:
@@ -237,7 +259,8 @@ services:
- '@template'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.stylechanger:
class: board3\portal\modules\stylechanger
arguments:
@@ -248,7 +271,8 @@ services:
- '@request'
- '@user'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.topposters:
class: board3\portal\modules\topposters
arguments:
@@ -258,7 +282,8 @@ services:
- '%core.root_path%'
- '%core.php_ext%'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.user_menu:
class: board3\portal\modules\user_menu
arguments:
@@ -272,7 +297,8 @@ services:
- '%core.root_path%'
- '%core.php_ext%'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.welcome:
class: board3\portal\modules\welcome
arguments:
@@ -283,7 +309,8 @@ services:
- '%core.root_path%'
- '%core.php_ext%'
tags:
- {name: board3.portal.module}
- { name: board3.portal.module }
board3.portal.module.whois_online:
class: board3\portal\modules\whois_online
arguments:
@@ -294,18 +321,5 @@ services:
- '@user'
- '%core.root_path%'
- '%core.php_ext%'
tags:
- {name: board3.portal.module}
board3.portal.module.portal_tl_menu:
class: board3\portal\modules\portal_tl_menu
arguments:
- '@config'
- '@dbal.conn'
- '@request'
- '@template'
- '%core.root_path%'
- '%core.php_ext%'
- '@user'
- '@log'
tags:
- { name: board3.portal.module }

View File

@@ -2,7 +2,14 @@ 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'
_controller: 'board3.portal.main:handle'

View File

@@ -1,6 +1,6 @@
imports:
-
resource: modules.yml
- { resource: modules.yml }
parameters:
board3.portal.config.table: '%core.table_prefix%portal_config'
board3.portal.modules.table: '%core.table_prefix%portal_modules'
@@ -15,40 +15,49 @@ services:
- '@user'
- '@path_helper'
- '%core.root_path%'
- .%core.php_ext%
- '.%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%
- '.%core.php_ext%'
board3.portal.module_collection:
class: phpbb\di\service_collection
arguments:
- '@service_container'
tags:
- {name: service_collection, tag: board3.portal.module}
- { 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:
@@ -58,6 +67,7 @@ services:
- '@dbal.conn'
- '@board3.portal.modules_helper'
- '@user'
board3.portal.listener:
class: board3\portal\event\listener
arguments:
@@ -70,7 +80,8 @@ services:
- '@user'
- '%core.php_ext%'
tags:
- {name: event.listener}
- { name: event.listener }
board3.portal.modules.manager:
class: board3\portal\portal\modules\manager
arguments:
@@ -83,10 +94,12 @@ services:
- '@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:

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -26,6 +26,9 @@ class helper
*/
protected $config;
/** @var \phpbb\language\language */
protected $language;
/**
* Template object
* @var \phpbb\template
@@ -84,6 +87,7 @@ class helper
* @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
@@ -91,11 +95,12 @@ class helper
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
*/
public function __construct($auth, $portal_columns, $config, $template, $user, $path_helper, $portal_helper, $phpbb_root_path, $php_ext)
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;
@@ -206,11 +211,11 @@ class helper
// Load language file from vendor if specified
if (is_array($language_file))
{
$this->user->add_lang_ext($language_file['vendor'], $language_file['file']);
$this->language->add_lang($language_file['file'], $language_file['vendor']);
}
else
{
$this->user->add_lang_ext('board3/portal', 'modules/' . $language_file);
$this->language->add_lang('modules/' . $language_file, 'board3/portal');
}
}
}
@@ -225,6 +230,9 @@ class helper
*/
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(
@@ -235,6 +243,9 @@ class helper
'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
@@ -246,6 +257,9 @@ class helper
'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,
));
}
}
@@ -261,7 +275,7 @@ class helper
$this->check_permission();
// Load language file
$this->user->add_lang_ext('board3/portal', 'portal');
$this->language->add_lang('portal', 'board3/portal');
// Obtain portal config
obtain_portal_config();

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -117,8 +117,11 @@ class main
$this->includes_path = $phpbb_root_path . 'ext/board3/portal/includes/';
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
$portal_root_path = $this->root_path;
define('PORTAL_MODULES_TABLE', $modules_table);
define('PORTAL_CONFIG_TABLE', $config_table);
if (!defined('PORTAL_MODULES_TABLE'))
{
define('PORTAL_MODULES_TABLE', $modules_table);
define('PORTAL_CONFIG_TABLE', $config_table);
}
if (!function_exists('obtain_portal_config'))
{

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -66,7 +66,7 @@ class listener implements EventSubscriberInterface
*
* @return array
*/
static public function getSubscribedEvents()
public static function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_portal_language',
@@ -112,13 +112,18 @@ class listener implements EventSubscriberInterface
*
* @return null
*/
public function add_portal_link()
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');

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'));
}
}

View File

@@ -2,15 +2,15 @@
// @codingStandardsIgnoreFile
/**
*
* @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
* @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
*/
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
@@ -70,10 +70,10 @@ function set_portal_config($config_name, $config_value)
}
/**
* Get portal modules
*
* @return array Portal modules array
*/
* Get portal modules
*
* @return array Portal modules array
*/
function obtain_portal_modules()
{
global $db;
@@ -93,21 +93,6 @@ function obtain_portal_modules()
return $portal_modules;
}
/**
* Fetch post for news & announce
*
* @deprecated 2.1.0-b1 (To be removed: 2.2.0)
*/
function phpbb_fetch_posts($module_id, $forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start = 0, $invert = false)
{
global $phpbb_container;
$fetch_posts = $phpbb_container->get('board3.portal.fetch_posts');
$fetch_posts->set_module_id($module_id);
return $fetch_posts->get_posts($forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start, $invert);
}
/**
* Censor title, return short title
*
@@ -390,7 +375,7 @@ function check_file_src($value, $key, $module_id, $force_error = true)
// 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 />';
$error .= $user->lang('B3P_FILE_NOT_FOUND') . ': styles/all/theme/images/portal/' . $value . '<br />';
}
if (!empty($error))

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -25,6 +25,9 @@ class modules_helper
*/
protected $config;
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\controller\helper Controller helper */
protected $controller_helper;
@@ -34,6 +37,9 @@ class modules_helper
*/
protected $request;
/** @var string Styles table */
protected $styles_table;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
@@ -41,14 +47,18 @@ class modules_helper
* @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, $request)
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;
}
/**
@@ -188,4 +198,44 @@ class modules_helper
$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

@@ -38,7 +38,6 @@ $lang = array_merge($lang, array(
// ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'إعدادات الموديل الخاص',
'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'من هنا تستطيع تخصيص الموديل الخاص',
'ACP_PORTAL_CUSTOM_CODE_SHORT' => 'الكود البرمجي الذي أدخلته غير كافي. يجب زيادة الكود.',
'ACP_PORTAL_CUSTOM_PREVIEW' => 'استعراض',
'ACP_PORTAL_CUSTOM_CODE' => 'المحتوى ',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'أدخل الكود الذي سيظهر في هذا الموديل ( المسموح به هو HTML أو BBCode ).',

View File

@@ -37,7 +37,6 @@ $lang = array_merge($lang, array(
// ACP
'ACP_PORTAL_WELCOME_SETTINGS' => 'إعدادات رسالة الترحيب',
'ACP_PORTAL_WELCOME_MESSAGE_SHORT' => 'الرسالة التي أدخلتها قصيرة جداً.',
'ACP_PORTAL_WELCOME_PREVIEW' => 'استعراض رسالة الترحيب',
'ACP_PORTAL_WELCOME_MESSAGE' => 'رسالة الترحيب ',
'ACP_PORTAL_WELCOME_MESSAGE_EXP' => 'من هنا تستطيع تغيير رسالة الترحيب. أكواد BBCode / الصور / الروابط مسموح بها.',

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

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -47,8 +47,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin geändert: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin gelöscht: %s ',
'LOG_PORTAL_CONFIG' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; %s',
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2.1 - Announcements
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* @package Board3 Portal v2.3 - Announcements
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @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
$lang = array_merge($lang, array(
'LATEST_ANNOUNCEMENTS' => 'Letzte Bekanntmachung',
'GLOBAL_ANNOUNCEMENTS' => 'Global Bekanntmachungen',
'GLOBAL_ANNOUNCEMENTS' => 'Globale Bekanntmachungen',
'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung',
'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung',
'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen',

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Custom
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -37,7 +37,7 @@ $lang = array_merge($lang, array(
// ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'Custom Block Settings',
'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_CODE' => 'Code für den eigenen Block',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'Ändere den Code für deinen eigenen Block (HTML oder BBCode).',

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @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)
*
*/
@@ -33,4 +33,5 @@ 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
$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
/**
*
* @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
* @package Board3 Portal v2.3 - Friends
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @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)
*
*/
@@ -33,5 +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
$lang = array_merge($lang, array(
'LINK_US' => 'Link zu uns ',
'LINK_US_TXT' => 'Benutze bitte diesen Link um <strong>%s</strong> bei dir zu verlinken:',
'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
/**
*
* @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
* @package Board3 Portal v2.3 - Links
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -48,7 +48,7 @@ $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_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_LINKS_NEW_WINDOW' => 'Öffne externe Verknüpfungen in einem neuen Fenster',
'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.',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Welcome
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -36,7 +36,7 @@ $lang = array_merge($lang, array(
// ACP
'ACP_PORTAL_WELCOME_SETTINGS' => 'Einstellungen für die Willkommens-Nachricht',
'ACP_PORTAL_WELCOME_MESSAGE_SHORT' => 'Die eingegebene Nachricht ist nicht lang genug.',
'TOO_FEW_CHARS' => 'Die eingegebene Nachricht ist nicht lang genug.',
'ACP_PORTAL_WELCOME_PREVIEW' => 'Willkommens-Nachricht Vorschau',
'ACP_PORTAL_WELCOME_MESSAGE' => 'Willkommens-Nachricht',
'ACP_PORTAL_WELCOME_MESSAGE_EXP' => 'Du kannst die Willkommens-Nachricht in der Textbox verändern. BBCode, Bilder und Links sind erlaubt.',

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -34,6 +34,6 @@ if (empty($lang) || !is_array($lang))
$lang = array_merge($lang, array(
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen <EFBFBD>ndern',
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -37,4 +37,5 @@ $lang = array_merge($lang, array(
'PORTAL' => 'Portal',
'VIEWING_PORTAL' => 'Betrachtet das Portal',
'BACK' => 'Zurück',
'B3P_WRONG_METHOD_CALL' => 'Falscher Aufruf der Methode %s',
));

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -51,6 +51,7 @@ $lang = array_merge($lang, array(
'MOVE_RIGHT' => 'Nach rechts',
'MOVE_LEFT' => 'Nach links',
'B3P_FILE_NOT_FOUND' => 'Die angegebene Datei konnte nicht gefunden werden',
'UNABLE_TO_ADD_MODULE' => 'Es ist nicht möglich den Block in die gewählte Spalte hinzuzufügen.',
'UNABLE_TO_MOVE' => 'Es ist nicht möglich den Block in die gewählte Spalte zu verschieben.',
'UNABLE_TO_MOVE_ROW' => 'Es ist nicht möglich den Block in die gewählte Reihe zu verschieben.',
'DELETE_MODULE_CONFIRM' => 'Bist du sicher, dass du das Modul "%1$s" löschen möchtest?',
@@ -62,15 +63,15 @@ $lang = array_merge($lang, array(
'MODULE_NAME' => 'Modul Name',
'MODULE_NAME_EXP' => 'Gebe den Namen ein der für das Modul in der Modul Konfiguration angezeigt werden soll.',
'MODULE_IMAGE' => 'Modul Bild',
'MODULE_IMAGE_EXP' => 'Gebe den Dateinamen des Modul Bildes ein. Das Bild muss sich in allen styles/{Dein Style}/theme/images/portal/ Ordnern befinden.',
'MODULE_IMAGE_EXP' => 'Gebe den Dateinamen des Modul Bildes ein. Das Bild muss sich im Verzeichnis styles/all/theme/images/portal/ befinden.',
'MODULE_PERMISSIONS' => 'Modul Berechtigungen',
'MODULE_PERMISSIONS_EXP' => 'Wähle die Gruppen aus, die berechtigt sein sollen, das Modul zu sehen. Sollen alle Benutzer das Modul sehen können, wähle nichts aus.<br />An- / abwählen mehrerer Gruppen indem man <samp>Strg</samp> gedrückt hält und klickt.',
'MODULE_IMAGE_WIDTH' => 'Modul Bild Breite',
'MODULE_IMAGE_WIDTH_EXP' => 'Gebe die breite des Modul Bildes in Pixeln ein',
'MODULE_IMAGE_WIDTH_EXP' => 'Gebe die breite des Modul Bildes in Pixeln ein.<br>Wenn kein Modul Bild gewünscht, gebe <strong>0</strong> als Wert ein.',
'MODULE_IMAGE_HEIGHT' => 'Modul Bild Höhe',
'MODULE_IMAGE_HEIGHT_EXP' => 'Gebe die Höhe des Modul Bildes in Pixeln ein',
'MODULE_IMAGE_HEIGHT_EXP' => 'Gebe die Höhe des Modul Bildes in Pixeln ein.',
'MODULE_RESET' => 'Modul Einstellungen zurücksetzen',
'MODULE_RESET_EXP' => 'Dies wird alle Einstellungen des Moduls auf die Standardeinstellungen zurücksetzen!',
'MODULE_RESET_EXP' => 'Dies wird alle Einstellungen des Moduls auf die Standardeinstellungen zurücksetzen!<br>Aus technischen Gründen muss nach dem Zurücksetzen auf die Standardeinstellungen, das FA Icon erneut eingeben werden!<br>Passende Icons können der <a href="https://github.com/board3/Board3-Portal/wiki#empfohlene-fa-icons--recommended-fa-icons" target="_blank" rel="noopener noreferrer"><strong>Liste empfohlener FA-Icons</strong></a> entnommen werden.',
'MODULE_STATUS' => 'Aktiviere Modul',
'MODULE_ADD_ONCE' => 'Diese Modul kann nur ein Mal hinzugefügt werden.',
'MODULE_IMAGE_ERROR' => 'Während dem Prüfen des Modul Bildes sind ein oder mehrere Fehler aufgetreten:',
@@ -94,7 +95,7 @@ $lang = array_merge($lang, array(
'PORTAL_RIGHT_COLUMN_WIDTH' => 'Breite der rechten Spalte',
'PORTAL_RIGHT_COLUMN_WIDTH_EXP' => 'Ändere hier die Breite der rechten Spalte in Pixel, empfohlener Wert 180',
'PORTAL_DISPLAY_JUMPBOX' => 'Zeige Jumpbox',
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'Die Jumpbox auf dem Portal anzeigen. Die Jumpbox wird nur angezeigt, wenn sie gleichzeitig in den Board-Funktionalitäten aktiviert ist.',
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'Die Jumpbox auf dem Portal anzeigen. Die Jumpbox wird nur angezeigt, wenn sie gleichzeitig unter Server-Konfiguration/Serverlast aktiviert ist.',
'PORTAL_SHOW_ALL_SIDE' => 'Spalte die auf allen Seiten angezeigt werden soll',
'PORTAL_SHOW_ALL_SIDE_EXP' => 'Wähle welche Spalte auf allen seiten des Portals angezeigt werden soll.',
'PORTAL_SHOW_ALL_LEFT' => 'Links',
@@ -106,4 +107,12 @@ $lang = array_merge($lang, array(
// Install
'PORTAL_BASIC_INSTALL' => 'Füge Basismodule hinzu',
'PORTAL_BASIC_UNINSTALL' => 'Entferne Module von Datenbank',
// Font Awesome
'ACP_FA' => 'Font Awesome Styles',
'ACP_FA_EXP' => 'Hier kannst du einstellen welche Styles Font Awesome Icons nutzen sollen.',
'MODULE_FA' => 'Font Awesome Icon',
'MODULE_FA_EXP' => 'Hier kannst du ein <a href="https://fontawesome.com/v4.7.0/icons/" target="_blank" rel="noopener noreferrer"><strong>Font Awesome</strong></a> Icon einstellen. Dieses wird verwendet wenn der Style Font Awesome verwendet.',
'MODULE_FA_SIZE' => 'Font Awesome Icongröße',
'MODULE_FA_SIZE_EXP' => 'Hier kannst du die Größe des Font Awesome Icons einstellen (in Pixel).',
));

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üfen Sie 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

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -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
$lang = array_merge($lang, array(
$lang = array_merge($lang, [
'ACP_PORTAL_MODULES' => 'Portal Module',
'ACP_PORTAL' => 'Portal',
'ACP_PORTAL_GENERAL_INFO' => 'Allgemeine Einstellungen',
@@ -47,8 +47,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin geändert: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; Termin gelöscht: %s ',
'LOG_PORTAL_CONFIG' => '<strong>Portal-Einstellungen geändert</strong><br />&raquo; %s',
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));
]);

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2.1 - Announcements
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* @package Board3 Portal v2.3 - Announcements
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,10 +31,10 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'LATEST_ANNOUNCEMENTS' => 'Letzte Bekanntmachung',
'GLOBAL_ANNOUNCEMENTS' => 'Global Bekanntmachungen',
'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung',
'GLOBAL_ANNOUNCEMENTS' => 'Globale Bekanntmachungen',
'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung',
'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen',
'READ_FULL' => 'alles lesen',
@@ -71,4 +71,4 @@ $lang = array_merge($lang, array(
'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXP' => 'Wenn aktiviert, wird das Archivsystem und ggf. Seitenzahlen angezeigt.',
'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.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Attachments
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'DOWNLOADS' => 'Downloads',
'NO_ATTACHMENTS' => 'Keine Dateianhänge',
'PORTAL_ATTACHMENTS' => 'Dateianhänge-Block',
@@ -51,4 +51,4 @@ $lang = array_merge($lang, array(
'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'Falls "Dateitypen ausschließen" auf "Ja" steht, wählen Sie die Dateitypen die Sie ausschließen möchten.<br />Falls "Dateitypen ausschließen" auf "Nein" steht, wählen Sie die Dateitypen die Sie sehen möchten.<br />Wählen Sie mehrere Foren aus/ab, indem Sie beim Klicken die <samp>Strg</samp>-Taste gedrückt halten.',
'PORTAL_ATTACHMENTS_EXCLUDE' => 'Dateitypen ausschließen',
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'Wählen Sie "Ja" wenn Sie die ausgewählten Dateitypen vom Dateianhänge-Block ausschließen möchten, und "Nein" wenn Sie nur die ausgewählten Dateitypen im Dateianhänge-Block sehen möchten.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Birthday List
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'BIRTHDAYS_AHEAD' => 'In den nächsten %s Tagen',
'NO_BIRTHDAYS_AHEAD' => 'In diesem Zeitraum hat kein Mitglied Geburtstag',
@@ -41,4 +41,4 @@ $lang = array_merge($lang, array(
'PORTAL_BIRTHDAYS' => 'Geburtstage',
'PORTAL_BIRTHDAYS_AHEAD' => 'Anstehende 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
/**
*
* @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
* @package Board3 Portal v2.3 - Calendar
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_CALENDAR' => 'Kalender',
'VIEW_NEXT_MONTH' => 'nächster Monat',
'VIEW_PREVIOUS_MONTH' => 'voriger Monat',
@@ -44,8 +44,8 @@ $lang = array_merge($lang, array(
'UPCOMING_EVENTS' => 'Bevorstehende Veranstaltungen',
'NO_UPCOMING_EVENTS' => 'Keine bevorstehenden Veranstaltungen',
'mini_cal' => array(
'day' => array(
'mini_cal' => [
'day' => [
'1' => 'So',
'2' => 'Mo',
'3' => 'Di',
@@ -53,9 +53,9 @@ $lang = array_merge($lang, array(
'5' => 'Do',
'6' => 'Fr',
'7' => 'Sa',
),
],
'month' => array(
'month' => [
'1' => 'Jan.',
'2' => 'Feb.',
'3' => 'Mär.',
@@ -68,9 +68,9 @@ $lang = array_merge($lang, array(
'10'=> 'Okt.',
'11'=> 'Nov.',
'12'=> 'Dez.',
),
],
'long_month'=> array(
'long_month'=> [
'1' => 'Januar',
'2' => 'Februar',
'3' => 'März',
@@ -83,8 +83,8 @@ $lang = array_merge($lang, array(
'10'=> 'Oktober',
'11'=> 'November',
'12'=> 'Dezember',
),
),
],
],
// ACP
'ACP_PORTAL_CALENDAR' => 'Kalender Einstellungen',
@@ -128,4 +128,4 @@ $lang = array_merge($lang, array(
'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_REMOVED' => '<strong>Veranstaltung entfernt</strong><br />&raquo; %s',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Clock
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'CLOCK' => 'Uhr',
// ACP
@@ -39,4 +39,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CLOCK_SETTINGS_EXP' => 'Hier können Sie die Einstellungen für die Uhr ändern',
'ACP_PORTAL_CLOCK_SRC' => 'Uhr',
'ACP_PORTAL_CLOCK_SRC_EXP' => 'Geben Sie 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
/**
*
* @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
* @package Board3 Portal v2.3 - Custom
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,13 +31,13 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_CUSTOM' => 'Eigener Block',
// ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'Custom Block Settings',
'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_CODE' => 'Code für den eigenen Block',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'Änderen Sie den Code für Ihre eigenen Block (HTML oder BBCode).',
@@ -45,4 +45,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CUSTOM_PERMISSION_EXP' => 'Wählen Sie die Gruppen aus, die den eigenen Block sehen dürfen. <br />Wählen Sie mehrere Gruppen aus/ab, indem Sie beim Klicken die <samp>Strg</samp>-Taste gedrückt halten.',
'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.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Donation
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'DONATION' => 'PayPal-Spenden',
'DONATION_TEXT' => 'ist eine Webseite ohne jedes Gewinninteresse. Jeder der dieses Projekt unterstützen möchte, kann dies mit einer kleinen PayPal-Spende tun, damit die Rechnungen für den Server, die Domain, etc. bezahlt werden können.',
'PAY_MSG' => 'Betrag bitte mit Punkt statt Komma trennen, z.B. 3.50',
@@ -64,4 +64,4 @@ $lang = array_merge($lang, array(
'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

@@ -1,9 +1,9 @@
<?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
* @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)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,6 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'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
/**
*
* @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
* @package Board3 Portal v2.3 - Friends
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'FRIENDS' => 'Freunde',
'FRIENDS_OFFLINE' => 'Offline',
'FRIENDS_ONLINE' => 'Online',
@@ -44,4 +44,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_FRIENDS_SETTINGS_EXP' => 'Hier können Sie die Einstellungen für den Freunde-Block ändern.',
'PORTAL_MAX_ONLINE_FRIENDS' => 'Limitierung der Anzeige Freunde online',
'PORTAL_MAX_ONLINE_FRIENDS_EXP' => 'Limitiert die Anzeige Freunde online auf den angegebenen Wert.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Latest Bots
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'LATEST_BOTS' => 'Letzte Bots',
'LAST_VISITED_BOTS' => 'Die letzten Bots',
@@ -40,4 +40,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_BOTS_SETTINGS_EXP' => 'Hier können Sie die Einstellungen für Bot-Besuche ändern.',
'PORTAL_LAST_VISITED_BOTS_NUMBER' => 'Anzahl der anzuzeigenden Bots',
'PORTAL_LAST_VISITED_BOTS_NUMBER_EXP' => '0 bedeutet unbegrenzt',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Latest Members
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'LATEST_MEMBERS' => 'Neue Mitglieder',
// ACP
@@ -39,4 +39,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_MEMBERS_SETTINGS_EXP' => 'Hier können Sie die Einstellungen für neue Mitglieder ändern.',
'PORTAL_MAX_LAST_MEMBER' => 'Anzahl der anzuzeigenden Mitglieder',
'PORTAL_MAX_LAST_MEMBER_EXP' => '0 bedeutet unbegrenzt',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Leaders
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'NO_ADMINISTRATORS_P' => 'Keine Administratoren',
'NO_MODERATORS_P' => 'Keine Moderatoren',
'NO_GROUPS_P' => 'Keine Gruppen',
@@ -42,4 +42,4 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_LEADERS_EXP' => 'Hier können Sie den Team-Block anpassen',
'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.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @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)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,9 @@ if (empty($lang) || !is_array($lang))
// 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_TXT' => 'Benutzen Sie bitte diesen Link um <strong>%s</strong> bei Ihnen zu verlinken:',
));
$lang = array_merge($lang, [
'LINK_US' => 'Link zu uns ',
'LINK_US_HTML' => 'HTML',
'LINK_US_BBCODE' => 'BBCode',
'LINK_US_TXT' => 'Benutze Sie bitte diese Links um <em><strong>"%s"</strong></em> bei Ihnen zu verlinken:',
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Links
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_LINKS' => 'Links',
'LINKS_NO_LINKS' => 'Keine Links vorhanden',
@@ -48,9 +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 />Geben Sie nur die PHP Datei als Link URL ein, z.B. index.php?style=4.',
'ACP_PORTAL_LINK_PERMISSION' => 'Link Berechtigungen',
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'Wählen Sie die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wählen Sie nichts aus.<br />Wählen Sie mehrere Gruppen aus/ab indem Sie <samp>STRG</samp> gedrückt halten und klicken.',
'ACP_PORTAL_LINKS_NEW_WINDOW' => 'Öffne externe Verknüpfungen in einem neuen Fenster',
'ACP_PORTAL_LINKS_NEW_WINDOW' => 'Öffne externe Verknüpfungen in einem neuen Fenster/Tab',
// Errors
'NO_LINK_TITLE' => 'Sie müssen einen Titel für diesen Link angeben.',
'NO_LINK_URL' => 'Sie müssen eine Link URL eingeben.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Main Menu
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'M_MENU' => 'Menü',
'M_CONTENT' => 'Inhalt',
'M_ACP' => 'Administrations-Bereich',
@@ -66,4 +66,4 @@ $lang = array_merge($lang, array(
// Errors
'NO_LINK_TITLE' => 'Sie müssen einen Titel für diesen Link angeben.',
'NO_LINK_URL' => 'Sie müssen eine Link URL eingeben.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - News
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'LATEST_NEWS' => 'Aktuelle Beiträge',
'READ_FULL' => 'alles lesen',
'NO_NEWS' => 'Keine neuen Beiträge',
@@ -67,4 +67,4 @@ $lang = array_merge($lang, array(
'PORTAL_NEWS_ARCHIVE_EXP' => 'Wenn aktiviert, wird das Archivsystem und ggf. Seitenzahlen angezeigt.',
'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.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Poll
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_POLL' => 'Umfrage',
'LATEST_POLLS' => 'Neueste Umfragen',
'NO_OPTIONS' => 'Diese Umfrage verfügt über keine Optionen.',
@@ -50,4 +50,4 @@ $lang = array_merge($lang, array(
'PORTAL_POLL_ALLOW_VOTE' => 'Abstimmen erlauben',
'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?',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Random Member
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,11 +31,11 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_RANDOM_MEMBER' => 'Zufälliges Profil',
'RND_JOIN' => 'Registriert',
'RND_POSTS' => 'Beiträge',
'RND_OCC' => 'Tätigkeit',
'RND_FROM' => 'Wohnort',
'RND_WWW' => 'Webseite',
));
]);

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2.1 - Recent Module
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* @package Board3 Portal v2.3 - Recent Module
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_RECENT' => 'Aktuelles',
'PORTAL_RECENT_TOPIC' => 'Aktuelle Themen',
'PORTAL_RECENT_ANN' => 'Aktuelle Bekanntmachungen',
@@ -48,4 +48,4 @@ $lang = array_merge($lang, array(
'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ählen Sie die Foren die Sie ausschließen möchten.<br />Falls "Foren ausschließen" auf "Nein" steht, wählen Sie die Foren die Sie sehen möchten.<br />Wählen Sie mehrere Foren aus/ab, indem Sie beim Klicken die <samp>Strg</samp>-Taste gedrückt halten.',
'PORTAL_EXCLUDE_FORUM' => 'Foren ausschließen',
'PORTAL_EXCLUDE_FORUM_EXP' => 'Wählen Sie "Ja" wenn Sie die ausgewählten Foren vom Aktuelle Themen-Block ausschließen möchten, und "Nein" wenn Sie nur die Themen aus den ausgewählten Foren im Aktuelle Themen-Block sehen möchten.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Search
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_SEARCH' => 'Suche',
'PORTAL_SEARCH_GO' => 'Los',
'PORTAL_SEARCH_SITE' => 'Foren',
@@ -39,4 +39,4 @@ $lang = array_merge($lang, array(
'PORTAL_SEARCH_AUTHOR' => 'Autor',
'PORTAL_SEARCH_ENGINE' => 'Suchmaschinen',
'PORTAL_SEARCH_ADV' => 'Erweiterte Suche',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Statistics
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'ST_TOP' => 'Insgesamt',
'ST_TOP_ANNS' => 'Bekanntmachungen insgesamt:',
'ST_TOP_STICKYS' => 'Wichtig insgesamt:',
@@ -48,4 +48,4 @@ $lang = array_merge($lang, array(
'POSTS_PER_USER_ZERO' => 'Beiträge pro Benutzer: <strong>0</strong>',
'POSTS_PER_TOPIC_OTHER' => 'Beiträge pro Thema: <strong>%d</strong>',
'POSTS_PER_TOPIC_ZERO' => 'Beiträge pro Thema: <strong>0</strong>',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Stylechanger
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'BOARD_STYLE' => 'Ihr Board-Style',
'STYLE_CHOOSE' => 'Wählen Sie einen Style',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Topposters
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,11 +31,11 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'TOPPOSTERS' => 'Top Poster',
'TOPPOSTERS_CONFIG' => 'Einstellungen zu Top Poster',
// ACP
'NUM_TOPPOSTERS' => 'Anzahl der Top Poster',
'NUM_TOPPOSTERS_EXP' => 'Geben Sie die Anzahl der Benutzer an, die im Top Poster Block angezeigt werden sollen.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - User Menu
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'USER_MENU' => 'Benutzer-Menü',
'UM_LOG_ME_IN' => 'Mich bei jedem Besuch automatisch anmelden',
'UM_HIDE_ME' => 'Meinen Online-Status während dieser Sitzung verbergen',
@@ -42,4 +42,4 @@ $lang = array_merge($lang, array(
'M_ACP' => 'Administrations-Bereich',
'USER_MENU_SETTINGS' => 'Benutzer-Menü Einstellungen',
'USER_MENU_REGISTER' => 'Zeige Registrierungs-Link in Benutzer-Menü',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Welcome
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,13 +31,13 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_WELCOME' => 'Willkommen',
// ACP
'ACP_PORTAL_WELCOME_SETTINGS' => 'Einstellungen für die Willkommens-Nachricht',
'ACP_PORTAL_WELCOME_MESSAGE_SHORT' => 'Die eingegebene Nachricht ist nicht lang genug.',
'TOO_FEW_CHARS' => 'Die eingegebene Nachricht ist nicht lang genug.',
'ACP_PORTAL_WELCOME_PREVIEW' => 'Willkommens-Nachricht Vorschau',
'ACP_PORTAL_WELCOME_MESSAGE' => 'Willkommens-Nachricht',
'ACP_PORTAL_WELCOME_MESSAGE_EXP' => 'Sie können die Willkommens-Nachricht in der Textbox verändern. BBCode, Bilder und Links sind erlaubt.',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Who is online
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,6 +31,6 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
'PORTAL_WHOIS_ONLINE' => 'Wer ist online?',
));
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -32,8 +32,8 @@ if (empty($lang) || !is_array($lang))
// 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(
$lang = array_merge($lang, [
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));
]);

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2.1
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -33,8 +33,9 @@ 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
// Common
$lang = array_merge($lang, array(
'PORTAL' => 'Portal',
'VIEWING_PORTAL' => 'Betrachtet das Portal',
'BACK' => 'Zurück',
));
$lang = array_merge($lang, [
'PORTAL' => 'Portal',
'VIEWING_PORTAL' => 'Betrachtet das Portal',
'BACK' => 'Zurück',
'B3P_WRONG_METHOD_CALL' => 'Falscher Aufruf der Methode %s',
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -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
$lang = array_merge($lang, array(
$lang = array_merge($lang, [
// Portal Module
'ACP_PORTAL_MODULES_EXP' => 'Sie können Ihre Portal Module hier verwalten. Falls Sie alle Module deaktivieren, dann deaktivieren Sie bitte auch das Portal.',
@@ -53,6 +53,7 @@ $lang = array_merge($lang, array(
'B3P_FILE_NOT_FOUND' => 'Die angegebene Datei konnte nicht gefunden werden',
'UNABLE_TO_MOVE' => 'Es ist nicht möglich den Block in die gewählte Spalte zu verschieben.',
'UNABLE_TO_MOVE_ROW' => 'Es ist nicht möglich den Block in die gewählte Reihe zu verschieben.',
'UNABLE_TO_ADD_MODULE' => 'Es ist nicht möglich den Block in die gewählte Spalte hinzuzufügen.',
'DELETE_MODULE_CONFIRM' => 'Sind Sie sicher, dass Sie das Modul "%1$s" löschen möchtest?',
'MODULE_RESET_SUCCESS' => 'Modul Einstellungen erfolgreich zurückgesetzt.',
'MODULE_RESET_CONFIRM' => 'Sind Sie sicher, dass Sie diese Einstellungen des Moduls "%1$s" zurücksetzen möchten?',
@@ -62,15 +63,15 @@ $lang = array_merge($lang, array(
'MODULE_NAME' => 'Modul Name',
'MODULE_NAME_EXP' => 'Geben Sie hier den Namen ein der für das Modul in der Modul Konfiguration angezeigt werden soll.',
'MODULE_IMAGE' => 'Modul Bild',
'MODULE_IMAGE_EXP' => 'Geben Sie hier den Dateinamen des Modul Bildes ein. Das Bild muss sich in allen styles/{Dein Style}/theme/images/portal/ Ordnern befinden.',
'MODULE_IMAGE_EXP' => 'Geben Sie hier den Dateinamen des Modul Bildes ein. Das Bild muss sich im Verzeichnis styles/all/theme/images/portal/ befinden.',
'MODULE_PERMISSIONS' => 'Modul Berechtigungen',
'MODULE_PERMISSIONS_EXP' => 'Wählen Sie die Gruppen aus, die berechtigt sein sollen, das Modul zu sehen. Sollen alle Benutzer das Modul sehen können, wählen Sie nichts aus.<br />An- / abwählen mehrerer Gruppen indem man <samp>Strg</samp> gedrückt hält und klickt.',
'MODULE_IMAGE_WIDTH' => 'Modul Bild Breite',
'MODULE_IMAGE_WIDTH_EXP' => 'Geben Sie hier die Breite des Modul Bildes in Pixeln ein',
'MODULE_IMAGE_WIDTH_EXP' => 'Geben Sie hier die Breite des Modul Bildes in Pixeln ein.<br>Wenn kein Modul Bild gewünscht, geben Sie <strong>0</strong> als Wert ein.',
'MODULE_IMAGE_HEIGHT' => 'Modul Bild Höhe',
'MODULE_IMAGE_HEIGHT_EXP' => 'Geben Sie hier die Höhe des Modul Bildes in Pixeln ein',
'MODULE_IMAGE_HEIGHT_EXP' => 'Geben Sie hier die Höhe des Modul Bildes in Pixeln ein.',
'MODULE_RESET' => 'Modul Einstellungen zurücksetzen',
'MODULE_RESET_EXP' => 'Dies wird alle Einstellungen des Moduls auf die Standardeinstellungen zurücksetzen!',
'MODULE_RESET_EXP' => 'Dies wird alle Einstellungen des Moduls auf die Standardeinstellungen zurücksetzen!<br>Aus technischen Gründen muss nach dem Zurücksetzen auf die Standardeinstellungen, das FA Icon erneut eingeben werden!<br>Passende Icons können der <a href="https://github.com/board3/Board3-Portal/wiki#empfohlene-fa-icons--recommended-fa-icons" target="_blank" rel="noopener noreferrer"><strong>Liste empfohlener FA-Icons</strong></a> entnommen werden.',
'MODULE_STATUS' => 'Aktiviere Modul',
'MODULE_ADD_ONCE' => 'Diese Modul kann nur ein Mal hinzugefügt werden.',
'MODULE_IMAGE_ERROR' => 'Während dem Prüfen des Modul Bildes sind ein oder mehrere Fehler aufgetreten:',
@@ -94,7 +95,7 @@ $lang = array_merge($lang, array(
'PORTAL_RIGHT_COLUMN_WIDTH' => 'Breite der rechten Spalte',
'PORTAL_RIGHT_COLUMN_WIDTH_EXP' => 'Änderen Sie hier die Breite der rechten Spalte in Pixel, empfohlener Wert 180',
'PORTAL_DISPLAY_JUMPBOX' => 'Zeige Jumpbox',
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'Die Jumpbox auf dem Portal anzeigen. Die Jumpbox wird nur angezeigt, wenn sie gleichzeitig in den Board-Funktionalitäten aktiviert ist.',
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'Die Jumpbox auf dem Portal anzeigen. Die Jumpbox wird nur angezeigt, wenn sie gleichzeitig unter Server-Konfiguration/Serverlast aktiviert ist.',
'PORTAL_SHOW_ALL_SIDE' => 'Spalte die auf allen Seiten angezeigt werden soll',
'PORTAL_SHOW_ALL_SIDE_EXP' => 'Wählen Sie aus welche Spalte auf allen seiten des Portals angezeigt werden soll.',
'PORTAL_SHOW_ALL_LEFT' => 'Links',
@@ -106,4 +107,12 @@ $lang = array_merge($lang, array(
// Install
'PORTAL_BASIC_INSTALL' => 'Füge Basismodule hinzu',
'PORTAL_BASIC_UNINSTALL' => 'Entferne Module von Datenbank',
));
// Font Awesome
'ACP_FA' => 'Font Awesome Styles',
'ACP_FA_EXP' => 'Hier können Sie einstellen welche Styles Font Awesome Icons nutzen sollen.',
'MODULE_FA' => 'Font Awesome Icon',
'MODULE_FA_EXP' => 'Hier können Sie ein <a href="https://fontawesome.com/v4.7.0/icons/" target="_blank" rel="noopener noreferrer"><strong>Font Awesome</strong></a> Icon einstellen. Dieses wird verwendet wenn der Style Font Awesome verwendet.',
'MODULE_FA_SIZE' => 'Font Awesome Icongröße',
'MODULE_FA_SIZE_EXP' => 'Hier können Sie die Größe des Font Awesome Icons einstellen (in Pixel).',
]);

View File

@@ -1,9 +1,9 @@
<?php
/**
*
* @package Board3 Portal v2 - Link Us
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -17,7 +17,7 @@ if (!defined('IN_PHPBB'))
if (empty($lang) || !is_array($lang))
{
$lang = array();
$lang = [];
}
// DEVELOPERS PLEASE NOTE
@@ -31,6 +31,10 @@ if (empty($lang) || !is_array($lang))
// 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(
'TL_MENU' => 'Tipprunde ',
));
$lang = array_merge($lang, [
'BOARD3_PORTAL' => 'Board3 Portal',
'ERROR_B3P_EXTENSION_NOT_ENABLEABLE' => 'The extension „%s“ cannot be enabled, please verify the extensions requirements.',
'ERROR_B3P_MSG_PHPBB_WRONG_VERSION' => 'Minimum phpBB %1$s but less than %2$s',
'ERROR_B3P_MSG_PHP_WRONG_VERSION' => 'Minimum PHP %1$s but less than %2$s',
]);

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -46,8 +46,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Altered Portal settings</strong><br />&raquo; Event updated: %s ',
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Altered Portal settings</strong><br />&raquo; Event removed: %s ',
'LOG_PORTAL_CONFIG' => '<strong>Altered Portal settings</strong><br />&raquo; %s',
// Adding the permissions
'ACL_A_MANAGE_PORTAL' => 'Can alter Portal settings',
'ACL_U_VIEW_PORTAL' => 'Can view the Portal',
));

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @package Board3 Portal v2.3 - Custom
* @copyright (c) 2023 Board3 Group ( www.board3.de )
* @license GNU General Public License, version 2 (GPL-2.0-only)
*
*/
@@ -37,7 +37,7 @@ $lang = array_merge($lang, array(
// ACP
'ACP_PORTAL_CUSTOM_SETTINGS' => 'Custom Block Settings',
'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'Here you can edit your custom block',
'ACP_PORTAL_CUSTOM_CODE_SHORT' => 'The code you entered is not long enough.',
'TOO_FEW_CHARS' => 'The code you entered is not long enough.',
'ACP_PORTAL_CUSTOM_PREVIEW' => 'Preview',
'ACP_PORTAL_CUSTOM_CODE' => 'Custom Block Code',
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'Change the code for the small custom block (HTML or BBCode) here.',

View File

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

View File

@@ -1,9 +1,9 @@
<?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
* @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)
*
*/
@@ -33,4 +33,5 @@ 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
$lang = array_merge($lang, array(
'PORTAL_FORUMLIST' => 'Forumlist',
'PORTAL_FORUMLIST_EXP' => '<span style="color: #BC2A4D;">A module image or font awesome icon can<61>t be displayed in this module!</span>',
));

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