Ignore:
Timestamp:
Apr 12, 2011, 2:30:28 AM (13 years ago)
Author:
mistic100
Message:

new plugins manager, update TipTip in v1.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/themes/default/template/plugins_list.tpl

    r10293 r10305  
    1 {footer_script}
     1{combine_script id='jquery.ajaxmanager' load='footer' require='jquery' path='themes/default/js/plugins/jquery.ajaxmanager.js' }
     2
     3{footer_script require='jquery.ajaxmanager'}
     4/* incompatible message */
    25var incompatible_msg = '{'WARNING! This plugin does not seem to be compatible with this version of Piwigo.'|@translate|@escape:'javascript'}';
    36incompatible_msg += '\n';
    47incompatible_msg += '{'Do you want to activate anyway?'|@translate|@escape:'javascript'}';
    58
     9/* group action */
     10var pwg_token = '{$PWG_TOKEN}';
     11var confirmMsg  = '{'Are you sure?'|@translate|@escape:'javascript'}';
    612{literal}
     13var queuedManager = jQuery.manageAjax.create('queued', {
     14  queue: true, 
     15  maxRequests: 1,
     16  complete: function() { location.reload(); }
     17});
     18
    719jQuery(document).ready(function() {
    8   jQuery('.incompatible').click(function() {
     20  /* group action */
     21  jQuery('a.deactivate_all').click(function() {
     22    if (confirm(confirmMsg)) {
     23      jQuery('div.active').each(function() {
     24        performPluginAction(jQuery(this).attr('id'), 'deactivate');
     25      });
     26    }
     27  });
     28  jQuery('a.activate_all').click(function() {
     29    if (confirm(confirmMsg)) {
     30      jQuery('div.inactive').each(function() {
     31        performPluginAction(jQuery(this).attr('id'), 'activate');
     32      });
     33    }
     34  });
     35  function performPluginAction(id, action) {
     36   queuedManager.add({
     37      type: 'GET',
     38      dataType: 'json',
     39      url: 'ws.php',
     40      data: { method: 'pwg.plugins.performAction', action: action, plugin: id, pwg_token: pwg_token, format: 'json' },
     41      success: function(data) {
     42        if (data['stat'] == 'ok') {
     43          if (action == 'deactivate')
     44            jQuery("#"+id).removeClass('active').addClass('inactive');
     45          else
     46            jQuery("#"+id).removeClass('inactive').addClass('active');
     47        }
     48      }
     49    });
     50  };
     51
     52  /* incompatible message */
     53  jQuery('.incompatible a.incompatible').click(function() {
    954    return confirm(incompatible_msg);
    1055  });
     56 
     57  /* TipTips */
    1158  jQuery('.warning').tipTip({
    1259    'delay' : 0,
    1360    'fadeIn' : 200,
    14     'fadeOut' : 200
     61    'fadeOut' : 200,
     62    'maxWidth':'250px'
     63  }).click(function(){
     64    return false;
     65  });
     66  jQuery('.pluginMiniBoxDesc').tipTip({
     67    'delay' : 0,
     68    'fadeIn' : 200,
     69    'fadeOut' : 200,
     70    'maxWidth':'300px', /* not effective, TipTip bug */
     71    'keepAlive':true
     72  }).click(function(){
     73    return false;
    1574  });
    1675});
    17 {/literal}{/footer_script}
     76{/literal}
     77{/footer_script}
    1878
    1979<div class="titrePage">
     80  <span class="sort">
     81    <form action="" method="get" name="change_order">
     82      <input type="hidden" name="page" value="plugins_list"/>
     83      {'Sort order'|@translate} :
     84      <select name="plugin_order" onchange="this.form.submit();">
     85        <option value="status" {if $plugin_order=='state'}selected="selected"{/if}>{'Status'|@translate}</option>
     86        <option value="name" {if $plugin_order=='name'}selected="selected"{/if}>{'Name'|@translate}</option>
     87      </select>
     88      &nbsp;&nbsp;|&nbsp;&nbsp;
     89      {'Display'|@translate} :
     90      <select name="plugin_display" onchange="this.form.submit();">
     91        <option value="compact" {if $plugin_diplay=='compact'}selected="selected"{/if}>{'Compact'|@translate}</option>
     92        <option value="complete" {if $plugin_display=='complete'}selected="selected"{/if}>{'Complete'|@translate}</option>
     93      </select>
     94      &nbsp;&nbsp;|&nbsp;&nbsp;
     95      <a class="deactivate_all">{'Deactivate'|@translate} {'all'|@translate}</a>
     96      {* &nbsp;&nbsp;|&nbsp;&nbsp;
     97      <a class="activate_all">{'Activate'|@translate} {'all'|@translate}</a> *}
     98    </form>
     99  </span>
    20100  <h2>{'Plugins'|@translate}</h2>
    21101</div>
     
    23103{if isset($plugins)}
    24104
    25 {foreach from=$plugin_states item=plugin_state}
    26 <fieldset>
    27   <legend>
    28   {if $plugin_state == 'active'}
    29   {'Active Plugins'|@translate}
    30 
    31   {elseif $plugin_state == 'inactive'}
    32   {'Inactive Plugins'|@translate}
    33 
    34   {elseif $plugin_state == 'missing'}
    35   {'Missing Plugins'|@translate}
    36 
    37   {elseif $plugin_state == 'merged'}
    38   {'Obsolete Plugins'|@translate}
    39 
     105{assign var='field_name' value='null'}
     106{foreach from=$plugins item=plugin name=plugins_loop}
     107   
     108{if $plugin_order == 'state' AND $field_name != $plugin.STATE}
     109  {if $field_name != 'null'}</fieldset>{/if}
     110  <fieldset class="pluginBoxes pluginsByState">
     111    <legend>
     112    {if $plugin.STATE == 'active'}
     113      {'Active Plugins'|@translate}
     114    {elseif $plugin.STATE == 'inactive'}
     115      {'Inactive Plugins'|@translate}
     116    {elseif $plugin.STATE == 'missing'}
     117      {'Missing Plugins'|@translate}
     118    {elseif $plugin.STATE == 'merged'}
     119      {'Obsolete Plugins'|@translate}
     120    {/if}
     121    </legend>
     122  {assign var='field_name' value=$plugin.STATE}
     123
     124{elseif $field_name == 'null'}
     125  <fieldset class="pluginBoxes pluginsByName">
     126  {assign var='field_name' value='not_null'}
     127
     128{/if}
     129
     130  {if not empty($plugin.AUTHOR)}
     131    {if not empty($plugin.AUTHOR_URL)}
     132      {assign var='author' value="<a href='%s'>%s</a>"|@sprintf:$plugin.AUTHOR_URL:$plugin.AUTHOR}
     133    {else}
     134      {assign var='author' value='<u>'|cat:$plugin.AUTHOR|cat:'</u>'}
     135    {/if}
    40136  {/if}
    41   </legend>
    42   {foreach from=$plugins item=plugin name=plugins_loop}
    43     {if $plugin.STATE == $plugin_state}
    44   <div class="pluginBox">
    45     <table>
    46       <tr>
    47         <td class="pluginBoxNameCell{if $plugin.INCOMPATIBLE} warning" title="{'WARNING! This plugin does not seem to be compatible with this version of Piwigo.'|@translate|@escape:'html'}{/if}">
    48           {$plugin.NAME}
    49         </td>
    50         <td>{$plugin.DESC}</td>
    51       </tr>
    52       <tr>
    53         <td>
    54     {if $plugin.STATE == 'active'}
     137   
     138  {if $plugin_display == 'complete'}
     139    <div id="{$plugin.ID}" class="pluginBox {$plugin.STATE}{if $plugin.INCOMPATIBLE} incompatible{/if}">
     140      <table>
     141        <tr>
     142          <td class="pluginBoxNameCell">
     143            {if $plugin.INCOMPATIBLE}<a class="warning" title="{'WARNING! This plugin does not seem to be compatible with this version of Piwigo.'|@translate|@escape:'html'}"></a>{/if}
     144            {$plugin.NAME}
     145          </td>
     146          <td>{$plugin.DESC}</td>
     147        </tr>
     148        <tr>
     149          <td>
     150          {if $plugin.STATE == 'active'}
     151            <a href="{$plugin.U_ACTION}&amp;action=deactivate">{'Deactivate'|@translate}</a>
     152            | <a href="{$plugin.U_ACTION}&amp;action=restore" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Restore'|@translate}</a>
     153
     154          {elseif $plugin.STATE == 'inactive'}
     155            <a href="{$plugin.U_ACTION}&amp;action=activate" {if $plugin.INCOMPATIBLE}class="incompatible"{/if}>{'Activate'|@translate}</a>
     156            | <a href="{$plugin.U_ACTION}&amp;action=delete" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
     157
     158          {elseif $plugin.STATE == 'missing'}
     159            <a href="{$plugin.U_ACTION}&amp;action=uninstall" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
     160
     161          {elseif $plugin.STATE == 'merged'}
     162            <a href="{$plugin.U_ACTION}&amp;action=delete" class="plugin-delete">{'Delete'|@translate}</a>
     163          {/if}
     164          </td>
     165          <td>
     166            {'Version'|@translate} {$plugin.VERSION}
     167           
     168          {if not empty($author)}
     169            | {'By %s'|@translate|@sprintf:$author}
     170          {/if}
     171
     172          {if not empty($plugin.VISIT_URL)}
     173            | <a class="externalLink" href="{$plugin.VISIT_URL}">{'Visit plugin site'|@translate}</a>
     174          {/if}
     175          </td>
     176        </tr>
     177      </table>
     178    </div> {*<!-- pluginBox -->*}
     179   
     180  {elseif $plugin_display == 'compact'}
     181    {if not empty($plugin.VISIT_URL)}
     182      {assign var='version' value="<a class='externalLink' href='"|cat:$plugin.VISIT_URL|cat:"'>"|cat:$plugin.VERSION|cat:"</a>"}
     183    {else
     184      {assign var='version' value=$plugin.VERSION}
     185    {/if}
     186         
     187    <div id="{$plugin.ID}" class="pluginMiniBox {$plugin.STATE}{if $plugin.INCOMPATIBLE} incompatible{/if}">
     188      <div class="pluginMiniBoxNameCell">
     189        {if $plugin.INCOMPATIBLE}<a class="warning" title="{'WARNING! This plugin does not seem to be compatible with this version of Piwigo.'|@translate|@escape:'html'}"></a>{/if}
     190        {$plugin.NAME}
     191        <a class="pluginMiniBoxDesc" title="{if !empty($author)}{'By %s'|@translate|@sprintf:$author} | {/if}{'Version'|@translate} {$version}<br/>{$plugin.DESC|@escape:'html'}"></a>
     192      </div>
     193      <div class="pluginActions">
     194        <div>
     195        {if $plugin.STATE == 'active'}
    55196          <a href="{$plugin.U_ACTION}&amp;action=deactivate">{'Deactivate'|@translate}</a>
    56197          | <a href="{$plugin.U_ACTION}&amp;action=restore" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Restore'|@translate}</a>
    57198
    58     {elseif $plugin_state == 'inactive'}
     199        {elseif $plugin.STATE == 'inactive'}
    59200          <a href="{$plugin.U_ACTION}&amp;action=activate" {if $plugin.INCOMPATIBLE}class="incompatible"{/if}>{'Activate'|@translate}</a>
    60           | <a href="{$plugin.U_ACTION}&amp;action=delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
    61 
    62     {elseif $plugin_state == 'missing'}
    63           <a href="{$plugin.U_ACTION}&amp;action=uninstall" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
    64 
    65     {elseif $plugin_state == 'merged'}
    66           <a href="{$plugin.U_ACTION}&amp;action=delete">{'Delete'|@translate}</a>
    67     {/if}
    68         </td>
    69         <td>
    70           {'Version'|@translate} {$plugin.VERSION}
    71     {if not empty($plugin.AUTHOR)}
    72       {if not empty($plugin.AUTHOR_URL)}
    73         {assign var='author' value='<a href="%s">%s</a>'|@sprintf:$plugin.AUTHOR_URL:$plugin.AUTHOR}
    74       {else}
    75         {assign var='author' value=$plugin.AUTHOR}
    76       {/if}
    77           | {'By %s'|@translate|@sprintf:$author}
    78     {/if}
    79 
    80     {if not empty($plugin.VISIT_URL)}
    81           | <a class="externalLink" href="{$plugin.VISIT_URL}">{'Visit plugin site'|@translate}</a>
    82     {/if}
    83         </td>
    84       </tr>
    85     </table>
    86   </div>
    87     {/if}
    88   {/foreach}
    89 </fieldset>
     201          | <a href="{$plugin.U_ACTION}&amp;action=delete"  class="plugin-delete"onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Delete'|@translate}</a>
     202
     203        {elseif $plugin.STATE == 'missing'}
     204          <a href="{$plugin.U_ACTION}&amp;action=uninstall" class="plugin-delete" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">{'Uninstall'|@translate}</a>
     205
     206        {elseif $plugin.STATE == 'merged'}
     207          <a href="{$plugin.U_ACTION}&amp;action=delete" class="plugin-delete">{'Delete'|@translate}</a>
     208        {/if}
     209        </div>
     210      </div>
     211    </div> {*<!-- pluginMiniBox -->*}
     212   
     213  {/if}
     214 
    90215{/foreach}
     216  </fieldset>
    91217
    92218{/if}
Note: See TracChangeset for help on using the changeset viewer.