?? controller.php
字號:
<?php
/**
* @version $Id: controller.php 8286 2007-08-01 08:27:44Z eddieajau $
* @package Joomla
* @subpackage Menus
* @copyright Copyright (C) 2005 - 2007 Open Source Matters. All rights
* reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
jimport('joomla.application.component.controller');
/**
* @package Joomla
* @subpackage Menus
*/
class MenusController extends JController
{
/**
* New menu item wizard
*/
function type()
{
$model =& $this->getModel( 'Item' );
$view =& $this->getView( 'Item' );
$view->setModel( $model, true );
// Set the layout and display
$view->setLayout('type');
$view->type();
}
/**
* Edits a menu item
*/
function edit()
{
$model =& $this->getModel( 'Item' );
$model->checkout();
$view =& $this->getView( 'Item' );
$view->setModel( $model, true );
// Set the layout and display
$view->setLayout('form');
$view->edit();
}
/**
* Saves a menu item
*/
function save()
{
$cache = & JFactory::getCache('com_content');
$cache->clean();
$model =& $this->getModel( 'Item' );
$post = JRequest::get('post');
// allow name only to contain html
$post['name'] = JRequest::getVar( 'name', '', 'post', 'string', JREQUEST_ALLOWHTML );
$model->setState( 'request', $post );
if ($model->store()) {
$msg = JText::_( 'Menu item Saved' );
} else {
$msg = JText::_( 'Error Saving Menu item' );
}
$item =& $model->getItem();
switch ( $this->_task ) {
case 'apply':
$this->setRedirect( 'index.php?option=com_menus&menutype='.$item->menutype.'&task=edit&cid[]='.$item->id.'' , $msg );
break;
case 'save':
default:
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$item->menutype, $msg );
break;
}
}
/**
* Cancels an edit operation
*/
function cancelItem()
{
global $mainframe;
$menutype = $mainframe->getUserStateFromRequest( 'com_menus.menutype', 'menutype', 'mainmenu', 'string' );
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menutype);
}
/**
* Cancels an edit operation
*/
function cancel()
{
$this->setRedirect( 'index.php?option=com_menus');
}
/**
* Form for copying item(s) to a specific menu
*/
function copy()
{
$model =& $this->getModel( 'List' );
$view =& $this->getView( 'List' );
$view->setModel( $model, true );
$view->copyForm();
}
/**
* Save the item(s) to the menu selected
*/
function doCopy()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menu', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->copy($cid, $menu)) {
$msg = JText::sprintf( 'Menu Items Copied to', count( $cid ), $menu );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Form for moving item(s) to a specific menu
*/
function move()
{
$model =& $this->getModel( 'List');
$view =& $this->getView( 'List' );
$view->setModel( $model, true );
$view->moveForm();
}
/**
* Save the item(s) to the menu selected
*/
function doMove()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menu', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->move($cid, $menu)) {
$msg = JText::sprintf( 'Menu Items Moved to', count( $cid ), $menu );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function publish()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->setItemState($cid, 1)) {
$msg = JText::sprintf( 'Menu Items Published', count( $cid ) );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function unpublish()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->setItemState($cid, 0)) {
$msg = JText::sprintf( 'Menu Items Unpublished', count( $cid ) );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function orderup()
{
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
if (isset($cid[0]) && $cid[0]) {
$id = $cid[0];
} else {
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, JText::_('No Items Selected') );
return false;
}
$model =& $this->getModel( 'List' );
if ($model->orderItem($id, -1)) {
$msg = JText::_( 'Menu Item Moved Up' );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function orderdown()
{
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
if (isset($cid[0]) && $cid[0]) {
$id = $cid[0];
} else {
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, JText::_('No Items Selected') );
return false;
}
$model =& $this->getModel( 'List' );
if ($model->orderItem($id, 1)) {
$msg = JText::_( 'Menu Item Moved Down' );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function saveorder()
{
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->setOrder($cid, $menu)) {
$msg = JText::_( 'New ordering saved' );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function accesspublic()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->setAccess($cid, 0)) {
$msg = JText::sprintf( 'Menu Items Set Public', count( $cid ) );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function accessregistered()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
if ($model->setAccess($cid, 1)) {
$msg = JText::sprintf( 'Menu Items Set Registered', count( $cid ) );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function accessspecial()
{
// Get some variables from the request
$menu = JRequest::getVar( 'menutype', '', 'post', 'string' );
$cid = JRequest::getVar( 'cid', array(), 'post', 'array' );
JArrayHelper::toInteger($cid);
$model =& $this->getModel( 'List' );
$msg = JText::sprintf( 'Menu Items Set Special', count( $cid ) );
} else {
$msg = $model->getError();
}
$this->setRedirect( 'index.php?option=com_menus&task=view&menutype='.$menu, $msg );
}
/**
* Save the item(s) to the menu selected
*/
function setdefault()
{
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -