Dotclear

Changeset 2175


Ignore:
Timestamp:
04/11/10 00:59:20 (13 years ago)
Author:
JcDenis
Message:

periodical 0.2:

  • Fixed some bugs
  • Added DC 2.2 compatibility (new setting)
  • closes #415
Location:
plugins/periodical
Files:
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • plugins/periodical/_admin.php

    r2160 r2175  
    2121); 
    2222 
     23$s = periodicalSettings($core); 
     24if ($s->periodical_active) { 
     25     $core->addBehavior('adminPostsActionsCombo',array('adminPeriodical','adminPostsActionsCombo')); 
     26     $core->addBehavior('adminPostsActionsContent',array('adminPeriodical','adminPostsActionsContent')); 
     27     $core->addBehavior('adminPostsActions',array('adminPeriodical','adminPostsActions')); 
     28     $core->addBehavior('adminPostFormSidebar',array('adminPeriodical','adminPostFormSidebar')); 
     29     $core->addBehavior('adminAfterPostUpdate',array('adminPeriodical','adminAfterPostSave')); 
     30     $core->addBehavior('adminAfterPostCreate',array('adminPeriodical','adminAfterPostSave')); 
     31} 
    2332$core->addBehavior('adminBeforePostDelete',array('adminPeriodical','adminBeforePostDelete')); 
    24 $core->addBehavior('adminPostsActionsCombo',array('adminPeriodical','adminPostsActionsCombo')); 
    25 $core->addBehavior('adminPostsActionsContent',array('adminPeriodical','adminPostsActionsContent')); 
    26 $core->addBehavior('adminPostsActions',array('adminPeriodical','adminPostsActions')); 
    27 $core->addBehavior('adminPostFormSidebar',array('adminPeriodical','adminPostFormSidebar')); 
    28 $core->addBehavior('adminAfterPostUpdate',array('adminPeriodical','adminAfterPostSave')); 
    29 $core->addBehavior('adminAfterPostCreate',array('adminPeriodical','adminAfterPostSave')); 
    3033 
    3134class adminPeriodical 
     
    3437     { 
    3538          global $core; 
    36  
    3739          if ($post_id === null) return; 
    3840 
     
    4446     { 
    4547          global $core; 
    46           if (!$core->blog->settings->periodical_active  
    47            || !$core->auth->check('admin',$core->blog->id)) return; 
    48  
    49           $args[0][__('Periodical')][__('remove from periodical')] = 'remove_post_periodical'; 
    50           $args[0][__('Periodical')][__('add to periodical')] = 'add_post_periodical'; 
     48          if ($core->auth->check('usage,contentadmin',$core->blog->id)) { 
     49               $args[0][__('Periodical')][__('add to periodical')] = 'add_post_periodical'; 
     50          } 
     51          if ($core->auth->check('delete,contentadmin',$core->blog->id)) { 
     52               $args[0][__('Periodical')][__('remove from periodical')] = 'remove_post_periodical'; 
     53          } 
    5154     } 
    5255 
  • plugins/periodical/_define.php

    r2160 r2175  
    1717     /* Description*/         "Published periodically entries", 
    1818     /* Author */             "JC Denis", 
    19      /* Version */            '0.1', 
    20      /* Permissions */        'contentadmin' 
     19     /* Version */            '0.2', 
     20     /* Permissions */        'usage,contentadmin' 
    2121); 
    22      /* date */          #20100405 
     22     /* date */          #20100411 
    2323?> 
  • plugins/periodical/_install.php

    r2160 r2175  
    2424     } 
    2525     # Tables 
    26      $s = new dbStruct($core->con,$core->prefix); 
     26     $t = new dbStruct($core->con,$core->prefix); 
    2727 
    2828     # Table principale des sondages 
    29      $s->periodical 
     29     $t->periodical 
    3030          ->periodical_id ('bigint',0,false) 
    3131          ->blog_id('varchar',32,false) 
     
    4141          ->index('idx_periodical_type','btree','periodical_type'); 
    4242 
    43      $si = new dbStruct($core->con,$core->prefix); 
    44      $changes = $si->synchronize($s); 
     43     $ti = new dbStruct($core->con,$core->prefix); 
     44     $changes = $ti->synchronize($t); 
    4545 
    4646     # Settings 
    47      $s =& $core->blog->settings; 
    48  
    49      $s->setNameSpace('periodical'); 
     47     $s = periodicalSettings($core); 
    5048     $s->put('periodical_active',false,'boolean','Enable extension',false,true); 
    5149     $s->put('periodical_upddate',true,'boolean','Update post date',false,true); 
    5250     $s->put('periodical_updurl',false,'boolean','Update post url',false,true); 
    5351     $s->put('periodical_pub_order','post_dt asc','string','Order of publication',false,true); 
    54      $s->setNameSpace('system'); 
    5552 
    5653     # Version 
  • plugins/periodical/_prepend.php

    r2160 r2175  
    1919# Admin list and pagers 
    2020$__autoload['adminPeriodicalList'] = dirname(__FILE__).'/inc/lib.index.pager.php'; 
    21  
     21# DC 2.1.6 vs 2.2 settings 
     22function periodicalSettings($core) { 
     23     if (!version_compare(DC_VERSION,'2.1.6','<=')) {  
     24          $core->blog->settings->addNamespace('periodical');  
     25          $s =& $core->blog->settings->periodical;  
     26     } else {  
     27          $core->blog->settings->setNamespace('periodical');  
     28          $s =& $core->blog->settings;  
     29     } 
     30     return $s; 
     31} 
    2232?> 
  • plugins/periodical/_public.php

    r2160 r2175  
    1212 
    1313if (!defined('DC_RC_PATH')){return;} 
     14if (!$core->plugins->moduleExists('metadata') || !in_array($core->url->type,array('default','feed'))) {return;} 
    1415 
    15 # Publish periodical only on home page and feeds 
    16 if (!$core->plugins->moduleExists('metadata') || in_array($core->url->type,array('default','feed'))) { 
    17      $core->addBehavior('publicBeforeDocument',array('publicBehaviorPeriodical','publishPeriodicalEntries')); 
    18 } 
     16$core->addBehavior('publicBeforeDocument',array('publicBehaviorPeriodical','publishPeriodicalEntries')); 
    1917 
    2018class publicBehaviorPeriodical 
     
    2321     { 
    2422          $per = new periodical($core); 
     23          $s = periodicalSettings($core); 
    2524 
    2625          # Get periods 
     
    3332 
    3433          $now = dt::toUTC(time()); 
    35           $posts_order = $core->blog->settings->periodical_pub_order; 
     34          $posts_order = $s->periodical_pub_order; 
    3635          if (!preg_match('/^(post_dt|post_creadt|post_id) (asc|desc)$/',$posts_order)) { 
    3736               $posts_order = 'post_dt asc'; 
     
    9190 
    9291                                   # Update post date with right date 
    93                                    if ($core->blog->settings->periodical_upddate) { 
     92                                   if ($s->periodical_upddate) { 
    9493                                        $cur_post->post_dt = date('Y-m-d H:i:s',$last_tz); 
    9594                                        $cur_post->post_tz = $periods->periodical_tz; 
     
    10099 
    101100                                   # Also update post url with right date 
    102                                    if ($core->blog->settings->periodical_updurl) { 
     101                                   if ($s->periodical_updurl) { 
    103102                                        $cur_post->post_url = $core->blog->getPostURL('',$cur_post->post_dt,$posts->post_title,$posts->post_id); 
    104103                                   } 
  • plugins/periodical/inc/class.periodical.php

    r2160 r2175  
    1111# -- END LICENSE BLOCK ------------------------------------ 
    1212 
     13if (!defined('DC_RC_PATH')){return;} 
    1314 
    1415class periodical 
     
    3435     } 
    3536 
    36      public function nextID() 
    37      { 
    38           return $this->con->select( 
    39                'SELECT MAX(periodical_id) FROM '.$this->table 
    40           )->f(0) + 1; 
    41      } 
    42  
    4337     # Get periods 
    4438     public function getPeriods($params=array(),$count_only=false) 
     
    4741               $q = 'SELECT count(T.periodical_id) '; 
    4842          } 
    49           else { 
    50  
    51                $q = 
    52                'SELECT T.periodical_id, T.periodical_type, '. 
     43          else 
     44          { 
     45               $q = 'SELECT T.periodical_id, T.periodical_type, '; 
     46 
     47               if (!empty($params['columns']) && is_array($params['columns'])) { 
     48                    $q .= implode(', ',$params['columns']).', '; 
     49               } 
     50               $q .=  
    5351               'T.periodical_title, T.periodical_tz, '. 
    5452               'T.periodical_curdt, T.periodical_enddt, '. 
     
    5654          } 
    5755 
    58           $q .= 
    59           'FROM '.$this->table.' T '; 
     56          $q .= 'FROM '.$this->table.' T '; 
    6057 
    6158          if (!empty($params['from'])) { 
    6259               $q .= $params['from'].' '; 
    6360          } 
    64           $q .= "WHERE blog_id = '".$this->blog."' "; 
     61          $q .= "WHERE T.blog_id = '".$this->blog."' "; 
    6562 
    6663          if (isset($params['periodical_type'])) { 
     
    113110           
    114111          try { 
    115                $cur->periodical_id = $this->nextID(); 
     112               $id = $this->con->select( 
     113                    'SELECT MAX(periodical_id) FROM '.$this->table 
     114               )->f(0) + 1; 
     115 
     116               $cur->periodical_id = $id; 
    116117               $cur->blog_id = $this->blog; 
    117118               $cur->periodical_type = 'post'; 
  • plugins/periodical/inc/index.addperiod.php

    r2160 r2175  
    1414 
    1515$period_id = isset($_REQUEST['id']) ? $_REQUEST['id'] : -1; 
    16 $action_redir = $p_url.'&part=editperiod&tab=period&tab=period&id=%s&msg='.$action; 
     16$action_redir = $p_url.'&part=editperiod&tab=period&id=%s&msg='.$action; 
    1717 
    1818$period_title = isset($_POST['period_title']) ? $_POST['period_title'] : __('One post per day'); 
  • plugins/periodical/inc/index.periods.php

    r2160 r2175  
    6060# Actions combo box 
    6161$combo_action = array(); 
     62$combo_action[__('empty periods')] = 'emptyperiods'; 
    6263$combo_action[__('delete periods')] = 'deleteperiods'; 
    63 $combo_action[__('empty periods')] = 'emptyperiods'; 
    6464 
    6565/* Filters 
  • plugins/periodical/inc/index.setting.php

    r2160 r2175  
    3333     'desc' : 'asc'; 
    3434 
    35 if ($default_tab == 'setting' && $action == 'savesetting') 
     35if ($default_part == 'setting' && $action == 'savesetting') 
    3636{ 
    3737     try { 
    38           $s->setNameSpace('periodical'); 
    3938          $s->put('periodical_active',!empty($_POST['s_active'])); 
    4039          $s->put('periodical_upddate',!empty($_POST['s_upddate'])); 
    4140          $s->put('periodical_updurl',!empty($_POST['s_updurl'])); 
    4241          $s->put('periodical_pub_order',$_POST['s_sortby'].' '.$_POST['s_order']); 
    43           $s->setNameSpace('system'); 
    4442          $core->blog->triggerBlog(); 
    4543 
  • plugins/periodical/index.php

    r2160 r2175  
    1313if (!defined('DC_CONTEXT_ADMIN')){return;} 
    1414 
    15 dcPage::check('contentadmin'); 
     15dcPage::check('admin'); 
    1616 
    1717# Objects 
    18 $s = $core->blog->settings; 
     18$s = periodicalSettings($core); 
    1919$per = new periodical($core); 
    2020 
  • plugins/periodical/release.txt

    r2160 r2175  
     10.2 20100411 
     2 * Fixed some bugs  
     3 * Added DC 2.2 compatibility (new setting) 
     4 * closes #415 
     5 
    160.1 20100405 
    27 * First lab release 
Note: See TracChangeset for help on using the changeset viewer.

Sites map