Dotclear

Changeset 2330


Ignore:
Timestamp:
06/08/10 10:26:25 (13 years ago)
Author:
JcDenis
Message:

postExpired 0.3

  • Switched to DC 2.2 (settings,meta)
Location:
plugins/postExpired
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • plugins/postExpired/_admin.php

    r2187 r2330  
    1212 
    1313if (!defined('DC_CONTEXT_ADMIN')){return;} 
    14 if (!$core->plugins->moduleExists('metadata')){return;} 
    1514 
    1615# Admin behaviors 
     
    3635          try { 
    3736               $categories = $GLOBALS['core']->blog->getCategories(array('post_type'=>'post')); 
    38                while ($categories->fetch()) { 
     37               while ($categories->fetch()) 
     38               { 
    3939                    $categories_combo[] = new formSelectOption( 
    4040                         str_repeat('  ',$categories->level-1).'• '.html::escapeHTML($categories->cat_title), 
     
    4242                    ); 
    4343               } 
    44           } catch (Exception $e) { } 
     44          } 
     45          catch (Exception $e) { } 
    4546          return $categories_combo; 
    4647     } 
    47  
     48      
    4849     public static function statusCombo() 
    4950     { 
     
    5455          ); 
    5556     } 
    56  
     57      
    5758     public static function selectedCombo() 
    5859     { 
     
    6364          ); 
    6465     } 
    65  
     66      
    6667     public static function header($posts_actions=true) 
    6768     { 
     
    6970          dcPage::jsLoad('index.php?pf=postExpired/js/postexpired.js'); 
    7071     } 
    71  
     72      
    7273     public static function form($post) 
    7374     { 
     
    7778          if ($post) 
    7879          { 
    79                $meta = new dcMeta($core); 
    80                $rs_date = $meta->getMeta('postexpired',1,null,$post->post_id); 
     80               $rs_date = $core->meta->getMetadata(array('meta_type'=>'postexpired','limit'=>1,'post_id'=>$post->post_id)); 
    8181               if (!$rs_date->isEmpty()) 
    8282               { 
    8383                    $expired_date = date('Y-m-d H:i',strtotime($rs_date->meta_id)); 
    8484                     
    85                     $rs_status = $meta->getMeta('postexpiredstatus',1,null,$post->post_id); 
     85                    $rs_status = $core->meta->getMetadata(array('meta_type'=>'postexpiredstatus','limit'=>1,'post_id'=>$post->post_id)); 
    8686                    $expired_status = $rs_status->isEmpty() ? '' : (string) $rs_status->meta_id; 
    8787                     
    88                     $rs_cat = $meta->getMeta('postexpiredcat',1,null,$post->post_id); 
     88                    $rs_cat = $core->meta->getMetadata(array('meta_type'=>'postexpiredcat','limit'=>1,'post_id'=>$post->post_id)); 
    8989                    $expired_cat = $rs_cat->isEmpty() ? '' : (string) $rs_cat->meta_id; 
    9090                     
    91                     $rs_selected = $meta->getMeta('postexpiredselected',1,null,$post->post_id); 
     91                    $rs_selected = $core->meta->getMetadata(array('meta_type'=>'postexpiredselected','limit'=>1,'post_id'=>$post->post_id)); 
    9292                    $expired_selected = $rs_selected->isEmpty() ? '' : (string) $rs_selected->meta_id; 
    9393               } 
    9494          } 
    95  
     95           
    9696          echo  
    9797          '<h3 id="postexpired-form-title">'.__('Expired date').'</h3>'. 
     
    115115          echo '</div>'; 
    116116     } 
    117  
     117      
    118118     public static function set(&$cur,&$post_id) 
    119119     { 
    120120          global $core; 
    121121          if (!isset($_POST['post_expired_date'])) return; 
    122  
     122           
    123123          $post_id = (integer) $post_id; 
    124           $meta = new dcMeta($core); 
    125  
     124           
    126125          # --BEHAVIOR-- adminBeforePostExpiredSave 
    127126          $core->callBehavior('adminBeforePostExpiredSave',$cur,$post_id); 
    128  
     127           
    129128          self::del($post_id); 
    130  
     129           
    131130          if (!empty($_POST['post_expired_date'])  
    132131           && (!empty($_POST['post_expired_status'])  
     
    135134          { 
    136135               $post_expired_date = date('Y-m-d H:i:00',strtotime($_POST['post_expired_date'])); 
    137                $meta->setPostMeta($post_id,'postexpired',$post_expired_date); 
    138  
    139                if (!empty($_POST['post_expired_status'])) { 
    140                     $meta->setPostMeta($post_id,'postexpiredstatus',(string) $_POST['post_expired_status']); 
    141                } 
    142                if (!empty($_POST['post_expired_selected'])) { 
    143                     $meta->setPostMeta($post_id,'postexpiredcat',(string) $_POST['post_expired_cat']); 
    144                } 
    145                if (!empty($_POST['post_expired_selected'])) { 
    146                     $meta->setPostMeta($post_id,'postexpiredselected',(string) $_POST['post_expired_selected']); 
    147                } 
    148           } 
    149  
     136               $core->meta->setPostMeta($post_id,'postexpired',$post_expired_date); 
     137                
     138               if (!empty($_POST['post_expired_status'])) 
     139               { 
     140                    $core->meta->setPostMeta($post_id,'postexpiredstatus',(string) $_POST['post_expired_status']); 
     141               } 
     142               if (!empty($_POST['post_expired_selected'])) 
     143               { 
     144                    $core->meta->setPostMeta($post_id,'postexpiredcat',(string) $_POST['post_expired_cat']); 
     145               } 
     146               if (!empty($_POST['post_expired_selected'])) 
     147               { 
     148                    $core->meta->setPostMeta($post_id,'postexpiredselected',(string) $_POST['post_expired_selected']); 
     149               } 
     150          } 
     151           
    150152          # --BEHAVIOR-- adminAfterPostExpiredSave 
    151153          $core->callBehavior('adminAfterPostExpiredSave',$cur,$post_id); 
    152154     } 
    153  
     155      
    154156     public static function del($post_id) 
    155157     { 
    156158          global $core; 
    157  
     159           
    158160          $post_id = (integer) $post_id; 
    159           $meta = new dcMeta($core); 
    160  
     161           
    161162          # --BEHAVIOR-- adminBeforePostExpiredDelete 
    162163          $core->callBehavior('adminBeforePostExpiredDelete',$post_id); 
    163  
    164           $meta->delPostMeta($post_id,'postexpired'); 
    165           $meta->delPostMeta($post_id,'postexpiredstatus'); 
    166           $meta->delPostMeta($post_id,'postexpiredcat'); 
    167           $meta->delPostMeta($post_id,'postexpiredselected'); 
    168      } 
    169  
     164           
     165          $core->meta->delPostMeta($post_id,'postexpired'); 
     166          $core->meta->delPostMeta($post_id,'postexpiredstatus'); 
     167          $core->meta->delPostMeta($post_id,'postexpiredcat'); 
     168          $core->meta->delPostMeta($post_id,'postexpiredselected'); 
     169     } 
     170      
    170171     public static function combo(&$args) 
    171172     { 
    172           if ($GLOBALS['core']->auth->check('usage,contentadmin',$GLOBALS['core']->blog->id)) { 
     173          if ($GLOBALS['core']->auth->check('usage,contentadmin',$GLOBALS['core']->blog->id)) 
     174          { 
    173175               $args[0][__('Expired entries')][__('add expired date')] = 'postexpired_add'; 
    174176          } 
    175           if ($GLOBALS['core']->auth->check('delete,contentadmin',$GLOBALS['core']->blog->id)) { 
     177          if ($GLOBALS['core']->auth->check('delete,contentadmin',$GLOBALS['core']->blog->id)) 
     178          { 
    176179               $args[0][__('Expired entries')][__('remove expired date')] = 'postexpired_remove'; 
    177180          } 
    178181     } 
    179  
     182      
    180183     public static function action(&$core,$posts,$action,$redir) 
    181184     { 
     
    184187               # --BEHAVIOR-- adminPostExpiredActions 
    185188               $core->callBehavior('adminPostExpiredActions',$core,$posts,$action,$redir); 
    186  
     189                
    187190               if (!$core->auth->check('usage,contentadmin',$core->blog->id)  
    188191                || empty($_POST['new_post_expired_date'])  
     
    193196                    http::redirect($redir); 
    194197               } 
    195  
    196                try { 
    197                     $meta = new dcMeta($core); 
     198                
     199               try 
     200               { 
    198201                    $new_post_expired_date = date('Y-m-d H:i:00',strtotime($_POST['new_post_expired_date'])); 
    199  
     202                     
    200203                    while ($posts->fetch()) 
    201204                    { 
    202                          $rs = $meta->getMeta('postexpired',1,null,$posts->post_id); 
     205                         $rs = $core->meta->getMetadata(array('meta_type'=>'postexpired','limit'=>1,'post_id'=>$posts->post_id)); 
    203206                         if ($rs->isEmpty()) 
    204207                         { 
    205                               $meta->setPostMeta($posts->post_id,'postexpired',$new_post_expired_date); 
    206  
    207                               if (!empty($_POST['new_post_expired_status'])) { 
    208                                    $meta->setPostMeta($posts->post_id,'postexpiredstatus',$_POST['new_post_expired_status']); 
     208                              $core->meta->setPostMeta($posts->post_id,'postexpired',$new_post_expired_date); 
     209 
     210                              if (!empty($_POST['new_post_expired_status'])) 
     211                              { 
     212                                   $core->meta->setPostMeta($posts->post_id,'postexpiredstatus',$_POST['new_post_expired_status']); 
    209213                              } 
    210                               if (!empty($_POST['new_post_expired_cat'])) { 
    211                                    $meta->setPostMeta($posts->post_id,'postexpiredcat',$_POST['new_post_expired_cat']); 
     214                              if (!empty($_POST['new_post_expired_cat'])) 
     215                              { 
     216                                   $core->meta->setPostMeta($posts->post_id,'postexpiredcat',$_POST['new_post_expired_cat']); 
    212217                              } 
    213                               if (!empty($_POST['new_post_expired_selected'])) { 
    214                                    $meta->setPostMeta($posts->post_id,'postexpiredselected',$_POST['new_post_expired_selected']); 
     218                              if (!empty($_POST['new_post_expired_selected'])) 
     219                              { 
     220                                   $core->meta->setPostMeta($posts->post_id,'postexpiredselected',$_POST['new_post_expired_selected']); 
    215221                              } 
    216222                         } 
     
    218224                    http::redirect($redir); 
    219225               } 
    220                catch (Exception $e) { 
     226               catch (Exception $e) 
     227               { 
    221228                    $core->error->add($e->getMessage()); 
    222229               } 
     
    230237               } 
    231238 
    232                try { 
    233                     $meta = new dcMeta($core); 
    234  
     239               try 
     240               { 
    235241                    $posts_ids = array(); 
    236242                    while($posts->fetch()) 
     
    238244                         $posts_ids[] = $posts->id; 
    239245                    } 
    240  
     246                     
    241247                    $rs_params['no_content'] = true; 
    242248                    $rs_params['post_id'] = $posts_ids; 
    243249                    $rs_params['meta_id'] = 'postexpired'; 
    244                     $rs = $meta->getPostsByMeta($rs_params); 
    245  
     250                    $rs = $core->meta->getPostsByMeta($rs_params); 
     251                     
    246252                    while ($rs->fetch()) 
    247253                    { 
    248254                         self::del($rs->post_id); 
    249255                    } 
    250  
     256                     
    251257                    http::redirect($redir); 
    252258               } 
    253                catch (Exception $e) { 
     259               catch (Exception $e) 
     260               { 
    254261                    $core->error->add($e->getMessage()); 
    255262               } 
     
    277284               form::combo('new_post_expired_selected',self::selectedCombo(),'','',2). 
    278285               '</label></p><p>'; 
    279  
     286                
    280287               # --BEHAVIOR-- adminPostExpiredActionsContent 
    281288               $core->callBehavior('adminPostExpiredActionsContent',$core,$action,$hidden_fields); 
    282  
     289                
    283290               echo  
    284291               $hidden_fields. 
     
    290297          elseif ($action == 'postexpired_remove') 
    291298          { 
    292                $meta = new dcMeta($core); 
    293299               $dts = array(); 
    294300 
    295301               foreach ($_POST['entries'] as $id) 
    296302               { 
    297                     $rs = $meta->getMeta('postexpired',1,null,$id); 
     303                    $rs = $core->meta->getMetadata(array('meta_type'=>'postexpired','limit'=>1,'post_id'=>$id)); 
    298304                    if ($rs->isEmpty()) continue; 
    299305                     
    300                     if (isset($dts[$rs->meta_id])) { 
     306                    if (isset($dts[$rs->meta_id])) 
     307                    { 
    301308                         $dts[$rs->meta_id]++; 
    302                     } else { 
     309                    } 
     310                    else 
     311                    { 
    303312                         $dts[$rs->meta_id] = 1; 
    304313                    } 
    305314               } 
    306  
     315                
    307316               echo '<h2>'.__('Remove selected expired date from entries').'</h2>'; 
    308  
    309                if (empty($dts)) { 
     317                
     318               if (empty($dts)) 
     319               { 
    310320                    echo '<p>'.__('No expired date for selected entries').'</p>'; 
    311321                    return; 
    312322               } 
    313  
     323                
    314324               $posts_count = count($_POST['entries']); 
    315  
     325                
    316326               echo 
    317327               '<form action="posts_actions.php" method="post">'. 
    318328               '<fieldset><legend>'.__('Following expired date have been found in selected entries:').'</legend>'; 
    319  
     329                
    320330               foreach ($dts as $k => $n) 
    321331               { 
    322332                    $label = '<label class="classic">%s %s</label>'; 
    323                     if ($posts_count == $n) { 
     333                    if ($posts_count == $n) 
     334                    { 
    324335                         $label = sprintf($label,'%s','<strong>%s</strong>'); 
    325336                    } 
    326337                    echo '<p>'.sprintf($label, 
    327                               form::checkbox(array('rmv_post_expired[]'),html::escapeHTML($k)), 
    328                               date('Y-m-d H:i',strtotime($k)) 
    329                          ).'</p>'; 
    330                } 
    331  
     338                         form::checkbox(array('rmv_post_expired[]'),html::escapeHTML($k)), 
     339                         date('Y-m-d H:i',strtotime($k)) 
     340                    ).'</p>'; 
     341               } 
     342                
    332343               echo 
    333344               '<p><input type="submit" value="'.__('ok').'" /></p>'. 
  • plugins/postExpired/_define.php

    r2275 r2330  
    1717     /* Description*/         "Change entries options at a given date", 
    1818     /* Author */             "JC Denis", 
    19      /* Version */            '0.2.1', 
     19     /* Version */            '0.3', 
    2020     /* Permissions */        'contentadmin' 
    2121); 
    22      /* date */          #20100528 
     22     /* date */          #20100608 
    2323?> 
  • plugins/postExpired/_public.php

    r2275 r2330  
    1212 
    1313if (!defined('DC_RC_PATH')){return;} 
    14 if (!$core->plugins->moduleExists('metadata')){return;} 
    1514 
    1615__('Expired on'); 
    1716__('This entry has no expirion date'); 
    1817 
    19 if (in_array($core->url->type,array('default','feed'))) { 
     18if (in_array($core->url->type,array('default','feed'))){ 
    2019     $core->addBehavior('publicBeforeDocument',array('publicBehaviorPostExpired','unpublishExpiredEntries')); 
    2120} 
     
    3029     public static function unpublishExpiredEntries($core) 
    3130     { 
    32           $meta = new dcMeta($core); 
    33  
    3431          # Get expired dates and post_id 
    3532          $posts = $core->con->select( 
     
    4340          ); 
    4441          # No expired date 
    45           if ($posts->isEmpty()) { 
     42          if ($posts->isEmpty()) 
     43          { 
    4644               return; 
    4745          } 
     
    5957               { 
    6058                    # Delete meta for expired date 
    61                     $core->auth->sudo(array($meta,'delPostMeta'),$posts->post_id,'postexpired'); 
     59                    $core->auth->sudo(array($core->meta,'delPostMeta'),$posts->post_id,'postexpired'); 
    6260                    # Retrieve action on 'post_status' 
    6361                    $rs_status = $core->con->select( 
     
    104102 
    105103                              # Delete meta record for status 
    106                               $core->auth->sudo(array($meta,'delPostMeta'),$posts->post_id,'postexpiredstatus'); 
     104                              $core->auth->sudo(array($core->meta,'delPostMeta'),$posts->post_id,'postexpiredstatus'); 
    107105                         } 
    108106                         # Action on 'cat_id' 
     
    114112 
    115113                              # Delete meta record for category 
    116                               $core->auth->sudo(array($meta,'delPostMeta'),$posts->post_id,'postexpiredcat'); 
     114                              $core->auth->sudo(array($core->meta,'delPostMeta'),$posts->post_id,'postexpiredcat'); 
    117115                         } 
    118116                         # Action on 'post_selected' 
     
    124122 
    125123                              # Delete meta record for selected 
    126                               $core->auth->sudo(array($meta,'delPostMeta'),$posts->post_id,'postexpiredselected'); 
     124                              $core->auth->sudo(array($core->meta,'delPostMeta'),$posts->post_id,'postexpiredselected'); 
    127125                         } 
    128126                         # Update post 
     
    151149     public static function postExpiredDate(&$rs,$absolute_urls=false) 
    152150     { 
    153           if (!$rs->postexpired[$rs->post_id]) { 
    154                $meta = new dcMeta($rs->core); 
    155                $rs_date = $meta->getMeta('postexpired',1,null,$rs->post_id); 
     151          if (!$rs->postexpired[$rs->post_id]) 
     152          { 
     153               $params = array( 
     154                    'meta_type' => 'postexpired', 
     155                    'post_id' => $rs->post_id, 
     156                    'limit' => 1 
     157               ); 
     158               $rs_date = $rs->core->meta->getMetadata($params); 
    156159               return $rs_date->isEmpty() ? null : (string) $rs_date->meta_id; 
    157160          } 
  • plugins/postExpired/release.txt

    r2275 r2330  
     1todo 
     2 * Add option to add/remove tag 
     3 
     40.3 20100608 
     5 * Switched to DC 2.2 (settings,meta) 
     6 
    170.2.1 20100528 
    28 * Fixed DC 2.1.7 settings bugs 
Note: See TracChangeset for help on using the changeset viewer.

Sites map