Changes in [2155:5db4eccf2e83:2396:078b31c02d82]
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
locales/_pot/main.pot
r2133 r2396 127 127 128 128 #: admin/_fake_l10n.php:37 129 msgid "Last entries from feed "129 msgid "Last entries from feed ( RSS or Atom )" 130 130 msgstr "" 131 131 -
locales/_pot/plugins.pot
r2133 r2396 2652 2652 2653 2653 #: plugins/widgets/index.php:199 2654 msgid " Move widgets from this list to one of the sidebars."2654 msgid "Drag widgets from this list to one of the sidebars, for add." 2655 2655 msgstr "" 2656 2656 … … 2760 2760 2761 2761 #: plugins/widgets/index.php:324 2762 msgid "No widget ."2762 msgid "No widget for now." 2763 2763 msgstr "" 2764 2764 … … 2768 2768 2769 2769 #: plugins/widgets/index.php:351 2770 msgid "Drag widgets here to remove them from this sidebar."2771 msgstr "" 2770 msgid "Drag widgets here to remove." 2771 msgstr "" -
locales/fr/main.po
r2145 r2396 102 102 msgstr "" 103 103 104 msgid "Last entries from feed "105 msgstr "Derniers billets du flux "104 msgid "Last entries from feed ( RSS or Atom )" 105 msgstr "Derniers billets du flux (RSS ou Atom)" 106 106 107 107 msgid "Simple text" -
locales/fr/plugins.po
r2142 r2396 1895 1895 msgstr "Widgets disponibles" 1896 1896 1897 msgid " Move widgets from this list to one of the sidebars."1898 msgstr "Déplacez des widgets de cette liste vers l'un des volets ."1897 msgid "Drag widgets from this list to one of the sidebars, for add." 1898 msgstr "Déplacez des widgets de cette liste vers l'un des volets, pour les ajouter." 1899 1899 1900 1900 msgid "order" … … 1976 1976 msgstr "Nom de l'élément de réglage :" 1977 1977 1978 msgid "No widget ."1979 msgstr "Aucun widget ."1978 msgid "No widget for now." 1979 msgstr "Aucun widget pour le moment." 1980 1980 1981 1981 msgid "Remove widget" 1982 1982 msgstr "Retirer le widget" 1983 1983 1984 msgid "Drag widgets here to remove them from this sidebar."1985 msgstr "Glisser les widgets ici pour les retirer du volet."1984 msgid "Drag widgets here to remove." 1985 msgstr "Glisser les widgets ici pour les retirer." 1986 1986 1987 1987 #~ msgid "Manage every blog configuration directive" … … 2051 2051 #~ msgstr "Liens d'abonnements aux flux RSS ou Atom" 2052 2052 2053 #~ msgid "Last entries from feed "2054 #~ msgstr "Derniers billets d 'un flux"2053 #~ msgid "Last entries from feed ( RSS or Atom )" 2054 #~ msgstr "Derniers billets du flux (RSS ou Atom)" 2055 2055 2056 2056 #~ msgid "Simple text" -
plugins/blogroll/_widgets.php
r1179 r2395 41 41 ) 42 42 ); 43 $w->links-> setting('content_only',__('Content only'),0,'check');44 $w->links-> setting('class',__('CSS class:'),'');43 $w->links->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 44 $w->links->advanced_setting('class',__('CSS class:'),''); 45 45 } 46 46 -
plugins/pages/_widgets.php
r1179 r2395 38 38 array(__('Ascending') => 'asc', __('Descending') => 'desc') 39 39 ); 40 $w->pages-> setting('content_only',__('Content only'),0,'check');41 $w->pages-> setting('class',__('CSS class:'),'');40 $w->pages->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 41 $w->pages->advanced_setting('class',__('CSS class:'),''); 42 42 } 43 43 -
plugins/simpleMenu/_widgets.php
r1179 r2395 27 27 ) 28 28 ); 29 $w->simplemenu-> setting('content_only',__('Content only'),0,'check');30 $w->simplemenu-> setting('class',__('CSS class:'),'');29 $w->simplemenu->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 30 $w->simplemenu->advanced_setting('class',__('CSS class:'),''); 31 31 } 32 32 } -
plugins/tags/_widgets.php
r1179 r2395 36 36 ) 37 37 ); 38 $w->tags-> setting('content_only',__('Content only'),0,'check');39 $w->tags-> setting('class',__('CSS class:'),'');38 $w->tags->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 39 $w->tags->advanced_setting('class',__('CSS class:'),''); 40 40 } 41 41 -
plugins/widgets/_default_widgets.php
r1610 r2395 22 22 $__widgets->search->setting('homeonly',__('Display on:'),0,'combo', 23 23 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 24 $__widgets->search-> setting('content_only',__('Content only'),0,'check');25 $__widgets->search-> setting('class',__('CSS class:'),'');24 $__widgets->search->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 25 $__widgets->search->advanced_setting('class',__('CSS class:'),''); 26 26 27 27 $__widgets->create('navigation',__('Navigation links'),array('defaultWidgets','navigation'),null,'List of navigation links'); … … 29 29 $__widgets->navigation->setting('homeonly',__('Display on:'),0,'combo', 30 30 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 31 $__widgets->navigation-> setting('content_only',__('Content only'),0,'check');32 $__widgets->navigation-> setting('class',__('CSS class:'),'');31 $__widgets->navigation->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 32 $__widgets->navigation->advanced_setting('class',__('CSS class:'),''); 33 33 34 34 $__widgets->create('bestof',__('Selected entries'),array('defaultWidgets','bestof'),null,'List of selected entries'); … … 37 37 $__widgets->bestof->setting('homeonly',__('Display on:'),1,'combo', 38 38 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 39 $__widgets->bestof-> setting('content_only',__('Content only'),0,'check');40 $__widgets->bestof-> setting('class',__('CSS class:'),'');39 $__widgets->bestof->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 40 $__widgets->bestof->advanced_setting('class',__('CSS class:'),''); 41 41 42 42 $__widgets->create('langs',__('Blog languages'),array('defaultWidgets','langs'),null,'List of available languages'); … … 44 44 $__widgets->langs->setting('homeonly',__('Display on:'),1,'combo', 45 45 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 46 $__widgets->langs-> setting('content_only',__('Content only'),0,'check');47 $__widgets->langs-> setting('class',__('CSS class:'),'');46 $__widgets->langs->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 47 $__widgets->langs->advanced_setting('class',__('CSS class:'),''); 48 48 49 49 $__widgets->create('categories',__('Categories'),array('defaultWidgets','categories'),null,'List of categories'); … … 53 53 $__widgets->categories->setting('homeonly',__('Display on:'),0,'combo', 54 54 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 55 $__widgets->categories-> setting('content_only',__('Content only'),0,'check');56 $__widgets->categories-> setting('class',__('CSS class:'),'');55 $__widgets->categories->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 56 $__widgets->categories->advanced_setting('class',__('CSS class:'),''); 57 57 58 58 $__widgets->create('subscribe',__('Subscribe links'),array('defaultWidgets','subscribe'),null,'RSS or Atom feed subscription links'); … … 61 61 $__widgets->subscribe->setting('homeonly',__('Display on:'),1,'combo', 62 62 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 63 $__widgets->subscribe-> setting('content_only',__('Content only'),0,'check');64 $__widgets->subscribe-> setting('class',__('CSS class:'),'');63 $__widgets->subscribe->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 64 $__widgets->subscribe->advanced_setting('class',__('CSS class:'),''); 65 65 66 $__widgets->create('feed',__('Feed reader'),array('defaultWidgets','feed'),null,'Last entries from feed ');66 $__widgets->create('feed',__('Feed reader'),array('defaultWidgets','feed'),null,'Last entries from feed ( RSS or Atom )'); 67 67 $__widgets->feed->setting('title',__('Title:'),__('Somewhere else')); 68 68 $__widgets->feed->setting('url',__('Feed URL:'),''); … … 70 70 $__widgets->feed->setting('homeonly',__('Display on:'),1,'combo', 71 71 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 72 $__widgets->feed-> setting('content_only',__('Content only'),0,'check');73 $__widgets->feed-> setting('class',__('CSS class:'),'');72 $__widgets->feed->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 73 $__widgets->feed->advanced_setting('class',__('CSS class:'),''); 74 74 75 75 $__widgets->create('text',__('Text'),array('defaultWidgets','text'),null,'Simple text'); … … 78 78 $__widgets->text->setting('homeonly',__('Display on:'),0,'combo', 79 79 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 80 $__widgets->text-> setting('content_only',__('Content only'),0,'check');81 $__widgets->text-> setting('class',__('CSS class:'),'');80 $__widgets->text->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 81 $__widgets->text->advanced_setting('class',__('CSS class:'),''); 82 82 83 83 $__widgets->create('lastposts',__('Last entries'),array('defaultWidgets','lastposts'),null,'List of last entries published'); … … 96 96 $__widgets->lastposts->setting('homeonly',__('Display on:'),1,'combo', 97 97 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 98 $__widgets->lastposts-> setting('content_only',__('Content only'),0,'check');99 $__widgets->lastposts-> setting('class',__('CSS class:'),'');98 $__widgets->lastposts->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 99 $__widgets->lastposts->advanced_setting('class',__('CSS class:'),''); 100 100 101 101 $__widgets->create('lastcomments',__('Last comments'),array('defaultWidgets','lastcomments'),null,'List of last comments posted'); … … 104 104 $__widgets->lastcomments->setting('homeonly',__('Display on:'),1,'combo', 105 105 array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2)); 106 $__widgets->lastcomments-> setting('content_only',__('Content only'),0,'check');107 $__widgets->lastcomments-> setting('class',__('CSS class:'),'');106 $__widgets->lastcomments->advanced_setting('content_only','',0,'radio', array(array(__('Content only'), '1'), array(__('Enclosing div'), '0'))); 107 $__widgets->lastcomments->advanced_setting('class',__('CSS class:'),''); 108 108 109 109 # --BEHAVIOR-- initWidgets -
plugins/widgets/class.widgets.php
r1474 r2395 139 139 public $append_callback = null; 140 140 private $settings = array(); 141 private $advance_id; 142 private $advanced_settings = array(); 141 143 142 144 public function serialize($order) { … … 144 146 foreach ($this->settings as $k=>$v) 145 147 $values[$k]=$v['value']; 148 foreach ($this->advanced_settings as $k=>$v) 149 $values[$k]=$v['value']; 146 150 $values['id']=$this->id; 147 151 $values['order']=$order; … … 189 193 public function __get($n) 190 194 { 195 $setting = null; 191 196 if (isset($this->settings[$n])) { 192 return $this->settings[$n]['value']; 193 } 194 return null; 197 $setting = $this->settings[$n]['value']; 198 } else if (isset($this->advanced_settings[$n])) { 199 $setting = $this->advanced_settings[$n]['value']; 200 } 201 return $setting; 195 202 } 196 203 … … 199 206 if (isset($this->settings[$n])) { 200 207 $this->settings[$n]['value'] = $v; 208 } else if (isset($this->advanced_settings[$n])) { 209 $this->advanced_settings[$n]['value'] = $v; 201 210 } 202 211 } … … 222 231 } 223 232 233 public function advanced_setting($name,$title,$value,$type='text') 234 { 235 if ($type == 'combo' || $type == 'radio') { 236 $options = @func_get_arg(4); 237 if (!is_array($options)) { 238 return false; 239 } 240 } 241 242 $this->advanced_settings[$name] = array( 243 'title' => $title, 244 'type' => $type, 245 'value' => $value 246 ); 247 248 if (isset($options)) { 249 $this->advanced_settings[$name]['options'] = $options; 250 } 251 } 252 253 public function advance_settings() 254 { 255 return $this->advanced_settings; 256 } 257 224 258 public function settings() 225 259 { … … 232 266 foreach ($this->settings as $id => $s) 233 267 { 234 $wfid = "wf-".$i; 235 $iname = $pr ? $pr.'['.$id.']' : $id; 236 switch ($s['type']) 268 $res .= $this->formSetting($id,$s,$pr,$i=0); 269 $i++; 270 } 271 272 if ( count($this->advanced_settings) > 0 ) 273 { 274 $res .= '<div class="widgetAdvancedSettings">'; 275 $res .= '<h5>'.__('Réglages avancés').'</h5>'; 276 277 foreach ($this->advanced_settings as $id => $s) 237 278 { 238 case 'text': 239 $res .= 240 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 241 form::field(array($iname,$wfid),20,255,html::escapeHTML($s['value']),'maximal'). 242 '</p>'; 243 break; 244 case 'textarea': 245 $res .= 246 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 247 form::textarea(array($iname,$wfid),30,5,html::escapeHTML($s['value']),'maximal'). 248 '</p>'; 249 break; 250 case 'check': 251 $res .= 252 '<p>'.form::hidden(array($iname),'0'). 253 '<label class="classic" for="'.$wfid.'">'. 254 form::checkbox(array($iname,$wfid),'1',$s['value']).' '.$s['title']. 255 '</label></p>'; 256 break; 257 case 'combo': 258 $res .= 259 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 260 form::combo(array($iname,$wfid),$s['options'],$s['value']). 261 '</p>'; 262 break; 263 } 264 $i++; 279 $res .= $this->formSetting($id,$s,$pr,$i); 280 $i++; 281 } 282 283 $res .= '</div>'; 284 } 285 286 return $res; 287 } 288 289 public function formSetting($id,$s,$pr='',&$i=0) 290 { 291 $res = ''; 292 $wfid = "wf-".$i; 293 $iname = $pr ? $pr.'['.$id.']' : $id; 294 switch ($s['type']) 295 { 296 case 'text': 297 $res .= 298 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 299 form::field(array($iname,$wfid),20,255,html::escapeHTML($s['value']),'maximal'). 300 '</p>'; 301 break; 302 case 'textarea': 303 $res .= 304 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 305 form::textarea(array($iname,$wfid),30,5,html::escapeHTML($s['value']),'maximal'). 306 '</p>'; 307 break; 308 case 'check': 309 $res .= 310 '<p>'.form::hidden(array($iname),'0'). 311 '<label class="classic" for="'.$wfid.'">'. 312 form::checkbox(array($iname,$wfid),'1',$s['value']).' '.$s['title']. 313 '</label></p>'; 314 break; 315 case 'radio': 316 $res .= '<p>'.($s['title'] ? '<label class="classic">'.$s['title'].'</label><br/>' : ''); 317 if(!empty($s['options'])) { 318 foreach ($s['options'] as $k => $v) { 319 $res .= $k > 0 ? '<br/>' : ''; 320 $res .= 321 '<label class="classic" for="'.$wfid.'-'.$k.'">'. 322 form::radio(array($iname,$wfid.'-'.$k),$v[1],$s['value'] == $v[1]).' '.$v[0]. 323 '</label>'; 324 } 325 } 326 $res .= '</p>'; 327 break; 328 case 'combo': 329 $res .= 330 '<p><label for="'.$wfid.'">'.$s['title'].'</label> '. 331 form::combo(array($iname,$wfid),$s['options'],$s['value']). 332 '</p>'; 333 break; 265 334 } 266 335 -
plugins/widgets/dragdrop.js
r1766 r2395 27 27 handle: ".widget-name", 28 28 placeholder: "ui-sortable-placeholder", 29 items: "li:not(.sortable-delete-placeholder )",29 items: "li:not(.sortable-delete-placeholder,.empty-widgets)", 30 30 connectWith: ".connected, .sortable-delete", 31 31 start: function( event, ui ) { … … 43 43 44 44 // signale les zones vides 45 if( ul.find('li').length == 0 ) 46 field.find('.empty-widgets').show(); 47 else field.find('.empty-widgets').hide(); 45 if( ul.find('li:not(.empty-widgets)').length == 0 ) { 46 ul.find('li.empty-widgets').show(); 47 field.find('ul.sortable-delete').hide(); 48 } else { 49 ul.find('li.empty-widgets').hide(); 50 field.find('ul.sortable-delete').show(); 51 } 48 52 49 53 // remove … … 95 99 } 96 100 }); 97 $("li.ui-draggable, ul.ui-sortable li").css({'cursor':'move'}); 101 102 $("li.ui-draggable, ul.ui-sortable li") 103 .not('ul.sortable-delete li, li.empty-widgets') 104 .css({'cursor':'move'}); 98 105 }); -
plugins/widgets/index.php
r1993 r2395 13 13 14 14 include dirname(__FILE__).'/_default_widgets.php'; 15 16 # Loading navigation, extra widgets and custom widgets17 $widgets_nav = null;18 if ($core->blog->settings->widgets->widgets_nav) {19 $widgets_nav = dcWidgets::load($core->blog->settings->widgets->widgets_nav);20 }21 $widgets_extra = null;22 if ($core->blog->settings->widgets->widgets_extra) {23 $widgets_extra = dcWidgets::load($core->blog->settings->widgets->widgets_extra);24 }25 $widgets_custom = null;26 if ($core->blog->settings->widgets->widgets_custom) {27 $widgets_custom = dcWidgets::load($core->blog->settings->widgets->widgets_custom);28 }29 30 $append_combo = array(31 '-' => 0,32 __('navigation') => 'nav',33 __('extra') => 'extra',34 __('custom') => 'custom'35 );36 37 function literalNullString($v)38 {39 if ($v == '') {40 return '<'.__('empty string').'>';41 }42 return $v;43 }44 45 # Adding widgets to sidebars46 if (!empty($_POST['append']) && is_array($_POST['addw']))47 {48 # Filter selection49 $addw = array();50 foreach ($_POST['addw'] as $k => $v) {51 if (($v == 'extra' || $v == 'nav' || $v == 'custom') && $__widgets->{$k} !== null ) {52 $addw[$k] = $v;53 }54 }55 56 # Append widgets57 if (!empty($addw))58 {59 if (!($widgets_nav instanceof dcWidgets)) {60 $widgets_nav = new dcWidgets;61 }62 if (!($widgets_extra instanceof dcWidgets)) {63 $widgets_extra = new dcWidgets();64 }65 if (!($widgets_custom instanceof dcWidgets)) {66 $widgets_custom = new dcWidgets();67 }68 69 foreach ($addw as $k => $v)70 {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 }82 }83 84 try {85 $core->blog->settings->addNamespace('widgets');86 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store());87 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store());88 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store());89 $core->blog->triggerBlog();90 http::redirect($p_url);91 } catch (Exception $e) {92 $core->error->add($e->getMessage());93 }94 }95 }96 97 # Update sidebars98 if (!empty($_POST['wup']))99 {100 if (!isset($_POST['w']) || !is_array($_POST['w'])) {101 $_POST['w'] = array();102 }103 104 try105 {106 # Removing mark as _rem widgets107 foreach ($_POST['w'] as $nsid => $nsw) {108 foreach ($nsw as $i => $v) {109 if (!empty($v['_rem'])) {110 unset($_POST['w'][$nsid][$i]);111 continue;112 }113 }114 }115 116 if (!isset($_POST['w']['nav'])) {117 $_POST['w']['nav'] = array();118 }119 if (!isset($_POST['w']['extra'])) {120 $_POST['w']['extra'] = array();121 }122 if (!isset($_POST['w']['custom'])) {123 $_POST['w']['custom'] = array();124 }125 126 $widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets);127 $widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets);128 $widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets);129 130 $core->blog->settings->addNamespace('widgets');131 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store());132 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store());133 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store());134 $core->blog->triggerBlog();135 136 http::redirect($p_url);137 }138 catch (Exception $e)139 {140 $core->error->add($e->getMessage());141 }142 }143 elseif (!empty($_POST['wreset']))144 {145 try146 {147 $core->blog->settings->addNamespace('widgets');148 $core->blog->settings->widgets->put('widgets_nav','');149 $core->blog->settings->widgets->put('widgets_extra','');150 $core->blog->settings->widgets->put('widgets_custom','');151 $core->blog->triggerBlog();152 153 http::redirect($p_url);154 }155 catch (Exception $e)156 {157 $core->error->add($e->getMessage());158 }159 }160 15 ?> 161 16 <html> … … 187 42 <body> 188 43 <?php 44 # Loading navigation, extra widgets and custom widgets 45 $widgets_nav = null; 46 if ($core->blog->settings->widgets->widgets_nav) { 47 $widgets_nav = dcWidgets::load($core->blog->settings->widgets->widgets_nav); 48 } 49 $widgets_extra = null; 50 if ($core->blog->settings->widgets->widgets_extra) { 51 $widgets_extra = dcWidgets::load($core->blog->settings->widgets->widgets_extra); 52 } 53 $widgets_custom = null; 54 if ($core->blog->settings->widgets->widgets_custom) { 55 $widgets_custom = dcWidgets::load($core->blog->settings->widgets->widgets_custom); 56 } 57 58 $append_combo = array( 59 '-' => 0, 60 __('navigation') => 'nav', 61 __('extra') => 'extra', 62 __('custom') => 'custom' 63 ); 64 65 function literalNullString($v) 66 { 67 if ($v == '') { 68 return '<'.__('empty string').'>'; 69 } 70 return $v; 71 } 72 73 # Adding widgets to sidebars 74 if (!empty($_POST['append']) && is_array($_POST['addw'])) 75 { 76 # Filter selection 77 $addw = array(); 78 foreach ($_POST['addw'] as $k => $v) { 79 if (($v == 'extra' || $v == 'nav' || $v == 'custom') && $__widgets->{$k} !== null ) { 80 $addw[$k] = $v; 81 } 82 } 83 84 # Append 1 widget 85 $wid = false; 86 if( gettype($_POST['append']) == 'array' && count($_POST['append']) == 1 ) { 87 $wid = array_keys($_POST['append']); 88 $wid = $wid[0]; 89 } 90 91 # Append widgets 92 if (!empty($addw)) 93 { 94 if (!($widgets_nav instanceof dcWidgets)) { 95 $widgets_nav = new dcWidgets; 96 } 97 if (!($widgets_extra instanceof dcWidgets)) { 98 $widgets_extra = new dcWidgets(); 99 } 100 if (!($widgets_custom instanceof dcWidgets)) { 101 $widgets_custom = new dcWidgets(); 102 } 103 104 foreach ($addw as $k => $v) 105 { 106 if( !$wid || $wid == $k ) 107 { 108 switch ($v) { 109 case 'nav': 110 $widgets_nav->append($__widgets->{$k}); 111 break; 112 case 'extra': 113 $widgets_extra->append($__widgets->{$k}); 114 break; 115 case 'custom': 116 $widgets_custom->append($__widgets->{$k}); 117 break; 118 } 119 } 120 121 } 122 123 try { 124 $core->blog->settings->addNamespace('widgets'); 125 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 126 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 127 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 128 $core->blog->triggerBlog(); 129 http::redirect($p_url); 130 } catch (Exception $e) { 131 $core->error->add($e->getMessage()); 132 } 133 } 134 } 135 136 # Update sidebars 137 if (!empty($_POST['wup'])) 138 { 139 if (!isset($_POST['w']) || !is_array($_POST['w'])) { 140 $_POST['w'] = array(); 141 } 142 143 try 144 { 145 # Removing mark as _rem widgets 146 foreach ($_POST['w'] as $nsid => $nsw) { 147 foreach ($nsw as $i => $v) { 148 if (!empty($v['_rem'])) { 149 unset($_POST['w'][$nsid][$i]); 150 continue; 151 } 152 } 153 } 154 155 if (!isset($_POST['w']['nav'])) { 156 $_POST['w']['nav'] = array(); 157 } 158 if (!isset($_POST['w']['extra'])) { 159 $_POST['w']['extra'] = array(); 160 } 161 if (!isset($_POST['w']['custom'])) { 162 $_POST['w']['custom'] = array(); 163 } 164 165 $widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets); 166 $widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets); 167 $widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets); 168 169 $core->blog->settings->addNamespace('widgets'); 170 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 171 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 172 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 173 $core->blog->triggerBlog(); 174 175 http::redirect($p_url); 176 } 177 catch (Exception $e) 178 { 179 $core->error->add($e->getMessage()); 180 } 181 } 182 elseif (!empty($_POST['wreset'])) 183 { 184 try 185 { 186 $core->blog->settings->addNamespace('widgets'); 187 $core->blog->settings->widgets->put('widgets_nav',''); 188 $core->blog->settings->widgets->put('widgets_extra',''); 189 $core->blog->settings->widgets->put('widgets_custom',''); 190 $core->blog->triggerBlog(); 191 192 http::redirect($p_url); 193 } 194 catch (Exception $e) 195 { 196 $core->error->add($e->getMessage()); 197 } 198 } 199 /*?> 200 <html> 201 <head> 202 <title><?php echo __('Widgets'); ?></title> 203 <style type="text/css"> 204 <?php echo file_get_contents(dirname(__FILE__).'/style.css'); ?> 205 </style> 206 <?php 207 echo 208 dcPage::jsLoad('js/jquery/jquery-ui.custom.js'). 209 dcPage::jsLoad('index.php?pf=widgets/widgets.js'); 210 ?> 211 <?php 212 $core->auth->user_prefs->addWorkspace('accessibility'); 213 $user_dm_nodragdrop = $core->auth->user_prefs->accessibility->nodragdrop; 214 ?> 215 <?php if (!$user_dm_nodragdrop) : ?> 216 <script type="text/javascript" src="index.php?pf=widgets/dragdrop.js"></script> 217 <?php endif; ?> 218 <script type="text/javascript"> 219 //<![CDATA[ 220 <?php echo dcPage::jsVar('dotclear.msg.confirm_widgets_reset', 221 __('Are you sure you want to reset sidebars?')); ?> 222 //]]> 223 </script> 224 <?php echo(dcPage::jsConfirmClose('sidebarsWidgets')); ?> 225 </head> 226 <body> 227 <?php*/ 189 228 echo dcPage::breadcrumb( 190 229 array( … … 197 236 '<form id="listWidgets" action="'.$p_url.'" method="post" class="widgets">'. 198 237 '<h3>'.__('Available widgets').'</h3>'. 199 '<p>'.__(' Move widgets from this list to one of the sidebars.').'</p>'.238 '<p>'.__('Drag widgets from this list to one of the sidebars, for add.').'</p>'. 200 239 '<ul id="widgets-ref">'; 201 240 … … 207 246 ($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</p>'. 208 247 '<p class="manual-move remove-if-drag"><label class="classic">'.__('Append to:').'</label> '. 209 form::combo(array('addw['.$w->id().']'),$append_combo).'</p>'. 248 form::combo(array('addw['.$w->id().']'),$append_combo). 249 '<input type="submit" name="append['.$w->id().']" value="'.__('Add').'" /></p>'. 210 250 '<div class="widgetSettings hidden-if-drag">'.$w->formSettings('w[void][0]',$j).'</div>'. 211 251 '</li>'; … … 322 362 } 323 363 324 $res .= '<p class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget.').'</p>';325 326 364 $res .= '<ul id="'.$id.'" class="connected">'; 365 366 $res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget for now.').'</li>'; 327 367 328 368 $i = 0; … … 346 386 347 387 $res .= '</ul>'; 348 349 if ($i > 0) { 350 $res .= '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'. 351 __('Drag widgets here to remove them from this sidebar.').'</li></ul>'; 352 } 388 389 $res .= '<ul class="sortable-delete"'.($i > 0 ? '':' style="display: none;"').'><li class="sortable-delete-placeholder">'. 390 __('Drag widgets here to remove.').'</li></ul>'; 353 391 354 392 return $res; -
plugins/widgets/style.css
r1669 r2395 38 38 margin-bottom: 1em; 39 39 list-style: none; 40 } 41 #dndnav > li.empty-widgets, 42 #dndextra > li.empty-widgets, 43 #dndcustom > li.empty-widgets { 44 border: 0; 40 45 } 41 46 #dndnav > li.ui-sortable-placeholder,
Note: See TracChangeset
for help on using the changeset viewer.