Dotclear

source: plugins/pages/_admin.php @ 3874:ab8368569446

Revision 3874:ab8368569446, 3.2 KB checked in by franck <carnet.franck.paul@…>, 7 years ago (diff)

short notation for array (array() → [])

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;}
13
14$core->addBehavior('adminColumnsLists', ['pagesColumnsLists', 'adminColumnsLists']);
15$core->addBehavior('adminDashboardFavorites', ['pagesDashboard', 'pagesDashboardFavs']);
16$core->addBehavior('adminUsersActionsHeaders', 'pages_users_actions_headers');
17
18class pagesColumnsLists
19{
20    public static function adminColumnsLists($core, $cols)
21    {
22        // Set optional columns in pages lists
23        $cols['pages'] = [__('Pages'), [
24            'date'       => [true, __('Date')],
25            'author'     => [true, __('Author')],
26            'comments'   => [true, __('Comments')],
27            'trackbacks' => [true, __('Trackbacks')]
28        ]];
29    }
30}
31
32class pagesDashboard
33{
34    public static function pagesDashboardFavs($core, $favs)
35    {
36        $favs->register('pages', [
37            'title'        => __('Pages'),
38            'url'          => $core->adminurl->get('admin.plugin.pages'),
39            'small-icon'   => dcPage::getPF('pages/icon.png'),
40            'large-icon'   => dcPage::getPF('pages/icon-big.png'),
41            'permissions'  => 'contentadmin,pages',
42            'dashboard_cb' => ['pagesDashboard', 'pagesDashboardCB'],
43            'active_cb'    => ['pagesDashboard', 'pagesActiveCB']
44        ]);
45        $favs->register('newpage', [
46            'title'       => __('New page'),
47            'url'         => $core->adminurl->get('admin.plugin.pages', ['act' => 'page']),
48            'small-icon'  => dcPage::getPF('pages/icon-np.png'),
49            'large-icon'  => dcPage::getPF('pages/icon-np-big.png'),
50            'permissions' => 'contentadmin,pages',
51            'active_cb'   => ['pagesDashboard', 'newPageActiveCB']
52        ]);
53    }
54
55    public static function pagesDashboardCB($core, $v)
56    {
57        $params              = new ArrayObject();
58        $params['post_type'] = 'page';
59        $page_count          = $core->blog->getPosts($params, true)->f(0);
60        if ($page_count > 0) {
61            $str_pages  = ($page_count > 1) ? __('%d pages') : __('%d page');
62            $v['title'] = sprintf($str_pages, $page_count);
63        }
64    }
65
66    public static function pagesActiveCB($request, $params)
67    {
68        return ($request == "plugin.php") &&
69        isset($params['p']) && $params['p'] == 'pages'
70        && !(isset($params['act']) && $params['act'] == 'page');
71    }
72
73    public static function newPageActiveCB($request, $params)
74    {
75        return ($request == "plugin.php") &&
76        isset($params['p']) && $params['p'] == 'pages'
77        && isset($params['act']) && $params['act'] == 'page';
78    }
79}
80
81function pages_users_actions_headers()
82{
83    return dcPage::jsLoad('index.php?pf=pages/js/_users_actions.js');
84}
85
86$_menu['Blog']->addItem(__('Pages'),
87    $core->adminurl->get('admin.plugin.pages'),
88    dcPage::getPF('pages/icon.png'),
89    preg_match('/plugin.php(.*)$/', $_SERVER['REQUEST_URI']) && !empty($_REQUEST['p']) && $_REQUEST['p'] == 'pages',
90    $core->auth->check('contentadmin,pages', $core->blog->id));
91
92$core->auth->setPermissionType('pages', __('manage pages'));
93
94require dirname(__FILE__) . '/_widgets.php';
Note: See TracBrowser for help on using the repository browser.

Sites map