Seditio Source
Root |
./othercms/dotclear-2.22/admin/posts.php
<?php
/**
 * @package Dotclear
 * @subpackage Backend
 *
 * @copyright Olivier Meunier & Association Dotclear
 * @copyright GPL-2.0-only
 *
 * @var dcCore $core
 */
require __DIR__ . '/../inc/admin/prepend.php';

dcPage::check('usage,contentadmin');

/* Actions
-------------------------------------------------------- */
$posts_actions_page = new dcPostsActionsPage($core, $core->adminurl->get('admin.posts'));

if (
$posts_actions_page->process()) {
    return;
}

/* Filters
-------------------------------------------------------- */
$post_filter = new adminPostFilter($core);

# get list params
$params = $post_filter->params();

# lexical sort
$sortby_lex = [
   
// key in sorty_combo (see above) => field in SQL request
   
'post_title' => 'post_title',
   
'cat_title'  => 'cat_title',
   
'user_id'    => 'P.user_id', ];

# --BEHAVIOR-- adminPostsSortbyLexCombo
$core->callBehavior('adminPostsSortbyLexCombo', [& $sortby_lex]);

$params['order'] = (array_key_exists($post_filter->sortby, $sortby_lex) ?
   
$core->con->lexFields($sortby_lex[$post_filter->sortby]) :
   
$post_filter->sortby) . ' ' . $post_filter->order;

$params['no_content'] = true;

/* List
-------------------------------------------------------- */
$post_list = null;

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
-------------------------------------------------------- */

dcPage::open(
   
__('Posts'),
   
dcPage::jsLoad('js/_posts_list.js') . $post_filter->js(),
   
dcPage::breadcrumb(
        [
           
html::escapeHTML($core->blog->name) => '',
           
__('Posts')                         => '',
        ]
    )
);
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
'<p class="top-add"><a class="button add" href="' . $core->adminurl->get('admin.post') . '">' . __('New post') . '</a></p>';

   
# filters
   
$post_filter->display('admin.posts');

   
# Show posts
   
$post_list->display(
       
$post_filter->page,
       
$post_filter->nb,
       
'<form action="' . $core->adminurl->get('admin.posts') . '" method="post" id="form-entries">' .

       
'%s' .

       
'<div class="two-cols">' .
       
'<p class="col checkboxes-helpers"></p>' .

       
'<p class="col right"><label for="action" class="classic">' . __('Selected entries action:') . '</label> ' .
       
form::combo('action', $posts_actions_page->getCombo()) .
       
'<input id="do-action" type="submit" value="' . __('ok') . '" disabled /></p>' .
       
$core->adminurl->getHiddenFormFields('admin.posts', $post_filter->values()) .
       
$core->formNonce() .
       
'</div>' .
       
'</form>',
       
$post_filter->show()
    );
}

dcPage::helpBlock('core_posts');
dcPage::close();