move sort options from blog pref to user pref

This commit is contained in:
Jean-Christian Paul Denis 2021-10-21 23:07:29 +02:00
parent 9ce7cdd237
commit 3ef8a1d395
Signed by: JcDenis
GPG Key ID: 1B5B8C5B90B6C951
3 changed files with 37 additions and 65 deletions

View File

@ -4,7 +4,7 @@
- [ ] add auto-find post title in content - [ ] add auto-find post title in content
- [ ] split filters into modules - [ ] split filters into modules
- [x] add autosubmit onadmin menu - [x] add autosubmit onadmin menu
- [ ] move sort options from blog pref to user pref - [x] move sort options from blog pref to user pref
2021.09.05 2021.09.05
- fix duplicate records id - fix duplicate records id

View File

@ -43,6 +43,10 @@ $core->addBehavior(
'adminBeforeBlogSettingsUpdate', 'adminBeforeBlogSettingsUpdate',
['epcAdminBehaviors', 'adminBeforeBlogSettingsUpdate'] ['epcAdminBehaviors', 'adminBeforeBlogSettingsUpdate']
); );
$core->addBehavior(
'adminFiltersLists',
['epcAdminBehaviors', 'adminFiltersLists']
);
class epcAdminBehaviors class epcAdminBehaviors
{ {
@ -78,21 +82,9 @@ class epcAdminBehaviors
]; ];
} }
public static function orderCombo()
{
return [
__('Ascending') => 'asc',
__('Descending') => 'desc'
];
}
public static function adminBlogPreferencesForm(dcCore $core, dcSettings $blog_settings) public static function adminBlogPreferencesForm(dcCore $core, dcSettings $blog_settings)
{ {
$active = (boolean) $blog_settings->enhancePostContent->enhancePostContent_active; $active = (boolean) $blog_settings->enhancePostContent->enhancePostContent_active;
$list_sortby = (string) $blog_settings->enhancePostContent->enhancePostContent_list_sortby;
$list_order = (string) $blog_settings->enhancePostContent->enhancePostContent_list_order;
$list_nb = (integer) $blog_settings->enhancePostContent->enhancePostContent_list_nb;
$_filters = libEPC::blogFilters();
$allowedtplvalues = libEPC::blogAllowedTplValues(); $allowedtplvalues = libEPC::blogAllowedTplValues();
$allowedpubpages = libEPC::blogAllowedPubPages(); $allowedpubpages = libEPC::blogAllowedPubPages();
@ -106,14 +98,6 @@ class epcAdminBehaviors
'<p class="form-note">' . '<p class="form-note">' .
__('This enable public widgets and contents filter.') . __('This enable public widgets and contents filter.') .
'</p>' . '</p>' .
'<h5>' . __('Record list') . '</h4>' .
'<p class="form-note">' . __('This is the default order of records lists.') . '</p>' .
'<p class="field"><label for="epc_list_sortby">' . __('Order by:') . '</label>' .
form::combo('epc_list_sortby', self::sortbyCombo(), $list_sortby) . '</p>' .
'<p class="field"><label for="epc_list_order">' . __('Sort:') . '</label>' .
form::combo('epc_list_order', self::orderCombo(), $list_order) . '</p>' .
'<p class="field"><label for="list_nb">' . __('Records per page:') . '</label>' .
form::field('epc_list_nb', 3, 3, $list_nb) . '</p>' .
'<p><a href="' . $core->adminurl->get('admin.plugin.enhancePostContent') . '">' . '<p><a href="' . $core->adminurl->get('admin.plugin.enhancePostContent') . '">' .
__('Set content filters') . '</a></p>' . __('Set content filters') . '</a></p>' .
'</div>' . '</div>' .
@ -135,17 +119,22 @@ class epcAdminBehaviors
public static function adminBeforeBlogSettingsUpdate(dcSettings $blog_settings) public static function adminBeforeBlogSettingsUpdate(dcSettings $blog_settings)
{ {
$active = !empty($_POST['epc_active']); $active = !empty($_POST['epc_active']);
$list_sortby = in_array($_POST['epc_list_sortby'], self::sortbyCombo()) ? $_POST['epc_list_sortby'] : 'epc_id';
$list_order = in_array($_POST['epc_list_order'], self::orderCombo()) ? $_POST['epc_list_order'] : 'desc';
$list_nb = isset($_POST['epc_list_nb']) && $_POST['epc_list_nb'] > 0 ? $_POST['epc_list_nb'] : 20;
$allowedtplvalues = libEPC::explode($_POST['epc_allowedtplvalues']); $allowedtplvalues = libEPC::explode($_POST['epc_allowedtplvalues']);
$allowedpubpages = libEPC::explode($_POST['epc_allowedpubpages']); $allowedpubpages = libEPC::explode($_POST['epc_allowedpubpages']);
$blog_settings->enhancePostContent->put('enhancePostContent_active', $active); $blog_settings->enhancePostContent->put('enhancePostContent_active', $active);
$blog_settings->enhancePostContent->put('enhancePostContent_list_sortby', $list_sortby);
$blog_settings->enhancePostContent->put('enhancePostContent_list_order', $list_order);
$blog_settings->enhancePostContent->put('enhancePostContent_list_nb', $list_nb);
$blog_settings->enhancePostContent->put('enhancePostContent_allowedtplvalues', serialize($allowedtplvalues)); $blog_settings->enhancePostContent->put('enhancePostContent_allowedtplvalues', serialize($allowedtplvalues));
$blog_settings->enhancePostContent->put('enhancePostContent_allowedpubpages', serialize($allowedpubpages)); $blog_settings->enhancePostContent->put('enhancePostContent_allowedpubpages', serialize($allowedpubpages));
} }
public static function adminFiltersLists(dcCore $core, $sorts)
{
$sorts['epc'] = [
__('Enhance post content'),
self::sortbyCombo(),
'epc_upddt',
'desc',
[__('records per page'), 20]
];
}
} }

