Changeset 665:315ff9eb4199
- Timestamp:
- 07/31/11 10:34:58 (14 years ago)
- Branch:
- themes
- Location:
- plugins/widgets
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/widgets/_default_widgets.php
r270 r665 79 79 # Default widgets 80 80 global $__default_widgets; 81 $__default_widgets = array('nav'=> new dcWidgets(), 'extra'=> new dcWidgets() );81 $__default_widgets = array('nav'=> new dcWidgets(), 'extra'=> new dcWidgets(), 'custom'=> new dcWidgets()); 82 82 83 83 $__default_widgets['nav']->append($__widgets->search); -
plugins/widgets/_define.php
r464 r665 15 15 /* Name */ "Widgets", 16 16 /* Description*/ "Widgets for your blog sidebars", 17 /* Author */ "Olivier Meunier ",18 /* Version */ ' 2',17 /* Author */ "Olivier Meunier & Dotclear Team", 18 /* Version */ '3', 19 19 array( 20 20 'permissions' => 'admin', -
plugins/widgets/_install.php
r270 r665 31 31 $settings->widgets->put('widgets_extra','','string','Extra widgets',false); 32 32 } 33 if ($settings->widgets->widgets_custom != null) { 34 $settings->widgets->put('widgets_custom',dcWidgets::load($settings->widgets->widgets_custom)->store()); 35 } else { 36 $settings->widgets->put('widgets_custom','','string','Custom widgets',false); 37 } 33 38 $core->setVersion('widgets',$version); 34 39 return true; -
plugins/widgets/index.php
r500 r665 14 14 include dirname(__FILE__).'/_default_widgets.php'; 15 15 16 # Loading navigation and extrawidgets16 # Loading navigation, extra widgets and custom widgets 17 17 $widgets_nav = null; 18 18 if ($core->blog->settings->widgets->widgets_nav) { … … 23 23 $widgets_extra = dcWidgets::load($core->blog->settings->widgets->widgets_extra); 24 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 } 25 29 26 30 $append_combo = array( 27 31 '-' => 0, 28 32 __('navigation') => 'nav', 29 __('extra') => 'extra' 33 __('extra') => 'extra', 34 __('custom') => 'custom' 30 35 ); 31 36 … … 36 41 $addw = array(); 37 42 foreach ($_POST['addw'] as $k => $v) { 38 if (($v == 'extra' || $v == 'nav' ) && $__widgets->{$k} !== null ) {43 if (($v == 'extra' || $v == 'nav' || $v == 'custom') && $__widgets->{$k} !== null ) { 39 44 $addw[$k] = $v; 40 45 } … … 49 54 if (!($widgets_extra instanceof dcWidgets)) { 50 55 $widgets_extra = new dcWidgets(); 56 } 57 if (!($widgets_custom instanceof dcWidgets)) { 58 $widgets_custom = new dcWidgets(); 51 59 } 52 60 … … 60 68 $widgets_extra->append($__widgets->{$k}); 61 69 break; 62 70 case 'custom': 71 $widgets_custom->append($__widgets->{$k}); 72 break; 63 73 } 64 74 } … … 68 78 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 69 79 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 80 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 70 81 $core->blog->triggerBlog(); 71 82 http::redirect($p_url); … … 101 112 $_POST['w']['extra'] = array(); 102 113 } 114 if (!isset($_POST['w']['custom'])) { 115 $_POST['w']['custom'] = array(); 116 } 103 117 104 118 $widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets); 105 119 $widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets); 120 $widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets); 106 121 107 122 $core->blog->settings->addNamespace('widgets'); 108 123 $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 109 124 $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 125 $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 110 126 $core->blog->triggerBlog(); 111 127 … … 124 140 $core->blog->settings->widgets->put('widgets_nav',''); 125 141 $core->blog->settings->widgets->put('widgets_extra',''); 142 $core->blog->settings->widgets->put('widgets_custom',''); 126 143 $core->blog->triggerBlog(); 127 144 … … 187 204 '</div>'. 188 205 '</fieldset>'. 189 '<p><input type="submit" class="js-remove" name="append" value="'.__(' add widgets to sidebars').'" />'.206 '<p><input type="submit" class="js-remove" name="append" value="'.__('Add widgets to sidebars').'" />'. 190 207 $core->formNonce().'</p>'. 191 208 '</form>'; … … 204 221 '</div>'; 205 222 223 # Custom sidebar 224 echo 225 '<div id="sidebarCustom" class="widgets">'. 226 sidebarWidgets('dndcustom',__('Custom sidebar'),$widgets_custom,'custom',$__default_widgets['custom'],$j). 227 '</div>'; 228 206 229 echo 207 230 '<p id="sidebarsControl">'. 208 231 $core->formNonce(). 209 '<input type="submit" name="wup" value="'.__(' update sidebars').'" /> '.210 '<input type="submit" class="reset" name="wreset" value="'.__(' reset sidebars').'" /></p>'.232 '<input type="submit" name="wup" value="'.__('Update sidebars').'" /> '. 233 '<input type="submit" class="reset" name="wreset" value="'.__('Reset sidebars').'" /></p>'. 211 234 '</form>'; 212 235 -
plugins/widgets/style.css
r3 r665 18 18 width: 49%; 19 19 margin-left: 1%; 20 } 21 #sidebarCustom { 22 float: left; 23 width: 100%; 20 24 } 21 25 -
plugins/widgets/widgets.js
r0 r665 10 10 var w_nav = document.getElementById('dndnav'); 11 11 var w_ext = document.getElementById('dndextra'); 12 var w_custom = document.getElementById('dndcustom'); 12 13 13 14 w_nav.className = 'hideControls'; 14 15 w_ext.className = 'hideControls'; 16 w_custom.className = 'hideControls'; 15 17 16 18 removeElements(document.getElementById('listWidgets'),'input'); … … 18 20 removeElements(w_nav,'p'); 19 21 removeElements(w_ext,'p'); 22 removeElements(w_custom,'p'); 20 23 hideElements(w_nav,'input'); 21 24 hideElements(w_ext,'input'); 25 hideElements(w_custom,'input'); 22 26 23 27 configControls(w_nav); 24 28 configControls(w_ext); 29 configControls(w_custom); 25 30 26 31 dragdrop.makeListContainer(widgets,'div',setHandle); … … 30 35 dragdrop.makeListContainer(w_ext,'div',setHandle); 31 36 w_ext.onDragEnd = extraDragEnd; 37 dragdrop.makeListContainer(w_custom,'div',setHandle); 38 w_custom.onDragEnd = customDragEnd; 32 39 33 40 // Helper to remove some elements … … 61 68 function extraDragEnd() { 62 69 formControls(this.parentNode,'extra'); 70 configControls(this.parentNode); 71 removeEmptyMsg(this.parentNode); 72 } 73 function customDragEnd() { 74 formControls(this.parentNode,'custom'); 63 75 configControls(this.parentNode); 64 76 removeEmptyMsg(this.parentNode);
Note: See TracChangeset
for help on using the changeset viewer.