Dotclear

Changeset 946 for plugins/dayMode


Ignore:
Timestamp:
03/26/09 19:33:57 (15 years ago)
Author:
pep
Message:

dayMode : commit intermédiaire pour tests

Location:
plugins/dayMode
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • plugins/dayMode/_admin.php

    r944 r946  
    1414require_once dirname(__FILE__).'/_widgets.php'; 
    1515 
    16 $_menu['Plugins']->addItem('dayMode','plugin.php?p=dayMode','index.php?pf=dayMode/icon.png', 
    17           preg_match('/plugin.php\?p=dayMode(&.*)?$/',$_SERVER['REQUEST_URI']), 
    18           $core->auth->isSuperAdmin()); 
     16$core->addBehavior('adminBlogPreferencesForm',array('dayModeBehaviors','adminBlogPreferencesForm')); 
     17$core->addBehavior('adminBeforeBlogSettingsUpdate',array('dayModeBehaviors','adminBeforeBlogSettingsUpdate')); 
    1918?> 
  • plugins/dayMode/_define.php

    r944 r946  
    1616     /* Description*/    "Provides daily archives and an associated calendar widget.", 
    1717     /* Author */        "Pep and contributors", 
    18      /* Version */       '0.7.5', 
     18     /* Version */       '0.7.6', 
    1919     /* Permissions */   'admin' 
    2020); 
  • plugins/dayMode/_prepend.php

    r944 r946  
    1414$GLOBALS['__autoload']['dcCalendar'] = dirname(__FILE__).'/class.dc.calendar.php'; 
    1515$GLOBALS['__autoload']['dcDayTools'] = dirname(__FILE__).'/class.dc.calendar.php'; 
     16 
     17class dayModeBehaviors 
     18{ 
     19     // Public behaviors 
     20     public static function block() 
     21     { 
     22          $args = func_get_args(); 
     23          array_shift($args); 
     24 
     25          if ($args[0] == 'Entries') { 
     26               $attrs = $args[1]; 
     27 
     28               if (!empty($attrs['today'])) { 
     29                    $p = 
     30                    '<?php $today = dcDayTools::getEarlierDate(array("ts_type" => "day")); '. 
     31                         "\$params['post_year'] = \$today->year(); ". 
     32                         "\$params['post_month'] = \$today->month(); ". 
     33                         "\$params['post_day'] = \$today->day(); ". 
     34                         "unset(\$params['limit']); ". 
     35                         "unset(\$today); ". 
     36                    " ?>\n"; 
     37               } 
     38               else { 
     39                    $p = 
     40                    '<?php if ($_ctx->exists("day")) { '. 
     41                         "\$params['post_year'] = \$_ctx->day->year(); ". 
     42                         "\$params['post_month'] = \$_ctx->day->month(); ". 
     43                         "\$params['post_day'] = \$_ctx->day->day(); ". 
     44                         "unset(\$params['limit']); ". 
     45                    "} ?>\n"; 
     46               } 
     47               return $p; 
     48          } 
     49     } 
     50 
     51     public static function addTplPath(&$core) 
     52     { 
     53          $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
     54     } 
     55 
     56     // Admin behaviors 
     57     public static function adminBlogPreferencesForm(&$core,&$settings) 
     58     { 
     59          if ($core->auth->check('admin')) 
     60          { 
     61               echo 
     62               '<fieldset><legend>'.__('Daily Archives').'</legend>'. 
     63               '<p><label class="classic">'. 
     64               form::checkbox('daymode_active','1',$settings->daymode_active). 
     65               __('Enable daily archives and calendar').'</label></p>'. 
     66               '</fieldset>'; 
     67          } 
     68     } 
     69      
     70     public static function adminBeforeBlogSettingsUpdate(&$settings) 
     71     { 
     72          if ($GLOBALS['core']->auth->check('admin')) 
     73          { 
     74               $settings->setNameSpace('daymode'); 
     75               try { 
     76                    $settings->put('daymode_active',!empty($_POST['daymode_active']),'boolean'); 
     77               } catch (Exception $e) { 
     78                    $settings->drop('daymode_active'); 
     79                    $settings->put('daymode_active',!empty($_POST['daymode_active']),'boolean'); 
     80               } 
     81               $settings->setNameSpace('system'); 
     82          } 
     83     } 
     84} 
    1685?> 
  • plugins/dayMode/_public.php

    r944 r946  
    2121# Adds a new template behavior 
    2222#----------------------------------------------------------- 
    23 $core->addBehavior('templateBeforeBlock',array('behaviorDayMode','block')); 
    24 $core->addBehavior('publicBeforeDocument',array('behaviorDayMode','addTplPath')); 
    25  
    26 class behaviorDayMode 
    27 { 
    28      public static function block() 
    29      { 
    30           $args = func_get_args(); 
    31           array_shift($args); 
    32  
    33           if ($args[0] == 'Entries') { 
    34                $attrs = $args[1]; 
    35  
    36                if (!empty($attrs['today'])) { 
    37                     $p = 
    38                     '<?php $today = dcDayTools::getEarlierDate(array("ts_type" => "day")); '. 
    39                          "\$params['post_year'] = \$today->year(); ". 
    40                          "\$params['post_month'] = \$today->month(); ". 
    41                          "\$params['post_day'] = \$today->day(); ". 
    42                          "unset(\$params['limit']); ". 
    43                          "unset(\$today); ". 
    44                     " ?>\n"; 
    45                } 
    46                else { 
    47                     $p = 
    48                     '<?php if ($_ctx->exists("day")) { '. 
    49                          "\$params['post_year'] = \$_ctx->day->year(); ". 
    50                          "\$params['post_month'] = \$_ctx->day->month(); ". 
    51                          "\$params['post_day'] = \$_ctx->day->day(); ". 
    52                          "unset(\$params['limit']); ". 
    53                     "} ?>\n"; 
    54                } 
    55                return $p; 
    56           } 
    57      } 
    58  
    59      public static function addTplPath(&$core) 
    60      { 
    61           $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
    62      } 
    63 } 
    64  
     23$core->addBehavior('templateBeforeBlock',    array('dayModeBehaviors','block')); 
     24$core->addBehavior('publicBeforeDocument',   array('dayModeBehaviors','addTplPath')); 
    6525 
    6626#----------------------------------------------------------- 
    6727# Overloads some Archives* dedicated template tags 
    6828#----------------------------------------------------------- 
    69 $core->tpl->addValue('ArchiveURL', array('tplDayMode','ArchiveURL')); 
    70 $core->tpl->addBlock('ArchivesHeader',array('tplDayMode','ArchivesHeader')); 
    71 $core->tpl->addBlock('ArchivesFooter',array('tplDayMode','ArchivesFooter')); 
    72 $core->tpl->addValue('ArchiveDate',array('tplDayMode','ArchiveDate')); 
    73 $core->tpl->addBlock('ArchiveNext',array('tplDayMode','ArchiveNext')); 
    74 $core->tpl->addBlock('ArchivePrevious',array('tplDayMode','ArchivePrevious')); 
     29$core->tpl->addValue('ArchiveURL',      array('dayModeTemplates','ArchiveURL')); 
     30$core->tpl->addBlock('ArchivesHeader',  array('dayModeTemplates','ArchivesHeader')); 
     31$core->tpl->addBlock('ArchivesFooter',  array('dayModeTemplates','ArchivesFooter')); 
     32$core->tpl->addValue('ArchiveDate',     array('dayModeTemplates','ArchiveDate')); 
     33$core->tpl->addBlock('ArchiveNext',     array('dayModeTemplates','ArchiveNext')); 
     34$core->tpl->addBlock('ArchivePrevious', array('dayModeTemplates','ArchivePrevious')); 
    7535 
    76 class tplDayMode 
     36class dayModeTemplates 
    7737{ 
    7838     /* Archives ------------------------------------------- */ 
     
    191151# Redefines 'archive' urlHandler to plug the new day mode 
    192152#----------------------------------------------------------- 
    193 $core->url->register('archive','archive','^archive(/.+)?$',array('urlDayMode','archive')); 
     153$core->url->register('archive','archive','^archive(/.+)?$',array('dayModeUrlHandlers','archive')); 
    194154 
    195 class urlDayMode extends dcUrlHandlers 
     155class dayModeUrlHandlers extends dcUrlHandlers 
    196156{ 
    197157     public static function archive($args) 
Note: See TracChangeset for help on using the changeset viewer.

Sites map