Dotclear

Changeset 1882:433e8676f9ac


Ignore:
Timestamp:
08/19/13 18:58:08 (11 years ago)
Author:
Lepeltier kévin
Branch:
Ticket #1181
Message:

Ticket #1181 : Modification de admin/plugin.php?p=pages pour ajouter les champs de réordonancement.
Nouvelle action reorder dans le menu d'action.
Javascript sortable.
Petites modifs sur la copie de _posts_list.js

Location:
plugins/pages
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • plugins/pages/_admin.php

    r1179 r1882  
    1515$core->addBehavior('adminDashboardFavs','pages_dashboard_favs'); 
    1616$core->addBehavior('adminDashboardFavsIcon','pages_dashboard_favs_icon'); 
     17 
     18$core->addBehavior('adminPostsActionsContent','pages_PostsActionsContent'); 
     19 
    1720function pages_dashboard($core,$icons) 
    1821{ 
     
    4245} 
    4346 
     47function pages_PostsActionsContent($core,$action,$hidden_fields,$form_uri="posts_actions.php") 
     48{ 
     49      
     50     if ($action == 'reorder' && !empty($_POST['order'])) { 
     51          try { 
     52                
     53               foreach($_POST['order'] as $post_id => $value) { 
     54                     
     55                    if (!$core->auth->check('publish,contentadmin',$core->blog->id)) 
     56                         throw new Exception(__('You are not allowed to change this entry status')); 
     57                     
     58                    $strReq = "WHERE blog_id = '".$core->con->escape($core->blog->id)."' ". 
     59                              "AND post_id ".$core->con->in($post_id); 
     60                     
     61                    #If user can only publish, we need to check the post's owner 
     62                    if (!$core->auth->check('contentadmin',$core->blog->id)) 
     63                         $strReq .= "AND user_id = '".$core->con->escape($core->auth->userID())."' "; 
     64                     
     65                    $cur = $core->con->openCursor($core->prefix.'post'); 
     66                     
     67                    $cur->post_position = (integer) $value-1; 
     68                    $cur->post_upddt = date('Y-m-d H:i:s'); 
     69                     
     70                    $cur->update($strReq); 
     71                    $core->blog->triggerBlog(); 
     72                     
     73               } 
     74 
     75               http::redirect($_POST['redir']); 
     76          } catch (Exception $e) { 
     77               $core->error->add($e->getMessage()); 
     78          } 
     79     } 
     80} 
     81 
    4482$_menu['Blog']->addItem(__('Pages'),'plugin.php?p=pages','index.php?pf=pages/icon.png', 
    4583          preg_match('/plugin.php\?p=pages(&.*)?$/',$_SERVER['REQUEST_URI']), 
  • plugins/pages/list.php

    r1464 r1882  
    3131                
    3232               $html_block = 
    33                '<table class="clear"><tr>'. 
    34                '<th colspan="2">'.__('Title').'</th>'. 
     33               '<table class="maximal dragable"><thead><tr>'. 
     34               '<th colspan="3">'.__('Title').'</th>'. 
    3535               '<th>'.__('Date').'</th>'. 
    3636               '<th>'.__('Author').'</th>'. 
     
    3838               '<th>'.__('Trackbacks').'</th>'. 
    3939               '<th>'.__('Status').'</th>'. 
    40                '</tr>%s</table>'; 
     40               '</tr></thead><tbody id="pageslist">%s</tbody></table>'; 
    4141                
    4242               if ($enclose_block) { 
     
    5050               echo $blocks[0]; 
    5151                
     52               $count = 0; 
    5253               while ($this->rs->fetch()) 
    5354               { 
    54                     echo $this->postLine(); 
     55                    echo $this->postLine($count); 
     56                    $count ++; 
    5557               } 
    5658                
     
    6163     } 
    6264      
    63      private function postLine() 
     65     private function postLine($count) 
    6466     { 
    6567          $img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />'; 
     
    100102           
    101103          $res .= 
     104          '<td class="nowrap handle minimal">'.form::field(array('order['.$this->rs->post_id.']'),2,3,$count+1,'position','',false,'title="'.sprintf(__('position of %s'),html::escapeHTML($this->rs->post_title)).'"').'</td>'. 
    102105          '<td class="nowrap">'. 
    103106          form::checkbox(array('entries[]'),$this->rs->post_id,'','','',!$this->rs->isEditable(),'title="'.__('Select this page').'"').'</td>'. 
     
    145148if ($core->auth->check('publish,contentadmin',$core->blog->id)) 
    146149{ 
     150     $combo_action[__('Reorder')] = 'reorder'; 
    147151     $combo_action[__('Publish')] = 'publish'; 
    148152     $combo_action[__('Unpublish')] = 'unpublish'; 
     
    167171<head> 
    168172  <title><?php echo __('Pages'); ?></title> 
    169   <script type="text/javascript" src="js/_posts_list.js"></script> 
     173  <?php 
     174     echo dcPage::jsLoad('js/jquery/jquery-ui.custom.js'). 
     175          dcPage::jsLoad('index.php?pf=pages/list.js'); 
     176  ?> 
    170177  <script type="text/javascript"> 
    171178  //<![CDATA[ 
Note: See TracChangeset for help on using the changeset viewer.

Sites map