Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/administrator/components/com_notifly/controllers/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @package Joomla.Administrator
* @subpackage com_notifly
*
* @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Utilities\ArrayHelper;
/**
* Controller for a single contact
*
* @since 1.6
*/
class NotiflyControllerTemplate extends JControllerForm
{
/**
* Method override to check if you can add a new record.
*
* @param array $data An array of input data.
*
* @return boolean
*
* @since 1.6
*/
protected function allowAdd($data = array())
{
$allow = JFactory::getUser()->authorise('core.create',
$this->option . '.templates');
if ($allow === null)
{
// In the absense of better information, revert to the component
permissions.
return parent::allowAdd($data);
}
return $allow;
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
*
* @since 1.6
*/
protected function allowEdit($data = array(), $key = 'id')
{
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
// Since there is no asset tracking, fallback to the component
permissions.
if (!$recordId)
{
return parent::allowEdit($data, $key);
}
// Get the item.
$item = $this->getModel()->getItem($recordId);
// Since there is no item, return false.
if (empty($item))
{
return false;
}
$user = JFactory::getUser();
// Check if can edit own core.edit.own.
$canEditOwn = $user->authorise('core.edit', $this->option
. '.templates');
// Check the templates core.edit permissions.
return $canEditOwn;
}
/**
* Method to toggle the featured setting of a list of articles.
*
* @return void
*
* @since 1.6
*/
public function update()
{
// Check for request forgeries
// JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$user = JFactory::getUser();
$ids = $this->input->get('ids', array(),
'array');
$values = array('enable' => 1, 'disable' => 0);
$task = $this->getTask();
$value = ArrayHelper::getValue($values, $task, 0, 'int');
$message = false;
// Access checks.
foreach ($ids as $i => $id)
{
if (!$user->authorise('core.edit.state',
'com_notifly.templates.' . (int) $id))
{
// Prune items that you can't change.
unset($ids[$i]);
JError::raiseNotice(403,
JText::_('JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED'));
}
}
if (empty($ids))
{
JError::raiseWarning(500,
JText::_('JERROR_NO_ITEMS_SELECTED'));
}
else
{
// Get the model.
/** @var ContentModelArticle $model */
$model = $this->getModel();
// Publish the items.
if (!$model->update($ids, $value))
{
$message = new Exception($model->getError());
}
if ($value == 1)
{
$message = JText::plural('COM_NOTIFLY_N_ITEMS_ENABLED',
count($ids));
}
else
{
$message = JText::plural('COM_NOTIFLY_N_ITEMS_DISABLED',
count($ids));
}
echo new JResponseJson($message);
}
JFactory::getApplication()->close();
}
/**
* Proxy for getModel.
*
* @param string $name The model name. Optional.
* @param string $prefix The class prefix. Optional.
* @param array $config The array of possible config values.
Optional.
*
* @return JModelLegacy
*
* @since 1.6
*/
public function getModel($name = 'Template', $prefix =
'NotiflyModel', $config = array('ignore_request' =>
true))
{
return parent::getModel($name, $prefix, $config);
}
}