Ejemplo n.º 1
0
 public static function route($action)
 {
     $title = $content = NULL;
     $message = Block_Admin::getMessage();
     if (isset($_REQUEST['block_id'])) {
         $block = new Block_Item($_REQUEST['block_id']);
     } else {
         $block = new Block_Item();
     }
     switch ($action) {
         case 'new':
             $title = dgettext('block', 'New Block');
             $content = Block_Admin::edit($block);
             break;
         case 'delete':
             if (!Current_User::authorized('block', 'delete_block', $_REQUEST['block_id'])) {
                 Current_User::disallow();
             }
             $block->kill();
             Block_Admin::sendMessage(dgettext('block', 'Block deleted.'));
             PHPWS_Core::goBack();
             break;
         case 'edit':
             if (!Current_User::authorized('block', 'edit_block', $_REQUEST['block_id'])) {
                 Current_User::disallow();
             }
             $title = 'Edit Block';
             $content = Block_Admin::edit($block);
             break;
         case 'pin_all':
             if (!Current_User::authorized('block', 'delete_block', $_REQUEST['block_id'])) {
                 Current_User::disallow();
             }
             Block_Admin::pinBlockAll($block);
             Block_Admin::sendMessage(dgettext('block', 'Block pinned'), 'list');
             break;
         case 'remove':
             if (!Current_User::authorized('block', 'edit_block', $_REQUEST['block_id'])) {
                 Current_User::disallow();
             }
             Block_Admin::removeBlock();
             PHPWS_Core::goBack();
             break;
         case 'postBlock':
             if (Block_Admin::postBlock($block)) {
                 $result = $block->save();
                 Block_Admin::sendMessage(dgettext('block', 'Block saved'), 'list');
             } else {
                 $message = dgettext('block', 'Block must have a title, some content, or a file attachment.');
                 $title = 'Edit Block';
                 $content = Block_Admin::edit($block);
             }
             break;
         case 'settings':
             $title = dgettext('block', 'Settings');
             $content = Block_Admin::settings();
             break;
         case 'post_settings':
             $result = Block_Admin::postSettings();
             if (is_array($result)) {
                 $message = implode('<br />', $result);
                 $title = dgettext('block', 'Settings');
                 $content = Block_Admin::settings();
             } else {
                 Block_Admin::sendMessage(dgettext('block', 'Settings saved'), 'settings');
             }
             break;
         case 'postJSBlock':
             if (Block_Admin::postBlock($block)) {
                 $result = $block->save();
                 if (PHPWS_Error::isError($result)) {
                     PHPWS_Error::log($result);
                 } elseif (isset($_REQUEST['key_id'])) {
                     Block_Admin::lockBlock($block->id, $_REQUEST['key_id']);
                 }
                 PHPWS_Core::goBack();
             } else {
                 $template['TITLE'] = dgettext('block', 'New Block');
                 $template['CONTENT'] = Block_Admin::edit($block, TRUE);
                 $template['MESSAGE'] = dgettext('block', 'Block must have a title, some content, or a file attachment.');
                 $content = PHPWS_Template::process($template, 'block', 'admin.tpl');
                 Layout::nakedDisplay($content);
             }
             break;
         case 'lock':
             $result = Block_Admin::lockBlock($_GET['block_id'], $_GET['key_id']);
             if (PHPWS_Error::isError($result)) {
                 PHPWS_Error::log($result);
             }
             PHPWS_Core::goBack();
             break;
         case 'list':
             $title = dgettext('block', 'Block list');
             $content = Block_Admin::blockList();
             break;
         case 'js_block_edit':
             $template['CONTENT'] = Block_Admin::edit($block, TRUE);
             echo PHPWS_Template::process($template, 'block', 'admin.tpl');
             exit;
             break;
     }
     $template['TITLE'] =& $title;
     if (isset($message)) {
         $template['MESSAGE'] =& $message;
     }
     $template['CONTENT'] =& $content;
     return PHPWS_Template::process($template, 'block', 'admin.tpl');
 }
Ejemplo n.º 2
0
<?php

/**
 * @version $Id$
 * @author Matthew McNaney <mcnaney at gmail dot com>
 */
if (!defined('PHPWS_SOURCE_DIR')) {
    include '../../core/conf/404.html';
    exit;
}
if (!Current_User::authorized('block')) {
    Current_User::disallow();
    return;
}
PHPWS_Core::initModClass('block', 'Block_Admin.php');
Block_Admin::action();