'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 = $_POST['post_wtitle'] ?? ''; $content = $_POST['post_wtext'] ?? ''; # Existing post if ($post) { $post_id = (integer) $post->post_id; $pwt = new postWidgetText($GLOBALS['core']); $w = $pwt->getWidgets(['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 = $_POST['post_wtitle'] ?? ''; $content = $_POST['post_wtext'] ?? ''; # Object $pwt = new postWidgetText($GLOBALS['core']); # Get existing widget $w = $pwt->getWidgets(['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(['post_id' => $post_id]); # If new content is empty, delete old existing widget if (!$w->isEmpty()) { $pwt->delWidget($w->option_id); } } }