0byt3m1n1-V2
Path:
/
home
/
magalijoj
/
www
/
blog
/
admin
/
[
Home
]
File: posts_actions.php
<?php # ***** BEGIN LICENSE BLOCK ***** # This file is part of DotClear. # Copyright (c) 2005 Olivier Meunier and contributors. All rights # reserved. # # DotClear is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # DotClear is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with DotClear; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # ***** END LICENSE BLOCK ***** require dirname(__FILE__).'/../inc/admin/prepend.php'; dcPage::check('usage,contentadmin'); $params = array(); /* Actions -------------------------------------------------------- */ if (!empty($_POST['action']) && !empty($_POST['entries'])) { $entries = $_POST['entries']; $action = $_POST['action']; if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false) { $redir = $_POST['redir']; } else { $redir = 'posts.php?user_id='.$_POST['user_id']. '&cat_id='.$_POST['cat_id']. '&status='.$_POST['status']. '&selected='.$_POST['selected']. '&month='.$_POST['month']. '&lang='.$_POST['lang']. '&sortby='.$_POST['sortby']. '&order='.$_POST['order']. '&page='.$_POST['page']. '&nb='.$_POST['nb']; } foreach ($entries as $k => $v) { $entries[$k] = (integer) $v; } $params['sql'] = 'AND P.post_id IN('.implode(',',$entries).') '; $params['no_content'] = true; $posts = $core->blog->getPosts($params); # --BEHAVIOR-- adminPostsActions $core->callBehavior('adminPostsActions',$core,$posts,$action,$redir); if (preg_match('/^(publish|unpublish|schedule|pending)$/',$action)) { switch ($action) { case 'unpublish' : $status = 0; break; case 'schedule' : $status = -1; break; case 'pending' : $status = -2; break; default : $status = 1; break; } try { while ($posts->fetch()) { $core->blog->updPostStatus($posts->post_id,$status); } http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'delete') { try { while ($posts->fetch()) { $core->blog->delPost($posts->post_id); } http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'category' && isset($_POST['new_cat_id'])) { try { while ($posts->fetch()) { $new_cat_id = (integer) $_POST['new_cat_id']; $core->blog->updPostCategory($posts->post_id,$new_cat_id); } http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'author' && isset($_POST['new_auth_id']) && $core->auth->check('admin',$core->blog->id)) { $new_user_id = $_POST['new_auth_id']; try { if ($core->getUser($new_user_id)->isEmpty()) { throw new Exception(__('This user does not exists')); } while ($posts->fetch()) { $cur = $core->con->openCursor($core->prefix.'post'); $cur->user_id = $new_user_id; $cur->update('WHERE post_id = '.(integer) $posts->post_id); } http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } } /* DISPLAY -------------------------------------------------------- */ dcPage::open(__('Entries')); if (!isset($action)) { dcPage::close(); exit; } $hidden_fields = ''; while ($posts->fetch()) { $hidden_fields .= form::hidden(array('entries[]'),$posts->post_id); } if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false) { $hidden_fields .= form::hidden(array('redir'),$_POST['redir']); } else { $hidden_fields .= form::hidden(array('user_id'),$_POST['user_id']). form::hidden(array('cat_id'),$_POST['cat_id']). form::hidden(array('status'),$_POST['status']). form::hidden(array('selected'),$_POST['selected']). form::hidden(array('month'),$_POST['month']). form::hidden(array('lang'),$_POST['lang']). form::hidden(array('sortby'),$_POST['sortby']). form::hidden(array('order'),$_POST['order']). form::hidden(array('page'),$_POST['page']). form::hidden(array('nb'),$_POST['nb']); } # --BEHAVIOR-- adminPostsActionsContent $core->callBehavior('adminPostsActionsContent',$core,$action,$hidden_fields); if ($action == 'category') { echo '<h2>'.__('Change category for entries').'</h2>'; # categories list # Getting categories $categories_combo = array(' ' => ''); try { $categories = $core->blog->getCategories(); while ($categories->fetch()) { $categories_combo[$categories->cat_title] = $categories->cat_id; } } catch (Exception $e) { } echo '<form action="posts_actions.php" method="post">'. '<p><label class="classic">'.__('Category:').' '. form::combo('new_cat_id',$categories_combo,''). '</label> '; echo $hidden_fields. $core->formNonce(). form::hidden(array('action'),'category'). '<input type="submit" value="'.__('save').'" /></p>'. '</form>'; } elseif ($action == 'author' && $core->auth->check('admin',$core->blog->id)) { echo '<h2>'.__('Change author for entries').'</h2>'; echo '<form action="posts_actions.php" method="post">'. '<p><label class="classic">'.__('Author ID:').' '. form::field('new_auth_id',20,255). '</label> '; echo $hidden_fields. $core->formNonce(). form::hidden(array('action'),'author'). '<input type="submit" value="'.__('save').'" /></p>'. '</form>'; } echo '<p><a href="'.str_replace('&','&',$redir).'">'.__('back').'</a></p>'; dcPage::close(); ?>
©
2018.