fixes #153 - thx laborix!

This commit is contained in:
azett 2022-12-17 14:23:23 +01:00
parent 5ad4647e94
commit 0a7ad2ccb8

View File

@ -12,28 +12,46 @@
* @author NoWhereMan <real_nowhereman at users dot sf dot com> * @author NoWhereMan <real_nowhereman at users dot sf dot com>
* *
*/ */
class admin_static_write extends AdminPanelActionValidated {
class admin_static_write extends AdminPanelActionValidated {
var $validators = array( var $validators = array(
array('subject', 'subject', 'notEmpty', false, false, 'trim'), array(
array('content', 'content', 'notEmpty', false, false, 'stripslashes'), 'subject',
array('id', 'id', 'isValidEntryId', false, false, 'stripslashes'), 'subject',
'notEmpty',
false,
false,
'trim'
),
array(
'content',
'content',
'notEmpty',
false,
false,
'stripslashes'
),
array(
'id',
'id',
'isValidEntryId',
false,
false,
'stripslashes'
)
); );
var $events = array('save', 'preview'); var $events = array(
'save',
function _makePreview($arr, $id=null) { 'preview'
);
function _makePreview($arr, $id = null) {
if (!$id) { if (!$id) {
$arr['subject'] = apply_filters('title_save_pre', $arr['subject']); $arr ['subject'] = apply_filters('title_save_pre', $arr ['subject']);
$arr['content'] = apply_filters('content_save_pre', $arr['content']); $arr ['content'] = apply_filters('content_save_pre', $arr ['content']);
} }
$this->smarty->assign('post', $arr); $this->smarty->assign('post', $arr);
if (THEME_LEGACY_MODE) { if (THEME_LEGACY_MODE) {
@ -46,67 +64,62 @@
$this->smarty->assign('preview', true); $this->smarty->assign('preview', true);
$this->smarty->assign('id', $id); $this->smarty->assign('id', $id);
} }
function makePageTitle($title, $sep) { function makePageTitle($title, $sep) {
global $lang; global $lang;
return "$title $sep {$lang['admin']['static']['write']['head']}"; return "$title $sep {$lang['admin']['static']['write']['head']}";
} }
function main() { function main() {
global $lang; global $lang;
$this->smarty->assign('static_id', 'static'.date_time()); $this->smarty->assign('static_id', 'static' . date_time());
if (isset($_GET['page'])) { if (isset($_GET ['page'])) {
$id = $_GET['page']; $id = $_GET ['page'];
$arr = static_parse($id); $arr = static_parse($id);
// if entry does not exists, // if entry does not exists,
// we print the list // we print the list
if ($arr) { if ($arr) {
$this->_makePreview($arr, $id); $this->_makePreview($arr, $id);
} else {
$id = '';
$arr = array();
$_GET ['page'] = '';
utils_redirect('admin.php?p=static');
}
} }
} add_filter('wp_title', array(
&$this,
'makePageTitle'
), 10, 2);
add_filter('wp_title', array(&$this, 'makePageTitle'), 10, 2);
} }
function _getposteddata() { function _getposteddata() {
$arr ['version'] = system_ver();
$arr['version'] = system_ver(); $arr ['subject'] = ($_POST ['subject']);
$arr['subject'] = ($_POST['subject']); $arr ['content'] = ($_POST ['content']);
$arr['content'] = ($_POST['content']);
$author = user_get(); $author = user_get();
$arr['author'] = $author['userid']; $arr ['author'] = $author ['userid'];
$arr['date'] = !empty($_POST['timestamp'])?$_POST['timestamp']:date_time(); $arr ['date'] = !empty($_POST ['timestamp']) ? $_POST ['timestamp'] : date_time();
$cats = !empty($_POST['cats'])?$_POST['cats']:array(); $cats = !empty($_POST ['cats']) ? $_POST ['cats'] : array();
$flags = !empty($_POST['flags'])?$_POST['flags']:array(); $flags = !empty($_POST ['flags']) ? $_POST ['flags'] : array();
//$arr['categories'] = array_merge(array_keys($flags), array_keys($cats)); // $arr['categories'] = array_merge(array_keys($flags), array_keys($cats));
return $arr; return $arr;
} }
function onsave() { function onsave() {
$oldid = isset($_GET ['page']) ? $_GET ['page'] : null;
$id = $_POST ['id'];
$oldid = isset($_GET['page'])? $_GET['page'] : null; $success = static_save($this->_getposteddata(), $id, $oldid);
$id = $_POST['id'];
$success=static_save($this->_getposteddata(), $id, $oldid); $this->smarty->assign('success', $success ? 1 : -1);
$this->smarty->assign('success',$success? 1:-1);
return $success; return $success;
} }
@ -117,8 +130,6 @@
$this->_makePreview($this->_getposteddata()); $this->_makePreview($this->_getposteddata());
return 0; return 0;
} }
function onerror() { function onerror() {
@ -126,6 +137,6 @@
return 0; return 0;
} }
} }
?> ?>