Beispiel #1
0
<?php

Admin::registerSubpage('content', 'edit-page', __('admin', 'edit-page'), 'EditPage::display');
AdminSidebar::registerForPage('content/edit-page', 'EditPage::viewAll', -10);
AdminSidebar::registerForPage('content/edit-page', 'EditPage::fileUploadBlock');
AdminSidebar::registerForPage('content/edit-page', 'EditPage::viewPage', -10);
AdminSidebar::registerForPage('content/edit-page', 'EditPage::pageInfoBlock', -1);
class EditPage
{
    public static function viewAll()
    {
        return sprintf("<a href='%s' class='action'>%s%s</a>", Admin::link('content'), icon('pages_all'), __('admin', 'view-all-pages'));
    }
    public static function viewPage()
    {
        return sprintf("<a href='%s' target='_blank' class='action'>%s%s</a>", Node::fetchUrlForId($_GET['id']), icon('page_magnify'), __('admin', 'view-page-on-site'));
    }
    public static $invalid = false;
    public static $row = array();
    public static function display()
    {
        $id = $_GET['id'];
        if (!is_numeric($id)) {
            $r = self::invalidIdError();
            i18n::restore();
            cc_redirect(Admin::link('content'));
            return array('Error', $r);
        }
        $pageInfo = Database::select('content', '*', array('content_id = ?', $id));
        $row = $pageInfo->fetch(PDO::FETCH_ASSOC);
        if (!$row) {
Beispiel #2
0
<?php

Admin::registerSubpage('users', 'add-group', __('admin', 'add-group'), 'AddGroupPage::display');
class AddGroupPage
{
    public static function display()
    {
        $messages = "";
        if ($_POST['cc_form'] === 'add-group') {
            $group = $_POST['group'];
            $rows = Database::select('users', 'name', array('name = ? AND type = ?', $group, 'group'), null, 1)->fetch(PDO::FETCH_ASSOC);
            if (!empty($rows)) {
                $messages .= Message::error(__('admin', 'group-in-use'));
            } else {
                $row = DB::select('users', array('data'), array('users_id = ?', $_GET['parent']))->fetch(PDO::FETCH_ASSOC);
                $inheritance = unserialize($row['data']);
                $inheritance = $inheritance['permissions'];
                $result = Database::insert('users', array('name' => filter('admin_add_group_name', $group), 'type' => 'group', 'group' => '-1', 'data' => serialize(filter('admin_add_group_data', array('permissions' => $inheritance)))));
                if ($result === 1) {
                    $messages .= Message::success(__('admin', 'group-added'));
                }
            }
        }
        $form = new Form('self', 'post', 'add-group');
        $form->startFieldset(__("admin", 'group-information'));
        $form->addInput(__('admin', 'group-name'), 'text', 'group', self::get('group'));
        $groups = Users::allGroups();
        foreach ($groups as $key => $value) {
            $groups[$value->getId()] = $value->getName();
        }
        $form->addSelectList(__('admin', 'inherit-permissions'), 'parent', $groups);
Beispiel #3
0
<?php

Admin::registerSubpage('users', 'edit-group', __('admin', 'edit-group'), 'GroupPage::display', 3);
class GroupPage
{
    public static function display()
    {
        if (!is_numeric($_GET['id'])) {
            cc_redirect(Admin::link('users'));
        }
        if ($_POST['cc_form'] == 'edit-group') {
            $id = $_GET['id'];
            $previous = (array) unserialize(urldecode($_POST['previous']));
            $group = $_POST['group'];
            $permissions = (array) $_POST['permissions'];
            $new = array_merge($previous, $permissions);
            foreach ($new as $k => $v) {
                if ($v == "1") {
                    $new[$k] = true;
                }
                if (!array_key_exists($k, $permissions)) {
                    $new[$k] = false;
                }
            }
            if (DB::update('users', array('name', 'data'), array($group, serialize(filter('admin_edit_group_data', array('permissions' => $new)))), array('users_id = ?', $id))) {
                $message = Message::success(__('admin', 'group-information-updated'));
            } else {
                $message = Message::error(__('admin', 'database-error'));
            }
        }
        $p = Permissions::getAll();
Beispiel #4
0
<?php

Admin::registerSubpage('users', 'add-user', __('admin', 'add-user'), 'AddUserPage::display');
class AddUserPage
{
    public static function display()
    {
        $messages = "";
        if ($_POST['cc_form'] === 'add-user') {
            $username = $_POST['username'];
            $password = $_POST['password'];
            $cpassword = $_POST['confirm-password'];
            $group = $_POST['group'];
            if ($password != $cpassword) {
                $messages .= Message::error(__('admin', 'passwords-dont-match'));
            } else {
                $rows = Database::select('users', 'name', array('name = ? AND type = ?', $username, 'user'), null, 1)->fetch(PDO::FETCH_ASSOC);
                if (!empty($rows)) {
                    $messages .= Message::error(__('admin', 'username-in-use'));
                } else {
                    $hash = hash('whirlpool', $password);
                    $result = Database::insert('users', array('name' => filter('admin_add_user_username', $username), 'value' => $hash, 'type' => 'user', 'group' => filter('admin_add_group', $group), 'data' => serialize(filter('admin_add_user_data', array()))));
                    if ($result === 1) {
                        $messages .= Message::success(__('admin', 'user-added'));
                    }
                }
            }
        }
        $form = new Form('self', 'post', 'add-user');
        $groups = Users::allGroups();
        foreach ($groups as $key => $value) {
Beispiel #5
0
<?php

Admin::registerSubpage('users', 'edit-user', __('admin', 'edit-user'), 'EditUserPage::display');
class EditUserPage
{
    public static $row = array();
    public static function display()
    {
        $id = $_GET['id'];
        if (!is_numeric($id)) {
            i18n::restore();
            cc_redirect(Admin::link('users'));
            return 'redirected.';
        }
        $messages = "";
        if ($_POST['cc_form'] === 'edit-user') {
            $username = $_POST['name'];
            $password = $_POST['password'];
            $cpassword = $_POST['confirm-password'];
            $group = $_POST['group'];
            if ($password != $cpassword) {
                $messages .= Message::error(__('admin', 'passwords-dont-match'));
            } else {
                $result = Database::select('users', '*', array('users_id = ?', $id));
                $row = $result->fetch(PDO::FETCH_ASSOC);
                $result = Database::select('users', '*', array('name = ?', $username));
                if (!empty($result)) {
                    $userRow = $result->fetch(PDO::FETCH_ASSOC);
                } else {
                    $result = false;
                }
Beispiel #6
0
<?php

Admin::registerSubpage('content', 'create-page', __('admin', 'add-page'), 'CreatePage::display', -10);
AdminSidebar::registerForPage('content/create-page', 'EditPage::viewAll', -10);
class CreatePage
{
    public static $invalid = false;
    public static $row = array();
    public static function display()
    {
        $type = $_GET['type'];
        $types = Content::contentTypes();
        if (array_key_exists($type, $types) === false && array_key_exists($_POST['type'], $types) === false) {
            $opt_list = array();
            foreach ($types as $single_type => $class) {
                $opt_list[$single_type] = call_user_func($class . '::name');
            }
            $form = new Form('self', 'post', 'add_node_1');
            $form->addSelectList(__('admin', 'content-type'), 'type', $opt_list, true, 'page');
            $form->addSubmit('', 'continue', __('admin', 'continue'));
            return array(__('admin', 'add-page'), $form->endAndGetHTML());
        }
        if (!$type && $_POST['type']) {
            if (array_key_exists('continue', $_POST)) {
                cc_redirect(Admin::link($_GET['page'], array('type' => $_POST['type'])));
            } else {
                return;
            }
        }
        AdminSidebar::registerForPage('content/create-page', 'EditPage::fileUploadBlock');
        return Content::nodeDisplay('create_display', $type, array());