blog->getCategories(array('post_type'=>'post')); } catch (Exception $e) { $core->error->add($e->getMessage()); } # Getting authors try { $users = $core->blog->getPostsUsers(); } catch (Exception $e) { $core->error->add($e->getMessage()); } # Getting dates try { $dates = $core->blog->getDates(array('type'=>'month')); } catch (Exception $e) { $core->error->add($e->getMessage()); } # Getting langs try { $langs = $core->blog->getLangs(); } catch (Exception $e) { $core->error->add($e->getMessage()); } # Creating filter combo boxes if (!$core->error->flag()) { # Filter form we'll put in html_block $users_combo = $categories_combo = array(); $users_combo['-'] = $categories_combo['-'] = ''; while ($users->fetch()) { $user_cn = dcUtils::getUserCN($users->user_id,$users->user_name, $users->user_firstname,$users->user_displayname); if ($user_cn != $users->user_id) { $user_cn .= ' ('.$users->user_id.')'; } $users_combo[$user_cn] = $users->user_id; } $categories_combo[__('(No cat)')] = 'NULL'; while ($categories->fetch()) { $categories_combo[str_repeat(' ',$categories->level-1).($categories->level-1 == 0 ? '' : '• '). html::escapeHTML($categories->cat_title). ' ('.$categories->nb_post.')'] = $categories->cat_id; } $status_combo = array( '-' => '' ); foreach ($core->blog->getAllPostStatus() as $k => $v) { $status_combo[$v] = (string) $k; } $selected_combo = array( '-' => '', __('Selected') => '1', __('Not selected') => '0' ); # Months array $dt_m_combo['-'] = ''; while ($dates->fetch()) { $dt_m_combo[dt::str('%B %Y',$dates->ts())] = $dates->year().$dates->month(); } $lang_combo['-'] = ''; while ($langs->fetch()) { $lang_combo[$langs->post_lang] = $langs->post_lang; } $sortby_combo = array( __('Date') => 'post_dt', __('Title') => 'post_title', __('Category') => 'cat_title', __('Author') => 'user_id', __('Status') => 'post_status', __('Selected') => 'post_selected' ); $order_combo = array( __('Descending') => 'desc', __('Ascending') => 'asc' ); } # Actions combo box $combo_action = array(); if ($core->auth->check('publish,contentadmin',$core->blog->id)) { $combo_action[__('Status')] = array( __('Publish') => 'publish', __('Unpublish') => 'unpublish', __('Schedule') => 'schedule', __('Mark as pending') => 'pending' ); } $combo_action[__('Mark')] = array( __('Mark as selected') => 'selected', __('Mark as unselected') => 'unselected' ); $combo_action[__('Change')] = array( __('Change category') => 'category', __('Change language') => 'lang'); if ($core->auth->check('admin',$core->blog->id)) { $combo_action[__('Change')] = array_merge($combo_action[__('Change')], array(__('Change author') => 'author')); } if ($core->auth->check('delete,contentadmin',$core->blog->id)) { $combo_action[__('Delete')] = array(__('Delete') => 'delete'); } # --BEHAVIOR-- adminPostsActionsCombo $core->callBehavior('adminPostsActionsCombo',array(&$combo_action)); /* Get posts -------------------------------------------------------- */ $user_id = !empty($_GET['user_id']) ? $_GET['user_id'] : ''; $cat_id = !empty($_GET['cat_id']) ? $_GET['cat_id'] : ''; $status = isset($_GET['status']) ? $_GET['status'] : ''; $selected = isset($_GET['selected']) ? $_GET['selected'] : ''; $month = !empty($_GET['month']) ? $_GET['month'] : ''; $lang = !empty($_GET['lang']) ? $_GET['lang'] : ''; $sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'post_dt'; $order = !empty($_GET['order']) ? $_GET['order'] : 'desc'; $show_filters = false; $page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1; $nb_per_page = 30; if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { if ($nb_per_page != $_GET['nb']) { $show_filters = true; } $nb_per_page = (integer) $_GET['nb']; } $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); $params['no_content'] = true; # - User filter if ($user_id !== '' && in_array($user_id,$users_combo)) { $params['user_id'] = $user_id; $show_filters = true; } else { $user_id=''; } # - Categories filter if ($cat_id !== '' && in_array($cat_id,$categories_combo)) { $params['cat_id'] = $cat_id; $show_filters = true; } else { $cat_id=''; } # - Status filter if ($status !== '' && in_array($status,$status_combo)) { $params['post_status'] = $status; $show_filters = true; } else { $status=''; } # - Selected filter if ($selected !== '' && in_array($selected,$selected_combo)) { $params['post_selected'] = $selected; $show_filters = true; } else { $selected=''; } # - Month filter if ($month !== '' && in_array($month,$dt_m_combo)) { $params['post_month'] = substr($month,4,2); $params['post_year'] = substr($month,0,4); $show_filters = true; } else { $month=''; } # - Lang filter if ($lang !== '' && in_array($lang,$lang_combo)) { $params['post_lang'] = $lang; $show_filters = true; } else { $lang=''; } # - Sortby and order filter if ($sortby !== '' && in_array($sortby,$sortby_combo)) { if ($order !== '' && in_array($order,$order_combo)) { $params['order'] = $sortby.' '.$order; } else { $order='desc'; } if ($sortby != 'post_dt' || $order != 'desc') { $show_filters = true; } } else { $sortby='post_dt'; $order='desc'; } # Get posts try { $posts = $core->blog->getPosts($params); $counter = $core->blog->getPosts($params,true); $post_list = new adminPostList($core,$posts,$counter->f(0)); } catch (Exception $e) { $core->error->add($e->getMessage()); } /* DISPLAY -------------------------------------------------------- */ $starting_script = dcPage::jsLoad('js/_posts_list.js'); if (!$show_filters) { $starting_script .= dcPage::jsLoad('js/filter-controls.js'); } dcPage::open(__('Entries'),$starting_script, dcPage::breadcrumb( array( html::escapeHTML($core->blog->name) => '', ''.__('Entries').'' => '' )) ); if (!empty($_GET['upd'])) { dcPage::success(__('Selected entries have been successfully updated.')); } elseif (!empty($_GET['del'])) { dcPage::success(__('Selected entries have been successfully deleted.')); } if (!$core->error->flag()) { echo '
'; if (!$show_filters) { echo ''; } echo ''; # Show posts $post_list->display($page,$nb_per_page, '' ); } dcPage::helpBlock('core_posts'); dcPage::close(); ?>