Dotclear


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/widgets/index.php

    r2256 r2403  
    5353          } 
    5454     } 
     55           
     56     # Append 1 widget 
     57     $wid = false; 
     58     if( gettype($_POST['append']) == 'array' && count($_POST['append']) == 1 ) { 
     59          $wid = array_keys($_POST['append']); 
     60          $wid = $wid[0]; 
     61     } 
    5562      
    5663     # Append widgets 
     
    6976          foreach ($addw as $k => $v) 
    7077          { 
    71                switch ($v) { 
    72                     case 'nav': 
    73                          $widgets_nav->append($__widgets->{$k}); 
    74                          break; 
    75                     case 'extra': 
    76                          $widgets_extra->append($__widgets->{$k}); 
    77                          break; 
    78                     case 'custom': 
    79                          $widgets_custom->append($__widgets->{$k}); 
    80                          break; 
    81                } 
     78               if( !$wid || $wid == $k ) 
     79               { 
     80                    switch ($v) { 
     81                         case 'nav': 
     82                              $widgets_nav->append($__widgets->{$k}); 
     83                              break; 
     84                         case 'extra': 
     85                              $widgets_extra->append($__widgets->{$k}); 
     86                              break; 
     87                         case 'custom': 
     88                              $widgets_custom->append($__widgets->{$k}); 
     89                              break; 
     90                    } 
     91               } 
     92                
    8293          } 
    8394           
     
    95106} 
    96107 
     108# Removing ? 
     109$removing = false; 
     110if ( isset($_POST['w']) && is_array($_POST['w']) ) { 
     111     foreach ($_POST['w'] as $nsid => $nsw) { 
     112          foreach ($nsw as $i => $v) { 
     113               if (!empty($v['_rem'])) { 
     114                    $removing = true; 
     115                    break 2; 
     116               } 
     117          } 
     118     } 
     119} 
     120 
     121# Move ? 
     122$move = false; 
     123if ( isset($_POST['w']) && is_array($_POST['w']) ) { 
     124     foreach ($_POST['w'] as $nsid => $nsw) { 
     125          foreach ($nsw as $i => $v) { 
     126               if (!empty($v['down'])) { 
     127                    $oldorder = $_POST['w'][$nsid][$i]['order']; 
     128                    $neworder = $oldorder + 1; 
     129                    if( isset($_POST['w'][$nsid][$neworder]) ) { 
     130                         $_POST['w'][$nsid][$i]['order'] = $neworder; 
     131                         $_POST['w'][$nsid][$neworder]['order'] = $oldorder; 
     132                         $move = true; 
     133                    } 
     134               } 
     135               if (!empty($v['up'])) { 
     136                    $oldorder = $_POST['w'][$nsid][$i]['order']; 
     137                    $neworder = $oldorder - 1; 
     138                    if( isset($_POST['w'][$nsid][$neworder]) ) { 
     139                         $_POST['w'][$nsid][$i]['order'] = $neworder; 
     140                         $_POST['w'][$nsid][$neworder]['order'] = $oldorder; 
     141                         $move = true; 
     142                    } 
     143               } 
     144          } 
     145     } 
     146} 
     147 
    97148# Update sidebars 
    98 if (!empty($_POST['wup'])) 
     149if (!empty($_POST['wup']) || $removing || $move ) 
    99150{ 
    100151     if (!isset($_POST['w']) || !is_array($_POST['w'])) { 
     
    104155     try 
    105156     { 
     157           
    106158          # Removing mark as _rem widgets 
    107159          foreach ($_POST['w'] as $nsid => $nsw) { 
     
    198250'<form id="listWidgets" action="'.$p_url.'" method="post"  class="widgets">'. 
    199251'<h3>'.__('Available widgets').'</h3>'. 
    200 '<p>'.__('Move widgets from this list to one of the sidebars.').'</p>'. 
     252'<p>'.__('Drag widgets from this list to one of the sidebars, for add.').'</p>'. 
    201253'<ul id="widgets-ref">'; 
    202254 
     
    208260     ($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</p>'. 
    209261     '<p class="manual-move remove-if-drag"><label class="classic">'.__('Append to:').'</label> '. 
    210      form::combo(array('addw['.$w->id().']'),$append_combo).'</p>'. 
     262     form::combo(array('addw['.$w->id().']'),$append_combo). 
     263     '<input type="submit" name="append['.$w->id().']" value="'.__('Add').'" /></p>'. 
    211264     '<div class="widgetSettings hidden-if-drag">'.$w->formSettings('w[void][0]',$j).'</div>'. 
    212265     '</li>'; 
     
    323376     } 
    324377      
    325      $res .= '<p class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget.').'</p>'; 
    326       
    327378     $res .= '<ul id="'.$id.'" class="connected">'; 
     379      
     380     $res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget for now.').'</li>'; 
    328381      
    329382     $i = 0; 
    330383     foreach ($widgets->elements() as $w) 
    331384     { 
     385          $upDisabled = $i == 0 ? '" disabled="" src="images/disabled_' : '" src="images/'; 
     386          $downDisabled = $i == count($widgets->elements())-1 ? '" disabled="" src="images/disabled_' : '" src="images/'; 
     387           
    332388          $iname = 'w['.$pr.']['.$i.']'; 
    333389           
    334390          $res .= 
    335391          '<li>'.form::hidden(array($iname.'[id]'),html::escapeHTML($w->id())). 
    336           '<p class="widget-name">'.form::field(array($iname.'[order]'),2,3,(string) $i,'hidden-if-drag','',0,'title="'.__('order').'"').' '.$w->name(). 
    337           ($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</p>'. 
    338           '<p class="removeWidget remove-if-drag"><label class="classic">'. 
    339           form::checkbox(array($iname.'[_rem]'),'1',0).' '.__('Remove widget'). 
    340           '</label></p>'. 
     392          '<p class="widget-name">'.form::field(array($iname.'[order]'),2,3,(string) $i,'hidden','',0,'title="'.__('order').'"'). 
     393          ' '.$w->name(). 
     394          ($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : ''). 
     395          '<span class="toolsWidget remove-if-drag">'. 
     396          '<input type="image" class="upWidget'.$upDisabled.'up.png" name="'.$iname.'[up]" value="'.__('Up the widget').'" />'. 
     397          '<input type="image" class="downWidget'.$downDisabled.'down.png" name="'.$iname.'[down]" value="'.__('Down the widget').'" />'.' '. 
     398          '<input type="image" class="removeWidget" src="images/trash.png" name="'.$iname.'[_rem]" value="'.__('Remove widget').'" />'. 
     399          '</span>'. 
     400          '<br class="clear"/></p>'. 
    341401          '<div class="widgetSettings hidden-if-drag">'.$w->formSettings($iname,$j).'</div>'. 
    342402          '</li>'; 
     
    347407      
    348408     $res .= '</ul>'; 
    349  
    350      if ($i > 0) { 
    351           $res .= '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'. 
    352                __('Drag widgets here to remove them from this sidebar.').'</li></ul>'; 
    353      } 
     409      
     410     $res .= '<ul class="sortable-delete"'.($i > 0 ? '':' style="display: none;"').'><li class="sortable-delete-placeholder">'. 
     411               __('Drag widgets here to remove.').'</li></ul>'; 
    354412      
    355413     return $res; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map