plugin manager : delete ordering by name, fiw some styles
git-svn-id: http://piwigo.org/svn/trunk@11010 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
937aed04e6
commit
489af703b1
5 changed files with 56 additions and 80 deletions
|
@ -30,10 +30,8 @@ include_once(PHPWG_ROOT_PATH.'admin/include/plugins.class.php');
|
|||
|
||||
$template->set_filenames(array('plugins' => 'plugins_list.tpl'));
|
||||
|
||||
// order and display mode
|
||||
$plugin_order = isset($_GET['plugin_order']) ? $_GET['plugin_order'] : (pwg_get_session_var('plugin_order') != null ? pwg_get_session_var('plugin_order') : 'state');
|
||||
// display mode
|
||||
$plugin_display = isset($_GET['plugin_display']) ? $_GET['plugin_display'] : (pwg_get_session_var('plugin_display') != null ? pwg_get_session_var('plugin_display') : 'compact');
|
||||
pwg_set_session_var('plugin_order', $plugin_order);
|
||||
pwg_set_session_var('plugin_display', $plugin_display);
|
||||
|
||||
$base_url = get_root_url().'admin.php?page='.$page['page'];
|
||||
|
@ -148,31 +146,19 @@ if (count($missing_plugin_ids) > 0)
|
|||
$template->append('plugin_states', 'missing');
|
||||
}
|
||||
|
||||
// sort plugins : state or name
|
||||
if ($plugin_order == 'name')
|
||||
{
|
||||
function cmp($a, $b)
|
||||
{
|
||||
// sort plugins by state then by name
|
||||
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']];
|
||||
}
|
||||
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,
|
||||
|
|
|
@ -257,12 +257,11 @@ display:block; height:85px; left:225px; position:relative; top:-42px; width:313p
|
|||
#pwgHead A:hover, #footer A:hover {color:black; border-color:black;}
|
||||
#footer { background-image: url(images/piwigo_logo_small.png);}
|
||||
|
||||
.pluginBox, .pluginMiniBox {background-color:#ddd;color:#353535;border:1px solid #ddd;}
|
||||
.pluginBox, .pluginMiniBox {background-color:#ddd;color:#353535;border-color:#ddd;}
|
||||
.pluginBoxNameCell, .pluginMiniBoxNameCell {color:#111;}
|
||||
.pluginBox.active, .pluginMiniBox.active {border-color:#666;background-color:#dadada;}
|
||||
.pluginBox.incompatible, .pluginMiniBox.incompatible {border-color:#a00 !important;}
|
||||
.pluginBox.missing, .pluginBox.merged, .pluginMiniBox.missing, .pluginMiniBox.merged {background-color:#d99;border:1px solid #a00;}
|
||||
.plugin-delete {color:#f00;}
|
||||
.pluginBoxes .merged, .pluginBoxes .missing {background-color:#d99;border:1px solid #a00;}
|
||||
.deactivate_all {color:#005E89;border-color:#005E89;}
|
||||
|
||||
.languageBox {background-color:#ddd;}
|
||||
.languageName {color:black;}
|
||||
|
|
|
@ -21,29 +21,19 @@ jQuery(document).ready(function() {
|
|||
jQuery('a.deactivate_all').click(function() {
|
||||
if (confirm(confirmMsg)) {
|
||||
jQuery('div.active').each(function() {
|
||||
performPluginAction(jQuery(this).attr('id'), 'deactivate');
|
||||
performPluginDeactivate(jQuery(this).attr('id'));
|
||||
});
|
||||
}
|
||||
});
|
||||
jQuery('a.activate_all').click(function() {
|
||||
if (confirm(confirmMsg)) {
|
||||
jQuery('div.inactive').each(function() {
|
||||
performPluginAction(jQuery(this).attr('id'), 'activate');
|
||||
});
|
||||
}
|
||||
});
|
||||
function performPluginAction(id, action) {
|
||||
function performPluginDeactivate(id) {
|
||||
queuedManager.add({
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
url: 'ws.php',
|
||||
data: { method: 'pwg.plugins.performAction', action: action, plugin: id, pwg_token: pwg_token, format: 'json' },
|
||||
data: { method: 'pwg.plugins.performAction', action: 'deactivate', plugin: id, pwg_token: pwg_token, format: 'json' },
|
||||
success: function(data) {
|
||||
if (data['stat'] == 'ok') {
|
||||
if (action == 'deactivate')
|
||||
jQuery("#"+id).removeClass('active').addClass('inactive');
|
||||
else
|
||||
jQuery("#"+id).removeClass('inactive').addClass('active');
|
||||
jQuery("#"+id).removeClass('active').addClass('inactive');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -80,23 +70,13 @@ jQuery(document).ready(function() {
|
|||
|
||||
<div class="titrePage">
|
||||
<span class="sort">
|
||||
<form action="" method="get" name="change_order">
|
||||
<form action="" method="get" name="change_display">
|
||||
<input type="hidden" name="page" value="plugins"/>
|
||||
{'Sort order'|@translate} :
|
||||
<select name="plugin_order" onchange="this.form.submit();">
|
||||
<option value="status" {if $plugin_order=='state'}selected="selected"{/if}>{'Status'|@translate}</option>
|
||||
<option value="name" {if $plugin_order=='name'}selected="selected"{/if}>{'Name'|@translate}</option>
|
||||
</select>
|
||||
|
|
||||
{'Display'|@translate} :
|
||||
<select name="plugin_display" onchange="this.form.submit();">
|
||||
<option value="compact" {if $plugin_diplay=='compact'}selected="selected"{/if}>{'Compact'|@translate}</option>
|
||||
<option value="complete" {if $plugin_display=='complete'}selected="selected"{/if}>{'Complete'|@translate}</option>
|
||||
</select>
|
||||
|
|
||||
<a class="deactivate_all">{'Deactivate'|@translate} {'all'|@translate}</a>
|
||||
{* |
|
||||
<a class="activate_all">{'Activate'|@translate} {'all'|@translate}</a> *}
|
||||
</form>
|
||||
</span>
|
||||
<h2>{'Plugins'|@translate}</h2>
|
||||
|
@ -107,9 +87,9 @@ jQuery(document).ready(function() {
|
|||
{assign var='field_name' value='null'}
|
||||
{foreach from=$plugins item=plugin name=plugins_loop}
|
||||
|
||||
{if $plugin_order == 'state' AND $field_name != $plugin.STATE}
|
||||
{if $field_name != $plugin.STATE}
|
||||
{if $field_name != 'null'}</fieldset>{/if}
|
||||
<fieldset class="pluginBoxes pluginsByState">
|
||||
<fieldset class="pluginBoxes">
|
||||
<legend>
|
||||
{if $plugin.STATE == 'active'}
|
||||
{'Active Plugins'|@translate}
|
||||
|
@ -122,11 +102,7 @@ jQuery(document).ready(function() {
|
|||
{/if}
|
||||
</legend>
|
||||
{assign var='field_name' value=$plugin.STATE}
|
||||
|
||||
{elseif $field_name == 'null'}
|
||||
<fieldset class="pluginBoxes pluginsByName">
|
||||
{assign var='field_name' value='not_null'}
|
||||
|
||||
{if $field_name == 'active'}<a class="deactivate_all">{'Deactivate'|@translate} {'all'|@translate}</a>{/if}
|
||||
{/if}
|
||||
|
||||
{if not empty($plugin.AUTHOR)}
|
||||
|
@ -147,7 +123,7 @@ jQuery(document).ready(function() {
|
|||
</td>
|
||||
<td>{$plugin.DESC}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr class="pluginActions">
|
||||
<td>
|
||||
{if $plugin.STATE == 'active'}
|
||||
<a href="{$plugin.U_ACTION}&action=deactivate">{'Deactivate'|@translate}</a>
|
||||
|
@ -155,13 +131,13 @@ jQuery(document).ready(function() {
|
|||
|
||||
{elseif $plugin.STATE == 'inactive'}
|
||||
<a href="{$plugin.U_ACTION}&action=activate" {if $plugin.INCOMPATIBLE}class="incompatible"{/if}>{'Activate'|@translate}</a>
|
||||
| <a href="{$plugin.U_ACTION}&action=delete" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
|
||||
| <a href="{$plugin.U_ACTION}&action=delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
|
||||
|
||||
{elseif $plugin.STATE == 'missing'}
|
||||
<a href="{$plugin.U_ACTION}&action=uninstall" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
|
||||
<a href="{$plugin.U_ACTION}&action=uninstall" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
|
||||
|
||||
{elseif $plugin.STATE == 'merged'}
|
||||
<a href="{$plugin.U_ACTION}&action=delete" class="plugin-delete">{'Delete'|@translate}</a>
|
||||
<a href="{$plugin.U_ACTION}&action=delete">{'Delete'|@translate}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
|
@ -199,13 +175,13 @@ jQuery(document).ready(function() {
|
|||
|
||||
{elseif $plugin.STATE == 'inactive'}
|
||||
<a href="{$plugin.U_ACTION}&action=activate" {if $plugin.INCOMPATIBLE}class="incompatible"{/if}>{'Activate'|@translate}</a>
|
||||
| <a href="{$plugin.U_ACTION}&action=delete" class="plugin-delete"onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
|
||||
| <a href="{$plugin.U_ACTION}&action=delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
|
||||
|
||||
{elseif $plugin.STATE == 'missing'}
|
||||
<a href="{$plugin.U_ACTION}&action=uninstall" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
|
||||
<a href="{$plugin.U_ACTION}&action=uninstall" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
|
||||
|
||||
{elseif $plugin.STATE == 'merged'}
|
||||
<a href="{$plugin.U_ACTION}&action=delete" class="plugin-delete">{'Delete'|@translate}</a>
|
||||
<a href="{$plugin.U_ACTION}&action=delete">{'Delete'|@translate}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -884,26 +884,42 @@ h2:lang(en) { text-transform:capitalize; }
|
|||
.checkActions {text-align:left;padding:0;margin:0;}
|
||||
.comment A:hover {border:none;}
|
||||
|
||||
.pluginBoxes {text-align:left;}
|
||||
.author-group {text-align:left;background:url('icon/remove_filter.png') left center no-repeat;padding-left:15px;margin-left:-15px;}
|
||||
.pluginBoxes {
|
||||
text-align:left;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.pluginBox {margin-bottom:10px;-moz-border-radius:5px;}
|
||||
.pluginBox {
|
||||
margin-bottom:10px;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-radius:5px;
|
||||
-moz-border-radius:5px;
|
||||
}
|
||||
.pluginBox table {width:99%;}
|
||||
.pluginBox td {text-align:left;}
|
||||
.pluginBox td.pluginDesc img {vertical-align:middle;}
|
||||
.pluginBoxNameCell {width:180px; vertical-align:top;}
|
||||
.pluginBox.inactive, .pluginBox.uninstalled {margin-left:20px;opacity:0.65;filter:alpha(opacity=65);}
|
||||
.pluginsByState .pluginBox.inactive, .pluginsByState .pluginBox.uninstalled {margin-left:0px;opacity:0.8;filter:alpha(opacity=80);}
|
||||
.pluginBoxes .inactive, .pluginBoxes .uninstalled {opacity:0.8;filter:alpha(opacity=80);}
|
||||
|
||||
.pluginMiniBox {display:inline-table; text-align:center; width:250px; height:40px; margin:5px; -moz-border-radius:5px; overflow:hidden; }
|
||||
.pluginMiniBox {
|
||||
display:inline-table;
|
||||
text-align:center;
|
||||
width:250px;
|
||||
height:40px;
|
||||
margin:5px;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-radius:5px;
|
||||
-moz-border-radius:5px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.pluginMiniBoxNameCell {font-size:1.05em; margin:5px 0;}
|
||||
.pluginActions {display: table-row; font-size:12px; }
|
||||
.pluginActions DIV {display: table-cell; vertical-align: middle; line-height:18px; }
|
||||
.pluginMiniBox.inactive, .pluginMiniBox.uninstalled {opacity:0.65;filter:alpha(opacity=65);}
|
||||
.pluginsByState .pluginMiniBox.inactive, .pluginsByState .pluginMiniBox.uninstalled {opacity:0.8;filter:alpha(opacity=80);}
|
||||
|
||||
.warning:before {content:url(icon/warning.png);vertical-align:top;}
|
||||
fieldset.pluginsByName{border:none;}
|
||||
.deactivate_all {position:absolute;bottom:-10px;right:18px;color:#f36;border-bottom:1px dotted #f36;font-size:0.8em;}
|
||||
|
||||
.languageBoxes {min-height:0;text-align:left;}
|
||||
.languageBox {display:inline-table; text-align:center; width:200px; height:40px; margin:5px; -moz-border-radius:5px; overflow:hidden; }
|
||||
|
|
|
@ -234,12 +234,11 @@ display:block; height:85px; left:225px; position:relative; top:-42px; width:313p
|
|||
#pwgHead, #footer {background-color:#222;}
|
||||
#footer {background-image: url(images/piwigo_logo_small.png);}
|
||||
|
||||
.pluginBox, .pluginMiniBox {background-color:#333;color:#999;border:1px solid #333;}
|
||||
.pluginBox, .pluginMiniBox {background-color:#333;color:#999;border-color:#333;}
|
||||
.pluginBoxNameCell, .pluginMiniBoxNameCell {color:#ddd;}
|
||||
.pluginBox.active, .pluginMiniBox.active {border-color:#666;background-color:#383838;}
|
||||
.pluginBox.incompatible, .pluginMiniBox.incompatible {border-color:#800 !important;}
|
||||
.pluginBox.missing, .pluginBox.merged, .pluginMiniBox.missing, .pluginMiniBox.merged {background-color:#422;border:1px solid #800;}
|
||||
.plugin-delete {color:#f00;}
|
||||
.pluginBoxes .merged, .pluginBoxes .missing {background-color:#422;border:1px solid #800;}
|
||||
.pluginActions { color:#666; }
|
||||
|
||||
.languageBox {background-color:#333;}
|
||||
.languageName {color:#ccc;}
|
||||
|
|
Loading…
Reference in a new issue