aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/develop/extensions.php
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-03-11 15:18:33 +0100
committerIgor Wiedler <igor@wiedler.ch>2012-03-11 15:18:33 +0100
commitae984025f0575554bb78fef9dcf66233748e97c8 (patch)
tree633c4940c92626dfbd06efa70987f99e03bd0b28 /phpBB/develop/extensions.php
parente02d92ac62fbe1dc08994444c18a7447d72c56e6 (diff)
parent3850b05fbb9a292957e41023fcea797191442692 (diff)
downloadforums-ae984025f0575554bb78fef9dcf66233748e97c8.tar
forums-ae984025f0575554bb78fef9dcf66233748e97c8.tar.gz
forums-ae984025f0575554bb78fef9dcf66233748e97c8.tar.bz2
forums-ae984025f0575554bb78fef9dcf66233748e97c8.tar.xz
forums-ae984025f0575554bb78fef9dcf66233748e97c8.zip
Merge branch 'develop' into feature/event-dispatcher
* develop: (95 commits) [ticket/9084] Explain the logic. [ticket/10653] Call get_row_count of base class in mysql get_estimated_row_count [ticket/9813] Only get posts table row count if we detected a fulltext index. [feature/append_var] Adding test case [ticket/7432] Delete redundant reference to "appropriate menu item". [ticket/10618] Change phpBB 3 to phpBB 3.1. [ticket/10685] Refactor template test defaults for php 5.4 compatibility. [feature/append_var] Adding append_var template class function [ticket/9813] Also use estimated row count of posts table for fulltext mysql. [ticket/10653] Fix parameter to substr() in unit tests. Should be 1, not -1. [ticket/10653] Unit tests for get_row_count() and get_estimated_row_count(). [ticket/10653] Add ability to count table rows to database abstraction layer. [ticket/9813] Use table status row count only if greater than 100000 or exact. [ticket/9813] Use SHOW TABLE STATUS to get search stats for native on MySQL. [ticket/8652] Comment for also updating forum watch table in user_notification. [ticket/8652] Sending 2 emails on 2 replies [ticket/10680] Add /phpBB/ext/* to .gitignore [ticket/10672] Fix total post count language string in statistics and feed [ticket/9220] Remove margin on table.table1 so it's centered in the blue box. [ticket/10453] Fixing spacing ... Conflicts: tests/bootstrap.php
Diffstat (limited to 'phpBB/develop/extensions.php')
-rw-r--r--phpBB/develop/extensions.php123
1 files changed, 123 insertions, 0 deletions
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();
+}