feature 2084 added: new method pwg.plugins.getList and pwg.plugins.performAction

git-svn-id: http://piwigo.org/svn/trunk@8273 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall 2010-12-23 23:12:03 +00:00
commit ae5438fbce
2 changed files with 95 additions and 0 deletions

View file

@ -2464,4 +2464,79 @@ function ws_images_checkUpload($params, &$service)
return $ret;
}
function ws_plugins_getList($params, &$service)
{
global $conf;
if (!is_admin())
{
return new PwgError(401, 'Access denied');
}
include_once(PHPWG_ROOT_PATH.'admin/include/plugins.class.php');
$plugins = new plugins();
$plugins->sort_fs_plugins('name');
$plugin_list = array();
foreach($plugins->fs_plugins as $plugin_id => $fs_plugin)
{
if (isset($plugins->db_plugins_by_id[$plugin_id]))
{
$state = $plugins->db_plugins_by_id[$plugin_id]['state'];
}
else
{
$state = 'uninstalled';
}
array_push(
$plugin_list,
array(
'id' => $plugin_id,
'name' => $fs_plugin['name'],
'version' => $fs_plugin['version'],
'state' => $state,
'description' => $fs_plugin['description'],
)
);
}
return $plugin_list;
}
function ws_plugins_performAction($params, &$service)
{
global $template;
if (!is_admin())
{
return new PwgError(401, 'Access denied');
}
if (empty($params['pwg_token']) or get_pwg_token() != $params['pwg_token'])
{
return new PwgError(403, 'Invalid security token');
}
define('IN_ADMIN', true);
include_once(PHPWG_ROOT_PATH.'admin/include/plugins.class.php');
$plugins = new plugins();
$errors = $plugins->perform_action($params['action'], $params['plugin']);
if (!empty($errors))
{
return new PwgError(500, $errors);
}
else
{
if (in_array($params['action'], array('activate', 'deactivate')))
{
$template->delete_compiled_templates();
}
return true;
}
}
?>