View File

@ -298,50 +298,28 @@ if (isset($filters_id[$default_part])) {
# Filter records list # Filter records list
if ($filter['has_list']) { if ($filter['has_list']) {
$sorts = new adminGenericFilter($core, 'epc');
$sorts->add(dcAdminFilters::getPageFilter());
$sortby_combo = [ $params = $sorts->params();
'epc_upddt',
'epc_key',
'epc_value',
'epc_id'
];
$order_combo = [
'asc',
'desc'
];
$sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : (string) $s->enhancePostContent_list_sortby;
$order = !empty($_GET['order']) ? $_GET['order'] : (string) $s->enhancePostContent_list_order;
$page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1;
$nb = !empty($_GET['nb']) && (integer) $_GET['nb'] > 0 ? (integer) $_GET['nb'] : (integer) $s->enhancePostContent_list_nb;
$params = [];
$params['epc_filter'] = $name; $params['epc_filter'] = $name;
$params['limit'] = [(($page - 1) * $nb), $nb];
if ($sortby !== '' && in_array($sortby, $sortby_combo)) {
if ($order !== '' && in_array($order, $order_combo)) {
$params['order'] = $sortby . ' ' . $order;
}
}
try { try {
$list = $records->getRecords($params); $list = $records->getRecords($params);
$counter = $records->getRecords($params, true); $counter = $records->getRecords($params, true);
$pager_url = $p_url . $pager_url = $p_url .
'&amp;nb=' . $nb . '&amp;nb=' . $sorts->nb .
'&amp;sortby=%s' . '&amp;sortby=%s' .
'&amp;order=%s' . //($order == 'desc' ? 'desc' : 'asc') . '&amp;order=%s' .
'&amp;page=%s' . '&amp;page=%s' .
'&amp;part=' . $default_part . '&amp;part=' . $default_part .
'#record'; '#record';
$pager = new pager($page, $counter->f(0), $nb, 10); $pager = new pager($sorts->page, $counter->f(0), $sorts->nb, 10);
$pager->html_prev = __('&#171;prev.'); $pager->html_prev = __('&#171;prev.');
$pager->html_next = __('next&#187;'); $pager->html_next = __('next&#187;');
$pager->base_url = sprintf($pager_url, $sortby, $order, '%s'); $pager->base_url = sprintf($pager_url, $sorts->sortby, $sorts->order, '%s');
$pager->var_page = 'page'; $pager->var_page = 'page';
} catch (Exception $e) { } catch (Exception $e) {
$core->error->add($e->getMessage()); $core->error->add($e->getMessage());
@ -354,17 +332,22 @@ if (isset($filters_id[$default_part])) {
echo '<p>' . __('No record') . '</p>'; echo '<p>' . __('No record') . '</p>';
} else { } else {
echo ' echo '
<form action="' . sprintf($pager_url, 'epc_key', $order, $page) . '" method="post"> <form action="' . sprintf($pager_url, $sorts->sortby, $sorts->order, $sorts->page) . '" method="post">
<p>' . __('Page(s)') . ' : ' . $pager->getLinks() . '</p> <p>' . __('Page(s)') . ' : ' . $pager->getLinks() . '</p>
<div class="table-outer"> <div class="table-outer">
<table><caption class="hidden">' . __('Records') . '</caption> <table><caption class="hidden">' . __('Records') . '</caption>
<thead><tr> <thead><tr>';
<th><a href="' . sprintf($pager_url, 'epc_key', $order, $page) . '">' .
__('Key') . '</a></th> $lines = [
<th><a href="' . sprintf($pager_url, 'epc_value', $order, $page) . '">' . __('Key') => 'epc_key',
__('Value') . '</a></th> __('Value') => 'epc_value',
<th><a href="' . sprintf($pager_url, 'epc_upddt', $order, $page) . '">' . __('Date') => 'epc_date'
__('Date') . '</a></th> ];
foreach($lines as $k => $v) {
echo '<th><a href="' . sprintf($pager_url, $v, $sorts->sortby == $v ? $sorts->order == 'asc' ? 'desc' : 'asc' : $sorts->order, $sorts->page) . '">' .$k . '</a></th>';
}
echo '
</tr></thead> </tr></thead>
<tbody>'; <tbody>';
@ -392,7 +375,7 @@ if (isset($filters_id[$default_part])) {
<div class="clear"> <div class="clear">
<p>' . <p>' .
$core->formNonce() . $core->formNonce() .
form::hidden(['redir'], sprintf($pager_url, $sortby, $order, $page)) . form::hidden(['redir'], sprintf($pager_url, $sorts->sortby, $sorts->order, $sorts->page)) .
form::hidden(['action'], 'saveupdaterecords') . ' form::hidden(['action'], 'saveupdaterecords') . '
<input type="submit" name="save" value="' . __('Save') . '" /> <input type="submit" name="save" value="' . __('Save') . '" />
</p> </p>