flatpress/admin/panels/entry/admin.entry.list.php
2022-12-25 20:32:55 +01:00

83 lines
2.1 KiB
PHP
Executable File

<?php
/**
* edit entry panel
*
* Type:
* Name:
* Date:
* Purpose:
* Input:
*
* @author NoWhereMan <real_nowhereman at users dot sf dot com>
*
*/
// require (ADMIN_DIR . 'panels/entry/shared.entry.form.php');
// ---------------------------------------------------------------------
// utils
// ---------------------------------------------------------------------
function smarty_function_flag_classes($params, &$smarty) {
$flags = entry_flags_get();
($active_flags = array_intersect($smarty->getTemplateVars('categories'), $flags));
return implode(' ', $active_flags);
}
class admin_entry_list extends AdminPanelActionValidated {
var $actionname = 'list';
function setup() {
$this->smarty->registerPlugin('function', 'flag_classes', 'smarty_function_flag_classes');
}
function main() {
parent::main();
// $smarty = $this->smarty;
// parameters for the list
// start offset and count (now defaults to 8...)
$this->smarty->assign('formtarget', strip_tags($_SERVER ['PHP_SELF']));
$this->smarty->assign('categories_all', entry_categories_get('defs'));
$this->smarty->assign('saved_flags', entry_flags_get());
$defcount = 8; // <-- no magic numbers! todo: add config option?
global $fpdb;
if (!empty($_REQUEST ['entry'])) {
utils_redirect('admin.php?p=entry&action=write&entry=' . $_REQUEST ['entry']);
}
isset($_REQUEST ['m']) ? $params ['m'] = $_REQUEST ['m'] : null;
isset($_REQUEST ['y']) ? $params ['y'] = $_REQUEST ['y'] : null;
// $params['start'] = isset($_REQUEST['start'])? $_REQUEST['start'] : 0;
$params ['count'] = isset($_REQUEST ['count']) ? $_REQUEST ['count'] : $defcount;
$params ['page'] = isset($_REQUEST ['paged']) ? $_REQUEST ['paged'] : 1;
isset($_REQUEST ['category']) ? $params ['category'] = $_REQUEST ['category'] : $params ['category'] = 'all';
$params ['fullparse'] = false;
$params ['comments'] = true;
$fpdb->query($params);
return 0;
}
function onsubmit($data = null) {
parent::onsubmit($data);
return $this->main();
}
function onfilter() {
return $this->main();
}
function onerror() {
return $this->main();
}
}
?>