File: /home/confeduphaar/backip-old-files/administrator/components/com_jevents/controllers/user.php
<?php
/**
* JEvents Component for Joomla! 3.x
*
* @version $Id: user.php 1975 2011-04-27 15:52:33Z geraintedwards $
* @package JEvents
* @copyright Copyright (C) 2008-2020 GWESystems Ltd, 2006-2008 JEvents Project Group
* @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html
* @link http://www.jevents.net
*/
defined('JPATH_BASE') or die('Direct Access to this location is not allowed.');
jimport('joomla.application.component.controller');
use Joomla\CMS\Language\Text;
use Joomla\CMS\Factory;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
use Joomla\Utilities\ArrayHelper;
class AdminUserController extends Joomla\CMS\MVC\Controller\BaseController
{
/** @var string current used task */
protected $task = null;
/** @var array int or array with the choosen list id */
protected $cid = null;
function __construct()
{
parent::__construct();
$this->registerDefaultTask('showUser');
$input = Factory::getApplication()->input;
$this->task = $input->get('task', '', "cmd");
$this->cid = $input->get('cid', array(0), "array");
if (!is_array($this->cid))
{
$this->cid = array(0);
}
$this->cid = ArrayHelper::toInteger($this->cid);
$this->registerTask('overview', 'showUsers');
$this->registerTask('list', 'showUsers');
$this->registerTask('edit', 'editUser');
$this->registerTask('save', 'saveUser');
$this->registerTask('publish', 'publishUser');
$this->registerTask('unpublish', 'unpublishUser');
$this->registerTask('remove', 'removeUser');
// Populate common data used by view
// get the view
$this->view = $this->getView("user", "html");
// Assign data for view
$this->view->task = $this->task;
}
function showUsers()
{
//JLoader::import( 'models.user',JPATH_COMPONENT_ADMINISTRATOR);
$model = $this->getModel('user');
$this->view->setModel($model, true);
// Set the layout
$this->view->setLayout('overview');
$this->view->display();
}
function editUser()
{
////JLoader::import( 'models.user',JPATH_COMPONENT_ADMINISTRATOR);
if (!JEVHelper::isAdminUser())
{
$msg = "Not Authorised";
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
return;
}
$model = $this->getModel('user');
$this->view->setModel($model, true);
// Set the layout
$this->view->setLayout('edit');
$this->view->display();
}
function saveUser()
{
// Check for request forgeries
Session::checkToken() or jexit('Invalid Token');
$input = Factory::getApplication()->input;
if (!JEVHelper::isAdminUser())
{
$msg = "Not Authorised";
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
return;
}
$post = $input->post->getArray();
$cid = $input->post->get('cid', array(), 'array');
$cid = (int) $cid[0];
$model = $this->getModel('user');
if ($model->store($cid, $post))
{
$msg = Text::_('USER_SAVED');
}
else
{
$msg = Text::_('ERROR_SAVING_USER');
}
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
}
function removeUser()
{
// Check for request forgeries
Session::checkToken() or jexit('Invalid Token');
if (!JEVHelper::isAdminUser())
{
$msg = "Not Authorised";
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
return;
}
$model = $this->getModel('user');
$users = TableUser::getUsers($this->cid);
$countdeleted = 0;
foreach ($users as $user)
{
$countdeleted += $user->delete() ? 1 : 0;
}
if ($countdeleted = count($users))
{
$set = Factory::getApplication()->triggerEvent('onAfterRemoveUser', array($users));
$msg = Text::_('USERS_DELETED');
}
else
{
$msg = Text::_('NOT_ALL_USERS_DELETED');
}
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
}
function publishUser()
{
$this->changeState("published", 1, Text::_('COM_JEVENTS_USER_ACTION_ENABLED'));
}
private function changeState($field, $newstate, $successMessage)
{
// Check for request forgeries
Session::checkToken() or jexit('Invalid Token');
if (!JEVHelper::isAdminUser())
{
$msg = "Not Authorised";
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
return;
}
$model = $this->getModel('user');
$user = $model->getUser();
$user->$field = $newstate;
if ($user->store())
{
$msg = $successMessage;
}
else
{
$msg = Text::_('ERROR_UPDATING_USER');
}
$link = Route::_('index.php?option=' . JEV_COM_COMPONENT . '&task=user.list', false);
$this->setRedirect($link, $msg);
$this->redirect();
}
function unpublishUser()
{
$this->changeState("published", 0, Text::_('COM_JEVENTS_USER_ACTION_DISABLED'));
}
function cancreate()
{
$this->changeState("cancreate", 1, Text::_('USER_CAN_CREATE_EVENTS'));
}
function cannotcreate()
{
$this->changeState("cancreate", 0, Text::_('USER_CANNOT_CREATE_EVENTS'));
}
function canedit()
{
$this->changeState("canedit", 1, Text::_('USER_CAN_EDIT_EVENTS'));
}
function cannotedit()
{
$this->changeState("canedit", 0, Text::_('USER_CANNOT_EDIT_EVENTS'));
}
function candeleteown()
{
$this->changeState("candeleteown", 1, Text::_('USER_CAN_DELETE_OWN'));
}
function cannotdeleteown()
{
$this->changeState("candeleteown", 0, Text::_('USER_CANNOT_DELETE_OWN'));
}
function candeleteall()
{
$this->changeState("candeleteall", 1, Text::_('USER_CAN_DELETE_ALL'));
}
function cannotdeleteall()
{
$this->changeState("candeleteall", 0, Text::_('USER_CANNOT_DELETE_ALL'));
}
function canpublishown()
{
$this->changeState("canpublishown", 1, Text::_('USER_CAN_PUBLISH_OWN'));
}
function cannotpublishown()
{
$this->changeState("canpublishown", 0, Text::_('USER_CANNOT_PUBLISH_OWN'));
}
function canpublishall()
{
$this->changeState("canpublishall", 1, Text::_('USER_CAN_PUBLISH_ALL'));
}
function cannotpublishall()
{
$this->changeState("canpublishall", 0, Text::_('USER_CANNOT_PUBLISH_ALL'));
}
function canuploadimages()
{
$this->changeState("canuploadimages", 1, Text::_('USER_CAN_UPLOAD_IMAGES'));
}
function cannotuploadimages()
{
$this->changeState("canuploadimages", 0, Text::_('USER_CANNOT_UPLOAD_IMAGES'));
}
function canuploadmovies()
{
$this->changeState("canuploadmovies", 1, Text::_('USER_CAN_UPLOAD_FILES'));
}
// These apply to extra attributes - user specific or global
function cannotuploadmovies()
{
$this->changeState("canuploadmovies", 0, Text::_('USER_CANNOT_UPLOAD_FILES'));
}
function cancreateown()
{
$this->changeState("cancreateown", 1, Text::_('USER_CAN_CREATE_OWN_EXTRAS'));
}
function cannotcreateown()
{
$this->changeState("cancreateown", 0, Text::_('USER_CANNOT_CREATE_OWN_EXTRAS'));
}
function cancreateglobal()
{
$this->changeState("cancreateglobal", 1, Text::_('USER_CAN_CREATE_GLOBAL_EXTRAS'));
}
function cannotcreateglobal()
{
$this->changeState("cancreateglobal", 0, Text::_('USER_CANNOT_CREATE_GLOBAL_EXTRAS'));
}
}