Dotclear

Changeset 665:315ff9eb4199


Ignore:
Timestamp:
07/31/11 10:34:58 (14 years ago)
Author:
Franck <carnet.franck.paul@…>
Branch:
themes
Message:

Ajout d'un bandeau de widgets supplémentaire (custom)

Location:
plugins/widgets
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • plugins/widgets/_default_widgets.php

    r270 r665  
    7979# Default widgets 
    8080global $__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()); 
    8282 
    8383$__default_widgets['nav']->append($__widgets->search); 
  • plugins/widgets/_define.php

    r464 r665  
    1515     /* Name */               "Widgets", 
    1616     /* Description*/         "Widgets for your blog sidebars", 
    17      /* Author */             "Olivier Meunier", 
    18      /* Version */            '2', 
     17     /* Author */             "Olivier Meunier & Dotclear Team", 
     18     /* Version */            '3', 
    1919     array( 
    2020          'permissions' =>    'admin', 
  • plugins/widgets/_install.php

    r270 r665  
    3131     $settings->widgets->put('widgets_extra','','string','Extra widgets',false); 
    3232} 
     33if ($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} 
    3338$core->setVersion('widgets',$version); 
    3439return true; 
  • plugins/widgets/index.php

    r500 r665  
    1414include dirname(__FILE__).'/_default_widgets.php'; 
    1515 
    16 # Loading navigation and extra widgets 
     16# Loading navigation, extra widgets and custom widgets 
    1717$widgets_nav = null; 
    1818if ($core->blog->settings->widgets->widgets_nav) { 
     
    2323     $widgets_extra = dcWidgets::load($core->blog->settings->widgets->widgets_extra); 
    2424} 
     25$widgets_custom = null; 
     26if ($core->blog->settings->widgets->widgets_custom) { 
     27     $widgets_custom = dcWidgets::load($core->blog->settings->widgets->widgets_custom); 
     28} 
    2529 
    2630$append_combo = array( 
    2731     '-' => 0, 
    2832     __('navigation') => 'nav', 
    29      __('extra') => 'extra' 
     33     __('extra') => 'extra', 
     34     __('custom') => 'custom' 
    3035); 
    3136 
     
    3641     $addw = array(); 
    3742     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 ) { 
    3944               $addw[$k] = $v; 
    4045          } 
     
    4954          if (!($widgets_extra instanceof dcWidgets)) { 
    5055               $widgets_extra = new dcWidgets(); 
     56          } 
     57          if (!($widgets_custom instanceof dcWidgets)) { 
     58               $widgets_custom = new dcWidgets(); 
    5159          } 
    5260           
     
    6068                         $widgets_extra->append($__widgets->{$k}); 
    6169                         break; 
    62                      
     70                    case 'custom': 
     71                         $widgets_custom->append($__widgets->{$k}); 
     72                         break; 
    6373               } 
    6474          } 
     
    6878               $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 
    6979               $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 
     80               $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 
    7081               $core->blog->triggerBlog(); 
    7182               http::redirect($p_url); 
     
    101112               $_POST['w']['extra'] = array(); 
    102113          } 
     114          if (!isset($_POST['w']['custom'])) { 
     115               $_POST['w']['custom'] = array(); 
     116          } 
    103117           
    104118          $widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets); 
    105119          $widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets); 
     120          $widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets); 
    106121           
    107122          $core->blog->settings->addNamespace('widgets'); 
    108123          $core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store()); 
    109124          $core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store()); 
     125          $core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store()); 
    110126          $core->blog->triggerBlog(); 
    111127           
     
    124140          $core->blog->settings->widgets->put('widgets_nav',''); 
    125141          $core->blog->settings->widgets->put('widgets_extra',''); 
     142          $core->blog->settings->widgets->put('widgets_custom',''); 
    126143          $core->blog->triggerBlog(); 
    127144           
     
    187204'</div>'. 
    188205'</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').'" />'. 
    190207$core->formNonce().'</p>'. 
    191208'</form>'; 
     
    204221'</div>'; 
    205222 
     223# Custom sidebar 
     224echo 
     225'<div id="sidebarCustom" class="widgets">'. 
     226sidebarWidgets('dndcustom',__('Custom sidebar'),$widgets_custom,'custom',$__default_widgets['custom'],$j). 
     227'</div>'; 
     228 
    206229echo 
    207230'<p id="sidebarsControl">'. 
    208231$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>'. 
    211234'</form>'; 
    212235 
  • plugins/widgets/style.css

    r3 r665  
    1818     width: 49%; 
    1919     margin-left: 1%; 
     20} 
     21#sidebarCustom { 
     22     float: left; 
     23     width: 100%; 
    2024} 
    2125 
  • plugins/widgets/widgets.js

    r0 r665  
    1010     var w_nav = document.getElementById('dndnav'); 
    1111     var w_ext = document.getElementById('dndextra'); 
     12     var w_custom = document.getElementById('dndcustom'); 
    1213      
    1314     w_nav.className = 'hideControls'; 
    1415     w_ext.className = 'hideControls'; 
     16     w_custom.className = 'hideControls'; 
    1517      
    1618     removeElements(document.getElementById('listWidgets'),'input'); 
     
    1820     removeElements(w_nav,'p'); 
    1921     removeElements(w_ext,'p'); 
     22     removeElements(w_custom,'p'); 
    2023     hideElements(w_nav,'input'); 
    2124     hideElements(w_ext,'input'); 
     25     hideElements(w_custom,'input'); 
    2226      
    2327     configControls(w_nav); 
    2428     configControls(w_ext); 
     29     configControls(w_custom); 
    2530      
    2631     dragdrop.makeListContainer(widgets,'div',setHandle); 
     
    3035     dragdrop.makeListContainer(w_ext,'div',setHandle); 
    3136     w_ext.onDragEnd = extraDragEnd; 
     37     dragdrop.makeListContainer(w_custom,'div',setHandle); 
     38     w_custom.onDragEnd = customDragEnd; 
    3239      
    3340     // Helper to remove some elements 
     
    6168     function extraDragEnd() { 
    6269          formControls(this.parentNode,'extra'); 
     70          configControls(this.parentNode); 
     71          removeEmptyMsg(this.parentNode); 
     72     } 
     73     function customDragEnd() { 
     74          formControls(this.parentNode,'custom'); 
    6375          configControls(this.parentNode); 
    6476          removeEmptyMsg(this.parentNode); 
Note: See TracChangeset for help on using the changeset viewer.

Sites map