Compare commits
1 Commits
release-3.
...
olympus_me
Author | SHA1 | Date | |
---|---|---|---|
|
1ef96b504d |
19
.gitignore
vendored
@@ -1,19 +0,0 @@
|
||||
*~
|
||||
/phpunit.xml
|
||||
/phpBB/cache/twig/*
|
||||
/phpBB/cache/*.html
|
||||
/phpBB/cache/*.php
|
||||
/phpBB/cache/*.lock
|
||||
/phpBB/composer.phar
|
||||
/phpBB/config.php
|
||||
/phpBB/config_dev.php
|
||||
/phpBB/config_test.php
|
||||
/phpBB/ext/*
|
||||
/phpBB/files/*
|
||||
/phpBB/images/avatars/gallery/*
|
||||
/phpBB/images/avatars/upload/*
|
||||
/phpBB/store/*
|
||||
/phpBB/vendor
|
||||
/tests/phpbb_unit_tests.sqlite2
|
||||
/tests/test_config.php
|
||||
/tests/tmp/*
|
43
.travis.yml
@@ -1,43 +0,0 @@
|
||||
language: php
|
||||
php:
|
||||
- 5.3.3
|
||||
- 5.3
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- hhvm
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
|
||||
services:
|
||||
- redis-server
|
||||
|
||||
install:
|
||||
- sh -c "if [ '$DB' = 'mariadb' ]; then travis/setup-mariadb.sh; fi"
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' != 'hhvm' ]; then travis/setup-php-extensions.sh; fi"
|
||||
- sh -c "if [ `php -r "echo (int) version_compare(PHP_VERSION, '5.3.19', '>=');"` = "1" ]; then travis/setup-webserver.sh; fi"
|
||||
- cd phpBB
|
||||
- php ../composer.phar install --dev --no-interaction --prefer-source
|
||||
- cd ..
|
||||
|
||||
before_script:
|
||||
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'DROP DATABASE IF EXISTS phpbb_tests;' -U postgres; fi"
|
||||
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database phpbb_tests;' -U postgres; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' -o '$DB' = 'mariadb' ]; then mysql -e 'create database IF NOT EXISTS phpbb_tests;'; fi"
|
||||
|
||||
script:
|
||||
- cd build
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysql' ]; then ../phpBB/vendor/bin/phing sniff; fi"
|
||||
- cd ..
|
||||
- phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.5' -a '$DB' = 'mysql' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; fi"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 5.4
|
||||
env: DB=mariadb
|
||||
- php: 5.4
|
||||
env: DB=postgres
|
||||
allow_failures:
|
||||
- php: hhvm
|
34
README.md
@@ -1,34 +0,0 @@
|
||||
[](http://www.phpbb.com)
|
||||
|
||||
## ABOUT
|
||||
|
||||
phpBB is a free bulletin board written in PHP.
|
||||
|
||||
## COMMUNITY
|
||||
|
||||
Find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the development on [area51](http://area51.phpbb.com/phpBB/index.php).
|
||||
|
||||
## INSTALLING DEPENDENCIES
|
||||
|
||||
To be able to run an installation from the repo (and not from a pre-built package) you need to run the following commands to install phpBB's dependencies.
|
||||
|
||||
cd phpBB
|
||||
php ../composer.phar install --dev
|
||||
|
||||
|
||||
## CONTRIBUTE
|
||||
|
||||
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
|
||||
2. [Create a ticket (unless there already is one)](http://tracker.phpbb.com/secure/CreateIssue!default.jspa)
|
||||
3. [Read our Git Contribution Guidelines](http://wiki.phpbb.com/Git); if you're new to git, also read [the introduction guide](http://wiki.phpbb.com/display/DEV/Working+with+Git)
|
||||
4. Send us a pull request
|
||||
|
||||
## AUTOMATED TESTING
|
||||
|
||||
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](http://bamboo.phpbb.com) or check our travis build below.
|
||||
develop - [](http://travis-ci.org/phpbb/phpbb)
|
||||
develop-olympus - [](http://travis-ci.org/phpbb/phpbb)
|
||||
|
||||
## LICENSE
|
||||
|
||||
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)
|
296
build/build.xml
@@ -1,296 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.1.0-b1" />
|
||||
<property name="prevversion" value="3.1.0-a3" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
<property name="versions" value="${oldversions}, ${newversion}" />
|
||||
|
||||
<!-- These are the main targets which you will probably want to use -->
|
||||
<target name="all" depends="clean,prepare,composer,test,docs,package" />
|
||||
<target name="build" depends="clean,prepare,composer,test,docs" />
|
||||
|
||||
<target name="prepare">
|
||||
<mkdir dir="build/logs" />
|
||||
<mkdir dir="build/api" />
|
||||
<mkdir dir="build/codebrowser" />
|
||||
<mkdir dir="build/coverage" />
|
||||
<mkdir dir="build/cpd" />
|
||||
<mkdir dir="build/dependencies" />
|
||||
<mkdir dir="build/new_version" />
|
||||
<mkdir dir="build/new_version/files" />
|
||||
<mkdir dir="build/new_version/patches" />
|
||||
<mkdir dir="build/new_version/release_files" />
|
||||
<mkdir dir="build/new_version/update" />
|
||||
<mkdir dir="build/old_versions" />
|
||||
<mkdir dir="build/save" />
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="build/logs" />
|
||||
<delete dir="build/api" />
|
||||
<delete dir="build/codebrowser" />
|
||||
<delete dir="build/coverage" />
|
||||
<delete dir="build/cpd" />
|
||||
<delete dir="build/dependencies" />
|
||||
<delete dir="build/new_version" />
|
||||
<delete dir="build/old_versions" />
|
||||
<delete dir="build/save" />
|
||||
</target>
|
||||
|
||||
<!--
|
||||
This target basically just runs composer in the phpBB tree to ensure
|
||||
all dependencies are loaded. Additional development dependencies are
|
||||
loaded because testing framework may depend on them.
|
||||
-->
|
||||
<target name="composer">
|
||||
<exec dir="phpBB"
|
||||
command="php ../composer.phar install --dev"
|
||||
checkreturn="true"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
<target name="test" depends="clean,prepare,composer">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/phpunit
|
||||
--log-junit build/logs/phpunit.xml
|
||||
--coverage-clover build/logs/clover.xml
|
||||
--coverage-html build/coverage"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
<target name="test-slow" depends="clean,prepare,composer">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/phpunit
|
||||
--log-junit build/logs/phpunit.xml
|
||||
--configuration phpunit.xml.all
|
||||
--group slow
|
||||
--coverage-clover build/logs/clover-slow.xml
|
||||
--coverage-html build/coverage-slow"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
<target name="sniff">
|
||||
<exec command="phpBB/vendor/bin/phpcs
|
||||
-s
|
||||
--extensions=php
|
||||
--standard=build/code_sniffer/ruleset-php-strict.xml
|
||||
--ignore=phpBB/phpbb/db/migration/data/v30x/*
|
||||
phpBB/phpbb"
|
||||
dir="." returnProperty="retval-php-strict" passthru="true" />
|
||||
<exec command="phpBB/vendor/bin/phpcs
|
||||
-s
|
||||
--extensions=php
|
||||
--standard=build/code_sniffer/ruleset-php-legacy.xml
|
||||
--ignore=phpBB/cache/*
|
||||
--ignore=phpBB/develop/*
|
||||
--ignore=phpBB/includes/diff/*.php
|
||||
--ignore=phpBB/includes/sphinxapi.php
|
||||
--ignore=phpBB/includes/utf/data/*
|
||||
--ignore=phpBB/install/data/*
|
||||
--ignore=phpBB/install/database_update.php
|
||||
--ignore=phpBB/phpbb/*
|
||||
--ignore=phpBB/vendor/*
|
||||
phpBB"
|
||||
dir="." returnProperty="retval-php-legacy" passthru="true" />
|
||||
<if>
|
||||
<or>
|
||||
<not><equals arg1="${retval-php-strict}" arg2="0" /></not>
|
||||
<not><equals arg1="${retval-php-legacy}" arg2="0" /></not>
|
||||
</or>
|
||||
<then>
|
||||
<fail message="PHP Code Sniffer failed." />
|
||||
</then>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="docs">
|
||||
<!-- only works if you setup phpdoctor:
|
||||
git clone https://github.com/peej/phpdoctor.git
|
||||
and then create an executable phpdoctor in your path containing
|
||||
#!/bin/sh
|
||||
php -f /path/to/phpdoctor/phpdoc.php $@
|
||||
-->
|
||||
<exec dir="build"
|
||||
command="phpdoctor phpdoc-phpbb.ini"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
<target name="old-version-diffs">
|
||||
<foreach list="${oldversions}" param="version" target="old-version-diff" />
|
||||
</target>
|
||||
|
||||
<!-- This target retrieves an old version from the git tag release-${version}
|
||||
and creates a diff between that release and the new one -->
|
||||
<target name="old-version-diff">
|
||||
<echo msg="Retrieving version ${version}" />
|
||||
<mkdir dir="build/old_versions/release-${version}" />
|
||||
|
||||
<phingcall target="export">
|
||||
<property name="revision" value="release-${version}" />
|
||||
<property name="dir" value="build/old_versions/release-${version}" />
|
||||
</phingcall>
|
||||
|
||||
<phingcall target="clean-diff-dir">
|
||||
<property name="dir" value="build/old_versions/release-${version}" />
|
||||
</phingcall>
|
||||
|
||||
<exec dir="build/old_versions" command="LC_ALL=C diff -crNEBwd release-${version} release-${newversion} >
|
||||
../new_version/patches/phpBB-${version}_to_${newversion}.patch" escape="false" />
|
||||
</target>
|
||||
|
||||
<target name="prepare-new-version">
|
||||
<!-- select the currently checked out commit (HEAD) for packaging -->
|
||||
<mkdir dir="build/new_version/phpBB3" />
|
||||
<phingcall target="export">
|
||||
<property name="revision" value="HEAD" />
|
||||
<property name="dir" value="build/new_version/phpBB3" />
|
||||
</phingcall>
|
||||
|
||||
<!-- copy into directory for diffs -->
|
||||
<exec dir="build" command="cp -rp new_version/phpBB3 old_versions/release-${newversion}" />
|
||||
<!-- and clean up -->
|
||||
<phingcall target="clean-diff-dir">
|
||||
<property name="dir" value="build/old_versions/release-${newversion}" />
|
||||
</phingcall>
|
||||
|
||||
<!-- create an empty config.php file (not for diffs) -->
|
||||
<touch file="build/new_version/phpBB3/config.php" />
|
||||
|
||||
</target>
|
||||
|
||||
<target name="package" depends="clean,prepare,prepare-new-version,old-version-diffs">
|
||||
<exec dir="build" command="php -f package.php '${versions}' > logs/package.log" escape="false" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/language new_version/phpBB3/language >
|
||||
save/phpbb-${prevversion}_to_${newversion}_language.patch" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/styles/prosilver new_version/phpBB3/styles/prosilver >
|
||||
save/phpbb-${prevversion}_to_${newversion}_prosilver.patch" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/styles/subsilver2 new_version/phpBB3/styles/subsilver2 >
|
||||
save/phpbb-${prevversion}_to_${newversion}_subsilver2.patch" />
|
||||
|
||||
<exec dir="build" escape="false"
|
||||
command="git shortlog --summary --numbered release-${prevversion}...HEAD >
|
||||
save/phpbb-${prevversion}_to_${newversion}_git_shortlog.txt" />
|
||||
<exec dir="build" escape="false"
|
||||
command="git diff --stat release-${prevversion}...HEAD >
|
||||
save/phpbb-${prevversion}_to_${newversion}_git_diffstat.txt" />
|
||||
|
||||
<phingcall target="checksum-dir">
|
||||
<property name="dir" value="build/new_version/release_files" />
|
||||
</phingcall>
|
||||
</target>
|
||||
|
||||
<target name="checksum-dir">
|
||||
<foreach param="filename" absparam="absfilename" target="checksum-file">
|
||||
<fileset dir="${dir}">
|
||||
<type type="file" />
|
||||
</fileset>
|
||||
</foreach>
|
||||
</target>
|
||||
|
||||
<target name="checksum-file">
|
||||
<echo msg="Creating checksum file for ${absfilename}" />
|
||||
<php function="dirname" returnProperty="dir"><param value="${absfilename}"/></php>
|
||||
<exec dir="${dir}" command="sha256sum ${filename} > ${filename}.sha256" />
|
||||
</target>
|
||||
|
||||
<target name="announcement" depends="prepare">
|
||||
<echo msg="Writing download links and checksums for email announcement to save/announcement_email_${newversion}.txt" />
|
||||
<exec dir="build" escape="false"
|
||||
command="php -f build_announcement.php email '${newversion}' 'new_version/release_files' sha256 >
|
||||
save/announcement_email_${newversion}.txt" />
|
||||
|
||||
<echo msg="Writing download links and checksums for bbcode announcement to save/announcement_bbcode_${newversion}.txt" />
|
||||
<exec dir="build" escape="false"
|
||||
command="php -f build_announcement.php bbcode '${newversion}' 'new_version/release_files' sha256 >
|
||||
save/announcement_bbcode_${newversion}.txt" />
|
||||
</target>
|
||||
|
||||
<target name="changelog" depends="prepare">
|
||||
<exec dir="build" escape="false"
|
||||
command="php -f build_changelog.php '${newversion}' >
|
||||
save/changelog_${newversion}.html" />
|
||||
</target>
|
||||
|
||||
<!--
|
||||
This target can be called using phingcall to retrieve a clean
|
||||
checkout of a commit from git. It will only export the phpBB directory.
|
||||
The properties revision and dir are required.
|
||||
This target will remove directories that are not needed in distribution
|
||||
and set correct permissions.
|
||||
-->
|
||||
<target name="export">
|
||||
<exec dir="phpBB"
|
||||
command="git archive ${revision} | tar -xf - -C ../${dir}"
|
||||
checkreturn="true" />
|
||||
|
||||
<!-- Install composer dependencies, if there are any. -->
|
||||
<exec dir="${dir}"
|
||||
command='php -r "\$j = json_decode(file_get_contents(\"composer.json\")); echo isset(\$j->require);"'
|
||||
checkreturn="true"
|
||||
outputProperty='composer-has-dependencies' />
|
||||
<if>
|
||||
<equals arg1="${composer-has-dependencies}" arg2="1" trim="true" />
|
||||
<then>
|
||||
<!-- We have non-dev composer dependencies -->
|
||||
<exec dir="."
|
||||
command="git ls-tree ${revision} composer.phar"
|
||||
checkreturn="true"
|
||||
outputProperty='composer-ls-tree-output' />
|
||||
<if>
|
||||
<equals arg1="${composer-ls-tree-output}" arg2="" trim="true" />
|
||||
<then>
|
||||
<fail message="There are composer dependencies, but composer.phar is missing." />
|
||||
</then>
|
||||
<else>
|
||||
<!-- Export the phar, install dependencies, delete phar. -->
|
||||
<exec dir="."
|
||||
command="git archive ${revision} composer.phar | tar -xf - -C ${dir}"
|
||||
checkreturn="true" />
|
||||
<exec dir="${dir}"
|
||||
command="php composer.phar install"
|
||||
checkreturn="true"
|
||||
passthru="true" />
|
||||
<delete file="${dir}/composer.phar" />
|
||||
</else>
|
||||
</if>
|
||||
</then>
|
||||
<else>
|
||||
<!-- We do not have composer dependencies, do not ship composer files -->
|
||||
<delete file="${dir}/composer.json" />
|
||||
<delete file="${dir}/composer.lock" />
|
||||
</else>
|
||||
</if>
|
||||
|
||||
<delete file="${dir}/config.php" />
|
||||
<delete dir="${dir}/develop" />
|
||||
<delete dir="${dir}/install/data" />
|
||||
|
||||
<echo msg="Setting permissions for checkout of ${revision} in ${dir}" />
|
||||
<!-- set permissions of all files to 644, directories to 755 -->
|
||||
<exec dir="${dir}" command="find . -type f|xargs chmod 644" escape="false" />
|
||||
<exec dir="${dir}" command="find . -type d|xargs chmod 755" escape="false" />
|
||||
<!-- set permissions of some directories to 777 -->
|
||||
<chmod mode="0777" file="${dir}/cache" />
|
||||
<chmod mode="0777" file="${dir}/store" />
|
||||
<chmod mode="0777" file="${dir}/files" />
|
||||
<chmod mode="0777" file="${dir}/images/avatars/upload" />
|
||||
</target>
|
||||
|
||||
<target name="clean-diff-dir">
|
||||
<delete dir="${dir}/cache" />
|
||||
<delete dir="${dir}/docs" />
|
||||
<delete dir="${dir}/files" />
|
||||
<delete dir="${dir}/install" />
|
||||
<delete dir="${dir}/store" />
|
||||
<delete dir="${dir}/vendor" />
|
||||
</target>
|
||||
|
||||
</project>
|
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package build
|
||||
* @copyright (c) 2013 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
if (php_sapi_name() !== 'cli' || $_SERVER['argc'] != 5)
|
||||
{
|
||||
echo "Usage (CLI only): build_announcement.php email|bbcode new_version release_files_dir checksum_algorithm\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$mode = $_SERVER['argv'][1];
|
||||
$version = $_SERVER['argv'][2];
|
||||
$root = $_SERVER['argv'][3];
|
||||
$checksum_algorithm = $_SERVER['argv'][4];
|
||||
|
||||
$series_version = substr($version, 0, 3);
|
||||
$base_url = "https://download.phpbb.com/pub/release/$series_version";
|
||||
|
||||
if (version_compare($version, "$series_version.0", '<'))
|
||||
{
|
||||
// Everything before 3.x.0, i.e. unstable (e.g. alpha, beta, rc)
|
||||
$url = "$base_url/unstable/$version";
|
||||
}
|
||||
else if (strpos($version, 'RC') !== false)
|
||||
{
|
||||
// Release candidate of stable release
|
||||
$url = "$base_url/qa/$version";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Stable release (e.g. 3.x.0, 3.x.1, 3.x.2, 3.x.3-PL1)
|
||||
$url = "$base_url/$version";
|
||||
}
|
||||
|
||||
if ($mode === 'bbcode')
|
||||
{
|
||||
$template = "[url=%1\$s/%2\$s]%2\$s[/url]\n{$checksum_algorithm}sum: %3\$s\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$template = "%s/%s\n{$checksum_algorithm}sum: %s\n";
|
||||
}
|
||||
|
||||
function phpbb_rnatsort($array)
|
||||
{
|
||||
$strrnatcmp = function($a, $b)
|
||||
{
|
||||
return strnatcmp($b, $a);
|
||||
};
|
||||
usort($array, $strrnatcmp);
|
||||
return $array;
|
||||
}
|
||||
|
||||
function phpbb_string_ends_with($haystack, $needle)
|
||||
{
|
||||
return substr($haystack, -strlen($needle)) === $needle;
|
||||
}
|
||||
|
||||
function phpbb_get_checksum($checksum_file)
|
||||
{
|
||||
return array_shift(explode(' ', file_get_contents($checksum_file)));
|
||||
}
|
||||
|
||||
foreach (phpbb_rnatsort(array_diff(scandir($root), array('.', '..'))) as $filename)
|
||||
{
|
||||
if (phpbb_string_ends_with($filename, $checksum_algorithm))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf($template, $url, $filename, phpbb_get_checksum("$root/$filename.$checksum_algorithm"));
|
||||
}
|
||||
}
|
@@ -1,53 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package build
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
if ($_SERVER['argc'] != 2)
|
||||
{
|
||||
echo "Please specify the new version as argument (e.g. build_changelog.php '1.0.2').\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$fixVersion = $_SERVER['argv'][1];
|
||||
|
||||
$query = 'project = PHPBB3
|
||||
AND resolution = Fixed
|
||||
AND fixVersion = "' . $fixVersion . '"
|
||||
AND status IN ("Unverified Fix", Closed)';
|
||||
|
||||
$url = 'http://tracker.phpbb.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=' . urlencode($query) . '&tempMax=1000';
|
||||
$xml = simplexml_load_string(file_get_contents($url));
|
||||
|
||||
foreach ($xml->xpath('//item') as $item)
|
||||
{
|
||||
$key = (string) $item->key;
|
||||
|
||||
$keyUrl = 'http://tracker.phpbb.com/browse/' . $key;
|
||||
$keyLink = '<a href="' . $keyUrl . '">' . $key . '</a>';
|
||||
|
||||
$value = str_replace($key, $keyLink, htmlspecialchars($item->title));
|
||||
$value = str_replace(']', '] -', $value);
|
||||
|
||||
$types[(string) $item->type][$key] = $value;
|
||||
}
|
||||
|
||||
ksort($types);
|
||||
foreach ($types as $type => $tickets)
|
||||
{
|
||||
echo "<h4>$type</h4>\n";
|
||||
echo "<ul>\n";
|
||||
|
||||
uksort($tickets, 'strnatcasecmp');
|
||||
|
||||
foreach ($tickets as $ticket)
|
||||
{
|
||||
echo "<li>$ticket</li>\n";
|
||||
}
|
||||
echo "</ul>\n";
|
||||
}
|
@@ -1,315 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package build
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
class build_package
|
||||
{
|
||||
var $package_infos;
|
||||
var $old_packages;
|
||||
var $versions;
|
||||
var $locations;
|
||||
|
||||
// -c - context diff
|
||||
// -r - compare recursive
|
||||
// -N - Treat missing files as empty
|
||||
// -E - Ignore tab expansions
|
||||
// not used: -b - Ignore space changes.
|
||||
// -w - Ignore all whitespace
|
||||
// -B - Ignore blank lines
|
||||
// -d - Try to find smaller set of changes
|
||||
var $diff_options = '-crNEBwd';
|
||||
var $diff_options_long = '-x images -crNEB'; // -x fonts -x imageset //imageset not used here, because it includes the imageset.cfg file. ;)
|
||||
|
||||
var $verbose = false;
|
||||
var $status_begun = false;
|
||||
var $num_dots = 0;
|
||||
|
||||
function build_package($versions, $verbose = false)
|
||||
{
|
||||
$this->versions = $versions;
|
||||
$this->verbose = $verbose;
|
||||
|
||||
// Get last two entries
|
||||
$_latest = $this->versions[sizeof($this->versions) - 1];
|
||||
$_before = $this->versions[sizeof($this->versions) - 2];
|
||||
|
||||
$this->locations = array(
|
||||
'new_version' => dirname(dirname(__FILE__)) . '/phpBB/',
|
||||
'old_versions' => dirname(__FILE__) . '/old_versions/',
|
||||
'root' => dirname(__FILE__) . '/',
|
||||
'package_dir' => dirname(__FILE__) . '/new_version/'
|
||||
);
|
||||
|
||||
$this->package_infos = array(
|
||||
'package_name' => 'phpBB3',
|
||||
'name_prefix' => 'phpbb',
|
||||
'simple_name' => 'release-' . $_latest,
|
||||
'new_version_number' => $_latest,
|
||||
'short_version_number' => str_replace('.', '', $_latest),
|
||||
'release_filename' => 'phpBB-' . $_latest,
|
||||
'last_version' => 'release-' . $_before,
|
||||
'last_version_number' => $_before,
|
||||
);
|
||||
|
||||
$this->package_infos['dest_dir'] = $this->locations['package_dir'] . $this->package_infos['package_name'];
|
||||
$this->package_infos['diff_dir'] = $this->locations['old_versions'] . $this->package_infos['simple_name'];
|
||||
$this->package_infos['patch_directory'] = $this->locations['package_dir'] . 'patches';
|
||||
$this->package_infos['files_directory'] = $this->locations['package_dir'] . 'files';
|
||||
$this->package_infos['update_directory'] = $this->locations['package_dir'] . 'update';
|
||||
$this->package_infos['release_directory'] = $this->locations['package_dir'] . 'release_files';
|
||||
|
||||
// Old packages always exclude the latest version. ;)
|
||||
$this->old_packages = array();
|
||||
|
||||
foreach ($this->versions as $package_version)
|
||||
{
|
||||
if ($package_version == $_latest)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->old_packages['release-' . $package_version] = $package_version . '_to_';
|
||||
}
|
||||
}
|
||||
|
||||
function get($var)
|
||||
{
|
||||
return $this->package_infos[$var];
|
||||
}
|
||||
|
||||
function begin_status($headline)
|
||||
{
|
||||
if ($this->status_begun)
|
||||
{
|
||||
echo "\nDone.\n\n";
|
||||
}
|
||||
|
||||
$this->num_dots = 0;
|
||||
|
||||
echo $headline . "\n ";
|
||||
|
||||
$this->status_begun = true;
|
||||
}
|
||||
|
||||
function run_command($command)
|
||||
{
|
||||
$result = trim(`$command`);
|
||||
|
||||
if ($this->verbose)
|
||||
{
|
||||
echo " command : " . getcwd() . '$ ' . $command . "\n";
|
||||
echo " result : " . $result . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->num_dots > 70)
|
||||
{
|
||||
echo "\n";
|
||||
$this->num_dots = 0;
|
||||
}
|
||||
echo '.';
|
||||
$this->num_dots++;
|
||||
}
|
||||
|
||||
flush();
|
||||
}
|
||||
|
||||
function create_directory($directory, $dir_struct)
|
||||
{
|
||||
if (!file_exists($directory))
|
||||
{
|
||||
$this->run_command("mkdir $directory");
|
||||
}
|
||||
|
||||
if (is_array($dir_struct))
|
||||
{
|
||||
foreach ($dir_struct as $_dir => $_dir_struct)
|
||||
{
|
||||
$this->create_directory($directory . '/' . $_dir, $_dir_struct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function collect_diff_files($diff_filename, $package_name)
|
||||
{
|
||||
$diff_result = $binary = array();
|
||||
$diff_contents = file($diff_filename);
|
||||
|
||||
$special_diff_contents = array();
|
||||
|
||||
foreach ($diff_contents as $num => $line)
|
||||
{
|
||||
$line = trim($line);
|
||||
|
||||
if (!$line)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Special diff content?
|
||||
if (strpos($line, 'diff ' . $this->diff_options . ' ') === 0 || strpos($line, '*** ') === 0 || strpos($line, '--- ') === 0 || (strpos($line, ' Exp $') !== false && strpos($line, '$Id:') !== false))
|
||||
{
|
||||
$special_diff_contents[] = $line;
|
||||
}
|
||||
else if (strpos($line, 'diff ' . $this->diff_options . ' ') === 0 || strpos($line, '*** ') === 0 || strpos($line, '--- ') === 0 || (strpos($line, ' Exp $') !== false && strpos($line, '$Id:') !== false) || (strpos($line, ' $') !== false && strpos($line, '$Id:') !== false))
|
||||
{
|
||||
$special_diff_contents[] = $line;
|
||||
}
|
||||
|
||||
// Is diffing line?
|
||||
if (strstr($line, 'diff ' . $this->diff_options . ' '))
|
||||
{
|
||||
$next_line = $diff_contents[$num+1];
|
||||
if (strpos($next_line, '***') === 0)
|
||||
{
|
||||
// *** phpbb208/admin/admin_board.php Sat Jul 10 20:16:26 2004
|
||||
$next_line = explode("\t", $next_line);
|
||||
$next_line = trim($next_line[0]);
|
||||
$next_line = str_replace('*** ' . $package_name . '/', '', $next_line);
|
||||
$diff_result[] = $next_line;
|
||||
}
|
||||
}
|
||||
|
||||
// Is binary?
|
||||
if (preg_match('/^Binary files ' . $package_name . '\/(.*) and [a-z0-9._-]+\/\1 differ/i', $line, $match))
|
||||
{
|
||||
$binary[] = trim($match[1]);
|
||||
}
|
||||
}
|
||||
|
||||
// Now go through the list again and find out which files have how many changes...
|
||||
$num_changes = array();
|
||||
|
||||
/* [1070] => diff -crN phpbb200/includes/usercp_avatar.php phpbb2023/includes/usercp_avatar.php
|
||||
[1071] => *** phpbb200/includes/usercp_avatar.php Sat Jul 10 20:16:13 2004
|
||||
[1072] => --- phpbb2023/includes/usercp_avatar.php Wed Feb 6 22:28:04 2008
|
||||
[1073] => *** 6,12 ****
|
||||
[1074] => ! * $Id$
|
||||
[1075] => --- 6,12 ----
|
||||
[1076] => *** 51,59 ****
|
||||
[1077] => --- 51,60 ----
|
||||
[1078] => *** 62,80 ****
|
||||
[1079] => --- 63,108 ----
|
||||
[1080] => *** 87,97 ****
|
||||
*/
|
||||
while (($line = array_shift($special_diff_contents)) !== NULL)
|
||||
{
|
||||
$line = trim($line);
|
||||
|
||||
if (!$line)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Is diffing line?
|
||||
if (strstr($line, 'diff ' . $this->diff_options . ' '))
|
||||
{
|
||||
$next_line = array_shift($special_diff_contents);
|
||||
if (strpos($next_line, '*** ') === 0)
|
||||
{
|
||||
// *** phpbb208/admin/admin_board.php Sat Jul 10 20:16:26 2004
|
||||
$next_line = explode("\t", $next_line);
|
||||
$next_line = trim($next_line[0]);
|
||||
$next_line = str_replace('*** ' . $package_name . '/', '', $next_line);
|
||||
|
||||
$is_reached = false;
|
||||
$prev_line = '';
|
||||
|
||||
while (!$is_reached)
|
||||
{
|
||||
$line = array_shift($special_diff_contents);
|
||||
|
||||
if (strpos($line, 'diff ' . $this->diff_options) === 0 || empty($special_diff_contents))
|
||||
{
|
||||
$is_reached = true;
|
||||
array_unshift($special_diff_contents, $line);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strpos($line, '*** ') === 0 && strpos($line, ' ****') !== false)
|
||||
{
|
||||
$is_comment = false;
|
||||
while (!(strpos($line, '--- ') === 0 && strpos($line, ' ----') !== false))
|
||||
{
|
||||
$line = array_shift($special_diff_contents);
|
||||
if (strpos($line, ' Exp $') !== false || strpos($line, '$Id:') !== false)
|
||||
{
|
||||
$is_comment = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$is_comment)
|
||||
{
|
||||
if (!isset($num_changes[$next_line]))
|
||||
{
|
||||
$num_changes[$next_line] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$num_changes[$next_line]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now remove those results not having changes
|
||||
$return = array();
|
||||
|
||||
foreach ($diff_result as $key => $value)
|
||||
{
|
||||
if (isset($num_changes[$value]))
|
||||
{
|
||||
$return[] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($binary as $value)
|
||||
{
|
||||
$return[] = $value;
|
||||
}
|
||||
|
||||
$diff_result = $return;
|
||||
unset($return);
|
||||
unset($special_diff_contents);
|
||||
|
||||
$result = array(
|
||||
'files' => array(),
|
||||
'binary' => array(),
|
||||
'all' => $diff_result,
|
||||
);
|
||||
|
||||
$binary_extensions = array('gif', 'jpg', 'jpeg', 'png', 'ttf');
|
||||
|
||||
// Split into file and binary
|
||||
foreach ($diff_result as $filename)
|
||||
{
|
||||
if (strpos($filename, '.') === false)
|
||||
{
|
||||
$result['files'][] = $filename;
|
||||
continue;
|
||||
}
|
||||
|
||||
$extension = explode('.', $filename);
|
||||
$extension = array_pop($extension);
|
||||
|
||||
if (in_array($extension, $binary_extensions))
|
||||
{
|
||||
$result['binary'][] = $filename;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result['files'][] = $filename;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="code_sniffer" basedir="." default="install">
|
||||
|
||||
<property name="working.dir" value="${basedir}" />
|
||||
<property name="target.dir" value="/usr/share/php/PHP/CodeSniffer/Standards" />
|
||||
|
||||
<!--
|
||||
Install phpbb sniff
|
||||
-->
|
||||
<target name="install">
|
||||
<delete dir="${target.dir}/phpbb" />
|
||||
<mkdir dir="${target.dir}/phpbb"/>
|
||||
|
||||
<copy todir="${target.dir}/phpbb">
|
||||
<fileset file="${working.dir}/phpbbCodingStandard.php" />
|
||||
</copy>
|
||||
<copy todir="${target.dir}/phpbb/Sniffs">
|
||||
<fileset dir="${working.dir}/Sniffs" />
|
||||
</copy>
|
||||
|
||||
</target>
|
||||
|
||||
</project>
|
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="phpBB Minimum Standard">
|
||||
|
||||
<description>phpBB minimum coding standard</description>
|
||||
|
||||
<!-- All code files MUST use only UTF-8 without BOM. -->
|
||||
<rule ref="Generic.Files.ByteOrderMark" />
|
||||
|
||||
<!-- All code files MUST use the Unix LF (linefeed) line ending. -->
|
||||
<rule ref="Generic.Files.LineEndings" />
|
||||
|
||||
<!-- Tabs MUST be used for indentation -->
|
||||
<rule ref="Generic.WhiteSpace.DisallowSpaceIndent" />
|
||||
|
||||
</ruleset>
|
@@ -1,47 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="phpBB PHP Legacy Standard">
|
||||
|
||||
<description>phpBB legacy coding standard for PHP files</description>
|
||||
|
||||
<rule ref="./ruleset-minimum.xml" />
|
||||
|
||||
<!-- "for (; bar; )" should be "while (bar)" instead -->
|
||||
<rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop" />
|
||||
|
||||
<!-- A method MUST not only call its parent -->
|
||||
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod" />
|
||||
|
||||
<!-- The body of each structure MUST be enclosed by braces. -->
|
||||
<rule ref="Generic.ControlStructures.InlineControlStructure" />
|
||||
|
||||
<!-- There MUST not be more than one statement per line. -->
|
||||
<rule ref="Generic.Formatting.DisallowMultipleStatements" />
|
||||
|
||||
<!-- Call-time pass-by-reference MUST not be used. -->
|
||||
<rule ref="Generic.Functions.CallTimePassByReference.NotAllowed" />
|
||||
|
||||
<!-- Class constants MUST be declared in all upper case with underscore separators. -->
|
||||
<rule ref="Generic.NamingConventions.UpperCaseConstantName" />
|
||||
|
||||
<!-- Only <?php, no short tags. -->
|
||||
<rule ref="Generic.PHP.DisallowShortOpenTag.EchoFound" />
|
||||
|
||||
<!-- Method arguments with default values MUST go at the end of the argument list. -->
|
||||
<rule ref="PEAR.Functions.ValidDefaultValue" />
|
||||
|
||||
<!-- Each file MUST end with exactly one newline character -->
|
||||
<rule ref="PSR2.Files.EndFileNewline" />
|
||||
|
||||
<!-- In the argument list, there MUST NOT be a space before each comma,
|
||||
and there MUST be one space after each comma. -->
|
||||
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
|
||||
<properties>
|
||||
<property name="equalsSpacing" value="1"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterHint" />
|
||||
|
||||
<!-- The ?> closing tag MUST be omitted from files containing only PHP. -->
|
||||
<rule ref="Zend.Files.ClosingTag" />
|
||||
|
||||
</ruleset>
|
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="phpBB PHP Strict Standard">
|
||||
|
||||
<description>phpBB coding standard for PHP files</description>
|
||||
|
||||
<rule ref="./ruleset-php-legacy.xml" />
|
||||
|
||||
<!-- There SHOULD NOT be more than 80 characters per line
|
||||
There MUST NOT be more than 120 characters per line -->
|
||||
<!--
|
||||
<rule ref="Generic.Files.LineLength">
|
||||
<properties>
|
||||
<property name="lineLimit" value="80"/>
|
||||
<property name="absoluteLineLimit" value="120"/>
|
||||
</properties>
|
||||
</rule>
|
||||
-->
|
||||
|
||||
<!-- The PHP constants true, false, and null MUST be in lower case. -->
|
||||
<rule ref="Generic.PHP.LowerCaseConstant" />
|
||||
|
||||
<!-- PHP keywords MUST be in lower case. -->
|
||||
<rule ref="Generic.PHP.LowerCaseKeyword" />
|
||||
|
||||
<!-- There MUST NOT be trailing whitespace at the end of lines. -->
|
||||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace" />
|
||||
|
||||
<!-- There MUST NOT be whitespace before the first content of a file -->
|
||||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.StartFile" />
|
||||
|
||||
<!-- There MUST NOT be whitespace after the last content of a file -->
|
||||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EndFile" />
|
||||
|
||||
<!-- Functions MUST NOT contain multiple empty lines in a row -->
|
||||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines" />
|
||||
|
||||
<!-- Classes etc. MUST be namespaced -->
|
||||
<rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace" />
|
||||
|
||||
<!-- A file MUST not contain more than one class/interface -->
|
||||
<rule ref="PSR1.Classes.ClassDeclaration.MultipleClasses" />
|
||||
|
||||
<!-- Files containing classes MUST not have any side-effects -->
|
||||
<rule ref="PSR1.Files.SideEffects.FoundWithSymbols" />
|
||||
|
||||
<!-- When present, all use declarations MUST go after the namespace declaration.
|
||||
There MUST be one use keyword per declaration.
|
||||
There MUST be one blank line after the use block. -->
|
||||
<rule ref="PSR2.Namespaces.UseDeclaration" />
|
||||
|
||||
</ruleset>
|
@@ -1,39 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
orig_dir="../../phpBB"
|
||||
|
||||
|
||||
rm -rf test_release_files
|
||||
mkdir test_release_files
|
||||
cd test_release_files
|
||||
|
||||
for ext in "tar.bz2" "zip"
|
||||
do
|
||||
cp "../new_version/release_files/$1.$ext" ./
|
||||
|
||||
if [ "$ext" = "tar.bz2" ]
|
||||
then
|
||||
command="tar -xjf"
|
||||
else
|
||||
command="unzip -q"
|
||||
fi
|
||||
|
||||
$command "$1.$ext"
|
||||
|
||||
for file in `find phpBB3 -name '.svn' -prune -o -type f -print`
|
||||
do
|
||||
orig_file="${file/#phpBB3/$orig_dir}"
|
||||
diff_result=`diff $orig_file $file`
|
||||
|
||||
if [ -n "$diff_result" ]
|
||||
then
|
||||
echo "Difference in package $1.$ext"
|
||||
echo $diff_result
|
||||
fi
|
||||
done
|
||||
|
||||
rm -rf phpBB3
|
||||
done
|
||||
|
||||
cd ..
|
||||
rm -rf test_release_files
|
||||
|
@@ -1,460 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package build
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
//$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7-RC2', '3.0.7', '3.0.7-PL1');
|
||||
|
||||
if ($_SERVER['argc'] < 2)
|
||||
{
|
||||
die("Please specify a list of versions as the first argument (e.g. package.php '1.0.0, 1.0.1, 1.0.2').");
|
||||
}
|
||||
|
||||
$versions = explode(',', $_SERVER['argv'][1]);
|
||||
$versions = array_map('trim', $versions);
|
||||
|
||||
$verbose = true;
|
||||
|
||||
require('build_helper.php');
|
||||
|
||||
$package = new build_package($versions, $verbose);
|
||||
|
||||
echo "Building Release Packages\n";
|
||||
echo "Now all three package types (patch, files, release) are built as well as the update package (update).\n";
|
||||
|
||||
// Go trough all versions making a diff if we even have old versions
|
||||
// For phpBB 3.0.x we might choose a different update method, rendering the things below useless...
|
||||
if (sizeof($package->old_packages))
|
||||
{
|
||||
chdir($package->locations['old_versions']);
|
||||
|
||||
// This array is for holding the filenames change
|
||||
$diff_file_changes = array();
|
||||
|
||||
foreach ($package->old_packages as $_package_name => $dest_package_filename)
|
||||
{
|
||||
$package->begin_status('Parsing patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
|
||||
|
||||
// Parse this diff to determine file changes from the checked versions and save them
|
||||
$diff_file_changes[$_package_name] = $package->collect_diff_files(
|
||||
$package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch',
|
||||
$_package_name
|
||||
);
|
||||
}
|
||||
|
||||
// Now put those files determined within the correct directories
|
||||
foreach ($diff_file_changes as $_package_name => $file_contents)
|
||||
{
|
||||
$package->begin_status('Creating files-only informations for ' . $package->old_packages[$_package_name] . $package->get('new_version_number'));
|
||||
|
||||
$dest_filename_dir = $package->get('files_directory') . '/' . $package->old_packages[$_package_name] . $package->get('new_version_number');
|
||||
|
||||
if (!file_exists($dest_filename_dir))
|
||||
{
|
||||
$package->run_command('mkdir ' . $dest_filename_dir);
|
||||
}
|
||||
|
||||
// Now copy the file contents
|
||||
foreach ($file_contents['all'] as $file)
|
||||
{
|
||||
$source_filename = $package->get('dest_dir') . '/' . $file;
|
||||
$dest_filename = $dest_filename_dir . '/' . $file;
|
||||
|
||||
// Create Directories along the way?
|
||||
$file = explode('/', $file);
|
||||
// Remove filename portion
|
||||
$file[sizeof($file)-1] = '';
|
||||
|
||||
chdir($dest_filename_dir);
|
||||
foreach ($file as $entry)
|
||||
{
|
||||
$entry = trim($entry);
|
||||
if ($entry)
|
||||
{
|
||||
if (!file_exists('./' . $entry))
|
||||
{
|
||||
$package->run_command('mkdir ' . $entry);
|
||||
}
|
||||
chdir('./' . $entry);
|
||||
}
|
||||
}
|
||||
|
||||
$package->run_command('cp ' . $source_filename . ' ' . $dest_filename);
|
||||
}
|
||||
}
|
||||
|
||||
// Because there might be binary changes, we re-create the patch files... without parsing file differences.
|
||||
$package->run_command('rm -Rv ' . $package->get('patch_directory'));
|
||||
|
||||
if (!file_exists($package->get('patch_directory')))
|
||||
{
|
||||
$package->run_command('mkdir ' . $package->get('patch_directory'));
|
||||
}
|
||||
|
||||
chdir($package->locations['old_versions']);
|
||||
|
||||
foreach ($package->old_packages as $_package_name => $dest_package_filename)
|
||||
{
|
||||
$package->begin_status('Creating patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
|
||||
|
||||
$dest_package_filename = $package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch';
|
||||
$package->run_command('diff ' . $package->diff_options_long . ' ' . $_package_name . ' ' . $package->get('simple_name') . ' > ' . $dest_package_filename);
|
||||
}
|
||||
|
||||
$packages = $diff_file_changes;
|
||||
|
||||
foreach ($packages as $_package_name => $file_contents)
|
||||
{
|
||||
$package->begin_status('Building specific update files for ' . $package->old_packages[$_package_name] . $package->get('new_version_number'));
|
||||
|
||||
$dest_filename_dir = $package->get('update_directory') . '/' . $package->old_packages[$_package_name] . $package->get('new_version_number');
|
||||
|
||||
if (!file_exists($dest_filename_dir))
|
||||
{
|
||||
$package->run_command('mkdir ' . $dest_filename_dir);
|
||||
}
|
||||
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $dest_filename_dir);
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $dest_filename_dir);
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/vendor ' . $dest_filename_dir);
|
||||
|
||||
$package->run_command('mkdir ' . $dest_filename_dir . '/install/update');
|
||||
$package->run_command('mkdir ' . $dest_filename_dir . '/install/update/old');
|
||||
$package->run_command('mkdir ' . $dest_filename_dir . '/install/update/new');
|
||||
|
||||
// Remove some files
|
||||
$package->run_command('rm -v ' . $dest_filename_dir . '/install/install_install.php');
|
||||
$package->run_command('rm -v ' . $dest_filename_dir . '/install/install_convert.php');
|
||||
$package->run_command('rm -Rv ' . $dest_filename_dir . '/install/schemas');
|
||||
$package->run_command('rm -Rv ' . $dest_filename_dir . '/install/convertors');
|
||||
|
||||
foreach ($file_contents['all'] as $index => $file)
|
||||
{
|
||||
if (strpos($file, 'recode_cjk') !== false)
|
||||
{
|
||||
unset($file_contents['all'][$index]);
|
||||
}
|
||||
}
|
||||
|
||||
// First of all, fill the 'old' directory
|
||||
foreach ($file_contents['all'] as $file)
|
||||
{
|
||||
$source_filename = $package->locations['old_versions'] . $_package_name . '/' . $file;
|
||||
$dest_filename = $dest_filename_dir . '/install/update/old/' . $file;
|
||||
|
||||
if (!file_exists($source_filename))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Create Directories along the way?
|
||||
$file = explode('/', $file);
|
||||
// Remove filename portion
|
||||
$file[sizeof($file)-1] = '';
|
||||
|
||||
chdir($dest_filename_dir . '/install/update/old');
|
||||
foreach ($file as $entry)
|
||||
{
|
||||
$entry = trim($entry);
|
||||
if ($entry)
|
||||
{
|
||||
if (!file_exists('./' . $entry))
|
||||
{
|
||||
$package->run_command('mkdir ' . $entry);
|
||||
}
|
||||
chdir('./' . $entry);
|
||||
}
|
||||
}
|
||||
|
||||
$package->run_command('cp ' . $source_filename . ' ' . $dest_filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* We try to keep the update packages as small as possible while creating them.
|
||||
* However, we sometimes need to include additional files that are not included
|
||||
* in the diff in order to be able to correctly include the relatively
|
||||
* referenced files from the same or subsequent directories.
|
||||
*/
|
||||
$copy_relative_directories = array(
|
||||
'adm/style/admin.css' => array(
|
||||
'copied' => false,
|
||||
'copy' => array(
|
||||
'adm/images/*' => 'adm/images',
|
||||
),
|
||||
),
|
||||
'config/' => array(
|
||||
'copied' => false,
|
||||
'copy' => array(
|
||||
'config/*.yml' => 'config',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
// Then fill the 'new' directory
|
||||
foreach ($file_contents['all'] as $file)
|
||||
{
|
||||
$source_filename = $package->locations['old_versions'] . $package->get('simple_name') . '/' . $file;
|
||||
$dest_filename = $dest_filename_dir . '/install/update/new/' . $file;
|
||||
|
||||
if (!file_exists($source_filename))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$filename = $file;
|
||||
|
||||
// Create Directories along the way?
|
||||
$file = explode('/', $file);
|
||||
// Remove filename portion
|
||||
$file[sizeof($file)-1] = '';
|
||||
|
||||
chdir($dest_filename_dir . '/install/update/new');
|
||||
foreach ($file as $entry)
|
||||
{
|
||||
$entry = trim($entry);
|
||||
if ($entry)
|
||||
{
|
||||
if (!file_exists('./' . $entry))
|
||||
{
|
||||
$package->run_command('mkdir ' . $entry);
|
||||
}
|
||||
chdir('./' . $entry);
|
||||
}
|
||||
}
|
||||
|
||||
$package->run_command('cp ' . $source_filename . ' ' . $dest_filename);
|
||||
|
||||
foreach ($copy_relative_directories as $reference => $data)
|
||||
{
|
||||
// Copy all relative referenced files if needed
|
||||
if (strpos($filename, $reference) === 0 && !$data['copied'])
|
||||
{
|
||||
foreach ($data['copy'] as $source_dir_files => $destination_dir)
|
||||
{
|
||||
// Create directories along the way?
|
||||
$directories = explode('/', $destination_dir);
|
||||
|
||||
chdir($dest_filename_dir . '/install/update/new');
|
||||
foreach ($directories as $dir)
|
||||
{
|
||||
$dir = trim($dir);
|
||||
if ($dir)
|
||||
{
|
||||
if (!file_exists('./' . $dir))
|
||||
{
|
||||
$package->run_command('mkdir ' . $dir);
|
||||
}
|
||||
chdir('./' . $dir);
|
||||
}
|
||||
}
|
||||
$source_dir_files = $package->locations['old_versions'] . $package->get('simple_name') . '/' . $source_dir_files;
|
||||
$destination_dir = $dest_filename_dir . '/install/update/new/' . $destination_dir;
|
||||
$package->run_command('cp ' . $source_dir_files . ' ' . $destination_dir);
|
||||
}
|
||||
$copy_relative_directories[$reference]['copied'] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Build index.php file for holding the file structure
|
||||
$index_contents = '<?php
|
||||
|
||||
if (!defined(\'IN_PHPBB\'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
// Set update info with file structure to update
|
||||
$update_info = array(
|
||||
\'version\' => array(\'from\' => \'' . str_replace('_to_', '', $package->old_packages[$_package_name]) . '\', \'to\' => \'' . $package->get('new_version_number') . '\'),
|
||||
';
|
||||
|
||||
if (sizeof($file_contents['all']))
|
||||
{
|
||||
$index_contents .= '\'files\' => array(\'' . implode("',\n\t'", $file_contents['all']) . '\'),
|
||||
';
|
||||
}
|
||||
else
|
||||
{
|
||||
$index_contents .= '\'files\' => array(),
|
||||
';
|
||||
}
|
||||
|
||||
if (sizeof($file_contents['binary']))
|
||||
{
|
||||
$index_contents .= '\'binary\' => array(\'' . implode("',\n\t'", $file_contents['binary']) . '\'),
|
||||
';
|
||||
}
|
||||
else
|
||||
{
|
||||
$index_contents .= '\'binary\' => array(),
|
||||
';
|
||||
}
|
||||
|
||||
$index_contents .= ');
|
||||
|
||||
?' . '>';
|
||||
|
||||
$fp = fopen($dest_filename_dir . '/install/update/index.php', 'wt');
|
||||
fwrite($fp, $index_contents);
|
||||
fclose($fp);
|
||||
}
|
||||
unset($diff_file_changes);
|
||||
|
||||
$package->begin_status('Clean up all install files');
|
||||
|
||||
// Copy the install files to their respective locations
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('patch_directory'));
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('patch_directory'));
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/vendor ' . $package->get('patch_directory'));
|
||||
|
||||
// Remove some files
|
||||
chdir($package->get('patch_directory') . '/install');
|
||||
|
||||
$package->run_command('rm -v install_install.php');
|
||||
$package->run_command('rm -v install_update.php');
|
||||
$package->run_command('rm -v install_convert.php');
|
||||
$package->run_command('rm -Rv schemas');
|
||||
$package->run_command('rm -Rv convertors');
|
||||
}
|
||||
|
||||
// Build Main phpBB Release
|
||||
$compress_programs = array(
|
||||
// 'tar.gz' => 'tar -czf',
|
||||
'tar.bz2' => 'tar -cjf',
|
||||
'zip' => 'zip -r'
|
||||
);
|
||||
|
||||
if (sizeof($package->old_packages))
|
||||
{
|
||||
// Build Patch Files
|
||||
chdir($package->get('patch_directory'));
|
||||
|
||||
foreach ($compress_programs as $extension => $compress_command)
|
||||
{
|
||||
$package->begin_status('Packaging phpBB Patch Files for ' . $extension);
|
||||
|
||||
// Build Package
|
||||
$package->run_command($compress_command . ' ../release_files/' . $package->get('release_filename') . '-patch.' . $extension . ' *');
|
||||
}
|
||||
|
||||
// Build Files Package
|
||||
chdir($package->get('files_directory'));
|
||||
|
||||
foreach ($compress_programs as $extension => $compress_command)
|
||||
{
|
||||
$package->begin_status('Packaging phpBB Files for ' . $extension);
|
||||
|
||||
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
|
||||
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_install.php');
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_update.php');
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_convert.php');
|
||||
$package->run_command('rm -Rv ' . $package->get('files_directory') . '/release/install/schemas');
|
||||
$package->run_command('rm -Rv ' . $package->get('files_directory') . '/release/install/convertors');
|
||||
|
||||
// Pack files
|
||||
foreach ($package->old_packages as $_package_name => $package_path)
|
||||
{
|
||||
chdir($package_path . $package->get('new_version_number'));
|
||||
$command = ($extension == 'zip') ? 'zip -r' : 'tar cf';
|
||||
$_ext = ($extension == 'zip') ? 'zip' : 'tar';
|
||||
$package->run_command("$command ../release/phpBB-$package_path" . $package->get('new_version_number') . ".$_ext *");
|
||||
chdir('..');
|
||||
}
|
||||
|
||||
chdir('./release');
|
||||
$package->run_command("$compress_command ../../release_files/" . $package->get('release_filename') . '-files.' . $extension . ' *');
|
||||
chdir('..');
|
||||
|
||||
$package->run_command('rm -Rv ' . $package->get('files_directory') . '/release');
|
||||
}
|
||||
|
||||
// Build Update Package
|
||||
foreach ($compress_programs as $extension => $compress_command)
|
||||
{
|
||||
chdir($package->get('update_directory'));
|
||||
|
||||
$package->begin_status('Packaging phpBB Update for ' . $extension);
|
||||
|
||||
$package->run_command('mkdir ' . $package->get('update_directory') . '/release');
|
||||
|
||||
// Pack update files
|
||||
$packages = $package->old_packages;
|
||||
|
||||
foreach ($packages as $_package_name => $package_path)
|
||||
{
|
||||
chdir($package_path . $package->get('new_version_number'));
|
||||
|
||||
$package->run_command('rm -v install/install_install.php');
|
||||
$package->run_command('rm -v install/install_convert.php');
|
||||
$package->run_command('rm -v includes/utf/data/recode_cjk.php');
|
||||
$package->run_command('rm -Rv install/schemas');
|
||||
$package->run_command('rm -Rv install/convertors');
|
||||
|
||||
$command = ($extension == 'zip') ? 'zip -r' : 'tar cf';
|
||||
$_ext = ($extension == 'zip') ? 'zip' : 'tar';
|
||||
$package->run_command("$command ../release/$package_path" . $package->get('new_version_number') . ".$_ext *");
|
||||
chdir('..');
|
||||
|
||||
$last_version = $package_path . $package->get('new_version_number');
|
||||
|
||||
// chdir('./release');
|
||||
// $package->run_command("$compress_command ../../release_files/" . $package->get('release_filename') . '-update.' . $extension . ' *');
|
||||
// chdir('..');
|
||||
|
||||
chdir('./' . $last_version);
|
||||
// Copy last package over...
|
||||
$package->run_command('rm -v ../release_files/phpBB-' . $last_version . ".$extension");
|
||||
$package->run_command("$compress_command ../../release_files/phpBB-$last_version.$extension *");
|
||||
chdir('..');
|
||||
}
|
||||
|
||||
$package->run_command('rm -Rv ' . $package->get('update_directory') . '/release');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Delete updater and convertor from main archive
|
||||
chdir($package->get('dest_dir') . '/install');
|
||||
|
||||
// $package->run_command('rm -v database_update.php');
|
||||
$package->run_command('rm -v install_update.php');
|
||||
|
||||
chdir($package->get('dest_dir'));
|
||||
$package->run_command('mv -v styles/subsilver2 ../subsilver2');
|
||||
$package->run_command('cp -p docs/COPYING ../subsilver2/license.txt');
|
||||
|
||||
chdir($package->locations['package_dir']);
|
||||
foreach ($compress_programs as $extension => $compress_command)
|
||||
{
|
||||
$package->begin_status('Packaging phpBB for ' . $extension);
|
||||
$package->run_command('rm -v ./release_files/' . $package->get('release_filename') . ".{$extension}");
|
||||
$package->run_command('rm -v ./release_files/subsilver2_' . $package->get('new_version_number') . ".{$extension}");
|
||||
|
||||
// Build Package
|
||||
$package->run_command("$compress_command ./release_files/" . $package->get('release_filename') . '.' . $extension . ' ' . $package->get('package_name'));
|
||||
|
||||
// Build subSilver2 Package
|
||||
$package->run_command("$compress_command ./release_files/subsilver2_" . $package->get('new_version_number') . '.' . $extension . ' subsilver2');
|
||||
}
|
||||
|
||||
// Microsoft Web PI packaging
|
||||
$package->begin_status('Packaging phpBB for Microsoft WebPI');
|
||||
$file = './release_files/' . $package->get('release_filename') . '.webpi.zip';
|
||||
$package->run_command('cp -p ./release_files/' . $package->get('release_filename') . ".zip $file");
|
||||
$package->run_command('cd ./../webpi && ' . $compress_programs['zip'] . " ./../new_version/$file *");
|
||||
|
||||
// verify results
|
||||
chdir($package->locations['root']);
|
||||
$package->begin_status('********** Verifying packages **********');
|
||||
$package->run_command('./compare.sh ' . $package->package_infos['release_filename']);
|
||||
|
||||
echo "Done.\n";
|
@@ -1,145 +0,0 @@
|
||||
; Default configuration file for PHPDoctor
|
||||
|
||||
; This config file will cause PHPDoctor to generate API documentation of
|
||||
; itself.
|
||||
|
||||
|
||||
; PHPDoctor settings
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
; Names of files to parse. This can be a single filename, or a comma separated
|
||||
; list of filenames. Wildcards are allowed.
|
||||
|
||||
files = "*.php"
|
||||
|
||||
; Names of files or directories to ignore. This can be a single filename, or a
|
||||
; comma separated list of filenames. Wildcards are NOT allowed.
|
||||
|
||||
;ignore = "CVS, .svn, .git, _compiled"
|
||||
ignore = templates_c/,*HTML/default/*,spec/,*config.php*,*CVS/,test_chora.php,testupdate/,cache/,store/,*proSilver/,develop/,includes/utf/data/,includes/captcha/fonts/,install/update/,install/update.new/,files/,*phpinfo.php*,*update_script.php*,*upgrade.php*,*convert.php*,install/converter/,language/de/,script/,*swatch.php*,*test.php*,*test2.php*,*install.php*,*functions_diff.php*,*acp_update.php*,acm_xcache.php
|
||||
|
||||
; The directory to look for files in, if not used the PHPDoctor will look in
|
||||
; the current directory (the directory it is run from).
|
||||
|
||||
source_path = "../phpBB/"
|
||||
|
||||
; If you do not want PHPDoctor to look in each sub directory for files
|
||||
; uncomment this line.
|
||||
|
||||
;subdirs = off
|
||||
|
||||
; Set how loud PHPDoctor is as it runs. Quiet mode suppresses all output other
|
||||
; than warnings and errors. Verbose mode outputs additional messages during
|
||||
; execution.
|
||||
|
||||
quiet = on
|
||||
;verbose = on
|
||||
|
||||
; Select the doclet to use for generating output.
|
||||
|
||||
doclet = standard
|
||||
;doclet = debug
|
||||
|
||||
; The directory to find the doclet in. Doclets control the HTML output of
|
||||
; phpDoctor and can be modified to suit your needs. They are expected to be
|
||||
; in a directory named after themselves at the location given.
|
||||
|
||||
;doclet_path = ./doclets
|
||||
|
||||
; Select the formatter to use for generating output.
|
||||
|
||||
;formatter = htmlStandardFormatter
|
||||
|
||||
; The directory to find the formatter in. Formatters convert textual markup
|
||||
; for use by the doclet.
|
||||
|
||||
;formatter_path = ./formatters
|
||||
|
||||
; The directory to find taglets in. Taglets allow you to make PHPDoctor handle
|
||||
; new tags and to alter the behavour of existing tags and their output.
|
||||
|
||||
;taglet_path = ./taglets
|
||||
|
||||
; If the code you are parsing does not use package tags or not all elements
|
||||
; have package tags, use this setting to place unbound elements into a
|
||||
; particular package.
|
||||
|
||||
default_package = "phpBB"
|
||||
|
||||
use_class_path_as_package = off
|
||||
|
||||
ignore_package_tags = off
|
||||
|
||||
; Specifies the name of a HTML file containing text for the overview
|
||||
; documentation to be placed on the overview page. The path is relative to
|
||||
; "source_path" unless an absolute path is given.
|
||||
|
||||
overview = ../README.md
|
||||
|
||||
; Package comments will be looked for in a file named package.html in the same
|
||||
; directory as the first source file parsed in that package or in the directory
|
||||
; given below. If package comments are placed in the directory given below then
|
||||
; they should be named "<packageName>.html".
|
||||
|
||||
package_comment_dir = ./
|
||||
|
||||
; Parse out global variables and/or global constants?
|
||||
|
||||
;globals = off
|
||||
;constants = off
|
||||
|
||||
; Generate documentation for all class members
|
||||
|
||||
;private = on
|
||||
|
||||
; Generate documentation for public and protected class members
|
||||
|
||||
;protected = on
|
||||
|
||||
; Generate documentation for only public class members
|
||||
|
||||
;public = on
|
||||
|
||||
; Use the PEAR compatible handling of the docblock first sentence
|
||||
|
||||
;pear_compat = on
|
||||
|
||||
; Standard doclet settings
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
; The directory to place generated documentation in. If the given path is
|
||||
; relative to it will be relative to "source_path".
|
||||
|
||||
d = "../build/api/"
|
||||
|
||||
; Specifies the title to be placed in the HTML <title> tag.
|
||||
|
||||
windowtitle = "phpBB3"
|
||||
|
||||
; Specifies the title to be placed near the top of the overview summary file.
|
||||
|
||||
doctitle = "phpBB3 Sourcecode Documentation"
|
||||
|
||||
; Specifies the header text to be placed at the top of each output file. The
|
||||
; header will be placed to the right of the upper navigation bar.
|
||||
|
||||
header = "phpBB3"
|
||||
|
||||
; Specifies the footer text to be placed at the bottom of each output file. The
|
||||
; footer will be placed to the right of the lower navigation bar.
|
||||
|
||||
footer = "phpBB3"
|
||||
|
||||
; Specifies the text to be placed at the bottom of each output file. The text
|
||||
; will be placed at the bottom of the page, below the lower navigation bar.
|
||||
|
||||
;bottom = "This document was generated by <a href="http://peej.github.com/phpdoctor/">PHPDoctor: The PHP Documentation Creator</a>"
|
||||
|
||||
; Create a class tree?
|
||||
|
||||
;tree = off
|
||||
|
||||
; Use GeSHi to include formatted source files in the documentation. PHPDoctor will look in the current doclet directory for a /geshi subdirectory. Unpack the GeSHi archive from http://qbnz.com/highlighter to get this directory - it will contain a php script and a subdirectory with formatting files.
|
||||
|
||||
include_source = off
|
||||
|
@@ -1,39 +0,0 @@
|
||||
/**********************************************************************/
|
||||
/* Install.SQL */
|
||||
/* Creates a login and makes the user a member of db roles */
|
||||
/* */
|
||||
/**********************************************************************/
|
||||
|
||||
-- Declare variables for database name, username and password
|
||||
DECLARE @dbName sysname,
|
||||
@dbUser sysname,
|
||||
@dbPwd nvarchar(max);
|
||||
|
||||
-- Set variables for database name, username and password
|
||||
SET @dbName = 'PlaceHolderForDb';
|
||||
SET @dbUser = 'PlaceHolderForUser';
|
||||
SET @dbPwd = 'PlaceHolderForPassword';
|
||||
|
||||
DECLARE @cmd nvarchar(max)
|
||||
|
||||
-- Create login
|
||||
IF( SUSER_SID(@dbUser) is null )
|
||||
BEGIN
|
||||
print '-- Creating login '
|
||||
SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N''''
|
||||
EXEC(@cmd)
|
||||
END
|
||||
|
||||
-- Create database user and map to login
|
||||
-- and add user to the datareader, datawriter, ddladmin and securityadmin roles
|
||||
--
|
||||
SET @cmd = N'USE ' + quotename(@DBName) + N';
|
||||
IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N'''))
|
||||
BEGIN
|
||||
print ''-- Creating user'';
|
||||
CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N';
|
||||
print ''-- Adding user'';
|
||||
EXEC sp_addrolemember ''db_owner'', ''' + replace(@dbUser, '''', '''''') + N''';
|
||||
END'
|
||||
EXEC(@cmd)
|
||||
GO
|
@@ -1,15 +0,0 @@
|
||||
USE PlaceHolderForDb$$
|
||||
|
||||
DROP PROCEDURE IF EXISTS add_user $$
|
||||
|
||||
CREATE PROCEDURE add_user()
|
||||
BEGIN
|
||||
DECLARE EXIT HANDLER FOR 1044 BEGIN END;
|
||||
GRANT ALL PRIVILEGES ON PlaceHolderForDb.* to 'PlaceHolderForUser'@'PlaceHolderForServer' IDENTIFIED BY 'PlaceHolderForPassword';
|
||||
FLUSH PRIVILEGES;
|
||||
END
|
||||
$$
|
||||
|
||||
CALL add_user() $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS add_user $$
|
@@ -1,13 +0,0 @@
|
||||
<msdeploy.iisapp>
|
||||
<iisapp path="phpBB3" />
|
||||
|
||||
<dbmysql path="install/mysql.sql" commandDelimiter="$$" removeCommandDelimiter="true" />
|
||||
|
||||
<dbfullsql path="install/mssql.sql" />
|
||||
|
||||
<setAcl path="phpBB3/cache" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
|
||||
<setAcl path="phpBB3/files" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
|
||||
<setAcl path="phpBB3/store" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
|
||||
<setAcl path="phpBB3/images/avatars/upload" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" />
|
||||
<setAcl path="phpBB3/config.php" setAclAccess="Modify" setAclUser="anonymousAuthenticationUser" setAclResourceType="File" />
|
||||
</msdeploy.iisapp>
|
@@ -1,256 +0,0 @@
|
||||
<parameters>
|
||||
<parameter
|
||||
name="AppPath"
|
||||
defaultValue="Default Web Site/phpBB3"
|
||||
tags="iisapp">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="iisapp"
|
||||
match="phpBB3" />
|
||||
</parameter>
|
||||
<!--ACLs-->
|
||||
<parameter
|
||||
name="aclCache"
|
||||
description="Sets the ACL on the cache/ folder"
|
||||
defaultValue="{AppPath}/cache"
|
||||
tags="Hidden">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="setAcl"
|
||||
match="phpBB3/cache$" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="aclFiles"
|
||||
description="Sets the ACL on the files/ folder"
|
||||
defaultValue="{AppPath}/files"
|
||||
tags="Hidden">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="setAcl"
|
||||
match="phpBB3/files$" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="aclStore"
|
||||
description="Sets the ACL on the store/ folder"
|
||||
defaultValue="{AppPath}/store"
|
||||
tags="Hidden">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="setAcl"
|
||||
match="phpBB3/store$" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="aclAvatarUpload"
|
||||
description="Sets the ACL on the avatars/upload/ folder"
|
||||
defaultValue="{AppPath}/images/avatars/upload"
|
||||
tags="Hidden">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="setAcl"
|
||||
match="phpBB3/images/avatars/upload$" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="aclConfig"
|
||||
description="Sets the ACL on the config.php file"
|
||||
defaultValue="{AppPath}/config.php"
|
||||
tags="Hidden">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="setAcl"
|
||||
match="phpBB3/config.php$" />
|
||||
</parameter>
|
||||
|
||||
<!-- SQL parameters -->
|
||||
<parameter name="SQL Database Server" description="Enter the database server (usually machine name ) " defaultValue="." tags="SQL">
|
||||
</parameter>
|
||||
|
||||
<parameter name="SQL DatabaseServer Instance" description="Enter the database instance name" defaultValue="SQLExpress" tags="SQL">
|
||||
</parameter>
|
||||
<!-- Read database server from config.php . Update 'dbhost' in config.php on publish -->
|
||||
<parameter name="SQL Automatic DatabaseServer" defaultValue="dbhost = '{SQL Database Server}\\{SQL DatabaseServer Instance}';" tags="Hidden,SQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbhost\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
<parameter
|
||||
name="SQL DatabaseName" description="Database name for your application." defaultValue="phpbb" tags="SQL, dbName">
|
||||
|
||||
<parameterEntry type="TextFile" scope="install/mssql.sql" match="PlaceHolderForDb" />
|
||||
</parameter>
|
||||
<!-- Read database name from config.php . Update 'dbname' in config.php on publish -->
|
||||
<parameter name="SQL Automatic DatabaseName" defaultValue="dbname = '{SQL DatabaseName}';" tags="Hidden,SQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbname\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="SQL DatabaseAdministrator"
|
||||
description="Database server administartor username."
|
||||
defaultValue="sa"
|
||||
tags="SQL, DbAdminUsername" >
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="SQL DatabaseAdministratorPassword"
|
||||
description="Database server administrator password."
|
||||
tags="Password,SQL,DbAdminPassword">
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="SQL Database Username"
|
||||
description="Username to access your database."
|
||||
defaultValue="phpbb"
|
||||
tags="SQL, DbUsername">
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mssql.sql"
|
||||
match="PlaceHolderForUser" />
|
||||
</parameter>
|
||||
<!-- Read database user from config.php . Update 'dbuser' in config.php on publish -->
|
||||
<parameter name="SQL Automatic Database User" defaultValue="dbuser = '{SQL Database Username}';" tags="Hidden,SQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbuser\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="SQL Database Password"
|
||||
description="Password for your phpBB database. (Must be at least 8 characters, contain at least one lower case letter, one upper case letter and one digit)"
|
||||
tags="New, Password,SQL, DbUserPassword">
|
||||
|
||||
<parameterValidation
|
||||
type = "RegularExpression"
|
||||
validationString = "^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$" />
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mssql.sql"
|
||||
match="PlaceHolderForPassword" />
|
||||
</parameter>
|
||||
|
||||
<!-- Read database user password from config.php . Update 'dbpasswd' in config.php on publish -->
|
||||
<parameter name="SQL Automatic Database Password" defaultValue="dbpasswd = '{SQL Database Password}';" tags="Hidden,SQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbpasswd\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<!-- SQL Connection string -->
|
||||
<parameter
|
||||
name="SQL ConnectionString"
|
||||
description="Automatically sets the connection string for the connection request."
|
||||
defaultValue="Server={SQL Database Server}\{SQL DatabaseServer Instance};Database={SQL DatabaseName};uid={SQL DatabaseAdministrator};Pwd={SQL DatabaseAdministratorPassword};"
|
||||
tags="Hidden,SQLConnectionString,Validate">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="dbfullsql"
|
||||
match="install/mssql.sql" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="SQL Database type"
|
||||
description="SQL database type"
|
||||
defaultValue="mssql"
|
||||
tags="SQL,Hidden">
|
||||
</parameter>
|
||||
|
||||
<!-- MYSQL parameters -->
|
||||
<parameter
|
||||
name="MySQL Database Server"
|
||||
description="Enter the hostname"
|
||||
defaultValue="localhost"
|
||||
tags="MySQL, dbServer">
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mysql.sql"
|
||||
match="PlaceHolderForServer" />
|
||||
</parameter>
|
||||
|
||||
<!-- Read database server from config.php . Update 'dbhost' in config.php on publish -->
|
||||
<parameter name="Automatic MySQL DatabaseServer" defaultValue="dbhost = '{MySQL Database Server}';" tags="Hidden,MySQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbhost\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="MySQL Database Name"
|
||||
description="Database Name for your application."
|
||||
defaultValue="phpbb"
|
||||
tags="MySQL, dbName">
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mysql.sql"
|
||||
match="PlaceHolderForDb" />
|
||||
</parameter>
|
||||
<!-- Read database name from config.php . Update 'dbname' in config.php on publish -->
|
||||
<parameter name="Automatic MySQL Database Name" defaultValue="dbname = '{MySQL Database Name}';" tags="Hidden,MySQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbname\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="MySQL Database Username"
|
||||
description="Username to access your phpBB database."
|
||||
defaultValue="phpbb"
|
||||
tags="MySQL, DbUsername">
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mysql.sql"
|
||||
match="PlaceHolderForUser" />
|
||||
</parameter>
|
||||
<!-- Read database user from config.php . Update 'dbuser' in config.php on publish -->
|
||||
<parameter name="Automatic MySQL Database User" defaultValue="dbuser = '{MySQL Database Username}';" tags="Hidden,MySQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbuser\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<parameter
|
||||
name="MySQL Database Password"
|
||||
description="Password for your phpBB database. (Minimum 4 characters)"
|
||||
tags="New, Password,MySQL,DbUserPassword">
|
||||
|
||||
<parameterValidation
|
||||
type = "RegularExpression"
|
||||
validationString = "^.{4,}$" />
|
||||
|
||||
<parameterEntry
|
||||
type="TextFile"
|
||||
scope="install/mysql.sql"
|
||||
match="PlaceHolderForPassword" />
|
||||
</parameter>
|
||||
<!-- Read database password from config.php . Update 'dbpasswd' in config.php on publish -->
|
||||
<parameter name="MySQL Automatic Database Password" defaultValue="dbpasswd = '{MySQL Database Password}';" tags="Hidden,MySQL">
|
||||
<parameterEntry kind="TextFile" scope="\\config\.php$" match="dbpasswd\s*=\s*'([^']*)'\s*;" />
|
||||
</parameter>
|
||||
|
||||
<!-- MySQL admin credentials -->
|
||||
<parameter
|
||||
name="MySQL Database Administrator"
|
||||
description="Database administrator username."
|
||||
defaultValue="root"
|
||||
tags="MySQL, DbAdminUsername" >
|
||||
</parameter>
|
||||
<parameter
|
||||
name="MySQL Database Administrator Password"
|
||||
description="Database administrator password."
|
||||
tags="Password,MySQL,DbAdminPassword" >
|
||||
</parameter>
|
||||
|
||||
<!-- MySQL Connectionstring -->
|
||||
<parameter
|
||||
name="MySQLConnectionString"
|
||||
description="Automatically sets the connection string for the connection request."
|
||||
defaultValue="Server={MySQL Database Server};Database={MySQL Database Name};uid={MySQL Database Administrator};Pwd={MySQL Database Administrator Password};"
|
||||
tags="Hidden,MySQLConnectionString,Validate">
|
||||
|
||||
<parameterEntry
|
||||
type="ProviderPath"
|
||||
scope="dbmysql"
|
||||
match="install/mysql.sql" />
|
||||
</parameter>
|
||||
</parameters>
|
@@ -4,7 +4,7 @@
|
||||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -35,7 +35,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
* @param int $stackPtr The position of the current token
|
||||
* in the stack passed in $tokens.
|
||||
*
|
||||
* @return null
|
||||
* @return void
|
||||
*/
|
||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
||||
{
|
||||
@@ -120,7 +120,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
* @param integer The stack pointer for the first comment token.
|
||||
* @param array(string=>array) $tags The found file doc comment tags.
|
||||
*
|
||||
* @return null
|
||||
* @return void
|
||||
*/
|
||||
protected function processPackage(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
@@ -143,7 +143,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
* @param integer The stack pointer for the first comment token.
|
||||
* @param array(string=>array) $tags The found file doc comment tags.
|
||||
*
|
||||
* @return null
|
||||
* @return void
|
||||
*/
|
||||
protected function processVersion(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
@@ -166,7 +166,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
* @param integer The stack pointer for the first comment token.
|
||||
* @param array(string=>array) $tags The found file doc comment tags.
|
||||
*
|
||||
* @return null
|
||||
* @return void
|
||||
*/
|
||||
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
@@ -189,7 +189,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
* @param integer The stack pointer for the first comment token.
|
||||
* @param array(string=>array) $tags The found file doc comment tags.
|
||||
*
|
||||
* @return null
|
||||
* @return void
|
||||
*/
|
||||
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
@@ -207,4 +207,4 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
$phpcsFile->addError($message, $tags['license'][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -4,7 +4,7 @@
|
||||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -48,4 +48,4 @@ class phpbb_Tests_Commenting_FileCommentUnitTest extends AbstractSniffUnitTest
|
||||
8 => 1
|
||||
);
|
||||
}//end getWarningList()
|
||||
}
|
||||
}
|
65
code_sniffer/phpbb/build.xml
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="code_sniffer" basedir="." default="phpunit">
|
||||
|
||||
<property name="cvs.module" value="pear/PHP_CodeSniffer" />
|
||||
<property name="working.dir" value="${basedir}/_work/code" />
|
||||
<property name="test.coverage" value="${basedir}/_work/coverage" />
|
||||
|
||||
<target name="phpunit" depends="update,prepare">
|
||||
<exec executable="phpunit">
|
||||
<arg line="--coverage-html ${test.coverage}
|
||||
PHP_CodeSniffer_AllTests
|
||||
${working.dir}/${cvs.module}/tests/AllTests.php" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="prepare">
|
||||
<delete dir="${working.dir}/${cvs.module}/CodeSniffer/Standards/phpbb" />
|
||||
<mkdir dir="${working.dir}/${cvs.module}/CodeSniffer/Standards/phpbb"/>
|
||||
|
||||
<copy todir="${working.dir}/${cvs.module}/CodeSniffer/Standards/phpbb/Sniffs">
|
||||
<fileset dir="${basedir}/Sniffs" />
|
||||
</copy>
|
||||
|
||||
<copy todir="${working.dir}/${cvs.module}/CodeSniffer/Standards/phpbb/Tests">
|
||||
<fileset dir="${basedir}/Tests" />
|
||||
</copy>
|
||||
|
||||
<copy todir="${working.dir}/${cvs.module}/CodeSniffer/Standards/phpbb">
|
||||
<fileset file="${basedir}/phpbbCodingStandard.php" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="cleanup">
|
||||
<delete dir="${working.dir}" />
|
||||
</target>
|
||||
|
||||
<target name="update">
|
||||
<exec executable="cvs" dir="${working.dir}/${cvs.module}">
|
||||
<arg line="up" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="checkout" depends="cleanup">
|
||||
<cvspass cvsroot=":pserver:cvsread@cvs.php.net:/repository" password="phpfi" />
|
||||
<cvs cvsRoot=":pserver:cvsread@cvs.php.net:/repository"
|
||||
package="${cvs.module}"
|
||||
dest="${working.dir}" />
|
||||
</target>
|
||||
|
||||
<!--
|
||||
Installs the sniffs on my local development machine
|
||||
-->
|
||||
<target name="install">
|
||||
<delete dir="/usr/local/pear/PEAR/PHP/CodeSniffer/Standards/phpbb" />
|
||||
<mkdir dir="/usr/local/pear/PEAR/PHP/CodeSniffer/Standards/phpbb" />
|
||||
|
||||
<copy todir="/usr/local/pear/PEAR/PHP/CodeSniffer/Standards/phpbb">
|
||||
<fileset file="${basedir}/phpbbCodingStandard.php" />
|
||||
</copy>
|
||||
<copy todir="/usr/local/pear/PEAR/PHP/CodeSniffer/Standards/phpbb/Sniffs">
|
||||
<fileset dir="${basedir}/Sniffs" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
</project>
|
@@ -4,7 +4,7 @@
|
||||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -40,4 +40,4 @@ class PHP_CodeSniffer_Standards_phpbb_phpbbCodingStandard extends PHP_CodeSniffe
|
||||
{
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
BIN
composer.phar
@@ -1,51 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# @copyright (c) 2014 phpBB Group
|
||||
# @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
#
|
||||
# Calls the git commit-msg hook on all non-merge commits in a given commit range.
|
||||
#
|
||||
|
||||
if [ "$#" -ne 1 ];
|
||||
then
|
||||
echo "Expected one argument (commit range, e.g. phpbb/develop..ticket/12345)."
|
||||
exit
|
||||
fi
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
COMMIT_RANGE="$1"
|
||||
COMMIT_MSG_HOOK_PATH="$DIR/hooks/commit-msg"
|
||||
COMMIT_MSG_HOOK_FATAL=$(git config --bool phpbb.hooks.commit-msg.fatal 2> /dev/null)
|
||||
git config phpbb.hooks.commit-msg.fatal true
|
||||
|
||||
EXIT_STATUS=0
|
||||
for COMMIT_HASH in $(git rev-list --no-merges "$COMMIT_RANGE")
|
||||
do
|
||||
echo "Inspecting commit message of commit $COMMIT_HASH"
|
||||
|
||||
# The git commit-msg hook takes a path to a file containing a commit
|
||||
# message. So we have to extract the commit message into a file first,
|
||||
# which then also needs to be deleted after our work is done.
|
||||
COMMIT_MESSAGE_PATH="$DIR/commit_msg.$COMMIT_HASH"
|
||||
git log -n 1 --pretty=format:%B "$COMMIT_HASH" > "$COMMIT_MESSAGE_PATH"
|
||||
|
||||
# Invoke hook on commit message file.
|
||||
"$COMMIT_MSG_HOOK_PATH" "$COMMIT_MESSAGE_PATH"
|
||||
|
||||
# If any commit message hook complains with a non-zero exit status, we
|
||||
# will send a non-zero exit status upstream.
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
EXIT_STATUS=1
|
||||
fi
|
||||
|
||||
rm "$COMMIT_MESSAGE_PATH"
|
||||
done
|
||||
|
||||
# Restore phpbb.hooks.commit-msg.fatal config
|
||||
if [ -n "$COMMIT_MSG_HOOK_FATAL" ]
|
||||
then
|
||||
git config phpbb.hooks.commit-msg.fatal "$COMMIT_MSG_HOOK_FATAL"
|
||||
fi
|
||||
|
||||
exit $EXIT_STATUS
|
@@ -1,359 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to check syntax of a phpBB3 commit message, per:
|
||||
# * <http://wiki.phpbb.com/display/DEV/Git>
|
||||
# * <http://area51.phpbb.com/phpBB/viewtopic.php?p=209919#p209919>
|
||||
#
|
||||
# This is a commit-msg hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks, example:
|
||||
#
|
||||
# ln -s ../../git-tools/hooks/commit-msg \\
|
||||
# .git/hooks/commit-msg
|
||||
#
|
||||
# You can configure whether invalid commit messages abort commits:
|
||||
#
|
||||
# git config phpbb.hooks.commit-msg.fatal true (abort)
|
||||
# git config phpbb.hooks.commit-msg.fatal false (warn only, do not abort)
|
||||
#
|
||||
# The default is to warn only.
|
||||
#
|
||||
# Warning/error messages use color by default if the output is a terminal
|
||||
# ("output" here is normally standard error when you run git commit).
|
||||
# To force or disable the use of color:
|
||||
#
|
||||
# git config phpbb.hooks.commit-msg.color true (force color output)
|
||||
# git config phpbb.hooks.commit-msg.color false (disable color output)
|
||||
|
||||
config_ns="phpbb.hooks.commit-msg";
|
||||
|
||||
if [ "$(git config --bool $config_ns.fatal)" = "true" ]
|
||||
then
|
||||
fatal=1;
|
||||
severity=Error;
|
||||
else
|
||||
fatal=0;
|
||||
severity=Warning;
|
||||
fi
|
||||
|
||||
debug_level=$(git config --int $config_ns.debug || echo 0);
|
||||
|
||||
# Error codes
|
||||
ERR_LENGTH=1;
|
||||
ERR_HEADER=2;
|
||||
ERR_EMPTY=3;
|
||||
ERR_DESCRIPTION=4;
|
||||
ERR_FOOTER=5;
|
||||
ERR_EOF=6;
|
||||
ERR_UNKNOWN=42;
|
||||
|
||||
debug()
|
||||
{
|
||||
local level;
|
||||
|
||||
level=$1;
|
||||
shift;
|
||||
|
||||
if [ $debug_level -ge $level ]
|
||||
then
|
||||
echo $@;
|
||||
fi
|
||||
}
|
||||
|
||||
quit()
|
||||
{
|
||||
if [ $1 -eq 0 ] || [ $1 -eq $ERR_UNKNOWN ]
|
||||
then
|
||||
# success
|
||||
exit 0;
|
||||
elif [ $fatal -eq 0 ]
|
||||
then
|
||||
# problems found but fatal is false
|
||||
complain 'Please run `git commit --amend` and fix the problems mentioned.' 1>&2
|
||||
exit 0;
|
||||
else
|
||||
complain "Aborting commit." 1>&2
|
||||
exit $1;
|
||||
fi
|
||||
}
|
||||
|
||||
use_color()
|
||||
{
|
||||
if [ -z "$use_color_cached" ]
|
||||
then
|
||||
case $(git config --bool $config_ns.color)
|
||||
in
|
||||
false)
|
||||
use_color_cached=1
|
||||
;;
|
||||
true)
|
||||
use_color_cached=0
|
||||
;;
|
||||
*)
|
||||
# tty detection in shell:
|
||||
# http://hwi.ath.cx/jsh/list/shext/isatty.sh.html
|
||||
tty 0>/dev/stdout >/dev/null 2>&1
|
||||
use_color_cached=$?
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# return value is the flag inverted -
|
||||
# if return value is 0, this means use color
|
||||
return $use_color_cached
|
||||
}
|
||||
|
||||
complain()
|
||||
{
|
||||
if use_color
|
||||
then
|
||||
# Careful: our argument may include arguments to echo like -n
|
||||
# ANSI color codes:
|
||||
# http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
|
||||
printf "\033[31m\033[1m"
|
||||
if [ "$1" = "-n" ]
|
||||
then
|
||||
echo "$@"
|
||||
printf "\033[0m"
|
||||
else
|
||||
# This will print one trailing space.
|
||||
# Not sure how to avoid this at the moment.
|
||||
echo "$@" $(printf "\033[0m")
|
||||
fi
|
||||
else
|
||||
echo "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check for empty commit message
|
||||
if ! grep -qv '^#' "$1"
|
||||
then
|
||||
# Commit message is empty (or contains only comments).
|
||||
# Let git handle this.
|
||||
# It will abort with a message like so:
|
||||
#
|
||||
# Aborting commit due to empty commit message.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
msg=$(grep -v '^#' "$1" |grep -nE '.{81,}')
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
complain "The following lines are greater than 80 characters long:" >&2;
|
||||
complain >&2
|
||||
complain "$msg" >&2;
|
||||
|
||||
quit $ERR_LENGTH;
|
||||
fi
|
||||
|
||||
lines=$(wc -l "$1" | awk '{ print $1; }');
|
||||
expecting=header;
|
||||
in_description=0;
|
||||
in_empty=0;
|
||||
ticket=0;
|
||||
branch_regex="[a-z]+[a-z0-9-]*[a-z0-9]+";
|
||||
i=1;
|
||||
tickets="";
|
||||
|
||||
while [ $i -le $lines ]
|
||||
do
|
||||
# Grab the line we are studying
|
||||
line=$(head -n$i "$1" | tail -n1);
|
||||
|
||||
debug 1 "==> [$i] $line (description: $in_description, empty: $in_empty)";
|
||||
|
||||
err=$ERR_UNKNOWN;
|
||||
|
||||
if [ -z "$expecting" ]
|
||||
then
|
||||
quit $err;
|
||||
fi
|
||||
|
||||
if [ "${expecting#comment}" = "$expecting" ]
|
||||
then
|
||||
# Prefix comments to the expected tokens list
|
||||
expecting="comment $expecting";
|
||||
fi
|
||||
|
||||
debug 2 "Expecting: $expecting";
|
||||
|
||||
# Loop over each of the expected line formats
|
||||
for expect in $expecting
|
||||
do
|
||||
# Reset the error code each iteration
|
||||
err=$ERR_UNKNOWN;
|
||||
|
||||
# Test for validity of each line format
|
||||
# This is done first so $? contains the result
|
||||
case $expect in
|
||||
"header")
|
||||
err=$ERR_HEADER;
|
||||
echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] .+$"
|
||||
result=$?
|
||||
if ! echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] [A-Z].+$"
|
||||
then
|
||||
# Don't be too strict.
|
||||
# Commits may be temporary, intended to be squashed later.
|
||||
# Just issue a warning here.
|
||||
complain "$severity: heading should be a sentence beginning with a capital letter." 1>&2
|
||||
complain "You entered:" 1>&2
|
||||
complain "$line" 1>&2
|
||||
fi
|
||||
# restore exit code
|
||||
(exit $result)
|
||||
;;
|
||||
"empty")
|
||||
err=$ERR_EMPTY;
|
||||
echo "$line" | grep -Eq "^$"
|
||||
;;
|
||||
"description")
|
||||
err=$ERR_DESCRIPTION;
|
||||
# Free flow text, the line length was constrained by the initial check
|
||||
echo "$line" | grep -Eq "^.+$";
|
||||
;;
|
||||
"footer")
|
||||
err=$ERR_FOOTER;
|
||||
# Each ticket is on its own line
|
||||
echo "$line" | grep -Eq "^PHPBB3-[0-9]+$";
|
||||
;;
|
||||
"eof")
|
||||
err=$ERR_EOF;
|
||||
# Should not end up here
|
||||
false
|
||||
;;
|
||||
"possibly-eof")
|
||||
# Allow empty and/or comment lines at the end
|
||||
! tail -n +"$i" "$1" |grep -qvE '^($|#)'
|
||||
;;
|
||||
"comment")
|
||||
echo "$line" | grep -Eq "^#";
|
||||
;;
|
||||
*)
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit $err;
|
||||
;;
|
||||
esac
|
||||
|
||||
# Preserve the result of the line check
|
||||
result=$?;
|
||||
|
||||
debug 2 "$expect - '$line' - $result";
|
||||
|
||||
if [ $result -eq 0 ]
|
||||
then
|
||||
# Break out the loop on success
|
||||
# otherwise roll on round and keep looking for a match
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $result -eq 0 ]
|
||||
then
|
||||
# Have we switched out of description mode?
|
||||
if [ $in_description -eq 1 ] && [ "$expect" != "description" ] && [ "$expect" != "empty" ] && [ "$expect" != "comment" ]
|
||||
then
|
||||
# Yes, okay we need to backtrace one line and reanalyse
|
||||
in_description=0;
|
||||
i=$(( $i - $in_empty ));
|
||||
|
||||
# Reset the empty counter
|
||||
in_empty=0;
|
||||
continue;
|
||||
fi
|
||||
|
||||
# Successful match, but on which line format
|
||||
case $expect in
|
||||
"header")
|
||||
expecting="empty";
|
||||
|
||||
echo "$line" | grep -Eq "^\[ticket/[0-9]+\]$" && (
|
||||
ticket=$(echo "$line" | sed 's,\[ticket/\([0-9]*\)\].*,\1,');
|
||||
)
|
||||
;;
|
||||
"empty")
|
||||
# Description might have empty lines as spacing
|
||||
expecting="footer description";
|
||||
in_empty=$(($in_empty + 1));
|
||||
|
||||
if [ $in_description -eq 1 ]
|
||||
then
|
||||
expecting="$expecting empty";
|
||||
fi
|
||||
;;
|
||||
"description")
|
||||
expecting="description empty";
|
||||
in_description=1;
|
||||
;;
|
||||
"footer")
|
||||
expecting="footer possibly-eof";
|
||||
if [ "$tickets" = "" ]
|
||||
then
|
||||
tickets="$line";
|
||||
else
|
||||
tickets="$tickets $line";
|
||||
fi
|
||||
;;
|
||||
"comment")
|
||||
# Comments should expect the same thing again
|
||||
;;
|
||||
"possibly-eof")
|
||||
expecting="eof";
|
||||
;;
|
||||
*)
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit 254;
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$expect" != "empty" ]
|
||||
then
|
||||
in_empty=0;
|
||||
fi
|
||||
|
||||
debug 3 "Now expecting: $expecting";
|
||||
else
|
||||
# None of the expected line formats matched
|
||||
# Guess we'll call it a day here then
|
||||
complain "Syntax error on line $i:" >&2;
|
||||
complain ">> $line" >&2;
|
||||
complain -n "Expecting: " >&2;
|
||||
complain "$expecting" | sed 's/ /, /g' >&2;
|
||||
quit $err;
|
||||
fi
|
||||
|
||||
i=$(( $i + 1 ));
|
||||
done
|
||||
|
||||
# If EOF is expected exit cleanly
|
||||
echo "$expecting" | grep -q "eof" || (
|
||||
# Unexpected EOF, error
|
||||
complain "Unexpected EOF encountered" >&2;
|
||||
quit $ERR_EOF;
|
||||
) && (
|
||||
# Do post scan checks
|
||||
if [ ! -z "$tickets" ]
|
||||
then
|
||||
# Check for duplicate tickets
|
||||
dupes=$(echo "$tickets" | sed 's/ /\n/g' | sort | uniq -d);
|
||||
|
||||
if [ ! -z "$dupes" ]
|
||||
then
|
||||
complain "The following tickets are repeated:" >&2;
|
||||
complain "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
quit $ERR_FOOTER;
|
||||
fi
|
||||
fi
|
||||
# Check the branch ticket is mentioned, doesn't make sense otherwise
|
||||
if [ $ticket -gt 0 ]
|
||||
then
|
||||
echo "$tickets" | grep -Eq "\bPHPBB3-$ticket\b" || (
|
||||
complain "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
|
||||
complain "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
quit $ERR_FOOTER;
|
||||
) || exit $?;
|
||||
fi
|
||||
# Got here okay exit to reality
|
||||
exit 0;
|
||||
);
|
||||
exit $?;
|
@@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Script to install the git hooks
|
||||
# by symlinking them into the .git/hooks directory
|
||||
#
|
||||
# Usage (from within git-tools/hooks):
|
||||
# ./install
|
||||
|
||||
dir=$(dirname $0)
|
||||
|
||||
for file in $(ls $dir)
|
||||
do
|
||||
if [ $file != "install" ] && [ $file != "uninstall" ]
|
||||
then
|
||||
ln -s "../../git-tools/hooks/$file" "$dir/../../.git/hooks/$file"
|
||||
fi
|
||||
done
|
@@ -1,88 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to disallow php syntax errors to be committed
|
||||
# by running php -l (lint) on them. It requires php-cli
|
||||
# to be installed.
|
||||
#
|
||||
# This is a pre-commit hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks, example:
|
||||
#
|
||||
# ln -s ../../git-tools/hooks/pre-commit \\
|
||||
# .git/hooks/pre-commit
|
||||
|
||||
if [ -z "$PHP_BIN" ]
|
||||
then
|
||||
PHP_BIN=php
|
||||
fi
|
||||
|
||||
if [ "$(echo -e test)" = test ]
|
||||
then
|
||||
echo_e="echo -e"
|
||||
else
|
||||
echo_e="echo"
|
||||
fi
|
||||
|
||||
# necessary check for initial commit
|
||||
if git rev-parse --verify HEAD >/dev/null 2>&1
|
||||
then
|
||||
against=HEAD
|
||||
else
|
||||
# Initial commit: diff against an empty tree object
|
||||
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
||||
fi
|
||||
|
||||
errors=""
|
||||
if ! which "$PHP_BIN" >/dev/null 2>&1
|
||||
then
|
||||
echo "PHP Syntax check failed:"
|
||||
echo "PHP binary does not exist or is not in path: $PHP_BIN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# dash does not support $'\n':
|
||||
# http://forum.soft32.com/linux2/Bug-409179-DASH-Settings-IFS-work-properly-ftopict70039.html
|
||||
IFS='
|
||||
'
|
||||
# get a list of staged files
|
||||
for line in $(git diff-index --cached --full-index $against)
|
||||
do
|
||||
# split needed values
|
||||
sha=$(echo $line | cut -d' ' -f4)
|
||||
temp=$(echo $line | cut -d' ' -f5)
|
||||
status=$(echo $temp | cut -d' ' -f1)
|
||||
filename=$(echo $temp | cut -d' ' -f2)
|
||||
|
||||
# file extension
|
||||
ext=$(echo $filename | sed 's/^.*\.//')
|
||||
|
||||
# only check files with php extension
|
||||
if [ $ext != "php" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# do not check deleted files
|
||||
if [ $status = "D" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# check the staged file content for syntax errors
|
||||
# using php -l (lint)
|
||||
result=$(git cat-file -p $sha | "$PHP_BIN" -n -l -ddisplay_errors\=1 -derror_reporting\=E_ALL -dlog_errrors\=0 2>&1)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
# Swap back in correct filenames
|
||||
errors=$(echo "$errors"; echo "$result" | grep ':' | sed -e "s@in - on@in $filename on@g")
|
||||
fi
|
||||
done
|
||||
unset IFS
|
||||
|
||||
if [ -n "$errors" ]
|
||||
then
|
||||
echo "PHP Syntax check failed: "
|
||||
$echo_e "$errors"
|
||||
exit 1
|
||||
fi
|
@@ -1,42 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to add [$branch] to the beginning of a commit message
|
||||
# if certain conditions are met.
|
||||
#
|
||||
# This is a prepare-commit-msg hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks, example:
|
||||
#
|
||||
# ln -s ../../git-tools/hooks/prepare-commit-msg \\
|
||||
# .git/hooks/prepare-commit-msg
|
||||
|
||||
# get branch name
|
||||
branch="$(git symbolic-ref HEAD)"
|
||||
|
||||
# exit if no branch name is present
|
||||
# (eg. detached HEAD)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
# strip off refs/heads/
|
||||
branch="$(echo "$branch" | sed "s/refs\/heads\///g")"
|
||||
|
||||
# add [branchname] to commit message
|
||||
# * only run when normal commit is made (without -m or -F;
|
||||
# not a merge, etc.)
|
||||
# * also make sure the branch name begins with bug/ or feature/
|
||||
if [ "$2" = "" ]
|
||||
then
|
||||
tail="";
|
||||
|
||||
# Branch is prefixed with 'ticket/', append ticket ID to message
|
||||
if [ "$branch" != "${branch##ticket/}" ];
|
||||
then
|
||||
tail="$(printf "\n\nPHPBB3-${branch##ticket/}")";
|
||||
fi
|
||||
|
||||
echo "[$branch] $tail$(cat "$1")" > "$1"
|
||||
fi
|
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Script to uninstall the git hooks
|
||||
#
|
||||
# Usage (from within git-tools/hooks):
|
||||
# ./uninstall
|
||||
|
||||
dir=$(dirname $0)
|
||||
|
||||
for file in $(ls $dir)
|
||||
do
|
||||
if [ $file != "install" ] && [ $file != "uninstall" ]
|
||||
then
|
||||
rm -f "$dir/../../.git/hooks/$file"
|
||||
fi
|
||||
done
|
@@ -1,190 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
function show_usage()
|
||||
{
|
||||
$filename = basename(__FILE__);
|
||||
|
||||
echo "$filename merges a github pull request.\n";
|
||||
echo "\n";
|
||||
|
||||
echo "Usage: [php] $filename -p pull_request_id [OPTIONS]\n";
|
||||
echo "\n";
|
||||
|
||||
echo "Options:\n";
|
||||
echo " -p pull_request_id The pull request id to be merged (mandatory)\n";
|
||||
echo " -r remote Remote of upstream, defaults to 'upstream' (optional)\n";
|
||||
echo " -d Outputs the commands instead of running them (optional)\n";
|
||||
echo " -h This help text\n";
|
||||
|
||||
exit(2);
|
||||
}
|
||||
|
||||
// Handle arguments
|
||||
$opts = getopt('p:r:dh');
|
||||
|
||||
if (empty($opts) || isset($opts['h']))
|
||||
{
|
||||
show_usage();
|
||||
}
|
||||
|
||||
$pull_id = get_arg($opts, 'p', '');
|
||||
$remote = get_arg($opts, 'r', 'upstream');
|
||||
$dry_run = !get_arg($opts, 'd', true);
|
||||
|
||||
try
|
||||
{
|
||||
exit(work($pull_id, $remote));
|
||||
}
|
||||
catch (RuntimeException $e)
|
||||
{
|
||||
echo $e->getMessage();
|
||||
exit($e->getCode());
|
||||
}
|
||||
|
||||
function work($pull_id, $remote)
|
||||
{
|
||||
// Get some basic data
|
||||
$pull = get_pull('phpbb', 'phpbb3', $pull_id);
|
||||
|
||||
if (!$pull_id)
|
||||
{
|
||||
show_usage();
|
||||
}
|
||||
|
||||
if ($pull['state'] != 'open')
|
||||
{
|
||||
throw new RuntimeException(sprintf("Error: pull request is closed\n",
|
||||
$target_branch), 5);
|
||||
}
|
||||
|
||||
$pull_user = $pull['head'][0];
|
||||
$pull_branch = $pull['head'][1];
|
||||
$target_branch = $pull['base'][1];
|
||||
|
||||
switch ($target_branch)
|
||||
{
|
||||
case 'develop-olympus':
|
||||
run("git checkout develop-olympus");
|
||||
run("git pull $remote develop-olympus");
|
||||
|
||||
add_remote($pull_user, 'phpbb3');
|
||||
run("git fetch $pull_user");
|
||||
run("git merge --no-ff $pull_user/$pull_branch");
|
||||
run("phpBB/vendor/bin/phpunit");
|
||||
|
||||
run("git checkout develop");
|
||||
run("git pull $remote develop");
|
||||
run("git merge --no-ff develop-olympus");
|
||||
run("phpBB/vendor/bin/phpunit");
|
||||
break;
|
||||
|
||||
case 'develop':
|
||||
run("git checkout develop");
|
||||
run("git pull $remote develop");
|
||||
|
||||
add_remote($pull_user, 'phpbb3');
|
||||
run("git fetch $pull_user");
|
||||
run("git merge --no-ff $pull_user/$pull_branch");
|
||||
run("phpBB/vendor/bin/phpunit");
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new RuntimeException(sprintf("Error: pull request target branch '%s' is not a main branch\n",
|
||||
$target_branch), 5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function add_remote($username, $repository, $pushable = false)
|
||||
{
|
||||
$url = get_repository_url($username, $repository, false);
|
||||
run("git remote add $username $url", true);
|
||||
|
||||
if ($pushable)
|
||||
{
|
||||
$ssh_url = get_repository_url($username, $repository, true);
|
||||
run("git remote set-url --push $username $ssh_url");
|
||||
}
|
||||
}
|
||||
|
||||
function get_repository_url($username, $repository, $ssh = false)
|
||||
{
|
||||
$url_base = ($ssh) ? 'git@github.com:' : 'git://github.com/';
|
||||
|
||||
return $url_base . $username . '/' . $repository . '.git';
|
||||
}
|
||||
|
||||
function api_request($query)
|
||||
{
|
||||
return api_url_request("https://api.github.com/$query?per_page=100");
|
||||
}
|
||||
|
||||
function api_url_request($url)
|
||||
{
|
||||
$contents = file_get_contents($url, false, stream_context_create(array(
|
||||
'http' => array(
|
||||
'header' => "User-Agent: phpBB/1.0\r\n",
|
||||
),
|
||||
)));
|
||||
|
||||
if ($contents === false)
|
||||
{
|
||||
throw new RuntimeException("Error: failed to retrieve pull request data\n", 4);
|
||||
}
|
||||
$contents = json_decode($contents);
|
||||
|
||||
if (isset($contents->message) && strpos($contents->message, 'API Rate Limit') === 0)
|
||||
{
|
||||
throw new RuntimeException('Reached github API Rate Limit. Please try again later' . "\n", 4);
|
||||
}
|
||||
|
||||
return $contents;
|
||||
}
|
||||
|
||||
function get_pull($username, $repository, $pull_id)
|
||||
{
|
||||
$request = api_request("repos/$username/$repository/pulls/$pull_id");
|
||||
|
||||
$pull = $request->pull;
|
||||
|
||||
$pull_data = array(
|
||||
'base' => array($pull->base->user->login, $pull->base->ref),
|
||||
'head' => array($pull->head->user->login, $pull->head->ref),
|
||||
'state' => $pull->state,
|
||||
);
|
||||
|
||||
return $pull_data;
|
||||
}
|
||||
|
||||
function get_arg($array, $index, $default)
|
||||
{
|
||||
return isset($array[$index]) ? $array[$index] : $default;
|
||||
}
|
||||
|
||||
function run($cmd, $ignore_fail = false)
|
||||
{
|
||||
global $dry_run;
|
||||
|
||||
if (!empty($dry_run))
|
||||
{
|
||||
echo "$cmd\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
passthru(escapeshellcmd($cmd), $status);
|
||||
|
||||
if ($status != 0 && !$ignore_fail)
|
||||
{
|
||||
throw new RuntimeException(sprintf("Error: command '%s' failed with status %s'\n",
|
||||
$cmd, $status), 6);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,288 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
function show_usage()
|
||||
{
|
||||
$filename = basename(__FILE__);
|
||||
|
||||
echo "$filename adds repositories of a github network as remotes to a local git repository.\n";
|
||||
echo "\n";
|
||||
|
||||
echo "Usage: [php] $filename -s collaborators|organisation|contributors|forks [OPTIONS]\n";
|
||||
echo "\n";
|
||||
|
||||
echo "Scopes:\n";
|
||||
echo " collaborators Repositories of people who have push access to the specified repository\n";
|
||||
echo " contributors Repositories of people who have contributed to the specified repository\n";
|
||||
echo " organisation Repositories of members of the organisation at github\n";
|
||||
echo " forks All repositories of the whole github network\n";
|
||||
echo "\n";
|
||||
|
||||
echo "Options:\n";
|
||||
echo " -s scope See description above (mandatory)\n";
|
||||
echo " -u github_username Overwrites the github username (optional)\n";
|
||||
echo " -r repository_name Overwrites the repository name (optional)\n";
|
||||
echo " -m your_github_username Sets up ssh:// instead of git:// for pushable repositories (optional)\n";
|
||||
echo " -d Outputs the commands instead of running them (optional)\n";
|
||||
echo " -h This help text\n";
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Handle arguments
|
||||
$opts = getopt('s:u:r:m:dh');
|
||||
|
||||
if (empty($opts) || isset($opts['h']))
|
||||
{
|
||||
show_usage();
|
||||
}
|
||||
|
||||
$scope = get_arg($opts, 's', '');
|
||||
$username = get_arg($opts, 'u', 'phpbb');
|
||||
$repository = get_arg($opts, 'r', 'phpbb3');
|
||||
$developer = get_arg($opts, 'm', '');
|
||||
$dry_run = !get_arg($opts, 'd', true);
|
||||
run(null, $dry_run);
|
||||
exit(work($scope, $username, $repository, $developer));
|
||||
|
||||
function work($scope, $username, $repository, $developer)
|
||||
{
|
||||
// Get some basic data
|
||||
$forks = get_forks($username, $repository);
|
||||
$collaborators = get_collaborators($username, $repository);
|
||||
|
||||
if ($forks === false || $collaborators === false)
|
||||
{
|
||||
echo "Error: failed to retrieve forks or collaborators\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch ($scope)
|
||||
{
|
||||
case 'collaborators':
|
||||
$remotes = array_intersect_key($forks, $collaborators);
|
||||
break;
|
||||
|
||||
case 'organisation':
|
||||
$remotes = array_intersect_key($forks, get_organisation_members($username));
|
||||
break;
|
||||
|
||||
case 'contributors':
|
||||
$remotes = array_intersect_key($forks, get_contributors($username, $repository));
|
||||
break;
|
||||
|
||||
case 'forks':
|
||||
$remotes = $forks;
|
||||
break;
|
||||
|
||||
default:
|
||||
show_usage();
|
||||
}
|
||||
|
||||
if (file_exists('.git'))
|
||||
{
|
||||
add_remote($username, $repository, isset($collaborators[$developer]));
|
||||
}
|
||||
else
|
||||
{
|
||||
clone_repository($username, $repository, isset($collaborators[$developer]));
|
||||
}
|
||||
|
||||
// Add private security repository for developers
|
||||
if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer]))
|
||||
{
|
||||
run("git remote add $username-security " . get_repository_url($username, "$repository-security", true));
|
||||
}
|
||||
|
||||
// Skip blessed repository.
|
||||
unset($remotes[$username]);
|
||||
|
||||
foreach ($remotes as $remote)
|
||||
{
|
||||
add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer);
|
||||
}
|
||||
|
||||
run('git remote update');
|
||||
}
|
||||
|
||||
function clone_repository($username, $repository, $pushable = false)
|
||||
{
|
||||
$url = get_repository_url($username, $repository, false);
|
||||
run("git clone $url ./ --origin $username");
|
||||
|
||||
if ($pushable)
|
||||
{
|
||||
$ssh_url = get_repository_url($username, $repository, true);
|
||||
run("git remote set-url --push $username $ssh_url");
|
||||
}
|
||||
}
|
||||
|
||||
function add_remote($username, $repository, $pushable = false)
|
||||
{
|
||||
$url = get_repository_url($username, $repository, false);
|
||||
run("git remote add $username $url");
|
||||
|
||||
if ($pushable)
|
||||
{
|
||||
$ssh_url = get_repository_url($username, $repository, true);
|
||||
run("git remote set-url --push $username $ssh_url");
|
||||
}
|
||||
}
|
||||
|
||||
function get_repository_url($username, $repository, $ssh = false)
|
||||
{
|
||||
$url_base = ($ssh) ? 'git@github.com:' : 'git://github.com/';
|
||||
|
||||
return $url_base . $username . '/' . $repository . '.git';
|
||||
}
|
||||
|
||||
function api_request($query)
|
||||
{
|
||||
return api_url_request("https://api.github.com/$query?per_page=100");
|
||||
}
|
||||
|
||||
function api_url_request($url)
|
||||
{
|
||||
$contents = file_get_contents($url, false, stream_context_create(array(
|
||||
'http' => array(
|
||||
'header' => "User-Agent: phpBB/1.0\r\n",
|
||||
),
|
||||
)));
|
||||
|
||||
$sub_request_result = array();
|
||||
// Check headers for pagination links
|
||||
if (!empty($http_response_header))
|
||||
{
|
||||
foreach ($http_response_header as $header_element)
|
||||
{
|
||||
// Find Link Header which gives us a link to the next page
|
||||
if (strpos($header_element, 'Link: ') === 0)
|
||||
{
|
||||
list($head, $header_content) = explode(': ', $header_element);
|
||||
foreach (explode(', ', $header_content) as $links)
|
||||
{
|
||||
list($url, $rel) = explode('; ', $links);
|
||||
if ($rel == 'rel="next"')
|
||||
{
|
||||
// Found a next link, follow it and merge the results
|
||||
$sub_request_result = api_url_request(substr($url, 1, -1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($contents === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$contents = json_decode($contents);
|
||||
|
||||
if (isset($contents->message) && strpos($contents->message, 'API Rate Limit') === 0)
|
||||
{
|
||||
throw new RuntimeException('Reached github API Rate Limit. Please try again later' . "\n", 4);
|
||||
}
|
||||
|
||||
return ($sub_request_result) ? array_merge($sub_request_result, $contents) : $contents;
|
||||
}
|
||||
|
||||
function get_contributors($username, $repository)
|
||||
{
|
||||
$request = api_request("repos/$username/$repository/stats/contributors");
|
||||
if ($request === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$usernames = array();
|
||||
foreach ($request as $contribution)
|
||||
{
|
||||
$usernames[$contribution->author->login] = $contribution->author->login;
|
||||
}
|
||||
|
||||
return $usernames;
|
||||
}
|
||||
|
||||
function get_organisation_members($username)
|
||||
{
|
||||
$request = api_request("orgs/$username/public_members");
|
||||
if ($request === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$usernames = array();
|
||||
foreach ($request as $member)
|
||||
{
|
||||
$usernames[$member->login] = $member->login;
|
||||
}
|
||||
|
||||
return $usernames;
|
||||
}
|
||||
|
||||
function get_collaborators($username, $repository)
|
||||
{
|
||||
$request = api_request("repos/$username/$repository/collaborators");
|
||||
if ($request === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$usernames = array();
|
||||
foreach ($request as $collaborator)
|
||||
{
|
||||
$usernames[$collaborator->login] = $collaborator->login;
|
||||
}
|
||||
|
||||
return $usernames;
|
||||
}
|
||||
|
||||
function get_forks($username, $repository)
|
||||
{
|
||||
$request = api_request("repos/$username/$repository/forks");
|
||||
if ($request === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$usernames = array();
|
||||
foreach ($request as $fork)
|
||||
{
|
||||
$usernames[$fork->owner->login] = array(
|
||||
'username' => $fork->owner->login,
|
||||
'repository' => $fork->name,
|
||||
);
|
||||
}
|
||||
|
||||
return $usernames;
|
||||
}
|
||||
|
||||
function get_arg($array, $index, $default)
|
||||
{
|
||||
return isset($array[$index]) ? $array[$index] : $default;
|
||||
}
|
||||
|
||||
function run($cmd, $dry = false)
|
||||
{
|
||||
static $dry_run;
|
||||
|
||||
if (is_null($cmd))
|
||||
{
|
||||
$dry_run = $dry;
|
||||
}
|
||||
else if (!empty($dry_run))
|
||||
{
|
||||
echo "$cmd\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
passthru(escapeshellcmd($cmd));
|
||||
}
|
||||
}
|
@@ -1,31 +1,3 @@
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
|
||||
#
|
||||
# Uncomment the statement below if you want to make use of
|
||||
# HTTP authentication and it does not already work.
|
||||
# This could be required if you are for example using PHP via Apache CGI.
|
||||
#
|
||||
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
|
||||
|
||||
#
|
||||
# The following 3 lines will rewrite URLs passed through the front controller
|
||||
# to not require app.php in the actual URL. In other words, a controller is
|
||||
# by default accessed at /app.php/my/controller, but can also be accessed at
|
||||
# /my/controller
|
||||
#
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.*)$ app.php [QSA,L]
|
||||
|
||||
#
|
||||
# If symbolic links are not already being followed,
|
||||
# uncomment the line below.
|
||||
# http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/
|
||||
#
|
||||
#Options +FollowSymLinks
|
||||
</IfModule>
|
||||
|
||||
<Files "config.php">
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
phpBB/adm/images/corners_left.gif
Normal file
After Width: | Height: | Size: 796 B |
BIN
phpBB/adm/images/corners_left2.gif
Normal file
After Width: | Height: | Size: 55 B |
BIN
phpBB/adm/images/corners_right.gif
Normal file
After Width: | Height: | Size: 175 B |
BIN
phpBB/adm/images/corners_right2.gif
Normal file
After Width: | Height: | Size: 56 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 930 B After Width: | Height: | Size: 474 B |
BIN
phpBB/adm/images/phpbb_logo.gif
Normal file
After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 9.1 KiB |
BIN
phpBB/adm/images/toggle.gif
Normal file
After Width: | Height: | Size: 788 B |
@@ -2,8 +2,9 @@
|
||||
/**
|
||||
*
|
||||
* @package acp
|
||||
* @version $Id$
|
||||
* @copyright (c) 2005 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -14,12 +15,13 @@ define('ADMIN_START', true);
|
||||
define('NEED_SID', true);
|
||||
|
||||
// Include files
|
||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
require($phpbb_root_path . 'common.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/functions_acp.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
|
||||
if (!defined('PHPBB_ROOT_PATH')) define('PHPBB_ROOT_PATH', './../');
|
||||
if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
|
||||
if (!defined('PHPBB_ADMIN_PATH')) define('PHPBB_ADMIN_PATH', './');
|
||||
|
||||
include(PHPBB_ROOT_PATH . 'common.' . PHP_EXT);
|
||||
require(PHPBB_ROOT_PATH . 'includes/functions_admin.' . PHP_EXT);
|
||||
require(PHPBB_ROOT_PATH . 'includes/functions_module.' . PHP_EXT);
|
||||
|
||||
// Start session management
|
||||
$user->session_begin();
|
||||
@@ -28,10 +30,14 @@ $user->setup('acp/common');
|
||||
// End session management
|
||||
|
||||
// Have they authenticated (again) as an admin for this session?
|
||||
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
|
||||
if ($user->data['user_id'] != ANONYMOUS && (!isset($user->data['session_admin']) || !$user->data['session_admin']))
|
||||
{
|
||||
login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
|
||||
}
|
||||
else if ($user->data['user_id'] == ANONYMOUS)
|
||||
{
|
||||
login_box('');
|
||||
}
|
||||
|
||||
// Is user any type of admin? No, then stop here, each script needs to
|
||||
// check specific permissions but this is a catchall
|
||||
@@ -49,10 +55,9 @@ $file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_up
|
||||
$module_id = request_var('i', '');
|
||||
$mode = request_var('mode', '');
|
||||
|
||||
// Set custom style for admin area
|
||||
$template->set_custom_style('adm', $phpbb_admin_path . 'style');
|
||||
$template->assign_var('T_ASSETS_PATH', $phpbb_root_path . 'assets');
|
||||
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
|
||||
// Set custom template for admin area
|
||||
$template->set_custom_template(PHPBB_ADMIN_PATH . 'style', 'admin');
|
||||
$template->assign_var('T_TEMPLATE_PATH', PHPBB_ADMIN_PATH . 'style');
|
||||
|
||||
// Instantiate new module
|
||||
$module = new p_master();
|
||||
@@ -65,7 +70,7 @@ $module->set_active($module_id, $mode);
|
||||
|
||||
// Assign data to the template engine for the list of modules
|
||||
// We do this before loading the active module for correct menu display in trigger_error
|
||||
$module->assign_tpl_vars(append_sid("{$phpbb_admin_path}index.$phpEx"));
|
||||
$module->assign_tpl_vars(append_sid(PHPBB_ADMIN_PATH . 'index.' . PHP_EXT));
|
||||
|
||||
// Load and execute the relevant module
|
||||
$module->load_active();
|
||||
@@ -78,3 +83,525 @@ $template->set_filenames(array(
|
||||
));
|
||||
|
||||
adm_page_footer();
|
||||
|
||||
/**
|
||||
* Header for acp pages
|
||||
*/
|
||||
function adm_page_header($page_title)
|
||||
{
|
||||
global $config, $db, $user, $template;
|
||||
global $SID, $_SID;
|
||||
|
||||
if (defined('HEADER_INC'))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
define('HEADER_INC', true);
|
||||
|
||||
// gzip_compression
|
||||
if ($config['gzip_compress'])
|
||||
{
|
||||
if (@extension_loaded('zlib') && !headers_sent())
|
||||
{
|
||||
ob_start('ob_gzhandler');
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_TITLE' => $page_title,
|
||||
'USERNAME' => ($user->data['user_id'] != ANONYMOUS) ? $user->data['username'] : '',
|
||||
|
||||
'SID' => $SID,
|
||||
'_SID' => $_SID,
|
||||
'SESSION_ID' => $user->session_id,
|
||||
'ROOT_PATH' => PHPBB_ADMIN_PATH,
|
||||
|
||||
'U_LOGOUT' => append_sid('ucp', 'mode=logout'),
|
||||
'U_ADM_LOGOUT' => append_sid(PHPBB_ADMIN_PATH . 'index.' . PHP_EXT, 'action=admlogout'),
|
||||
'U_ADM_INDEX' => append_sid(PHPBB_ADMIN_PATH . 'index.' . PHP_EXT),
|
||||
'U_INDEX' => append_sid('index'),
|
||||
|
||||
'S_USER_ADMIN' => $user->data['session_admin'],
|
||||
'S_USER_LOGGED_IN' => ($user->data['user_id'] != ANONYMOUS && !$user->data['is_bot']),
|
||||
|
||||
'T_IMAGES_PATH' => PHPBB_ROOT_PATH . 'images/',
|
||||
'T_SMILIES_PATH' => PHPBB_ROOT_PATH . $config['smilies_path'] . '/',
|
||||
'T_AVATAR_PATH' => PHPBB_ROOT_PATH . $config['avatar_path'] . '/',
|
||||
'T_AVATAR_GALLERY_PATH' => PHPBB_ROOT_PATH . $config['avatar_gallery_path'] . '/',
|
||||
'T_ICONS_PATH' => PHPBB_ROOT_PATH . $config['icons_path'] . '/',
|
||||
'T_RANKS_PATH' => PHPBB_ROOT_PATH . $config['ranks_path'] . '/',
|
||||
'T_UPLOAD_PATH' => PHPBB_ROOT_PATH . $config['upload_path'] . '/',
|
||||
|
||||
'ICON_MOVE_UP' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_up.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
|
||||
'ICON_MOVE_UP_DISABLED' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_up_disabled.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
|
||||
'ICON_MOVE_DOWN' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_down.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
|
||||
'ICON_MOVE_DOWN_DISABLED' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_down_disabled.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
|
||||
'ICON_EDIT' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_edit.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
|
||||
'ICON_EDIT_DISABLED' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_edit_disabled.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
|
||||
'ICON_DELETE' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_delete.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
|
||||
'ICON_DELETE_DISABLED' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_delete_disabled.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
|
||||
'ICON_SYNC' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_sync.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
|
||||
'ICON_SYNC_DISABLED' => '<img src="' . PHPBB_ADMIN_PATH . 'images/icon_sync_disabled.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
|
||||
|
||||
'S_USER_LANG' => $user->lang['USER_LANG'],
|
||||
'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'],
|
||||
'S_CONTENT_ENCODING' => 'UTF-8',
|
||||
'S_CONTENT_FLOW_BEGIN' => ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
|
||||
'S_CONTENT_FLOW_END' => ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
|
||||
));
|
||||
|
||||
// application/xhtml+xml not used because of IE
|
||||
header('Content-type: text/html; charset=UTF-8');
|
||||
|
||||
header('Cache-Control: private, no-cache="set-cookie"');
|
||||
header('Expires: 0');
|
||||
header('Pragma: no-cache');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Page footer for acp pages
|
||||
*/
|
||||
function adm_page_footer($copyright_html = true)
|
||||
{
|
||||
global $db, $config, $template, $user, $auth, $cache;
|
||||
global $starttime;
|
||||
|
||||
// Output page creation time
|
||||
if (defined('DEBUG'))
|
||||
{
|
||||
$mtime = explode(' ', microtime());
|
||||
$totaltime = $mtime[0] + $mtime[1] - $starttime;
|
||||
|
||||
if (request::variable('explain', false) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
|
||||
{
|
||||
$db->sql_report('display');
|
||||
}
|
||||
|
||||
$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);
|
||||
|
||||
if ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))
|
||||
{
|
||||
if (function_exists('memory_get_usage'))
|
||||
{
|
||||
if ($memory_usage = memory_get_usage())
|
||||
{
|
||||
global $base_memory_usage;
|
||||
$memory_usage -= $base_memory_usage;
|
||||
$memory_usage = get_formatted_filesize($memory_usage);
|
||||
|
||||
$debug_output .= ' | Memory Usage: ' . $memory_usage;
|
||||
}
|
||||
}
|
||||
|
||||
$debug_output .= ' | <a href="' . build_url() . '&explain=1">Explain</a>';
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
|
||||
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
|
||||
'S_COPYRIGHT_HTML' => $copyright_html,
|
||||
'VERSION' => $config['version'])
|
||||
);
|
||||
|
||||
$template->display('body');
|
||||
|
||||
garbage_collection();
|
||||
exit_handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate back link for acp pages
|
||||
*/
|
||||
function adm_back_link($u_action)
|
||||
{
|
||||
global $user;
|
||||
return '<br /><br /><a href="' . $u_action . '">« ' . $user->lang['BACK_TO_PREV'] . '</a>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Build select field options in acp pages
|
||||
*/
|
||||
function build_select($option_ary, $option_default = false)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$html = '';
|
||||
foreach ($option_ary as $value => $title)
|
||||
{
|
||||
$selected = ($option_default !== false && $value == $option_default) ? ' selected="selected"' : '';
|
||||
$html .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$title] . '</option>';
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build radio fields in acp pages
|
||||
*/
|
||||
function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$html = '';
|
||||
$id_assigned = false;
|
||||
foreach ($input_ary as $value => $title)
|
||||
{
|
||||
$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
|
||||
$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
|
||||
$id_assigned = true;
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build configuration template for acp configuration pages
|
||||
*/
|
||||
function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
|
||||
{
|
||||
global $user, $module;
|
||||
|
||||
$tpl = '';
|
||||
$name = 'config[' . $config_key . ']';
|
||||
|
||||
switch ($tpl_type[0])
|
||||
{
|
||||
case 'text':
|
||||
case 'password':
|
||||
$size = (int) $tpl_type[1];
|
||||
$maxlength = (int) $tpl_type[2];
|
||||
|
||||
$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
|
||||
break;
|
||||
|
||||
case 'dimension':
|
||||
$size = (int) $tpl_type[1];
|
||||
$maxlength = (int) $tpl_type[2];
|
||||
|
||||
$tpl = '<input id="' . $key . '" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" /> x <input type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" />';
|
||||
break;
|
||||
|
||||
case 'textarea':
|
||||
$rows = (int) $tpl_type[1];
|
||||
$cols = (int) $tpl_type[2];
|
||||
|
||||
$tpl = '<textarea id="' . $key . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
|
||||
break;
|
||||
|
||||
case 'radio':
|
||||
$key_yes = ($new[$config_key]) ? ' checked="checked"' : '';
|
||||
$key_no = (!$new[$config_key]) ? ' checked="checked"' : '';
|
||||
|
||||
$tpl_type_cond = explode('_', $tpl_type[1]);
|
||||
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
|
||||
|
||||
$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
|
||||
$tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';
|
||||
|
||||
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
case 'custom':
|
||||
|
||||
$return = '';
|
||||
|
||||
if (isset($vars['method']))
|
||||
{
|
||||
$call = array($module->module, $vars['method']);
|
||||
}
|
||||
else if (isset($vars['function']))
|
||||
{
|
||||
$call = $vars['function'];
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (isset($vars['params']))
|
||||
{
|
||||
$args = array();
|
||||
foreach ($vars['params'] as $value)
|
||||
{
|
||||
switch ($value)
|
||||
{
|
||||
case '{CONFIG_VALUE}':
|
||||
$value = $new[$config_key];
|
||||
break;
|
||||
|
||||
case '{KEY}':
|
||||
$value = $key;
|
||||
break;
|
||||
}
|
||||
|
||||
$args[] = $value;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$args = array($new[$config_key], $key);
|
||||
}
|
||||
|
||||
$return = call_user_func_array($call, $args);
|
||||
|
||||
if ($tpl_type[0] == 'select')
|
||||
{
|
||||
$tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$tpl = $return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (isset($vars['append']))
|
||||
{
|
||||
$tpl .= $vars['append'];
|
||||
}
|
||||
|
||||
return $tpl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Going through a config array and validate values, writing errors to $error. The validation method accepts parameters separated by ':' for string and int.
|
||||
* The first parameter defines the type to be used, the second the lower bound and the third the upper bound. Only the type is required.
|
||||
*/
|
||||
function validate_config_vars($config_vars, &$cfg_array, &$error)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$type = 0;
|
||||
$min = 1;
|
||||
$max = 2;
|
||||
|
||||
foreach ($config_vars as $config_name => $config_definition)
|
||||
{
|
||||
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($config_definition['validate']))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$validator = explode(':', $config_definition['validate']);
|
||||
|
||||
// Validate a bit. ;) (0 = type, 1 = min, 2= max)
|
||||
switch ($validator[$type])
|
||||
{
|
||||
case 'string':
|
||||
$length = strlen($cfg_array[$config_name]);
|
||||
|
||||
// the column is a VARCHAR
|
||||
$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;
|
||||
|
||||
if (isset($validator[$min]) && $length < $validator[$min])
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_SHORT'], $user->lang[$config_definition['lang']], $validator[$min]);
|
||||
}
|
||||
else if (isset($validator[$max]) && $length > $validator[2])
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$config_definition['lang']], $validator[$max]);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
$cfg_array[$config_name] = ($cfg_array[$config_name]) ? 1 : 0;
|
||||
break;
|
||||
|
||||
case 'int':
|
||||
$cfg_array[$config_name] = (int) $cfg_array[$config_name];
|
||||
|
||||
if (isset($validator[$min]) && $cfg_array[$config_name] < $validator[$min])
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], $validator[$min]);
|
||||
}
|
||||
else if (isset($validator[$max]) && $cfg_array[$config_name] > $validator[$max])
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
|
||||
}
|
||||
break;
|
||||
|
||||
// Absolute path
|
||||
case 'script_path':
|
||||
if (!$cfg_array[$config_name])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$destination = str_replace('\\', '/', $cfg_array[$config_name]);
|
||||
|
||||
if ($destination !== '/')
|
||||
{
|
||||
// Adjust destination path (no trailing slash)
|
||||
if (substr($destination, -1, 1) == '/')
|
||||
{
|
||||
$destination = substr($destination, 0, -1);
|
||||
}
|
||||
|
||||
$destination = str_replace(array('../', './'), '', $destination);
|
||||
|
||||
if ($destination[0] != '/')
|
||||
{
|
||||
$destination = '/' . $destination;
|
||||
}
|
||||
}
|
||||
|
||||
$cfg_array[$config_name] = trim($destination);
|
||||
|
||||
break;
|
||||
|
||||
// Absolute path
|
||||
case 'lang':
|
||||
if (!$cfg_array[$config_name])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$cfg_array[$config_name] = basename($cfg_array[$config_name]);
|
||||
|
||||
if (!file_exists(PHPBB_ROOT_PATH . 'language/' . $cfg_array[$config_name] . '/'))
|
||||
{
|
||||
$error[] = $user->lang['WRONG_DATA_LANG'];
|
||||
}
|
||||
break;
|
||||
|
||||
// Relative path (appended PHPBB_ROOT_PATH)
|
||||
case 'rpath':
|
||||
case 'rwpath':
|
||||
if (!$cfg_array[$config_name])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$destination = $cfg_array[$config_name];
|
||||
|
||||
// Adjust destination path (no trailing slash)
|
||||
if (substr($destination, -1, 1) == '/' || substr($destination, -1, 1) == '\\')
|
||||
{
|
||||
$destination = substr($destination, 0, -1);
|
||||
}
|
||||
|
||||
$destination = str_replace(array('../', '..\\', './', '.\\'), '', $destination);
|
||||
if ($destination && ($destination[0] == '/' || $destination[0] == "\\"))
|
||||
{
|
||||
$destination = '';
|
||||
}
|
||||
|
||||
$cfg_array[$config_name] = trim($destination);
|
||||
|
||||
// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
|
||||
case 'path':
|
||||
case 'wpath':
|
||||
|
||||
if (!$cfg_array[$config_name])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$cfg_array[$config_name] = trim($cfg_array[$config_name]);
|
||||
|
||||
// Make sure no NUL byte is present...
|
||||
if (strpos($cfg_array[$config_name], "\0") !== false || strpos($cfg_array[$config_name], '%00') !== false)
|
||||
{
|
||||
$cfg_array[$config_name] = '';
|
||||
break;
|
||||
}
|
||||
|
||||
if (!file_exists(PHPBB_ROOT_PATH . $cfg_array[$config_name]))
|
||||
{
|
||||
$error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
|
||||
}
|
||||
|
||||
if (file_exists(PHPBB_ROOT_PATH . $cfg_array[$config_name]) && !is_dir(PHPBB_ROOT_PATH . $cfg_array[$config_name]))
|
||||
{
|
||||
$error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
|
||||
}
|
||||
|
||||
// Check if the path is writable
|
||||
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
|
||||
{
|
||||
if (file_exists(PHPBB_ROOT_PATH . $cfg_array[$config_name]) && !@is_writable(PHPBB_ROOT_PATH . $cfg_array[$config_name]))
|
||||
{
|
||||
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whatever or not a variable is OK for use in the Database
|
||||
* param mixed $value_ary An array of the form array(array('lang' => ..., 'value' => ..., 'column_type' =>))'
|
||||
* param mixed $error The error array
|
||||
*/
|
||||
function validate_range($value_ary, &$error)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$column_types = array(
|
||||
'BOOL' => array('php_type' => 'int', 'min' => 0, 'max' => 1),
|
||||
'USINT' => array('php_type' => 'int', 'min' => 0, 'max' => 65535),
|
||||
'UINT' => array('php_type' => 'int', 'min' => 0, 'max' => (int) 0x7fffffff),
|
||||
'INT' => array('php_type' => 'int', 'min' => (int) 0x80000000, 'max' => (int) 0x7fffffff),
|
||||
'TINT' => array('php_type' => 'int', 'min' => -128, 'max' => 127),
|
||||
|
||||
'VCHAR' => array('php_type' => 'string', 'min' => 0, 'max' => 255),
|
||||
);
|
||||
foreach ($value_ary as $value)
|
||||
{
|
||||
$column = explode(':', $value['column_type']);
|
||||
$max = $min = 0;
|
||||
$type = 0;
|
||||
if (!isset($column_types[$column[0]]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
$type = $column_types[$column[0]];
|
||||
}
|
||||
|
||||
switch ($type['php_type'])
|
||||
{
|
||||
case 'string' :
|
||||
$max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
|
||||
if (strlen($value['value']) > $max)
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'int':
|
||||
$min = (isset($column[1])) ? max($column[1],$type['min']) : $type['min'];
|
||||
$max = (isset($column[2])) ? min($column[2],$type['max']) : $type['max'];
|
||||
if ($value['value'] < $min)
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$value['lang']], $min);
|
||||
}
|
||||
else if ($value['value'] > $max)
|
||||
{
|
||||
$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$value['lang']], $max);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF U_BACK -->
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
@@ -54,7 +54,7 @@
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -78,11 +78,11 @@
|
||||
<legend>{L_SECURE_TITLE}</legend>
|
||||
<p>{L_DOWNLOAD_ADD_IPS_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="ip_hostname">{L_IP_HOSTNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="ip_hostname">{L_IP_HOSTNAME}:</label></dt>
|
||||
<dd><textarea id="ip_hostname" cols="40" rows="3" name="ips"></textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="exclude">{L_IP_EXCLUDE}{L_COLON}</label><br /><span>{L_EXCLUDE_ENTERED_IP}</span></dt>
|
||||
<dt><label for="exclude">{L_IP_EXCLUDE}:</label><br /><span>{L_EXCLUDE_ENTERED_IP}</span></dt>
|
||||
<dd><label><input type="radio" id="exclude" name="ipexclude" value="1" class="radio" /> {L_YES}</label>
|
||||
<label><input type="radio" name="ipexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
@@ -97,7 +97,7 @@
|
||||
<!-- IF S_DEFINED_IPS -->
|
||||
<p>{L_DOWNLOAD_REMOVE_IPS_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="remove_ip_hostname">{L_IP_HOSTNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="remove_ip_hostname">{L_IP_HOSTNAME}:</label></dt>
|
||||
<dd><select name="unip[]" id="remove_ip_hostname" multiple="multiple" size="10">{DEFINED_IPS}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -122,11 +122,11 @@
|
||||
{
|
||||
if (newimage == 'no_image')
|
||||
{
|
||||
document.getElementById('image_upload_icon').src = "{ROOT_PATH}images/spacer.gif";
|
||||
document.getElementById('image_upload_icon').src = "{PHPBB_ROOT_PATH}images/spacer.gif";
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('image_upload_icon').src = "{ROOT_PATH}{IMG_PATH}/" + newimage;
|
||||
document.getElementById('image_upload_icon').src = "{PHPBB_ROOT_PATH}{IMG_PATH}/" + newimage;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,39 +172,39 @@
|
||||
|
||||
<legend>{L_LEGEND}</legend>
|
||||
<dl>
|
||||
<dt><label for="group_name">{L_GROUP_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="group_name">{L_GROUP_NAME}:</label></dt>
|
||||
<dd><input type="text" id="group_name" size="20" maxlength="100" name="group_name" value="{GROUP_NAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="category">{L_SPECIAL_CATEGORY}{L_COLON}</label><br /><span>{L_SPECIAL_CATEGORY_EXPLAIN}</span></dt>
|
||||
<dt><label for="category">{L_SPECIAL_CATEGORY}:</label><br /><span>{L_SPECIAL_CATEGORY_EXPLAIN}</span></dt>
|
||||
<dd>{S_CATEGORY_SELECT}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowed">{L_ALLOWED}{L_COLON}</label></dt>
|
||||
<dt><label for="allowed">{L_ALLOWED}:</label></dt>
|
||||
<dd><input type="checkbox" class="radio" id="allowed" name="allow_group" value="1"<!-- IF ALLOW_GROUP --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allow_in_pm">{L_ALLOW_IN_PM}{L_COLON}</label></dt>
|
||||
<dt><label for="allow_in_pm">{L_ALLOW_IN_PM}:</label></dt>
|
||||
<dd><input type="checkbox" class="radio" id="allow_in_pm" name="allow_in_pm" value="1"<!-- IF ALLOW_IN_PM --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="upload_icon">{L_UPLOAD_ICON}{L_COLON}</label></dt>
|
||||
<dt><label for="upload_icon">{L_UPLOAD_ICON}:</label></dt>
|
||||
<dd><select name="upload_icon" id="upload_icon" onchange="update_image(this.options[selectedIndex].value);">
|
||||
<option value="no_image"<!-- IF S_NO_IMAGE --> selected="selected"<!-- ENDIF -->>{L_NO_IMAGE}</option>{S_FILENAME_LIST}
|
||||
</select></dd>
|
||||
<dd> <img <!-- IF S_NO_IMAGE -->src="{ROOT_PATH}images/spacer.gif"<!-- ELSE -->src="{UPLOAD_ICON_SRC}"<!-- ENDIF --> id="image_upload_icon" alt="" title="" /> </dd>
|
||||
<dd> <img <!-- IF S_NO_IMAGE -->src="{PHPBB_ROOT_PATH}images/spacer.gif"<!-- ELSE -->src="{UPLOAD_ICON_SRC}"<!-- ENDIF --> id="image_upload_icon" alt="" title="" /> </dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="extgroup_filesize">{L_MAX_EXTGROUP_FILESIZE}{L_COLON}</label></dt>
|
||||
<dd><input type="number" id="extgroup_filesize" size="3" maxlength="15" name="max_filesize" value="{EXTGROUP_FILESIZE}" /> <select name="size_select">{S_EXT_GROUP_SIZE_OPTIONS}</select></dd>
|
||||
<dt><label for="extgroup_filesize">{L_MAX_EXTGROUP_FILESIZE}:</label></dt>
|
||||
<dd><input type="text" id="extgroup_filesize" size="3" maxlength="15" name="max_filesize" value="{EXTGROUP_FILESIZE}" /> <select name="size_select">{S_EXT_GROUP_SIZE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="assigned_extensions">{L_ASSIGNED_EXTENSIONS}{L_COLON}</label></dt>
|
||||
<dt><label for="assigned_extensions">{L_ASSIGNED_EXTENSIONS}:</label></dt>
|
||||
<dd><div id="ext">{ASSIGNED_EXTENSIONS}</div> <span>[<a href="{U_EXTENSIONS}">{L_GO_TO_EXTENSIONS}</a> ]</span></dd>
|
||||
<dd><select name="extensions[]" id="assigned_extensions" class="narrow" onchange="show_extensions(this);" multiple="multiple" size="8">{S_EXTENSION_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowed_forums">{L_ALLOWED_FORUMS}{L_COLON}</label><br /><span>{L_ALLOWED_FORUMS_EXPLAIN}</span></dt>
|
||||
<dt><label for="allowed_forums">{L_ALLOWED_FORUMS}:</label><br /><span>{L_ALLOWED_FORUMS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS}</label>
|
||||
<label><input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</label></dd>
|
||||
<dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
|
||||
@@ -224,7 +224,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><col class="row1" /><col class="row2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -248,13 +248,13 @@
|
||||
<!-- ELSE --><br /><span>» {L_ALLOWED_IN_PM_POST}</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td>{groups.CATEGORY}</td>
|
||||
<td align="center" valign="middle" style="white-space: nowrap;"> <a href="{groups.U_EDIT}">{ICON_EDIT}</a> <a href="{groups.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a> </td>
|
||||
<td align="center" valign="middle" style="white-space: nowrap;"> <a href="{groups.U_EDIT}">{ICON_EDIT}</a> <a href="{groups.U_DELETE}">{ICON_DELETE}</a> </td>
|
||||
</tr>
|
||||
<!-- END groups -->
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="quick">
|
||||
{L_CREATE_GROUP}{L_COLON} <input type="text" name="group_name" maxlength="30" />
|
||||
{L_CREATE_GROUP}: <input type="text" name="group_name" maxlength="30" />
|
||||
<input class="button2" name="add" type="submit" value="{L_SUBMIT}" />
|
||||
</p>
|
||||
{S_FORM_TOKEN}
|
||||
@@ -291,7 +291,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><col class="row1" /><col class="row2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -331,7 +331,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_FILENAME}</th>
|
||||
@@ -344,11 +344,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN orphan -->
|
||||
<tr>
|
||||
<!-- IF orphan.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{orphan.U_FILE}">{orphan.REAL_FILENAME}</a></td>
|
||||
<td>{orphan.FILETIME}</td>
|
||||
<td>{orphan.FILESIZE}</td>
|
||||
<td><strong>{L_ATTACH_ID}{L_COLON} </strong><input type="number" name="post_id[{orphan.ATTACH_ID}]" size="7" maxlength="10" value="{orphan.POST_ID}" /></td>
|
||||
<td><strong>{L_ATTACH_ID}: </strong><input type="text" name="post_id[{orphan.ATTACH_ID}]" size="7" maxlength="10" value="{orphan.POST_ID}" /></td>
|
||||
<td><input type="checkbox" class="radio" name="add[{orphan.ATTACH_ID}]" /></td>
|
||||
<td><input type="checkbox" class="radio" name="delete[{orphan.ATTACH_ID}]" /></td>
|
||||
</tr>
|
||||
@@ -371,89 +371,6 @@
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_MANAGE -->
|
||||
|
||||
<form id="attachments" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination or TOTAL_FILES -->
|
||||
{L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} • {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE}
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {PAGE_NUMBER}
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_FILENAME}</th>
|
||||
<th>{L_POSTED}</th>
|
||||
<th>{L_FILESIZE}</th>
|
||||
<th>{L_DELETE}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN attachments -->
|
||||
<tr>
|
||||
<td>
|
||||
<!-- IF attachments.S_IN_MESSAGE -->{L_EXTENSION_GROUP}{L_COLON} <strong><!-- IF attachments.EXT_GROUP_NAME -->{attachments.EXT_GROUP_NAME}<!-- ELSE -->{L_NO_EXT_GROUP}<!-- ENDIF --></strong><br />{attachments.L_DOWNLOAD_COUNT}<br />{L_IN} {L_PRIVATE_MESSAGE}
|
||||
<!-- ELSE --><a href="{attachments.U_FILE}" style="font-weight: bold;">{attachments.REAL_FILENAME}</a><br /><!-- IF attachments.COMMENT -->{attachments.COMMENT}<br /><!-- ENDIF -->{attachments.L_DOWNLOAD_COUNT}<br />{L_TOPIC}{L_COLON} <a href="{attachments.U_VIEW_TOPIC}">{attachments.TOPIC_TITLE}</a><!-- ENDIF -->
|
||||
</td>
|
||||
<td>{attachments.FILETIME}<br />{L_POST_BY_AUTHOR} {attachments.ATTACHMENT_POSTER}</td>
|
||||
<td>{attachments.FILESIZE}</td>
|
||||
<td><input type="checkbox" class="radio" name="delete[{attachments.ATTACH_ID}]" /></td>
|
||||
</tr>
|
||||
<!-- END attachments -->
|
||||
<tr class="row4">
|
||||
<td colspan="3"> </td>
|
||||
<td class="small"><a href="#" onclick="marklist('attachments', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('attachments', 'delete', false); return false;">{L_UNMARK_ALL}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF TOTAL_FILES -->
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}{L_COLON} {S_LIMIT_DAYS} {L_SORT_BY}{L_COLON} {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="pagination">
|
||||
{L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} • {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE}
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {PAGE_NUMBER}
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- IF S_ACTION_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_RESYNC_STATS}</legend>
|
||||
<form id="action_stats_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_stats">{L_RESYNC_FILES_STATS}</label><br /><span>{L_RESYNC_FILES_STATS_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="stats" /><input class="button2" type="submit" id="action_stats" name="action_stats" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,11 +0,0 @@
|
||||
<dl>
|
||||
<dt><label for="avatar_gravatar_email">{L_GRAVATAR_AVATAR_EMAIL}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_EMAIL_EXPLAIN}</span></dt>
|
||||
<dd><input type="email" name="avatar_gravatar_email" id="avatar_gravatar_email" value="{AVATAR_GRAVATAR_EMAIL}" class="inputbox" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="avatar_gravatar_width">{L_GRAVATAR_AVATAR_SIZE}{L_COLON}</label><br /><span>{L_GRAVATAR_AVATAR_SIZE_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<input type="number" name="avatar_gravatar_width" id="avatar_gravatar_width" size="3" value="{AVATAR_GRAVATAR_WIDTH}" class="inputbox autowidth" /> {L_PIXEL} ×
|
||||
<input type="number" name="avatar_gravatar_height" id="avatar_gravatar_height" size="3" value="{AVATAR_GRAVATAR_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}
|
||||
</dd>
|
||||
</dl>
|
@@ -1,21 +0,0 @@
|
||||
<dl>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}{L_COLON}</label></dt>
|
||||
<dd><select name="avatar_local_cat" id="category">
|
||||
<option value="">{L_NO_AVATAR_CATEGORY}</option>
|
||||
<!-- BEGIN avatar_local_cats -->
|
||||
<option value="{avatar_local_cats.NAME}"<!-- IF avatar_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_local_cats.NAME}</option>
|
||||
<!-- END avatar_local_cats -->
|
||||
</select> <input type="submit" value="{L_GO}" name="avatar_local_go" class="button2" /></dd>
|
||||
</dl>
|
||||
<!-- IF AVATAR_LOCAL_SHOW -->
|
||||
<ul id="gallery">
|
||||
<!-- BEGIN avatar_local_row -->
|
||||
<!-- BEGIN avatar_local_col -->
|
||||
<li>
|
||||
<label for="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"><img src="{avatar_local_row.avatar_local_col.AVATAR_IMAGE}" alt="" /><br />
|
||||
<input type="radio" name="avatar_local_file" id="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}" value="{avatar_local_row.avatar_local_col.AVATAR_FILE}" /></label>
|
||||
</li>
|
||||
<!-- END avatar_local_col -->
|
||||
<!-- END avatar_local_row -->
|
||||
</ul>
|
||||
<!-- ENDIF -->
|
@@ -1,11 +0,0 @@
|
||||
<dl>
|
||||
<dt><label for="avatar_remote_url">{L_LINK_REMOTE_AVATAR}{L_COLON}</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd><input type="url" name="avatar_remote_url" id="avatar_remote_url" value="{AVATAR_REMOTE_URL}" class="inputbox" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="avatar_remote_width">{L_LINK_REMOTE_SIZE}{L_COLON}</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<input type="number" name="avatar_remote_width" id="avatar_remote_width" size="3" value="{AVATAR_REMOTE_WIDTH}" class="inputbox autowidth" /> {L_PIXEL} ×
|
||||
<input type="number" name="avatar_remote_height" id="avatar_remote_height" size="3" value="{AVATAR_REMOTE_HEIGHT}" class="inputbox autowidth" /> {L_PIXEL}
|
||||
</dd>
|
||||
</dl>
|
@@ -1,11 +0,0 @@
|
||||
<dl>
|
||||
<dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
|
||||
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" /></dd>
|
||||
</dl>
|
||||
|
||||
<!-- IF S_UPLOAD_AVATAR_URL -->
|
||||
<dl>
|
||||
<dt><label for="avatar_upload_url">{L_UPLOAD_AVATAR_URL}{L_COLON}</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
|
||||
<dd><input type="url" name="avatar_upload_url" id="avatar_upload_url" value="" class="inputbox" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<p>{L_ACP_BAN_EXPLAIN}</p>
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
|
||||
function display_details(option)
|
||||
{
|
||||
document.getElementById('acp_unban').unbangivereason.innerHTML = ban_give_reason[option];
|
||||
document.getElementById('acp_unban').unbanreason.innerHTML = ban_reason[option];
|
||||
document.getElementById('acp_unban').unbangivereason.value = ban_give_reason[option];
|
||||
document.getElementById('acp_unban').unbanreason.value = ban_reason[option];
|
||||
document.getElementById('acp_unban').unbanlength.value = ban_length[option];
|
||||
}
|
||||
|
||||
@@ -44,26 +44,26 @@
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="ban">{L_BAN_CELL}{L_COLON}</label></dt>
|
||||
<dt><label for="ban">{L_BAN_CELL}:</label></dt>
|
||||
<dd><textarea name="ban" cols="40" rows="3" id="ban"></textarea></dd>
|
||||
<!-- IF S_USERNAME_BAN --><dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banlength">{L_BAN_LENGTH}{L_COLON}</label></dt>
|
||||
<dt><label for="banlength">{L_BAN_LENGTH}:</label></dt>
|
||||
<dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
|
||||
<dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banexclude">{L_BAN_EXCLUDE}{L_COLON}</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
|
||||
<dt><label for="banexclude">{L_BAN_EXCLUDE}:</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" name="banexclude" value="1" class="radio" /> {L_YES}</label>
|
||||
<label><input type="radio" name="banexclude" id="banexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banreason">{L_BAN_REASON}{L_COLON}</label></dt>
|
||||
<dt><label for="banreason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><input name="banreason" type="text" class="text medium" maxlength="255" id="banreason" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
|
||||
<dt><label for="bangivereason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><input name="bangivereason" type="text" class="text medium" maxlength="255" id="bangivereason" /></dd>
|
||||
</dl>
|
||||
|
||||
@@ -88,20 +88,20 @@
|
||||
|
||||
<!-- IF S_BANNED_OPTIONS -->
|
||||
<dl>
|
||||
<dt><label for="unban">{L_BAN_CELL}{L_COLON}</label></dt>
|
||||
<dt><label for="unban">{L_BAN_CELL}:</label></dt>
|
||||
<dd><select id="unban" name="unban[]" multiple="multiple" size="10" style="width: 50%" onchange="if (this.selectedIndex > -1) display_details(this.options[this.selectedIndex].value); else display_details(-1);">{BANNED_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbanlength">{L_BAN_LENGTH}{L_COLON}</label></dt>
|
||||
<dd><input style="border: 0;" type="text" class="text full" readonly="readonly" name="unbanlength" id="unbanlength" /></dd>
|
||||
<dt><label for="unbanlength">{L_BAN_LENGTH}:</label></dt>
|
||||
<dd><input style="border: 0;" type="text" class="text full" disabled="disabled" name="unbanlength" id="unbanlength" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbanreason">{L_BAN_REASON}{L_COLON}</label></dt>
|
||||
<dd><textarea style="border: 0;" class="text full" readonly="readonly" name="unbanreason" id="unbanreason" rows="5" cols="80"> </textarea></dd>
|
||||
<dt><label for="unbanreason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><textarea style="border: 0;" class="text full" disabled="disabled" name="unbanreason" id="unbanreason" rows="5" cols="80"> </textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
|
||||
<dd><textarea style="border: 0;" class="text full" readonly="readonly" name="unbangivereason" id="unbangivereason" rows="5" cols="80"> </textarea></dd>
|
||||
<dt><label for="unbangivereason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><textarea style="border: 0;" class="text full" disabled="disabled" name="unbangivereason" id="unbangivereason" rows="5" cols="80"> </textarea></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
@@ -121,4 +121,4 @@
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_BBCODE -->
|
||||
|
||||
@@ -47,8 +47,6 @@
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- EVENT acp_bbcodes_edit_fieldsets_after -->
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
@@ -58,7 +56,7 @@
|
||||
|
||||
<br />
|
||||
|
||||
<table class="table1" id="down">
|
||||
<table cellspacing="1" id="down">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{L_TOKENS}</th>
|
||||
@@ -73,7 +71,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN token -->
|
||||
<tr style="vertical-align: top;">
|
||||
<tr valign="top">
|
||||
<td class="row1">{token.TOKEN}</td>
|
||||
<td class="row2">{token.EXPLAIN}</td>
|
||||
</tr>
|
||||
@@ -92,7 +90,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_ACP_BBCODES}</legend>
|
||||
|
||||
<table class="table1 zebra-table" id="down">
|
||||
<table cellspacing="1" id="down">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_BBCODE_TAG}</th>
|
||||
@@ -101,9 +99,9 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN bbcodes -->
|
||||
<tr>
|
||||
<!-- IF bbcodes.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="text-align: center;">{bbcodes.BBCODE_TAG}</td>
|
||||
<td class="actions"><!-- EVENT acp_bbcodes_actions_prepend --> <a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a> <!-- EVENT acp_bbcodes_actions_append --></td>
|
||||
<td style="text-align: right; width: 40px;"><a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}">{ICON_DELETE}</a></td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row3">
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<!-- IF S_AUTH -->
|
||||
<!-- BEGIN auth_tpl -->
|
||||
<!-- INCLUDE {auth_tpl.TEMPLATE_FILE} -->
|
||||
{auth_tpl.TPL}
|
||||
<!-- END auth_tpl -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_BOT -->
|
||||
|
||||
@@ -22,27 +22,27 @@
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="bot_name">{L_BOT_NAME}{L_COLON}</label><br /><span>{L_BOT_NAME_EXPLAIN}</span></dt>
|
||||
<dt><label for="bot_name">{L_BOT_NAME}:</label><br /><span>{L_BOT_NAME_EXPLAIN}</span></dt>
|
||||
<dd><input name="bot_name" type="text" id="bot_name" value="{BOT_NAME}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_style">{L_BOT_STYLE}{L_COLON}</label><br /><span>{L_BOT_STYLE_EXPLAIN}</span></dt>
|
||||
<dt><label for="bot_style">{L_BOT_STYLE}:</label><br /><span>{L_BOT_STYLE_EXPLAIN}</span></dt>
|
||||
<dd><select id="bot_style" name="bot_style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_lang">{L_BOT_LANG}{L_COLON}</label><br /><span>{L_BOT_LANG_EXPLAIN}</span></dt>
|
||||
<dt><label for="bot_lang">{L_BOT_LANG}:</label><br /><span>{L_BOT_LANG_EXPLAIN}</span></dt>
|
||||
<dd><select id="bot_lang" name="bot_lang">{S_LANG_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_active">{L_BOT_ACTIVE}{L_COLON}</label></dt>
|
||||
<dt><label for="bot_active">{L_BOT_ACTIVE}:</label></dt>
|
||||
<dd><select id="bot_active" name="bot_active">{S_ACTIVE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_agent">{L_BOT_AGENT}{L_COLON}</label><br /><span>{L_BOT_AGENT_EXPLAIN}</span></dt>
|
||||
<dt><label for="bot_agent">{L_BOT_AGENT}:</label><br /><span>{L_BOT_AGENT_EXPLAIN}</span></dt>
|
||||
<dd><input name="bot_agent" type="text" id="bot_agent" value="{BOT_AGENT}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_ip">{L_BOT_IP}{L_COLON}</label><br /><span>{L_BOT_IP_EXPLAIN}</span></dt>
|
||||
<dt><label for="bot_ip">{L_BOT_IP}:</label><br /><span>{L_BOT_IP_EXPLAIN}</span></dt>
|
||||
<dd><input name="bot_ip" type="text" id="bot_ip" value="{BOT_IP}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
<form id="acp_bots" method="post" action="{U_ACTION}">
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_BOT_NAME}</th>
|
||||
@@ -73,12 +73,12 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN bots -->
|
||||
<tr>
|
||||
<!-- IF bots.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="width: 50%;">{bots.BOT_NAME}</td>
|
||||
<td style="width: 15%; white-space: nowrap;" align="center"> {bots.LAST_VISIT} </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_ACTIVATE_DEACTIVATE}" data-ajax="activate_deactivate">{bots.L_ACTIVATE_DEACTIVATE}</a> </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_ACTIVATE_DEACTIVATE}">{bots.L_ACTIVATE_DEACTIVATE}</a> </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_EDIT}">{L_EDIT}</a> </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_DELETE}" data-ajax="row_delete">{L_DELETE}</a> </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_DELETE}">{L_DELETE}</a> </td>
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{bots.BOT_ID}" /></td>
|
||||
</tr>
|
||||
<!-- END bots -->
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_VC_SETTINGS}</h1>
|
||||
|
||||
@@ -13,57 +13,43 @@
|
||||
<legend>{L_GENERAL_OPTIONS}</legend>
|
||||
|
||||
<dl>
|
||||
<dt><label for="enable_confirm">{L_VISUAL_CONFIRM_REG}{L_COLON}</label><br /><span>{L_VISUAL_CONFIRM_REG_EXPLAIN}</span></dt>
|
||||
<dt><label for="enable_confirm">{L_VISUAL_CONFIRM_REG}:</label><br /><span>{L_VISUAL_CONFIRM_REG_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="enable_confirm" name="enable_confirm" value="1"<!-- IF REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="enable_confirm" value="0"<!-- IF not REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="max_reg_attempts">{L_REG_LIMIT}{L_COLON}</label><br /><span>{L_REG_LIMIT_EXPLAIN}</span></dt>
|
||||
<dd><input id="max_reg_attempts" type="number" size="4" maxlength="4" min="0" max="9999" name="max_reg_attempts" value="{REG_LIMIT}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="max_login_attempts">{L_MAX_LOGIN_ATTEMPTS}{L_COLON}</label><br /><span>{L_MAX_LOGIN_ATTEMPTS_EXPLAIN}</span></dt>
|
||||
<dd><input id="max_login_attempts" type="number" size="4" maxlength="4" min="0" max="9999" name="max_login_attempts" value="{MAX_LOGIN_ATTEMPTS}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_post_confirm">{L_VISUAL_CONFIRM_POST}{L_COLON}</label><br /><span>{L_VISUAL_CONFIRM_POST_EXPLAIN}</span></dt>
|
||||
<dt><label for="enable_post_confirm">{L_VISUAL_CONFIRM_POST}:</label><br /><span>{L_VISUAL_CONFIRM_POST_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="enable_post_confirm" name="enable_post_confirm" value="1"<!-- IF POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="enable_post_confirm" value="0"<!-- IF not POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="confirm_refresh">{L_VISUAL_CONFIRM_REFRESH}{L_COLON}</label><br /><span>{L_VISUAL_CONFIRM_REFRESH_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="confirm_refresh" name="confirm_refresh" value="1"<!-- IF CONFIRM_REFRESH --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="confirm_refresh" value="0"<!-- IF not CONFIRM_REFRESH --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AVAILABLE_CAPTCHAS}</legend>
|
||||
|
||||
<dl>
|
||||
<dt><label for="captcha_select">{L_CAPTCHA_SELECT}{L_COLON}</label><br /><span>{L_CAPTCHA_SELECT_EXPLAIN}</span></dt>
|
||||
<dt><label for="captcha_select">{L_CAPTCHA_SELECT}:</label><br /><span>{L_CAPTCHA_SELECT_EXPLAIN}</span></dt>
|
||||
<dd><select id="captcha_select" name="select_captcha" onchange="(document.getElementById('acp_captcha')).submit()" >{CAPTCHA_SELECT}</select></dd>
|
||||
</dl>
|
||||
<!-- IF S_CAPTCHA_HAS_CONFIG -->
|
||||
<dl>
|
||||
<dt><label for="configure">{L_CAPTCHA_CONFIGURE}{L_COLON}</label><br /><span>{L_CAPTCHA_CONFIGURE_EXPLAIN}</span></dt>
|
||||
<dt><label for="configure">{L_CAPTCHA_CONFIGURE}:</label><br /><span>{L_CAPTCHA_CONFIGURE_EXPLAIN}</span></dt>
|
||||
<dd><input class="button2" type="submit" id="configure" name="configure" value="{L_CONFIGURE}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</fieldset>
|
||||
|
||||
<!-- IF CAPTCHA_PREVIEW_TPL -->
|
||||
<!-- IF CAPTCHA_PREVIEW -->
|
||||
<fieldset>
|
||||
<legend>{L_PREVIEW}</legend>
|
||||
<!-- INCLUDE {CAPTCHA_PREVIEW_TPL} -->
|
||||
{CAPTCHA_PREVIEW}
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="main_submit" name="main_submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="form_reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" id="main_submit" name="main_submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="form_reset" name="reset" value="{L_RESET}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF MODE eq 'restore' -->
|
||||
<h1>{L_ACP_RESTORE}</h1>
|
||||
@@ -13,7 +13,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_RESTORE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="file">{L_SELECT_FILE}{L_COLON}</label></dt>
|
||||
<dt><label for="file">{L_SELECT_FILE}:</label></dt>
|
||||
<dd><select id="file" name="file" size="10"><!-- BEGIN files --><option value="{files.FILE}"<!-- IF files.S_LAST_ROW --> selected="selected"<!-- ENDIF -->>{files.NAME}</option><!-- END files --></select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -57,26 +57,25 @@
|
||||
<fieldset>
|
||||
<legend>{L_BACKUP_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="type">{L_BACKUP_TYPE}{L_COLON}</label></dt>
|
||||
<dt><label for="type">{L_BACKUP_TYPE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" /> {L_FULL_BACKUP}</label>
|
||||
<label><input type="radio" name="type" class="radio" value="structure" /> {L_STRUCTURE_ONLY}</label>
|
||||
<label><input type="radio" class="radio" name="type" value="data" /> {L_DATA_ONLY}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="method">{L_FILE_TYPE}{L_COLON}</label></dt>
|
||||
<dt><label for="method">{L_FILE_TYPE}:</label></dt>
|
||||
<dd><!-- BEGIN methods -->
|
||||
<label><input name="method"<!-- IF methods.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> type="radio" class="radio" value="{methods.TYPE}" /> {methods.TYPE}</label>
|
||||
<!-- END methods --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="where">{L_ACTION}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input id="where" type="radio" class="radio" name="where" value="store" checked="checked" /> {L_STORE_LOCAL}</label>
|
||||
<label><input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</label>
|
||||
</dd>
|
||||
<dt><label for="where">{L_ACTION}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="where" value="store_and_download" id="where" checked="checked" /> {L_STORE_AND_DOWNLOAD}</label>
|
||||
<label><input type="radio" class="radio" name="where" value="store" /> {L_STORE_LOCAL}</label>
|
||||
<label><input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="table">{L_TABLE_SELECT}{L_COLON}</label></dt>
|
||||
<dt><label for="table">{L_TABLE_SELECT}:</label></dt>
|
||||
<dd><select id="table" name="table[]" size="10" multiple="multiple">
|
||||
<!-- BEGIN tables -->
|
||||
<option value="{tables.TABLE}">{tables.TABLE}</option>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_DISALLOW_USERNAMES}</h1>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_ADD_DISALLOW_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="user">{L_USERNAME}{L_COLON}</label><br /><span>{L_ADD_DISALLOW_EXPLAIN}</span></dt>
|
||||
<dt><label for="user">{L_USERNAME}:</label><br /><span>{L_ADD_DISALLOW_EXPLAIN}</span></dt>
|
||||
<dd><input id="user" type="text" class="text medium" maxlength="255" name="disallowed_user" /></dd>
|
||||
</dl>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<legend>{L_DELETE_DISALLOW_TITLE}</legend>
|
||||
<!-- IF S_DISALLOWED_NAMES -->
|
||||
<dl>
|
||||
<dt><label for="disallowed">{L_USERNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="disallowed">{L_USERNAME}:</label></dt>
|
||||
<dd><select name="disallowed_id" id="disallowed">{S_DISALLOWED_NAMES}</select></dd>
|
||||
</dl>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_MASS_EMAIL}</h1>
|
||||
|
||||
@@ -18,37 +18,33 @@
|
||||
<fieldset>
|
||||
<legend>{L_COMPOSE}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_SEND_TO_GROUP}{L_COLON}</label></dt>
|
||||
<dt><label for="group">{L_SEND_TO_GROUP}:</label></dt>
|
||||
<dd><select id="group" name="g">{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="usernames">{L_SEND_TO_USERS}{L_COLON}</label><br /><span>{L_SEND_TO_USERS_EXPLAIN}</span></dt>
|
||||
<dt><label for="usernames">{L_SEND_TO_USERS}:</label><br /><span>{L_SEND_TO_USERS_EXPLAIN}</span></dt>
|
||||
<dd><textarea name="usernames" id="usernames" rows="5" cols="40">{USERNAMES}</textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
|
||||
<dt><label for="subject">{L_SUBJECT}:</label></dt>
|
||||
<dd><input name="subject" type="text" id="subject" value="{SUBJECT}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="message">{L_MASS_MESSAGE}{L_COLON}</label><br /><span>{L_MASS_MESSAGE_EXPLAIN}</span></dt>
|
||||
<dt><label for="message">{L_MASS_MESSAGE}:</label><br /><span>{L_MASS_MESSAGE_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="message" name="message" rows="10" cols="60">{MESSAGE}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="priority">{L_MAIL_PRIORITY}{L_COLON}</label></dt>
|
||||
<dt><label for="priority">{L_MAIL_PRIORITY}:</label></dt>
|
||||
<dd><select id="priority" name="mail_priority_flag">{S_PRIORITY_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banned">{L_MAIL_BANNED}{L_COLON}</label><br /><span>{L_MAIL_BANNED_EXPLAIN}</span></dt>
|
||||
<dd><input id="banned" name="mail_banned_flag" type="checkbox" class="radio" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="send">{L_SEND_IMMEDIATELY}{L_COLON}</label></dt>
|
||||
<dt><label for="send">{L_SEND_IMMEDIATELY}:</label></dt>
|
||||
<dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_EMAIL}" />
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_EMAIL}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
{S_FORM_TOKEN}
|
||||
|
@@ -1,40 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_EXTENSION_DELETE_DATA_EXPLAIN}</p>
|
||||
|
||||
<!-- IF MIGRATOR_ERROR -->
|
||||
<div class="errorbox">
|
||||
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
|
||||
<p>{MIGRATOR_ERROR}</p>
|
||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
||||
</div>
|
||||
<!-- ELSEIF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_CONFIRM_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_PURGE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_EXTENSION_DELETE_DATA}</legend>
|
||||
<input class="button1" type="submit" name="delete_data" value="{L_EXTENSION_DELETE_DATA}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_EXTENSION_DELETE_DATA_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_EXTENSION_DELETE_DATA_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,97 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_EXT_DETAILS}</legend>
|
||||
<!-- IF META_DISPLAY_NAME -->
|
||||
<dl>
|
||||
<dt><label>{L_DISPLAY_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_display_name">{META_DISPLAY_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_CLEAN_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_name">{META_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF META_DESCRIPTION -->
|
||||
<dl>
|
||||
<dt><label>{L_DESCRIPTION}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_description">{META_DESCRIPTION}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_version">{META_VERSION}</p></dd>
|
||||
</dl>
|
||||
<!-- IF META_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label>{L_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><strong id="meta_homepage"><a href="{META_HOMEPAGE}">{META_HOMEPAGE}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF META_TIME -->
|
||||
<dl>
|
||||
<dt><label>{L_TIME}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_time">{META_TIME}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_LICENCE}{L_COLON}</label></dt>
|
||||
<dd><p id="meta_license">{META_LICENCE}</p></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF META_REQUIRE_PHPBB || META_REQUIRE_PHP -->
|
||||
<fieldset>
|
||||
<legend>{L_REQUIREMENTS}</legend>
|
||||
<!-- IF META_REQUIRE_PHPBB -->
|
||||
<dl<!-- IF META_REQUIRE_PHPBB_FAIL --> class="requirements_not_met"<!-- ENDIF -->>
|
||||
<dt><label>{L_PHPBB_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="require_phpbb">{META_REQUIRE_PHPBB}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF META_REQUIRE_PHP -->
|
||||
<dl<!-- IF META_REQUIRE_PHP_FAIL --> class="requirements_not_met"<!-- ENDIF -->>
|
||||
<dt><label>{L_PHP_VERSION}{L_COLON}</label></dt>
|
||||
<dd><p id="require_php">{META_REQUIRE_PHP}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AUTHOR_INFORMATION}</legend>
|
||||
<!-- BEGIN meta_authors -->
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label>{L_AUTHOR_NAME}{L_COLON}</label></dt>
|
||||
<dd><strong>{meta_authors.AUTHOR_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF meta_authors.AUTHOR_EMAIL -->
|
||||
<dl>
|
||||
<dt><label>{L_AUTHOR_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><strong><a href="mailto:{meta_authors.AUTHOR_EMAIL}">{meta_authors.AUTHOR_EMAIL}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label>{L_AUTHOR_HOMEPAGE}{L_COLON}</label></dt>
|
||||
<dd><strong><a href="{meta_authors.AUTHOR_HOMEPAGE}">{meta_authors.AUTHOR_HOMEPAGE}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_ROLE -->
|
||||
<dl>
|
||||
<dt><label>{L_AUTHOR_ROLE}{L_COLON}</label></dt>
|
||||
<dd><strong>{meta_authors.AUTHOR_ROLE}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- END meta_authors -->
|
||||
</fieldset>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,34 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_EXTENSION_DISABLE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_CONFIRM_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_DISABLE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_EXTENSION_DISABLE}</legend>
|
||||
<input class="button1" type="submit" name="disable" value="{L_EXTENSION_DISABLE}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_EXTENSION_DISABLE_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_EXTENSION_DISABLE_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,40 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_EXTENSION_ENABLE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF MIGRATOR_ERROR -->
|
||||
<div class="errorbox">
|
||||
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
|
||||
<p>{MIGRATOR_ERROR}</p>
|
||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
||||
</div>
|
||||
<!-- ELSEIF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_CONFIRM_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_ENABLE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_EXTENSION_ENABLE}</legend>
|
||||
<input class="button1" type="submit" name="enable" value="{L_EXTENSION_ENABLE}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_EXTENSION_ENABLE_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_EXTENSION_ENABLE_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,76 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
|
||||
<table class="table1">
|
||||
<col class="row1" ><col class="row2" ><col class="row2" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_EXTENSION_NAME}</th>
|
||||
<th>{L_EXTENSION_OPTIONS}</th>
|
||||
<th>{L_EXTENSION_ACTIONS}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- IF .enabled -->
|
||||
<tr>
|
||||
<td class="row3" colspan="3"><strong>{L_EXTENSIONS_ENABLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN enabled -->
|
||||
<tr class="ext_enabled">
|
||||
<td><strong>{enabled.META_DISPLAY_NAME}</strong></td>
|
||||
<td style="text-align: center;"><a href="{enabled.U_DETAILS}">{L_DETAILS}</a></td>
|
||||
<td style="text-align: center;">
|
||||
<!-- BEGIN actions -->
|
||||
<a href="{enabled.actions.U_ACTION}"<!-- IF enabled.actions.L_ACTION_EXPLAIN --> title="{enabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{enabled.actions.L_ACTION}</a>
|
||||
<!-- IF not enabled.actions.S_LAST_ROW --> | <!-- ENDIF -->
|
||||
<!-- END actions -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END enabled -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .disabled -->
|
||||
<tr>
|
||||
<td class="row3" colspan="3"><strong>{L_EXTENSIONS_DISABLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN disabled -->
|
||||
<tr class="ext_disabled">
|
||||
<td><strong>{disabled.META_DISPLAY_NAME}</strong></td>
|
||||
<td style="text-align: center;">
|
||||
<!-- IF disabled.U_DETAILS --><a href="{disabled.U_DETAILS}">{L_DETAILS}</a><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<!-- BEGIN actions -->
|
||||
<a href="{disabled.actions.U_ACTION}"<!-- IF disabled.actions.L_ACTION_EXPLAIN --> title="{disabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{disabled.actions.L_ACTION}</a>
|
||||
<!-- IF not disabled.actions.S_LAST_ROW --> | <!-- ENDIF -->
|
||||
<!-- END actions -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END disabled -->
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
|
||||
<table class="table1">
|
||||
<tr>
|
||||
<th>{L_EXTENSION_UPDATE_HEADLINE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3">{L_EXTENSION_UPDATE_EXPLAIN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{L_EXTENSION_REMOVE_HEADLINE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3">{L_EXTENSION_REMOVE_EXPLAIN}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_FORUM -->
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
/**
|
||||
* Init the wanted display functionality if javascript is enabled.
|
||||
* If javascript is not available, the user is still able to properly administer.
|
||||
* If javascript is not available, the user is still able to properly administrate.
|
||||
*/
|
||||
onload = function()
|
||||
{
|
||||
@@ -112,13 +112,13 @@
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="forum_type">{L_FORUM_TYPE}{L_COLON}</label></dt>
|
||||
<dt><label for="forum_type">{L_FORUM_TYPE}:</label></dt>
|
||||
<dd><select id="forum_type" name="forum_type" onchange="display_options(this.options[this.selectedIndex].value);">{S_FORUM_TYPE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- IF not S_ADD_ACTION and S_FORUM_ORIG_POST -->
|
||||
<div id="type_actions">
|
||||
<dl>
|
||||
<dt><label for="type_action">{L_DECIDE_MOVE_DELETE_CONTENT}{L_COLON}</label></dt>
|
||||
<dt><label for="type_action">{L_DECIDE_MOVE_DELETE_CONTENT}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="type_action" value="delete"<!-- IF not S_MOVE_FORUM_OPTIONS --> checked="checked" id="type_action"<!-- ENDIF --> /> {L_DELETE_ALL_POSTS}</label></dd>
|
||||
<!-- IF S_MOVE_FORUM_OPTIONS --><dd><label><input type="radio" class="radio" name="type_action" id="type_action" value="move" checked="checked" /> {L_MOVE_POSTS_TO}</label> <select name="to_forum_id">{S_MOVE_FORUM_OPTIONS}</select></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
@@ -127,7 +127,7 @@
|
||||
<!-- IF not S_ADD_ACTION and S_FORUM_ORIG_CAT and S_HAS_SUBFORUMS -->
|
||||
<div id="cat_to_link_actions">
|
||||
<dl>
|
||||
<dt><label for="action_subforums">{L_DECIDE_MOVE_DELETE_SUBFORUMS}{L_COLON}</label></dt>
|
||||
<dt><label for="action_subforums">{L_DECIDE_MOVE_DELETE_SUBFORUMS}:</label></dt>
|
||||
<!-- IF S_FORUMS_LIST -->
|
||||
<dd><label><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="move" checked="checked" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
<!-- ELSE -->
|
||||
@@ -137,60 +137,60 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="parent">{L_FORUM_PARENT}{L_COLON}</label></dt>
|
||||
<dt><label for="parent">{L_FORUM_PARENT}:</label></dt>
|
||||
<dd><select id="parent" name="forum_parent_id"><option value="0"<!-- IF not S_FORUM_PARENT_ID --> selected="selected"<!-- ENDIF -->>{L_NO_PARENT}</option>{S_PARENT_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- IF S_CAN_COPY_PERMISSIONS -->
|
||||
<dl>
|
||||
<dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
|
||||
<dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum_name">{L_FORUM_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="forum_name">{L_FORUM_NAME}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_desc">{L_FORUM_DESC}{L_COLON}</label><br /><span>{L_FORUM_DESC_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_desc" name="forum_desc" rows="5" cols="45" data-bbcode="true">{FORUM_DESC}</textarea></dd>
|
||||
<dt><label for="forum_desc">{L_FORUM_DESC}:</label><br /><span>{L_FORUM_DESC_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_desc" name="forum_desc" rows="5" cols="45">{FORUM_DESC}</textarea></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_image">{L_FORUM_IMAGE}{L_COLON}</label><br /><span>{L_FORUM_IMAGE_EXPLAIN}</span></dt>
|
||||
<dt><label for="forum_image">{L_FORUM_IMAGE}:</label><br /><span>{L_FORUM_IMAGE_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_image" name="forum_image" value="{FORUM_IMAGE}" maxlength="255" /></dd>
|
||||
<!-- IF FORUM_IMAGE_SRC -->
|
||||
<dd><img src="{FORUM_IMAGE_SRC}" alt="{L_FORUM_IMAGE}" /></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_password">{L_FORUM_PASSWORD}{L_COLON}</label><br /><span>{L_FORUM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" autocomplete="off" /></dd>
|
||||
<dt><label for="forum_password">{L_FORUM_PASSWORD}:</label><br /><span>{L_FORUM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_password_confirm">{L_FORUM_PASSWORD_CONFIRM}{L_COLON}</label><br /><span>{L_FORUM_PASSWORD_CONFIRM_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" autocomplete="off" /></dd>
|
||||
<dt><label for="forum_password_confirm">{L_FORUM_PASSWORD_CONFIRM}:</label><br /><span>{L_FORUM_PASSWORD_CONFIRM_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_FORUM_PASSWORD_SET -->
|
||||
<dl>
|
||||
<dt><label for="forum_password_unset">{L_FORUM_PASSWORD_UNSET}{L_COLON}</label><br /><span>{L_FORUM_PASSWORD_UNSET_EXPLAIN}</span></dt>
|
||||
<dt><label for="forum_password_unset">{L_FORUM_PASSWORD_UNSET}:</label><br /><span>{L_FORUM_PASSWORD_UNSET_EXPLAIN}</span></dt>
|
||||
<dd><input id="forum_password_unset" name="forum_password_unset" type="checkbox" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum_style">{L_FORUM_STYLE}{L_COLON}</label></dt>
|
||||
<dt><label for="forum_style">{L_FORUM_STYLE}:</label></dt>
|
||||
<dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- IF S_CAN_COPY_PERMISSIONS -->
|
||||
<dl>
|
||||
<dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
|
||||
<dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<div id="forum_cat_options">
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="display_active">{L_DISPLAY_ACTIVE_TOPICS}{L_COLON}</label><br /><span>{L_DISPLAY_ACTIVE_TOPICS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_ENABLE_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_ENABLE_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
<dt><label for="display_active">{L_DISPLAY_ACTIVE_TOPICS}:</label><br /><span>{L_DISPLAY_ACTIVE_TOPICS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</div>
|
||||
@@ -199,82 +199,76 @@
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="forum_status">{L_FORUM_STATUS}{L_COLON}</label></dt>
|
||||
<dt><label for="forum_status">{L_FORUM_STATUS}:</label></dt>
|
||||
<dd><select id="forum_status" name="forum_status">{S_STATUS_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="display_subforum_list">{L_LIST_SUBFORUMS}{L_COLON}</label><br /><span>{L_LIST_SUBFORUMS_EXPLAIN}</span></dt>
|
||||
<dt><label for="display_subforum_list">{L_LIST_SUBFORUMS}:</label><br /><span>{L_LIST_SUBFORUMS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="display_subforum_list" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_subforum_list" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="display_on_index">{L_LIST_INDEX}{L_COLON}</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dt><label for="display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_post_review">{L_ENABLE_POST_REVIEW}{L_COLON}</label><br /><span>{L_ENABLE_POST_REVIEW_EXPLAIN}</span></dt>
|
||||
<dt><label for="enable_post_review">{L_ENABLE_POST_REVIEW}:</label><br /><span>{L_ENABLE_POST_REVIEW_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_post_review" value="1"<!-- IF S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_post_review" value="0"<!-- IF not S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_quick_reply">{L_ENABLE_QUICK_REPLY}{L_COLON}</label><br /><span>{L_ENABLE_QUICK_REPLY_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_quick_reply" value="1"<!-- IF S_ENABLE_QUICK_REPLY --> id="enable_quick_reply" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_quick_reply" value="0"<!-- IF not S_ENABLE_QUICK_REPLY --> id="enable_quick_reply" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_indexing">{L_ENABLE_INDEXING}{L_COLON}</label><br /><span>{L_ENABLE_INDEXING_EXPLAIN}</span></dt>
|
||||
<dt><label for="enable_indexing">{L_ENABLE_INDEXING}:</label><br /><span>{L_ENABLE_INDEXING_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_indexing" value="1"<!-- IF S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_indexing" value="0"<!-- IF not S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_icons">{L_ENABLE_TOPIC_ICONS}{L_COLON}</label></dt>
|
||||
<dt><label for="enable_icons">{L_ENABLE_TOPIC_ICONS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_icons" value="1"<!-- IF S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_icons" value="0"<!-- IF not S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="display_recent">{L_ENABLE_RECENT}{L_COLON}</label><br /><span>{L_ENABLE_RECENT_EXPLAIN}</span></dt>
|
||||
<dt><label for="display_recent">{L_ENABLE_RECENT}:</label><br /><span>{L_ENABLE_RECENT_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="display_recent" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_recent" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}{L_COLON}</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="topics_per_page" name="topics_per_page" value="{TOPICS_PER_PAGE}" size="4" maxlength="4" min="0" max="9999" /></dd>
|
||||
<dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}:</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="topics_per_page" name="topics_per_page" value="{TOPICS_PER_PAGE}" size="4" maxlength="4" /></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_normal_settings_append -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_PRUNE_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}{L_COLON}</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
|
||||
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}:</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_prune" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_freq">{L_AUTO_PRUNE_FREQ}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="prune_freq" name="prune_freq" value="{PRUNE_FREQ}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
|
||||
<dt><label for="prune_freq">{L_AUTO_PRUNE_FREQ}:</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="prune_freq" name="prune_freq" value="{PRUNE_FREQ}" maxlength="4" size="4" /> {L_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_days">{L_AUTO_PRUNE_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_DAYS_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="prune_days" name="prune_days" value="{PRUNE_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
|
||||
<dt><label for="prune_days">{L_AUTO_PRUNE_DAYS}:</label><br /><span>{L_AUTO_PRUNE_DAYS_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="prune_days" name="prune_days" value="{PRUNE_DAYS}" maxlength="4" size="4" /> {L_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_viewed">{L_AUTO_PRUNE_VIEWED}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_VIEWED_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="prune_viewed" name="prune_viewed" value="{PRUNE_VIEWED}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
|
||||
<dt><label for="prune_viewed">{L_AUTO_PRUNE_VIEWED}:</label><br /><span>{L_AUTO_PRUNE_VIEWED_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="prune_viewed" name="prune_viewed" value="{PRUNE_VIEWED}" maxlength="4" size="4" /> {L_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_old_polls">{L_PRUNE_OLD_POLLS}{L_COLON}</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dt><label for="prune_old_polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_old_polls" value="1"<!-- IF S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_old_polls" value="0"<!-- IF not S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_announce">{L_PRUNE_ANNOUNCEMENTS}{L_COLON}</label></dt>
|
||||
<dt><label for="prune_announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_announce" value="1"<!-- IF S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_announce" value="0"<!-- IF not S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_sticky">{L_PRUNE_STICKY}{L_COLON}</label></dt>
|
||||
<dt><label for="prune_sticky">{L_PRUNE_STICKY}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_sticky" value="1"<!-- IF S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_sticky" value="0"<!-- IF not S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
@@ -285,16 +279,16 @@
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="link_display_on_index">{L_LIST_INDEX}{L_COLON}</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dt><label for="link_display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="link_display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="link_display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_link">{L_FORUM_LINK}{L_COLON}</label><br /><span>{L_FORUM_LINK_EXPLAIN}</span></dt>
|
||||
<dt><label for="forum_link">{L_FORUM_LINK}:</label><br /><span>{L_FORUM_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_link" name="forum_link" value="{FORUM_DATA_LINK}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_link_track">{L_FORUM_LINK_TRACK}{L_COLON}</label><br /><span>{L_FORUM_LINK_TRACK_EXPLAIN}</span></dt>
|
||||
<dt><label for="forum_link_track">{L_FORUM_LINK_TRACK}:</label><br /><span>{L_FORUM_LINK_TRACK_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="forum_link_track" value="1"<!-- IF S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="forum_link_track" value="0"<!-- IF not S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
@@ -305,18 +299,18 @@
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_RULES}</legend>
|
||||
<dl>
|
||||
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}{L_COLON}</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
|
||||
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}:</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<!-- IF FORUM_RULES_PREVIEW -->
|
||||
<dl>
|
||||
<dt><label>{L_FORUM_RULES_PREVIEW}{L_COLON}</label></dt>
|
||||
<dt><label>{L_FORUM_RULES_PREVIEW}:</label></dt>
|
||||
<dd>{FORUM_RULES_PREVIEW}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum_rules">{L_FORUM_RULES}{L_COLON}</label><br /><span>{L_FORUM_RULES_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_rules" name="forum_rules" rows="4" cols="70" data-bbcode="true">{FORUM_RULES_PLAIN}</textarea></dd>
|
||||
<dt><label for="forum_rules">{L_FORUM_RULES}:</label><br /><span>{L_FORUM_RULES_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_rules" name="forum_rules" rows="4" cols="70">{FORUM_RULES_PLAIN}</textarea></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="rules_parse_bbcode"<!-- IF S_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
@@ -352,12 +346,12 @@
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_DELETE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_FORUM_NAME}{L_COLON}</label></dt>
|
||||
<dt><label>{L_FORUM_NAME}:</label></dt>
|
||||
<dd><strong>{FORUM_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_FORUM_POST -->
|
||||
<dl>
|
||||
<dt><label for="delete_action">{L_ACTION}{L_COLON}</label></dt>
|
||||
<dt><label for="delete_action">{L_ACTION}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" id="delete_action" name="action_posts" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</label></dd>
|
||||
<!-- IF S_MOVE_FORUM_OPTIONS -->
|
||||
<dd><label><input type="radio" class="radio" name="action_posts" value="move" /> {L_MOVE_POSTS_TO}</label> <select name="posts_to_id">{S_MOVE_FORUM_OPTIONS}</select></dd>
|
||||
@@ -366,7 +360,7 @@
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_HAS_SUBFORUMS -->
|
||||
<dl>
|
||||
<dt><label for="sub_delete_action">{L_ACTION}{L_COLON}</label></dt>
|
||||
<dt><label for="sub_delete_action">{L_ACTION}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" id="sub_delete_action" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</label></dd>
|
||||
<!-- IF S_FORUMS_LIST -->
|
||||
<dd><label><input type="radio" class="radio" name="action_subforums" value="move" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
@@ -437,26 +431,35 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<p><strong>{NAVIGATION}<!-- IF S_NO_FORUMS --> [<a href="{U_EDIT}">{L_EDIT}</a> | <a href="{U_DELETE}">{L_DELETE}</a><!-- IF not S_LINK --> | <a href="{U_SYNC}">{L_RESYNC}</a><!-- ENDIF -->]<!-- ENDIF --></strong></p>
|
||||
<p><strong>{NAVIGATION}<!-- IF S_NO_FORUMS --> [<a href="{U_EDIT}">{L_EDIT}</a> | <a href="{U_DELETE}">{L_DELETE}</a><!-- IF not S_LINK --> | <a href="{U_SYNC}">{L_RESYNC}</a><!-- ENDIF --->]<!-- ENDIF --></strong></p>
|
||||
|
||||
<!-- IF .forums -->
|
||||
<table class="table1 forums">
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><col class="row1" /><col class="row2" />
|
||||
<tbody>
|
||||
<!-- BEGIN forums -->
|
||||
<tr>
|
||||
<td class="folder">{forums.FOLDER_IMAGE}</td>
|
||||
<td class="forum-desc">
|
||||
<td style="width: 5%; text-align: center;">{forums.FOLDER_IMAGE}</td>
|
||||
<td>
|
||||
<!-- IF forums.FORUM_IMAGE --><div style="float: {S_CONTENT_FLOW_BEGIN}; margin-right: 5px;">{forums.FORUM_IMAGE}</div><!-- ENDIF -->
|
||||
<strong><!-- IF forums.S_FORUM_LINK -->{forums.FORUM_NAME}<!-- ELSE --><a href="{forums.U_FORUM}">{forums.FORUM_NAME}</a><!-- ENDIF --></strong>
|
||||
<!-- IF forums.FORUM_DESCRIPTION --><br /><span>{forums.FORUM_DESCRIPTION}</span><!-- ENDIF -->
|
||||
<!-- IF forums.S_FORUM_POST --><br /><br /><span>{L_TOPICS}{L_COLON} <strong>{forums.FORUM_TOPICS}</strong> / {L_POSTS}{L_COLON} <strong>{forums.FORUM_POSTS}</strong></span><!-- ENDIF -->
|
||||
<!-- IF forums.S_FORUM_POST --><br /><br /><span>{L_TOPICS}: <strong>{forums.FORUM_TOPICS}</strong> / {L_POSTS}: <b>{forums.FORUM_POSTS}</b></span><!-- ENDIF -->
|
||||
</td>
|
||||
<td class="actions">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{forums.U_MOVE_UP}" data-ajax="row_up" data-overlay="false">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{forums.U_MOVE_DOWN}" data-ajax="row_down" data-overlay="false">{ICON_MOVE_DOWN}</a></span>
|
||||
<td style="vertical-align: top; width: 100px; text-align: right; white-space: nowrap;">
|
||||
<!-- IF forums.S_FIRST_ROW && not forums.S_LAST_ROW -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
<a href="{forums.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF not forums.S_FIRST_ROW && not forums.S_LAST_ROW -->
|
||||
<a href="{forums.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
<a href="{forums.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF forums.S_LAST_ROW && not forums.S_FIRST_ROW -->
|
||||
<a href="{forums.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ELSE -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{forums.U_EDIT}">{ICON_EDIT}</a>
|
||||
<!-- IF not forums.S_FORUM_LINK -->
|
||||
<a href="{forums.U_SYNC}" onclick="popup_progress_bar();">{ICON_SYNC}</a>
|
||||
@@ -474,7 +477,7 @@
|
||||
<form id="fselect" method="post" action="{U_SEL_ACTION}">
|
||||
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_FORUM}{L_COLON} <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{FORUM_BOX}</select>
|
||||
{L_SELECT_FORUM}: <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{FORUM_BOX}</select>
|
||||
|
||||
<input class="button2" type="submit" value="{L_GO}" />
|
||||
{S_FORM_TOKEN}
|
||||
|
@@ -1,22 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<h1>{L_COPY_PERMISSIONS}</h1>
|
||||
|
||||
<p>{L_COPY_PERMISSIONS_EXPLAIN}</p>
|
||||
<p>{L_ACL_LINK}</p>
|
||||
|
||||
<form id="confirm" method="post" action="{S_COPY_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label for="forum_perm_from">{L_COPY_PERMISSIONS}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
|
||||
<dd><select id="forum_perm_from" name="forum_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_FORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<div style="text-align: center;">{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="update" value="{L_CONTINUE}" class="button2" />
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="settings" method="post" action="{U_ACTION}" enctype="multipart/form-data">
|
||||
<form id="settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_GROUP_DETAILS}</legend>
|
||||
<dl>
|
||||
<dt><label<!-- IF not S_SPECIAL_GROUP --> for="group_name"<!-- ENDIF -->>{L_GROUP_NAME}{L_COLON}</label></dt>
|
||||
<dt><label<!-- IF not S_SPECIAL_GROUP --> for="group_name"<!-- ENDIF -->>{L_GROUP_NAME}:</label></dt>
|
||||
<dd><!-- IF S_SPECIAL_GROUP --><strong>{GROUP_NAME}</strong><!-- ENDIF --><input name="group_name" type="<!-- IF S_SPECIAL_GROUP -->hidden<!-- ELSE -->text<!-- ENDIF -->" id="group_name" value="{GROUP_INTERNAL_NAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_desc">{L_GROUP_DESC}{L_COLON}</label></dt>
|
||||
<dt><label for="group_desc">{L_GROUP_DESC}:</label></dt>
|
||||
<dd><textarea id="group_desc" name="group_desc" rows="5" cols="45">{GROUP_DESC}</textarea></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
@@ -34,7 +34,7 @@
|
||||
</dl>
|
||||
<!-- IF not S_SPECIAL_GROUP -->
|
||||
<dl>
|
||||
<dt><label for="group_type">{L_GROUP_TYPE}{L_COLON}</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
|
||||
<dt><label for="group_type">{L_GROUP_TYPE}:</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<label><input name="group_type" type="radio" class="radio" id="group_type" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
|
||||
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
|
||||
@@ -48,59 +48,42 @@
|
||||
|
||||
<!-- IF S_ADD_GROUP and S_GROUP_PERM -->
|
||||
<dl>
|
||||
<dt><label for="group_perm_from">{L_COPY_PERMISSIONS}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
|
||||
<dt><label for="group_perm_from">{L_COPY_PERMISSIONS}:</label><br /><span>{L_COPY_PERMISSIONS_EXPLAIN}</span></dt>
|
||||
<dd><select id="group_perm_from" name="group_perm_from"><option value="0">{L_NO_PERMISSIONS}</option>{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_GROUP_OPTIONS_SAVE}</legend>
|
||||
<legend>{L_GROUP_SETTINGS_SAVE}</legend>
|
||||
<!-- IF S_USER_FOUNDER -->
|
||||
<dl>
|
||||
<dt><label for="group_founder_manage">{L_GROUP_FOUNDER_MANAGE}{L_COLON}</label><br /><span>{L_GROUP_FOUNDER_MANAGE_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_founder_manage" type="checkbox" value="1" class="radio" id="group_founder_manage"{GROUP_FOUNDER_MANAGE} /></dd>
|
||||
<dt><label for="group_founder_manage">{L_GROUP_FOUNDER_MANAGE}:</label><br /><span>{L_GROUP_FOUNDER_MANAGE_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_founder_manage" type="checkbox" class="radio" id="group_founder_manage"{GROUP_FOUNDER_MANAGE} /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="group_skip_auth">{L_GROUP_SKIP_AUTH}{L_COLON}</label><br /><span>{L_GROUP_SKIP_AUTH_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_skip_auth" type="checkbox" value="1" class="radio" id="group_skip_auth"{GROUP_SKIP_AUTH} /></dd>
|
||||
<dt><label for="group_legend">{L_GROUP_LEGEND}:</label></dt>
|
||||
<dd><input name="group_legend" type="checkbox" class="radio" id="group_legend"{GROUP_LEGEND} /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_legend">{L_GROUP_LEGEND}{L_COLON}</label></dt>
|
||||
<dd><input name="group_legend" type="checkbox" value="1" class="radio" id="group_legend"{GROUP_LEGEND} /></dd>
|
||||
<dt><label for="group_receive_pm">{L_GROUP_RECEIVE_PM}:</label><br /><span>{L_GROUP_RECEIVE_PM_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_receive_pm" type="checkbox" class="radio" id="group_receive_pm"{GROUP_RECEIVE_PM} /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_teampage">{L_GROUP_TEAMPAGE}{L_COLON}</label></dt>
|
||||
<dd><input name="group_teampage" type="checkbox" value="1" class="radio" id="group_teampage"{GROUP_TEAMPAGE} /></dd>
|
||||
<dt><label for="group_message_limit">{L_GROUP_MESSAGE_LIMIT}:</label><br /><span>{L_GROUP_MESSAGE_LIMIT_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_message_limit" type="text" id="group_message_limit" maxlength="4" size="4" value="{GROUP_MESSAGE_LIMIT}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_receive_pm">{L_GROUP_RECEIVE_PM}{L_COLON}</label><br /><span>{L_GROUP_RECEIVE_PM_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_receive_pm" type="checkbox" value="1" class="radio" id="group_receive_pm"{GROUP_RECEIVE_PM} /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_GROUP_SETTINGS_SAVE}</legend>
|
||||
<dl>
|
||||
<dt><label for="group_message_limit">{L_GROUP_MESSAGE_LIMIT}{L_COLON}</label><br /><span>{L_GROUP_MESSAGE_LIMIT_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_message_limit" type="number" id="group_message_limit" maxlength="4" size="4" min="0" max="9999" value="{GROUP_MESSAGE_LIMIT}" /></dd>
|
||||
<dt><label for="group_max_recipients">{L_GROUP_MAX_RECIPIENTS}:</label><br /><span>{L_GROUP_MAX_RECIPIENTS_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_max_recipients" type="text" id="group_max_recipients" maxlength="10" size="4" value="{GROUP_MAX_RECIPIENTS}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_max_recipients">{L_GROUP_MAX_RECIPIENTS}{L_COLON}</label><br /><span>{L_GROUP_MAX_RECIPIENTS_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_max_recipients" type="number" id="group_max_recipients" maxlength="10" size="4" value="{GROUP_MAX_RECIPIENTS}" /></dd>
|
||||
<dt><label for="group_colour">{L_GROUP_COLOR}:</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" /> <span>[ <a href="{U_SWATCH}" onclick="popup(this.href, 636, 150, '_swatch'); return false">{L_COLOUR_SWATCH}</a> ]</span></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_colour">{L_GROUP_COLOR}{L_COLON}</label><br /><span>{L_GROUP_COLOR_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" />
|
||||
<!-- IF GROUP_COLOUR --> <span style="background-color: #{GROUP_COLOUR}"> </span><!-- ENDIF --> <span>
|
||||
[ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]</span>
|
||||
<div id="color_palette_placeholder" style="display: none;" data-orientation="h" data-height="12" data-width="15" data-target="#group_colour"></div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_rank">{L_GROUP_RANK}{L_COLON}</label></dt>
|
||||
<dt><label for="group_rank">{L_GROUP_RANK}:</label></dt>
|
||||
<dd><select name="group_rank" id="group_rank">{S_RANK_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -108,27 +91,67 @@
|
||||
<fieldset>
|
||||
<legend>{L_GROUP_AVATAR}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR}</dd>
|
||||
<dd><label for="avatar_delete"><input type="checkbox" name="avatar_delete" id="avatar_delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR_IMAGE}</dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
|
||||
<dd><select name="avatar_driver" id="avatar_driver">
|
||||
<option value="">{L_NO_AVATAR_CATEGORY}</option>
|
||||
<!-- BEGIN avatar_drivers -->
|
||||
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_drivers.L_TITLE}</option>
|
||||
<!-- END avatar_drivers -->
|
||||
</select></dd>
|
||||
</dl>
|
||||
<div id="avatar_options">
|
||||
<!-- BEGIN avatar_drivers -->
|
||||
<div id="avatar_option_{avatar_drivers.DRIVER}">
|
||||
<p>{avatar_drivers.L_EXPLAIN}</p>
|
||||
{avatar_drivers.OUTPUT}
|
||||
</div>
|
||||
<!-- END avatar_drivers -->
|
||||
</div>
|
||||
<!-- IF not S_IN_AVATAR_GALLERY -->
|
||||
<!-- IF S_CAN_UPLOAD -->
|
||||
<dl>
|
||||
<dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
|
||||
<dd><input type="file" id="uploadfile" name="uploadfile" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
|
||||
<dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
</dl>
|
||||
<!-- IF S_DISPLAY_GALLERY -->
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_GALLERY}:</label></dt>
|
||||
<dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AVATAR_GALLERY}</legend>
|
||||
<dl>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
|
||||
<dd><select name="category" id="category">{S_CAT_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<table cellspacing="1">
|
||||
<!-- BEGIN avatar_row -->
|
||||
<tr>
|
||||
<!-- BEGIN avatar_column -->
|
||||
<td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
|
||||
<!-- END avatar_column -->
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- BEGIN avatar_option_column -->
|
||||
<td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
|
||||
<!-- END avatar_option_column -->
|
||||
</tr>
|
||||
<!-- END avatar_row -->
|
||||
</table>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick" style="margin-top: -15px;">
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
@@ -139,8 +162,6 @@
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- INCLUDEJS avatars.js -->
|
||||
|
||||
<!-- ELSEIF S_LIST -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
@@ -155,7 +176,7 @@
|
||||
<a href="{U_DEFAULT_ALL}">» {L_MAKE_DEFAULT_FOR_ALL}</a>
|
||||
</fieldset>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
@@ -170,8 +191,8 @@
|
||||
<td class="row3" colspan="5"><strong>{L_GROUP_LEAD}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN leader -->
|
||||
<tr>
|
||||
<td><!-- IF leader.USERNAME_COLOUR --><a href="{leader.U_USER_EDIT}" style="color: #{leader.USERNAME_COLOUR};" class="username-coloured">{leader.USERNAME}</a><!-- ELSE --><a href="{leader.U_USER_EDIT}">{leader.USERNAME}</a><!-- ENDIF --></td>
|
||||
<!-- IF leader.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{leader.U_USER_EDIT}">{leader.USERNAME}</a></td>
|
||||
<td style="text-align: center;"><!-- IF leader.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
|
||||
<td style="text-align: center;">{leader.JOINED}</td>
|
||||
<td style="text-align: center;">{leader.USER_POSTS}</td>
|
||||
@@ -179,7 +200,7 @@
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr>
|
||||
<td colspan="5" style="text-align: center;">{L_GROUPS_NO_MODS}</td>
|
||||
<td class="row1" colspan="5" style="text-align: center;">{L_GROUPS_NO_MODS}</td>
|
||||
</tr>
|
||||
<!-- END leader -->
|
||||
<tr>
|
||||
@@ -191,8 +212,8 @@
|
||||
<td class="row3" colspan="5"><strong>{L_GROUP_PENDING}</strong></td>
|
||||
</tr>
|
||||
<!-- ELSE -->
|
||||
<tr>
|
||||
<td><!-- IF member.USERNAME_COLOUR --><a href="{member.U_USER_EDIT}" style="color: #{member.USERNAME_COLOUR};" class="username-coloured">{member.USERNAME}</a><!-- ELSE --><a href="{member.U_USER_EDIT}">{member.USERNAME}</a><!-- ENDIF --></td>
|
||||
<!-- IF member.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{member.U_USER_EDIT}">{member.USERNAME}</a></td>
|
||||
<td style="text-align: center;"><!-- IF member.S_GROUP_DEFAULT -->{L_YES}<!-- ELSE -->{L_NO}<!-- ENDIF --></td>
|
||||
<td style="text-align: center;">{member.JOINED}</td>
|
||||
<td style="text-align: center;">{member.USER_POSTS}</td>
|
||||
@@ -201,21 +222,21 @@
|
||||
<!-- ENDIF -->
|
||||
<!-- BEGINELSE -->
|
||||
<tr>
|
||||
<td colspan="5" style="text-align: center;">{L_GROUPS_NO_MEMBERS}</td>
|
||||
<td class="row1" colspan="5" style="text-align: center;">{L_GROUPS_NO_MEMBERS}</td>
|
||||
</tr>
|
||||
<!-- END member -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<select name="action"><option class="sep" value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
|
||||
<input class="button2" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<p class="small"><a href="#" onclick="marklist('list', 'mark', true); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('list', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
|
||||
<p class="small"><a href="#" onclick="marklist('list', 'mark', true); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('list', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
|
||||
</fieldset>
|
||||
|
||||
<h1>{L_ADD_USERS}</h1>
|
||||
@@ -225,17 +246,17 @@
|
||||
<fieldset>
|
||||
<legend>{L_ADD_USERS}</legend>
|
||||
<dl>
|
||||
<dt><label for="leader">{L_USER_GROUP_LEADER}{L_COLON}</label></dt>
|
||||
<dt><label for="leader">{L_USER_GROUP_LEADER}:</label></dt>
|
||||
<dd><label><input name="leader" type="radio" class="radio" value="1" /> {L_YES}</label>
|
||||
<label><input name="leader" type="radio" class="radio" id="leader" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="default">{L_USER_GROUP_DEFAULT}{L_COLON}</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
|
||||
<dt><label for="default">{L_USER_GROUP_DEFAULT}:</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
|
||||
<dd><label><input name="default" type="radio" class="radio" value="1" /> {L_YES}</label>
|
||||
<label><input name="default" type="radio" class="radio" id="default" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="usernames">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
|
||||
<dt><label for="usernames">{L_USERNAME}:</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="usernames" name="usernames" cols="40" rows="5"></textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
</dl>
|
||||
@@ -266,7 +287,7 @@
|
||||
|
||||
<form id="acp_groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -289,7 +310,7 @@
|
||||
|
||||
<fieldset class="quick">
|
||||
<!-- IF S_GROUP_ADD -->
|
||||
{L_CREATE_GROUP}{L_COLON} <input type="text" name="group_name" value="" /> <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
{L_CREATE_GROUP}: <input type="text" name="group_name" value="" /> <input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input type="hidden" name="add" value="1" />
|
||||
<!-- ENDIF -->
|
||||
{S_FORM_TOKEN}
|
||||
@@ -300,7 +321,7 @@
|
||||
|
||||
<p>{L_SPECIAL_GROUPS_EXPLAIN}</p>
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -317,7 +338,7 @@
|
||||
<td style="text-align: center;">{groups.TOTAL_MEMBERS}</td>
|
||||
<td style="text-align: center;"><a href="{groups.U_EDIT}">{L_SETTINGS}</a></td>
|
||||
<td style="text-align: center;"><a href="{groups.U_LIST}">{L_MEMBERS}</a></td>
|
||||
<td style="text-align: center;"><!-- IF not groups.S_GROUP_SPECIAL and groups.U_DELETE --><a href="{groups.U_DELETE}" data-ajax="row_delete">{L_DELETE}</a><!-- ELSE -->{L_DELETE}<!-- ENDIF --></td>
|
||||
<td style="text-align: center;"><!-- IF not groups.S_GROUP_SPECIAL and groups.U_DELETE --><a href="{groups.U_DELETE}">{L_DELETE}</a><!-- ELSE -->{L_DELETE}<!-- ENDIF --></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- END groups -->
|
||||
|
@@ -1,171 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_MANAGE_LEGEND}</h1>
|
||||
|
||||
<form id="legend_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LEGEND_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="legend_sort_groupname">{L_LEGEND_SORT_GROUPNAME}{L_COLON}</label><br /><span>{L_LEGEND_SORT_GROUPNAME_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<label><input type="radio" name="legend_sort_groupname" class="radio" value="1"<!-- IF LEGEND_SORT_GROUPNAME --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" name="legend_sort_groupname" class="radio" value="0"<!-- IF not LEGEND_SORT_GROUPNAME --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" name="reset" value="{L_RESET}" />
|
||||
<input type="hidden" name="action" value="set_config_legend" />
|
||||
{S_FORM_TOKEN}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<p>{L_LEGEND_EXPLAIN}</p>
|
||||
|
||||
<table class="table1">
|
||||
<col class="col1" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50%">{L_GROUP}</th>
|
||||
<th>{L_GROUP_TYPE}</th>
|
||||
<th>{L_ACTION}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN legend -->
|
||||
<tr>
|
||||
<td><strong<!-- IF legend.GROUP_COLOUR --> style="color: {legend.GROUP_COLOUR}"<!-- ENDIF -->>{legend.GROUP_NAME}</strong></td>
|
||||
<td style="text-align: center;">{legend.GROUP_TYPE}</td>
|
||||
<td class="actions">
|
||||
<span class="up-disabled" style="display: none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{legend.U_MOVE_UP}" data-ajax="row_up" data-overlay="false">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{legend.U_MOVE_DOWN}" data-ajax="row_down" data-overlay="false">{ICON_MOVE_DOWN}</a></span>
|
||||
<a href="{legend.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr>
|
||||
<td colspan="3" class="row3">{L_NO_GROUPS_ADDED}</td>
|
||||
</tr>
|
||||
<!-- END legend -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<form id="legend_add_group" method="post" action="{U_ACTION_LEGEND}">
|
||||
<fieldset class="quick">
|
||||
<select name="g">
|
||||
<option value="0">{L_SELECT_GROUP}</option>
|
||||
<!-- BEGIN add_legend -->
|
||||
<option<!-- IF add_legend.GROUP_SPECIAL --> class="sep"<!-- ENDIF --> value="{add_legend.GROUP_ID}">{add_legend.GROUP_NAME}</option>
|
||||
<!-- END add_legend -->
|
||||
</select>
|
||||
<input class="button2" type="submit" name="submit" value="{L_ADD}" />
|
||||
<input type="hidden" name="action" value="add" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<h1>{L_MANAGE_TEAMPAGE}</h1>
|
||||
|
||||
<form id="teampage_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_TEAMPAGE_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="teampage_memberships">{L_TEAMPAGE_MEMBERSHIPS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" name="teampage_memberships" class="radio" value="0"<!-- IF DISPLAY_MEMBERSHIPS == 0 --> checked="checked"<!-- ENDIF --> /> {L_TEAMPAGE_DISP_FIRST}</label><br />
|
||||
<label><input type="radio" name="teampage_memberships" class="radio" value="1"<!-- IF DISPLAY_MEMBERSHIPS == 1 --> checked="checked"<!-- ENDIF --> /> {L_TEAMPAGE_DISP_DEFAULT}</label><br />
|
||||
<label><input type="radio" name="teampage_memberships" class="radio" value="2"<!-- IF DISPLAY_MEMBERSHIPS == 2 --> checked="checked"<!-- ENDIF --> /> {L_TEAMPAGE_DISP_ALL}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="teampage_forums">{L_TEAMPAGE_FORUMS}{L_COLON}</label><br /><span>{L_TEAMPAGE_FORUMS_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<label><input type="radio" name="teampage_forums" class="radio" value="1"<!-- IF DISPLAY_FORUMS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" name="teampage_forums" class="radio" value="0"<!-- IF not DISPLAY_FORUMS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" name="reset" value="{L_RESET}" />
|
||||
<input type="hidden" name="action" value="set_config_teampage" />
|
||||
{S_FORM_TOKEN}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<p>{L_TEAMPAGE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_TEAMPAGE_CATEGORY and CURRENT_CATEGORY_NAME --><p><strong><a href="{U_ACTION}">{L_TEAMPAGE}</a> » {CURRENT_CATEGORY_NAME}</strong></p><!-- ENDIF -->
|
||||
|
||||
<table class="table1">
|
||||
<col class="col1" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50%">{L_GROUP}</th>
|
||||
<th>{L_GROUP_TYPE}</th>
|
||||
<th>{L_ACTION}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN teampage -->
|
||||
<tr>
|
||||
<td>
|
||||
<!-- IF teampage.U_CATEGORY -->
|
||||
<a href="{teampage.U_CATEGORY}">{teampage.GROUP_NAME}</a>
|
||||
<!-- ELSE -->
|
||||
<strong<!-- IF teampage.GROUP_COLOUR --> style="color: {teampage.GROUP_COLOUR}"<!-- ENDIF -->>{teampage.GROUP_NAME}</strong>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
<td style="text-align: center;"><!-- IF teampage.GROUP_TYPE -->{teampage.GROUP_TYPE}<!-- ELSE -->-<!-- ENDIF -->
|
||||
</td></td>
|
||||
<td class="actions">
|
||||
<span class="up-disabled" style="display: none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{teampage.U_MOVE_UP}" data-ajax="row_up" data-overlay="false">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{teampage.U_MOVE_DOWN}" data-ajax="row_down" data-overlay="false">{ICON_MOVE_DOWN}</a></span>
|
||||
<a href="{teampage.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr>
|
||||
<td colspan="3" class="row3">{L_NO_GROUPS_ADDED}</td>
|
||||
</tr>
|
||||
<!-- END teampage -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF not S_TEAMPAGE_CATEGORY -->
|
||||
<form id="teampage_add_category" method="post" action="{U_ACTION_TEAMPAGE}">
|
||||
<fieldset class="quick">
|
||||
<input class="inputbox autowidth" type="text" maxlength="255" name="category_name" placeholder="{L_GROUP_CATEGORY_NAME}" />
|
||||
<input class="button2" type="submit" name="submit" value="{L_ADD_GROUP_CATEGORY}" />
|
||||
<input type="hidden" name="action" value="add_category" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="teampage_add_group" method="post" action="{U_ACTION_TEAMPAGE}">
|
||||
<fieldset class="quick">
|
||||
<select name="g">
|
||||
<option value="0">{L_SELECT_GROUP}</option>
|
||||
<!-- BEGIN add_teampage -->
|
||||
<option<!-- IF add_teampage.GROUP_SPECIAL --> class="sep"<!-- ENDIF --> value="{add_teampage.GROUP_ID}">{add_teampage.GROUP_NAME}</option>
|
||||
<!-- END add_teampage -->
|
||||
</select>
|
||||
<input class="button2" type="submit" name="submit" value="{L_ADD}" />
|
||||
<input type="hidden" name="action" value="add" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
var use_element = smiley[newimage];
|
||||
|
||||
document.getElementById('add_image_src').src = '{ROOT_PATH}{IMG_PATH}/' + encodeURI(newimage);
|
||||
document.getElementById('add_image_src').src = '{PHPBB_ROOT_PATH}{IMG_PATH}/' + encodeURI(newimage);
|
||||
document.getElementById('add_code').value = use_element['code'];
|
||||
document.getElementById('add_emotion').value = use_element['emotion'];
|
||||
document.getElementById('add_width').value = use_element['width'];
|
||||
@@ -74,7 +74,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table class="table1 zebra-table" id="smilies">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="{COLSPAN}">{L_CONFIG}</th>
|
||||
@@ -94,13 +94,13 @@
|
||||
<td>{L_ORDER}</td>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ADD -->
|
||||
<td>{L_ADD} <a href="#" onclick="marklist('smilies', 'add_img', true); return false;">({L_MARK_ALL})</a></td>
|
||||
<td>{L_ADD}</td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN items -->
|
||||
<tr>
|
||||
<!-- IF items.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td>
|
||||
<td style="vertical-align: top;">[{items.IMG}]</td>
|
||||
@@ -108,8 +108,8 @@
|
||||
<td><input class="text post" type="text" name="code[{items.IMG}]" value="{items.CODE}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" name="emotion[{items.IMG}]" value="{items.EMOTION}" size="10" maxlength="50" /></td>
|
||||
<!-- ENDIF -->
|
||||
<td><input class="text post" type="number" size="3" name="width[{items.IMG}]" value="{items.WIDTH}" /></td>
|
||||
<td><input class="text post" type="number" size="3" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="width[{items.IMG}]" value="{items.WIDTH}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td>
|
||||
<td>
|
||||
<input type="checkbox" class="radio" name="display_on_posting[{items.IMG}]"{items.POSTING_CHECKED} onclick="toggle_select('{items.A_IMG}', this.checked, '{items.S_ROW_COUNT}');"/>
|
||||
<!-- IF items.S_ID -->
|
||||
@@ -136,12 +136,12 @@
|
||||
<td style="vertical-align: top;"><img src="{IMG_SRC}" id="add_image_src" alt="" title="" /></td>
|
||||
<td><input class="text post" type="text" name="add_code" id="add_code" value="{CODE}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" name="add_emotion" id="add_emotion" value="{EMOTION}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="number" size="3" name="add_width" id="add_width" value="{WIDTH}" /></td>
|
||||
<td><input class="text post" type="number" size="3" name="add_height" id="add_height" value="{HEIGHT}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="add_width" id="add_width" value="{WIDTH}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="add_height" id="add_height" value="{HEIGHT}" /></td>
|
||||
<td><input type="checkbox" class="radio" name="add_display_on_posting" checked="checked" onclick="toggle_select('add', this.checked, 'add_order');"/></td>
|
||||
<td><select id="order_add_order" name="add_order">
|
||||
<optgroup id="order_disp_add_order" label="{L_DISPLAY_POSTING}">{S_ADD_ORDER_LIST_DISPLAY}</optgroup>
|
||||
<optgroup id="order_no_disp_add_order" label="{L_DISPLAY_POSTING_NO}" disabled="disabled" class="disabled-options" >{S_ADD_ORDER_LIST_UNDISPLAY}</optgroup>
|
||||
<td><select id="add_order" name="add_order">
|
||||
<optgroup id="order_disp[add]" label="{L_DISPLAY_POSTING}">{S_ADD_ORDER_LIST_DISPLAY}</optgroup>
|
||||
<optgroup id="order_no_disp[add]" label="{L_DISPLAY_POSTING_NO}" disabled="disabled" class="disabled-options" >{S_ADD_ORDER_LIST_UNDISPLAY}</optgroup>
|
||||
</select></td>
|
||||
<td><input type="checkbox" class="radio" name="add_additional_code" value="1" /></td>
|
||||
</tr>
|
||||
@@ -218,7 +218,7 @@
|
||||
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_TITLE}</th>
|
||||
@@ -236,18 +236,16 @@
|
||||
<td class="row3" colspan="{COLSPAN}" style="text-align: center;">{L_NOT_DISPLAYED}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<!-- IF items.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="width: 85%; text-align: center;"><img src="{items.IMG_SRC}" width="{items.WIDTH}" height="{items.HEIGHT}" alt="{items.ALT_TEXT}" title="{items.ALT_TEXT}" /></td>
|
||||
<!-- IF S_SMILIES -->
|
||||
<td style="text-align: center;">{items.CODE}</td>
|
||||
<td style="text-align: center;">{items.EMOTION}</td>
|
||||
<!-- ENDIF -->
|
||||
<td class="actions" style="text-align: right;">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{items.U_MOVE_UP}" data-ajax="row_up">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{items.U_MOVE_DOWN}" data-ajax="row_down">{ICON_MOVE_DOWN}</a></span>
|
||||
<a href="{items.U_EDIT}">{ICON_EDIT}</a> <a href="{items.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<td style="text-align: right; white-space: nowrap;">
|
||||
<!-- IF items.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{items.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<!-- IF items.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{items.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<a href="{items.U_EDIT}">{ICON_EDIT}</a> <a href="{items.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -257,11 +255,7 @@
|
||||
<!-- END items -->
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<p class="quick">
|
||||
<input class="button2" name="add" type="submit" value="{L_ICON_ADD}" /> <input class="button2" type="submit" name="edit" value="{L_ICON_EDIT}" />
|
||||
</p>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h2>{L_INACTIVE_USERS}</h2>
|
||||
|
||||
@@ -10,37 +10,32 @@
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<!-- IF .pagination -->
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_JOINED}</th>
|
||||
<th>{L_INACTIVE_DATE}</th>
|
||||
<th>{L_LAST_VISIT}</th>
|
||||
<th>{L_INACTIVE_REASON}</th>
|
||||
<th>{L_LAST_VISIT}</th>
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN inactive -->
|
||||
<tr>
|
||||
<td style="vertical-align: top;">
|
||||
{inactive.USERNAME_FULL}
|
||||
<!-- IF inactive.POSTS --><br />{L_POSTS}{L_COLON} <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
|
||||
</td>
|
||||
<td style="vertical-align: top;">{inactive.JOINED}</td>
|
||||
<td style="vertical-align: top;">{inactive.INACTIVE_DATE}</td>
|
||||
<td style="vertical-align: top;">{inactive.LAST_VISIT}</td>
|
||||
<td style="vertical-align: top;">
|
||||
{inactive.REASON}
|
||||
<!-- IF inactive.REMINDED --><br />{inactive.REMINDED_EXPLAIN}<!-- ENDIF -->
|
||||
</td>
|
||||
<!-- IF inactive.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td><a href="{inactive.U_USER_ADMIN}">{inactive.USERNAME}</a></td>
|
||||
<td>{inactive.JOINED}</td>
|
||||
<td>{inactive.INACTIVE_DATE}</td>
|
||||
<td>{inactive.REASON}</td>
|
||||
<td>{inactive.LAST_VISIT}</td>
|
||||
<td> <input type="checkbox" class="radio" name="mark[]" value="{inactive.USER_ID}" /> </td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -51,26 +46,26 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}{L_COLON} {S_LIMIT_DAYS} {L_SORT_BY}{L_COLON} {S_SORT_KEY} {S_SORT_DIR}<!-- IF .pagination --> {L_USERS_PER_PAGE}{L_COLON} <input class="inputbox autowidth" type="number" name="users_per_page" id="users_per_page" size="3" value="{USERS_PER_PAGE}" /><!-- ENDIF -->
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
|
||||
<hr />
|
||||
|
||||
<!-- IF .pagination -->
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
<hr />
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<select name="action">{S_INACTIVE_OPTIONS}</select>
|
||||
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<p class="small"><a href="#" onclick="marklist('inactive', 'mark', true); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('inactive', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
<select name="action">{S_INACTIVE_OPTIONS}</select>
|
||||
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<p class="small"><a href="#" onclick="marklist('inactive', 'mark', true); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('inactive', 'mark', false); return false;">{L_UNMARK_ALL}</a></p>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_JABBER_SETTINGS}</h1>
|
||||
|
||||
@@ -21,36 +21,36 @@
|
||||
<p>{L_JAB_GTALK_NOTE}</p>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="jab_enable">{L_JAB_ENABLE}{L_COLON}</label><br /><span>{L_JAB_ENABLE_EXPLAIN}</span></dt>
|
||||
<dt><label for="jab_enable">{L_JAB_ENABLE}:</label><br /><span>{L_JAB_ENABLE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="jab_enable" name="jab_enable" value="1"<!-- IF JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="jab_enable" value="0"<!-- IF not JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_host">{L_JAB_SERVER}{L_COLON}</label><br /><span>{L_JAB_SERVER_EXPLAIN}</span></dt>
|
||||
<dt><label for="jab_host">{L_JAB_SERVER}:</label><br /><span>{L_JAB_SERVER_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="jab_host" name="jab_host" value="{JAB_HOST}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_port">{L_JAB_PORT}{L_COLON}</label><br /><span>{L_JAB_PORT_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="jab_port" name="jab_port" value="{JAB_PORT}" maxlength="5" size="5" /></dd>
|
||||
<dt><label for="jab_port">{L_JAB_PORT}:</label><br /><span>{L_JAB_PORT_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="jab_port" name="jab_port" value="{JAB_PORT}" maxlength="5" size="5" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_username">{L_JAB_USERNAME}{L_COLON}</label><br /><span>{L_JAB_USERNAME_EXPLAIN}</span></dt>
|
||||
<dt><label for="jab_username">{L_JAB_USERNAME}:</label><br /><span>{L_JAB_USERNAME_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="jab_username" name="jab_username" value="{JAB_USERNAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_password">{L_JAB_PASSWORD}{L_COLON}</label><br /><span>{L_JAB_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dt><label for="jab_password">{L_JAB_PASSWORD}:</label></dt>
|
||||
<dd><input type="password" id="jab_password" name="jab_password" value="{JAB_PASSWORD}" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_CAN_USE_SSL -->
|
||||
<dl>
|
||||
<dt><label for="jab_use_ssl">{L_JAB_USE_SSL}{L_COLON}</label><br /><span>{L_JAB_USE_SSL_EXPLAIN}</span></dt>
|
||||
<dt><label for="jab_use_ssl">{L_JAB_USE_SSL}:</label><br /><span>{L_JAB_USE_SSL_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="jab_use_ssl" name="jab_use_ssl" value="1"<!-- IF JAB_USE_SSL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="jab_use_ssl" value="0"<!-- IF not JAB_USE_SSL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="jab_package_size">{L_JAB_PACKAGE_SIZE}{L_COLON}</label><br /><span>{L_JAB_PACKAGE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="jab_package_size" name="jab_package_size" value="{JAB_PACKAGE_SIZE}" maxlength="5" size="5" min="0" max="99999" /></dd>
|
||||
<dt><label for="jab_package_size">{L_JAB_PACKAGE_SIZE}:</label><br /><span>{L_JAB_PACKAGE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="jab_package_size" name="jab_package_size" value="{JAB_PACKAGE_SIZE}" maxlength="5" size="5" /></dd>
|
||||
</dl>
|
||||
|
||||
</fieldset>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_SELECT_METHOD -->
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_DOWNLOAD_AS}</legend>
|
||||
<dl>
|
||||
<dt><label for="use_method">{L_DOWNLOAD_AS}{L_COLON}</label></dt>
|
||||
<dt><label for="use_method">{L_DOWNLOAD_AS}:</label></dt>
|
||||
<dd>{RADIO_BUTTONS}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -35,19 +35,19 @@
|
||||
<fieldset>
|
||||
<legend>{LANG_LOCAL_NAME}</legend>
|
||||
<dl>
|
||||
<dt><label for="lang_english_name">{L_LANG_ENGLISH_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="lang_english_name">{L_LANG_ENGLISH_NAME}:</label></dt>
|
||||
<dd><input type="text" id="lang_english_name" name="lang_english_name" value="{LANG_ENGLISH_NAME}" maxlength="100" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang_local_name">{L_LANG_LOCAL_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="lang_local_name">{L_LANG_LOCAL_NAME}:</label></dt>
|
||||
<dd><input type="text" id="lang_local_name" name="lang_local_name" value="{LANG_LOCAL_NAME}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LANG_ISO_CODE}{L_COLON}</label></dt>
|
||||
<dt><label>{L_LANG_ISO_CODE}:</label></dt>
|
||||
<dd><strong>{LANG_ISO}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang_author">{L_LANG_AUTHOR}{L_COLON}</label></dt>
|
||||
<dt><label for="lang_author">{L_LANG_AUTHOR}:</label></dt>
|
||||
<dd><input type="text" id="lang_author" name="lang_author" value="{LANG_AUTHOR}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
<form id="missing" method="post" action="{U_MISSING_ACTION}">
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_LANGUAGE_KEY}</th>
|
||||
@@ -98,7 +98,7 @@
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<a id="entries"></a>
|
||||
<a name="entries"></a>
|
||||
|
||||
<h1>{L_LANGUAGE_ENTRIES}</h1>
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
</style>
|
||||
<![endif]-->
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<!-- IF S_EMAIL_FILE -->
|
||||
<tr>
|
||||
@@ -147,7 +147,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3" style="text-align: right;">
|
||||
<!-- IF ALLOW_UPLOAD --> {L_UPLOAD_METHOD}{L_COLON} <!-- BEGIN buttons --><input type="radio" class="radio"<!-- IF buttons.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> value="{buttons.VALUE}" name="method" /> {buttons.VALUE} <!-- END buttons --><input type="submit" name="upload_file" class="button2" value="{L_SUBMIT_AND_UPLOAD}" /><!-- ENDIF --></td>
|
||||
<!-- IF ALLOW_UPLOAD --> {L_UPLOAD_METHOD}: <!-- BEGIN buttons--><input type="radio" class="radio"<!-- IF buttons.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> value="{buttons.VALUE}" name="method" /> {buttons.VALUE} <!-- END buttons --><input type="submit" name="upload_file" class="button2" value="{L_SUBMIT_AND_UPLOAD}" /><!-- ENDIF --></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -186,12 +186,12 @@
|
||||
<fieldset>
|
||||
<legend>{L_UPLOAD_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_UPLOAD_METHOD}{L_COLON}</label></dt>
|
||||
<dt><label>{L_UPLOAD_METHOD}:</label></dt>
|
||||
<dd><strong>{NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- BEGIN data -->
|
||||
<dl>
|
||||
<dt><label for="{data.DATA}">{data.NAME}{L_COLON}</label><br /><span>{data.EXPLAIN}</span></dt>
|
||||
<dt><label for="{data.DATA}">{data.NAME}:</label><br /><span>{data.EXPLAIN}</span></dt>
|
||||
<dd><input type="<!-- IF data.DATA == 'password' -->password<!-- ELSE -->text<!-- ENDIF -->" id="{data.DATA}" name="{data.DATA}" value="{data.DEFAULT}" /></dd>
|
||||
</dl>
|
||||
<!-- END data -->
|
||||
@@ -211,7 +211,7 @@
|
||||
|
||||
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_LANGUAGE_PACK_NAME}</th>
|
||||
@@ -226,7 +226,7 @@
|
||||
<td class="row3" colspan="5"><strong>{L_INSTALLED_LANGUAGE_PACKS}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN lang -->
|
||||
<tr>
|
||||
<!-- IF lang.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{lang.U_DETAILS}">{lang.ENGLISH_NAME}</a> {lang.TAG}</td>
|
||||
<td>{lang.LOCAL_NAME}</td>
|
||||
<td style="text-align: center;"><strong>{lang.ISO}</strong></td>
|
||||
@@ -240,7 +240,7 @@
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- BEGIN notinst -->
|
||||
<tr>
|
||||
<!-- IF notinst.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td>{notinst.NAME}</td>
|
||||
<td>{notinst.LOCAL_NAME}</td>
|
||||
<td style="text-align: center;"><strong>{notinst.ISO}</strong></td>
|
||||
|
46
phpBB/adm/style/acp_login.html
Normal file
@@ -0,0 +1,46 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
<h1>{PAGE_TITLE}</h1>
|
||||
<p><!-- IF LOGIN_EXPLAIN -->{LOGIN_EXPLAIN}<!-- ELSE -->{L_LOGIN}<!-- ENDIF --></p>
|
||||
|
||||
<!-- IF LOGIN_ERROR -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{LOGIN_ERROR}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<form action="{S_LOGIN_ACTION}" method="post" id="login">
|
||||
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label for="{USERNAME_CREDENTIAL}">{L_USERNAME}:</label></dt>
|
||||
<dd><input type="text" tabindex="1" name="{USERNAME_CREDENTIAL}" id="{USERNAME_CREDENTIAL}" size="25" value="{USERNAME}" class="inputbox autowidth" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="{PASSWORD_CREDENTIAL}">{L_PASSWORD}:</label></dt>
|
||||
<dd><input type="password" tabindex="2" id="{PASSWORD_CREDENTIAL}" name="{PASSWORD_CREDENTIAL}" size="25" class="inputbox autowidth" /></dd>
|
||||
<!-- IF S_DISPLAY_FULL_LOGIN and (U_SEND_PASSWORD or U_RESEND_ACTIVATION) -->
|
||||
<!-- IF U_SEND_PASSWORD --><dd><a href="{U_SEND_PASSWORD}">{L_FORGOT_PASS}</a></dd><!-- ENDIF -->
|
||||
<!-- IF U_RESEND_ACTIVATION --><dd><a href="{U_RESEND_ACTIVATION}">{L_RESEND_ACTIVATION}</a></dd><!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
|
||||
<!-- IF S_CONFIRM_CODE -->
|
||||
<dl>
|
||||
<dt><label for="confirm_code">{L_CONFIRM_CODE}:</label><br /><span>{L_CONFIRM_CODE_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="confirm_id" value="{CONFIRM_ID}" />{CONFIRM_IMAGE}</dd>
|
||||
<dd><input type="text" name="confirm_code" id="confirm_code" size="8" maxlength="8" tabindex="3" class="inputbox narrow" title="{L_CONFIRM_CODE}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<p class="submit-buttons">
|
||||
<!-- IF S_DISPLAY_FULL_LOGIN -->
|
||||
<!-- IF S_AUTOLOGIN_ENABLED --><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="4" /> {L_LOG_ME_IN}</label><!-- ENDIF -->
|
||||
<label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="5" /> {L_HIDE_ME}</label>
|
||||
<!-- ENDIF -->
|
||||
|
||||
{S_HIDDEN_FIELDS}<input type="submit" name="login" tabindex="6" value="{L_LOGIN}" class="button1" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
@@ -8,35 +8,27 @@
|
||||
|
||||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="display-options" style="float: left">
|
||||
{L_SEARCH_KEYWORDS}{L_COLON} <input type="text" name="keywords" value="{S_KEYWORDS}" /> <input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination" style="float: right; margin: 15px 0 2px 0">
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="clearfix"> </div>
|
||||
<div><br style="clear: both;" /></div>
|
||||
|
||||
<!-- IF .log -->
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_IP}</th>
|
||||
<th>{L_TIME}</th>
|
||||
<th>{L_ACTION}</th>
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<th>{L_MARK}</th>
|
||||
<!-- ENDIF -->
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN log -->
|
||||
<tr>
|
||||
<!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>
|
||||
{log.USERNAME}
|
||||
<!-- IF log.REPORTEE_USERNAME -->
|
||||
@@ -46,41 +38,40 @@
|
||||
<td style="text-align: center;">{log.IP}</td>
|
||||
<td style="text-align: center;">{log.DATE}</td>
|
||||
<td>{log.ACTION}<!-- IF log.DATA --><br /><span>{log.DATA}</span><!-- ENDIF --></td>
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
|
||||
<!-- ENDIF -->
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
|
||||
</tr>
|
||||
<!-- END log -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination">
|
||||
<!-- INCLUDE pagination.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSE -->
|
||||
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_ENTRIES}</p>
|
||||
</div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}{L_COLON} {S_LIMIT_DAYS} {L_SORT_BY}{L_COLON} {S_SORT_KEY} {S_SORT_DIR}
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
<hr />
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_SHOW_FORUMS -->
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_FORUM}{L_COLON} <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{S_FORUM_BOX}</select>
|
||||
{L_SELECT_FORUM}: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{S_FORUM_BOX}</select>
|
||||
<input class="button2" type="submit" value="{L_GO}" />
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .log and S_CLEARLOGS -->
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" /><br />
|
||||
@@ -88,6 +79,7 @@
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_RESTORE_PERMISSIONS -->
|
||||
|
||||
@@ -14,26 +14,6 @@
|
||||
|
||||
<p>{L_ADMIN_INTRO}</p>
|
||||
|
||||
<!-- IF S_VERSIONCHECK_FAIL -->
|
||||
<div class="errorbox notice">
|
||||
<p>{L_VERSIONCHECK_FAIL}</p>
|
||||
<p>{VERSIONCHECK_FAIL_REASON}</p>
|
||||
<p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> · <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
|
||||
</div>
|
||||
<!-- ELSEIF not S_VERSION_UP_TO_DATE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE_TITLE}</p>
|
||||
<p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> · <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SEARCH_INDEX_MISSING -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{L_NO_SEARCH_INDEX}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_REMOVE_INSTALL -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
@@ -41,51 +21,13 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_MBSTRING_LOADED -->
|
||||
<!-- IF S_MBSTRING_FUNC_OVERLOAD_FAIL -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_ERROR_MBSTRING_FUNC_OVERLOAD}</h3>
|
||||
<p>{L_ERROR_MBSTRING_FUNC_OVERLOAD_EXPLAIN}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_MBSTRING_ENCODING_TRANSLATION_FAIL -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_ERROR_MBSTRING_ENCODING_TRANSLATION}</h3>
|
||||
<p>{L_ERROR_MBSTRING_ENCODING_TRANSLATION_EXPLAIN}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_MBSTRING_HTTP_INPUT_FAIL -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_ERROR_MBSTRING_HTTP_INPUT}</h3>
|
||||
<p>{L_ERROR_MBSTRING_HTTP_INPUT_EXPLAIN}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_MBSTRING_HTTP_OUTPUT_FAIL -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_ERROR_MBSTRING_HTTP_OUTPUT}</h3>
|
||||
<p>{L_ERROR_MBSTRING_HTTP_OUTPUT_EXPLAIN}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_WRITABLE_CONFIG -->
|
||||
<div class="errorbox notice">
|
||||
<p>{L_WRITABLE_CONFIG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_PHP_VERSION_OLD -->
|
||||
<div class="errorbox notice">
|
||||
<p>{L_PHP_VERSION_OLD}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- EVENT acp_main_notice_after -->
|
||||
|
||||
<table class="table1 two-columns no-header" data-no-responsive-header="true">
|
||||
<table cellspacing="1">
|
||||
<caption>{L_FORUM_STATS}</caption>
|
||||
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
|
||||
<thead>
|
||||
@@ -98,56 +40,54 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{L_NUMBER_POSTS}{L_COLON} </td>
|
||||
<td>{L_NUMBER_POSTS}: </td>
|
||||
<td><strong>{TOTAL_POSTS}</strong></td>
|
||||
<td>{L_POSTS_PER_DAY}{L_COLON} </td>
|
||||
<td>{L_POSTS_PER_DAY}: </td>
|
||||
<td><strong>{POSTS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_TOPICS}{L_COLON} </td>
|
||||
<td>{L_NUMBER_TOPICS}: </td>
|
||||
<td><strong>{TOTAL_TOPICS}</strong></td>
|
||||
<td>{L_TOPICS_PER_DAY}{L_COLON} </td>
|
||||
<td>{L_TOPICS_PER_DAY}: </td>
|
||||
<td><strong>{TOPICS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_USERS}{L_COLON} </td>
|
||||
<td>{L_NUMBER_USERS}: </td>
|
||||
<td><strong>{TOTAL_USERS}</strong></td>
|
||||
<td>{L_USERS_PER_DAY}{L_COLON} </td>
|
||||
<td>{L_USERS_PER_DAY}: </td>
|
||||
<td><strong>{USERS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_FILES}{L_COLON} </td>
|
||||
<td>{L_NUMBER_FILES}: </td>
|
||||
<td><strong>{TOTAL_FILES}</strong></td>
|
||||
<td>{L_FILES_PER_DAY}{L_COLON} </td>
|
||||
<td>{L_FILES_PER_DAY}: </td>
|
||||
<td><strong>{FILES_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>{L_BOARD_STARTED}{L_COLON} </td>
|
||||
<td>{L_BOARD_STARTED}: </td>
|
||||
<td><strong>{START_DATE}</strong></td>
|
||||
<td>{L_AVATAR_DIR_SIZE}{L_COLON} </td>
|
||||
<td>{L_AVATAR_DIR_SIZE}: </td>
|
||||
<td><strong>{AVATAR_DIR_SIZE}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_DATABASE_SIZE}{L_COLON} </td>
|
||||
<td>{L_DATABASE_SIZE}: </td>
|
||||
<td><strong>{DBSIZE}</strong></td>
|
||||
<td>{L_UPLOAD_DIR_SIZE}{L_COLON} </td>
|
||||
<td>{L_UPLOAD_DIR_SIZE}: </td>
|
||||
<td><strong>{UPLOAD_DIR_SIZE}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_DATABASE_SERVER_INFO}{L_COLON} </td>
|
||||
<td>{L_DATABASE_SERVER_INFO}: </td>
|
||||
<td><strong>{DATABASE_INFO}</strong></td>
|
||||
<td>{L_GZIP_COMPRESSION}{L_COLON} </td>
|
||||
<td>{L_GZIP_COMPRESSION}: </td>
|
||||
<td><strong>{GZIP_COMPRESSION}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_BOARD_VERSION}{L_COLON} </td>
|
||||
<td>
|
||||
<strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF --> title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [ <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> ]
|
||||
</td>
|
||||
<td>{L_BOARD_VERSION}: </td>
|
||||
<td><strong>{BOARD_VERSION}</strong></td>
|
||||
<!-- IF S_TOTAL_ORPHAN -->
|
||||
<td>{L_NUMBER_ORPHAN}{L_COLON} </td>
|
||||
<td>{L_NUMBER_ORPHAN}: </td>
|
||||
<td><strong>{TOTAL_ORPHAN}</strong></td>
|
||||
<!-- ELSE -->
|
||||
<td> </td>
|
||||
@@ -161,14 +101,14 @@
|
||||
<fieldset>
|
||||
<legend>{L_STATISTIC_RESYNC_OPTIONS}</legend>
|
||||
|
||||
<form id="action_online_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<form id="action_online_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_online">{L_RESET_ONLINE}</label><br /><span> </span></dt>
|
||||
<dd><input type="hidden" name="action" value="online" /><input class="button2" type="submit" id="action_online" name="action_online" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_date_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<form id="action_date_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_date">{L_RESET_DATE}</label><br /><span> </span></dt>
|
||||
<dd><input type="hidden" name="action" value="date" /><input class="button2" type="submit" id="action_date" name="action_date" value="{L_RUN}" /></dd>
|
||||
@@ -197,22 +137,13 @@
|
||||
</form>
|
||||
|
||||
<!-- IF S_FOUNDER -->
|
||||
<form id="action_purge_sessions_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<dl>
|
||||
<dt><label for="action_purge_sessions">{L_PURGE_SESSIONS}</label><br /><span>{L_PURGE_SESSIONS_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="purge_sessions" /><input class="button2" type="submit" id="action_purge_sessions" name="action_purge_sessions" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="action_purge_cache_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<form id="action_purge_cache_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_purge_cache">{L_PURGE_CACHE}</label><br /><span>{L_PURGE_CACHE_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="purge_cache" /><input class="button2" type="submit" id="action_purge_cache" name="action_purge_cache" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<!-- EVENT acp_main_actions_append -->
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
@@ -223,7 +154,7 @@
|
||||
|
||||
<div style="text-align: right;"><a href="{U_ADMIN_LOG}">» {L_VIEW_ADMIN_LOG}</a></div>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
@@ -234,7 +165,8 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN log -->
|
||||
<tr>
|
||||
<!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>{log.USERNAME}</td>
|
||||
<td style="text-align: center;">{log.IP}</td>
|
||||
<td style="text-align: center;">{log.DATE}</td>
|
||||
@@ -255,30 +187,25 @@
|
||||
|
||||
<div style="text-align: right;"><a href="{U_INACTIVE_USERS}">» {L_VIEW_INACTIVE_USERS}</a></div>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_JOINED}</th>
|
||||
<th>{L_INACTIVE_DATE}</th>
|
||||
<th>{L_LAST_VISIT}</th>
|
||||
<th>{L_INACTIVE_REASON}</th>
|
||||
<th>{L_LAST_VISIT}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN inactive -->
|
||||
<tr>
|
||||
<td style="vertical-align: top;">
|
||||
{inactive.USERNAME_FULL}
|
||||
<!-- IF inactive.POSTS --><br />{L_POSTS}{L_COLON} <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
|
||||
</td>
|
||||
<td style="vertical-align: top;">{inactive.JOINED}</td>
|
||||
<td style="vertical-align: top;">{inactive.INACTIVE_DATE}</td>
|
||||
<td style="vertical-align: top;">{inactive.LAST_VISIT}</td>
|
||||
<td style="vertical-align: top;">
|
||||
{inactive.REASON}
|
||||
<!-- IF inactive.REMINDED --><br />{inactive.REMINDED_EXPLAIN}<!-- ENDIF -->
|
||||
</td>
|
||||
<!-- IF inactive.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td><a href="{inactive.U_USER_ADMIN}">{inactive.USERNAME}</a></td>
|
||||
<td>{inactive.JOINED}</td>
|
||||
<td>{inactive.INACTIVE_DATE}</td>
|
||||
<td>{inactive.REASON}</td>
|
||||
<td>{inactive.LAST_VISIT}</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr>
|
||||
@@ -292,4 +219,4 @@
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_MODULE -->
|
||||
|
||||
@@ -72,37 +72,37 @@
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_langname">{L_MODULE_LANGNAME}{L_COLON}</label><br />
|
||||
<dt><label for="module_langname">{L_MODULE_LANGNAME}:</label><br />
|
||||
<span>{L_MODULE_LANGNAME_EXPLAIN}</span></dt>
|
||||
<dd><input name="module_langname" type="text" class="text medium" id="module_langname" value="{MODULE_LANGNAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_type">{L_MODULE_TYPE}{L_COLON}</label></dt>
|
||||
<dt><label for="module_type">{L_MODULE_TYPE}:</label></dt>
|
||||
<dd><select name="module_type" id="module_type" onchange="display_options(this.value);"><option value="category"<!-- IF S_IS_CAT --> selected="selected"<!-- ENDIF -->>{L_CATEGORY}</option><option value="module"<!-- IF not S_IS_CAT --> selected="selected"<!-- ENDIF -->>{L_MODULE}</option></select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="parent_id">{L_PARENT}{L_COLON}</label></dt>
|
||||
<dt><label for="parent_id">{L_PARENT}:</label></dt>
|
||||
<dd><select name="module_parent_id" id="parent_id">{S_CAT_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<hr />
|
||||
<dl>
|
||||
<dt><label for="module_enabled">{L_MODULE_ENABLED}{L_COLON}</label></dt>
|
||||
<dt><label for="module_enabled">{L_MODULE_ENABLED}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="module_enabled" id="module_enabled" value="1"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_enabled" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<div id="modoptions"<!-- IF S_IS_CAT --> style="display: none;"<!-- ENDIF -->>
|
||||
<dl>
|
||||
<dt><label for="module_display">{L_MODULE_DISPLAYED}{L_COLON}</label><br /><span>{L_MODULE_DISPLAYED_EXPLAIN}</span></dt>
|
||||
<dt><label for="module_display">{L_MODULE_DISPLAYED}:</label><br /><span>{L_MODULE_DISPLAYED_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="module_display" id="module_display" value="1"<!-- IF MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_display" value="0"<!-- IF not MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_basename">{L_CHOOSE_MODULE}{L_COLON}</label><br />
|
||||
<dt><label for="module_basename">{L_CHOOSE_MODULE}:</label><br />
|
||||
<span>{L_CHOOSE_MODULE_EXPLAIN}</span></dt>
|
||||
<dd><select name="module_basename" id="module_basename" onchange="display_modes(this.value);">{S_MODULE_NAMES}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_mode">{L_CHOOSE_MODE}{L_COLON}</label><br />
|
||||
<dt><label for="module_mode">{L_CHOOSE_MODE}:</label><br />
|
||||
<span>{L_CHOOSE_MODE_EXPLAIN}</span></dt>
|
||||
<dd><select name="module_mode" id="module_mode">{S_MODULE_MODES}</select></dd>
|
||||
</dl>
|
||||
@@ -132,7 +132,7 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="row3">{NAVIGATION}<!-- IF S_NO_MODULES --> [<a href="{U_EDIT}">{L_EDIT}</a> | <a href="{U_DELETE}">{L_DELETE}</a> | <!-- IF MODULE_ENABLED --><a href="{U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{U_ENABLE}">{L_ENABLE}</a><!-- ENDIF -->]<!-- ENDIF --></td>
|
||||
@@ -141,7 +141,7 @@
|
||||
</table>
|
||||
|
||||
<!-- IF .modules -->
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><col class="row1" /><col class="row2" /><col class="row2" />
|
||||
<tbody>
|
||||
<!-- BEGIN modules -->
|
||||
@@ -149,13 +149,22 @@
|
||||
<td style="width: 5%; text-align: center;">{modules.MODULE_IMAGE}</td>
|
||||
<td><a href="{modules.U_MODULE}">{modules.MODULE_TITLE}</a><!-- IF not modules.MODULE_DISPLAYED --> <span class="small">[{L_HIDDEN_MODULE}]</span><!-- ENDIF --></td>
|
||||
<td style="width: 15%; white-space: nowrap; text-align: center; vertical-align: middle;"> <!-- IF modules.MODULE_ENABLED --><a href="{modules.U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{modules.U_ENABLE}">{L_ENABLE}</a><!-- ENDIF --> </td>
|
||||
<td class="actions">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{modules.U_MOVE_UP}" data-ajax="row_up">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{modules.U_MOVE_DOWN}" data-ajax="row_down">{ICON_MOVE_DOWN}</a></span>
|
||||
<td style="width:90px; white-space: nowrap; text-align: right; vertical-align: middle;">
|
||||
<!-- IF modules.S_FIRST_ROW && not modules.S_LAST_ROW -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
<a href="{modules.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF not modules.S_FIRST_ROW && not modules.S_LAST_ROW-->
|
||||
<a href="{modules.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
<a href="{modules.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF modules.S_LAST_ROW && not modules.S_FIRST_ROW -->
|
||||
<a href="{modules.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ELSE -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{modules.U_EDIT}">{ICON_EDIT}</a>
|
||||
<a href="{modules.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<a href="{modules.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END modules -->
|
||||
@@ -192,7 +201,7 @@
|
||||
|
||||
<form id="mselect" method="post" action="{U_SEL_ACTION}">
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_MODULE}{L_COLON} <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{MODULE_BOX}</select>
|
||||
{L_SELECT_MODULE}: <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{MODULE_BOX}</select>
|
||||
|
||||
<input class="button2" type="submit" value="{L_GO}" />
|
||||
</fieldset>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
<fieldset>
|
||||
<legend>{L_ROLE_DETAILS}</legend>
|
||||
<dl>
|
||||
<dt><label for="role_name">{L_ROLE_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="role_name">{L_ROLE_NAME}:</label></dt>
|
||||
<dd><input name="role_name" type="text" id="role_name" value="{ROLE_NAME}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="role_description">{L_ROLE_DESCRIPTION}{L_COLON}</label><br /><span>{L_ROLE_DESCRIPTION_EXPLAIN}</span></dt>
|
||||
<dt><label for="role_description">{L_ROLE_DESCRIPTION}:</label><br /><span>{L_ROLE_DESCRIPTION_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="role_description" name="role_description" rows="3" cols="45">{ROLE_DESCRIPTION}</textarea></dd>
|
||||
</dl>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
<p>
|
||||
|
||||
<a id="acl"></a>
|
||||
<a name="acl"></a>
|
||||
|
||||
<a href="#maincontent">» {L_BACK_TO_TOP}</a><br />
|
||||
<br /><br />
|
||||
@@ -90,8 +90,9 @@
|
||||
</div>
|
||||
<!-- BEGIN auth -->
|
||||
<div class="permissions-panel" id="options00{auth.S_ROW_COUNT}"<!-- IF auth.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div class="tablewrap">
|
||||
<table id="table00{auth.S_ROW_COUNT}" class="table1 not-responsive">
|
||||
<table id="table00{auth.S_ROW_COUNT}" cellspacing="1">
|
||||
<colgroup>
|
||||
<col class="permissions-name" />
|
||||
<col class="permissions-yes" />
|
||||
@@ -119,6 +120,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
<!-- END auth -->
|
||||
</div>
|
||||
@@ -142,7 +144,7 @@
|
||||
|
||||
<form id="acp_roles" method="post" action="{U_ACTION}">
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="col2" /><col class="col2" /><col class="col1" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -157,13 +159,22 @@
|
||||
<!-- IF roles.ROLE_DESCRIPTION --><br /><span>{roles.ROLE_DESCRIPTION}</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="width: 30%; text-align: center; vertical-align: top; white-space: nowrap;"><!-- IF roles.U_DISPLAY_ITEMS --><a href="{roles.U_DISPLAY_ITEMS}">{L_VIEW_ASSIGNED_ITEMS}</a><!-- ELSE -->{L_VIEW_ASSIGNED_ITEMS}<!-- ENDIF --></td>
|
||||
<td class="actions">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{roles.U_MOVE_UP}" data-ajax="row_up">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{roles.U_MOVE_DOWN}" data-ajax="row_down">{ICON_MOVE_DOWN}</a></span>
|
||||
<td style="width: 80px; text-align: right; vertical-align: top; white-space: nowrap;">
|
||||
<!-- IF roles.S_FIRST_ROW && not roles.S_LAST_ROW -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
<a href="{roles.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF not roles.S_FIRST_ROW && not roles.S_LAST_ROW-->
|
||||
<a href="{roles.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
<a href="{roles.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF roles.S_LAST_ROW && not roles.S_FIRST_ROW -->
|
||||
<a href="{roles.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ELSE -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{roles.U_EDIT}" title="{L_EDIT_ROLE}">{ICON_EDIT}</a>
|
||||
<a href="{roles.U_REMOVE}" title="{L_REMOVE_ROLE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<a href="{roles.U_REMOVE}" title="{L_REMOVE_ROLE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END roles -->
|
||||
@@ -171,14 +182,14 @@
|
||||
</table>
|
||||
|
||||
<fieldset class="quick">
|
||||
{L_CREATE_ROLE}{L_COLON} <input type="text" name="role_name" value="" maxlength="255" /><!-- IF S_ROLE_OPTIONS --> <select name="options_from"><option value="0" selected="selected">{L_CREATE_ROLE_FROM}</option>{S_ROLE_OPTIONS}</select><!-- ENDIF --> <input class="button2" type="submit" name="add" value="{L_SUBMIT}" /><br />
|
||||
{L_CREATE_ROLE}: <input type="text" name="role_name" value="" maxlength="255" /><!-- IF S_ROLE_OPTIONS --> <select name="options_from"><option value="0" selected="selected">{L_CREATE_ROLE_FROM}</option>{S_ROLE_OPTIONS}</select><!-- ENDIF --> <input class="button2" type="submit" name="add" value="{L_SUBMIT}" /><br />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- IF S_DISPLAY_ROLE_MASK -->
|
||||
|
||||
<a id="assigned_to"></a>
|
||||
<a name="assigned_to"></a>
|
||||
|
||||
<h1>{L_ROLE_ASSIGNED_TO}</h1>
|
||||
|
||||
@@ -188,4 +199,4 @@
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,9 +1,9 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_INTRO -->
|
||||
|
||||
|
||||
<h1>{L_ACP_PERMISSIONS}</h1>
|
||||
|
||||
{L_ACP_PERMISSIONS_EXPLAIN}
|
||||
@@ -12,14 +12,12 @@
|
||||
|
||||
<!-- IF S_SELECT_VICTIM -->
|
||||
|
||||
<!-- IF U_BACK --><a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a><!-- ENDIF -->
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
|
||||
<!-- IF S_FORUM_NAMES -->
|
||||
<p><strong>{L_FORUMS}{L_COLON}</strong> {FORUM_NAMES}</p>
|
||||
<p><strong>{L_FORUMS}:</strong> {FORUM_NAMES}</p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SELECT_FORUM -->
|
||||
@@ -30,7 +28,7 @@
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
<!-- IF S_FORUM_MULTIPLE --><p>{L_LOOK_UP_FORUMS_EXPLAIN}</p><!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="forum" name="forum_id[]"<!-- IF S_FORUM_MULTIPLE --> multiple="multiple"<!-- ENDIF --> size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<!-- IF S_FORUM_ALL --><dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
@@ -52,7 +50,7 @@
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
<p>{L_SELECT_FORUM_SUBFORUM_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="sforum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><label for="sforum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="sforum" name="subforum_id">{S_SUBFORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -64,7 +62,7 @@
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_SELECT_USER and S_CAN_SELECT_USER -->
|
||||
@@ -74,7 +72,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
@@ -95,7 +93,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_LOOK_UP_GROUP}{L_COLON}</label></dt>
|
||||
<dt><label for="group">{L_LOOK_UP_GROUP}:</label></dt>
|
||||
<dd><select name="group_id[]" id="group">{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -110,7 +108,7 @@
|
||||
|
||||
<!-- ELSEIF S_SELECT_USERGROUP -->
|
||||
|
||||
<div class="column1">
|
||||
<div style="float: {S_CONTENT_FLOW_BEGIN}; width: 48%;">
|
||||
|
||||
<!-- IF S_CAN_SELECT_USER -->
|
||||
|
||||
@@ -125,7 +123,7 @@
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_users" value="1" /> {L_ALL_USERS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -155,8 +153,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="column2">
|
||||
|
||||
<div style="float: {S_CONTENT_FLOW_END}; width: 48%">
|
||||
|
||||
<!-- IF S_CAN_SELECT_GROUP -->
|
||||
|
||||
<h1>{L_USERGROUPS}</h1>
|
||||
@@ -170,7 +168,7 @@
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_groups" value="1" /> {L_ALL_GROUPS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -179,7 +177,7 @@
|
||||
</form>
|
||||
|
||||
<form id="add_groups" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ADD_GROUPS}</legend>
|
||||
<dl>
|
||||
@@ -200,8 +198,8 @@
|
||||
|
||||
<!-- ELSEIF S_SELECT_USERGROUP_VIEW -->
|
||||
|
||||
<div class="column1">
|
||||
|
||||
<div style="float: {S_CONTENT_FLOW_BEGIN}; width: 48%;">
|
||||
|
||||
<h1>{L_USERS}</h1>
|
||||
|
||||
<form id="users" method="post" action="{U_ACTION}">
|
||||
@@ -212,7 +210,7 @@
|
||||
<dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -225,7 +223,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
@@ -241,8 +239,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="column2">
|
||||
|
||||
<div style="float: {S_CONTENT_FLOW_END}; width: 48%">
|
||||
|
||||
<h1>{L_USERGROUPS}</h1>
|
||||
|
||||
<form id="groups" method="post" action="{U_ACTION}">
|
||||
@@ -253,7 +251,7 @@
|
||||
<dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -266,7 +264,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group_select">{L_LOOK_UP_GROUP}{L_COLON}</label></dt>
|
||||
<dt><label for="group_select">{L_LOOK_UP_GROUP}:</label></dt>
|
||||
<dd><select name="group_id[]" id="group_select">{S_ADD_GROUP_OPTIONS}</select></dd>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
@@ -313,18 +311,18 @@
|
||||
|
||||
<!-- IF S_PERMISSION_DROPDOWN -->
|
||||
<form id="pselect" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
{L_SELECT_TYPE}{L_COLON} <select name="type">{S_PERMISSION_DROPDOWN}</select>
|
||||
{L_SELECT_TYPE}: <select name="type">{S_PERMISSION_DROPDOWN}</select>
|
||||
|
||||
<input class="button2" type="submit" name="submit" value="{L_GO}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<br class="responsive-hide" /><br class="responsive-hide" />
|
||||
<br /><br />
|
||||
|
||||
<!-- include tooltip file -->
|
||||
<script type="text/javascript" src="style/tooltip.js"></script>
|
||||
@@ -340,7 +338,7 @@
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
||||
<br class="responsive-hide" /><br class="responsive-hide" />
|
||||
<br /><br />
|
||||
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
|
||||
<input class="button1" type="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
|
||||
@@ -348,10 +346,10 @@
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
<br class="responsive-hide" /><br class="responsive-hide" />
|
||||
|
||||
<br /><br />
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_PHP_INFO}</h1>
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
{PHPINFO}
|
||||
</div>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
@@ -24,22 +24,22 @@
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_FIELD_TYPE}{L_COLON}</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
|
||||
<dt><label>{L_FIELD_TYPE}:</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
|
||||
<dd><strong>{FIELD_TYPE}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_EDIT_MODE -->
|
||||
<dl>
|
||||
<dt><label>{L_FIELD_IDENT}{L_COLON}</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
|
||||
<dt><label>{L_FIELD_IDENT}:</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="field_ident" value="{FIELD_IDENT}" /><strong>{FIELD_IDENT}</strong></dd>
|
||||
</dl>
|
||||
<!-- ELSE -->
|
||||
<dl>
|
||||
<dt><label for="field_ident">{L_FIELD_IDENT}{L_COLON}</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
|
||||
<dt><label for="field_ident">{L_FIELD_IDENT}:</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="field_ident" name="field_ident" value="{FIELD_IDENT}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="field_no_view">{L_DISPLAY_PROFILE_FIELD}{L_COLON}</label><br /><span>{L_DISPLAY_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dt><label for="field_no_view">{L_DISPLAY_PROFILE_FIELD}:</label><br /><span>{L_DISPLAY_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
@@ -48,42 +48,20 @@
|
||||
<fieldset>
|
||||
<legend>{L_VISIBILITY_OPTION}</legend>
|
||||
<dl>
|
||||
<dt><label for="field_show_profile">{L_DISPLAY_AT_PROFILE}{L_COLON}</label><br /><span>{L_DISPLAY_AT_PROFILE_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_profile" name="field_show_profile" value="1"<!-- IF S_SHOW_PROFILE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
<dt><label for="field_option_none">{L_DISPLAY_AT_PROFILE}:</label><br /><span>{L_DISPLAY_AT_PROFILE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="field_option_none" name="field_option" value="none"<!-- IF not S_SHOW_ON_REG and not S_FIELD_REQUIRED and not S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_reg">{L_DISPLAY_AT_REGISTER}{L_COLON}</label><br /><span>{L_DISPLAY_AT_REGISTER_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_reg" name="field_show_on_reg" value="1"<!-- IF S_SHOW_ON_REG --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
<dt><label for="field_show_on_reg">{L_DISPLAY_AT_REGISTER}:</label><br /><span>{L_DISPLAY_AT_REGISTER_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="field_show_on_reg" name="field_option" value="field_show_on_reg"<!-- IF S_SHOW_ON_REG --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_pm">{L_DISPLAY_ON_PM}{L_COLON}</label><br /><span>{L_DISPLAY_ON_PM_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_pm" name="field_show_on_pm" value="1"<!-- IF S_SHOW_ON_PM --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
<dt><label for="field_required">{L_REQUIRED_FIELD}:</label><br /><span>{L_REQUIRED_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="field_required" name="field_option" value="field_required"<!-- IF S_FIELD_REQUIRED --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_vt">{L_DISPLAY_ON_VT}{L_COLON}</label><br /><span>{L_DISPLAY_ON_VT_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_vt" name="field_show_on_vt" value="1"<!-- IF S_SHOW_ON_VT --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_ml">{L_DISPLAY_ON_MEMBERLIST}{L_COLON}</label><br /><span>{L_DISPLAY_ON_MEMBERLIST_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_on_ml" name="field_show_on_ml" value="1"<!-- IF S_SHOW_ON_MEMBERLIST --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_required">{L_REQUIRED_FIELD}{L_COLON}</label><br /><span>{L_REQUIRED_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_required" name="field_required" value="1"<!-- IF S_FIELD_REQUIRED --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_novalue">{L_SHOW_NOVALUE_FIELD}{L_COLON}</label><br /><span>{L_SHOW_NOVALUE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_show_novalue" name="field_show_novalue" value="1"<!-- IF S_FIELD_SHOW_NOVALUE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}{L_COLON}</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_hide" name="field_hide" value="1"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_is_contact">{L_FIELD_IS_CONTACT}{L_COLON}</label><br /><span>{L_FIELD_IS_CONTACT_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_is_contact" name="field_is_contact" value="1"<!-- IF S_FIELD_CONTACT --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
<dd><input class="text medium" type="text" name="field_contact_desc" id="field_contact_desc" value="{FIELD_CONTACT_DESC}" /> <label for="field_contact_desc">{L_FIELD_CONTACT_DESC}</label></dd>
|
||||
<dd><input class="text medium" type="text" name="field_contact_url" id="field_contact_url" value="{FIELD_CONTACT_URL}" /> <label for="field_contact_url">{L_FIELD_CONTACT_URL}</label></dd>
|
||||
<dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}:</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="field_hide" name="field_option" value="field_hide"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -96,22 +74,22 @@
|
||||
<fieldset>
|
||||
<legend>{L_LANG_SPECIFIC}</legend>
|
||||
<dl>
|
||||
<dt><label for="lang_name">{L_USER_FIELD_NAME}{L_COLON}</label></dt>
|
||||
<dt><label for="lang_name">{L_USER_FIELD_NAME}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="lang_name" name="lang_name" value="{LANG_NAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang_explain">{L_FIELD_DESCRIPTION}{L_COLON}</label><br /><span>{L_FIELD_DESCRIPTION_EXPLAIN}</span></dt>
|
||||
<dt><label for="lang_explain">{L_FIELD_DESCRIPTION}:</label><br /><span>{L_FIELD_DESCRIPTION_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="lang_explain" name="lang_explain" rows="3" cols="80">{LANG_EXPLAIN}</textarea></dd>
|
||||
</dl>
|
||||
<!-- IF S_TEXT or S_STRING -->
|
||||
<dl>
|
||||
<dt><label for="lang_default_value">{L_DEFAULT_VALUE}{L_COLON}</label><br /><span>{L_DEFAULT_VALUE_EXPLAIN}</span></dt>
|
||||
<dt><label for="lang_default_value">{L_DEFAULT_VALUE}:</label><br /><span>{L_DEFAULT_VALUE_EXPLAIN}</span></dt>
|
||||
<dd><!-- IF S_STRING --><input class="text medium" type="text" id="lang_default_value" name="lang_default_value" value="{LANG_DEFAULT_VALUE}" /><!-- ELSE --><textarea id="lang_default_value" name="lang_default_value" rows="5" cols="80">{LANG_DEFAULT_VALUE}</textarea><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_BOOL or S_DROPDOWN -->
|
||||
<dl>
|
||||
<dt><label for="lang_options">{L_ENTRIES}{L_COLON}</label>
|
||||
<dt><label for="lang_options">{L_ENTRIES}:</label>
|
||||
<!-- IF S_EDIT_MODE and S_DROPDOWN -->
|
||||
<br /><span>{L_EDIT_DROPDOWN_LANG_EXPLAIN}</span>
|
||||
<!-- ELSE -->
|
||||
@@ -140,7 +118,7 @@
|
||||
<legend>{L_TITLE}</legend>
|
||||
<!-- BEGIN option -->
|
||||
<dl>
|
||||
<dt><label>{option.TITLE}{L_COLON}</label><!-- IF option.EXPLAIN --><br /><span>{option.EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label>{option.TITLE}:</label><!-- IF option.EXPLAIN --><br /><span>{option.EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{option.FIELD}</dd>
|
||||
</dl>
|
||||
<!-- END option -->
|
||||
@@ -149,7 +127,7 @@
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
|
||||
<input class="button1" type="submit" name="prev" value="{L_PROFILE_BASIC_OPTIONS}" />
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -163,7 +141,7 @@
|
||||
<legend>{options.LANGUAGE}</legend>
|
||||
<!-- BEGIN field -->
|
||||
<dl>
|
||||
<dt><label>{options.field.L_TITLE}{L_COLON}</label><!-- IF options.field.L_EXPLAIN --><br /><span>{options.field.L_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label>{options.field.L_TITLE}:</label><!-- IF options.field.L_EXPLAIN --><br /><span>{options.field.L_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
{options.field.FIELD}
|
||||
</dl>
|
||||
<!-- END field -->
|
||||
@@ -173,15 +151,15 @@
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_BEGIN};">
|
||||
<input class="button1" type="submit" name="prev" value="{L_PROFILE_TYPE_OPTIONS}" />
|
||||
</fieldset>
|
||||
|
||||
|
||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" type="submit" name="save" value="{L_SAVE}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
@@ -195,7 +173,7 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_FIELD_IDENT}</th>
|
||||
@@ -205,35 +183,38 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN fields -->
|
||||
<tr>
|
||||
<!-- IF fields.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>{fields.FIELD_IDENT}</td>
|
||||
<td>{fields.FIELD_TYPE}</td>
|
||||
<td style="text-align: center;"><a href="{fields.U_ACTIVATE_DEACTIVATE}" data-ajax="activate_deactivate">{fields.L_ACTIVATE_DEACTIVATE}</a><!-- IF fields.S_NEED_EDIT --> | <a href="{fields.U_TRANSLATE}" style="color: red;">{L_TRANSLATE}</a><!-- ENDIF --></td>
|
||||
<td style="text-align: center;"><a href="{fields.U_ACTIVATE_DEACTIVATE}">{fields.L_ACTIVATE_DEACTIVATE}</a><!-- IF fields.S_NEED_EDIT --> | <a href="{fields.U_TRANSLATE}" style="color: red;">{L_TRANSLATE}</a><!-- ENDIF --></td>
|
||||
|
||||
<td class="actions" style="width: 80px;">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{fields.U_MOVE_UP}" data-ajax="row_up">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{fields.U_MOVE_DOWN}" data-ajax="row_down">{ICON_MOVE_DOWN}</a></span>
|
||||
<td style="width: 80px; text-align: right; white-space: nowrap;">
|
||||
<!-- IF fields.S_FIRST_ROW && not fields.S_LAST_ROW -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
<a href="{fields.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF not fields.S_FIRST_ROW && not fields.S_LAST_ROW-->
|
||||
<a href="{fields.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
<a href="{fields.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF fields.S_LAST_ROW && not fields.S_FIRST_ROW -->
|
||||
<a href="{fields.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not fields.S_NEED_EDIT -->
|
||||
<a href="{fields.U_EDIT}">{ICON_EDIT}</a>
|
||||
<a href="{fields.U_EDIT}">{ICON_EDIT}</a>
|
||||
<!-- ELSE -->
|
||||
{ICON_EDIT_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{fields.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<a href="{fields.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row3">
|
||||
<td colspan="4">{L_ACP_NO_ITEMS}</td>
|
||||
</tr>
|
||||
<!-- END fields -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<form id="profile_fields" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="text small" type="text" name="field_ident" /> <select name="field_type">{S_TYPE_OPTIONS}</select>
|
||||
<input class="button1" type="submit" name="submit" value="{L_CREATE_NEW_FIELD}" />
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_PRUNED -->
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<p>{L_PRUNE_SUCCESS}</p>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_FORUM}</th>
|
||||
@@ -18,7 +18,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN pruned -->
|
||||
<tr>
|
||||
<!-- IF pruned.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="text-align: center;">{pruned.FORUM_NAME}</td>
|
||||
<td style="text-align: center;">{pruned.NUM_TOPICS}</td>
|
||||
<td style="text-align: center;">{pruned.NUM_POSTS}</td>
|
||||
@@ -43,7 +43,7 @@
|
||||
<legend>{L_SELECT_FORUM}</legend>
|
||||
<p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="forum" name="f[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd>
|
||||
</dl>
|
||||
@@ -65,32 +65,32 @@
|
||||
|
||||
<h2>{L_FORUM}</h2>
|
||||
|
||||
<p>{L_SELECTED_FORUMS}{L_COLON} {FORUM_LIST}</p>
|
||||
<p>{L_SELECTED_FORUMS}: {FORUM_LIST}</p>
|
||||
|
||||
<form id="acp_prune" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_PRUNE}</legend>
|
||||
<dl>
|
||||
<dt><label for="prune_days">{L_PRUNE_NOT_POSTED}{L_COLON}</label></dt>
|
||||
<dd><input type="number" id="prune_days" name="prune_days" /></dd>
|
||||
<dt><label for="prune_days">{L_PRUNE_NOT_POSTED}:</label></dt>
|
||||
<dd><input type="text" id="prune_days" name="prune_days" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_vieweddays">{L_PRUNE_NOT_VIEWED}{L_COLON}</label></dt>
|
||||
<dd><input type="number" id="prune_vieweddays" name="prune_vieweddays" /></dd>
|
||||
<dt><label for="prune_vieweddays">{L_PRUNE_NOT_VIEWED}:</label></dt>
|
||||
<dd><input type="text" id="prune_vieweddays" name="prune_vieweddays" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="polls">{L_PRUNE_OLD_POLLS}{L_COLON}</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dt><label for="polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_old_polls" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="polls" name="prune_old_polls" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="announce">{L_PRUNE_ANNOUNCEMENTS}{L_COLON}</label></dt>
|
||||
<dt><label for="announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_announce" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="announce" name="prune_announce" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="sticky">{L_PRUNE_STICKY}{L_COLON}</label></dt>
|
||||
<dt><label for="sticky">{L_PRUNE_STICKY}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="prune_sticky" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="sticky" name="prune_sticky" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_PRUNE_USERS}</h1>
|
||||
|
||||
@@ -9,60 +9,39 @@
|
||||
<form id="acp_prune" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_CRITERIA}</legend>
|
||||
<legend>{L_ACP_PRUNE_USERS}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="username">{L_USERNAME}:</label></dt>
|
||||
<dd><input type="text" id="username" name="username" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="email">{L_EMAIL}{L_COLON}</label></dt>
|
||||
<dt><label for="email">{L_EMAIL}:</label></dt>
|
||||
<dd><input type="text" id="email" name="email" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="joined_after">{L_JOINED}{L_COLON}</label><br /><span>{L_JOINED_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<strong>{L_AFTER}</strong> <input type="text" id="joined_after" name="joined_after" />
|
||||
<br /> <br /> <strong>{L_BEFORE}</strong> <input type="text" id="joined_before" name="joined_before" />
|
||||
</dd>
|
||||
<dt><label for="joined">{L_JOINED}:</label><br /><span>{L_JOINED_EXPLAIN}</span></dt>
|
||||
<dd><select name="joined_select">{S_JOINED_OPTIONS}</select> <input type="text" id="joined" name="joined" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="active">{L_LAST_ACTIVE}{L_COLON}</label><br /><span>{L_LAST_ACTIVE_EXPLAIN}</span></dt>
|
||||
<dt><label for="active">{L_LAST_ACTIVE}:</label><br /><span>{L_LAST_ACTIVE_EXPLAIN}</span></dt>
|
||||
<dd><select name="active_select">{S_ACTIVE_OPTIONS}</select> <input type="text" id="active" name="active" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="count">{L_POSTS}{L_COLON}</label></dt>
|
||||
<dd><select name="count_select">{S_COUNT_OPTIONS}</select> <input type="number" id="count" name="count" /></dd>
|
||||
<dt><label for="count">{L_POSTS}:</label></dt>
|
||||
<dd><select name="count_select">{S_COUNT_OPTIONS}</select> <input type="text" id="count" name="count" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="posts_on_queue">{L_POSTS_ON_QUEUE}{L_COLON}</label></dt>
|
||||
<dd><select name="queue_select">{S_COUNT_OPTIONS}</select> <input type="number" id="posts_on_queue" name="posts_on_queue" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_GROUP_LIST -->
|
||||
<dl>
|
||||
<dt><label for="group_id">{L_GROUP}{L_COLON}</label><br /><span>{L_PRUNE_USERS_GROUP_EXPLAIN}</span></dt>
|
||||
<dd><select id="group_id" name="group_id">{S_GROUP_LIST}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USERNAMES}</legend>
|
||||
<dl>
|
||||
<dt><label for="users">{L_ACP_PRUNE_USERS}{L_COLON}</label><br /><span>{L_SELECT_USERS_EXPLAIN}</span></dt>
|
||||
<dt><label for="users">{L_ACP_PRUNE_USERS}:</label><br /><span>{L_SELECT_USERS_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="users" name="users" cols="40" rows="5"></textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="deleteposts">{L_DELETE_USER_POSTS}{L_COLON}</label><br /><span>{L_DELETE_USER_POSTS_EXPLAIN}</span></dt>
|
||||
<dt><label for="deleteposts">{L_DELETE_USER_POSTS}:</label><br /><span>{L_DELETE_USER_POSTS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="deleteposts" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="deleteposts" name="deleteposts" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="deactivate">{L_DEACTIVATE_DELETE}{L_COLON}</label><br /><span>{L_DEACTIVATE_DELETE_EXPLAIN}</span></dt>
|
||||
<dt><label for="deactivate">{L_DEACTIVATE_DELETE}:</label><br /><span>{L_DEACTIVATE_DELETE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS}</label>
|
||||
<label><input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</label></dd>
|
||||
</dl>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
@@ -25,23 +25,23 @@
|
||||
<fieldset>
|
||||
<legend>{L_ACP_RANKS}</legend>
|
||||
<dl>
|
||||
<dt><label for="title">{L_RANK_TITLE}{L_COLON}</label></dt>
|
||||
<dt><label for="title">{L_RANK_TITLE}:</label></dt>
|
||||
<dd><input name="title" type="text" id="title" value="{RANK_TITLE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="rank_image">{L_RANK_IMAGE}{L_COLON}</label></dt>
|
||||
<dt><label for="rank_image">{L_RANK_IMAGE}:</label></dt>
|
||||
<dd><select name="rank_image" id="rank_image" onchange="update_image(this.options[selectedIndex].value);">{S_FILENAME_LIST}</select></dd>
|
||||
<dd><img src="{RANK_IMAGE}" id="image" alt="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="special_rank">{L_RANK_SPECIAL}{L_COLON}</label></dt>
|
||||
<dd><label><input onclick="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input onclick="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
<dt><label for="special_rank">{L_RANK_SPECIAL}:</label></dt>
|
||||
<dd><label><input onchange="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- IF S_SPECIAL_RANK --><div id="posts" style="display: none;"><!-- ELSE --><div id="posts"><!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="min_posts">{L_RANK_MINIMUM}{L_COLON}</label></dt>
|
||||
<dd><input name="min_posts" type="number" id="min_posts" maxlength="10" value="{MIN_POSTS}" /></dd>
|
||||
<dt><label for="min_posts">{L_RANK_MINIMUM}:</label></dt>
|
||||
<dd><input name="min_posts" type="text" id="min_posts" maxlength="10" value="{MIN_POSTS}" /></dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_ACP_MANAGE_RANKS}</legend>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_RANK_IMAGE}</th>
|
||||
@@ -76,11 +76,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN ranks -->
|
||||
<tr>
|
||||
<!-- IF ranks.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="text-align: center;"><!-- IF ranks.S_RANK_IMAGE --><img src="{ranks.RANK_IMAGE}" alt="{ranks.RANK_TITLE}" title="{ranks.RANK_TITLE}" /><!-- ELSE --> - <!-- ENDIF --></td>
|
||||
<td style="text-align: center;">{ranks.RANK_TITLE}</td>
|
||||
<td style="text-align: center;"><!-- IF ranks.S_SPECIAL_RANK --> - <!-- ELSE -->{ranks.MIN_POSTS}<!-- ENDIF --></td>
|
||||
<td style="text-align: center;"><a href="{ranks.U_EDIT}">{ICON_EDIT}</a> <a href="{ranks.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a></td>
|
||||
<td style="text-align: center;"><a href="{ranks.U_EDIT}">{ICON_EDIT}</a> <a href="{ranks.U_DELETE}">{ICON_DELETE}</a></td>
|
||||
</tr>
|
||||
<!-- END ranks -->
|
||||
</tbody>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_REASON -->
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<legend>{L_TITLE}</legend>
|
||||
<p><!-- IF S_TRANSLATED -->{L_IS_TRANSLATED_EXPLAIN}<!-- ELSE -->{L_IS_NOT_TRANSLATED_EXPLAIN}<!-- ENDIF --></p>
|
||||
<dl>
|
||||
<dt><label for="reason_title">{L_REASON_TITLE}{L_COLON}</label></dt>
|
||||
<dt><label for="reason_title">{L_REASON_TITLE}:</label></dt>
|
||||
<dd><input name="reason_title" type="text" id="reason_title" value="{REASON_TITLE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_TRANSLATED -->
|
||||
@@ -39,7 +39,7 @@
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="reason_description">{L_REASON_DESCRIPTION}{L_COLON}</label></dt>
|
||||
<dt><label for="reason_description">{L_REASON_DESCRIPTION}:</label></dt>
|
||||
<dd><textarea name="reason_description" id="reason_description" rows="8" cols="80">{REASON_DESCRIPTION}</textarea></dd>
|
||||
</dl>
|
||||
<!-- IF S_TRANSLATED -->
|
||||
@@ -68,7 +68,7 @@
|
||||
<legend>{L_ACP_REASONS}</legend>
|
||||
|
||||
<!-- IF .reasons -->
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><col class="row1" /><col class="row2" />
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -86,14 +86,20 @@
|
||||
<br /><span>{reasons.REASON_DESCRIPTION}</span>
|
||||
</td>
|
||||
<td style="width: 100px;">{reasons.REASON_COUNT}</td>
|
||||
<td class="actions" style="width: 80px;">
|
||||
<span class="up-disabled" style="display:none;">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="up"><a href="{reasons.U_MOVE_UP}" data-ajax="row_up">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down-disabled" style="display:none;">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<span class="down"><a href="{reasons.U_MOVE_DOWN}" data-ajax="row_down">{ICON_MOVE_DOWN}</a></span>
|
||||
<td style="width: 80px; text-align: right; white-space: nowrap;">
|
||||
<!-- IF reasons.S_FIRST_ROW && not reasons.S_LAST_ROW -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
<a href="{reasons.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF not reasons.S_FIRST_ROW && not reasons.S_LAST_ROW-->
|
||||
<a href="{reasons.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
<a href="{reasons.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a>
|
||||
<!-- ELSEIF reasons.S_LAST_ROW && not reasons.S_FIRST_ROW -->
|
||||
<a href="{reasons.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{reasons.U_EDIT}">{ICON_EDIT}</a>
|
||||
<!-- IF reasons.U_DELETE -->
|
||||
<a href="{reasons.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<a href="{reasons.U_DELETE}">{ICON_DELETE}</a>
|
||||
<!-- ELSE -->
|
||||
{ICON_DELETE_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_SETTINGS -->
|
||||
<h1>{L_ACP_SEARCH_SETTINGS}</h1>
|
||||
@@ -12,40 +12,36 @@
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_SEARCH_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="load_search">{L_YES_SEARCH}{L_COLON}</label><br /><span>{L_YES_SEARCH_EXPLAIN}</span></dt>
|
||||
<dt><label for="load_search">{L_YES_SEARCH}:</label><br /><span>{L_YES_SEARCH_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="load_search" name="config[load_search]" value="1"<!-- IF S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="config[load_search]" value="0"<!-- IF not S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="search_interval">{L_SEARCH_INTERVAL}{L_COLON}</label><br /><span>{L_SEARCH_INTERVAL_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_interval" type="number" size="4" maxlength="4" min="0" max="9999" name="config[search_interval]" value="{SEARCH_INTERVAL}" /> {L_SECONDS}</dd>
|
||||
<dt><label for="search_interval">{L_SEARCH_INTERVAL}:</label><br /><span>{L_SEARCH_INTERVAL_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_interval" type="text" size="4" maxlength="4" name="config[search_interval]" value="{SEARCH_INTERVAL}" /> {L_SECONDS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="search_anonymous_interval">{L_SEARCH_GUEST_INTERVAL}{L_COLON}</label><br /><span>{L_SEARCH_GUEST_INTERVAL_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_anonymous_interval" type="number" size="4" maxlength="4" min="0" max="9999" name="config[search_anonymous_interval]" value="{SEARCH_GUEST_INTERVAL}" /> {L_SECONDS}</dd>
|
||||
<dt><label for="search_anonymous_interval">{L_SEARCH_GUEST_INTERVAL}:</label><br /><span>{L_SEARCH_GUEST_INTERVAL_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_anonymous_interval" type="text" size="4" maxlength="4" name="config[search_anonymous_interval]" value="{SEARCH_GUEST_INTERVAL}" /> {L_SECONDS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="limit_search_load">{L_LIMIT_SEARCH_LOAD}{L_COLON}</label><br /><span>{L_LIMIT_SEARCH_LOAD_EXPLAIN}</span></dt>
|
||||
<dt><label for="limit_search_load">{L_LIMIT_SEARCH_LOAD}:</label><br /><span>{L_LIMIT_SEARCH_LOAD_EXPLAIN}</span></dt>
|
||||
<dd><input id="limit_search_load" type="text" size="4" maxlength="4" name="config[limit_search_load]" value="{LIMIT_SEARCH_LOAD}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="min_search_author_chars">{L_MIN_SEARCH_AUTHOR_CHARS}{L_COLON}</label><br /><span>{L_MIN_SEARCH_AUTHOR_CHARS_EXPLAIN}</span></dt>
|
||||
<dd><input id="min_search_author_chars" type="number" size="4" maxlength="4" min="0" max="9999" name="config[min_search_author_chars]" value="{MIN_SEARCH_AUTHOR_CHARS}" /></dd>
|
||||
<dt><label for="min_search_author_chars">{L_MIN_SEARCH_AUTHOR_CHARS}:</label><br /><span>{L_MIN_SEARCH_AUTHOR_CHARS_EXPLAIN}</span></dt>
|
||||
<dd><input id="min_search_author_chars" type="text" size="4" maxlength="4" name="config[min_search_author_chars]" value="{MIN_SEARCH_AUTHOR_CHARS}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="max_num_search_keywords">{L_MAX_NUM_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_MAX_NUM_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
|
||||
<dd><input id="max_num_search_keywords" type="number" size="4" maxlength="4" min="0" max="9999" name="config[max_num_search_keywords]" value="{MAX_NUM_SEARCH_KEYWORDS}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="search_store_results">{L_SEARCH_STORE_RESULTS}{L_COLON}</label><br /><span>{L_SEARCH_STORE_RESULTS_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_store_results" type="number" size="4" maxlength="6" min="0" max="999999" name="config[search_store_results]" value="{SEARCH_STORE_RESULTS}" /> {L_SECONDS}</dd>
|
||||
<dt><label for="search_store_results">{L_SEARCH_STORE_RESULTS}:</label><br /><span>{L_SEARCH_STORE_RESULTS_EXPLAIN}</span></dt>
|
||||
<dd><input id="search_store_results" type="text" size="4" maxlength="6" name="config[search_store_results]" value="{SEARCH_STORE_RESULTS}" /> {L_SECONDS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SEARCH_TYPE}</legend>
|
||||
<dl>
|
||||
<dt><label for="search_type">{L_SEARCH_TYPE}{L_COLON}</label><br /><span>{L_SEARCH_TYPE_EXPLAIN}</span></dt>
|
||||
<dt><label for="search_type">{L_SEARCH_TYPE}:</label><br /><span>{L_SEARCH_TYPE_EXPLAIN}</span></dt>
|
||||
<dd><select id="search_type" name="config[search_type]">{S_SEARCH_TYPES}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -110,9 +106,9 @@
|
||||
|
||||
{backend.S_HIDDEN_FIELDS}
|
||||
|
||||
<legend>{L_INDEX_STATS}{L_COLON} {backend.L_NAME} <!-- IF backend.S_ACTIVE -->({L_ACTIVE}) <!-- ENDIF --></legend>
|
||||
<legend>{L_INDEX_STATS}: {backend.L_NAME} <!-- IF backend.S_ACTIVE -->({L_ACTIVE}) <!-- ENDIF --></legend>
|
||||
|
||||
<table class="table1">
|
||||
<table cellspacing="1">
|
||||
<caption>{backend.L_NAME} <!-- IF backend.S_ACTIVE -->({L_ACTIVE}) <!-- ENDIF --></caption>
|
||||
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
|
||||
<thead>
|
||||
@@ -126,29 +122,27 @@
|
||||
<tbody>
|
||||
<!-- BEGIN data -->
|
||||
<tr>
|
||||
<td>{backend.data.STATISTIC_1}{L_COLON}</td>
|
||||
<td>{backend.data.STATISTIC_1}:</td>
|
||||
<td>{backend.data.VALUE_1}</td>
|
||||
<td>{backend.data.STATISTIC_2}<!-- IF backend.data.STATISTIC_2 -->{L_COLON}<!-- ENDIF --></td>
|
||||
<td>{backend.data.STATISTIC_2}<!-- IF backend.data.STATISTIC_2 -->:<!-- ENDIF --></td>
|
||||
<td>{backend.data.VALUE_2}</td>
|
||||
</tr>
|
||||
<!-- END data -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
<p class="quick">
|
||||
<!-- IF backend.S_INDEXED -->
|
||||
<input type="hidden" name="action" value="delete" />
|
||||
<input class="button2" type="submit" value="{L_DELETE_INDEX}" onclick="popup_progress_bar('delete');" />
|
||||
<input class="button2" type="submit" name="action[delete]" value="{L_DELETE_INDEX}" onclick="popup_progress_bar('delete');" />
|
||||
<!-- ELSE -->
|
||||
<input type="hidden" name="action" value="create" />
|
||||
<input class="button2" type="submit" value="{L_CREATE_INDEX}" onclick="popup_progress_bar('create');" />
|
||||
<input class="button2" type="submit" name="action[create]" value="{L_CREATE_INDEX}" onclick="popup_progress_bar('create');" />
|
||||
<!-- ENDIF -->
|
||||
</p>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
|
||||
</form>
|
||||
<!-- END backend -->
|
||||
|
||||
|
@@ -1,71 +0,0 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_SEND_STATISTICS}</h1>
|
||||
|
||||
<p>{L_EXPLAIN_SEND_STATISTICS}</p>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var iframect = 0;
|
||||
|
||||
function iframe_updated()
|
||||
{
|
||||
if (iframect++ == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
dE('questionnaire-form', -1);
|
||||
dE('questionnaire-thanks', 1);
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<iframe onload="iframe_updated();" name="questionaire_result" style="display: none;"></iframe>
|
||||
|
||||
<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form">
|
||||
|
||||
<p><a href="{U_ACP_MAIN}">{L_DONT_SEND_STATISTICS}</a></p>
|
||||
|
||||
<p>{L_EXPLAIN_SHOW_STATISTICS}</p>
|
||||
|
||||
<p id="show-button"><input type="button" class="button2" onclick="dE('configlist', 1); dE('show-button', -1);" value="{L_SHOW_STATISTICS}" /></p>
|
||||
|
||||
<div id="configlist">
|
||||
<input type="button" class="button2" onclick="dE('show-button', 1); dE('configlist', -1);" value="{L_HIDE_STATISTICS}" />
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" />
|
||||
</p>
|
||||
|
||||
<!-- BEGIN providers -->
|
||||
<fieldset>
|
||||
<legend>{providers.NAME}</legend>
|
||||
<!-- BEGIN values -->
|
||||
<dl>
|
||||
<dt>{providers.values.KEY}</dt>
|
||||
<dd>{providers.values.VALUE}</dd>
|
||||
</dl>
|
||||
<!-- END values -->
|
||||
</fieldset>
|
||||
<!-- END providers -->
|
||||
</div>
|
||||
<p class="submit-buttons">
|
||||
<input type="hidden" name="systemdata" value="{RAW_DATA}" />
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_STATISTICS}" />
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<div id="questionnaire-thanks" class="successbox">
|
||||
<p><strong>{L_THANKS_SEND_STATISTICS}</strong><br /><br /><a href="{U_ACP_MAIN}">« {L_GO_ACP_MAIN}</a></p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
dE('configlist', -1);
|
||||
dE('questionnaire-thanks', -1);
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,168 +1,507 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_CONFIRM_ACTION -->
|
||||
<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
|
||||
<!-- IF S_DELETE -->
|
||||
|
||||
<fieldset>
|
||||
<h1>{MESSAGE_TITLE}</h1>
|
||||
<p>{MESSAGE_TEXT}</p>
|
||||
<!-- IF S_CONFIRM_DELETE -->
|
||||
<label><input type="checkbox" class="checkbox" name="confirm_delete_files" /> {L_DELETE_FROM_FS}</label>
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_NAME}:</label></dt>
|
||||
<dd><strong>{NAME}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_id">{L_REPLACE}:</label><br /><span>{L_REPLACE_EXPLAIN}</span></dt>
|
||||
<dd><select name="new_id">{S_REPLACE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_DELETE}" />
|
||||
{S_FORM_TOKEN}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_EDIT_IMAGESET -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF SUCCESS -->
|
||||
<div class="successbox">
|
||||
<p>{L_IMAGESET_UPDATED}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
{S_HIDDEN_FIELDS}
|
||||
<!-- IF ERROR -->
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_IMAGE}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div style="text-align: center;">
|
||||
<input type="submit" name="confirm" value="{L_YES}" class="button2" />
|
||||
<input type="submit" name="cancel" value="{L_NO}" class="button2" />
|
||||
</div>
|
||||
<script type="text/javascript" defer="defer">
|
||||
// <![CDATA[
|
||||
function update_image(newimage)
|
||||
{
|
||||
document.getElementById('newimg').src = (newimage) ? '../styles/{A_NAME}/imageset/' + encodeURI(newimage) : 'images/no_image.png';
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
/**
|
||||
* Handle displaying/hiding the dimension fields
|
||||
*/
|
||||
function display_options(value)
|
||||
{
|
||||
if (value == 0)
|
||||
{
|
||||
dE('img_dimensions', -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
dE('img_dimensions', 1);
|
||||
}
|
||||
}
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- ELSE -->
|
||||
/**
|
||||
* Init the wanted display functionality if javascript is enabled.
|
||||
* If javascript is not available, the user is still able to properly administrate.
|
||||
*/
|
||||
onload = function()
|
||||
{
|
||||
<!-- IF not IMAGE_SIZE -->
|
||||
dE('img_dimensions', -1);
|
||||
<!-- ENDIF -->
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
<!-- IF L_TITLE --><h1>{L_TITLE}</h1><!-- ENDIF -->
|
||||
<form method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
|
||||
<fieldset class="quick" style="text-align: left;">
|
||||
<legend>{L_SELECT_IMAGE}</legend>
|
||||
{L_SELECT_IMAGE}: <select name="imgname" onchange="this.form.submit();">
|
||||
<!-- BEGIN category -->
|
||||
<option class="sep" value="" disabled="disabled">{category.NAME}</option>
|
||||
<!-- BEGIN images --><option value="{category.images.VALUE}"<!-- IF category.images.SELECTED--> selected="selected"<!-- ENDIF -->> {category.images.TEXT}</option>
|
||||
<!-- END images -->
|
||||
<!-- END category -->
|
||||
</select> <input class="button1" type="submit" value="{L_SELECT}" tabindex="100" />
|
||||
</fieldset>
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
|
||||
<!-- IF S_STYLE_DETAILS -->
|
||||
<input type="hidden" name="id" value="{STYLE_ID}" />
|
||||
<fieldset>
|
||||
<legend>{L_EDIT_IMAGESET}</legend>
|
||||
<dl>
|
||||
<dt><label for="name">{L_STYLE_NAME}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="name" name="style_name" value="{STYLE_NAME}" /></dd>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label></dt>
|
||||
<dd><img src="<!-- IF IMAGE_REQUEST -->{IMAGE_REQUEST}<!-- ELSE -->images/no_image.png<!-- ENDIF -->" alt="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_STYLE_PATH}</label></dt>
|
||||
<dd><strong>{STYLE_PATH}</strong></dd>
|
||||
<dt><label>{L_SELECTED_IMAGE}:</label></dt>
|
||||
<dd><img src="{IMG_SRC}" id="newimg" alt="" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_IMAGE}</legend>
|
||||
<dl>
|
||||
<dt><label for="imgpath">{L_IMAGE}:</label></dt>
|
||||
<dd><select id="imgpath" name="imgpath" onchange="update_image(this.options[selectedIndex].value);"><option value=""<!-- IF not IMAGE_SELECT--> selected="selected"<!-- ENDIF -->>{L_NO_IMAGE}</option>
|
||||
<!-- BEGIN imagesetlist -->
|
||||
<option class="sep" value=""><!-- IF imagesetlist.TYPE -->{L_LOCALISED_IMAGES}<!-- ELSE -->{L_GLOBAL_IMAGES}<!-- ENDIF --></option>
|
||||
<!-- BEGIN images -->
|
||||
<option value="{imagesetlist.images.VALUE}"<!-- IF imagesetlist.images.SELECTED--> selected="selected"<!-- ENDIF -->>{imagesetlist.images.TEXT}</option>
|
||||
<!-- END images -->
|
||||
<!-- END imagesetlist -->
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="name">{L_COPYRIGHT}{L_COLON}</label></dt>
|
||||
<dd><strong>{STYLE_COPYRIGHT}</strong></dd>
|
||||
<dt><label for="imgsize">{L_INCLUDE_DIMENSIONS}:</label><br /><span>{L_DIMENSIONS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="imgsize" id="imgsize" onclick="display_options(1);" value="1"<!-- IF IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="imgsize" onclick="display_options(0);" value="0"<!-- IF not IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="style_parent">{L_INHERITING_FROM}{L_COLON}</label></dt>
|
||||
<dd><select id="style_parent" name="style_parent">
|
||||
<option value=""<!-- IF STYLE_PARENT == 0 --> selected="selected"<!-- ENDIF -->> - </option>
|
||||
<!-- BEGIN parent_styles -->
|
||||
<option value="{parent_styles.STYLE_ID}"<!-- IF parent_styles.STYLE_ID == STYLE_PARENT --> selected="selected"<!-- ENDIF -->>{parent_styles.SPACER}{parent_styles.STYLE_NAME}</option>
|
||||
<!-- END parent_styles -->
|
||||
</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="style_active">{L_STYLE_ACTIVE}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="style_active" value="1"<!-- IF S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="style_active" value="0"<!-- IF not S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_STYLE_DEFAULT -->
|
||||
<div id="img_dimensions">
|
||||
<dl>
|
||||
<dt><label for="style_default">{L_STYLE_DEFAULT}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="style_default" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="style_default" name="style_default" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
<dt><label for="imgwidth">{L_IMAGE_WIDTH}:</label><br /><span>{L_AUTOMATIC_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" name="imgwidth" value="{IMAGE_SIZE}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="imgheight">{L_IMAGE_HEIGHT}:</label><br /><span>{L_AUTOMATIC_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" name="imgheight" value="{IMAGE_HEIGHT}" /></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" /> <input class="button2" type="reset" value="{L_RESET}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_EDIT_TEMPLATE or S_EDIT_THEME -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_EDIT}</h1>
|
||||
|
||||
<p>{L_EDIT_EXPLAIN}</p>
|
||||
|
||||
<p>{L_SELECTED}: <strong>{SELECTED_TEMPLATE}</strong></p>
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
|
||||
<fieldset>
|
||||
<legend>{L_SELECT}</legend>
|
||||
<dl>
|
||||
<dt><label for="template_file">{L_FILE}:</label></dt>
|
||||
<dd><select id="template_file" name="template_file" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_TEMPLATES}</select> <input class="button2" type="submit" value="{L_SELECT}" /></dd>
|
||||
</dl>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
</form>
|
||||
|
||||
<!-- IF TEMPLATE_FILE or (S_EDIT_THEME and S_THEME_IN_DB) -->
|
||||
<script type="text/javascript" defer="defer">
|
||||
// <![CDATA[
|
||||
|
||||
function change_editor_height(height)
|
||||
{
|
||||
height = Number(height);
|
||||
|
||||
if (isNaN(height))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
editor = document.getElementById('template_data');
|
||||
editor.rows = Math.max(5, Math.min(height, 999));
|
||||
|
||||
append_text_rows('acp_styles', height);
|
||||
append_text_rows('acp_template', height);
|
||||
}
|
||||
|
||||
function append_text_rows(form_name, value)
|
||||
{
|
||||
value = Number(value);
|
||||
|
||||
if (isNaN(value))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
url = document.getElementById(form_name).action;
|
||||
|
||||
// Make sure & is actually... &
|
||||
url = url.replace(/&/g, '&');
|
||||
|
||||
var_start = url.indexOf('&text_rows=');
|
||||
if (var_start == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url + "&text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
url_start = url.substring(0, var_start + 1);
|
||||
var_end = url.substring(var_start + 1).indexOf('&');
|
||||
if (var_end == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + "text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + url.substring(var_end + var_start + 2) + "&text_rows=" + value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
<form id="acp_template" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_EDITOR}</legend>
|
||||
<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
|
||||
<dl>
|
||||
<dt><label>{L_SELECTED_FILE}:</label></dt>
|
||||
<dd>{TEMPLATE_FILE}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="text_rows">{L_EDITOR_HEIGHT}:</label></dt>
|
||||
<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
|
||||
</dl>
|
||||
<textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
<input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_CACHE -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TEMPLATE_CACHE}</h1>
|
||||
|
||||
<p>{L_TEMPLATE_CACHE_EXPLAIN}</p>
|
||||
|
||||
<form name="acp_styles" method="post" action="{U_ACTION}">
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_TEMPLATE_CACHE}</legend>
|
||||
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_CACHE_FILENAME}</th>
|
||||
<th>{L_CACHE_FILESIZE}</th>
|
||||
<th>{L_CACHE_CACHED}</th>
|
||||
<th>{L_CACHE_MODIFIED}</th>
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN file -->
|
||||
<!-- IF file.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{file.U_VIEWSOURCE}" onclick="popup(this.href, 750, 550, '_source'); return false;">{file.FILENAME}</a></td>
|
||||
<td>{file.FILESIZE}</td>
|
||||
<td>{file.CACHED}</td>
|
||||
<td>{file.MODIFIED}</td>
|
||||
<td><input type="checkbox" class="radio" name="delete[]" value="{file.FILENAME}" /></td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row1">
|
||||
<td colspan="5">{L_TEMPLATE_CACHE_EMPTY}</td>
|
||||
</tr>
|
||||
<!-- END file -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p class="quick">
|
||||
<span class="small"><a href="#" onclick="marklist('acp_styles', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('acp_styles', 'delete', false); return false;">{L_UNMARK_ALL}</a></span><br />
|
||||
{S_FORM_TOKEN}
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_DELETE_MARKED}" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_EXPORT -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_ERROR_MSG -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_NAME}:</label></dt>
|
||||
<dd><strong>{NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_STYLE -->
|
||||
<dl>
|
||||
<dt><label for="inc_template">{L_INCLUDE_TEMPLATE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" id="inc_template" name="inc_template" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_template" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="inc_theme">{L_INCLUDE_THEME}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" id="inc_theme" name="inc_theme" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_theme" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="inc_imageset">{L_INCLUDE_IMAGESET}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" id="inc_imageset" name="inc_imageset" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_imageset" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="store">{L_DOWNLOAD_STORE}:</label><br /><span>{L_DOWNLOAD_STORE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" id="store" name="store" value="1" checked="checked" /> {L_EXPORT_STORE}</label>
|
||||
<label><input type="radio" class="radio" name="store" value="0" /> {L_EXPORT_DOWNLOAD}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="format">{L_ARCHIVE_FORMAT}:</label></dt>
|
||||
<dd>{FORMAT_BUTTONS}</dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
{S_FORM_TOKEN}
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_FRONTEND -->
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_STYLE --> <!-- DEFINE $COLSPAN = 5 --> <!-- ELSE --> <!-- DEFINE $COLSPAN = 4 --> <!-- ENDIF -->
|
||||
|
||||
<table cellspacing="1">
|
||||
<col class="row1" /><!-- IF S_STYLE --><col class="row1" /><!-- ENDIF --><col class="row2" /><col class="row2" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_NAME}</th>
|
||||
<!-- IF S_STYLE --><th>{L_STYLE_USED_BY}</th><!-- ENDIF -->
|
||||
<th>{L_OPTIONS}</th>
|
||||
<th>{L_ACTIONS}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="row3" colspan="{$COLSPAN}"><strong>{L_INSTALLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN installed -->
|
||||
<tr>
|
||||
<td><strong>{installed.NAME}</strong><!-- IF installed.S_DEFAULT_STYLE --> *<!-- ENDIF --></td>
|
||||
<!-- IF S_STYLE -->
|
||||
<td style="text-align: center;">{installed.STYLE_COUNT}</td>
|
||||
<!-- ENDIF -->
|
||||
<td style="text-align: center;">
|
||||
{installed.S_OPTIONS}
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<!-- IF S_STYLE -->
|
||||
<a href="{installed.U_STYLE_ACT_DEACT}">{installed.L_STYLE_ACT_DEACT}</a> |
|
||||
<!-- ENDIF -->
|
||||
{installed.S_ACTIONS}
|
||||
<!-- IF S_STYLE -->
|
||||
| <a href="{installed.U_PREVIEW}">{L_PREVIEW}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END installed -->
|
||||
<tr>
|
||||
<td class="row3" colspan="{$COLSPAN}"><strong>{L_UNINSTALLED}</strong></td>
|
||||
</tr>
|
||||
<!-- IF not .uninstalled -->
|
||||
<tr>
|
||||
<td class="row1" colspan="{$COLSPAN}" style="text-align: center;">{L_NO_UNINSTALLED}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- BEGIN uninstalled -->
|
||||
<tr>
|
||||
<td<!-- IF S_STYLE --> colspan="2"<!-- ENDIF -->><strong>{uninstalled.NAME}</strong><br /><span>{L_COPYRIGHT}: {uninstalled.COPYRIGHT}</span></td>
|
||||
<td style="text-align: center;" colspan="2"><a href="{uninstalled.U_INSTALL}">{L_INSTALL}</a></td>
|
||||
</tr>
|
||||
<!-- END uninstalled -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF S_STYLE -->
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="quick">
|
||||
<legend>{L_CREATE}</legend>
|
||||
{L_CREATE}: <input type="text" name="name" value="" /> {L_FROM} <select name="basis">{S_BASIS_OPTIONS}</select> <input class="button2" type="submit" name="add" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_DETAILS -->
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_ERROR_MSG -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="name">{L_NAME}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><b id="name">{NAME}</b><!-- ELSE --><input type="text" id="name" name="name" value="{NAME}" /><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="copyright">{L_COPYRIGHT}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><b id="copyright">{COPYRIGHT}</b><!-- ELSE --><input type="text" id="copyright" name="copyright" value="{COPYRIGHT}" /><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- IF S_STYLE and not S_BASIS -->
|
||||
<dl>
|
||||
<dt><label for="template_id">{L_STYLE_TEMPLATE}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><b id="template_id">{TEMPLATE_NAME}</b><!-- ELSE --><select id="template_id" name="template_id">{S_TEMPLATE_OPTIONS}</select><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="theme_id">{L_STYLE_THEME}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><b id="theme_id">{THEME_NAME}</b><!-- ELSE --><select id="theme_id" name="theme_id">{S_THEME_OPTIONS}</select><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="imageset_id">{L_STYLE_IMAGESET}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><b id="imageset_id">{IMAGESET_NAME}</b><!-- ELSE --><select id="imageset_id" name="imageset_id">{S_IMAGESET_OPTIONS}</select><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_STYLE -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="style_active">{L_STYLE_ACTIVE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="style_active" value="1"<!-- IF S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="style_active" value="0"<!-- IF not S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_STYLE_DEFAULT -->
|
||||
<dl>
|
||||
<dt><label for="style_default">{L_STYLE_DEFAULT}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="style_default" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="style_default" name="style_default" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<a href="{U_ACTION}" class="button2">{L_BACK}</a>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .styles_list -->
|
||||
<table class="table1 styles">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_STYLE_NAME}</th>
|
||||
<!-- IF not STYLES_LIST_HIDE_COUNT --><th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_USED_BY}</th><!-- ENDIF -->
|
||||
<th width="25%" style="white-space: nowrap; text-align: center;">{L_ACTIONS}</th>
|
||||
{STYLES_LIST_EXTRA}
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- BEGIN styles_list -->
|
||||
<tbody id="styles-list-{styles_list.S_ROW_COUNT}">
|
||||
<tr<!-- IF styles_list.STYLE_ID and not styles_list.STYLE_ACTIVE --> class="row-inactive"<!-- ENDIF -->>
|
||||
<!-- IF styles_list.LEVEL is odd -->
|
||||
<!-- IF $ROW_CLASS == 'row1a' --><!-- DEFINE $ROW_CLASS = 'row1b' --><!-- ELSE --><!-- DEFINE $ROW_CLASS = 'row1a' --><!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
<!-- IF $ROW_CLASS == 'row2a' --><!-- DEFINE $ROW_CLASS = 'row2b' --><!-- ELSE --><!-- DEFINE $ROW_CLASS = 'row2a' --><!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<td class="{$ROW_CLASS}" style="padding-{S_CONTENT_FLOW_BEGIN}: {styles_list.PADDING}px;">
|
||||
<!-- IF styles_list.STYLE_ID and styles_list.COMMENT == '' and styles_list.STYLE_ACTIVE -->
|
||||
<div class="default-style" style="display: none; float: {S_CONTENT_FLOW_END};">
|
||||
<input class="radio" type="radio" name="default" value="{styles_list.STYLE_ID}"<!-- IF styles_list.DEFAULT --> checked="checked"<!-- ELSE --><!-- DEFINE $S_DEFAULT = 1 --><!-- ENDIF --> title="{L_STYLE_DEFAULT}" />
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF styles_list.DEFAULT or styles_list.SHOW_COPYRIGHT -->
|
||||
<strong>{styles_list.STYLE_NAME}</strong>
|
||||
<!-- IF styles_list.SHOW_COPYRIGHT and styles_list.COMMENT == '' --><span><br />{styles_list.STYLE_COPYRIGHT}</span><!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
<span>{styles_list.STYLE_NAME}</span>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF styles_list.COMMENT != '' -->
|
||||
<span class="error"><br />{styles_list.COMMENT}</span>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not styles_list.STYLE_ID and styles_list.COMMENT == '' -->
|
||||
<span class="style-path"><br />{L_STYLE_PATH} {styles_list.STYLE_PATH_FULL}</span>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
<!-- IF not STYLES_LIST_HIDE_COUNT -->
|
||||
<td class="{$ROW_CLASS} users">{styles_list.USERS}</td>
|
||||
<!-- ENDIF -->
|
||||
<td class="{$ROW_CLASS} actions">
|
||||
<!-- BEGIN actions -->
|
||||
<!-- IF styles_list.actions.S_ROW_COUNT > 0 --> | <!-- ENDIF -->
|
||||
<!-- IF styles_list.actions.U_ACTION -->
|
||||
<a href="{styles_list.actions.U_ACTION}"{styles_list.actions.U_ACTION_ATTR}>{styles_list.actions.L_ACTION}</a>
|
||||
<!-- ENDIF -->
|
||||
{styles_list.actions.HTML}
|
||||
<!-- END actions -->
|
||||
</td>
|
||||
{styles_list.EXTRA}
|
||||
<td class="{$ROW_CLASS} mark" width="20">
|
||||
<!-- IF styles_list.STYLE_ID -->
|
||||
<input class="checkbox" type="checkbox" name="ids[]" value="{styles_list.STYLE_ID}" />
|
||||
<!-- ELSE -->
|
||||
<!-- IF styles_list.COMMENT != '' -->
|
||||
|
||||
<!-- ELSE -->
|
||||
<input class="checkbox" type="checkbox" name="dirs[]" value="{styles_list.STYLE_PATH}" />
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<!-- END styles_list -->
|
||||
</table>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .extra_actions -->
|
||||
<fieldset class="quick">
|
||||
<!-- BEGIN extra_actions -->
|
||||
<input type="submit" name="{extra_actions.ACTION_NAME}" class="button2" value="{extra_actions.L_ACTION}" />
|
||||
<!-- END extra_actions -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .extra_links -->
|
||||
<fieldset class="quick">
|
||||
<!-- BEGIN extra_links -->
|
||||
<a class="button2" href="{extra_links.U_ACTION}">{extra_links.L_ACTION}</a>
|
||||
<!-- END extra_links -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</form>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@@ -1,46 +1,46 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_VERSION_CHECK -->
|
||||
|
||||
<h1>{L_VERSION_CHECK}</h1>
|
||||
<h1>{L_VERSION_CHECK}</h1>
|
||||
|
||||
<p>{L_VERSION_CHECK_EXPLAIN}</p>
|
||||
<p>{L_VERSION_CHECK_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_UP_TO_DATE -->
|
||||
<div class="successbox">
|
||||
<p>{L_VERSION_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE_ACP} - <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_UP_TO_DATE and S_UP_TO_DATE_AUTO -->
|
||||
<div class="successbox">
|
||||
<p>{L_VERSION_UP_TO_DATE_ACP}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_VERSION_NOT_UP_TO_DATE_ACP}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><strong>{CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- BEGIN updates_available -->
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{updates_available.current}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_RELEASE_ANNOUNCEMENT}</label></dt>
|
||||
<dd><strong><a href="{updates_available.announcement}">{updates_available.announcement}</a></strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><strong><!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->{AUTO_VERSION}<!-- ELSE -->{CURRENT_VERSION}<!-- ENDIF --></strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{LATEST_VERSION}</strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<!-- END updates_available -->
|
||||
|
||||
<!-- IF not S_UP_TO_DATE -->
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- IF S_UP_TO_DATE and not S_UP_TO_DATE_AUTO -->
|
||||
{L_UPDATE_INSTRUCTIONS_INCOMPLETE}
|
||||
<br /><br />
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not S_UP_TO_DATE -->
|
||||
{UPDATE_INSTRUCTIONS}
|
||||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_SELECT_USER -->
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_SELECT_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_ENTER_USERNAME}{L_COLON}</label></dt>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="username" name="username" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
@@ -68,7 +68,7 @@
|
||||
<form id="mode_select" method="post" action="{U_MODE_SELECT}">
|
||||
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_FORM}{L_COLON} <select name="mode" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_FORM_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" />
|
||||
{L_SELECT_FORM}: <select name="mode" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_FORM_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
@@ -83,10 +83,6 @@
|
||||
|
||||
<!-- INCLUDE acp_users_feedback.html -->
|
||||
|
||||
<!-- ELSEIF S_WARNINGS -->
|
||||
|
||||
<!-- INCLUDE acp_users_warnings.html -->
|
||||
|
||||
<!-- ELSEIF S_PROFILE -->
|
||||
|
||||
<!-- INCLUDE acp_users_profile.html -->
|
||||
@@ -106,7 +102,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_RANK}</legend>
|
||||
<dl>
|
||||
<dt><label for="user_rank">{L_USER_RANK}{L_COLON}</label></dt>
|
||||
<dt><label for="user_rank">{L_USER_RANK}:</label></dt>
|
||||
<dd><select name="user_rank" id="user_rank">{S_RANK_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -125,7 +121,7 @@
|
||||
|
||||
<form id="user_groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<tbody>
|
||||
<!-- BEGIN group -->
|
||||
<!-- IF group.S_NEW_GROUP_TYPE -->
|
||||
@@ -133,10 +129,10 @@
|
||||
<td class="row3" colspan="4"><strong>{group.GROUP_TYPE}</strong></td>
|
||||
</tr>
|
||||
<!-- ELSE -->
|
||||
<tr>
|
||||
<!-- IF group.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{group.U_EDIT_GROUP}">{group.GROUP_NAME}</a></td>
|
||||
<td><!-- IF group.S_IS_MEMBER --><!-- IF group.S_NO_DEFAULT --><a href="{group.U_DEFAULT}">{L_GROUP_DEFAULT}</a><!-- ELSE --><strong>{L_GROUP_DEFAULT}</strong><!-- ENDIF --><!-- ELSEIF not group.S_IS_MEMBER and group.U_APPROVE --><a href="{group.U_APPROVE}">{L_GROUP_APPROVE}</a><!-- ELSE --> <!-- ENDIF --></td>
|
||||
<td><!-- IF group.S_IS_MEMBER and not group.S_SPECIAL_GROUP --><a href="{group.U_DEMOTE_PROMOTE}">{group.L_DEMOTE_PROMOTE}</a><!-- ELSE --> <!-- ENDIF --></td>
|
||||
<td><!-- IF group.S_NO_DEFAULT --><a href="{group.U_DEFAULT}">{L_GROUP_DEFAULT}</a><!-- ELSE --><strong>{L_GROUP_DEFAULT}</strong><!-- ENDIF --></td>
|
||||
<td><!-- IF not group.S_SPECIAL_GROUP --><a href="{group.U_DEMOTE_PROMOTE}">{group.L_DEMOTE_PROMOTE}</a><!-- ELSE --> <!-- ENDIF --></td>
|
||||
<td><a href="{group.U_DELETE}">{L_GROUP_DELETE}</a></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
@@ -146,7 +142,7 @@
|
||||
|
||||
<!-- IF S_GROUP_OPTIONS -->
|
||||
<fieldset class="quick">
|
||||
{L_USER_GROUP_ADD}{L_COLON} <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
{L_USER_GROUP_ADD}: <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
@@ -157,14 +153,14 @@
|
||||
<form id="user_attachments" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .attach -->
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_FILENAME}</th>
|
||||
@@ -176,8 +172,8 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN attach -->
|
||||
<tr>
|
||||
<td><a href="{attach.U_DOWNLOAD}">{attach.REAL_FILENAME}</a><br /><span class="small"><!-- IF attach.S_IN_MESSAGE --><strong>{L_PM}{L_COLON} </strong><!-- ELSE --><strong>{L_POST}{L_COLON} </strong><!-- ENDIF --><a href="{attach.U_VIEW_TOPIC}">{attach.TOPIC_TITLE}</a></span></td>
|
||||
<!-- IF attach.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{attach.U_DOWNLOAD}">{attach.REAL_FILENAME}</a><br /><span class="small"><!-- IF attach.S_IN_MESSAGE --><strong>{L_PM}: </strong><!-- ELSE --><strong>{L_POST}: </strong><!-- ENDIF --><a href="{attach.U_VIEW_TOPIC}">{attach.TOPIC_TITLE}</a></span></td>
|
||||
<td style="text-align: center">{attach.POST_TIME}</td>
|
||||
<td style="text-align: center">{attach.SIZE}</td>
|
||||
<td style="text-align: center">{attach.DOWNLOAD_COUNT}</td>
|
||||
@@ -192,15 +188,15 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<fieldset class="display-options">
|
||||
{L_SORT_BY}{L_COLON} <select name="sk">{S_SORT_KEY}</select> <select name="sd">{S_SORT_DIR}</select>
|
||||
{L_SORT_BY}: <select name="sk">{S_SORT_KEY}</select> <select name="sd">{S_SORT_DIR}</select>
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
<hr />
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
@@ -219,7 +215,7 @@
|
||||
<form id="select_forum" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="quick" style="text-align: left;">
|
||||
{L_SELECT_FORUM}{L_COLON} <select name="f">{S_FORUM_OPTIONS}</select>
|
||||
{L_SELECT_FORUM}: <select name="f">{S_FORUM_OPTIONS}</select>
|
||||
<input class="button2" type="submit" value="{L_GO}" name="select" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
@@ -1,39 +1,76 @@
|
||||
<form id="avatar_settings" method="post" action="{U_ACTION}" enctype="multipart/form-data">
|
||||
<form id="avatar_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_AVATAR}</legend>
|
||||
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR_IMAGE}</dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_IN_AVATAR_GALLERY -->
|
||||
<!-- IF S_CAN_UPLOAD -->
|
||||
<dl>
|
||||
<dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
|
||||
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_MAX_FILESIZE}" /><input type="file" id="uploadfile" name="uploadfile" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
|
||||
<dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_REMOTE -->
|
||||
<dl>
|
||||
<dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{USER_AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{USER_AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_DISPLAY_GALLERY -->
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_GALLERY}:</label></dt>
|
||||
<dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AVATAR_GALLERY}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR}</dd>
|
||||
<dd><label for="avatar_delete"><input type="checkbox" name="avatar_delete" id="avatar_delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
|
||||
<dd><select name="category" id="category">{S_CAT_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{L_AVATAR_SELECT}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_TYPE}</label></dt>
|
||||
<dd><select name="avatar_driver" id="avatar_driver">
|
||||
<option value="">{L_NO_AVATAR_CATEGORY}</option>
|
||||
<!-- BEGIN avatar_drivers -->
|
||||
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_drivers.L_TITLE}</option>
|
||||
<!-- END avatar_drivers -->
|
||||
</select></dd>
|
||||
<table cellspacing="1">
|
||||
<!-- BEGIN avatar_row -->
|
||||
<tr>
|
||||
<!-- BEGIN avatar_column -->
|
||||
<td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
|
||||
<!-- END avatar_column -->
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- BEGIN avatar_option_column -->
|
||||
<td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
|
||||
<!-- END avatar_option_column -->
|
||||
</tr>
|
||||
<!-- END avatar_row -->
|
||||
</table>
|
||||
</dl>
|
||||
<div id="avatar_options">
|
||||
<!-- BEGIN avatar_drivers -->
|
||||
<div id="avatar_option_{avatar_drivers.DRIVER}">
|
||||
<p>{avatar_drivers.L_EXPLAIN}</p>
|
||||
{avatar_drivers.OUTPUT}
|
||||
</div>
|
||||
<!-- END avatar_drivers -->
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick" style="margin-top: -15px;">
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input type="submit" name="update" value="{L_SUBMIT}" class="button1" />
|
||||
{S_FORM_TOKEN}
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- INCLUDEJS avatars.js -->
|
||||
|
||||
</form>
|
@@ -1,13 +1,13 @@
|
||||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .log -->
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_REPORT_BY}</th>
|
||||
@@ -19,7 +19,8 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN log -->
|
||||
<tr>
|
||||
<!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>{log.USERNAME}</td>
|
||||
<td style="text-align: center;">{log.IP}</td>
|
||||
<td style="text-align: center;">{log.DATE}</td>
|
||||
@@ -39,15 +40,15 @@
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}{L_COLON} {S_LIMIT_DAYS} {L_SORT_BY}{L_COLON} {S_SORT_KEY} {S_SORT_DIR}
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
<hr />
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
@@ -72,4 +73,4 @@
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
{S_FORM_TOKEN}
|
||||
</form>
|
||||
</form>
|
@@ -3,57 +3,60 @@
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_OVERVIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="user">{L_USERNAME}{L_COLON}</label><br /><span>{L_NAME_CHARS_EXPLAIN}</span></dt>
|
||||
<dt><label for="user">{L_USERNAME}:</label><br /><span>{L_NAME_CHARS_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="user" name="user" value="{USER}" /></dd>
|
||||
<!-- IF U_SWITCH_PERMISSIONS --><dd>[ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF S_USER_INACTIVE -->
|
||||
<dl>
|
||||
<dt><label>{L_USER_IS_INACTIVE}{L_COLON}</label></dt>
|
||||
<dt><label>{L_USER_IS_INACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_INACTIVE_REASON}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED}{L_COLON}</label></dt>
|
||||
<dt><label>{L_REGISTERED}:</label></dt>
|
||||
<dd><strong>{USER_REGISTERED}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_USER_IP -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED_IP}{L_COLON}</label></dt>
|
||||
<dt><label>{L_REGISTERED_IP}:</label></dt>
|
||||
<dd><a href="{U_SHOW_IP}">{REGISTERED_IP}</a></dd>
|
||||
<dd>[ <a href="{U_WHOIS}" onclick="popup(this.href, 700, 500, '_whois'); return false;">{L_WHOIS}</a> ]</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_LAST_ACTIVE}{L_COLON}</label></dt>
|
||||
<dt><label>{L_LAST_ACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_LASTACTIVE}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_POSTS}{L_COLON}</label></dt>
|
||||
<dt><label>{L_POSTS}:</label></dt>
|
||||
<dd><strong>{USER_POSTS}</strong><!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --> (<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --> ({L_POSTS_IN_QUEUE})<!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_WARNINGS}{L_COLON}</label></dt>
|
||||
<dt><label>{L_WARNINGS}:</label></dt>
|
||||
<dd><strong>{USER_WARNINGS}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_founder">{L_FOUNDER}{L_COLON}</label><br /><span>{L_FOUNDER_EXPLAIN}</span></dt>
|
||||
<dt><label for="user_founder">{L_FOUNDER}:</label><br /><span>{L_FOUNDER_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="user_founder" value="1"<!-- IF S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="user_founder" value="0"<!-- IF not S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_email">{L_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><input class="text medium" type="email" id="user_email" name="user_email" value="{USER_EMAIL}" autocomplete="off" /></dd>
|
||||
<dt><label for="user_email">{L_EMAIL}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_password">{L_NEW_PASSWORD}{L_COLON}</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="new_password" name="new_password" value="" autocomplete="off" /></dd>
|
||||
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label><br /><span>{L_CONFIRM_EMAIL_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="email_confirm" name="email_confirm" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="password_confirm" name="password_confirm" value="" autocomplete="off" /></dd>
|
||||
<dt><label for="new_password">{L_NEW_PASSWORD}:</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="new_password" name="new_password" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="password_confirm" name="password_confirm" value="" /></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_users_overview_options_append -->
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
@@ -108,19 +111,26 @@
|
||||
<fieldset>
|
||||
<legend>{L_USER_TOOLS}</legend>
|
||||
<dl>
|
||||
<dt><label for="quicktools">{L_QUICK_TOOLS}{L_COLON}</label></dt>
|
||||
<dt><label for="quicktools">{L_QUICK_TOOLS}:</label></dt>
|
||||
<dd><select id="quicktools" name="action" onchange="display_reason(this.options[this.selectedIndex].value);">{S_ACTION_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<div style="display: none;" id="reasons">
|
||||
<dl>
|
||||
<dt><label for="ban_reason">{L_BAN_REASON}{L_COLON}</label></dt>
|
||||
<dt><label for="ban_reason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><input name="ban_reason" type="text" class="text medium" maxlength="3000" id="ban_reason" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ban_give_reason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
|
||||
<dt><label for="ban_give_reason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><input name="ban_give_reason" type="text" class="text medium" maxlength="3000" id="ban_give_reason" /></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<!-- IF not S_OWN_ACCOUNT -->
|
||||
<dl>
|
||||
<dt><label for="delete_user">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" name="delete" value="1" /></dd>
|
||||
<dd><select id="delete_user" name="delete_type"><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
@@ -131,26 +141,4 @@
|
||||
|
||||
</form>
|
||||
|
||||
<!-- IF not S_OWN_ACCOUNT -->
|
||||
<form id="user_delete" method="post" action="{U_ACTION}">
|
||||
<fieldset>
|
||||
<legend>{L_DELETE_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="delete_type">{L_DELETE_USER}{L_COLON}</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<!-- IF USER_HAS_POSTS -->
|
||||
<select id="delete_type" name="delete_type"><option class="sep" value="">{L_SELECT_OPTION}</option><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select>
|
||||
<!-- ELSE -->
|
||||
{L_USER_NO_POSTS_TO_DELETE}<input type="hidden" id="delete_type" name="delete_type" value="retain" />
|
||||
<!-- ENDIF -->
|
||||
</dd>
|
||||
</dl>
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input type="hidden" name="delete" value="1" />
|
||||
{S_FORM_TOKEN}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
@@ -9,47 +9,60 @@
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_PERSONAL}</legend>
|
||||
<dl>
|
||||
<dt><label for="viewemail">{L_SHOW_EMAIL}{L_COLON}</label></dt>
|
||||
<dt><label for="viewemail">{L_SHOW_EMAIL}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="viewemail" value="1"<!-- IF VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="viewemail" value="0"<!-- IF not VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="massemail">{L_ADMIN_EMAIL}{L_COLON}</label></dt>
|
||||
<dt><label for="massemail">{L_ADMIN_EMAIL}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="massemail" value="1"<!-- IF MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="massemail" value="0"<!-- IF not MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowpm">{L_ALLOW_PM}{L_COLON}</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
|
||||
<dt><label for="allowpm">{L_ALLOW_PM}:</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="allowpm" value="1"<!-- IF ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="allowpm" value="0"<!-- IF not ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="hideonline">{L_HIDE_ONLINE}{L_COLON}</label></dt>
|
||||
<dt><label for="hideonline">{L_HIDE_ONLINE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="hideonline" value="1"<!-- IF HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="hideonline" value="0"<!-- IF not HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifymethod">{L_NOTIFY_METHOD}{L_COLON}</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
|
||||
<dt><label for="notifymethod">{L_NOTIFY_METHOD}:</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifypm">{L_NOTIFY_ON_PM}{L_COLON}</label></dt>
|
||||
<dt><label for="notifypm">{L_NOTIFY_ON_PM}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifypm" value="1"<!-- IF NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notifypm" value="0"<!-- IF not NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}{L_COLON}</label></dt>
|
||||
<dt><label for="popuppm">{L_POPUP_ON_PM}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="popuppm" value="1"<!-- IF POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="popuppm" value="0"<!-- IF not POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}:</label></dt>
|
||||
<dd><select id="lang" name="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="style">{L_BOARD_STYLE}{L_COLON}</label></dt>
|
||||
<dt><label for="style">{L_BOARD_STYLE}:</label></dt>
|
||||
<dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- INCLUDE timezone_option.html -->
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}{L_COLON}</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dt><label for="tz">{L_BOARD_TIMEZONE}:</label></dt>
|
||||
<dd><select id="tz" name="tz" style="width: 100%;">{S_TZ_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dst">{L_BOARD_DST}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="dst" value="1"<!-- IF DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="dst" value="0"<!-- IF not DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" /></div></dd>
|
||||
</dl>
|
||||
@@ -58,22 +71,22 @@
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_POST}</legend>
|
||||
<dl>
|
||||
<dt><label for="bbcode">{L_DEFAULT_BBCODE}{L_COLON}</label></dt>
|
||||
<dt><label for="bbcode">{L_DEFAULT_BBCODE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="bbcode" value="1"<!-- IF BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="bbcode" value="0"<!-- IF not BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="smilies">{L_DEFAULT_SMILIES}{L_COLON}</label></dt>
|
||||
<dt><label for="smilies">{L_DEFAULT_SMILIES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="smilies" value="1"<!-- IF SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="smilies" value="0"<!-- IF not SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="sig">{L_DEFAULT_ADD_SIG}{L_COLON}</label></dt>
|
||||
<dt><label for="sig">{L_DEFAULT_ADD_SIG}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="sig" value="1"<!-- IF ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="sig" value="0"<!-- IF not ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notify">{L_DEFAULT_NOTIFY}{L_COLON}</label></dt>
|
||||
<dt><label for="notify">{L_DEFAULT_NOTIFY}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notify" value="1"<!-- IF NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notify" value="0"<!-- IF not NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
@@ -82,57 +95,57 @@
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_VIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="view_images">{L_VIEW_IMAGES}{L_COLON}</label></dt>
|
||||
<dt><label for="view_images">{L_VIEW_IMAGES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_images" value="1"<!-- IF VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_images" value="0"<!-- IF not VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_flash">{L_VIEW_FLASH}{L_COLON}</label></dt>
|
||||
<dt><label for="view_flash">{L_VIEW_FLASH}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_flash" value="1"<!-- IF VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_flash" value="0"<!-- IF not VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_smilies">{L_VIEW_SMILIES}{L_COLON}</label></dt>
|
||||
<dt><label for="view_smilies">{L_VIEW_SMILIES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_smilies" value="1"<!-- IF VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_smilies" value="0"<!-- IF not VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_sigs">{L_VIEW_SIGS}{L_COLON}</label></dt>
|
||||
<dt><label for="view_sigs">{L_VIEW_SIGS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_sigs" value="1"<!-- IF VIEW_SIGS --> id="view_sigs" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_sigs" value="0"<!-- IF not VIEW_SIGS --> id="view_sigss" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_avatars">{L_VIEW_AVATARS}{L_COLON}</label></dt>
|
||||
<dt><label for="view_avatars">{L_VIEW_AVATARS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_avatars" value="1"<!-- IF VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_avatars" value="0"<!-- IF not VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_wordcensor">{L_DISABLE_CENSORS}{L_COLON}</label></dt>
|
||||
<dt><label for="view_wordcensor">{L_DISABLE_CENSORS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DAYS}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_TOPICS_DAYS}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_KEY}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_TOPICS_KEY}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DIR}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_TOPICS_DIR}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DIR}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DAYS}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_POSTS_DAYS}:</label></dt>
|
||||
<dd>{S_POST_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_KEY}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_POSTS_KEY}:</label></dt>
|
||||
<dd>{S_POST_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DIR}{L_COLON}</label></dt>
|
||||
<dt><label>{L_VIEW_POSTS_DIR}:</label></dt>
|
||||
<dd>{S_POST_SORT_DIR}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -142,4 +155,4 @@
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
</form>
|
@@ -3,12 +3,44 @@
|
||||
<fieldset>
|
||||
<legend>{L_USER_PROFILE}</legend>
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}{L_COLON}</label></dt>
|
||||
<dd><input type="email" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
<dt><label for="icq">{L_UCP_ICQ}:</label></dt>
|
||||
<dd><input type="text" id="icq" name="icq" value="{ICQ}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="birthday">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}{L_COLON} <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}{L_COLON} <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}{L_COLON} <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
<dt><label for="aim">{L_UCP_AIM}:</label></dt>
|
||||
<dd><input type="text" id="aim" name="aim" value="{AIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="msn">{L_UCP_MSNM}:</label></dt>
|
||||
<dd><input type="text" id="msn" name="msn" value="{MSN}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="yim">{L_UCP_YIM}:</label></dt>
|
||||
<dd><input type="text" id="yim" name="yim" value="{YIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}:</label></dt>
|
||||
<dd><input type="text" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="website">{L_WEBSITE}:</label></dt>
|
||||
<dd><input type="text" id="website" name="website" value="{WEBSITE}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="location">{L_LOCATION}:</label></dt>
|
||||
<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="occupation">{L_OCCUPATION}:</label></dt>
|
||||
<dd><textarea id="occupation" name="occupation" rows="3" cols="30">{OCCUPATION}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="interests">{L_INTERESTS}:</label></dt>
|
||||
<dd><textarea id="interests" name="interests" rows="3" cols="30">{INTERESTS}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="birthday">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -16,8 +48,8 @@
|
||||
<fieldset>
|
||||
<legend>{L_USER_CUSTOM_PROFILE_FIELDS}</legend>
|
||||
<!-- BEGIN profile_fields -->
|
||||
<dl>
|
||||
<dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}{L_COLON}</label><!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dl>
|
||||
<dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}:</label><!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{profile_fields.FIELD}</dd>
|
||||
<!-- IF profile_fields.ERROR -->
|
||||
<dd><span class="small" style="color: red;">{profile_fields.ERROR}</span></dd>
|
||||
@@ -31,4 +63,4 @@
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
@@ -3,8 +3,6 @@
|
||||
|
||||
var form_name = 'user_signature';
|
||||
var text_name = 'signature';
|
||||
var load_draft = false;
|
||||
var upload = false;
|
||||
|
||||
// Define the bbCode tags
|
||||
var bbcode = new Array();
|
||||
@@ -22,19 +20,20 @@
|
||||
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}',
|
||||
y: '{LA_BBCODE_Y_HELP}',
|
||||
d: '{LA_BBCODE_D_HELP}'
|
||||
e: '{LA_BBCODE_E_HELP}',
|
||||
d: '{LA_BBCODE_D_HELP}',
|
||||
t: '{LA_BBCODE_T_HELP}',
|
||||
tip: '{L_STYLES_TIP}'
|
||||
<!-- BEGIN custom_tags -->
|
||||
,cb_{custom_tags.BBCODE_ID}{L_COLON} '{custom_tags.A_BBCODE_HELPLINE}'
|
||||
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
|
||||
<!-- END custom_tags -->
|
||||
}
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
|
||||
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
|
||||
|
||||
<form id="user_signature" method="post" action="{U_ACTION}">
|
||||
|
||||
@@ -49,49 +48,53 @@
|
||||
<legend>{L_SIGNATURE}</legend>
|
||||
<p>{L_SIGNATURE_EXPLAIN}</p>
|
||||
|
||||
<!-- EVENT acp_users_signature_editor_buttons_before -->
|
||||
<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="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}" />
|
||||
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
|
||||
<!-- 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}" />
|
||||
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
|
||||
<!-- 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}" />
|
||||
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_BBCODE_FLASH -->
|
||||
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}" />
|
||||
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
|
||||
<!-- 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}">
|
||||
|
||||
{L_FONT_SIZE}: <select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_FONT_SIZE}" onmouseover="helpline('f')" onmouseout="helpline('tip')">
|
||||
<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 -->
|
||||
<option value="150">{L_FONT_LARGE}</option>
|
||||
<option value="200">{L_FONT_HUGE}</option>
|
||||
</select>
|
||||
<!-- IF .custom_tags -->
|
||||
<br /><br />
|
||||
<!-- 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}" />
|
||||
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
|
||||
<!-- END custom_tags -->
|
||||
</div>
|
||||
<!-- EVENT acp_users_signature_editor_buttons_after -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<dl class="responsive-columns">
|
||||
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
|
||||
</div>
|
||||
|
||||
<p><input type="text" class="text full" style="border: 0; background: none;" name="helpbox" value="{L_STYLES_TIP}" /></p>
|
||||
|
||||
<dl>
|
||||
<dt style="width: 90px;">
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
colorPalette('v', 12, 10);
|
||||
// ]]>
|
||||
</script>
|
||||
</dt>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{SIGNATURE}</textarea></dd>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
|
||||
<dd style="margin-left: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{SIGNATURE}</textarea></dd>
|
||||
<dd style="margin-left: 90px; margin-top: 5px;">
|
||||
<!-- IF S_BBCODE_ALLOWED -->
|
||||
<label><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label>
|
||||
<!-- ENDIF -->
|
||||
@@ -102,7 +105,7 @@
|
||||
<label><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label>
|
||||
<!-- ENDIF -->
|
||||
</dd>
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 10px;"><strong>{L_OPTIONS}{L_COLON} </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
|
||||
<dd style="margin-left: 90px; margin-top: 10px;"><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -111,4 +114,4 @@
|
||||
<input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
@@ -1,36 +0,0 @@
|
||||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF .warn -->
|
||||
<table class="table1 zebra-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_REPORT_BY}</th>
|
||||
<th>{L_TIME}</th>
|
||||
<th>{L_FEEDBACK}</th>
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN warn -->
|
||||
<tr>
|
||||
<td>{warn.USERNAME}</td>
|
||||
<td style="text-align: center; nowrap: nowrap;">{warn.DATE}</td>
|
||||
<td>{warn.ACTION}</td>
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{warn.ID}" /></td>
|
||||
</tr>
|
||||
<!-- END warn -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_WARNINGS}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
<p class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></p>
|
||||
</fieldset>
|
||||
{S_FORM_TOKEN}
|
||||
</form>
|
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a id="maincontent"></a>
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_WORD -->
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<input class="button2" name="add" type="submit" value="{L_ADD_WORD}" />
|
||||
</p>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_WORD}</th>
|
||||
@@ -57,10 +57,10 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN words -->
|
||||
<tr>
|
||||
<!-- IF words.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="text-align: center;">{words.WORD}</td>
|
||||
<td style="text-align: center;">{words.REPLACEMENT}</td>
|
||||
<td> <a href="{words.U_EDIT}">{ICON_EDIT}</a> <a href="{words.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a> </td>
|
||||
<td> <a href="{words.U_EDIT}">{ICON_EDIT}</a> <a href="{words.U_DELETE}">{ICON_DELETE}</a> </td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row3">
|
||||
|
@@ -1,246 +0,0 @@
|
||||
/**
|
||||
* phpBB3 ACP functions
|
||||
*/
|
||||
|
||||
/**
|
||||
* Parse document block
|
||||
*/
|
||||
function parse_document(container)
|
||||
{
|
||||
var test = document.createElement('div'),
|
||||
oldBrowser = (typeof test.style.borderRadius == 'undefined');
|
||||
|
||||
delete test;
|
||||
|
||||
/**
|
||||
* Navigation
|
||||
*/
|
||||
container.find('#menu').each(function() {
|
||||
var menu = $(this),
|
||||
blocks = menu.children('.menu-block');
|
||||
|
||||
if (!blocks.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Set onclick event
|
||||
blocks.children('a.header').click(function() {
|
||||
var parent = $(this).parent();
|
||||
if (!parent.hasClass('active')) {
|
||||
parent.siblings().removeClass('active');
|
||||
}
|
||||
parent.toggleClass('active');
|
||||
});
|
||||
|
||||
// Set active menu
|
||||
menu.find('#activemenu').parents('.menu-block').addClass('active');
|
||||
|
||||
// Check if there is active menu
|
||||
if (!blocks.filter('.active').length) {
|
||||
blocks.filter(':first').addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Responsive tables
|
||||
*/
|
||||
container.find('table').not('.not-responsive').each(function() {
|
||||
var $this = $(this),
|
||||
th = $this.find('thead > tr > th'),
|
||||
columns = th.length,
|
||||
headers = [],
|
||||
totalHeaders = 0,
|
||||
i, headersLength;
|
||||
|
||||
// Find columns
|
||||
$this.find('colgroup:first').children().each(function(i) {
|
||||
var column = $(this);
|
||||
$this.find('td:nth-child(' + (i + 1) + ')').addClass(column.prop('className'));
|
||||
});
|
||||
|
||||
// Styles table
|
||||
if ($this.hasClass('styles')) {
|
||||
$this.find('td:first-child[style]').each(function() {
|
||||
var style = $(this).attr('style');
|
||||
if (style.length) {
|
||||
$(this).parent('tr').attr('style', style.toLowerCase().replace('padding', 'margin')).addClass('responsive-style-row');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Find each header
|
||||
if (!$this.data('no-responsive-header'))
|
||||
{
|
||||
th.each(function(column) {
|
||||
var cell = $(this),
|
||||
colspan = parseInt(cell.attr('colspan')),
|
||||
dfn = cell.attr('data-dfn'),
|
||||
text = dfn ? dfn : cell.text().trim();
|
||||
|
||||
if (text == ' ') text = '';
|
||||
colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
|
||||
|
||||
for (i=0; i<colspan; i++) {
|
||||
headers.push(text);
|
||||
}
|
||||
totalHeaders ++;
|
||||
|
||||
if (dfn && !column) {
|
||||
$this.addClass('show-header');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
headersLength = headers.length;
|
||||
|
||||
// Add header text to each cell as <dfn>
|
||||
$this.addClass('responsive');
|
||||
|
||||
if (totalHeaders < 2) {
|
||||
$this.addClass('show-header');
|
||||
return;
|
||||
}
|
||||
|
||||
$this.find('tbody > tr').each(function() {
|
||||
var row = $(this),
|
||||
cells = row.children('td'),
|
||||
column = 0;
|
||||
|
||||
if (cells.length == 1) {
|
||||
row.addClass('big-column');
|
||||
return;
|
||||
}
|
||||
|
||||
cells.each(function() {
|
||||
var cell = $(this),
|
||||
colspan = parseInt(cell.attr('colspan')),
|
||||
text = cell.text().trim();
|
||||
|
||||
if (headersLength <= column) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((text.length && text !== '-') || cell.children().length) {
|
||||
if (headers[column] != '') {
|
||||
cell.prepend('<dfn style="display: none;">' + headers[column] + '</dfn>');
|
||||
}
|
||||
}
|
||||
else {
|
||||
cell.addClass('empty');
|
||||
}
|
||||
|
||||
colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
|
||||
column += colspan;
|
||||
});
|
||||
});
|
||||
|
||||
// Remove <dfn> in disabled extensions list
|
||||
$this.find('tr.ext_disabled > .empty:nth-child(2) + .empty').siblings(':first-child').children('dfn').remove();
|
||||
});
|
||||
|
||||
/**
|
||||
* Hide empty responsive tables
|
||||
*/
|
||||
container.find('table.responsive > tbody').each(function() {
|
||||
var items = $(this).children('tr');
|
||||
if (items.length == 0)
|
||||
{
|
||||
$(this).parent('table:first').addClass('responsive-hide');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Fieldsets with empty <span>
|
||||
*/
|
||||
container.find('fieldset dt > span:last-child').each(function() {
|
||||
var $this = $(this);
|
||||
if ($this.html() == ' ') {
|
||||
$this.addClass('responsive-hide');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* Responsive tabs
|
||||
*/
|
||||
container.find('#tabs').not('[data-skip-responsive]').each(function() {
|
||||
var $this = $(this),
|
||||
$body = $('body'),
|
||||
ul = $this.children(),
|
||||
tabs = ul.children().not('[data-skip-responsive]'),
|
||||
links = tabs.children('a'),
|
||||
item = ul.append('<li class="responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link"><span> </span></a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
|
||||
menu = item.find('.dropdown-contents'),
|
||||
maxHeight = 0,
|
||||
lastWidth = false,
|
||||
responsive = false;
|
||||
|
||||
links.each(function() {
|
||||
var link = $(this);
|
||||
maxHeight = Math.max(maxHeight, Math.max(link.outerHeight(true), link.parent().outerHeight(true)));
|
||||
})
|
||||
|
||||
function check() {
|
||||
var width = $body.width(),
|
||||
height = $this.height();
|
||||
|
||||
if (arguments.length == 0 && (!responsive || width <= lastWidth) && height <= maxHeight) {
|
||||
return;
|
||||
}
|
||||
|
||||
tabs.show();
|
||||
item.hide();
|
||||
|
||||
lastWidth = width;
|
||||
height = $this.height();
|
||||
if (height <= maxHeight) {
|
||||
responsive = false;
|
||||
if (item.hasClass('dropdown-visible')) {
|
||||
phpbb.toggleDropdown.call(item.find('a.responsive-tab-link').get(0));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
responsive = true;
|
||||
item.show();
|
||||
menu.html('');
|
||||
|
||||
var availableTabs = tabs.filter(':not(.activetab, .responsive-tab)'),
|
||||
total = availableTabs.length,
|
||||
i, tab;
|
||||
|
||||
for (i = total - 1; i >= 0; i --) {
|
||||
tab = availableTabs.eq(i);
|
||||
menu.prepend(tab.clone(true));
|
||||
tab.hide();
|
||||
if ($this.height() <= maxHeight) {
|
||||
menu.find('a').click(function() { check(true); });
|
||||
return;
|
||||
}
|
||||
}
|
||||
menu.find('a').click(function() { check(true); });
|
||||
}
|
||||
|
||||
phpbb.registerDropdown(item.find('a.responsive-tab-link'), item.find('.dropdown'), {visibleClass: 'activetab', verticalDirection: 'down'});
|
||||
|
||||
check(true);
|
||||
$(window).resize(check);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Run onload functions
|
||||
*/
|
||||
(function($) {
|
||||
$(document).ready(function() {
|
||||
// Swap .nojs and .hasjs
|
||||
$('body.nojs').toggleClass('nojs hasjs');
|
||||
|
||||
// Focus forms
|
||||
$('form[data-focus]:first').each(function() {
|
||||
$('#' + this.getAttribute('data-focus')).focus();
|
||||
});
|
||||
|
||||
parse_document($('body'));
|
||||
});
|
||||
})(jQuery);
|
@@ -1,90 +0,0 @@
|
||||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* The following callbacks are for reording items. row_down
|
||||
* is triggered when an item is moved down, and row_up is triggered when
|
||||
* an item is moved up. It moves the row up or down, and deactivates /
|
||||
* activates any up / down icons that require it (the ones at the top or bottom).
|
||||
*/
|
||||
phpbb.addAjaxCallback('row_down', function(res) {
|
||||
if (typeof res.success === 'undefined' || !res.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var el = $(this),
|
||||
tr = el.parents('tr'),
|
||||
trSwap = tr.next();
|
||||
|
||||
tr.insertAfter(trSwap);
|
||||
});
|
||||
|
||||
phpbb.addAjaxCallback('row_up', function(res) {
|
||||
if (typeof res.success === 'undefined' || !res.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var el = $(this),
|
||||
tr = el.parents('tr'),
|
||||
trSwap = tr.prev();
|
||||
|
||||
tr.insertBefore(trSwap);
|
||||
});
|
||||
|
||||
/**
|
||||
* This callback replaces activate links with deactivate links and vice versa.
|
||||
* It does this by replacing the text, and replacing all instances of "activate"
|
||||
* in the href with "deactivate", and vice versa.
|
||||
*/
|
||||
phpbb.addAjaxCallback('activate_deactivate', function(res) {
|
||||
var el = $(this),
|
||||
newHref = el.attr('href');
|
||||
|
||||
el.text(res.text);
|
||||
|
||||
if (newHref.indexOf('deactivate') !== -1) {
|
||||
newHref = newHref.replace('deactivate', 'activate');
|
||||
} else {
|
||||
newHref = newHref.replace('activate', 'deactivate');
|
||||
}
|
||||
|
||||
el.attr('href', newHref);
|
||||
});
|
||||
|
||||
/**
|
||||
* The removes the parent row of the link or form that triggered the callback,
|
||||
* and is good for stuff like the removal of forums.
|
||||
*/
|
||||
phpbb.addAjaxCallback('row_delete', function(res) {
|
||||
if (res.SUCCESS !== false) {
|
||||
$(this).parents('tr').remove();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('[data-ajax]').each(function() {
|
||||
var $this = $(this),
|
||||
ajax = $this.attr('data-ajax'),
|
||||
fn;
|
||||
|
||||
if (ajax !== 'false') {
|
||||
fn = (ajax !== 'true') ? ajax : null;
|
||||
phpbb.ajaxify({
|
||||
selector: this,
|
||||
refresh: $this.attr('data-refresh') !== undefined,
|
||||
callback: fn
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Automatically resize textarea
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
phpbb.resizeTextArea($('textarea:not(.no-auto-resize)'), {minHeight: 75});
|
||||
});
|
||||
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
@@ -1,32 +0,0 @@
|
||||
<dl>
|
||||
<dt><label for="ldap_server">{L_LDAP_SERVER}{L_COLON}</label><br /><span>{L_LDAP_SERVER_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_server" size="40" name="config[ldap_server]" value="{AUTH_LDAP_SERVER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_port">{L_LDAP_PORT}{L_COLON}</label><br /><span>{L_LDAP_PORT_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_port" size="40" name="config[ldap_port]" value="{AUTH_LDAP_PORT}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_dn">{L_LDAP_DN}{L_COLON}</label><br /><span>{L_LDAP_DN_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_dn" size="40" name="config[ldap_base_dn]" value="{AUTH_LDAP_BASE_DN}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_uid">{L_LDAP_UID}{L_COLON}</label><br /><span>{L_LDAP_UID_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_uid" size="40" name="config[ldap_uid]" value="{AUTH_LDAP_UID}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_user_filter">{L_LDAP_USER_FILTER}{L_COLON}</label><br /><span>{L_LDAP_USER_FILTER_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_user_filter" size="40" name="config[ldap_user_filter]" value="{AUTH_LDAP_USER_FILTER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_email">{L_LDAP_EMAIL}{L_COLON}</label><br /><span>{L_LDAP_EMAIL_EXPLAIN}</span></dt>
|
||||
<dd><input type="email" id="ldap_email" size="40" name="config[ldap_email]" value="{AUTH_LDAP_EMAIL}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_user">{L_LDAP_USER}{L_COLON}</label><br /><span>{L_LDAP_USER_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="ldap_user" size="40" name="config[ldap_user]" value="{AUTH_LDAP_USER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ldap_password">{L_LDAP_PASSWORD}{L_COLON}</label><br /><span>{L_LDAP_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="ldap_password" size="40" name="config[ldap_password]" value="{AUTH_LDAP_PASSWORD}" autocomplete="off" /></dd>
|
||||
</dl>
|
@@ -1,17 +0,0 @@
|
||||
<h2>{L_AUTH_PROVIDER_OAUTH_TITLE}</h2>
|
||||
|
||||
<p>{L_AUTH_PROVIDER_OAUTH_EXPLAIN}</p>
|
||||
|
||||
<!-- BEGIN oauth_services -->
|
||||
<fieldset>
|
||||
<legend>{oauth_services.ACTUAL_NAME}</legend>
|
||||
<dl>
|
||||
<dt><label for="oauth_service_{oauth_services.NAME}_key">{L_AUTH_PROVIDER_OAUTH_KEY}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="oauth_service_{oauth_services.NAME}_key" size="40" name="config[auth_oauth_{oauth_services.NAME}_key]" value="{oauth_services.KEY}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="oauth_service_{oauth_services.NAME}_secret">{L_AUTH_PROVIDER_OAUTH_SECRET}{L_COLON}</label></dt>
|
||||
<dd><input type="text" id="oauth_service_{oauth_services.NAME}_secret" size="40" name="config[auth_oauth_{oauth_services.NAME}_secret]" value="{oauth_services.SECRET}" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<!-- END oauth_services -->
|