| [0] | 1 | <?php |
|---|
| [3731] | 2 | /** |
|---|
| 3 | * @brief pages, a plugin for Dotclear 2 |
|---|
| 4 | * |
|---|
| 5 | * @package Dotclear |
|---|
| 6 | * @subpackage Plugins |
|---|
| 7 | * |
|---|
| 8 | * @copyright Olivier Meunier & Association Dotclear |
|---|
| 9 | * @copyright GPL-2.0-only |
|---|
| 10 | */ |
|---|
| 11 | |
|---|
| [3709] | 12 | if (!defined('DC_CONTEXT_ADMIN')) {return;} |
|---|
| [0] | 13 | dcPage::check('pages,contentadmin'); |
|---|
| 14 | |
|---|
| 15 | /* Getting pages |
|---|
| 16 | -------------------------------------------------------- */ |
|---|
| [3874] | 17 | $params = [ |
|---|
| [3709] | 18 | 'post_type' => 'page' |
|---|
| [3874] | 19 | ]; |
|---|
| [0] | 20 | |
|---|
| [3709] | 21 | $page = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1; |
|---|
| 22 | $nb_per_page = 30; |
|---|
| [0] | 23 | |
|---|
| 24 | if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { |
|---|
| [3709] | 25 | $nb_per_page = (integer) $_GET['nb']; |
|---|
| [0] | 26 | } |
|---|
| 27 | |
|---|
| [3874] | 28 | $params['limit'] = [(($page - 1) * $nb_per_page), $nb_per_page]; |
|---|
| [0] | 29 | $params['no_content'] = true; |
|---|
| [3709] | 30 | $params['order'] = 'post_position ASC, post_title ASC'; |
|---|
| [0] | 31 | |
|---|
| 32 | try { |
|---|
| [3709] | 33 | $pages = $core->blog->getPosts($params); |
|---|
| 34 | $counter = $core->blog->getPosts($params, true); |
|---|
| 35 | $post_list = new adminPagesList($core, $pages, $counter->f(0)); |
|---|
| [0] | 36 | } catch (Exception $e) { |
|---|
| [3709] | 37 | $core->error->add($e->getMessage()); |
|---|
| [0] | 38 | } |
|---|
| 39 | |
|---|
| 40 | # Actions combo box |
|---|
| [1903] | 41 | |
|---|
| [3874] | 42 | $pages_actions_page = new dcPagesActionsPage($core, 'plugin.php', ['p' => 'pages']); |
|---|
| [1903] | 43 | |
|---|
| [2048] | 44 | if (!$pages_actions_page->process()) { |
|---|
| [1903] | 45 | |
|---|
| [0] | 46 | # --BEHAVIOR-- adminPagesActionsCombo |
|---|
| [3874] | 47 | $core->callBehavior('adminPagesActionsCombo', [&$combo_action]); |
|---|
| [0] | 48 | |
|---|
| 49 | /* Display |
|---|
| 50 | -------------------------------------------------------- */ |
|---|
| [3709] | 51 | ?> |
|---|
| [0] | 52 | <html> |
|---|
| 53 | <head> |
|---|
| 54 | <title><?php echo __('Pages'); ?></title> |
|---|
| [1882] | 55 | <?php |
|---|
| [3709] | 56 | echo |
|---|
| 57 | dcPage::jsLoad('js/jquery/jquery-ui.custom.js') . |
|---|
| 58 | dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js') . |
|---|
| [3995] | 59 | dcPage::jsJson('pages_list', ['confirm_delete_posts' => __("Are you sure you want to delete selected pages?")]) . |
|---|
| 60 | dcPage::jsLoad(dcPage::getPF('pages/js/list.js')) |
|---|
| 61 | ?> |
|---|
| [0] | 62 | </head> |
|---|
| 63 | |
|---|
| 64 | <body> |
|---|
| 65 | <?php |
|---|
| [1358] | 66 | echo dcPage::breadcrumb( |
|---|
| [3874] | 67 | [ |
|---|
| [3709] | 68 | html::escapeHTML($core->blog->name) => '', |
|---|
| 69 | __('Pages') => '' |
|---|
| [3874] | 70 | ]) . dcPage::notices(); |
|---|
| [1339] | 71 | |
|---|
| [3709] | 72 | if (!empty($_GET['upd'])) { |
|---|
| 73 | dcPage::success(__('Selected pages have been successfully updated.')); |
|---|
| 74 | } elseif (!empty($_GET['del'])) { |
|---|
| 75 | dcPage::success(__('Selected pages have been successfully deleted.')); |
|---|
| 76 | } elseif (!empty($_GET['reo'])) { |
|---|
| 77 | dcPage::success(__('Selected pages have been successfully reordered.')); |
|---|
| 78 | } |
|---|
| 79 | echo |
|---|
| 80 | '<p class="top-add"><a class="button add" href="' . $p_url . '&act=page">' . __('New page') . '</a></p>'; |
|---|
| [0] | 81 | |
|---|
| [3709] | 82 | if (!$core->error->flag()) { |
|---|
| 83 | # Show pages |
|---|
| 84 | $post_list->display($page, $nb_per_page, |
|---|
| 85 | '<form action="' . $core->adminurl->get('admin.plugin') . '" method="post" id="form-entries">' . |
|---|
| [2566] | 86 | |
|---|
| [3709] | 87 | '%s' . |
|---|
| [2566] | 88 | |
|---|
| [3709] | 89 | '<div class="two-cols">' . |
|---|
| 90 | '<p class="col checkboxes-helpers"></p>' . |
|---|
| [2566] | 91 | |
|---|
| [3709] | 92 | '<p class="col right"><label for="action" class="classic">' . __('Selected pages action:') . '</label> ' . |
|---|
| 93 | form::combo('action', $pages_actions_page->getCombo()) . |
|---|
| 94 | '<input id="do-action" type="submit" value="' . __('ok') . '" />' . |
|---|
| [3874] | 95 | form::hidden(['post_type'], 'page') . |
|---|
| 96 | form::hidden(['p'], 'pages') . |
|---|
| 97 | form::hidden(['act'], 'list') . |
|---|
| [3709] | 98 | $core->formNonce() . |
|---|
| 99 | '</p></div>' . |
|---|
| 100 | '<p class="clear form-note hidden-if-js">' . |
|---|
| 101 | __('To rearrange pages order, change number at the begining of the line, then click on “Save pages order” button.') . '</p>' . |
|---|
| 102 | '<p class="clear form-note hidden-if-no-js">' . |
|---|
| 103 | __('To rearrange pages order, move items by drag and drop, then click on “Save pages order” button.') . '</p>' . |
|---|
| 104 | '<p><input type="submit" value="' . __('Save pages order') . '" name="reorder" class="clear" /></p>' . |
|---|
| 105 | '</form>'); |
|---|
| 106 | } |
|---|
| 107 | dcPage::helpBlock('pages'); |
|---|
| 108 | ?> |
|---|
| [0] | 109 | </body> |
|---|
| [2048] | 110 | </html> |
|---|
| 111 | <?php |
|---|
| 112 | } |
|---|
| [2566] | 113 | ?> |
|---|