From 0a7ad2ccb8533b54654907726b48bd7da44e715c Mon Sep 17 00:00:00 2001 From: azett Date: Sat, 17 Dec 2022 14:23:23 +0100 Subject: [PATCH] fixes #153 - thx laborix! --- admin/panels/static/admin.static.write.php | 241 +++++++++++---------- 1 file changed, 126 insertions(+), 115 deletions(-) diff --git a/admin/panels/static/admin.static.write.php b/admin/panels/static/admin.static.write.php index 75fda60..a18cee3 100644 --- a/admin/panels/static/admin.static.write.php +++ b/admin/panels/static/admin.static.write.php @@ -3,129 +3,140 @@ /** * edit entry panel * - * Type: - * Name: - * Date: - * Purpose: + * Type: + * Name: + * Date: + * Purpose: * Input: - * - * @author NoWhereMan * + * @author NoWhereMan + * */ - - - +class admin_static_write extends AdminPanelActionValidated { - class admin_static_write extends AdminPanelActionValidated { - - var $validators = array( - array('subject', 'subject', 'notEmpty', false, false, 'trim'), - array('content', 'content', 'notEmpty', false, false, 'stripslashes'), - array('id', 'id', 'isValidEntryId', false, false, 'stripslashes'), - ); - - var $events = array('save', 'preview'); - - function _makePreview($arr, $id=null) { + var $validators = array( + array( + 'subject', + 'subject', + 'notEmpty', + false, + false, + 'trim' + ), + array( + 'content', + 'content', + 'notEmpty', + false, + false, + 'stripslashes' + ), + array( + 'id', + 'id', + 'isValidEntryId', + false, + false, + 'stripslashes' + ) + ); - if (!$id) { - $arr['subject'] = apply_filters('title_save_pre', $arr['subject']); - $arr['content'] = apply_filters('content_save_pre', $arr['content']); - } - - - $this->smarty->assign('post', $arr); - - if (THEME_LEGACY_MODE) { - theme_entry_filters($arr, $id); - } - - $arr = array_change_key_case($arr, CASE_LOWER); - - $this->smarty->assign('entry', $arr); - $this->smarty->assign('preview', true); - - $this->smarty->assign('id', $id); - - - } - - - function makePageTitle($title, $sep) { - global $lang; - return "$title $sep {$lang['admin']['static']['write']['head']}"; - } - - - function main() { - - global $lang; - - $this->smarty->assign('static_id', 'static'.date_time()); - - if (isset($_GET['page'])) { - $id = $_GET['page']; - $arr = static_parse($id); - // if entry does not exists, - // we print the list - if ($arr) { - $this->_makePreview($arr, $id); - } - - } - - + var $events = array( + 'save', + 'preview' + ); - - add_filter('wp_title', array(&$this, 'makePageTitle'), 10, 2); - - } - - function _getposteddata() { - - $arr['version'] = system_ver(); - $arr['subject'] = ($_POST['subject']); - $arr['content'] = ($_POST['content']); - $author = user_get(); - $arr['author'] = $author['userid']; - $arr['date'] = !empty($_POST['timestamp'])?$_POST['timestamp']:date_time(); - - $cats = !empty($_POST['cats'])?$_POST['cats']:array(); - $flags = !empty($_POST['flags'])?$_POST['flags']:array(); - - //$arr['categories'] = array_merge(array_keys($flags), array_keys($cats)); - - return $arr; - - } - - function onsave() { - - $oldid = isset($_GET['page'])? $_GET['page'] : null; - $id = $_POST['id']; - - $success=static_save($this->_getposteddata(), $id, $oldid); - - $this->smarty->assign('success',$success? 1:-1); - - return $success; - } - - function onpreview() { - global $lang; - - $this->_makePreview($this->_getposteddata()); - - return 0; - - - } - - function onerror() { - $this->main(); - return 0; + function _makePreview($arr, $id = null) { + if (!$id) { + $arr ['subject'] = apply_filters('title_save_pre', $arr ['subject']); + $arr ['content'] = apply_filters('content_save_pre', $arr ['content']); } + $this->smarty->assign('post', $arr); + + if (THEME_LEGACY_MODE) { + theme_entry_filters($arr, $id); + } + + $arr = array_change_key_case($arr, CASE_LOWER); + + $this->smarty->assign('entry', $arr); + $this->smarty->assign('preview', true); + + $this->smarty->assign('id', $id); } + function makePageTitle($title, $sep) { + global $lang; + return "$title $sep {$lang['admin']['static']['write']['head']}"; + } + + function main() { + global $lang; + + $this->smarty->assign('static_id', 'static' . date_time()); + + if (isset($_GET ['page'])) { + $id = $_GET ['page']; + $arr = static_parse($id); + // if entry does not exists, + // we print the list + if ($arr) { + $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); + } + + function _getposteddata() { + $arr ['version'] = system_ver(); + $arr ['subject'] = ($_POST ['subject']); + $arr ['content'] = ($_POST ['content']); + $author = user_get(); + $arr ['author'] = $author ['userid']; + $arr ['date'] = !empty($_POST ['timestamp']) ? $_POST ['timestamp'] : date_time(); + + $cats = !empty($_POST ['cats']) ? $_POST ['cats'] : array(); + $flags = !empty($_POST ['flags']) ? $_POST ['flags'] : array(); + + // $arr['categories'] = array_merge(array_keys($flags), array_keys($cats)); + + return $arr; + } + + function onsave() { + $oldid = isset($_GET ['page']) ? $_GET ['page'] : null; + $id = $_POST ['id']; + + $success = static_save($this->_getposteddata(), $id, $oldid); + + $this->smarty->assign('success', $success ? 1 : -1); + + return $success; + } + + function onpreview() { + global $lang; + + $this->_makePreview($this->_getposteddata()); + + return 0; + } + + function onerror() { + $this->main(); + return 0; + } + +} + ?>