Spade
Mini Shell
| Directory:~$ /home/lmsyaran/www/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 NotiflyControllerEvent 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 . '.events');
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
. '.events');
// Check the events core.edit permissions.
return $canEditOwn;
}
/**
* Method to toggle the featured setting of a list of articles.
*
* @return void
*
* @since 1.6
*/
public function delete()
{
// Check for request forgeries
JSession::checkToken('get') or
jexit(JText::_('JINVALID_TOKEN'));
$user = JFactory::getUser();
$ids = $this->input->get('cid', array(),
'array');
// Access checks.
foreach ($ids as $i => $id)
{
if (!$user->authorise('core.delete',
'com_notifly.event'))
{
// Prune items that you can't delete.
unset($ids[$i]);
JError::raiseNotice(403,
JText::_('JERROR_CORE_DELETE_NOT_PERMITTED'));
}
}
if (empty($ids))
{
JError::raiseWarning(500,
JText::_('JERROR_NO_ITEMS_SELECTED'));
}
else
{
// Get the model.
/** @var ContentModelFeature $model */
$model = $this->getModel();
// Remove the items.
if (!$model->delete($ids, 0))
{
JError::raiseWarning(500, $model->getError());
}
}
$this->setRedirect(
\JRoute::_(
'index.php?option=' . $this->option .
'&view=' . $this->view_list
. $this->getRedirectToListAppend(), false
)
,
JText::_('COM_NOTIFLY_COMPLETE')
);
return true;
}
/**
* 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 = 'Event', $prefix =
'NotiflyModel', $config = array('ignore_request' =>
true))
{
return parent::getModel($name, $prefix, $config);
}
}