auth->makePermissions([dcAuth::PERMISSION_USAGE, dcAuth::PERMISSION_CONTENT_ADMIN])); # Objects $per = new periodical(); # Default values $action = $_POST['action'] ?? ''; # Delete periods and related posts links if ($action == 'deleteperiods' && !empty($_POST['periods'])) { try { foreach ($_POST['periods'] as $id) { $id = (int) $id; $per->delPeriodPosts($id); $per->delPeriod($id); } dcAdminNotices::addSuccessNotice( __('Periods removed.') ); if (!empty($_POST['redir'])) { http::redirect($_POST['redir']); } else { dcCore::app()->adminurl->redirect('admin.plugin.periodical', ['part' => 'periods']); } } catch (Exception $e) { dcCore::app()->error->add($e->getMessage()); } } # Delete periods related posts links (without delete periods) if ($action == 'emptyperiods' && !empty($_POST['periods'])) { try { foreach ($_POST['periods'] as $id) { $id = (int) $id; $per->delPeriodPosts($id); } dcAdminNotices::addSuccessNotice( __('Periods emptied.') ); if (!empty($_POST['redir'])) { http::redirect($_POST['redir']); } else { dcCore::app()->adminurl->redirect('admin.plugin.periodical', ['part' => 'periods']); } } catch (Exception $e) { dcCore::app()->error->add($e->getMessage()); } } $combo_action = [ __('empty periods') => 'emptyperiods', __('delete periods') => 'deleteperiods', ]; # Filters $p_filter = new adminGenericFilter(dcCore::app(), 'periodical'); $p_filter->add('part', 'periods'); $params = $p_filter->params(); # Get periods try { $periods = $per->getPeriods($params); $counter = $per->getPeriods($params, true); $period_list = new adminPeriodicalList(dcCore::app(), $periods, $counter->f(0)); } catch (Exception $e) { dcCore::app()->error->add($e->getMessage()); } # Display echo '' . __('Periodical') . '' . dcPage::jsLoad(dcPage::getPF('periodical/js/checkbox.js')) . $p_filter->js(dcCore::app()->adminurl->get('admin.plugin.periodical', ['part' => 'periods'])) . '' . '' . dcPage::breadcrumb([ __('Plugins') => '', __('Periodical') => '', ]) . dcPage::notices() . '

' . __('New period') . '

'; if (isset($period_list)) { # Filters $p_filter->display('admin.plugin.periodical', form::hidden('p', 'periodical') . form::hidden('part', 'periods')); # Periods list $period_list->periodDisplay( $p_filter, '
' . '%s' . '
' . '

' . '

' . __('Selected periods action:') . ' ' . form::combo('action', $combo_action) . '

' . dcCore::app()->adminurl->getHiddenFormFields('admin.plugin.periodical', array_merge(['p' => 'periodical'], $p_filter->values(true))) . dcCore::app()->formNonce() . '
' . '
' ); } dcPage::helpBlock('periodical'); echo '';