diff --git a/index.php b/index.php index 311a6be..bc70305 100644 --- a/index.php +++ b/index.php @@ -76,17 +76,22 @@ try { && isset($filters_id[$default_part]) && !empty($_POST['new_key']) && !empty($_POST['new_value'])) { + $cur = $records->openCursor(); $cur->epc_filter = $filters_id[$default_part]; $cur->epc_key = html::escapeHTML($_POST['new_key']); $cur->epc_value = html::escapeHTML($_POST['new_value']); - $records->addRecord($cur); + if ($records->isRecord($cur->epc_filter, $cur->epc_key)) { + dcPage::addErrorNotice(__('Key already exists for this filter')); + } else { + $records->addRecord($cur); - $core->blog->triggerBlog(); + $core->blog->triggerBlog(); - dcPage::addSuccessNotice( - __('Filter successfully updated.') - ); + dcPage::addSuccessNotice( + __('Filter successfully updated.') + ); + } $core->adminurl->redirect( 'admin.plugin.enhancePostContent', ['part' => $default_part], @@ -95,6 +100,7 @@ try { } # Update filter records + $error = false; if ($action == 'saveupdaterecords' && isset($filters_id[$default_part]) && $_filters[$filters_id[$default_part]]['has_list']) { @@ -112,7 +118,12 @@ try { $cur->epc_filter = $filters_id[$default_part]; $cur->epc_key = html::escapeHTML($_POST['epc_key'][$k]); $cur->epc_value = html::escapeHTML($_POST['epc_value'][$k]); - $records->updRecord($id, $cur); + if ($records->isRecord($cur->epc_filter, $cur->epc_key, $id)) { + dcPage::addErrorNotice(__('Key already exists for this filter')); + $error = true; + } else { + $records->updRecord($id, $cur); + } } } @@ -121,10 +132,11 @@ try { $redir = !empty($_REQUEST['redir']) ? $_REQUEST['redir'] : $core->adminurl->get('admin.plugin.enhancePostContent', ['part' => $default_part]) . '#record'; - - dcPage::addSuccessNotice( - __('Filter successfully updated.') - ); + if (!$error) { + dcPage::addSuccessNotice( + __('Filter successfully updated.') + ); + } http::redirect( $redir ); @@ -135,10 +147,7 @@ try { # -- Prepare page -- -$breadcrumb = [ - html::escapeHTML($core->blog->name) => '', - __('Enhance post content') => $p_url -]; +$breadcrumb = [html::escapeHTML($core->blog->name) => '', __('Enhance post content') => '', __('Filters') => '']; $filters_combo = []; foreach($filters_id as $id => $name) { @@ -153,7 +162,7 @@ foreach($filters_id as $id => $name) { # Headers echo ' ' . __('Enhance post content') . '' . -dcPage::jsLoad('js/_posts_list.js') . +//dcPage::jsLoad('js/_posts_list.js') . dcPage::jsToolbar() . dcPage::jsPageTabs() . @@ -168,7 +177,7 @@ dcPage::notices() . # Filters list '
' . -'

' . +'

' . form::combo('part', $filters_combo, $default_part) . ' ' . $core->formNonce() . '

' . @@ -319,24 +328,24 @@ if (isset($filters_id[$default_part])) { try { $list = $records->getRecords($params); $counter = $records->getRecords($params, true); + + $pager_url = $p_url . + '&nb=' . $nb . + '&sortby=%s' . + '&order=%s' . //($order == 'desc' ? 'desc' : 'asc') . + '&page=%s' . + '&part=' . $default_part . + '#record'; + + $pager = new pager($page, $counter->f(0), $nb, 10); + $pager->html_prev = __('«prev.'); + $pager->html_next = __('next»'); + $pager->base_url = sprintf($pager_url, $sortby, $order, '%s'); + $pager->var_page = 'page'; } catch (Exception $e) { $core->error->add($e->getMessage()); } - $pager_url = $p_url . - '&nb=' . $nb . - '&sortby=%s' . - '&order=' . ($order == 'desc' ? 'desc' : 'asc') . - '&page=%s' . - '&part=' . $default_part . - '#record'; - - $pager = new pager($page, $counter->f(0), $nb, 10); - $pager->html_prev = __('«prev.'); - $pager->html_next = __('next»'); - $pager->base_url = sprintf($pager_url, $sortby, '%s'); - $pager->var_page = 'page'; - echo '
'; @@ -344,16 +353,16 @@ if (isset($filters_id[$default_part])) { echo '

' . __('No record') . '

'; } else { echo ' - +

' . __('Page(s)') . ' : ' . $pager->getLinks() . '

- - - '; @@ -382,7 +391,7 @@ if (isset($filters_id[$default_part])) {

' . $core->formNonce() . - form::hidden(['redir'], sprintf($pager_url, $sortby, $page)) . + form::hidden(['redir'], sprintf($pager_url, $sortby, $order, $page)) . form::hidden(['action'], 'saveupdaterecords') . '

@@ -396,7 +405,9 @@ if (isset($filters_id[$default_part])) { # New record echo '
- ' . + ' . '

' . form::field('new_key', 60, 255) .

' . + ' . __('Key') . '' . + ' . __('Value') . '' . + ' . __('Date') . '