You've already forked joomla_test
first commit
This commit is contained in:
131
administrator/components/com_menus/controllers/items.php
Normal file
131
administrator/components/com_menus/controllers/items.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* The Menu Item Controller
|
||||
*
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
* @since 1.6
|
||||
*/
|
||||
class MenusControllerItems extends JControllerAdmin
|
||||
{
|
||||
public function __construct($config = array())
|
||||
{
|
||||
parent::__construct($config);
|
||||
$this->registerTask('unsetDefault', 'setDefault');
|
||||
}
|
||||
|
||||
/**
|
||||
* Proxy for getModel
|
||||
* @since 1.6
|
||||
*/
|
||||
public function getModel($name = 'Item', $prefix = 'MenusModel', $config = array())
|
||||
{
|
||||
return parent::getModel($name, $prefix, array('ignore_request' => true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebuild the nested set tree.
|
||||
*
|
||||
* @return bool False on failure or error, true on success.
|
||||
* @since 1.6
|
||||
*/
|
||||
public function rebuild()
|
||||
{
|
||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
||||
|
||||
$this->setRedirect('index.php?option=com_menus&view=items');
|
||||
|
||||
$model = $this->getModel();
|
||||
|
||||
if ($model->rebuild())
|
||||
{
|
||||
// Reorder succeeded.
|
||||
$this->setMessage(JText::_('COM_MENUS_ITEMS_REBUILD_SUCCESS'));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Rebuild failed.
|
||||
$this->setMessage(JText::sprintf('COM_MENUS_ITEMS_REBUILD_FAILED'));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function saveorder()
|
||||
{
|
||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
||||
|
||||
// Get the arrays from the Request
|
||||
$order = $this->input->post->get('order', null, 'array');
|
||||
$originalOrder = explode(',', $this->input->getString('original_order_values'));
|
||||
|
||||
// Make sure something has changed
|
||||
if (!($order === $originalOrder))
|
||||
{
|
||||
parent::saveorder();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Nothing to reorder
|
||||
$this->setRedirect(JRoute::_('index.php?option='.$this->option.'&view='.$this->view_list, false));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to set the home property for a list of items
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public function setDefault()
|
||||
{
|
||||
// Check for request forgeries
|
||||
JSession::checkToken('request') or die(JText::_('JINVALID_TOKEN'));
|
||||
|
||||
// Get items to publish from the request.
|
||||
$cid = $this->input->get('cid', array(), 'array');
|
||||
$data = array('setDefault' => 1, 'unsetDefault' => 0);
|
||||
$task = $this->getTask();
|
||||
$value = JArrayHelper::getValue($data, $task, 0, 'int');
|
||||
|
||||
if (empty($cid))
|
||||
{
|
||||
JError::raiseWarning(500, JText::_($this->text_prefix.'_NO_ITEM_SELECTED'));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Get the model.
|
||||
$model = $this->getModel();
|
||||
|
||||
// Make sure the item ids are integers
|
||||
JArrayHelper::toInteger($cid);
|
||||
|
||||
// Publish the items.
|
||||
if (!$model->setHome($cid, $value))
|
||||
{
|
||||
JError::raiseWarning(500, $model->getError());
|
||||
} else {
|
||||
if ($value == 1)
|
||||
{
|
||||
$ntext = 'COM_MENUS_ITEMS_SET_HOME';
|
||||
}
|
||||
else {
|
||||
$ntext = 'COM_MENUS_ITEMS_UNSET_HOME';
|
||||
}
|
||||
$this->setMessage(JText::plural($ntext, count($cid)));
|
||||
}
|
||||
}
|
||||
|
||||
$this->setRedirect(JRoute::_('index.php?option='.$this->option.'&view='.$this->view_list, false));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user