'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 adminBlogPreferencesForm(dcCore $core, dcSettings $blog_settings)
{
echo '
' . __('Post widget text') . '
';
}
public static function adminBeforeBlogSettingsUpdate(dcSettings $blog_settings)
{
$blog_settings->postwidgettext->put('postwidgettext_active', !empty($_POST['active']));
$blog_settings->postwidgettext->put('postwidgettext_importexport_active', !empty($_POST['importexport_active']));
}
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);
}
}
}