$v) { $entries[$k] = (integer) $v; } $params['sql'] = 'AND P.post_id IN('.implode(',',$entries).') '; if (!isset($_POST['full_content']) || empty($_POST['full_content'])) { $params['no_content'] = true; } if (isset($_POST['post_type'])) { $params['post_type'] = $_POST['post_type']; } $posts = $core->blog->getPosts($params); $posts_ids = array(); while ($posts->fetch()) { $posts_ids[] = $posts->post_id; } # --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 { $core->blog->updPostsStatus($posts_ids,$status); http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'selected' || $action == 'unselected') { try { $core->blog->updPostsSelected($posts_ids,$action == 'selected'); http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'delete') { try { // Backward compatibility foreach($posts_ids as $post_id) { # --BEHAVIOR-- adminBeforePostDelete $core->callBehavior('adminBeforePostDelete',(integer) $post_id); } # --BEHAVIOR-- adminBeforePostsDelete $core->callBehavior('adminBeforePostsDelete',$posts_ids); $core->blog->delPosts($posts_ids); http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'category' && isset($_POST['new_cat_id'])) { try { $core->blog->updPostsCategory($posts_ids,$_POST['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 exist')); } $cur = $core->con->openCursor($core->prefix.'post'); $cur->user_id = $new_user_id; $cur->update('WHERE post_id '.$core->con->in($posts_ids)); http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } elseif ($action == 'lang' && isset($_POST['new_lang'])) { $new_lang = $_POST['new_lang']; try { $cur = $core->con->openCursor($core->prefix.'post'); $cur->post_lang = $new_lang; $cur->update('WHERE post_id '.$core->con->in($posts_ids)); http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessages()); } } } /* DISPLAY -------------------------------------------------------- */ // Get current users list $usersList = ''; if ($action == 'author' && $core->auth->check('admin',$core->blog->id)) { $params = array( 'limit' => 100, 'order' => 'nb_post DESC' ); $rs = $core->getUsers($params); while ($rs->fetch()) { $usersList .= ($usersList != '' ? ',' : '').'"'.$rs->user_id.'"'; } } dcPage::open( __('Entries'), '\n". dcPage::jsLoad('js/jquery/jquery.autocomplete.js'). dcPage::jsLoad('js/_posts_actions.js'). dcPage::jsMetaEditor(). # --BEHAVIOR-- adminBeforePostDelete $core->callBehavior('adminPostsActionsHeaders') ); 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'),html::escapeURL($_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']); } if (isset($_POST['post_type'])) { $hidden_fields .= form::hidden(array('post_type'),$_POST['post_type']); } # --BEHAVIOR-- adminPostsActionsContent $core->callBehavior('adminPostsActionsContent',$core,$action,$hidden_fields); if ($action == 'category') { echo '