mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge remote-tracking branch 'upstream/develop' into feature/prune-users
* upstream/develop: (2171 commits) [ticket/11164] Update composer.phar [ticket/10933] Use inheritDoc, eliminate copy pasted docblocks. [ticket/10933] Dependency inject template context. [ticket/10933] Expanded prose documentation for phpbb_extension_provider. [ticket/10933] Specify empty template path for absolute includephp test. [ticket/10933] Useful documentation for template locate function [ticket/10933] Typo fixes [ticket/10933] Initialize template context when template is constructed. [ticket/11099] Mark acp_ban::display_ban_options() as static. [ticket/11158] Require acl_u_sig for ucp signature module. [ticket/11158] Revert old fix in PHPBB3-10186. [ticket/11159] static public is the currently approved order. [ticket/11157] static public is the currently approved order. [ticket/11157] Fix remaining captcha spam. [ticket/11157] get_captcha_types is an instance method. [ticket/11156] Delete "Misc" tab of forum based permissions + move items [ticket/10848] Move include up. [ticket/11014] Fix old pagination assignment [ticket/11018] Fix several paginations in ACP [ticket/11014] Fix IF statements for new template pagination ... Conflicts: phpBB/includes/functions_user.php
This commit is contained in:
commit
87ea50948e
1002 changed files with 35913 additions and 19014 deletions
29
.gitignore
vendored
29
.gitignore
vendored
|
@ -1,13 +1,18 @@
|
|||
*~
|
||||
phpunit.xml
|
||||
phpBB/cache/*.php
|
||||
phpBB/cache/queue.php.lock
|
||||
phpBB/config.php
|
||||
phpBB/files/*
|
||||
phpBB/images/avatars/gallery/*
|
||||
phpBB/images/avatars/upload/*
|
||||
phpBB/store/*
|
||||
tests/phpbb_unit_tests.sqlite2
|
||||
tests/test_config.php
|
||||
tests/tmp
|
||||
tests/utf/data/*.txt
|
||||
/phpunit.xml
|
||||
/phpBB/cache/*.html
|
||||
/phpBB/cache/*.php
|
||||
/phpBB/cache/queue.php.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/*
|
||||
|
|
30
.travis.yml
Normal file
30
.travis.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
language: php
|
||||
php:
|
||||
- 5.3.3
|
||||
- 5.3
|
||||
- 5.4
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
- DB=postgres
|
||||
|
||||
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' ]; then mysql -e 'create database IF NOT EXISTS phpbb_tests;'; fi"
|
||||
- pyrus set auto_discover 1
|
||||
- pyrus install --force phpunit/DbUnit
|
||||
- phpenv rehash
|
||||
- cd phpBB
|
||||
- php ../composer.phar install --dev
|
||||
- cd ../
|
||||
|
||||
script:
|
||||
- phpunit --configuration travis/phpunit-$DB-travis.xml
|
||||
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- dev-team@phpbb.com
|
||||
on_success: change
|
||||
on_failure: change
|
16
README.md
16
README.md
|
@ -1,4 +1,4 @@
|
|||
[](http://www.phpbb.com)
|
||||
[](http://www.phpbb.com)
|
||||
|
||||
## ABOUT
|
||||
|
||||
|
@ -8,6 +8,14 @@ phpBB is a free bulletin board written in PHP.
|
|||
|
||||
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)
|
||||
|
@ -15,6 +23,12 @@ Find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the dev
|
|||
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/phpbb3)
|
||||
develop-olympus - [](http://travis-ci.org/phpbb/phpbb3)
|
||||
|
||||
## LICENSE
|
||||
|
||||
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.0.8" />
|
||||
<property name="prevversion" value="3.0.8-RC1" />
|
||||
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7-PL1" />
|
||||
<property name="newversion" value="3.0.11" />
|
||||
<property name="prevversion" value="3.0.10" />
|
||||
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.7-PL1, 3.0.8, 3.0.9, 3.0.11-RC1, 3.0.11-RC2" />
|
||||
<!-- 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="package" depends="clean,prepare,create-package" />
|
||||
<target name="all" depends="clean,prepare,test,docs,create-package" />
|
||||
<target name="build" depends="clean,prepare,test,docs" />
|
||||
<target name="package" depends="clean,prepare,composer,create-package" />
|
||||
<target name="all" depends="clean,prepare,composer,test,docs,create-package" />
|
||||
<target name="build" depends="clean,prepare,composer,test,docs" />
|
||||
|
||||
<target name="prepare">
|
||||
<mkdir dir="build/logs" />
|
||||
|
@ -43,25 +43,28 @@
|
|||
<delete dir="build/save" />
|
||||
</target>
|
||||
|
||||
<target name="test" depends="clean,prepare">
|
||||
<target name="composer" depends="clean,prepare">
|
||||
<exec dir="./phpBB/"
|
||||
command="php ../composer.phar install"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
<target name="test" depends="clean,prepare,composer">
|
||||
<exec dir="."
|
||||
command="phpunit --log-junit build/logs/phpunit.xml
|
||||
--coverage-clover build/logs/clover.xml
|
||||
--coverage-html build/coverage"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
|
||||
<!-- Does not allow changing the working directory to tests/
|
||||
so this approach does not work for us unfortunately
|
||||
<phpunit codecoverage="true" haltonfailure="true">
|
||||
<formatter todir="build/logs" type="xml"/>
|
||||
<batchtest>
|
||||
<fileset dir="tests">
|
||||
<include name="all_tests.php"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
</phpunit>
|
||||
-->
|
||||
<target name="test-slow" depends="clean,prepare,composer">
|
||||
<exec dir="."
|
||||
command="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="docs">
|
||||
|
@ -122,6 +125,29 @@
|
|||
<target name="create-package" depends="prepare-new-version,old-version-diffs">
|
||||
<exec dir="build" command="php -f package.php '${versions}' > logs/package.log" escape="false" />
|
||||
<exec dir="build" command="php -f build_diff.php '${prevversion}' '${newversion}' > logs/build_diff.log" escape="false" />
|
||||
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/language new_version/phpBB3/language >
|
||||
save/save_${prevversion}_to_${newversion}/language/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/save_${prevversion}_to_${newversion}/prosilver/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/save_${prevversion}_to_${newversion}/subsilver2/phpbb-${prevversion}_to_${newversion}_subsilver2.patch" />
|
||||
|
||||
<exec dir="build" escape="false"
|
||||
command="git shortlog --summary --numbered release-${prevversion}...HEAD >
|
||||
save/save_${prevversion}_to_${newversion}/phpbb-${prevversion}_to_${newversion}_git_shortlog.txt" />
|
||||
<exec dir="build" escape="false"
|
||||
command="git diff --stat release-${prevversion}...HEAD >
|
||||
save/save_${prevversion}_to_${newversion}/phpbb-${prevversion}_to_${newversion}_git_diffstat.txt" />
|
||||
</target>
|
||||
|
||||
<target name="changelog" depends="prepare">
|
||||
<exec dir="build" escape="false"
|
||||
command="php -f build_changelog.php '${newversion}' >
|
||||
save/changelog_${newversion}.html" />
|
||||
</target>
|
||||
|
||||
<!--
|
||||
|
@ -133,16 +159,21 @@
|
|||
-->
|
||||
<target name="export">
|
||||
<exec dir="phpBB"
|
||||
command="git archive ${revision} | tar -x -C ../${dir}"
|
||||
command="git archive ${revision} | tar -xf - -C ../${dir}"
|
||||
checkreturn="true" />
|
||||
|
||||
<exec dir="${dir}"
|
||||
command="php ../composer.phar install"
|
||||
passthru="true" />
|
||||
|
||||
<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" />
|
||||
<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" />
|
||||
|
|
53
build/build_changelog.php
Executable file
53
build/build_changelog.php
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/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";
|
||||
}
|
|
@ -3,9 +3,8 @@
|
|||
/**
|
||||
*
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -388,7 +387,7 @@ function build_header($mode, $filenames, $header)
|
|||
$html .= "## {$filename['phpbb_filename']}\n";
|
||||
}
|
||||
}
|
||||
$html .= "## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 \n";
|
||||
$html .= "## License: http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 \n";
|
||||
$html .= "############################################################## \n";
|
||||
$html .= "\n";
|
||||
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
/**
|
||||
*
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -177,7 +176,7 @@ class build_package
|
|||
}
|
||||
|
||||
// Is binary?
|
||||
if (preg_match('/^Binary files ' . $package_name . '\/(.*) and [a-z0-9_-]+\/\1 differ/i', $line, $match))
|
||||
if (preg_match('/^Binary files ' . $package_name . '\/(.*) and [a-z0-9._-]+\/\1 differ/i', $line, $match))
|
||||
{
|
||||
$binary[] = trim($match[1]);
|
||||
}
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
/**
|
||||
*
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @copyright (c) 2000 Geoffrey T. Dairiki <dairiki@dairiki.org>
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
/**
|
||||
*
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @copyright (c) 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* @package code_sniffer
|
||||
* @version $Id: $
|
||||
* @copyright (c) 2007 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
BIN
composer.phar
Executable file
BIN
composer.phar
Executable file
Binary file not shown.
|
@ -11,14 +11,30 @@
|
|||
#
|
||||
# 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)" = "false" ]
|
||||
if [ "$(git config --bool $config_ns.fatal)" = "true" ]
|
||||
then
|
||||
fatal=0;
|
||||
else
|
||||
fatal=1;
|
||||
severity=Error;
|
||||
else
|
||||
fatal=0;
|
||||
severity=Warning;
|
||||
fi
|
||||
|
||||
debug_level=$(git config --int $config_ns.debug || echo 0);
|
||||
|
@ -47,14 +63,68 @@ debug()
|
|||
|
||||
quit()
|
||||
{
|
||||
if [ $1 -gt 0 ] && [ $1 -ne $ERR_UNKNOWN ] && [ $fatal -eq 0 ]
|
||||
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
|
||||
|
@ -70,9 +140,9 @@ msg=$(grep -v '^#' "$1" |grep -nE '.{81,}')
|
|||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "The following lines are greater than 80 characters long:" >&2;
|
||||
echo >&2
|
||||
echo "$msg" >&2;
|
||||
complain "The following lines are greater than 80 characters long:" >&2;
|
||||
complain >&2
|
||||
complain "$msg" >&2;
|
||||
|
||||
quit $ERR_LENGTH;
|
||||
fi
|
||||
|
@ -126,9 +196,9 @@ do
|
|||
# Don't be too strict.
|
||||
# Commits may be temporary, intended to be squashed later.
|
||||
# Just issue a warning here.
|
||||
echo "Warning: heading should be a sentence beginning with a capital letter." 1>&2
|
||||
echo "You entered:" 1>&2
|
||||
echo "$line" 1>&2
|
||||
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)
|
||||
|
@ -160,7 +230,7 @@ do
|
|||
echo "$line" | grep -Eq "^#";
|
||||
;;
|
||||
*)
|
||||
echo "Unrecognised token $expect" >&2;
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit $err;
|
||||
;;
|
||||
esac
|
||||
|
@ -231,7 +301,7 @@ do
|
|||
expecting="eof";
|
||||
;;
|
||||
*)
|
||||
echo "Unrecognised token $expect" >&2;
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit 254;
|
||||
;;
|
||||
esac
|
||||
|
@ -245,11 +315,11 @@ do
|
|||
else
|
||||
# None of the expected line formats matched
|
||||
# Guess we'll call it a day here then
|
||||
echo "Syntax error on line $i:" >&2;
|
||||
echo ">> $line" >&2;
|
||||
echo -n "Expecting: " >&2;
|
||||
echo "$expecting" | sed 's/ /, /g' >&2;
|
||||
exit $err;
|
||||
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 ));
|
||||
|
@ -258,7 +328,7 @@ done
|
|||
# If EOF is expected exit cleanly
|
||||
echo "$expecting" | grep -q "eof" || (
|
||||
# Unexpected EOF, error
|
||||
echo "Unexpected EOF encountered" >&2;
|
||||
complain "Unexpected EOF encountered" >&2;
|
||||
quit $ERR_EOF;
|
||||
) && (
|
||||
# Do post scan checks
|
||||
|
@ -269,8 +339,8 @@ echo "$expecting" | grep -q "eof" || (
|
|||
|
||||
if [ ! -z "$dupes" ]
|
||||
then
|
||||
echo "The following tickets are repeated:" >&2;
|
||||
echo "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
complain "The following tickets are repeated:" >&2;
|
||||
complain "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
quit $ERR_FOOTER;
|
||||
fi
|
||||
fi
|
||||
|
@ -278,8 +348,8 @@ echo "$expecting" | grep -q "eof" || (
|
|||
if [ $ticket -gt 0 ]
|
||||
then
|
||||
echo "$tickets" | grep -Eq "\bPHPBB3-$ticket\b" || (
|
||||
echo "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
|
||||
echo "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
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
|
||||
|
|
|
@ -12,8 +12,17 @@
|
|||
# ln -s ../../git-tools/hooks/pre-commit \\
|
||||
# .git/hooks/pre-commit
|
||||
|
||||
# NOTE: this is run through /usr/bin/env
|
||||
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
|
||||
|
@ -27,7 +36,7 @@ fi
|
|||
error=0
|
||||
errors=""
|
||||
|
||||
if ! which $PHP_BIN >/dev/null 2>&1
|
||||
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"
|
||||
|
@ -64,7 +73,13 @@ do
|
|||
|
||||
# check the staged file content for syntax errors
|
||||
# using php -l (lint)
|
||||
result=$(git cat-file -p $sha | /usr/bin/env $PHP_BIN -l 2>/dev/null)
|
||||
# note: if display_errors=stderr in php.ini,
|
||||
# parse errors are printed on stderr; otherwise
|
||||
# they are printed on stdout.
|
||||
# we filter everything other than parse errors
|
||||
# with a grep below, therefore it should be safe
|
||||
# to combine stdout and stderr in all circumstances
|
||||
result=$(git cat-file -p $sha | "$PHP_BIN" -l 2>&1)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
error=1
|
||||
|
@ -76,7 +91,45 @@ unset IFS
|
|||
|
||||
if [ $error -eq 1 ]
|
||||
then
|
||||
echo -e "PHP Syntax check failed:";
|
||||
echo -e "$errors" | grep "^Parse error:"
|
||||
echo "PHP Syntax check failed:"
|
||||
# php "display errors" (display_errors php.ini value)
|
||||
# and "log errors" (log_errors php.ini value).
|
||||
# these are independent settings - see main/main.c in php source.
|
||||
# the "log errors" setting produces output which
|
||||
# starts with "PHP Parse error:"; the "display errors"
|
||||
# setting produces output starting with "Parse error:".
|
||||
# if both are turned on php dumps the parse error twice.
|
||||
# therefore here we try to grep for one version and
|
||||
# if that yields no results grep for the other version.
|
||||
#
|
||||
# other fun php facts:
|
||||
#
|
||||
# 1. in cli, display_errors and log_errors have different
|
||||
# destinations by default. display_errors prints to
|
||||
# standard output and log_errors prints to standard error.
|
||||
# whether these destinations make sense is left
|
||||
# as an exercise for the reader.
|
||||
# 2. as mentioned above, with all output turned on
|
||||
# php will print parse errors twice, one time on stdout
|
||||
# and one time on stderr.
|
||||
# 3. it is possible to set both display_errors and log_errors
|
||||
# to off. if this is done php will print the text
|
||||
# "Errors parsing <file>" but will not say what
|
||||
# the errors are. useful behavior, this.
|
||||
# 4. on my system display_errors defaults to on and
|
||||
# log_errors defaults to off, therefore providing
|
||||
# by default one copy of messages. your mileage may vary.
|
||||
# 5. by setting display_errors=stderr and log_errors=on,
|
||||
# both sets of messages will be printed on stderr.
|
||||
# 6. php-cgi binary, given display_errors=stderr and
|
||||
# log_errors=on, still prints both sets of messages
|
||||
# on stderr, but formats one set as an html fragment.
|
||||
# 7. your entry here? ;)
|
||||
$echo_e "$errors" | grep "^Parse error:"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
# match failed
|
||||
$echo_e "$errors" | grep "^PHP Parse error:"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
BIN
phpBB/adm/images/alert_close.png
Normal file
BIN
phpBB/adm/images/alert_close.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB |
BIN
phpBB/adm/images/phpbb_logo.png
Normal file
BIN
phpBB/adm/images/phpbb_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
|
@ -2,9 +2,8 @@
|
|||
/**
|
||||
*
|
||||
* @package acp
|
||||
* @version $Id$
|
||||
* @copyright (c) 2005 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -51,13 +50,12 @@ $file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_up
|
|||
$module_id = request_var('i', '');
|
||||
$mode = request_var('mode', '');
|
||||
|
||||
// Set custom template for admin area
|
||||
$template->set_custom_template($phpbb_admin_path . 'style', 'admin');
|
||||
// Set custom style for admin area
|
||||
$phpbb_style->set_ext_dir_prefix('adm/');
|
||||
$phpbb_style->set_custom_style('admin', $phpbb_admin_path . 'style', '');
|
||||
$template->assign_var('T_ASSETS_PATH', $phpbb_root_path . 'assets');
|
||||
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
|
||||
|
||||
// the acp template is never stored in the database
|
||||
$user->theme['template_storedb'] = false;
|
||||
|
||||
// Instantiate new module
|
||||
$module = new p_master();
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF U_BACK -->
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
@ -248,7 +248,7 @@
|
|||
<!-- 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}">{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}" data-ajax="row_delete">{ICON_DELETE}</a> </td>
|
||||
</tr>
|
||||
<!-- END groups -->
|
||||
</tbody>
|
||||
|
@ -378,11 +378,16 @@
|
|||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<!-- IF PAGINATION or TOTAL_FILES -->
|
||||
<div class="pagination">
|
||||
{L_NUMBER_FILES}: {TOTAL_FILES} • {L_TOTAL_SIZE}: {TOTAL_SIZE}<!-- IF S_ON_PAGE --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {S_ON_PAGE}<!-- ENDIF --><!-- ENDIF -->
|
||||
</div>
|
||||
<!-- IF .pagination or TOTAL_FILES -->
|
||||
{L_NUMBER_FILES}: {TOTAL_FILES} • {L_TOTAL_SIZE}: {TOTAL_SIZE}
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {S_ON_PAGE}
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
|
@ -421,7 +426,12 @@
|
|||
<hr />
|
||||
|
||||
<div class="pagination">
|
||||
{L_NUMBER_FILES}: {TOTAL_FILES} • {L_TOTAL_SIZE}: {TOTAL_SIZE}<!-- IF S_ON_PAGE --><!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span><!-- ELSE --> • {S_ON_PAGE}<!-- ENDIF --><!-- ENDIF -->
|
||||
{L_NUMBER_FILES}: {TOTAL_FILES} • {L_TOTAL_SIZE}: {TOTAL_SIZE}
|
||||
<!-- IF .pagination -->
|
||||
• <!-- INCLUDE pagination.html -->
|
||||
<!-- ELSE -->
|
||||
• {S_ON_PAGE}
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<p>{L_ACP_BAN_EXPLAIN}</p>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_BBCODE -->
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
|||
<!-- BEGIN bbcodes -->
|
||||
<!-- 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 style="text-align: right; width: 40px;"><a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}">{ICON_DELETE}</a></td>
|
||||
<td style="text-align: right; width: 40px;"><a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a></td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row3">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_BOT -->
|
||||
|
||||
|
@ -76,9 +76,9 @@
|
|||
<!-- 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}">{bots.L_ACTIVATE_DEACTIVATE}</a> </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_EDIT}">{L_EDIT}</a> </td>
|
||||
<td style="text-align: center;"> <a href="{bots.U_DELETE}">{L_DELETE}</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;"><input type="checkbox" class="radio" name="mark[]" value="{bots.BOT_ID}" /></td>
|
||||
</tr>
|
||||
<!-- END bots -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_VC_SETTINGS}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF MODE eq 'restore' -->
|
||||
<h1>{L_ACP_RESTORE}</h1>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_DISALLOW_USERNAMES}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_MASS_EMAIL}</h1>
|
||||
|
||||
|
|
97
phpBB/adm/style/acp_ext_details.html
Normal file
97
phpBB/adm/style/acp_ext_details.html
Normal file
|
@ -0,0 +1,97 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="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 for="meta_display_name">{L_DISPLAY_NAME}:</label></dt>
|
||||
<dd><strong id="meta_display_name">{META_DISPLAY_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_name">{L_CLEAN_NAME}:</label></dt>
|
||||
<dd><strong id="meta_name">{META_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF META_DESCRIPTION -->
|
||||
<dl>
|
||||
<dt><label for="meta_description">{L_DESCRIPTION}:</label></dt>
|
||||
<dd><p id="meta_description">{META_DESCRIPTION}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_version">{L_VERSION}:</label></dt>
|
||||
<dd><p id="meta_version">{META_VERSION}</p></dd>
|
||||
</dl>
|
||||
<!-- IF META_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label for="meta_homepage">{L_HOMEPAGE}:</label></dt>
|
||||
<dd><p id="meta_homepage">{META_HOMEPAGE}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF META_TIME -->
|
||||
<dl>
|
||||
<dt><label for="meta_time">{L_TIME}:</label></dt>
|
||||
<dd><p id="meta_time">{META_TIME}</p></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="meta_license">{L_LICENCE}:</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 for="require_phpbb">{L_PHPBB_VERSION}:</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 for="require_php">{L_PHP_VERSION}:</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 for="meta_author_name">{L_AUTHOR_NAME}:</label></dt>
|
||||
<dd><strong id="meta_author_name">{meta_authors.AUTHOR_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF meta_authors.AUTHOR_EMAIL -->
|
||||
<dl>
|
||||
<dt><label for="meta_author_email">{L_AUTHOR_EMAIL}:</label></dt>
|
||||
<dd><strong id="meta_author_email"><a href="mailto:{meta_authors.AUTHOR_EMAIL}">{meta_authors.AUTHOR_EMAIL}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_HOMEPAGE -->
|
||||
<dl>
|
||||
<dt><label for="meta_author_url">{L_AUTHOR_HOMEPAGE}:</label></dt>
|
||||
<dd><strong id="meta_author_url"><a href="{meta_authors.AUTHOR_HOMEPAGE}">{meta_authors.AUTHOR_HOMEPAGE}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF meta_authors.AUTHOR_ROLE -->
|
||||
<dl>
|
||||
<dt><label for="author_role">{L_AUTHOR_ROLE}:</label></dt>
|
||||
<dd><strong id="meta_author_role">{meta_authors.AUTHOR_ROLE}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- END meta_authors -->
|
||||
</fieldset>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
34
phpBB/adm/style/acp_ext_disable.html
Normal file
34
phpBB/adm/style/acp_ext_disable.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_DISABLE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_DISABLE_CONFIRM}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_DISABLE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_DISABLE}</legend>
|
||||
<input class="button1" type="submit" name="disable" value="{L_DISABLE}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_DISABLE_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_DISABLE_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
34
phpBB/adm/style/acp_ext_enable.html
Normal file
34
phpBB/adm/style/acp_ext_enable.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_ENABLE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_ENABLE_CONFIRM}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_ENABLE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_ENABLE}</legend>
|
||||
<input class="button1" type="submit" name="enable" value="{L_ENABLE}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_ENABLE_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_ENABLE_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
61
phpBB/adm/style/acp_ext_list.html
Normal file
61
phpBB/adm/style/acp_ext_list.html
Normal file
|
@ -0,0 +1,61 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
|
||||
<table cellspacing="1">
|
||||
<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_ENABLED} {L_EXTENSIONS}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGIN enabled -->
|
||||
<tr class="ext_enabled">
|
||||
<td><strong>{enabled.META_DISPLAY_NAME}</strong></a></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}" alt="{enabled.actions.L_ACTION}">{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_DISABLED} {L_EXTENSIONS}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN disabled -->
|
||||
<tr class="ext_disabled">
|
||||
<td><strong>{disabled.META_DISPLAY_NAME}</strong></a></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}" alt="{disabled.actions.L_ACTION}">{disabled.actions.L_ACTION}</a>
|
||||
<!-- IF not disabled.actions.S_LAST_ROW --> | <!-- ENDIF -->
|
||||
<!-- END actions -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END disabled -->
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
34
phpBB/adm/style/acp_ext_purge.html
Normal file
34
phpBB/adm/style/acp_ext_purge.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
||||
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
<p>{L_PURGE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF PRE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_PURGE_CONFIRM}</p>
|
||||
</div>
|
||||
|
||||
<form id="acp_extensions" method="post" action="{U_PURGE}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_PURGE}</legend>
|
||||
<input class="button1" type="submit" name="purge" value="{L_PURGE}" />
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSEIF S_NEXT_STEP -->
|
||||
<div class="errorbox">
|
||||
<p>{L_PURGE_IN_PROGRESS}</p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
<div class="successbox">
|
||||
<p>{L_PURGE_SUCCESS}</p>
|
||||
<br />
|
||||
<p><a href="{U_RETURN}">{L_RETURN}</a></p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_FORUM -->
|
||||
|
||||
|
@ -140,6 +140,12 @@
|
|||
<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}:</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}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
|
||||
|
@ -160,11 +166,11 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<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>
|
||||
<dd><input type="password" id="forum_password" name="forum_password" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" autocomplete="off" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<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>
|
||||
<dd><input type="password" id="forum_password_confirm" name="forum_password_confirm" value="<!-- IF S_FORUM_PASSWORD_SET -->      <!-- ENDIF -->" autocomplete="off" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_FORUM_PASSWORD_SET -->
|
||||
<dl>
|
||||
|
@ -176,12 +182,6 @@
|
|||
<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">
|
||||
|
@ -443,7 +443,7 @@
|
|||
<col class="row1" /><col class="row1" /><col class="row2" />
|
||||
<tbody>
|
||||
<!-- BEGIN forums -->
|
||||
<tr>
|
||||
<tr data-down="{forums.U_MOVE_DOWN}" data-up="{forums.U_MOVE_UP}">
|
||||
<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 -->
|
||||
|
@ -453,17 +453,17 @@
|
|||
</td>
|
||||
<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>
|
||||
<span class="up">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="down"><a href="{forums.U_MOVE_DOWN}" data-ajax="forum_down" data-overlay="false">{ICON_MOVE_DOWN}</a></span>
|
||||
<!-- 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>
|
||||
<span class="up"><a href="{forums.U_MOVE_UP}" data-ajax="forum_up" data-overlay="false">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down"><a href="{forums.U_MOVE_DOWN}" data-ajax="forum_down" data-overlay="false">{ICON_MOVE_DOWN}</a></span>
|
||||
<!-- ELSEIF forums.S_LAST_ROW && not forums.S_FIRST_ROW -->
|
||||
<a href="{forums.U_MOVE_UP}">{ICON_MOVE_UP}</a>
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<span class="up"><a href="{forums.U_MOVE_UP}" data-ajax="forum_up" data-overlay="false">{ICON_MOVE_UP}</a></span>
|
||||
<span class="down">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<!-- ELSE -->
|
||||
{ICON_MOVE_UP_DISABLED}
|
||||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<span class="up">{ICON_MOVE_UP_DISABLED}</span>
|
||||
<span class="down">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
<!-- ENDIF -->
|
||||
<a href="{forums.U_EDIT}">{ICON_EDIT}</a>
|
||||
<!-- IF not forums.S_FORUM_LINK -->
|
||||
|
@ -500,6 +500,14 @@
|
|||
</fieldset>
|
||||
</form>
|
||||
|
||||
<div class="hidden">
|
||||
<a class="template-up-img" href="#">{ICON_MOVE_UP}</a>
|
||||
<span class="template-up-img-disabled">{ICON_MOVE_UP_DISABLED}</span>
|
||||
|
||||
<a class="template-down-img" href="#">{ICON_MOVE_DOWN}</a>
|
||||
<span class="template-down-img-disabled">{ICON_MOVE_DOWN_DISABLED}</span>
|
||||
</div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
|
@ -239,11 +239,11 @@
|
|||
<!-- END member -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<fieldset class="quick">
|
||||
<select name="action"><option class="sep" value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
|
||||
|
@ -350,7 +350,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}">{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}" data-ajax="row_delete">{L_DELETE}</a><!-- ELSE -->{L_DELETE}<!-- ENDIF --></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- END groups -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_MANAGE_LEGEND}</h1>
|
||||
|
||||
|
@ -82,10 +82,11 @@
|
|||
<fieldset>
|
||||
<legend>{L_TEAMPAGE_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="teampage_multiple">{L_TEAMPAGE_MULTIPLE}:</label><br /><span>{L_TEAMPAGE_MULTIPLE_EXPLAIN}</span></dt>
|
||||
<dt><label for="teampage_multiple">{L_TEAMPAGE_MEMBERSHIPS}:</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" name="teampage_multiple" class="radio" value="1"<!-- IF DISPLAY_MULTIPLE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" name="teampage_multiple" class="radio" value="0"<!-- IF not DISPLAY_MULTIPLE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
<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>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
|
@ -74,7 +74,7 @@
|
|||
<fieldset class="tabulated">
|
||||
<legend>{L_TITLE}</legend>
|
||||
|
||||
<table cellspacing="1">
|
||||
<table cellspacing="1" id="smilies">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="{COLSPAN}">{L_CONFIG}</th>
|
||||
|
@ -94,7 +94,7 @@
|
|||
<td>{L_ORDER}</td>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ADD -->
|
||||
<td>{L_ADD}</td>
|
||||
<td>{L_ADD} <a href="#" onclick="marklist('smilies', 'add_img', true); return false;">({L_MARK_ALL})</a></td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -245,7 +245,7 @@
|
|||
<td style="text-align: right; white-space: nowrap;">
|
||||
<!-- IF items.S_FIRST_ROW and not PREVIOUS_PAGE -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{items.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<!-- IF items.S_LAST_ROW and not NEXT_PAGE -->{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>
|
||||
<a href="{items.U_EDIT}">{ICON_EDIT}</a> <a href="{items.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
|
@ -255,7 +255,11 @@
|
|||
<!-- END items -->
|
||||
</tbody>
|
||||
</table>
|
||||
<div>{PAGINATION}</div>
|
||||
<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 name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h2>{L_INACTIVE_USERS}</h2>
|
||||
|
||||
|
@ -10,9 +10,9 @@
|
|||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
<!-- INCLUDE pagination.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@ -53,15 +53,15 @@
|
|||
</table>
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}<!-- IF PAGINATION --> Users per page: <input class="inputbox autowidth" type="text" name="users_per_page" id="users_per_page" size="3" value="{USERS_PER_PAGE}" /><!-- ENDIF -->
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}<!-- IF .pagination --> Users per page: <input class="inputbox autowidth" type="text" 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 -->
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
<!-- INCLUDE pagination.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_JABBER_SETTINGS}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_SELECT_METHOD -->
|
||||
|
||||
|
@ -98,7 +98,7 @@
|
|||
<br /><br />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<a name="entries"></a>
|
||||
<a id="entries"></a>
|
||||
|
||||
<h1>{L_LANGUAGE_ENTRIES}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
|
@ -12,9 +12,9 @@
|
|||
{L_SEARCH_KEYWORDS}: <input type="text" name="keywords" value="{S_KEYWORDS}" /> <input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination" style="float: right; margin: 15px 0 2px 0">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
<!-- INCLUDE pagination.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@ -54,9 +54,9 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
<!-- INCLUDE pagination.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_RESTORE_PERMISSIONS -->
|
||||
|
||||
|
@ -34,6 +34,36 @@
|
|||
</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>
|
||||
|
@ -122,35 +152,35 @@
|
|||
<fieldset>
|
||||
<legend>{L_STATISTIC_RESYNC_OPTIONS}</legend>
|
||||
|
||||
<form id="action_online_form" method="post" action="{U_ACTION}">
|
||||
<form id="action_online_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<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}">
|
||||
<form id="action_date_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<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>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_stats_form" method="post" action="{U_ACTION}">
|
||||
<form id="action_stats_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<dl>
|
||||
<dt><label for="action_stats">{L_RESYNC_STATS}</label><br /><span>{L_RESYNC_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>
|
||||
|
||||
<form id="action_user_form" method="post" action="{U_ACTION}">
|
||||
<form id="action_user_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<dl>
|
||||
<dt><label for="action_user">{L_RESYNC_POSTCOUNTS}</label><br /><span>{L_RESYNC_POSTCOUNTS_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="user" /><input class="button2" type="submit" id="action_user" name="action_user" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_db_track_form" method="post" action="{U_ACTION}">
|
||||
<form id="action_db_track_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<dl>
|
||||
<dt><label for="action_db_track">{L_RESYNC_POST_MARKING}</label><br /><span>{L_RESYNC_POST_MARKING_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="db_track" /><input class="button2" type="submit" id="action_db_track" name="action_db_track" value="{L_RUN}" /></dd>
|
||||
|
@ -158,19 +188,20 @@
|
|||
</form>
|
||||
|
||||
<!-- IF S_FOUNDER -->
|
||||
<form id="action_purge_sessions_form" method="post" action="{U_ACTION}">
|
||||
<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>
|
||||
<form id="action_purge_cache_form" method="post" action="{U_ACTION}">
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="action_purge_cache_form" method="post" action="{U_ACTION}" data-ajax="true">
|
||||
<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>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_MODULE -->
|
||||
|
||||
|
@ -164,7 +164,7 @@
|
|||
{ICON_MOVE_DOWN_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{modules.U_EDIT}">{ICON_EDIT}</a>
|
||||
<a href="{modules.U_DELETE}">{ICON_DELETE}</a>
|
||||
<a href="{modules.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END modules -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
|||
|
||||
<p>
|
||||
|
||||
<a name="acl"></a>
|
||||
<a id="acl"></a>
|
||||
|
||||
<a href="#maincontent">» {L_BACK_TO_TOP}</a><br />
|
||||
<br /><br />
|
||||
|
@ -174,7 +174,7 @@
|
|||
{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}">{ICON_DELETE}</a>
|
||||
<a href="{roles.U_REMOVE}" title="{L_REMOVE_ROLE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END roles -->
|
||||
|
@ -189,7 +189,7 @@
|
|||
|
||||
<!-- IF S_DISPLAY_ROLE_MASK -->
|
||||
|
||||
<a name="assigned_to"></a>
|
||||
<a id="assigned_to"></a>
|
||||
|
||||
<h1>{L_ROLE_ASSIGNED_TO}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_INTRO -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_PHP_INFO}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
|
@ -55,6 +55,10 @@
|
|||
<dt><label for="field_show_on_reg">{L_DISPLAY_AT_REGISTER}:</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>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_pm">{L_DISPLAY_ON_PM}:</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>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="field_show_on_vt">{L_DISPLAY_ON_VT}:</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>
|
||||
|
@ -63,6 +67,10 @@
|
|||
<dt><label for="field_required">{L_REQUIRED_FIELD}:</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}:</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}:</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>
|
||||
|
@ -191,7 +199,7 @@
|
|||
|
||||
<td>{fields.FIELD_IDENT}</td>
|
||||
<td>{fields.FIELD_TYPE}</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 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="width: 80px; text-align: right; white-space: nowrap;">
|
||||
<!-- IF fields.S_FIRST_ROW && not fields.S_LAST_ROW -->
|
||||
|
@ -209,7 +217,7 @@
|
|||
<!-- ELSE -->
|
||||
{ICON_EDIT_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
<a href="{fields.U_DELETE}">{ICON_DELETE}</a>
|
||||
<a href="{fields.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_PRUNED -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_PRUNE_USERS}</h1>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
|||
<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}">{ICON_DELETE}</a></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>
|
||||
</tr>
|
||||
<!-- END ranks -->
|
||||
</tbody>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_REASON -->
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
<!-- ENDIF -->
|
||||
<a href="{reasons.U_EDIT}">{ICON_EDIT}</a>
|
||||
<!-- IF reasons.U_DELETE -->
|
||||
<a href="{reasons.U_DELETE}">{ICON_DELETE}</a>
|
||||
<a href="{reasons.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a>
|
||||
<!-- ELSE -->
|
||||
{ICON_DELETE_DISABLED}
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_SETTINGS -->
|
||||
<h1>{L_ACP_SEARCH_SETTINGS}</h1>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_SEND_STATISTICS}</h1>
|
||||
|
||||
|
|
|
@ -1,513 +1,61 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_DELETE -->
|
||||
<!-- IF S_CONFIRM_ACTION -->
|
||||
<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
|
||||
|
||||
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
<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>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
{S_HIDDEN_FIELDS}
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
<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>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- ELSE -->
|
||||
|
||||
<!-- IF L_TITLE --><h1>{L_TITLE}</h1><!-- ENDIF -->
|
||||
|
||||
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- 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>
|
||||
<dl>
|
||||
<dt><label for="new_id">{L_REPLACE}:</label><br /><span>{L_REPLACE_EXPLAIN}</span></dt>
|
||||
<dd><select id="new_id" name="new_id">{S_REPLACE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- IF S_DELETE_STYLE -->
|
||||
<hr />
|
||||
<dl>
|
||||
<dt><label for="new_template_id">{L_DELETE_TEMPLATE}:</label><br /><span>{L_REPLACE_TEMPLATE_EXPLAIN}</span></dt>
|
||||
<dd><select id="new_template_id" name="new_template_id">{S_REPLACE_TEMPLATE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_theme_id">{L_DELETE_THEME}:</label><br /><span>{L_REPLACE_THEME_EXPLAIN}</span></dt>
|
||||
<dd><select id="new_theme_id" name="new_theme_id">{S_REPLACE_THEME_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_imageset_id">{L_DELETE_IMAGESET}:</label><br /><span>{L_REPLACE_IMAGESET_EXPLAIN}</span></dt>
|
||||
<dd><select id="new_imageset_id" name="new_imageset_id">{S_REPLACE_IMAGESET_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<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 -->
|
||||
|
||||
<!-- IF ERROR -->
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_IMAGE}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<script type="text/javascript" defer="defer">
|
||||
// <![CDATA[
|
||||
function update_image(newimage)
|
||||
{
|
||||
document.getElementById('newimg').src = (newimage) ? '../styles/{A_PATH}/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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Init the wanted display functionality if javascript is enabled.
|
||||
* If javascript is not available, the user is still able to properly administer.
|
||||
*/
|
||||
onload = function()
|
||||
{
|
||||
<!-- IF not IMAGE_SIZE -->
|
||||
dE('img_dimensions', -1);
|
||||
<!-- ENDIF -->
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
<form method="post" action="{U_ACTION}">
|
||||
|
||||
<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>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_EDIT_IMAGESET}</legend>
|
||||
<dl>
|
||||
<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_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="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>
|
||||
<div id="img_dimensions">
|
||||
<dl>
|
||||
<dt><label for="imgwidth">{L_IMAGE_WIDTH}:</label><br /><span>{L_AUTOMATIC_EXPLAIN}</span></dt>
|
||||
<dd><input id="imgwidth" 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 id="imgheight" 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 id="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_PATH}</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}">
|
||||
|
||||
<!-- IF S_STYLE_DETAILS -->
|
||||
<input type="hidden" name="id" value="{STYLE_ID}" />
|
||||
<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>
|
||||
<dt><label for="name">{L_STYLE_NAME}:</label></dt>
|
||||
<dd><input type="text" id="name" name="style_name" value="{STYLE_NAME}" /></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>
|
||||
<dt><label>{L_STYLE_PATH}</label></dt>
|
||||
<dd><strong>{STYLE_PATH}</strong></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>
|
||||
<dt><label for="name">{L_COPYRIGHT}:</label></dt>
|
||||
<dd><strong>{STYLE_COPYRIGHT}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="format">{L_ARCHIVE_FORMAT}:</label></dt>
|
||||
<dd>{FORMAT_BUTTONS}</dd>
|
||||
<dt><label for="style_parent">{L_INHERITING_FROM}:</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>
|
||||
|
||||
<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 --><strong id="name">{NAME}</strong><!-- 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 --><strong id="copyright">{COPYRIGHT}</strong><!-- ELSE --><input type="text" id="copyright" name="copyright" value="{COPYRIGHT}" /><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- IF S_SUPERTEMPLATE -->
|
||||
<dl>
|
||||
<dt><label for="inheriting">{L_INHERITING_FROM}:</label></dt>
|
||||
<dd><strong id="inheriting">{S_SUPERTEMPLATE}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_STYLE and not S_BASIS -->
|
||||
<dl>
|
||||
<dt><label for="template_id">{L_STYLE_TEMPLATE}:</label></dt>
|
||||
<dd><!-- IF S_INSTALL --><strong id="template_id">{TEMPLATE_NAME}</strong><!-- 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 --><strong id="theme_id">{THEME_NAME}</strong><!-- 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 --><strong id="imageset_id">{IMAGESET_NAME}</strong><!-- ELSE --><select id="imageset_id" name="imageset_id">{S_IMAGESET_OPTIONS}</select><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF (S_TEMPLATE or S_THEME) and (S_LOCATION or not S_INSTALL) -->
|
||||
<dl>
|
||||
<dt><label for="store_db">{L_LOCATION}:</label><br /><span><!-- IF S_STORE_DB_DISABLED -->{L_LOCATION_DISABLED_EXPLAIN}<!-- ELSE -->{L_LOCATION_EXPLAIN}<!-- ENDIF --></span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="store_db" value="0"<!-- IF not S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> <!-- IF S_STORE_DB_DISABLED -->disabled="disabled" <!-- ENDIF --> />{L_STORE_FILESYSTEM}</label>
|
||||
<label><input type="radio" class="radio" name="store_db" value="1"<!-- IF S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> <!-- IF S_STORE_DB_DISABLED -->disabled="disabled" <!-- ENDIF -->/> {L_STORE_DATABASE}</label></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>
|
||||
|
@ -520,14 +68,99 @@
|
|||
<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 cellspacing="1">
|
||||
<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-left: {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: right;">
|
||||
<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}" style="text-align: center;">{styles_list.USERS}</td>
|
||||
<!-- ENDIF -->
|
||||
<td class="{$ROW_CLASS}" style="text-align: center;">
|
||||
<!-- 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}" width="20" style="text-align: center;">
|
||||
<!-- 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>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_VERSION_CHECK -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_SELECT_USER -->
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
|||
<fieldset>
|
||||
<legend>{L_SELECT_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dt><label for="username">{L_ENTER_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>
|
||||
|
@ -157,11 +157,11 @@
|
|||
<form id="user_attachments" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<!-- IF .attach -->
|
||||
<table cellspacing="1">
|
||||
|
@ -196,11 +196,11 @@
|
|||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</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>
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<!-- IF .log -->
|
||||
<table cellspacing="1">
|
||||
|
@ -44,11 +44,11 @@
|
|||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</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>
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
|
|
|
@ -43,19 +43,15 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<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="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>
|
||||
<dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" autocomplete="off" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<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>
|
||||
<dd><input type="password" id="new_password" name="new_password" value="" autocomplete="off" /></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>
|
||||
<dd><input type="password" id="password_confirm" name="password_confirm" value="" autocomplete="off" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
@ -140,7 +136,13 @@
|
|||
<legend>{L_DELETE_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="delete_type">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
|
||||
<dd><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></dd>
|
||||
<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}" />
|
||||
|
|
|
@ -52,15 +52,7 @@
|
|||
<dt><label for="style">{L_BOARD_STYLE}:</label></dt>
|
||||
<dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<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>
|
||||
<!-- INCLUDE timezone_option.html -->
|
||||
<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>
|
||||
|
|
|
@ -22,9 +22,8 @@
|
|||
w: '{LA_BBCODE_W_HELP}',
|
||||
s: '{LA_BBCODE_S_HELP}',
|
||||
f: '{LA_BBCODE_F_HELP}',
|
||||
e: '{LA_BBCODE_E_HELP}',
|
||||
y: '{LA_BBCODE_Y_HELP}',
|
||||
d: '{LA_BBCODE_D_HELP}',
|
||||
t: '{LA_BBCODE_T_HELP}',
|
||||
tip: '{L_STYLES_TIP}'
|
||||
<!-- BEGIN custom_tags -->
|
||||
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
|
||||
|
@ -56,7 +55,7 @@
|
|||
<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="y" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('y')" onmouseout="helpline('tip')" />
|
||||
<!-- IF S_BBCODE_IMG -->
|
||||
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT_WORD -->
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
|||
<!-- 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}">{ICON_DELETE}</a> </td>
|
||||
<td> <a href="{words.U_EDIT}">{ICON_EDIT}</a> <a href="{words.U_DELETE}" data-ajax="row_delete">{ICON_DELETE}</a> </td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row3">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* phpBB 3.0 Admin Style Sheet
|
||||
/* phpBB 3.1 Admin Style Sheet
|
||||
------------------------------------------------------------------------
|
||||
Original author: subBlue ( http://www.subblue.com/ )
|
||||
Copyright 2007 phpBB Group ( http://www.phpbb.com/ )
|
||||
|
@ -101,6 +101,10 @@ hr {
|
|||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* General links */
|
||||
a:link, a:visited {
|
||||
color: #105289;
|
||||
|
@ -142,15 +146,15 @@ li {
|
|||
#page-header {
|
||||
clear: both;
|
||||
text-align: right;
|
||||
background: url("../images/phpbb_logo.gif") top left no-repeat;
|
||||
height: 49px;
|
||||
background: url("../images/phpbb_logo.png") top left no-repeat;
|
||||
height: 54px;
|
||||
font-size: 0.85em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.rtl #page-header {
|
||||
text-align: left;
|
||||
background: url("../images/phpbb_logo.gif") top right no-repeat;
|
||||
background: url("../images/phpbb_logo.png") top right no-repeat;
|
||||
}
|
||||
|
||||
#page-header h1 {
|
||||
|
@ -626,12 +630,29 @@ td.name {
|
|||
.col1 { background-color: #DCEBFE; }
|
||||
.col2 { background-color: #F9F9F9; }
|
||||
|
||||
/* 4 row background colours for trees */
|
||||
.row1a { background-color: #F9F9F9; }
|
||||
.row1b { background-color: #F6F6F6; }
|
||||
.row2a { background-color: #E7EEF4; }
|
||||
.row2b { background-color: #E3EBF2; }
|
||||
|
||||
.spacer {
|
||||
background-color: #DBDFE2;
|
||||
height: 1px;
|
||||
line-height: 1px;
|
||||
}
|
||||
|
||||
/* Deactivated row */
|
||||
.row-inactive {
|
||||
color: #999;
|
||||
}
|
||||
.row-inactive a, .row-inactive strong {
|
||||
color: #888;
|
||||
}
|
||||
.row-inactive a:hover {
|
||||
color: #BC2A4D;
|
||||
}
|
||||
|
||||
/* General form styles
|
||||
----------------------------------------*/
|
||||
fieldset {
|
||||
|
@ -899,12 +920,15 @@ html>body dd label input { vertical-align: text-bottom;} /* Tweak for Moz to ali
|
|||
dd input {
|
||||
font-size: 1.00em;
|
||||
max-width: 100%;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
dd select {
|
||||
font-size: 100%;
|
||||
font-size: 1em;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
dd textarea {
|
||||
|
@ -912,11 +936,6 @@ dd textarea {
|
|||
width: 90%;
|
||||
}
|
||||
|
||||
dd select {
|
||||
width: auto;
|
||||
font-size: 1.00em;
|
||||
}
|
||||
|
||||
fieldset dl {
|
||||
margin-bottom: 10px;
|
||||
font-size: 0.85em;
|
||||
|
@ -1009,11 +1028,11 @@ fieldset.submit-buttons legend {
|
|||
/* Input field styles
|
||||
---------------------------------------- */
|
||||
|
||||
input.radio, input.permissions-checkbox {
|
||||
input.radio, input.checkbox, input.permissions-checkbox {
|
||||
width: auto !important;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
cursor: default;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input.full,
|
||||
|
@ -1072,6 +1091,56 @@ input.disabled {
|
|||
color: #666666;
|
||||
}
|
||||
|
||||
/* jQuery popups
|
||||
---------------------------------------- */
|
||||
.phpbb_alert {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #999999;
|
||||
position: fixed;
|
||||
display: none;
|
||||
top: 100px;
|
||||
left: 35%;
|
||||
width: 30%;
|
||||
z-index: 50;
|
||||
padding: 25px;
|
||||
padding: 0 25px 20px 25px;
|
||||
}
|
||||
|
||||
.phpbb_alert .alert_close {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
overflow: hidden;
|
||||
text-decoration: none !important;
|
||||
background: transparent url("../images/alert_close.png") 0 0 no-repeat;
|
||||
margin-top: -7px;
|
||||
margin-right: -31px;
|
||||
}
|
||||
.phpbb_alert .alert_close:hover {
|
||||
background-position: 0 -16px;
|
||||
}
|
||||
|
||||
|
||||
.phpbb_alert p {
|
||||
margin: 8px 0;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
#darkenwrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#darken {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000000;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* Pagination
|
||||
---------------------------------------- */
|
||||
.pagination {
|
||||
|
@ -1079,55 +1148,79 @@ input.disabled {
|
|||
width: auto;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
font-size: 0.85em;
|
||||
padding-bottom: 2px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .pagination {
|
||||
text-align: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.pagination strong,
|
||||
.pagination b {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.pagination span.page-sep {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.pagination span strong {
|
||||
padding: 0 2px;
|
||||
margin: 0 2px;
|
||||
font-weight: normal;
|
||||
font-size: 0.85em;
|
||||
color: #FFFFFF;
|
||||
background: #4692BF;
|
||||
border: 1px solid #4692BF;
|
||||
}
|
||||
|
||||
.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active {
|
||||
font-weight: normal;
|
||||
font-size: 0.85em;
|
||||
text-decoration: none;
|
||||
color: #5C758C;
|
||||
margin: 0 2px;
|
||||
padding: 0 2px;
|
||||
background: #ECEDEE;
|
||||
border: 1px solid #B4BAC0;
|
||||
}
|
||||
|
||||
.pagination span a:hover {
|
||||
border-color: #368AD2;
|
||||
background: #368AD2;
|
||||
color: #FFFFFF;
|
||||
text-decoration: none;
|
||||
li.pagination {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.pagination img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.pagination ul {
|
||||
display: inline-block;
|
||||
*display: inline; /* IE7 inline-block hack */
|
||||
*zoom: 1;
|
||||
margin-left: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
li.pagination ul {
|
||||
margin-top: -2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.pagination ul li, dl .pagination ul li, dl.icon .pagination ul li {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
font-size: 100%;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.pagination li a, .pagnation li span, li .pagination li a, li .pagnation li span, .pagination li.active span, .pagination li.ellipsis span {
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
padding: 0 2px;
|
||||
border: 1px solid transparent;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.pagination li a, .pagination li a:link, .pagination li a:visited {
|
||||
color: #5C758C;
|
||||
background-color: #ECEDEE;
|
||||
border-color: #B4BAC0;
|
||||
}
|
||||
|
||||
.pagination li.ellipsis span {
|
||||
background-color: transparent;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.pagination li.active span {
|
||||
color: #FFFFFF;
|
||||
background-color: #4692BF;
|
||||
border-color: #4692BF;
|
||||
}
|
||||
|
||||
.pagination li a:hover, .pagination .active a:hover {
|
||||
color: #FFFFFF;
|
||||
background-color: #368AD2;
|
||||
border-color: #368AD2;
|
||||
}
|
||||
|
||||
.pagination li a:active, .pagination li.active a:active {
|
||||
color: #5C758C;
|
||||
background-color: #ECEDEE;
|
||||
border-color: #B4BAC0;
|
||||
}
|
||||
|
||||
/* Action Highlighting
|
||||
---------------------------------------- */
|
||||
|
@ -1649,3 +1742,13 @@ fieldset.permissions .padding {
|
|||
.phpinfo td, .phpinfo th, .phpinfo h2, .phpinfo h1 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.requirements_not_met {
|
||||
padding: 5px;
|
||||
background-color: #BC2A4D;
|
||||
}
|
||||
|
||||
.requirements_not_met dt label, .requirements_not_met dd p {
|
||||
color: #FFFFFF;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
|
139
phpBB/adm/style/ajax.js
Normal file
139
phpBB/adm/style/ajax.js
Normal file
|
@ -0,0 +1,139 @@
|
|||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
|
||||
var img_templates = {
|
||||
up: $('.template-up-img'),
|
||||
up_disabled: $('.template-up-img-disabled'),
|
||||
down: $('.template-down-img'),
|
||||
down_disabled: $('.template-down-img-disabled')
|
||||
};
|
||||
|
||||
/**
|
||||
* The following callbacks are for reording forums in acp_forums. forum_down
|
||||
* is triggered when a forum is moved down, and forum_up is triggered when
|
||||
* a forum 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.add_ajax_callback('forum_down', function() {
|
||||
var el = $(this),
|
||||
tr = el.parents('tr');
|
||||
|
||||
if (tr.is(':first-child'))
|
||||
{
|
||||
var up_img = img_templates.up.clone().attr('href', tr.attr('data-up'));
|
||||
el.parents('span').siblings('.up').html(up_img);
|
||||
|
||||
tr.next().find('.up').html(img_templates.up_disabled);
|
||||
|
||||
phpbb.ajaxify({
|
||||
selector: el.parents('span').siblings('.up').children('a'),
|
||||
callback: 'forum_up',
|
||||
overlay: false
|
||||
});
|
||||
}
|
||||
|
||||
tr.insertAfter(tr.next());
|
||||
|
||||
if (tr.is(':last-child'))
|
||||
{
|
||||
el.replaceWith(img_templates.down_disabled);
|
||||
|
||||
var down_img = img_templates.down.clone().attr('href', tr.attr('data-down'));
|
||||
tr.prev().find('.down').html(down_img);
|
||||
|
||||
phpbb.ajaxify({
|
||||
selector: tr.prev().find('.down').children('a'),
|
||||
callback: 'forum_down',
|
||||
overlay: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
phpbb.add_ajax_callback('forum_up', function() {
|
||||
var el = $(this),
|
||||
tr = el.parents('tr');
|
||||
|
||||
if (tr.is(':last-child'))
|
||||
{
|
||||
var down_img = img_templates.down.clone().attr('href', tr.attr('data-down'));
|
||||
el.parents('span').siblings('.down').html(down_img);
|
||||
|
||||
tr.prev().find('.down').html(img_templates.down_disabled);
|
||||
|
||||
phpbb.ajaxify({
|
||||
selector: el.parents('span').siblings('.down').children('a'),
|
||||
callback: 'forum_down',
|
||||
overlay: false
|
||||
});
|
||||
}
|
||||
|
||||
tr.insertBefore(tr.prev());
|
||||
|
||||
if (tr.is(':first-child'))
|
||||
{
|
||||
el.replaceWith(img_templates.up_disabled);
|
||||
|
||||
var up_img = img_templates.up.clone().attr('href', tr.attr('data-up'));
|
||||
tr.next().find('.up').html(up_img);
|
||||
|
||||
phpbb.ajaxify({
|
||||
selector: tr.next().find('.up').children('a'),
|
||||
callback: 'forum_up',
|
||||
overlay: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 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.add_ajax_callback('activate_deactivate', function(res) {
|
||||
var el = $(this),
|
||||
new_href = el.attr('href');
|
||||
|
||||
el.text(res.text);
|
||||
|
||||
if (new_href.indexOf('deactivate') !== -1)
|
||||
{
|
||||
new_href = new_href.replace('deactivate', 'activate')
|
||||
}
|
||||
else
|
||||
{
|
||||
new_href = new_href.replace('activate', 'deactivate')
|
||||
}
|
||||
|
||||
el.attr('href', new_href);
|
||||
});
|
||||
|
||||
/**
|
||||
* 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.add_ajax_callback('row_delete', function() {
|
||||
$(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
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
<a href="{U_ACTION}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_ACP_VC_SETTINGS}</h1>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
|
||||
<a href="<!-- IF U_LIST -->{U_LIST}<!-- ELSE -->{U_ACTION}<!-- ENDIF -->" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_VC_SETTINGS}</h1>
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta charset="utf-8">
|
||||
<title>{L_COLOUR_SWATCH}</title>
|
||||
|
||||
<style type="text/css">
|
||||
|
|
|
@ -8,9 +8,12 @@
|
|||
</div>
|
||||
|
||||
<div id="page-footer">
|
||||
Powered by <a href="http://www.phpbb.com/">phpBB</a> © phpBB Group
|
||||
Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_JQUERY_FALLBACK --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta charset="utf-8">
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
|
|
@ -44,6 +44,11 @@
|
|||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="errorbox" style="margin-top: 0;">
|
||||
<h3>{L_NOTICE}</h3>
|
||||
<p>{L_BACKUP_NOTICE}</p>
|
||||
</div>
|
||||
|
||||
<form id="install_update" method="post" action="{U_ACTION}">
|
||||
|
||||
<h1>{L_UPDATE_INSTALLATION}</h1>
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta charset="utf-8">
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
@ -15,12 +11,12 @@
|
|||
// <![CDATA[
|
||||
function resize_panel()
|
||||
{
|
||||
var block = document.getElementById('codepanel');
|
||||
var block = document.getElementById('diff_content');
|
||||
var height;
|
||||
|
||||
if (window.innerHeight)
|
||||
{
|
||||
height = window.innerHeight - 150;
|
||||
height = window.innerHeight - 200;
|
||||
block.style.height = height + 'px';
|
||||
}
|
||||
else
|
||||
|
@ -119,6 +115,7 @@ table.hrdiff {
|
|||
overflow: hidden;
|
||||
border-bottom: 1px solid #999;
|
||||
table-layout: fixed;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
table.hrdiff th {
|
||||
|
@ -128,7 +125,8 @@ table.hrdiff th {
|
|||
font-family: Verdana,Helvetica,sans-serif;
|
||||
font-size: 11px;
|
||||
border-bottom: 1px solid #999;
|
||||
background: transparent;
|
||||
border-right: 1px solid #999;
|
||||
background: #D9D9D9;
|
||||
}
|
||||
|
||||
table.hrdiff thead th {
|
||||
|
@ -142,29 +140,23 @@ table.hrdiff tr:first-child th {
|
|||
}
|
||||
|
||||
table.hrdiff tbody th {
|
||||
padding: 2em 1px 1px 1px;
|
||||
font-size: 80%;
|
||||
border-top: 1px solid #999;
|
||||
}
|
||||
|
||||
table.hrdiff tbody td.old {
|
||||
border-left: 1px solid #999;
|
||||
border-right: 1px solid #999;
|
||||
}
|
||||
table.hrdiff tbody td.new {
|
||||
table.hrdiff tbody td {
|
||||
border-right: 1px solid #999;
|
||||
}
|
||||
|
||||
table.hrdiff td pre {
|
||||
overflow: auto;
|
||||
display: block;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
font-family: "Consolas", monospace;
|
||||
font-size: 1.1em;
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
}
|
||||
|
||||
table.hrdiff .unmodified {
|
||||
background: #fff;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
table.hrdiff .added {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
<div id="page-footer">
|
||||
<!-- IF S_COPYRIGHT_HTML -->
|
||||
Powered by <a href="http://www.phpbb.com/">phpBB</a> © phpBB Group
|
||||
{CREDIT_LINE}
|
||||
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@ -17,8 +17,30 @@
|
|||
<!-- IF S_COPYRIGHT_HTML --><br /><!-- ENDIF -->
|
||||
{DEBUG_OUTPUT}
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div id="darkenwrapper" data-ajax-error-title="{L_AJAX_ERROR_TITLE}" data-ajax-error-text="{L_AJAX_ERROR_TEXT}">
|
||||
<div id="darken"> </div>
|
||||
<div class="jalert" id="loadingalert"><h3>{L_LOADING}</h3><p>{L_PLEASE_WAIT}</p></div>
|
||||
</div>
|
||||
|
||||
<div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
|
||||
<a href="#" class="alert_close"></a>
|
||||
<h3 class="alert_title"></h3><p class="alert_text"></p>
|
||||
</div>
|
||||
<div id="phpbb_confirm" class="phpbb_alert">
|
||||
<a href="#" class="alert_close"></a>
|
||||
<p class="alert_text"></p>
|
||||
<input type="button" class="button1" value="{L_YES}" />
|
||||
<input type="button" class="button2" value="{L_NO}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_JQUERY_FALLBACK --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||
<!-- INCLUDEJS ajax.js -->
|
||||
{SCRIPTS}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta charset="utf-8">
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
<link href="style/admin.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="style/admin.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
|
@ -66,11 +62,7 @@ function dE(n, s, type)
|
|||
*/
|
||||
function marklist(id, name, state)
|
||||
{
|
||||
var parent = document.getElementById(id);
|
||||
if (!parent)
|
||||
{
|
||||
eval('parent = document.' + id);
|
||||
}
|
||||
var parent = document.getElementById(id) || document[id];
|
||||
|
||||
if (!parent)
|
||||
{
|
||||
|
|
12
phpBB/adm/style/pagination.html
Normal file
12
phpBB/adm/style/pagination.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> •
|
||||
<ul>
|
||||
<!-- BEGIN pagination -->
|
||||
<!-- IF pagination.S_IS_PREV --><li><a href="{pagination.PAGE_URL}">{L_PREVIOUS}</a></li>
|
||||
<!-- ELSEIF pagination.S_IS_CURRENT --><li class="active"><span>{pagination.PAGE_NUMBER}</span></li>
|
||||
<!-- ELSEIF pagination.S_IS_ELLIPSIS --><li class="ellipsis"><span>{L_ELLIPSIS}</span></li>
|
||||
<!-- ELSEIF pagination.S_IS_NEXT --><li><a href="{pagination.PAGE_URL}">{L_NEXT}</a></li>
|
||||
<!-- ELSE --><li><a href="{pagination.PAGE_URL}">{pagination.PAGE_NUMBER}</a></li>
|
||||
<!-- ENDIF -->
|
||||
<!-- END pagination -->
|
||||
</ul>
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h1>{L_ACP_FORUM_PERMISSIONS_COPY}</h1>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div id="page-footer">
|
||||
|
||||
<!-- IF S_COPYRIGHT_HTML -->
|
||||
<br />Powered by <a href="http://www.phpbb.com/">phpBB</a> © phpBB Group
|
||||
<br />{CREDIT_LINE}
|
||||
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@ -16,5 +16,8 @@
|
|||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_JQUERY_FALLBACK --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<!DOCTYPE html>
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{S_USER_LANG}" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta charset="utf-8">
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
<link href="style/admin.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="style/admin.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
|
|
11
phpBB/adm/style/timezone.js
Normal file
11
phpBB/adm/style/timezone.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
$('#tz_date').change(function() {
|
||||
phpbb.timezone_switch_date(false);
|
||||
});
|
||||
|
||||
$(document).ready(
|
||||
phpbb.timezone_enable_date_selection
|
||||
);
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
19
phpBB/adm/style/timezone_option.html
Normal file
19
phpBB/adm/style/timezone_option.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
<dl>
|
||||
<dt><label for="timezone">{L_BOARD_TIMEZONE}:</label></dt>
|
||||
<!-- IF S_TZ_DATE_OPTIONS -->
|
||||
<dd id="tz_select_date" style="display: none;">
|
||||
<select name="tz_date" id="tz_date" class="autowidth tz_select">
|
||||
<option value="">{L_SELECT_CURRENT_TIME}</option>
|
||||
{S_TZ_DATE_OPTIONS}
|
||||
</select>
|
||||
</dd>
|
||||
<!-- ENDIF -->
|
||||
<dd>
|
||||
<select name="tz" id="timezone" class="autowidth tz_select">
|
||||
<option value="">{L_SELECT_TIMEZONE}</option>
|
||||
{S_TZ_OPTIONS}
|
||||
</select>
|
||||
|
||||
<!-- INCLUDEJS timezone.js -->
|
||||
</dd>
|
||||
</dl>
|
|
@ -2,9 +2,8 @@
|
|||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @version $Id$
|
||||
* @copyright (c) 2005 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -22,8 +21,10 @@ $user->session_begin(false);
|
|||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
|
||||
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : './';
|
||||
|
||||
// Set custom template for admin area
|
||||
$template->set_custom_template($phpbb_root_path . 'adm/style', 'admin');
|
||||
$phpbb_style->set_custom_style('admin', $phpbb_admin_path . 'style', '');
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'colour_swatch.html')
|
||||
|
|
588
phpBB/assets/javascript/core.js
Normal file
588
phpBB/assets/javascript/core.js
Normal file
|
@ -0,0 +1,588 @@
|
|||
var phpbb = {};
|
||||
phpbb.alert_time = 100;
|
||||
|
||||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
|
||||
// define a couple constants for keydown functions.
|
||||
var keymap = {
|
||||
ENTER: 13,
|
||||
ESC: 27
|
||||
};
|
||||
|
||||
var dark = $('#darkenwrapper');
|
||||
var loading_alert = $('#loadingalert');
|
||||
|
||||
|
||||
/**
|
||||
* Display a loading screen.
|
||||
*
|
||||
* @returns object Returns loading_alert.
|
||||
*/
|
||||
phpbb.loading_alert = function() {
|
||||
if (dark.is(':visible'))
|
||||
{
|
||||
loading_alert.fadeIn(phpbb.alert_time);
|
||||
}
|
||||
else
|
||||
{
|
||||
loading_alert.show();
|
||||
dark.fadeIn(phpbb.alert_time, function() {
|
||||
// Wait five seconds and display an error if nothing has been returned by then.
|
||||
setTimeout(function() {
|
||||
if (loading_alert.is(':visible'))
|
||||
{
|
||||
phpbb.alert($('#phpbb_alert').attr('data-l-err'), $('#phpbb_alert').attr('data-l-timeout-processing-req'));
|
||||
}
|
||||
}, 5000);
|
||||
});
|
||||
}
|
||||
|
||||
return loading_alert;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a simple alert similar to JSs native alert().
|
||||
*
|
||||
* You can only call one alert or confirm box at any one time.
|
||||
*
|
||||
* @param string title Title of the message, eg "Information" (HTML).
|
||||
* @param string msg Message to display (HTML).
|
||||
* @param bool fadedark Remove the dark background when done? Defaults
|
||||
* to yes.
|
||||
*
|
||||
* @returns object Returns the div created.
|
||||
*/
|
||||
phpbb.alert = function(title, msg, fadedark) {
|
||||
var div = $('#phpbb_alert');
|
||||
div.find('.alert_title').html(title);
|
||||
div.find('.alert_text').html(msg);
|
||||
|
||||
div.bind('click', function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
dark.one('click', function(e) {
|
||||
var fade;
|
||||
|
||||
div.find('.alert_close').unbind('click');
|
||||
fade = (typeof fadedark !== 'undefined' && !fadedark) ? div : dark;
|
||||
fade.fadeOut(phpbb.alert_time, function() {
|
||||
div.hide();
|
||||
});
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$(document).bind('keydown', function(e) {
|
||||
if (e.keyCode === keymap.ENTER || e.keyCode === keymap.ESC) {
|
||||
dark.trigger('click');
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
|
||||
div.find('.alert_close').one('click', function(e) {
|
||||
dark.trigger('click');
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
if (loading_alert.is(':visible'))
|
||||
{
|
||||
loading_alert.fadeOut(phpbb.alert_time, function() {
|
||||
dark.append(div);
|
||||
div.fadeIn(phpbb.alert_time);
|
||||
});
|
||||
}
|
||||
else if (dark.is(':visible'))
|
||||
{
|
||||
dark.append(div);
|
||||
div.fadeIn(phpbb.alert_time);
|
||||
}
|
||||
else
|
||||
{
|
||||
dark.append(div);
|
||||
div.show();
|
||||
dark.fadeIn(phpbb.alert_time);
|
||||
}
|
||||
|
||||
return div;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a simple yes / no box to the user.
|
||||
*
|
||||
* You can only call one alert or confirm box at any one time.
|
||||
*
|
||||
* @param string msg Message to display (HTML).
|
||||
* @param function callback Callback. Bool param, whether the user pressed
|
||||
* yes or no (or whatever their language is).
|
||||
* @param bool fadedark Remove the dark background when done? Defaults
|
||||
* to yes.
|
||||
*
|
||||
* @returns object Returns the div created.
|
||||
*/
|
||||
phpbb.confirm = function(msg, callback, fadedark) {
|
||||
var div = $('#phpbb_confirm');
|
||||
div.find('.alert_text').html(msg);
|
||||
|
||||
div.bind('click', function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
var click_handler = function(e) {
|
||||
var res = this.className === 'button1';
|
||||
var fade = (typeof fadedark !== 'undefined' && !fadedark && res) ? div : dark;
|
||||
fade.fadeOut(phpbb.alert_time, function() {
|
||||
div.hide();
|
||||
});
|
||||
div.find('input[type="button"]').unbind('click', click_handler);
|
||||
callback(res);
|
||||
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
};
|
||||
div.find('input[type="button"]').one('click', click_handler);
|
||||
|
||||
dark.one('click', function(e) {
|
||||
div.find('.alert_close').unbind('click');
|
||||
dark.fadeOut(phpbb.alert_time, function() {
|
||||
div.hide();
|
||||
});
|
||||
callback(false);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$(document).bind('keydown', function(e) {
|
||||
if (e.keyCode === keymap.ENTER) {
|
||||
$('input[type="button"].button1').trigger('click');
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
} else if (e.keyCode === keymap.ESC) {
|
||||
$('input[type="button"].button2').trigger('click');
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
|
||||
div.find('.alert_close').one('click', function(e) {
|
||||
var fade = (typeof fadedark !== 'undefined' && fadedark) ? div : dark;
|
||||
fade.fadeOut(phpbb.alert_time, function() {
|
||||
div.hide();
|
||||
});
|
||||
callback(false);
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
if (loading_alert.is(':visible'))
|
||||
{
|
||||
loading_alert.fadeOut(phpbb.alert_time, function() {
|
||||
dark.append(div);
|
||||
div.fadeIn(phpbb.alert_time);
|
||||
});
|
||||
}
|
||||
else if (dark.is(':visible'))
|
||||
{
|
||||
dark.append(div);
|
||||
div.fadeIn(phpbb.alert_time);
|
||||
}
|
||||
else
|
||||
{
|
||||
dark.append(div);
|
||||
div.show();
|
||||
dark.fadeIn(phpbb.alert_time);
|
||||
}
|
||||
|
||||
return div;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn a querystring into an array.
|
||||
*
|
||||
* @argument string string The querystring to parse.
|
||||
* @returns object The object created.
|
||||
*/
|
||||
phpbb.parse_querystring = function(string) {
|
||||
var params = {}, i, split;
|
||||
|
||||
string = string.split('&');
|
||||
for (i = 0; i < string.length; i++)
|
||||
{
|
||||
split = string[i].split('=');
|
||||
params[split[0]] = decodeURIComponent(split[1]);
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Makes a link use AJAX instead of loading an entire page.
|
||||
*
|
||||
* This function will work for links (both standard links and links which
|
||||
* invoke confirm_box) and forms. It will be called automatically for links
|
||||
* and forms with the data-ajax attribute set, and will call the necessary
|
||||
* callback.
|
||||
*
|
||||
* For more info, view the following page on the phpBB wiki:
|
||||
* http://wiki.phpbb.com/JavaScript_Function.phpbb.ajaxify
|
||||
*
|
||||
* @param object options Options.
|
||||
* @param bool/function refresh If we are sent back a refresh, should it be
|
||||
* acted upon? This can either be true / false / a function.
|
||||
* @param function callback Callback to call on completion of event. Has
|
||||
* three parameters: the element that the event was evoked from, the JSON
|
||||
* that was returned and (if it is a form) the form action.
|
||||
*/
|
||||
phpbb.ajaxify = function(options) {
|
||||
var elements = $(options.selector),
|
||||
refresh = options.refresh,
|
||||
callback = options.callback,
|
||||
overlay = (typeof options.overlay !== 'undefined') ? options.overlay : true,
|
||||
is_form = elements.is('form'),
|
||||
event_name = is_form ? 'submit' : 'click';
|
||||
|
||||
elements.bind(event_name, function(event) {
|
||||
var action, method, data, submit, that = this, $this = $(this);
|
||||
|
||||
if ($this.find('input[type="submit"][data-clicked]').attr('data-ajax') === 'false')
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a private function used to handle the callbacks, refreshes
|
||||
* and alert. It calls the callback, refreshes the page if necessary, and
|
||||
* displays an alert to the user and removes it after an amount of time.
|
||||
*
|
||||
* It cannot be called from outside this function, and is purely here to
|
||||
* avoid repetition of code.
|
||||
*
|
||||
* @param object res The object sent back by the server.
|
||||
*/
|
||||
function return_handler(res)
|
||||
{
|
||||
var alert;
|
||||
|
||||
// Is a confirmation required?
|
||||
if (typeof res.S_CONFIRM_ACTION === 'undefined')
|
||||
{
|
||||
// If a confirmation is not required, display an alert and call the
|
||||
// callbacks.
|
||||
if (typeof res.MESSAGE_TITLE !== 'undefined')
|
||||
{
|
||||
alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT);
|
||||
}
|
||||
else
|
||||
{
|
||||
dark.fadeOut(phpbb.alert_time);
|
||||
}
|
||||
|
||||
if (typeof phpbb.ajax_callbacks[callback] === 'function')
|
||||
{
|
||||
phpbb.ajax_callbacks[callback].call(that, res);
|
||||
}
|
||||
|
||||
// If the server says to refresh the page, check whether the page should
|
||||
// be refreshed and refresh page after specified time if required.
|
||||
if (res.REFRESH_DATA)
|
||||
{
|
||||
if (typeof refresh === 'function')
|
||||
{
|
||||
refresh = refresh(res.REFRESH_DATA.url);
|
||||
}
|
||||
else if (typeof refresh !== 'boolean')
|
||||
{
|
||||
refresh = false;
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
if (refresh)
|
||||
{
|
||||
window.location = res.REFRESH_DATA.url;
|
||||
}
|
||||
|
||||
// Hide the alert even if we refresh the page, in case the user
|
||||
// presses the back button.
|
||||
dark.fadeOut(phpbb.alert_time, function() {
|
||||
alert.hide();
|
||||
});
|
||||
}, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// If confirmation is required, display a diologue to the user.
|
||||
phpbb.confirm(res.MESSAGE_TEXT, function(del) {
|
||||
if (del)
|
||||
{
|
||||
phpbb.loading_alert();
|
||||
data = $('<form>' + res.S_HIDDEN_FIELDS + '</form>').serialize();
|
||||
$.ajax({
|
||||
url: res.S_CONFIRM_ACTION,
|
||||
type: 'POST',
|
||||
data: data + '&confirm=' + res.YES_VALUE,
|
||||
success: return_handler,
|
||||
error: error_handler
|
||||
});
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
|
||||
function error_handler()
|
||||
{
|
||||
var alert;
|
||||
|
||||
alert = phpbb.alert(dark.attr('data-ajax-error-title'), dark.attr('data-ajax-error-text'));
|
||||
|
||||
setTimeout(function () {
|
||||
dark.fadeOut(phpbb.alert_time, function() {
|
||||
alert.hide();
|
||||
});
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
// If the element is a form, POST must be used and some extra data must
|
||||
// be taken from the form.
|
||||
var run_filter = (typeof options.filter === 'function');
|
||||
|
||||
if (is_form)
|
||||
{
|
||||
action = $this.attr('action').replace('&', '&');
|
||||
data = $this.serializeArray();
|
||||
method = $this.attr('method') || 'GET';
|
||||
|
||||
if ($this.find('input[type="submit"][data-clicked]'))
|
||||
{
|
||||
submit = $this.find('input[type="submit"][data-clicked]');
|
||||
data.push({
|
||||
name: submit.attr('name'),
|
||||
value: submit.val()
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
action = this.href;
|
||||
data = null;
|
||||
method = 'GET';
|
||||
}
|
||||
|
||||
// If filter function returns false, cancel the AJAX functionality,
|
||||
// and return true (meaning that the HTTP request will be sent normally).
|
||||
if (run_filter && !options.filter.call(this, data))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (overlay && (typeof $this.attr('data-overlay') === 'undefined' || $this.attr('data-overlay') == 'true'))
|
||||
{
|
||||
phpbb.loading_alert();
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: action,
|
||||
type: method,
|
||||
data: data,
|
||||
success: return_handler,
|
||||
error: error_handler
|
||||
});
|
||||
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
if (is_form) {
|
||||
elements.find('input:submit').click(function () {
|
||||
var $this = $(this);
|
||||
|
||||
$this.siblings('[data-clicked]').removeAttr('data-clicked');
|
||||
$this.attr('data-clicked', 'true');
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the optgroups that are not the selected timezone
|
||||
*
|
||||
* @param bool keep_selection Shall we keep the value selected, or shall the user be forced to repick one.
|
||||
*/
|
||||
phpbb.timezone_switch_date = function(keep_selection) {
|
||||
if ($('#timezone_copy').length == 0) {
|
||||
// We make a backup of the original dropdown, so we can remove optgroups
|
||||
// instead of setting display to none, because IE and chrome will not
|
||||
// hide options inside of optgroups and selects via css
|
||||
$('#timezone').clone().attr('id', 'timezone_copy').css('display', 'none').attr('name', 'tz_copy').insertAfter('#timezone');
|
||||
} else {
|
||||
// Copy the content of our backup, so we can remove all unneeded options
|
||||
$('#timezone').replaceWith($('#timezone_copy').clone().attr('id', 'timezone').css('display', 'block').attr('name', 'tz'));
|
||||
}
|
||||
|
||||
if ($('#tz_date').val() != '') {
|
||||
$('#timezone > optgroup').remove(":not([label='" + $('#tz_date').val() + "'])");
|
||||
}
|
||||
|
||||
if ($('#tz_date').val() == $('#tz_select_date_suggest').attr('data-suggested-tz')) {
|
||||
$('#tz_select_date_suggest').css('display', 'none');
|
||||
} else {
|
||||
$('#tz_select_date_suggest').css('display', 'inline');
|
||||
}
|
||||
|
||||
if ($("#timezone > optgroup[label='" + $('#tz_date').val() + "'] > option").size() == 1) {
|
||||
// If there is only one timezone for the selected date, we just select that automatically.
|
||||
$("#timezone > optgroup[label='" + $('#tz_date').val() + "'] > option:first").attr('selected', true);
|
||||
keep_selection = true;
|
||||
}
|
||||
|
||||
if (typeof keep_selection !== 'undefined' && !keep_selection) {
|
||||
$('#timezone > option:first').attr('selected', true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the date/time select
|
||||
*/
|
||||
phpbb.timezone_enable_date_selection = function() {
|
||||
$('#tz_select_date').css('display', 'block');
|
||||
}
|
||||
|
||||
/**
|
||||
* Preselect a date/time or suggest one, if it is not picked.
|
||||
*
|
||||
* @param bool force_selector Shall we select the suggestion?
|
||||
*/
|
||||
phpbb.timezone_preselect_select = function(force_selector) {
|
||||
|
||||
// The offset returned here is in minutes and negated.
|
||||
// http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp
|
||||
var offset = (new Date()).getTimezoneOffset();
|
||||
|
||||
if (offset < 0) {
|
||||
var sign = '+';
|
||||
offset = -offset;
|
||||
} else {
|
||||
var sign = '-';
|
||||
}
|
||||
|
||||
var minutes = offset % 60;
|
||||
var hours = (offset - minutes) / 60;
|
||||
|
||||
if (hours < 10) {
|
||||
hours = '0' + hours.toString();
|
||||
} else {
|
||||
hours = hours.toString();
|
||||
}
|
||||
|
||||
if (minutes < 10) {
|
||||
minutes = '0' + minutes.toString();
|
||||
} else {
|
||||
minutes = minutes.toString();
|
||||
}
|
||||
|
||||
var prefix = 'GMT' + sign + hours + ':' + minutes;
|
||||
var prefix_length = prefix.length;
|
||||
var selector_options = $('#tz_date > option');
|
||||
|
||||
for (var i = 0; i < selector_options.length; ++i) {
|
||||
var option = selector_options[i];
|
||||
|
||||
if (option.value.substring(0, prefix_length) == prefix) {
|
||||
if ($('#tz_date').val() != option.value && !force_selector) {
|
||||
// We do not select the option for the user, but notify him,
|
||||
// that we would suggest a different setting.
|
||||
phpbb.timezone_switch_date(true);
|
||||
$('#tz_select_date_suggest').css('display', 'inline');
|
||||
} else {
|
||||
option.selected = true;
|
||||
phpbb.timezone_switch_date(!force_selector);
|
||||
$('#tz_select_date_suggest').css('display', 'none');
|
||||
}
|
||||
|
||||
$('#tz_select_date_suggest').attr('title', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML));
|
||||
$('#tz_select_date_suggest').attr('value', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML.substring(0, 9)));
|
||||
$('#tz_select_date_suggest').attr('data-suggested-tz', option.innerHTML);
|
||||
|
||||
// Found the suggestion, there cannot be more, so return from here.
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
phpbb.ajax_callbacks = {};
|
||||
|
||||
/**
|
||||
* Adds an AJAX callback to be used by phpbb.ajaxify.
|
||||
*
|
||||
* See the phpbb.ajaxify comments for information on stuff like parameters.
|
||||
*
|
||||
* @param string id The name of the callback.
|
||||
* @param function callback The callback to be called.
|
||||
*/
|
||||
phpbb.add_ajax_callback = function(id, callback)
|
||||
{
|
||||
if (typeof callback === 'function')
|
||||
{
|
||||
phpbb.ajax_callbacks[id] = callback;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This callback alternates text - it replaces the current text with the text in
|
||||
* the alt-text data attribute, and replaces the text in the attribute with the
|
||||
* current text so that the process can be repeated.
|
||||
*/
|
||||
phpbb.add_ajax_callback('alt_text', function() {
|
||||
var el = $(this),
|
||||
alt_text;
|
||||
|
||||
alt_text = el.attr('data-alt-text');
|
||||
el.attr('data-alt-text', el.text());
|
||||
el.attr('title', alt_text);
|
||||
el.text(alt_text);
|
||||
});
|
||||
|
||||
/**
|
||||
* This callback is based on the alt_text callback.
|
||||
*
|
||||
* It replaces the current text with the text in the alt-text data attribute,
|
||||
* and replaces the text in the attribute with the current text so that the
|
||||
* process can be repeated.
|
||||
* Additionally it replaces the class of the link's parent
|
||||
* and changes the link itself.
|
||||
*/
|
||||
phpbb.add_ajax_callback('toggle_link', function() {
|
||||
var el = $(this),
|
||||
toggle_text,
|
||||
toggle_url,
|
||||
toggle_class;
|
||||
|
||||
// Toggle link text
|
||||
|
||||
toggle_text = el.attr('data-toggle-text');
|
||||
el.attr('data-toggle-text', el.text());
|
||||
el.attr('title', toggle_text);
|
||||
el.text(toggle_text);
|
||||
|
||||
// Toggle link url
|
||||
toggle_url = el.attr('data-toggle-url');
|
||||
el.attr('data-toggle-url', el.attr('href'));
|
||||
el.attr('href', toggle_url);
|
||||
|
||||
// Toggle class of link parent
|
||||
toggle_class = el.attr('data-toggle-class');
|
||||
el.attr('data-toggle-class', el.parent().attr('class'));
|
||||
el.parent().attr('class', toggle_class);
|
||||
});
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
18
phpBB/assets/javascript/jquery.js
vendored
Normal file
18
phpBB/assets/javascript/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
200
phpBB/common.php
200
phpBB/common.php
|
@ -2,13 +2,16 @@
|
|||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @version $Id$
|
||||
* @copyright (c) 2005 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Minimum Requirement: PHP 4.3.3
|
||||
* Minimum Requirement: PHP 5.3.2
|
||||
*/
|
||||
|
||||
use Symfony\Component\Config\FileLocator;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
||||
|
||||
/**
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
|
@ -16,107 +19,7 @@ if (!defined('IN_PHPBB'))
|
|||
exit;
|
||||
}
|
||||
|
||||
$starttime = explode(' ', microtime());
|
||||
$starttime = $starttime[1] + $starttime[0];
|
||||
|
||||
// Report all errors, except notices and deprecation messages
|
||||
if (!defined('E_DEPRECATED'))
|
||||
{
|
||||
define('E_DEPRECATED', 8192);
|
||||
}
|
||||
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
|
||||
|
||||
/*
|
||||
* Remove variables created by register_globals from the global scope
|
||||
* Thanks to Matt Kavanagh
|
||||
*/
|
||||
function deregister_globals()
|
||||
{
|
||||
$not_unset = array(
|
||||
'GLOBALS' => true,
|
||||
'_GET' => true,
|
||||
'_POST' => true,
|
||||
'_COOKIE' => true,
|
||||
'_REQUEST' => true,
|
||||
'_SERVER' => true,
|
||||
'_SESSION' => true,
|
||||
'_ENV' => true,
|
||||
'_FILES' => true,
|
||||
'phpEx' => true,
|
||||
'phpbb_root_path' => true
|
||||
);
|
||||
|
||||
// Not only will array_merge and array_keys give a warning if
|
||||
// a parameter is not an array, array_merge will actually fail.
|
||||
// So we check if _SESSION has been initialised.
|
||||
if (!isset($_SESSION) || !is_array($_SESSION))
|
||||
{
|
||||
$_SESSION = array();
|
||||
}
|
||||
|
||||
// Merge all into one extremely huge array; unset this later
|
||||
$input = array_merge(
|
||||
array_keys($_GET),
|
||||
array_keys($_POST),
|
||||
array_keys($_COOKIE),
|
||||
array_keys($_SERVER),
|
||||
array_keys($_SESSION),
|
||||
array_keys($_ENV),
|
||||
array_keys($_FILES)
|
||||
);
|
||||
|
||||
foreach ($input as $varname)
|
||||
{
|
||||
if (isset($not_unset[$varname]))
|
||||
{
|
||||
// Hacking attempt. No point in continuing unless it's a COOKIE
|
||||
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$cookie = &$_COOKIE;
|
||||
while (isset($cookie['GLOBALS']))
|
||||
{
|
||||
foreach ($cookie['GLOBALS'] as $registered_var => $value)
|
||||
{
|
||||
if (!isset($not_unset[$registered_var]))
|
||||
{
|
||||
unset($GLOBALS[$registered_var]);
|
||||
}
|
||||
}
|
||||
$cookie = &$cookie['GLOBALS'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unset($GLOBALS[$varname]);
|
||||
}
|
||||
|
||||
unset($input);
|
||||
}
|
||||
|
||||
// If we are on PHP >= 6.0.0 we do not need some code
|
||||
if (version_compare(PHP_VERSION, '6.0.0-dev', '>='))
|
||||
{
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('STRIP', false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@set_magic_quotes_runtime(0);
|
||||
|
||||
// Be paranoid with passed vars
|
||||
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get'))
|
||||
{
|
||||
deregister_globals();
|
||||
}
|
||||
|
||||
define('STRIP', (get_magic_quotes_gpc()) ? true : false);
|
||||
}
|
||||
require($phpbb_root_path . 'includes/startup.' . $phpEx);
|
||||
|
||||
if (file_exists($phpbb_root_path . 'config.' . $phpEx))
|
||||
{
|
||||
|
@ -126,6 +29,8 @@ if (file_exists($phpbb_root_path . 'config.' . $phpEx))
|
|||
if (!defined('PHPBB_INSTALLED'))
|
||||
{
|
||||
// Redirect the user to the installer
|
||||
require($phpbb_root_path . 'includes/functions.' . $phpEx);
|
||||
|
||||
// We have to generate a full HTTP/1.1 header here since we can't guarantee to have any of the information
|
||||
// available as used by the redirect function
|
||||
$server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
|
||||
|
@ -138,10 +43,13 @@ if (!defined('PHPBB_INSTALLED'))
|
|||
$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
|
||||
}
|
||||
|
||||
// $phpbb_root_path accounts for redirects from e.g. /adm
|
||||
$script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/index.' . $phpEx;
|
||||
// Replace any number of consecutive backslashes and/or slashes with a single slash
|
||||
// (could happen on some proxy setups and/or Windows servers)
|
||||
$script_path = trim(dirname($script_name)) . '/install/index.' . $phpEx;
|
||||
$script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
|
||||
// Eliminate . and .. from the path
|
||||
$script_path = phpbb_clean_path($script_path);
|
||||
|
||||
$url = (($secure) ? 'https://' : 'http://') . $server_name;
|
||||
|
||||
|
@ -159,15 +67,6 @@ if (!defined('PHPBB_INSTALLED'))
|
|||
exit;
|
||||
}
|
||||
|
||||
if (defined('DEBUG_EXTRA'))
|
||||
{
|
||||
$base_memory_usage = 0;
|
||||
if (function_exists('memory_get_usage'))
|
||||
{
|
||||
$base_memory_usage = memory_get_usage();
|
||||
}
|
||||
}
|
||||
|
||||
// Load Extensions
|
||||
// dl() is deprecated and disabled by default as of PHP 5.3.
|
||||
if (!empty($load_extensions) && function_exists('dl'))
|
||||
|
@ -182,53 +81,65 @@ if (!empty($load_extensions) && function_exists('dl'))
|
|||
|
||||
// Include files
|
||||
require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/template.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/session.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/auth.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/di/processor/interface.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/di/processor/config.' . $phpEx);
|
||||
|
||||
require($phpbb_root_path . 'includes/functions.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
|
||||
|
||||
require($phpbb_root_path . 'includes/constants.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/db/' . ltrim($dbms, 'dbal_') . '.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
|
||||
|
||||
// Set PHP error handler to ours
|
||||
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
|
||||
|
||||
$phpbb_container = new ContainerBuilder();
|
||||
$loader = new YamlFileLoader($phpbb_container, new FileLocator(__DIR__.'/config'));
|
||||
$loader->load('services.yml');
|
||||
|
||||
$processor = new phpbb_di_processor_config($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx);
|
||||
$processor->process($phpbb_container);
|
||||
|
||||
// Setup class loader first
|
||||
$class_loader = new phpbb_class_loader($phpbb_root_path, '.' . $phpEx);
|
||||
$class_loader->register();
|
||||
$phpbb_class_loader = $phpbb_container->get('class_loader');
|
||||
$phpbb_class_loader_ext = $phpbb_container->get('class_loader.ext');
|
||||
|
||||
// set up caching
|
||||
$cache_factory = new phpbb_cache_factory($acm_type);
|
||||
$cache = $cache_factory->get_service();
|
||||
$class_loader->set_cache($cache->get_driver());
|
||||
$cache = $phpbb_container->get('cache');
|
||||
|
||||
// Instantiate some basic classes
|
||||
$request = new phpbb_request();
|
||||
$user = new user();
|
||||
$auth = new auth();
|
||||
$template = new template();
|
||||
$db = new $sql_db();
|
||||
$phpbb_dispatcher = $phpbb_container->get('dispatcher');
|
||||
$request = $phpbb_container->get('request');
|
||||
$user = $phpbb_container->get('user');
|
||||
$auth = $phpbb_container->get('auth');
|
||||
$db = $phpbb_container->get('dbal.conn');
|
||||
|
||||
// make sure request_var uses this request instance
|
||||
request_var('', 0, false, false, $request); // "dependency injection" for a function
|
||||
|
||||
// Connect to DB
|
||||
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false);
|
||||
|
||||
// We do not need this any longer, unset for safety purposes
|
||||
unset($dbpasswd);
|
||||
|
||||
// Grab global variables, re-cache if necessary
|
||||
$config = new phpbb_config_db($db, $cache->get_driver(), CONFIG_TABLE);
|
||||
$config = $phpbb_container->get('config');
|
||||
set_config(null, null, null, $config);
|
||||
set_config_count(null, null, null, $config);
|
||||
|
||||
// load extensions
|
||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
|
||||
|
||||
$template = $phpbb_container->get('template');
|
||||
$phpbb_style = $phpbb_container->get('style');
|
||||
|
||||
$ids = array_keys($phpbb_container->findTaggedServiceIds('container.processor'));
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
$processor = $phpbb_container->get($id);
|
||||
$processor->process($phpbb_container);
|
||||
}
|
||||
|
||||
// Add own hook handler
|
||||
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('phpbb_template', 'display')));
|
||||
|
||||
foreach ($cache->obtain_hooks() as $hook)
|
||||
{
|
||||
|
@ -237,5 +148,20 @@ foreach ($cache->obtain_hooks() as $hook)
|
|||
|
||||
if (!$config['use_system_cron'])
|
||||
{
|
||||
$cron = new phpbb_cron_manager($phpbb_root_path . 'includes/cron/task', $phpEx, $cache->get_driver());
|
||||
$cron = $phpbb_container->get('cron.manager');
|
||||
}
|
||||
|
||||
/**
|
||||
* Main event which is triggered on every page
|
||||
*
|
||||
* You can use this event to load function files and initiate objects
|
||||
*
|
||||
* NOTE: At this point the global session ($user) and permissions ($auth)
|
||||
* do NOT exist yet. If you need to use the user object
|
||||
* (f.e. to include language files) or need to check permissions,
|
||||
* please use the core.user_setup event instead!
|
||||
*
|
||||
* @event core.common
|
||||
* @since 3.1-A1
|
||||
*/
|
||||
$phpbb_dispatcher->dispatch('core.common');
|
||||
|
|
12
phpBB/composer.json
Normal file
12
phpBB/composer.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"minimum-stability": "beta",
|
||||
"require": {
|
||||
"symfony/config": "2.1.*",
|
||||
"symfony/dependency-injection": "2.1.*",
|
||||
"symfony/event-dispatcher": "2.1.*",
|
||||
"symfony/yaml": "2.1.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"fabpot/goutte": "1.0.x-dev"
|
||||
}
|
||||
}
|
74
phpBB/composer.lock
generated
Normal file
74
phpBB/composer.lock
generated
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"hash": "1632798bc1d5298a4f5bd3087c972a9f",
|
||||
"packages": [
|
||||
{
|
||||
"package": "symfony/config",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/dependency-injection",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/event-dispatcher",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/yaml",
|
||||
"version": "v2.1.0-RC1"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"package": "fabpot/goutte",
|
||||
"version": "dev-master",
|
||||
"alias-pretty-version": "1.0.x-dev",
|
||||
"alias-version": "1.0.9999999.9999999-dev"
|
||||
},
|
||||
{
|
||||
"package": "fabpot/goutte",
|
||||
"version": "dev-master",
|
||||
"source-reference": "6d26279344736f6983a969e46afef082ebf30a67",
|
||||
"commit-date": "1345141401"
|
||||
},
|
||||
{
|
||||
"package": "guzzle/common",
|
||||
"version": "v2.8.4"
|
||||
},
|
||||
{
|
||||
"package": "guzzle/http",
|
||||
"version": "v2.8.4"
|
||||
},
|
||||
{
|
||||
"package": "guzzle/parser",
|
||||
"version": "v2.8.4"
|
||||
},
|
||||
{
|
||||
"package": "symfony/browser-kit",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/css-selector",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/dom-crawler",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/finder",
|
||||
"version": "v2.1.0-RC1"
|
||||
},
|
||||
{
|
||||
"package": "symfony/process",
|
||||
"version": "v2.1.0-RC1"
|
||||
}
|
||||
],
|
||||
"aliases": [
|
||||
|
||||
],
|
||||
"minimum-stability": "beta",
|
||||
"stability-flags": {
|
||||
"fabpot/goutte": 20
|
||||
}
|
||||
}
|
4
phpBB/config/.htaccess
Normal file
4
phpBB/config/.htaccess
Normal file
|
@ -0,0 +1,4 @@
|
|||
<Files *>
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Files>
|
75
phpBB/config/cron_tasks.yml
Normal file
75
phpBB/config/cron_tasks.yml
Normal file
|
@ -0,0 +1,75 @@
|
|||
services:
|
||||
cron.task.core.prune_all_forums:
|
||||
class: phpbb_cron_task_core_prune_all_forums
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
- @dbal.conn
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.prune_forum:
|
||||
class: phpbb_cron_task_core_prune_forum
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
- @dbal.conn
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.queue:
|
||||
class: phpbb_cron_task_core_queue
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.tidy_cache:
|
||||
class: phpbb_cron_task_core_tidy_cache
|
||||
arguments:
|
||||
- @config
|
||||
- @cache.driver
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.tidy_database:
|
||||
class: phpbb_cron_task_core_tidy_database
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.tidy_search:
|
||||
class: phpbb_cron_task_core_tidy_search
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.tidy_sessions:
|
||||
class: phpbb_cron_task_core_tidy_sessions
|
||||
arguments:
|
||||
- @config
|
||||
- @user
|
||||
tags:
|
||||
- { name: cron.task }
|
||||
|
||||
cron.task.core.tidy_warnings:
|
||||
class: phpbb_cron_task_core_tidy_warnings
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
tags:
|
||||
- { name: cron.task }
|
139
phpBB/config/services.yml
Normal file
139
phpBB/config/services.yml
Normal file
|
@ -0,0 +1,139 @@
|
|||
imports:
|
||||
- { resource: tables.yml }
|
||||
- { resource: cron_tasks.yml }
|
||||
|
||||
services:
|
||||
auth:
|
||||
class: phpbb_auth
|
||||
|
||||
cache:
|
||||
class: phpbb_cache_service
|
||||
arguments:
|
||||
- @cache.driver
|
||||
|
||||
cache.driver:
|
||||
class: %cache.driver.class%
|
||||
|
||||
cache.driver.install:
|
||||
class: phpbb_cache_driver_file
|
||||
|
||||
class_loader:
|
||||
class: phpbb_class_loader
|
||||
arguments:
|
||||
- phpbb_
|
||||
- %core.root_path%includes/
|
||||
- .%core.php_ext%
|
||||
calls:
|
||||
- [register, []]
|
||||
- [set_cache, [@cache.driver]]
|
||||
|
||||
class_loader.ext:
|
||||
class: phpbb_class_loader
|
||||
arguments:
|
||||
- phpbb_ext_
|
||||
- %core.root_path%ext/
|
||||
- .%core.php_ext%
|
||||
calls:
|
||||
- [register, []]
|
||||
- [set_cache, [@cache.driver]]
|
||||
|
||||
config:
|
||||
class: phpbb_config_db
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @cache.driver
|
||||
- %tables.config%
|
||||
|
||||
cron.task_provider:
|
||||
class: phpbb_cron_task_provider
|
||||
arguments:
|
||||
- @container
|
||||
|
||||
cron.manager:
|
||||
class: phpbb_cron_manager
|
||||
arguments:
|
||||
- @cron.task_provider
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
cron.lock_db:
|
||||
class: phpbb_lock_db
|
||||
arguments:
|
||||
- cron_lock
|
||||
- @config
|
||||
- @dbal.conn
|
||||
|
||||
dispatcher:
|
||||
class: phpbb_event_dispatcher
|
||||
|
||||
dbal.conn:
|
||||
class: %dbal.driver.class%
|
||||
calls:
|
||||
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
|
||||
|
||||
event.subscriber_loader:
|
||||
class: phpbb_event_extension_subscriber_loader
|
||||
arguments:
|
||||
- @dispatcher
|
||||
- @ext.manager
|
||||
calls:
|
||||
- [load, []]
|
||||
|
||||
ext.manager:
|
||||
class: phpbb_extension_manager
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @config
|
||||
- %tables.ext%
|
||||
- %core.root_path%
|
||||
- .%core.php_ext%
|
||||
- @cache.driver
|
||||
|
||||
processor.ext:
|
||||
class: phpbb_di_processor_ext
|
||||
arguments:
|
||||
- @ext.manager
|
||||
tags:
|
||||
- { name: container.processor }
|
||||
|
||||
request:
|
||||
class: phpbb_request
|
||||
|
||||
style:
|
||||
class: phpbb_style
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
- @user
|
||||
- @style.resource_locator
|
||||
- @style.path_provider_ext
|
||||
- @template
|
||||
|
||||
style.resource_locator:
|
||||
class: phpbb_style_resource_locator
|
||||
|
||||
style.path_provider_ext:
|
||||
class: phpbb_style_extension_path_provider
|
||||
arguments:
|
||||
- @ext.manager
|
||||
- @style.path_provider
|
||||
|
||||
style.path_provider:
|
||||
class: phpbb_style_path_provider
|
||||
|
||||
template:
|
||||
class: phpbb_template
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @config
|
||||
- @user
|
||||
- @style.resource_locator
|
||||
- @template_context
|
||||
|
||||
template_context:
|
||||
class: phpbb_template_context
|
||||
|
||||
user:
|
||||
class: phpbb_user
|
3
phpBB/config/tables.yml
Normal file
3
phpBB/config/tables.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
parameters:
|
||||
tables.config: %core.table_prefix%config
|
||||
tables.ext: %core.table_prefix%ext
|
|
@ -2,9 +2,8 @@
|
|||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @version $Id$
|
||||
* @copyright (c) 2005 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -62,7 +61,7 @@ function do_cron($cron_lock, $run_tasks)
|
|||
|
||||
if ($config['use_system_cron'])
|
||||
{
|
||||
$cron = new phpbb_cron_manager($phpbb_root_path . 'includes/cron/task', $phpEx, $cache->get_driver());
|
||||
$cron = $phpbb_container->get('cron.manager');
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -72,7 +71,7 @@ else
|
|||
output_image();
|
||||
}
|
||||
|
||||
$cron_lock = new phpbb_lock_db('cron_lock', $config, $db);
|
||||
$cron_lock = $phpbb_container->get('cron.lock_db');
|
||||
if ($cron_lock->acquire())
|
||||
{
|
||||
if ($config['use_system_cron'])
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
<?php
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// FILENAME : add_permissions.php
|
||||
// STARTED : Sat Nov 06, 2004
|
||||
// COPYRIGHT : © 2004 phpBB Group
|
||||
// WWW : http://www.phpbb.com/
|
||||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2004 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
//
|
||||
// Security message:
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
<?php
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// FILENAME : calc_email_hash.php
|
||||
// STARTED : Tue Feb 03, 2004
|
||||
// COPYRIGHT : © 2004 phpBB Group
|
||||
// WWW : http://www.phpbb.com/
|
||||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2004 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
//
|
||||
// Security message:
|
||||
|
|
|
@ -1,23 +1,11 @@
|
|||
<?php
|
||||
/***************************************************************************
|
||||
* merge_clean_posts.php
|
||||
* -------------------
|
||||
* begin : Tuesday, February 25, 2003
|
||||
* copyright : (C) 2003 The phpBB Group
|
||||
* email : support@phpbb.com
|
||||
/**
|
||||
*
|
||||
* $Id$
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2003 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
***************************************************************************/
|
||||
*/
|
||||
|
||||
//
|
||||
// Security message:
|
||||
|
|
|
@ -2,14 +2,11 @@
|
|||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @version $Id$
|
||||
* @copyright (c) 2009, 2010 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* This script will check your database for potentially dangerous flash BBCode tags
|
||||
*
|
||||
*/
|
||||
|
||||
//
|
||||
|
|
24
phpBB/develop/compile_template.php
Normal file
24
phpBB/develop/compile_template.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// FILENAME : compile_template.php
|
||||
// STARTED : Sun Apr 24, 2011
|
||||
// COPYRIGHT : © 2011 phpBB Group
|
||||
// WWW : http://www.phpbb.com/
|
||||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
|
||||
define('IN_PHPBB', 1);
|
||||
define('ANONYMOUS', 1);
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
$phpbb_root_path = './../';
|
||||
|
||||
include($phpbb_root_path . 'includes/template_compile.'.$phpEx);
|
||||
|
||||
$file = $argv[1];
|
||||
|
||||
$compile = new phpbb_template_compile(false);
|
||||
echo $compile->compile_file($file);
|
|
@ -2,9 +2,8 @@
|
|||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @version $Id$
|
||||
* @copyright (c) 2006 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* This file creates new schema files for every database.
|
||||
* The filenames will be prefixed with an underscore to not overwrite the current schema files.
|
||||
|
@ -12,11 +11,7 @@
|
|||
* If you overwrite the original schema files please make sure you save the file with UNIX linefeeds.
|
||||
*/
|
||||
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
@set_time_limit(0);
|
||||
|
||||
$schema_path = './../install/schemas/';
|
||||
$schema_path = dirname(__FILE__) . '/../install/schemas/';
|
||||
|
||||
if (!is_writable($schema_path))
|
||||
{
|
||||
|
@ -242,7 +237,7 @@ $supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', '
|
|||
|
||||
foreach ($supported_dbms as $dbms)
|
||||
{
|
||||
$fp = fopen($schema_path . '_' . $dbms . '_schema.sql', 'wt');
|
||||
$fp = fopen($schema_path . $dbms . '_schema.sql', 'wb');
|
||||
|
||||
$line = '';
|
||||
|
||||
|
@ -251,32 +246,43 @@ foreach ($supported_dbms as $dbms)
|
|||
{
|
||||
case 'mysql_40':
|
||||
case 'mysql_41':
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
case 'firebird':
|
||||
case 'sqlite':
|
||||
fwrite($fp, "# DO NOT EDIT THIS FILE, IT IS GENERATED\n");
|
||||
fwrite($fp, "#\n");
|
||||
fwrite($fp, "# To change the contents of this file, edit\n");
|
||||
fwrite($fp, "# phpBB/develop/create_schema_files.php and\n");
|
||||
fwrite($fp, "# run it.\n");
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
case 'oracle':
|
||||
case 'postgres':
|
||||
fwrite($fp, "/*\n");
|
||||
fwrite($fp, " * DO NOT EDIT THIS FILE, IT IS GENERATED\n");
|
||||
fwrite($fp, " *\n");
|
||||
fwrite($fp, " * To change the contents of this file, edit\n");
|
||||
fwrite($fp, " * phpBB/develop/create_schema_files.php and\n");
|
||||
fwrite($fp, " * run it.\n");
|
||||
fwrite($fp, " */\n\n");
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($dbms)
|
||||
{
|
||||
case 'firebird':
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
$line .= custom_data('firebird') . "\n";
|
||||
break;
|
||||
|
||||
case 'sqlite':
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
$line .= "BEGIN TRANSACTION;\n\n";
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
// no need to do this, no transaction support for schema changes
|
||||
//$line .= "BEGIN TRANSACTION\nGO\n\n";
|
||||
break;
|
||||
|
||||
case 'oracle':
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line .= custom_data('oracle') . "\n";
|
||||
break;
|
||||
|
||||
case 'postgres':
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line .= "BEGIN;\n\n";
|
||||
$line .= custom_data('postgres') . "\n";
|
||||
break;
|
||||
|
@ -329,6 +335,15 @@ foreach ($supported_dbms as $dbms)
|
|||
// Write columns one by one...
|
||||
foreach ($table_data['COLUMNS'] as $column_name => $column_data)
|
||||
{
|
||||
if (strlen($column_name) > 30)
|
||||
{
|
||||
trigger_error("Column name '$column_name' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
|
||||
}
|
||||
if (isset($column_data[2]) && $column_data[2] == 'auto_increment' && strlen($column_name) > 26) // "${column_name}_gen"
|
||||
{
|
||||
trigger_error("Index name '${column_name}_gen' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
|
||||
}
|
||||
|
||||
// Get type
|
||||
if (strpos($column_data[0], ':') !== false)
|
||||
{
|
||||
|
@ -382,7 +397,7 @@ foreach ($supported_dbms as $dbms)
|
|||
}
|
||||
}
|
||||
|
||||
// Adjust default value if db-dependant specified
|
||||
// Adjust default value if db-dependent specified
|
||||
if (is_array($column_data[1]))
|
||||
{
|
||||
$column_data[1] = (isset($column_data[1][$dbms])) ? $column_data[1][$dbms] : $column_data[1]['default'];
|
||||
|
@ -632,6 +647,11 @@ foreach ($supported_dbms as $dbms)
|
|||
$key_data[1] = array($key_data[1]);
|
||||
}
|
||||
|
||||
if (strlen($table_name . $key_name) > 30)
|
||||
{
|
||||
trigger_error("Index name '${table_name}_$key_name' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR);
|
||||
}
|
||||
|
||||
switch ($dbms)
|
||||
{
|
||||
case 'mysql_40':
|
||||
|
@ -1017,6 +1037,17 @@ function get_schema_struct()
|
|||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_ext'] = array(
|
||||
'COLUMNS' => array(
|
||||
'ext_name' => array('VCHAR', ''),
|
||||
'ext_active' => array('BOOL', 0),
|
||||
'ext_state' => array('TEXT', ''),
|
||||
),
|
||||
'KEYS' => array(
|
||||
'ext_name' => array('UNIQUE', 'ext_name'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_extensions'] = array(
|
||||
'COLUMNS' => array(
|
||||
'extension_id' => array('UINT', NULL, 'auto_increment'),
|
||||
|
@ -1209,6 +1240,24 @@ function get_schema_struct()
|
|||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_login_attempts'] = array(
|
||||
'COLUMNS' => array(
|
||||
'attempt_ip' => array('VCHAR:40', ''),
|
||||
'attempt_browser' => array('VCHAR:150', ''),
|
||||
'attempt_forwarded_for' => array('VCHAR:255', ''),
|
||||
'attempt_time' => array('TIMESTAMP', 0),
|
||||
'user_id' => array('UINT', 0),
|
||||
'username' => array('VCHAR_UNI:255', 0),
|
||||
'username_clean' => array('VCHAR_CI', 0),
|
||||
),
|
||||
'KEYS' => array(
|
||||
'att_ip' => array('INDEX', array('attempt_ip', 'attempt_time')),
|
||||
'att_for' => array('INDEX', array('attempt_forwarded_for', 'attempt_time')),
|
||||
'att_time' => array('INDEX', array('attempt_time')),
|
||||
'user_id' => array('INDEX', 'user_id'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_moderator_cache'] = array(
|
||||
'COLUMNS' => array(
|
||||
'forum_id' => array('UINT', 0),
|
||||
|
@ -1412,7 +1461,9 @@ function get_schema_struct()
|
|||
'field_default_value' => array('VCHAR_UNI', ''),
|
||||
'field_validation' => array('VCHAR_UNI:20', ''),
|
||||
'field_required' => array('BOOL', 0),
|
||||
'field_show_novalue' => array('BOOL', 0),
|
||||
'field_show_on_reg' => array('BOOL', 0),
|
||||
'field_show_on_pm' => array('BOOL', 0),
|
||||
'field_show_on_vt' => array('BOOL', 0),
|
||||
'field_show_profile' => array('BOOL', 0),
|
||||
'field_hide' => array('BOOL', 0),
|
||||
|
@ -1478,6 +1529,7 @@ function get_schema_struct()
|
|||
'report_closed' => array('BOOL', 0),
|
||||
'report_time' => array('TIMESTAMP', 0),
|
||||
'report_text' => array('MTEXT_UNI', ''),
|
||||
'reported_post_text' => array('MTEXT_UNI', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'report_id',
|
||||
'KEYS' => array(
|
||||
|
@ -1604,92 +1656,14 @@ function get_schema_struct()
|
|||
'style_name' => array('VCHAR_UNI:255', ''),
|
||||
'style_copyright' => array('VCHAR_UNI', ''),
|
||||
'style_active' => array('BOOL', 1),
|
||||
'template_id' => array('UINT', 0),
|
||||
'theme_id' => array('UINT', 0),
|
||||
'imageset_id' => array('UINT', 0),
|
||||
'style_path' => array('VCHAR:100', ''),
|
||||
'bbcode_bitfield' => array('VCHAR:255', 'kNg='),
|
||||
'style_parent_id' => array('UINT:4', 0),
|
||||
'style_parent_tree' => array('TEXT', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'style_id',
|
||||
'KEYS' => array(
|
||||
'style_name' => array('UNIQUE', 'style_name'),
|
||||
'template_id' => array('INDEX', 'template_id'),
|
||||
'theme_id' => array('INDEX', 'theme_id'),
|
||||
'imageset_id' => array('INDEX', 'imageset_id'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_template'] = array(
|
||||
'COLUMNS' => array(
|
||||
'template_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'template_name' => array('VCHAR_UNI:255', ''),
|
||||
'template_copyright' => array('VCHAR_UNI', ''),
|
||||
'template_path' => array('VCHAR:100', ''),
|
||||
'bbcode_bitfield' => array('VCHAR:255', 'kNg='),
|
||||
'template_storedb' => array('BOOL', 0),
|
||||
'template_inherits_id' => array('UINT:4', 0),
|
||||
'template_inherit_path' => array('VCHAR', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'template_id',
|
||||
'KEYS' => array(
|
||||
'tmplte_nm' => array('UNIQUE', 'template_name'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_template_data'] = array(
|
||||
'COLUMNS' => array(
|
||||
'template_id' => array('UINT', 0),
|
||||
'template_filename' => array('VCHAR:100', ''),
|
||||
'template_included' => array('TEXT', ''),
|
||||
'template_mtime' => array('TIMESTAMP', 0),
|
||||
'template_data' => array('MTEXT_UNI', ''),
|
||||
),
|
||||
'KEYS' => array(
|
||||
'tid' => array('INDEX', 'template_id'),
|
||||
'tfn' => array('INDEX', 'template_filename'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_theme'] = array(
|
||||
'COLUMNS' => array(
|
||||
'theme_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'theme_name' => array('VCHAR_UNI:255', ''),
|
||||
'theme_copyright' => array('VCHAR_UNI', ''),
|
||||
'theme_path' => array('VCHAR:100', ''),
|
||||
'theme_storedb' => array('BOOL', 0),
|
||||
'theme_mtime' => array('TIMESTAMP', 0),
|
||||
'theme_data' => array('MTEXT_UNI', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'theme_id',
|
||||
'KEYS' => array(
|
||||
'theme_name' => array('UNIQUE', 'theme_name'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_imageset'] = array(
|
||||
'COLUMNS' => array(
|
||||
'imageset_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'imageset_name' => array('VCHAR_UNI:255', ''),
|
||||
'imageset_copyright' => array('VCHAR_UNI', ''),
|
||||
'imageset_path' => array('VCHAR:100', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'imageset_id',
|
||||
'KEYS' => array(
|
||||
'imgset_nm' => array('UNIQUE', 'imageset_name'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_imageset_data'] = array(
|
||||
'COLUMNS' => array(
|
||||
'image_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'image_name' => array('VCHAR:200', ''),
|
||||
'image_filename' => array('VCHAR:200', ''),
|
||||
'image_lang' => array('VCHAR:30', ''),
|
||||
'image_height' => array('USINT', 0),
|
||||
'image_width' => array('USINT', 0),
|
||||
'imageset_id' => array('UINT', 0),
|
||||
),
|
||||
'PRIMARY_KEY' => 'image_id',
|
||||
'KEYS' => array(
|
||||
'i_d' => array('INDEX', 'imageset_id'),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -1821,8 +1795,7 @@ function get_schema_struct()
|
|||
'user_inactive_time' => array('TIMESTAMP', 0),
|
||||
'user_posts' => array('UINT', 0),
|
||||
'user_lang' => array('VCHAR:30', ''),
|
||||
'user_timezone' => array('DECIMAL', 0),
|
||||
'user_dst' => array('BOOL', 0),
|
||||
'user_timezone' => array('VCHAR:100', 'UTC'),
|
||||
'user_dateformat' => array('VCHAR_UNI:30', 'd M Y H:i'),
|
||||
'user_style' => array('UINT', 0),
|
||||
'user_rank' => array('UINT', 0),
|
||||
|
|
136
phpBB/develop/create_search_index.php
Normal file
136
phpBB/develop/create_search_index.php
Normal file
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2011 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
if (php_sapi_name() != 'cli')
|
||||
{
|
||||
die("This program must be run from the command line.\n");
|
||||
}
|
||||
|
||||
if ($argc < 2)
|
||||
{
|
||||
echo 'Usage: php ' . basename(__FILE__) . " index_type [batch_size]\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$class_name = basename($argv[1]);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$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/acp/acp_search.' . $phpEx);
|
||||
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup('acp/search');
|
||||
|
||||
$search_name = ucfirst(strtolower(str_replace('_', ' ', $class_name)));
|
||||
$search_errors = array();
|
||||
$search = new $class_name($search_errors);
|
||||
|
||||
$batch_size = isset($argv[2]) ? $argv[2] : 2000;
|
||||
|
||||
if (method_exists($search, 'create_index'))
|
||||
{
|
||||
if ($error = $search->create_index(null, ''))
|
||||
{
|
||||
var_dump($error);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT forum_id, enable_indexing
|
||||
FROM ' . FORUMS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$forums[$row['forum_id']] = (bool) $row['enable_indexing'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT post_id
|
||||
FROM ' . POSTS_TABLE . '
|
||||
ORDER BY post_id DESC';
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$max_post_id = (int) $db->sql_fetchfield('post_id');
|
||||
|
||||
$post_counter = 0;
|
||||
while ($post_counter <= $max_post_id)
|
||||
{
|
||||
$row_count = 0;
|
||||
$time = time();
|
||||
|
||||
printf("Processing posts with %d <= post_id <= %d\n",
|
||||
$post_counter + 1,
|
||||
$post_counter + $batch_size
|
||||
);
|
||||
|
||||
$sql = 'SELECT post_id, post_subject, post_text, poster_id, forum_id
|
||||
FROM ' . POSTS_TABLE . '
|
||||
WHERE post_id >= ' . (int) ($post_counter + 1) . '
|
||||
AND post_id <= ' . (int) ($post_counter + $batch_size);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$buffer = $db->sql_buffer_nested_transactions();
|
||||
|
||||
if ($buffer)
|
||||
{
|
||||
$rows = $db->sql_fetchrowset($result);
|
||||
$rows[] = false; // indicate end of array for while loop below
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
while ($row = ($buffer ? $rows[$i++] : $db->sql_fetchrow($result)))
|
||||
{
|
||||
// Indexing enabled for this forum or global announcement?
|
||||
// Global announcements get indexed by default.
|
||||
if (!$row['forum_id'] || !empty($forums[$row['forum_id']]))
|
||||
{
|
||||
++$row_count;
|
||||
|
||||
$search->index('post',
|
||||
$row['post_id'],
|
||||
$row['post_text'],
|
||||
$row['post_subject'],
|
||||
$row['poster_id'],
|
||||
$row['forum_id']
|
||||
);
|
||||
|
||||
if ($row_count % 10 == 0)
|
||||
{
|
||||
echo '.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$delta = (time() - $time);
|
||||
$delta = $delta <= 0 ? 1 : $delta;
|
||||
printf(" %d posts/sec\n", $row_count / $delta);
|
||||
|
||||
if (!$buffer)
|
||||
{
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$post_counter += $batch_size;
|
||||
}
|
||||
}
|
||||
|
||||
$search->tidy();
|
||||
|
||||
add_log('admin', 'LOG_SEARCH_INDEX_CREATED', $search_name);
|
||||
|
||||
echo $user->lang['SEARCH_INDEX_CREATED'] . "\n";
|
||||
echo 'Peak Memory Usage: ' . get_formatted_filesize(memory_get_peak_usage()) . "\n";
|
||||
|
||||
exit(0);
|
|
@ -1,19 +1,13 @@
|
|||
<?php
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// FILENAME : create_variable_overview.php
|
||||
// STARTED : Fri Aug 15 2003
|
||||
// COPYRIGHT : © 2003 phpBB Group
|
||||
// WWW : http://www.phpbb.com/
|
||||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
|
||||
/*
|
||||
This script generates an index of some template vars and their use within the templates.
|
||||
It writes down all language variables used by various templates.
|
||||
/**
|
||||
*
|
||||
* @package phpBB3
|
||||
* @copyright (c) 2003 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* This script generates an index of some template vars and their use within the templates.
|
||||
* It writes down all language variables used by various templates.
|
||||
*
|
||||
*/
|
||||
|
||||
//
|
||||
|
@ -44,7 +38,7 @@ fwrite($fp, $contents);
|
|||
fclose($fp);
|
||||
|
||||
$html_skeleton = '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="subSilver.css" type="text/css">
|
||||
|
@ -83,7 +77,7 @@ $html_skeleton .= '<br><br><a name="ref"></a><b>References: </b>{SEE_FILES}';
|
|||
|
||||
$html_skeleton .= '
|
||||
<br><br>
|
||||
<div class="copyright" align="center">Powered by phpBB 2.2 © <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div>
|
||||
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group</div>
|
||||
|
||||
<br clear="all" /></td>
|
||||
</tr>
|
||||
|
@ -362,7 +356,7 @@ echo '<br>Store Files';
|
|||
$fp = fopen($store_dir . 'index.html', 'w');
|
||||
|
||||
$html_data = '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="subSilver.css" type="text/css">
|
||||
|
@ -405,7 +399,7 @@ $html_data .= '<br><li><a href="./lang_index.html" class="gen">Appendix A: Langu
|
|||
|
||||
$html_data .= '
|
||||
</ol><br><br>
|
||||
<div class="copyright" align="center">Powered by phpBB 2.2 © <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div>
|
||||
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group</div>
|
||||
|
||||
<br clear="all" /></td>
|
||||
</tr>
|
||||
|
@ -427,7 +421,7 @@ fwrite($common_fp, "<?php\n\n \$lang = array(\n");
|
|||
$fp = fopen($store_dir . 'lang_index.html', 'w');
|
||||
|
||||
$html_data = '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="subSilver.css" type="text/css">
|
||||
|
@ -528,7 +522,7 @@ foreach ($lang_fp as $filepointer)
|
|||
|
||||
$html_data .= '
|
||||
<br><br>
|
||||
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a> © phpBB Group</div>
|
||||
<div class="copyright" align="center">Powered by <a href="http://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group</div>
|
||||
|
||||
<br clear="all" /></td>
|
||||
</tr>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue