new plugins manager, update TipTip in v1.3
git-svn-id: http://piwigo.org/svn/trunk@10305 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
b5592c8228
commit
f5c5a1b9b2
9 changed files with 269 additions and 91 deletions
|
|
@ -30,8 +30,13 @@ include_once(PHPWG_ROOT_PATH.'admin/include/plugins.class.php');
|
|||
|
||||
$template->set_filenames(array('plugins' => 'plugins_list.tpl'));
|
||||
|
||||
$base_url = get_root_url().'admin.php?page='.$page['page'];
|
||||
$action_url = $base_url.'&plugin='.'%s'.'&pwg_token='.get_pwg_token();
|
||||
// TODO : use a session parameter
|
||||
$plugin_order = isset($_GET['plugin_order']) ? $_GET['plugin_order'] : 'state';
|
||||
$plugin_display = isset($_GET['plugin_display']) ? $_GET['plugin_display'] : 'compact';
|
||||
|
||||
$base_url = get_root_url().'admin.php?page='.$page['page'].'&plugin_order='.$plugin_order.'&plugin_display='.$plugin_display;
|
||||
$pwg_token = get_pwg_token();
|
||||
$action_url = $base_url.'&plugin='.'%s'.'&pwg_token='.$pwg_token;
|
||||
|
||||
$plugins = new plugins();
|
||||
|
||||
|
|
@ -70,6 +75,7 @@ $plugins->sort_fs_plugins('name');
|
|||
$plugins->get_merged_extensions();
|
||||
$plugins->get_incompatible_plugins();
|
||||
$merged_plugins = false;
|
||||
$tpl_plugins = array();
|
||||
|
||||
foreach($plugins->fs_plugins as $plugin_id => $fs_plugin)
|
||||
{
|
||||
|
|
@ -81,6 +87,7 @@ foreach($plugins->fs_plugins as $plugin_id => $fs_plugin)
|
|||
}
|
||||
|
||||
$tpl_plugin = array(
|
||||
'ID' => $plugin_id,
|
||||
'NAME' => $fs_plugin['name'],
|
||||
'VISIT_URL' => $fs_plugin['uri'],
|
||||
'VERSION' => $fs_plugin['version'],
|
||||
|
|
@ -108,7 +115,7 @@ foreach($plugins->fs_plugins as $plugin_id => $fs_plugin)
|
|||
$merged_plugins = true;
|
||||
}
|
||||
|
||||
$template->append('plugins', $tpl_plugin);
|
||||
array_push($tpl_plugins, $tpl_plugin);
|
||||
}
|
||||
|
||||
$template->append('plugin_states', 'active');
|
||||
|
|
@ -128,8 +135,8 @@ if (count($missing_plugin_ids) > 0)
|
|||
{
|
||||
foreach($missing_plugin_ids as $plugin_id)
|
||||
{
|
||||
$template->append(
|
||||
'plugins',
|
||||
array_push(
|
||||
$tpl_plugins,
|
||||
array(
|
||||
'NAME' => $plugin_id,
|
||||
'VERSION' => $plugins->db_plugins_by_id[$plugin_id]['version'],
|
||||
|
|
@ -142,5 +149,35 @@ if (count($missing_plugin_ids) > 0)
|
|||
$template->append('plugin_states', 'missing');
|
||||
}
|
||||
|
||||
// sort plugins : state or name
|
||||
if ($plugin_order == 'name')
|
||||
{
|
||||
function cmp($a, $b)
|
||||
{
|
||||
return strcasecmp($a['NAME'], $b['NAME']);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
function cmp($a, $b)
|
||||
{
|
||||
$s = array('merged' => 0, 'missing' => 1, 'active' => 2, 'inactive' => 3);
|
||||
|
||||
if($a['STATE'] == $b['STATE'])
|
||||
return strcasecmp($a['NAME'], $b['NAME']);
|
||||
else
|
||||
return $s[$a['STATE']] >= $s[$b['STATE']];
|
||||
}
|
||||
$plugin_order = 'state';
|
||||
}
|
||||
|
||||
usort($tpl_plugins, 'cmp');
|
||||
$template->assign(array(
|
||||
'plugin_order' => $plugin_order,
|
||||
'plugin_display' => $plugin_display,
|
||||
'plugins' => $tpl_plugins,
|
||||
'PWG_TOKEN' => $pwg_token,
|
||||
));
|
||||
|
||||
$template->assign_var_from_handle('ADMIN_CONTENT', 'plugins');
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue