Dotclear

source: plugins/pages/list.php @ 3995:58bdf03fbdea

Revision 3995:58bdf03fbdea, 3.7 KB checked in by franck <carnet.franck.paul@…>, 6 years ago (diff)

Switching from inline JS variables to JSON script, pages plugin

Line 
1<?php
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
12if (!defined('DC_CONTEXT_ADMIN')) {return;}
13dcPage::check('pages,contentadmin');
14
15/* Getting pages
16-------------------------------------------------------- */
17$params = [
18    'post_type' => 'page'
19];
20
21$page        = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1;
22$nb_per_page = 30;
23
24if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) {
25    $nb_per_page = (integer) $_GET['nb'];
26}
27
28$params['limit']      = [(($page - 1) * $nb_per_page), $nb_per_page];
29$params['no_content'] = true;
30$params['order']      = 'post_position ASC, post_title ASC';
31
32try {
33    $pages     = $core->blog->getPosts($params);
34    $counter   = $core->blog->getPosts($params, true);
35    $post_list = new adminPagesList($core, $pages, $counter->f(0));
36} catch (Exception $e) {
37    $core->error->add($e->getMessage());
38}
39
40# Actions combo box
41
42$pages_actions_page = new dcPagesActionsPage($core, 'plugin.php', ['p' => 'pages']);
43
44if (!$pages_actions_page->process()) {
45
46# --BEHAVIOR-- adminPagesActionsCombo
47    $core->callBehavior('adminPagesActionsCombo', [&$combo_action]);
48
49/* Display
50-------------------------------------------------------- */
51    ?>
52<html>
53<head>
54  <title><?php echo __('Pages'); ?></title>
55  <?php
56echo
57    dcPage::jsLoad('js/jquery/jquery-ui.custom.js') .
58    dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js') .
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  ?>
62</head>
63
64<body>
65<?php
66echo dcPage::breadcrumb(
67        [
68            html::escapeHTML($core->blog->name) => '',
69            __('Pages')                         => ''
70        ]) . dcPage::notices();
71
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 . '&amp;act=page">' . __('New page') . '</a></p>';
81
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">' .
86
87            '%s' .
88
89            '<div class="two-cols">' .
90            '<p class="col checkboxes-helpers"></p>' .
91
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') . '" />' .
95            form::hidden(['post_type'], 'page') .
96            form::hidden(['p'], 'pages') .
97            form::hidden(['act'], 'list') .
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    ?>
109</body>
110</html>
111<?php
112}
113?>
Note: See TracBrowser for help on using the repository browser.

Sites map