Changeset 1905:d72d24250853
- Timestamp:
- 09/16/13 13:28:17 (12 years ago)
- Branch:
- actionsreloaded
- Children:
- 1999:a0ed28c2da5a, 2037:cdcd97549428
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/comments.php
r1719 r1905 131 131 $combo_action = array(); 132 132 $default = ''; 133 if ($core->auth->check(' publish,contentadmin',$core->blog->id))133 if ($core->auth->check('delete,contentadmin',$core->blog->id) && $status == -2) 134 134 { 135 $combo_action[__('Publish')] = 'publish'; 136 $combo_action[__('Unpublish')] = 'unpublish'; 137 $combo_action[__('Mark as pending')] = 'pending'; 138 $combo_action[__('Mark as junk')] = 'junk'; 139 } 140 if ($core->auth->check('delete,contentadmin',$core->blog->id)) 141 { 142 $combo_action[__('Delete')] = 'delete'; 143 if ($status == -2) { 144 $default = 'delete'; 145 } 146 } 147 148 # --BEHAVIOR-- adminCommentsActionsCombo 149 $core->callBehavior('adminCommentsActionsCombo',array(&$combo_action)); 135 $default = 'delete'; 136 } 137 138 $comments_actions_page = new dcCommentsActionsPage($core,'comments.php'); 139 140 $comments_actions_page->process(); 150 141 151 142 /* Get comments … … 165 156 $starting_script .= dcPage::jsLoad('js/filter-controls.js'); 166 157 } 167 # --BEHAVIOR-- adminCommentsHeaders168 $starting_script .= $core->callBehavior('adminCommentsHeaders');169 158 170 159 dcPage::open(__('Comments and trackbacks'),$starting_script, … … 175 164 )) 176 165 ); 166 if (!empty($_GET['upd'])) { 167 dcPage::success(__('Selected comments have been successfully updated.')); 168 } elseif (!empty($_GET['del'])) { 169 dcPage::success(__('Selected comments have been successfully deleted.')); 170 } 177 171 178 172 if (!$core->error->flag()) … … 254 248 # Show comments 255 249 $comment_list->display($page,$nb_per_page, 256 '<form action="comments _actions.php" method="post" id="form-comments">'.250 '<form action="comments.php" method="post" id="form-comments">'. 257 251 258 252 '%s'. … … 262 256 263 257 '<p class="col right"><label for="action" class="classic">'.__('Selected comments action:').'</label> '. 264 form::combo('action',$com bo_action,$default,'','','','title="'.__('Actions').'"').258 form::combo('action',$comments_actions_page->getCombo(),$default,'','','','title="'.__('Actions').'"'). 265 259 $core->formNonce(). 266 260 '<input type="submit" value="'.__('ok').'" /></p>'. -
admin/comments_actions.php
r1474 r1905 11 11 # -- END LICENSE BLOCK ----------------------------------------- 12 12 13 /* ### THIS FILE IS DEPRECATED ### */ 14 /* ### IT IS ONLY USED FOR PLUGINS COMPATIBILITY ### */ 15 13 16 require dirname(__FILE__).'/../inc/admin/prepend.php'; 14 17 15 18 dcPage::check('usage,contentadmin'); 16 19 17 $params = array(); 18 $redir = 'comments.php'; 20 $comments_actions_page = new dcCommentsActionsPage($core,'posts.php'); 19 21 20 if (!empty($_POST['action']) && !empty($_POST['comments'])) 21 { 22 $comments = $_POST['comments']; 23 $action = $_POST['action']; 24 25 if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false) 26 { 27 $redir = $_POST['redir']; 28 } 29 else 30 { 31 $redir = 32 'comments.php?type='.$_POST['type']. 33 '&author='.$_POST['author']. 34 '&status='.$_POST['status']. 35 '&sortby='.$_POST['sortby']. 36 '&ip='.$_POST['ip']. 37 '&order='.$_POST['order']. 38 '&page='.$_POST['page']. 39 '&nb='.(integer) $_POST['nb']; 40 } 41 42 foreach ($comments as $k => $v) { 43 $comments[$k] = (integer) $v; 44 } 45 46 $params['sql'] = 'AND C.comment_id IN('.implode(',',$comments).') '; 47 48 if (!isset($_POST['full_content']) || empty($_POST['full_content'])) { 49 $params['no_content'] = true; 50 } 51 52 $co = $core->blog->getComments($params); 53 54 $co_ids = array(); 55 while ($co->fetch()) { 56 $co_ids[] = $co->comment_id; 57 } 58 59 # --BEHAVIOR-- adminCommentsActions 60 $core->callBehavior('adminCommentsActions',$core,$co,$action,$redir); 61 62 if (preg_match('/^(publish|unpublish|pending|junk)$/',$action)) 63 { 64 switch ($action) { 65 case 'unpublish' : $status = 0; break; 66 case 'pending' : $status = -1; break; 67 case 'junk' : $status = -2; break; 68 default : $status = 1; break; 69 } 70 71 try { 72 $core->blog->updCommentsStatus($co_ids,$status); 73 } catch (Exception $e) { 74 $core->error->add($e->getMessage()); 75 } 76 77 if (!$core->error->flag()) { 78 http::redirect($redir); 79 } 80 } 81 elseif ($action == 'delete') 82 { 83 try { 84 // Backward compatibility 85 foreach($co_ids as $comment_id) 86 { 87 # --BEHAVIOR-- adminBeforeCommentDelete 88 $core->callBehavior('adminBeforeCommentDelete',$comment_id); 89 } 90 91 # --BEHAVIOR-- adminBeforeCommentsDelete 92 $core->callBehavior('adminBeforeCommentsDelete',$co_ids); 93 94 $core->blog->delComments($co_ids); 95 } catch (Exception $e) { 96 $core->error->add($e->getMessage()); 97 } 98 99 if (!$core->error->flag()) { 100 http::redirect($redir); 101 } 102 } 103 } 22 $comments_actions_page->process(); 104 23 105 /* DISPLAY106 -------------------------------------------------------- */107 dcPage::open(__('Comments'));108 109 if (!isset($action)) {110 dcPage::close();111 exit;112 }113 114 $hidden_fields = '';115 while ($co->fetch()) {116 $hidden_fields .= form::hidden(array('comments[]'),$co->comment_id);117 }118 119 if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false)120 {121 $hidden_fields .= form::hidden(array('redir'),html::escapeURL($_POST['redir']));122 }123 else124 {125 $hidden_fields .=126 form::hidden(array('type'),$_POST['type']).127 form::hidden(array('author'),$_POST['author']).128 form::hidden(array('status'),$_POST['status']).129 form::hidden(array('sortby'),$_POST['sortby']).130 form::hidden(array('ip'),$_POST['ip']).131 form::hidden(array('order'),$_POST['order']).132 form::hidden(array('page'),$_POST['page']).133 form::hidden(array('nb'),$_POST['nb']);134 }135 136 # --BEHAVIOR-- adminCommentsActionsContent137 $core->callBehavior('adminCommentsActionsContent',$core,$action,$hidden_fields);138 139 echo '<p><a class="back" href="'.str_replace('&','&',$redir).'">'.__('Back to comments list').'</a></p>';140 141 dcPage::close();142 24 ?> -
inc/admin/actions/class.dcaction.php
r1903 r1905 38 38 /** @var array list of url parameters (usually $_POST) */ 39 39 protected $from; 40 /** @var string form field name for "entries" (usually "entries") */ 41 protected $field_entries; 40 42 41 43 /** @var string title for checkboxes list, if displayed */ … … 63 65 $this->entries = array(); 64 66 $this->from = new ArrayObject($_POST); 67 $this->field_entries = 'entries'; 65 68 } 66 69 … … 88 91 $this->combo[$k] = array_merge ($this->combo[$k],$a); 89 92 } elseif ($a instanceof formSelectOption) { 90 $values = $a->value;93 $values = array($a->value); 91 94 $this->combo[$k] = $a->value; 92 95 } else { 93 $values = $a;96 $values = array($a); 94 97 $this->combo[$k] = $a; 95 98 } … … 135 138 $ret = ''; 136 139 foreach ($this->entries as $id->$v) { 137 $ret .= form::hidden( 'entries[]',$id);140 $ret .= form::hidden($this->field_entries.'[]',$id); 138 141 } 139 142 return $ret; … … 206 209 $redir_args = array_merge($params,$this->redir_args); 207 210 if ($with_selected_entries) { 208 $redir_args[ 'entries'] = array_keys($this->entries);211 $redir_args[$this->field_entries] = array_keys($this->entries); 209 212 } 210 213 return $this->uri.'?'.http_build_query($redir_args); … … 282 285 $ret .= 283 286 '<tr><td>'. 284 form::checkbox(array( 'entries[]'),$id,true,'','').'</td>'.287 form::checkbox(array($this->field_entries.'[]'),$id,true,'','').'</td>'. 285 288 '<td>'. $title.'</td></tr>'; 286 289 } -
inc/admin/lib.pager.php
r1670 r1905 257 257 $pager->html_next = $this->html_next; 258 258 $pager->var_page = 'page'; 259 259 $comments = array(); 260 if (isset($_REQUEST['comments'])) { 261 foreach ($_REQUEST['comments'] as $v) { 262 $comments[(integer)$v]=true; 263 } 264 } 260 265 $html_block = 261 266 '<table><caption class="hidden">'.__('Comments and trackbacks list').'</caption><tr>'. … … 279 284 while ($this->rs->fetch()) 280 285 { 281 echo $this->commentLine( );286 echo $this->commentLine(isset($comments[$this->rs->comment_id])); 282 287 } 283 288 … … 288 293 } 289 294 290 private function commentLine( )295 private function commentLine($checked) 291 296 { 292 297 global $author, $status, $sortby, $order, $nb_per_page; … … 336 341 $res .= 337 342 '<td class="nowrap">'. 338 form::checkbox(array('comments[]'),$this->rs->comment_id, '','','',0).'</td>'.343 form::checkbox(array('comments[]'),$this->rs->comment_id,$checked,'','',0).'</td>'. 339 344 '<td class="nowrap" abbr="'.__('Type and author').'" scope="raw">'. 340 345 '<a href="'.$comment_url.'" title="'.$comment_title.'">'. -
inc/prepend.php
r1806 r1905 65 65 $__autoload['dcUrlHandlers'] = dirname(__FILE__).'/public/lib.urlhandlers.php'; 66 66 $__autoload['dcPostsActionsPage'] = dirname(__FILE__).'/admin/actions/class.dcactionposts.php'; 67 $__autoload['dcCommentsActionsPage'] = dirname(__FILE__).'/admin/actions/class.dcactioncomments.php'; 67 68 $__autoload['dcActionsPage'] = dirname(__FILE__).'/admin/actions/class.dcaction.php'; 68 69 -
plugins/dclegacy/_admin.php
r1806 r1905 13 13 14 14 $GLOBALS['core']->addBehavior('adminPostsActionsPage',array('dcLegacyPosts','adminPostsActionsPage')); 15 $GLOBALS['core']->addBehavior('adminCommentsActionsPage',array('dcLegacyComments','adminCommentsActionsPage')); 15 16 16 17 /* Handle deprecated behaviors : … … 40 41 } 41 42 } 42 ?> 43 44 45 /* Handle deprecated behaviors : 46 * adminCommentsActionsCombo 47 * adminCommentsActionsHeaders 48 * adminCommentsActionsContent 49 */ 50 class dcLegacyComments 51 { 52 public static function adminCommentsActionsPage($core, dcCommentsActionsPage $as) { 53 $stub_actions = new ArrayObject(); 54 $core->callBehavior('adminCommentsActionsCombo',array($stub_actions)); 55 if (!empty($stub_actions)) { 56 $as->addAction($stub_actions,array('dcLegacyComments','onActionLegacy')); 57 } 58 } 59 60 public static function onActionLegacy($core, dcCommentsActionsPage $as, $Comment) { 61 $core->callBehavior('adminCommentsActions',$core,$as->getRS(),$as->getAction(),$as->getRedirection()); 62 $as->beginPage('', 63 dcPage::jsLoad('js/jquery/jquery.autocomplete.js'). 64 dcPage::jsMetaEditor(). 65 $core->callBehavior('adminCommentsActionsHeaders'),''); 66 $core->callBehavior('adminCommentsActionsContent',$core,$as->getAction(),$as->getHiddenFields(true)); 67 $as->endPage(); 68 69 } 70 }
Note: See TracChangeset
for help on using the changeset viewer.