154 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /* @package Joomla
 | |
|  * @copyright Copyright (C) Open Source Matters. All rights reserved.
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 | |
|  * @extension Phoca Extension
 | |
|  * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 | |
|  */
 | |
| defined('_JEXEC') or die();
 | |
| use Joomla\CMS\Factory;
 | |
| use Joomla\CMS\Router\Route;
 | |
| use Joomla\CMS\Language\Text;
 | |
| 
 | |
| class PhocaDownloadControllerUser extends PhocaDownloadController
 | |
| {
 | |
| 	public $loginUrl;
 | |
| 	public $loginString;
 | |
| 	public $url;
 | |
| 	public $itemId;
 | |
| 
 | |
| 
 | |
| 	function __construct() {
 | |
| 		parent::__construct();
 | |
| 
 | |
| 		$this->registerTask( 'unpublish', 'unpublish' );
 | |
| 		$app					= Factory::getApplication();
 | |
| 		$this->itemId			= $app->input->get( 'Itemid', 0, 'int' );
 | |
| 		$this->loginUrl			= Route::_('index.php?option=com_users&view=login', false);
 | |
| 		$this->loginString		= Text::_('COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION');
 | |
| 		$this->url				= 'index.php?option=com_phocadownload&view=user&Itemid='. $this->itemId;
 | |
| 	}
 | |
| 	/*
 | |
| 	function display() {
 | |
| 		if ( ! Factory::getApplication()->input->getCmd( 'view' ) ) {
 | |
| 			$this->input->set('view', 'user' );
 | |
| 		}
 | |
| 		parent::display();
 | |
|     }*/
 | |
| 
 | |
| 	function unpublish() {
 | |
| 
 | |
| 		$app				= Factory::getApplication();
 | |
| 		$post['id']			= $app->input->get( 'actionid', '', 'int', 0  );
 | |
| 		$post['limitstart']	= $app->input->get( 'limitstart', '', 'int', 0  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		//$isOwnerCategory 	= 1;//$model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 		// USER RIGHT - Delete - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$user = Factory::getUser();
 | |
| 		$rightDisplayDelete	= 0;
 | |
| 		$catAccess	= PhocaDownloadAccess::getCategoryAccessByFileId((int)$post['id']);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayDelete) {
 | |
| 			if(!$model->publish((int)$post['id'], 0)) {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM');
 | |
| 			}
 | |
| 		} else {
 | |
| 		    $app->enqueueMessage($this->loginString, 'error');
 | |
| 			$app->redirect($this->loginUrl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$lSO = '';
 | |
| 		if ($post['limitstart'] != '') {
 | |
| 			$lSO = '&limitstart='.(int)$post['limitstart'];
 | |
| 		}
 | |
| 
 | |
| 		$this->setRedirect( Route::_($this->url. $lSO, false), $msg );
 | |
| 	}
 | |
| 
 | |
| 	function publish() {
 | |
| 		$app				= Factory::getApplication();
 | |
| 		$post['id']			= $app->input->get( 'actionid', '', 'int', 0  );
 | |
| 		$post['limitstart']	= $app->input->get( 'limitstart', '', 'int', 0  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		//$isOwnerCategory 	= 1;//$model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 
 | |
| 		// USER RIGHT - Delete - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$user = Factory::getUser();
 | |
| 		$rightDisplayDelete	= 0;
 | |
| 		$catAccess	= PhocaDownloadAccess::getCategoryAccessByFileId((int)$post['id']);
 | |
| 
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayDelete) {
 | |
| 			if(!$model->publish((int)$post['id'], 1)) {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM');
 | |
| 			}
 | |
| 		} else {
 | |
| 			$app->enqueueMessage($this->loginString, 'error');
 | |
| 			$app->redirect($this->loginUrl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$lSO = '';
 | |
| 		if ($post['limitstart'] != '') {
 | |
| 			$lSO = '&limitstart='.(int)$post['limitstart'];
 | |
| 		}
 | |
| 
 | |
| 		$this->setRedirect( Route::_($this->url. $lSO, false), $msg );
 | |
| 	}
 | |
| 
 | |
| 	function delete() {
 | |
| 
 | |
| 		$app				= Factory::getApplication();
 | |
| 		$post['id']			= $app->input->get( 'actionid', '', 'int', 0  );
 | |
| 		$post['limitstart']	= $app->input->get( 'limitstart', '', 'int', 0  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		//$isOwnerCategory 	= 1;//$model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 
 | |
| 		// USER RIGHT - Delete - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$user = Factory::getUser();
 | |
| 		$rightDisplayDelete	= 0;
 | |
| 		$catAccess	= PhocaDownloadAccess::getCategoryAccessByFileId((int)$post['id']);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayDelete) {
 | |
| 			if(!$model->delete((int)$post['id'])) {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM');
 | |
| 			}
 | |
| 		} else {
 | |
| 			$app->enqueueMessage($this->loginString, 'error');
 | |
| 			$app->redirect($this->loginUrl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$lSO = '';
 | |
| 		if ($post['limitstart'] != '') {
 | |
| 			$lSO = '&limitstart='.(int)$post['limitstart'];
 | |
| 		}
 | |
| 
 | |
| 		$this->setRedirect( Route::_($this->url. $lSO, false), $msg );
 | |
| 	}
 | |
| }
 | |
| ?>
 |