Dotclear

Changeset 2048:a23152342139


Ignore:
Timestamp:
09/23/13 23:40:40 (11 years ago)
Author:
Dsls
Branch:
default
Message:

exit is a bit rough and not really ob_start compliand, made it smoother for plugins; Tuned pages plugin so that it works ... now

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • admin/posts.php

    r1999 r2048  
    106106$posts_actions_page = new dcPostsActionsPage($core,'posts.php'); 
    107107 
    108 $posts_actions_page->process(); 
    109  
    110 /* Get posts 
    111 -------------------------------------------------------- */ 
    112 $user_id = !empty($_GET['user_id']) ?   $_GET['user_id'] : ''; 
    113 $cat_id = !empty($_GET['cat_id']) ?     $_GET['cat_id'] : ''; 
    114 $status = isset($_GET['status']) ? $_GET['status'] : ''; 
    115 $selected = isset($_GET['selected']) ?  $_GET['selected'] : ''; 
    116 $month = !empty($_GET['month']) ?       $_GET['month'] : ''; 
    117 $lang = !empty($_GET['lang']) ?         $_GET['lang'] : ''; 
    118 $sortby = !empty($_GET['sortby']) ?     $_GET['sortby'] : 'post_dt'; 
    119 $order = !empty($_GET['order']) ?       $_GET['order'] : 'desc'; 
    120  
    121 $show_filters = false; 
    122  
    123 $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; 
    124 $nb_per_page =  30; 
    125  
    126 if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 
    127      if ($nb_per_page != $_GET['nb']) { 
    128           $show_filters = true; 
    129      } 
    130      $nb_per_page = (integer) $_GET['nb']; 
    131 } 
    132  
    133 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
    134 $params['no_content'] = true; 
    135  
    136 # - User filter 
    137 if ($user_id !== '' && in_array($user_id,$users_combo)) { 
    138      $params['user_id'] = $user_id; 
    139      $show_filters = true; 
    140 } else { 
    141      $user_id=''; 
    142 } 
    143  
    144 # - Categories filter 
    145 if ($cat_id !== '' && isset($categories_values[$cat_id])) { 
    146      $params['cat_id'] = $cat_id; 
    147      $show_filters = true; 
    148 } else { 
    149      $cat_id=''; 
    150 } 
    151  
    152 # - Status filter 
    153 if ($status !== '' && in_array($status,$status_combo)) { 
    154      $params['post_status'] = $status; 
    155      $show_filters = true; 
    156 } else { 
    157      $status=''; 
    158 } 
    159  
    160 # - Selected filter 
    161 if ($selected !== '' && in_array($selected,$selected_combo)) { 
    162      $params['post_selected'] = $selected; 
    163      $show_filters = true; 
    164 } else { 
    165      $selected=''; 
    166 } 
    167  
    168 # - Month filter 
    169 if ($month !== '' && in_array($month,$dt_m_combo)) { 
    170      $params['post_month'] = substr($month,4,2); 
    171      $params['post_year'] = substr($month,0,4); 
    172      $show_filters = true; 
    173 } else { 
    174      $month=''; 
    175 } 
    176  
    177 # - Lang filter 
    178 if ($lang !== '' && in_array($lang,$lang_combo)) { 
    179      $params['post_lang'] = $lang; 
    180      $show_filters = true; 
    181 } else { 
    182      $lang=''; 
    183 } 
    184  
    185 # - Sortby and order filter 
    186 if ($sortby !== '' && in_array($sortby,$sortby_combo)) { 
    187      if ($order !== '' && in_array($order,$order_combo)) { 
    188           $params['order'] = $sortby.' '.$order; 
    189      } else { 
     108if (!$posts_actions_page->process()) { 
     109 
     110     /* Get posts 
     111     -------------------------------------------------------- */ 
     112     $user_id = !empty($_GET['user_id']) ?   $_GET['user_id'] : ''; 
     113     $cat_id = !empty($_GET['cat_id']) ?     $_GET['cat_id'] : ''; 
     114     $status = isset($_GET['status']) ? $_GET['status'] : ''; 
     115     $selected = isset($_GET['selected']) ?  $_GET['selected'] : ''; 
     116     $month = !empty($_GET['month']) ?       $_GET['month'] : ''; 
     117     $lang = !empty($_GET['lang']) ?         $_GET['lang'] : ''; 
     118     $sortby = !empty($_GET['sortby']) ?     $_GET['sortby'] : 'post_dt'; 
     119     $order = !empty($_GET['order']) ?       $_GET['order'] : 'desc'; 
     120 
     121     $show_filters = false; 
     122 
     123     $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; 
     124     $nb_per_page =  30; 
     125 
     126     if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 
     127          if ($nb_per_page != $_GET['nb']) { 
     128               $show_filters = true; 
     129          } 
     130          $nb_per_page = (integer) $_GET['nb']; 
     131     } 
     132 
     133     $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
     134     $params['no_content'] = true; 
     135 
     136     # - User filter 
     137     if ($user_id !== '' && in_array($user_id,$users_combo)) { 
     138          $params['user_id'] = $user_id; 
     139          $show_filters = true; 
     140     } else { 
     141          $user_id=''; 
     142     } 
     143 
     144     # - Categories filter 
     145     if ($cat_id !== '' && isset($categories_values[$cat_id])) { 
     146          $params['cat_id'] = $cat_id; 
     147          $show_filters = true; 
     148     } else { 
     149          $cat_id=''; 
     150     } 
     151 
     152     # - Status filter 
     153     if ($status !== '' && in_array($status,$status_combo)) { 
     154          $params['post_status'] = $status; 
     155          $show_filters = true; 
     156     } else { 
     157          $status=''; 
     158     } 
     159 
     160     # - Selected filter 
     161     if ($selected !== '' && in_array($selected,$selected_combo)) { 
     162          $params['post_selected'] = $selected; 
     163          $show_filters = true; 
     164     } else { 
     165          $selected=''; 
     166     } 
     167 
     168     # - Month filter 
     169     if ($month !== '' && in_array($month,$dt_m_combo)) { 
     170          $params['post_month'] = substr($month,4,2); 
     171          $params['post_year'] = substr($month,0,4); 
     172          $show_filters = true; 
     173     } else { 
     174          $month=''; 
     175     } 
     176 
     177     # - Lang filter 
     178     if ($lang !== '' && in_array($lang,$lang_combo)) { 
     179          $params['post_lang'] = $lang; 
     180          $show_filters = true; 
     181     } else { 
     182          $lang=''; 
     183     } 
     184 
     185     # - Sortby and order filter 
     186     if ($sortby !== '' && in_array($sortby,$sortby_combo)) { 
     187          if ($order !== '' && in_array($order,$order_combo)) { 
     188               $params['order'] = $sortby.' '.$order; 
     189          } else { 
     190               $order='desc'; 
     191          } 
     192           
     193          if ($sortby != 'post_dt' || $order != 'desc') { 
     194               $show_filters = true; 
     195          } 
     196     } else { 
     197          $sortby='post_dt'; 
    190198          $order='desc'; 
    191199     } 
    192       
    193      if ($sortby != 'post_dt' || $order != 'desc') { 
    194           $show_filters = true; 
    195      } 
    196 } else { 
    197      $sortby='post_dt'; 
    198      $order='desc'; 
    199 } 
    200  
    201 # Get posts 
    202 try { 
    203      $posts = $core->blog->getPosts($params); 
    204      $counter = $core->blog->getPosts($params,true); 
    205      $post_list = new adminPostList($core,$posts,$counter->f(0)); 
    206 } catch (Exception $e) { 
    207      $core->error->add($e->getMessage()); 
    208 } 
    209  
    210 /* DISPLAY 
    211 -------------------------------------------------------- */ 
    212 $starting_script = dcPage::jsLoad('js/_posts_list.js'); 
    213 if (!$show_filters) { 
    214      $starting_script .= dcPage::jsLoad('js/filter-controls.js'); 
    215 } 
    216  
    217 dcPage::open(__('Entries'),$starting_script, 
    218      dcPage::breadcrumb( 
    219           array( 
    220                html::escapeHTML($core->blog->name) => '', 
    221                '<span class="page-title">'.__('Entries').'</span>' => '' 
    222           )) 
    223 ); 
    224 if (!empty($_GET['upd'])) { 
    225      dcPage::success(__('Selected entries have been successfully updated.')); 
    226 } elseif (!empty($_GET['del'])) { 
    227      dcPage::success(__('Selected entries have been successfully deleted.')); 
    228 } 
    229 if (!$core->error->flag()) 
    230 { 
    231      echo 
    232      '<p class="top-add"><a class="button add" href="post.php">'.__('New entry').'</a></p>'; 
    233       
     200 
     201     # Get posts 
     202     try { 
     203          $posts = $core->blog->getPosts($params); 
     204          $counter = $core->blog->getPosts($params,true); 
     205          $post_list = new adminPostList($core,$posts,$counter->f(0)); 
     206     } catch (Exception $e) { 
     207          $core->error->add($e->getMessage()); 
     208     } 
     209 
     210     /* DISPLAY 
     211     -------------------------------------------------------- */ 
     212     $starting_script = dcPage::jsLoad('js/_posts_list.js'); 
    234213     if (!$show_filters) { 
    235           echo '<p><a id="filter-control" class="form-control" href="#">'. 
    236           __('Filter posts list').'</a></p>'; 
    237      } 
    238       
    239      echo 
    240      '<form action="posts.php" method="get" id="filters-form">'. 
    241      '<h3 class="hidden">'.__('Filter posts list').'</h3>'. 
    242  
    243      '<div class="table">'. 
    244      '<div class="cell">'. 
    245      '<h4>'.__('Filters').'</h4>'. 
    246      '<p><label for="user_id" class="ib">'.__('Author:').'</label> '. 
    247      form::combo('user_id',$users_combo,$user_id).'</p>'. 
    248      '<p><label for="cat_id" class="ib">'.__('Category:').'</label> '. 
    249      form::combo('cat_id',$categories_combo,$cat_id).'</p>'. 
    250      '<p><label for="status" class="ib">'.__('Status:').'</label> ' . 
    251      form::combo('status',$status_combo,$status).'</p> '. 
    252      '</div>'. 
    253       
    254      '<div class="cell filters-sibling-cell">'. 
    255      '<p><label for="selected" class="ib">'.__('Selected:').'</label> '. 
    256      form::combo('selected',$selected_combo,$selected).'</p>'. 
    257      '<p><label for="month" class="ib">'.__('Month:').'</label> '. 
    258      form::combo('month',$dt_m_combo,$month).'</p>'. 
    259      '<p><label for="lang" class="ib">'.__('Lang:').'</label> '. 
    260      form::combo('lang',$lang_combo,$lang).'</p> '. 
    261      '</div>'. 
    262       
    263      '<div class="cell filters-options">'. 
    264      '<h4>'.__('Display options').'</h4>'. 
    265      '<p><label for="sortby" class="ib">'.__('Order by:').'</label> '. 
    266      form::combo('sortby',$sortby_combo,$sortby).'</p>'. 
    267      '<p><label for="order" class="ib">'.__('Sort:').'</label> '. 
    268      form::combo('order',$order_combo,$order).'</p>'. 
    269      '<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'. 
    270      form::field('nb',3,3,$nb_per_page).' '. 
    271      __('entries per page').'</label></p>'. 
    272      '</div>'. 
    273      '</div>'. 
    274  
    275      '<p><input type="submit" value="'.__('Apply filters and display options').'" />'. 
    276      '<br class="clear" /></p>'. //Opera sucks 
    277      '</form>'; 
    278       
    279      # Show posts 
    280      $post_list->display($page,$nb_per_page, 
    281      '<form action="posts.php" method="post" id="form-entries">'. 
    282       
    283      '%s'. 
    284       
    285      '<div class="two-cols">'. 
    286      '<p class="col checkboxes-helpers"></p>'. 
    287       
    288      '<p class="col right"><label for="action" class="classic">'.__('Selected entries action:').'</label> '. 
    289      form::combo('action',$posts_actions_page->getCombo()). 
    290      '<input type="submit" value="'.__('ok').'" /></p>'. 
    291      form::hidden(array('user_id'),$user_id). 
    292      form::hidden(array('cat_id'),$cat_id). 
    293      form::hidden(array('status'),$status). 
    294      form::hidden(array('selected'),$selected). 
    295      form::hidden(array('month'),$month). 
    296      form::hidden(array('lang'),$lang). 
    297      form::hidden(array('sortby'),$sortby). 
    298      form::hidden(array('order'),$order). 
    299      form::hidden(array('page'),$page). 
    300      form::hidden(array('nb'),$nb_per_page). 
    301      $core->formNonce(). 
    302      '</div>'. 
    303      '</form>' 
    304      ); 
    305 } 
    306  
    307 dcPage::helpBlock('core_posts'); 
    308 dcPage::close(); 
     214          $starting_script .= dcPage::jsLoad('js/filter-controls.js'); 
     215     } 
     216 
     217     dcPage::open(__('Entries'),$starting_script, 
     218          dcPage::breadcrumb( 
     219               array( 
     220                    html::escapeHTML($core->blog->name) => '', 
     221                    '<span class="page-title">'.__('Entries').'</span>' => '' 
     222               )) 
     223     ); 
     224     if (!empty($_GET['upd'])) { 
     225          dcPage::success(__('Selected entries have been successfully updated.')); 
     226     } elseif (!empty($_GET['del'])) { 
     227          dcPage::success(__('Selected entries have been successfully deleted.')); 
     228     } 
     229     if (!$core->error->flag()) 
     230     { 
     231          echo 
     232          '<p class="top-add"><a class="button add" href="post.php">'.__('New entry').'</a></p>'; 
     233           
     234          if (!$show_filters) { 
     235               echo '<p><a id="filter-control" class="form-control" href="#">'. 
     236               __('Filter posts list').'</a></p>'; 
     237          } 
     238           
     239          echo 
     240          '<form action="posts.php" method="get" id="filters-form">'. 
     241          '<h3 class="hidden">'.__('Filter posts list').'</h3>'. 
     242 
     243          '<div class="table">'. 
     244          '<div class="cell">'. 
     245          '<h4>'.__('Filters').'</h4>'. 
     246          '<p><label for="user_id" class="ib">'.__('Author:').'</label> '. 
     247          form::combo('user_id',$users_combo,$user_id).'</p>'. 
     248          '<p><label for="cat_id" class="ib">'.__('Category:').'</label> '. 
     249          form::combo('cat_id',$categories_combo,$cat_id).'</p>'. 
     250          '<p><label for="status" class="ib">'.__('Status:').'</label> ' . 
     251          form::combo('status',$status_combo,$status).'</p> '. 
     252          '</div>'. 
     253           
     254          '<div class="cell filters-sibling-cell">'. 
     255          '<p><label for="selected" class="ib">'.__('Selected:').'</label> '. 
     256          form::combo('selected',$selected_combo,$selected).'</p>'. 
     257          '<p><label for="month" class="ib">'.__('Month:').'</label> '. 
     258          form::combo('month',$dt_m_combo,$month).'</p>'. 
     259          '<p><label for="lang" class="ib">'.__('Lang:').'</label> '. 
     260          form::combo('lang',$lang_combo,$lang).'</p> '. 
     261          '</div>'. 
     262           
     263          '<div class="cell filters-options">'. 
     264          '<h4>'.__('Display options').'</h4>'. 
     265          '<p><label for="sortby" class="ib">'.__('Order by:').'</label> '. 
     266          form::combo('sortby',$sortby_combo,$sortby).'</p>'. 
     267          '<p><label for="order" class="ib">'.__('Sort:').'</label> '. 
     268          form::combo('order',$order_combo,$order).'</p>'. 
     269          '<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'. 
     270          form::field('nb',3,3,$nb_per_page).' '. 
     271          __('entries per page').'</label></p>'. 
     272          '</div>'. 
     273          '</div>'. 
     274 
     275          '<p><input type="submit" value="'.__('Apply filters and display options').'" />'. 
     276          '<br class="clear" /></p>'. //Opera sucks 
     277          '</form>'; 
     278           
     279          # Show posts 
     280          $post_list->display($page,$nb_per_page, 
     281          '<form action="posts.php" method="post" id="form-entries">'. 
     282           
     283          '%s'. 
     284           
     285          '<div class="two-cols">'. 
     286          '<p class="col checkboxes-helpers"></p>'. 
     287           
     288          '<p class="col right"><label for="action" class="classic">'.__('Selected entries action:').'</label> '. 
     289          form::combo('action',$posts_actions_page->getCombo()). 
     290          '<input type="submit" value="'.__('ok').'" /></p>'. 
     291          form::hidden(array('user_id'),$user_id). 
     292          form::hidden(array('cat_id'),$cat_id). 
     293          form::hidden(array('status'),$status). 
     294          form::hidden(array('selected'),$selected). 
     295          form::hidden(array('month'),$month). 
     296          form::hidden(array('lang'),$lang). 
     297          form::hidden(array('sortby'),$sortby). 
     298          form::hidden(array('order'),$order). 
     299          form::hidden(array('page'),$page). 
     300          form::hidden(array('nb'),$nb_per_page). 
     301          $core->formNonce(). 
     302          '</div>'. 
     303          '</form>' 
     304          ); 
     305     } 
     306 
     307     dcPage::helpBlock('core_posts'); 
     308     dcPage::close(); 
     309} 
    309310?> 
  • inc/admin/actions/class.dcaction.php

    r2039 r2048  
    223223     public function redirect($params=array(),$with_selected_entries=false) { 
    224224          http::redirect($this->getRedirection($params,$with_selected_entries)); 
     225          exit; 
    225226     }     
    226227      
     
    270271                    } 
    271272                    if ($performed) { 
    272                          exit; 
     273                         return true; 
    273274                    } 
    274275               } catch (Exception $e) { 
  • inc/admin/actions/class.dcactionposts.php

    r2001 r2048  
    4848               array( 
    4949                    html::escapeHTML($this->core->blog->name) => '', 
    50                     __('Entries') => 'posts.php', 
     50                    __('Entries') => $this->getRedirection(array(),true), 
    5151                    '<span class="page-title">'.__('Entries actions').'</span>' => '' 
    5252               )) 
     
    8787class dcDefaultPostActions  
    8888{ 
    89      public static function adminPostsActionsPage($core, dcPostsActionsPage $ap) { 
     89     public static function adminPostsActionsPage($core, $ap) { 
    9090          if ($core->auth->check('publish,contentadmin',$core->blog->id)) { 
    9191               $ap->addAction( 
     
    211211               $ap->redirect(array('upd'=>1),true); 
    212212          } else { 
     213 
    213214               $ap->beginPage( 
    214215                    dcPage::breadcrumb( 
    215216                         array( 
    216217                              html::escapeHTML($core->blog->name) => '', 
    217                               __('Entries') => 'posts.php', 
     218                              __('Entries') => $ap->getRedirection(array(),true), 
    218219                              '<span class="page-title">'.__('Change category for entries').'</span>' => '' 
    219220               ))); 
    220                 
    221221               # categories list 
    222222               # Getting categories 
    223223               $categories_combo = dcAdminCombos::getCategoriesCombo( 
    224                     $core->blog->getCategories(array('post_type'=>'post')) 
     224                    $core->blog->getCategories() 
    225225               );              
    226226               echo 
    227                '<form action="posts.php" method="post">'. 
     227               '<form action="'.$ap->getRedirection(array(),true).'" method="post">'. 
    228228               $ap->getCheckboxes(). 
    229229               '<p><label for="new_cat_id" class="classic">'.__('Category:').'</label> '. 
    230                form::combo('new_cat_id',$categories_combo,''); 
     230               form::combo(array('new_cat_id'),$categories_combo,''); 
    231231                
    232232               if ($core->auth->check('categories', $core->blog->id)) { 
     
    244244               echo 
    245245               $core->formNonce(). 
     246               $ap->getHiddenFields(). 
    246247               form::hidden(array('action'),'category'). 
    247248               '<input type="submit" value="'.__('Save').'" /></p>'. 
     
    285286                         array( 
    286287                              html::escapeHTML($core->blog->name) => '', 
    287                               __('Entries') => 'posts.php', 
     288                              __('Entries') => $ap->getRedirection(array(),true), 
    288289                              '<span class="page-title">'.__('Change author for entries').'</span>' => '')), 
    289290                         dcPage::jsLoad('js/jquery/jquery.autocomplete.js'). 
     
    302303                
    303304               echo 
    304                     $core->formNonce(). 
     305                    $core->formNonce().$ap->getHiddenFields(). 
    305306                    form::hidden(array('action'),'author'). 
    306307                    '<input type="submit" value="'.__('Save').'" /></p>'. 
     
    326327                         array( 
    327328                              html::escapeHTML($core->blog->name) => '', 
    328                               __('Entries') => 'posts.php', 
     329                              __('Entries') => $ap->getRedirection(array(),true), 
    329330                              '<span class="page-title">'.__('Change language for entries').'</span>' => '' 
    330331               ))); 
     
    353354                
    354355               echo 
    355                     $core->formNonce(). 
     356                    $core->formNonce().$ap->getHiddenFields(). 
    356357                    form::hidden(array('action'),'lang'). 
    357358                    '<input type="submit" value="'.__('Save').'" /></p>'. 
  • plugins/pages/list.php

    r2036 r2048  
    155155     } 
    156156      
    157      public function beginPage($breadcrumb='',$header='') { 
     157     public function beginPage($breadcrumb='',$head='') { 
    158158          echo '<html><head><title>'.__('Pages').'</title>'. 
    159                dcPage::jsLoad('index.php?pf=pages/list.js'). 
    160                # --BEHAVIOR-- adminBeforePostDelete 
    161                $core->callBehavior('adminPagesActionsHeaders'). 
     159               dcPage::jsLoad('js/_posts_actions.js'). 
    162160               '<script type="text/javascript">'. 
    163161               '//<![CDATA['. 
    164162               dcPage::jsVar('dotclear.msg.confirm_delete_posts',__("Are you sure you want to delete selected pages?")). 
    165163               '//]]>'. 
     164               $head. 
    166165               '</script></head><body>'; 
     166               '</head><body>'.$breadcrumb; 
    167167     } 
    168168      
     
    182182               $this->from['action']='reorder'; 
    183183          } 
    184           parent::process(); 
     184          $this->from['post_type']='page'; 
     185          return parent::process(); 
    185186     } 
    186187      
     
    214215$pages_actions_page = new dcPagesActionsPage($core,'plugin.php',array('p'=>'pages')); 
    215216 
    216 $pages_actions_page->process(); 
     217if (!$pages_actions_page->process()) { 
    217218 
    218219 
     
    271272     form::hidden(array('post_type'),'page'). 
    272273     form::hidden(array('p'),'pages'). 
     274     form::hidden(array('act'),'list'). 
    273275     '</div>'. 
    274276     $core->formNonce(). 
     
    284286</body> 
    285287</html> 
     288<?php 
     289} 
     290?> 
  • plugins/tags/_admin.php

    r2039 r2048  
    151151                         array( 
    152152                              html::escapeHTML($core->blog->name) => '', 
    153                               __('Entries') => 'posts.php', 
     153                              __('Entries') => $ap->getRedirection(array(),true), 
    154154                              '<span class="page-title">'.__('Add tags to entries').'</span>' => '' 
    155155                    )), 
     
    180180                    form::textarea('new_tags',60,3). 
    181181                    '</div>'. 
    182                     $core->formNonce(). 
     182                    $core->formNonce().$ap->getHiddenFields(). 
    183183                    form::hidden(array('action'),'tags'). 
    184184                    '<p><input type="submit" value="'.__('Save').'" '. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map