diff options
author | Igor Wiedler <igor@wiedler.ch> | 2012-02-17 13:51:31 +0100 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2012-02-17 13:51:31 +0100 |
commit | fa5f094197e4361aec36441c747c6355cb4b2564 (patch) | |
tree | 2f2ccfb647f1c4fa9372c60fa922eff90decd9ce /phpBB/develop | |
parent | d70c3f1eb8c0ddc68d8eda1bd8708c4957c21182 (diff) | |
parent | a24ba9dc2db66309851476a7436db483089f8988 (diff) | |
download | forums-fa5f094197e4361aec36441c747c6355cb4b2564.tar forums-fa5f094197e4361aec36441c747c6355cb4b2564.tar.gz forums-fa5f094197e4361aec36441c747c6355cb4b2564.tar.bz2 forums-fa5f094197e4361aec36441c747c6355cb4b2564.tar.xz forums-fa5f094197e4361aec36441c747c6355cb4b2564.zip |
Merge branch 'develop' into ticket/10380
* develop:
[ticket/10652] Fixing typo in template class
[ticket/10645] Missing CSS for checkboxes
[ticket/10614] Change not installed heading to available.
[ticket/10614] Unbreak all_available on extension manager.
[ticket/10614] Check if cache exists before destroying it
[ticket/10614] Remove ext manager exceptions for now
[ticket/10614] Refactor list command to use manager API
[ticket/10614] Add purge command
[ticket/10614] Tweak list output, show state, purge cache, handle missing exts
[ticket/10614] Make script accessible from anywhere
[ticket/10614] Better usage output
[ticket/10614] Add a script to enable, disable and view status of extensions.
[ticket/10500] Use correct class name in @uses.
[ticket/10500] Fix phpbb_template_compile instantiation.
Diffstat (limited to 'phpBB/develop')
-rw-r--r-- | phpBB/develop/compile_template.php | 2 | ||||
-rw-r--r-- | phpBB/develop/extensions.php | 123 |
2 files changed, 124 insertions, 1 deletions
diff --git a/phpBB/develop/compile_template.php b/phpBB/develop/compile_template.php index e741e909d8..32d1d321f1 100644 --- a/phpBB/develop/compile_template.php +++ b/phpBB/develop/compile_template.php @@ -20,5 +20,5 @@ include($phpbb_root_path . 'includes/template_compile.'.$phpEx); $file = $argv[1]; -$compile = new phpbb_template_compile(); +$compile = new phpbb_template_compile(false); echo $compile->compile_file($file); diff --git a/phpBB/develop/extensions.php b/phpBB/develop/extensions.php new file mode 100644 index 0000000000..2f7c3d1167 --- /dev/null +++ b/phpBB/develop/extensions.php @@ -0,0 +1,123 @@ +<?php +/** +* +* @copyright (c) 2012 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +define('IN_PHPBB', 1); +define('ANONYMOUS', 1); +$phpEx = substr(strrchr(__FILE__, '.'), 1); +$phpbb_root_path = __DIR__.'/../'; + +include($phpbb_root_path . 'common.'.$phpEx); + +function usage() +{ + echo "Usage: extensions.php COMMAND [OPTION]...\n"; + echo "Console extension manager.\n"; + echo "\n"; + echo "list:\n"; + echo " Lists all extensions in the database and the filesystem.\n"; + echo "\n"; + echo "enable NAME:\n"; + echo " Enables the specified extension.\n"; + echo "\n"; + echo "disable NAME:\n"; + echo " Disables the specified extension.\n"; + echo "\n"; + echo "purge NAME:\n"; + echo " Purges the specified extension.\n"; + exit(2); +} + +function list_extensions() +{ + global $phpbb_extension_manager; + + $phpbb_extension_manager->load_extensions(); + + echo "Enabled:\n"; + $enabled = array_keys($phpbb_extension_manager->all_enabled()); + print_extensions($enabled); + echo "\n"; + + echo "Disabled:\n"; + $disabled = array_keys($phpbb_extension_manager->all_disabled()); + print_extensions($disabled); + echo "\n"; + + echo "Available:\n"; + $all = array_keys($phpbb_extension_manager->all_available()); + $purged = array_diff($all, $enabled, $disabled); + print_extensions($purged); +} + +function print_extensions($exts) +{ + foreach ($exts as $ext) + { + echo "- $ext\n"; + } +} + +function enable_extension($name) +{ + global $phpbb_extension_manager; + + $phpbb_extension_manager->enable($name); +} + +function disable_extension($name) +{ + global $phpbb_extension_manager; + + $phpbb_extension_manager->disable($name); +} + +function purge_extension($name) +{ + global $phpbb_extension_manager; + + $phpbb_extension_manager->purge($name); +} + +function validate_argument_count($count) +{ + global $argv; + + if (count($argv) <= $count) + { + usage(); + } +} + +validate_argument_count(1); + +$action = $argv[1]; + +switch ($action) +{ + case 'list': + list_extensions(); + break; + + case 'enable': + validate_argument_count(2); + enable_extension($argv[2]); + break; + + case 'disable': + validate_argument_count(2); + disable_extension($argv[2]); + break; + + case 'purge': + validate_argument_count(2); + purge_extension($argv[2]); + break; + + default: + usage(); +} |