'post_title', __('Post date') => 'post_dt', __('Widget title') => 'option_title', __('Widget date') => 'option_upddt', ]; } public static function adminFiltersLists(dcCore $core, $sorts) { $sorts['pwt'] = [ __('Post widget text'), self::sortbyCombo(), 'post_dt', 'desc', [__('entries per page'), 20] ]; } public static function headers() { return dcPage::jsLoad(dcPage::getPF('postWidgetText/js/post.js')); } public static function form($main, $sidebar, $post) { # _POST fields $title = empty($_POST['post_wtitle']) ? '' : $_POST['post_wtitle']; $content = empty($_POST['post_wtext']) ? '' : $_POST['post_wtext']; # Existing post if ($post) { $post_id = (integer) $post->post_id; $pwt = new postWidgetText($GLOBALS['core']); $w = $pwt->getWidgets(array('post_id' => $post_id)); # Existing widget if (!$w->isEmpty()) { $title = $w->option_title; $content = $w->option_content; } } $main['post_widget'] = '
'. '

'.__('Additional widget').'

'. '

'. ''. form::field('post_wtitle',20,255,html::escapeHTML($title),'maximal'). '

'. '

'. ''. form::textarea('post_wtext',50,5,html::escapeHTML($content)). '

'. '
'; } public static function save($cur, $post_id) { $post_id = (integer) $post_id; # _POST fields $title = isset($_POST['post_wtitle']) && !empty($_POST['post_wtitle']) ? $_POST['post_wtitle'] : ''; $content = isset($_POST['post_wtext']) && !empty($_POST['post_wtext']) ? $_POST['post_wtext'] : ''; # Object $pwt = new postWidgetText($GLOBALS['core']); # Get existing widget $w = $pwt->getWidgets(array('post_id'=>$post_id)); # If new content is empty, delete old existing widget if (empty($title) && empty($content) && !$w->isEmpty()) { $pwt->delWidget($w->option_id); } # If new content is not empty if (!empty($title) || !empty($content)) { $wcur = $pwt->openCursor(); $wcur->post_id = $post_id; $wcur->option_type = 'postwidgettext'; $wcur->option_lang = $cur->post_lang; $wcur->option_format = $cur->post_format; $wcur->option_title = $title; $wcur->option_content = $content; # Create widget if ($w->isEmpty()) { $id = $pwt->addWidget($wcur); } # Upddate widget else { $pwt->updWidget($w->option_id,$wcur); } } } public static function delete($post_id) { $post_id = (integer) $post_id; # Object $pwt = new postWidgetText($GLOBALS['core']); # Get existing widget $w = $pwt->getWidgets(array('post_id'=>$post_id)); # If new content is empty, delete old existing widget if (!$w->isEmpty()) { $pwt->delWidget($w->option_id); } } }