2012-02-03 03:42:53 -05:00
|
|
|
<?php
|
2012-02-06 16:49:50 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @copyright (c) 2012 phpBB Group
|
|
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
|
|
|
*
|
|
|
|
*/
|
2012-02-03 03:42:53 -05:00
|
|
|
|
|
|
|
define('IN_PHPBB', 1);
|
|
|
|
define('ANONYMOUS', 1);
|
|
|
|
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
2012-02-09 01:02:00 +01:00
|
|
|
$phpbb_root_path = __DIR__.'/../';
|
2012-02-03 03:42:53 -05:00
|
|
|
|
|
|
|
include($phpbb_root_path . 'common.'.$phpEx);
|
|
|
|
|
|
|
|
function usage()
|
|
|
|
{
|
2012-02-06 16:49:50 +01:00
|
|
|
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";
|
2012-02-09 01:03:51 +01:00
|
|
|
echo "\n";
|
|
|
|
echo "purge NAME:\n";
|
|
|
|
echo " Purges the specified extension.\n";
|
2012-02-03 03:42:53 -05:00
|
|
|
exit(2);
|
|
|
|
}
|
|
|
|
|
|
|
|
function list_extensions()
|
|
|
|
{
|
2012-02-09 01:36:06 +01:00
|
|
|
global $phpbb_extension_manager;
|
2012-02-03 03:42:53 -05:00
|
|
|
|
2012-02-09 01:36:06 +01:00
|
|
|
$phpbb_extension_manager->load_extensions();
|
2012-03-23 00:27:29 +05:30
|
|
|
$all = array_keys($phpbb_extension_manager->all_available());
|
|
|
|
|
|
|
|
if (empty($all))
|
|
|
|
{
|
|
|
|
echo "There were no extensions found.\n";
|
|
|
|
exit(3);
|
|
|
|
}
|
2012-02-09 01:03:17 +01:00
|
|
|
|
2012-02-09 01:36:06 +01:00
|
|
|
echo "Enabled:\n";
|
|
|
|
$enabled = array_keys($phpbb_extension_manager->all_enabled());
|
|
|
|
print_extensions($enabled);
|
|
|
|
echo "\n";
|
2012-02-03 03:42:53 -05:00
|
|
|
|
2012-02-09 01:36:06 +01:00
|
|
|
echo "Disabled:\n";
|
|
|
|
$disabled = array_keys($phpbb_extension_manager->all_disabled());
|
|
|
|
print_extensions($disabled);
|
|
|
|
echo "\n";
|
2012-02-03 03:42:53 -05:00
|
|
|
|
2012-02-11 17:31:22 -05:00
|
|
|
echo "Available:\n";
|
2012-02-09 01:36:06 +01:00
|
|
|
$purged = array_diff($all, $enabled, $disabled);
|
|
|
|
print_extensions($purged);
|
|
|
|
}
|
2012-02-03 03:42:53 -05:00
|
|
|
|
2012-02-09 01:36:06 +01:00
|
|
|
function print_extensions($exts)
|
|
|
|
{
|
|
|
|
foreach ($exts as $ext)
|
2012-02-03 03:42:53 -05:00
|
|
|
{
|
2012-02-09 01:36:06 +01:00
|
|
|
echo "- $ext\n";
|
2012-02-03 03:42:53 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function enable_extension($name)
|
|
|
|
{
|
2012-02-09 01:36:06 +01:00
|
|
|
global $phpbb_extension_manager;
|
2012-02-03 03:42:53 -05:00
|
|
|
|
|
|
|
$phpbb_extension_manager->enable($name);
|
|
|
|
}
|
|
|
|
|
|
|
|
function disable_extension($name)
|
|
|
|
{
|
2012-02-09 01:36:06 +01:00
|
|
|
global $phpbb_extension_manager;
|
2012-02-03 03:42:53 -05:00
|
|
|
|
|
|
|
$phpbb_extension_manager->disable($name);
|
|
|
|
}
|
|
|
|
|
2012-02-09 01:03:51 +01:00
|
|
|
function purge_extension($name)
|
|
|
|
{
|
2012-02-09 01:36:06 +01:00
|
|
|
global $phpbb_extension_manager;
|
2012-02-09 01:03:51 +01:00
|
|
|
|
|
|
|
$phpbb_extension_manager->purge($name);
|
|
|
|
}
|
|
|
|
|
2012-02-03 03:42:53 -05:00
|
|
|
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;
|
|
|
|
|
2012-02-09 01:03:51 +01:00
|
|
|
case 'purge':
|
|
|
|
validate_argument_count(2);
|
|
|
|
purge_extension($argv[2]);
|
|
|
|
break;
|
|
|
|
|
2012-02-03 03:42:53 -05:00
|
|
|
default:
|
|
|
|
usage();
|
|
|
|
}
|