1393 lines
		
	
	
		
			50 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			1393 lines
		
	
	
		
			50 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\Component\ComponentHelper;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Uri\Uri;
 | |
| use Joomla\CMS\Router\Route;
 | |
| use Joomla\CMS\Object\CMSObject;
 | |
| use Joomla\CMS\Session\Session;
 | |
| use Joomla\Registry\Registry;
 | |
| use Joomla\CMS\Client\ClientHelper;
 | |
| use Joomla\CMS\Filesystem\File;
 | |
| use Joomla\CMS\Filesystem\Path;
 | |
| use Joomla\CMS\Plugin\PluginHelper;
 | |
| use Joomla\CMS\Filesystem\Folder;
 | |
| phocagalleryimport('phocagallery.access.access');
 | |
| jimport( 'joomla.filesystem.folder' );
 | |
| jimport( 'joomla.filesystem.file' );
 | |
| phocagalleryimport('phocagallery.file.file');
 | |
| phocagalleryimport('phocagallery.file.fileupload');
 | |
| phocagalleryimport('phocagallery.file.filefolder');
 | |
| phocagalleryimport('phocagallery.file.filethumbnail');
 | |
| phocagalleryimport('phocagallery.comment.comment');
 | |
| phocagalleryimport('phocagallery.comment.commentcategory');
 | |
| phocagalleryimport('phocagallery.upload.uploadfront');
 | |
| phocagalleryimport('phocagallery.user.user');
 | |
| phocagalleryimport('phocagallery.youtube.youtube');
 | |
| class PhocaGalleryControllerUser extends PhocaGalleryController
 | |
| {
 | |
| 	var $_user 				= null;
 | |
| 	var $_view 				= 'user';
 | |
| 	var $_tab				= 0;
 | |
| 	var $_limitstartsubcat 	= 0;
 | |
| 	var $_limitstartimage	= 0;
 | |
| 	var $_itemid			= 0;
 | |
| 	var $_loginurl;
 | |
| 	var $_loginstr;
 | |
| 	var $_url;
 | |
| 
 | |
| 	function __construct() {
 | |
| 		parent::__construct();
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 		$paramsC = ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		// UCP is disabled (security reasons)
 | |
| 
 | |
| 		$enable_user_cp	= $paramsC->get( 'enable_user_cp', 0 );
 | |
| 		if ($enable_user_cp == 0) {
 | |
| 			$app->enqueueMessage(Text::_('COM_PHOCAGALLERY_UCP_DISABLED'), 'error');
 | |
| 			$app->redirect( Uri::base(true) );
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		// Category
 | |
| 		$this->registerTask( 'createcategory', 'createcategory' );//
 | |
| 
 | |
| 		// Subcategory
 | |
| 		$this->registerTask( 'createsubcategory', 'createsubcategory' );//
 | |
| 		$this->registerTask( 'editsubcategory', 'editsubcategory' );//
 | |
| 
 | |
| 		$this->registerTask( 'publishsubcat', 'publishsubcat' );//
 | |
| 		$this->registerTask( 'unpublishsubcat', 'unpublishsubcat' );//
 | |
| 		$this->registerTask( 'orderupsubcat', 'ordersubcat' );//
 | |
| 		$this->registerTask( 'orderdownsubcat', 'ordersubcat' );//
 | |
| 		$this->registerTask( 'saveordersubcat', 'saveordersubcat' );//
 | |
| 		$this->registerTask( 'removesubcat', 'removesubcat' );//
 | |
| 
 | |
| 		// Image
 | |
| 		$this->registerTask( 'upload', 'upload' );//
 | |
| 		$this->registerTask( 'javaupload', 'javaupload' );//
 | |
| 		$this->registerTask( 'ytbupload', 'ytbupload' );//
 | |
| 		$this->registerTask( 'uploadavatar', 'uploadavatar' );//
 | |
| 		$this->registerTask( 'editimage', 'editimage' );
 | |
| 
 | |
| 		$this->registerTask( 'publishimage', 'publishimage' );//
 | |
| 		$this->registerTask( 'unpublishimage', 'unpublishimage' );//
 | |
| 		$this->registerTask( 'orderupimage', 'orderimage' );//
 | |
| 		$this->registerTask( 'orderdownimage', 'orderimage' );//
 | |
| 		$this->registerTask( 'saveorderimage', 'saveorderimage' );//
 | |
| 		$this->registerTask( 'removeimage', 'removeimage' );//
 | |
| 
 | |
| 		// Get variables
 | |
| 		$this->_user 				= Factory::getUser();
 | |
| 		$this->_view 				= $this->input->get( 'view', '', 'string' );
 | |
| 		$this->_tab 				= $this->input->get( 'tab', 0, 'int' );
 | |
| 		$this->_limitstartsubcat 	= $this->input->get( 'limitstartsubcat', 0, 'int' );
 | |
| 		$this->_limitstartimage 	= $this->input->get( 'limitstartimage', 0, 'int' );
 | |
| 		$this->_itemid				= $this->input->get( 'Itemid', 0, 'int' );
 | |
| 
 | |
| 		$this->_loginurl			= Route::_('index.php?option=com_users&view=login', false);
 | |
| 		$this->_loginstr			= Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION');
 | |
| 		$this->_url					= 'index.php?option=com_phocagallery&view=user&tab='.$this->_tab.'&Itemid='. $this->_itemid;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	function display($cachable = false, $urlparams = Array()) {
 | |
| 		if ( ! Factory::getApplication()->input->get('view') ) {
 | |
| 			Factory::getApplication()->input->set('view', 'user' );
 | |
| 		}
 | |
| 		parent::display($cachable, $urlparams);
 | |
|     }
 | |
| 
 | |
| 	/*
 | |
| 	 * Handle limitstart (images/subcategories - we are in tab view so both need to be solved at once)
 | |
| 	 */
 | |
| 	function getLimitStartUrl($id = 0, $type = 'subcat', $catid = 0) {
 | |
| 
 | |
| 		$model 					= $this->getModel('user');
 | |
| 		$limitStartUrl			= new CMSObject();
 | |
| 		$limitStartUrl->subcat	= '&limitstartsubcat='.$this->_limitstartsubcat;
 | |
| 		$limitStartUrl->image	= '&limitstartsubcat='.$this->_limitstartimage;
 | |
| 
 | |
| 		if ((int)$id > 0 || (int)$catid > 0) {
 | |
| 			if ($type == 'subcat') {
 | |
| 				$countItem 	= $model->getCountItemSubCat((int)$id, $this->_user->id, (int)$catid);
 | |
| 
 | |
| 				if ($countItem && (int)$countItem[0] == (int)$this->_limitstartsubcat) {
 | |
| 					$this->_limitstartsubcat = 0;
 | |
| 				}
 | |
| 			} else if ($type == 'image') {
 | |
| 				$countItem 	= $model->getCountItemImage((int)$id, $this->_user->id,(int)$catid);
 | |
| 				if ($countItem && (int)$countItem[0] == (int)$this->_limitstartimage) {
 | |
| 					$this->_limitstartimage = 0;
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		if ((int)$this->_limitstartsubcat > 0) {
 | |
| 			$limitStartUrl->subcat	= '&limitstartsubcat='.$this->_limitstartsubcat;
 | |
| 		} else {
 | |
| 			$limitStartUrl->subcat = '';
 | |
| 		}
 | |
| 		if ((int)$this->_limitstartimage > 0) {
 | |
| 			$limitStartUrl->image	= '&limitstartimage='.$this->_limitstartimage;
 | |
| 		} else {
 | |
| 			$limitStartUrl->image = '';
 | |
| 		}
 | |
| 
 | |
| 		return $limitStartUrl;
 | |
| 	}
 | |
| 
 | |
| 	// = = = = = = = = = =
 | |
| 	//
 | |
| 	// CATEGORY
 | |
| 	//
 | |
| 	// = = = = = = = = = =
 | |
| 
 | |
| 	/*
 | |
| 	 * Create, edit
 | |
| 	 */
 | |
| 	function createcategory() {
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 		Session::checkToken() or jexit( 'Invalid Token' );
 | |
| 		$task 						= $this->input->get( 'task', '', 'string' );
 | |
| 		$post['title']				= $this->input->get( 'categoryname', '', 'string'  );
 | |
| 		$post['description']		= $this->input->get( 'phocagallerycreatecatdescription', '', 'string'  );
 | |
| 		$paramsC 					= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$maxCreateCatChar			= $paramsC->get( 'max_create_cat_char', 1000 );
 | |
| 		$enableUserCatApprove 		= (int)$paramsC->get( 'enable_usercat_approve', 0 );
 | |
| 		$default_access 			= $paramsC->get( 'default_access', 1 );
 | |
| 		$default_accessuserid 		= $paramsC->get( 'default_accessuserid', '' );
 | |
| 		if (is_array($default_accessuserid )) {
 | |
| 			$default_accessuserid 		= implode(',', $default_accessuserid);
 | |
| 		}
 | |
| 		$post['description']		= substr($post['description'], 0, (int)$maxCreateCatChar);
 | |
| 		$post['alias'] 				= $post['title'];//PhocaGalleryText::getAliasName($post['title']);
 | |
| 		$post['aliasfolder'] 		= PhocaGalleryText::getAliasName($post['title']);
 | |
| 		$post['approved']			= 0;
 | |
| 		if ($enableUserCatApprove == 0) {
 | |
| 			$post['approved']	= 1;
 | |
| 		}
 | |
| 
 | |
| 		// Lang
 | |
| 		$userLang			= PhocaGalleryUser::getUserLang();
 | |
| 		$post['language']	= $userLang['lang'];
 | |
| 		/*
 | |
| 		switch ($this->t['userucplang']){
 | |
| 
 | |
| 			case 2:
 | |
| 				$registry = new Registry;
 | |
| 				$registry->loadString($user->params);
 | |
| 				$lang = $registry->get('language','*');
 | |
| 				$this->t['userucplangvalue'] = '<input type="hidden" name="language" value="'.$lang.'" />';
 | |
| 			break;
 | |
| 
 | |
| 			case 3:
 | |
| 				$lang = Factory::getLanguage()->getTag();
 | |
| 				$this->t['userucplangvalue'] = '<input type="hidden" name="language" value="*" />';
 | |
| 			break;
 | |
| 
 | |
| 			default:
 | |
| 			case 1:
 | |
| 				$this->t['userucplangvalue'] = '<input type="hidden" name="language" value="*" />';
 | |
| 			break;
 | |
| 		}*/
 | |
| 
 | |
| 		$limitStartUrl			= new CMSObject();
 | |
| 		$limitStartUrl->subcat	= '&limitstartsubcat='.$this->_limitstartsubcat;
 | |
| 		$limitStartUrl->image	= '&limitstartsubcat='.$this->_limitstartimage;
 | |
| 
 | |
| 		$neededAccessLevels	= PhocaGalleryAccess::getNeededAccessLevels();
 | |
| 		$access				= PhocaGalleryAccess::isAccess($this->_user->getAuthorisedViewLevels(), $neededAccessLevels);
 | |
| 
 | |
| 		// user is logged in
 | |
| 		if ($access) {
 | |
| 			if ($post['title'] != '') {
 | |
| 				$model 				= $this->getModel('user');
 | |
| 				// Owner can have only one main category - check it
 | |
| 				$ownerMainCategory	= $model->getOwnerMainCategory($this->_user->id);
 | |
| 				// User has no category, he (she) can create one
 | |
| 				if (!$ownerMainCategory) {
 | |
| 					// - - - - -
 | |
| 					// NEW
 | |
| 					// - - - - -
 | |
| 					$msg = '';
 | |
| 					// Create an user folder on the server
 | |
| 					$this->_userFolder	= PhocaGalleryText::getAliasName($this->_user->username) .'-'.substr($post['aliasfolder'], 0, 10) .'-'. substr(md5(uniqid(time())), 0, 4);
 | |
| 					$errorMsg	= '';
 | |
| 					$createdFolder = PhocaGalleryFileFolder::createFolder($this->_userFolder, $errorMsg);
 | |
| 					if ($errorMsg != '') {
 | |
| 						$msg = Text::_('COM_PHOCAGALLERY_ERROR_FOLDER_CREATING'). ': ' . Text::_($errorMsg);
 | |
| 					}
 | |
| 					// -----------------------------------
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 					// Folder Created, all right
 | |
| 					if ($msg == '') {
 | |
| 						// Set default values
 | |
| 						$post['access'] 		= (int)$default_access;
 | |
| 						$post['accessuserid']	= $default_accessuserid;
 | |
| 						//$post['access'] 		= 1;
 | |
| 						$post['parent_id'] 		= 0;
 | |
| 						$post['image_position']	= 'left';
 | |
| 						$post['published']		= 1;
 | |
| 						$post['uploaduserid']	= $this->_user->id;
 | |
| 						$post['deleteuserid']	= $this->_user->id;
 | |
| 						$post['userfolder']		= $this->_userFolder;
 | |
| 						$post['owner_id']		= $this->_user->id;
 | |
| 
 | |
| 
 | |
| 
 | |
| 						// Create new category
 | |
| 						$id	= $model->store($post);
 | |
| 						if ($id && $id > 0) {
 | |
| 							$msg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_CATEGORY' );
 | |
| 
 | |
| 							$errUploadMsg = '';
 | |
| 							$succeeded = '';
 | |
| 							PhocaGalleryControllerUser::saveUser('', $succeeded, $errUploadMsg);
 | |
| 							//$msg .= '<br />' . $errUploadMsg;
 | |
| 
 | |
| 						} else {
 | |
| 							$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_CATEGORY' );
 | |
| 						}
 | |
| 					}
 | |
| 				} else {
 | |
| 					if ($post['title'] != '') {
 | |
| 						// - - - - -
 | |
| 						// EDIT
 | |
| 						// - - - - -
 | |
| 						$post['id']	= $ownerMainCategory->id;
 | |
| 						$id			= $model->store($post);
 | |
| 						if ($id && $id > 0) {
 | |
| 							$msg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_CATEGORY' );
 | |
| 						} else {
 | |
| 							$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_CATEGORY' );
 | |
| 						}
 | |
| 					}
 | |
| 				}
 | |
| 			} else {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_TITLE' );
 | |
| 			}
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 		} else {
 | |
| 			$app	= Factory::getApplication();
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	// = = = = = = = = = =
 | |
| 	//
 | |
| 	// SUBCATEGORY
 | |
| 	//
 | |
| 	// = = = = = = = = = =
 | |
| 	function publishsubcat() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory((int)$this->_user->id, (int)$id);
 | |
| 		$id			 		= (int)$id;
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if(!$model->publishsubcat((int)$id, 1)) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_ERROR_PUBLISHING_CATEGORY');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_PUBLISHING_CATEGORY');
 | |
| 			}
 | |
| 		} else {
 | |
| 			$app	= Factory::getApplication();
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl((int)$id, 'subcat');
 | |
| 		$app	= Factory::getApplication();
 | |
| 		$app->enqueueMessage($msg);
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function unpublishsubcat() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory((int)$this->_user->id, (int)$id);
 | |
| 		$id			 		= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if(!$model->publishsubcat((int)$id, 0)) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_ERROR_UNPUBLISHING_CATEGORY');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_UNPUBLISHING_CATEGORY');
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl((int)$id, 'subcat');
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function ordersubcat() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$task 				= $this->input->get( 'task', '', 'string' );
 | |
| 		$model 				= $this->getModel( 'user' );
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory((int)$this->_user->id, (int)$id);
 | |
| 		$id			 		= (int)$id;
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if ($task == 'orderupsubcat') {
 | |
| 				$model->movesubcat(-1, (int)$id);
 | |
| 			} else if ($task == 'orderdownsubcat') {
 | |
| 				$model->movesubcat(1, (int)$id);
 | |
| 			}
 | |
| 		} else {
 | |
| 			$app	= Factory::getApplication();
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 		$limitStartUrl = $this->getLimitStartUrl((int)$id, 'subcat');
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function saveordersubcat() {
 | |
| 		$cid 			= $this->input->get( 'cid', array(), 'array' );
 | |
| 		$order 			= $this->input->get( 'order', array(), 'array' );
 | |
| 		$model 			= $this->getModel( 'user' );
 | |
| 		$app	= Factory::getApplication();
 | |
| 		\Joomla\Utilities\ArrayHelper::toInteger($cid);
 | |
| 		\Joomla\Utilities\ArrayHelper::toInteger($order);
 | |
| 
 | |
| 		$model->saveordersubcat($cid, $order);
 | |
| 		$msg = Text::_( 'COM_PHOCAGALLERY_NEW_ORDERING_SAVED' );
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 	}
 | |
| 
 | |
| 	function removesubcat() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory((int)$this->_user->id, (int)$id);
 | |
| 		$isOwnerAndParentCategory 	= $model->isOwnerCategorySubCat((int)$this->_user->id, (int)$id);
 | |
| 		$errorMsg = '';
 | |
| 		$id 				= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if(!$model->delete((int)$id, $errorMsg)) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_ERROR_DELETING_CATEGORY');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_DELETING_CATEGORY');
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		if ($errorMsg != '') {
 | |
| 			$msg .= '<br />'.$errorMsg;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl(0, 'subcat', (int)$isOwnerAndParentCategory );
 | |
| 		$app->enqueueMessage($msg );
 | |
| 
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 	}
 | |
| 
 | |
| 	function createsubcategory() {
 | |
| 
 | |
| 		Session::checkToken() or jexit( 'Invalid Token' );
 | |
| 		$task 						= $this->input->get( 'task', '', 'string' );
 | |
| 		$post['title']				= $this->input->get( 'subcategoryname', '', 'string'  );
 | |
| 		$post['description']		= $this->input->get( 'phocagallerycreatesubcatdescription', '', 'string'  );
 | |
| 		$post['parent_id']			= $this->input->get( 'parentcategoryid', 0, 'int' );
 | |
| 		$paramsC 					= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$maxCreateCatChar			= $paramsC->get( 'max_create_cat_char', 1000 );
 | |
| 		$enableUserSubCatApprove	= $paramsC->get( 'enable_usersubcat_approve', 0 );
 | |
| 		$default_access 			= $paramsC->get( 'default_access', 1 );
 | |
| 		$default_accessuserid 		= $paramsC->get( 'default_accessuserid', '' );
 | |
| 		if (is_array($default_accessuserid )) {
 | |
| 			$default_accessuserid 		= implode(',', $default_accessuserid);
 | |
| 		}
 | |
| 		$post['description']		= substr($post['description'], 0, (int)$maxCreateCatChar);
 | |
| 		$post['alias'] 				= $post['title'];//PhocaGalleryText::getAliasName($post['title']);
 | |
| 		$model 						= $this->getModel('user');
 | |
| 		$userSubCatCount			= $paramsC->get( 'user_subcat_count', 5 );
 | |
| 		$post['approved']			= 0;
 | |
| 		if ($enableUserSubCatApprove == 0) {
 | |
| 			$post['approved']	= 1;
 | |
| 		}
 | |
| 
 | |
| 		// Lang
 | |
| 		$userLang			= PhocaGalleryUser::getUserLang();
 | |
| 		$post['language']	= $userLang['lang'];
 | |
| 
 | |
| 		$neededAccessLevels	= PhocaGalleryAccess::getNeededAccessLevels();
 | |
| 		$access				= PhocaGalleryAccess::isAccess($this->_user->getAuthorisedViewLevels(), $neededAccessLevels);
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 		// USER IS NOT LOGGED
 | |
| 		if (!$access) {
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 
 | |
| 		if ((int)$post['parent_id'] < 1) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_SELECTED' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$isOwnerCategory 			= $model->isOwnerCategory($this->_user->id, (int)$post['parent_id']);
 | |
| 		$limitStartUrl 				= $this->getLimitStartUrl(0, 'subcat', (int)$isOwnerCategory );
 | |
| 		if(!$isOwnerCategory) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_ASSIGNED_TO_USER' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$subCatCount = $model->getCountUserSubCat($this->_user->id);
 | |
| 		$subCatCount = (int)$subCatCount + 1;
 | |
| 		if ((int)$subCatCount > (int)$userSubCatCount) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_MAX_SUBCAT_COUNT_REACHED' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$ownerMainCategory	= $model->getOwnerMainCategory($this->_user->id);
 | |
| 		if (!$ownerMainCategory) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_MAIN_CATEGORY_NOT_CREATED');
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 		}
 | |
| 
 | |
| 		if ($post['title'] != '') {
 | |
| 
 | |
| 			$post['access'] 		= (int)$default_access;
 | |
| 			$post['accessuserid']	= $default_accessuserid;
 | |
| 			$post['image_position']	= 'left';
 | |
| 			$post['published']		= 1;
 | |
| 			$post['uploaduserid']	= $this->_user->id;
 | |
| 			$post['deleteuserid']	= $this->_user->id;
 | |
| 			$post['userfolder']		= $ownerMainCategory->userfolder;
 | |
| 			$post['owner_id']		= $this->_user->id;
 | |
| 			$id						= $model->store($post);
 | |
| 			if ($id && $id > 0) {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_CREATING_CATEGORY' );
 | |
| 			} else {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_CREATING_CATEGORY' );
 | |
| 			}
 | |
| 		} else {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_TITLE' );
 | |
| 		}
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function editsubcategory() {
 | |
| 
 | |
| 		Session::checkToken() or jexit( 'Invalid Token' );
 | |
| 		$task 						= $this->input->get( 'task', '', 'string' );
 | |
| 		$post['title']				= $this->input->get( 'subcategoryname', '', 'string'  );
 | |
| 		$post['description']		= $this->input->get( 'phocagallerycreatesubcatdescription', '', 'string'  );
 | |
| 		//$post['parent_id']			= $this->input->get( 'parentcategoryid', 0, 'int' );
 | |
| 		$post['id']					= $this->input->get( 'id', 0, 'int' );
 | |
| 		$paramsC 					= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$maxCreateCatChar			= $paramsC->get( 'max_create_cat_char', 1000 );
 | |
| 		$post['description']		= substr($post['description'], 0, (int)$maxCreateCatChar);
 | |
| 		$post['alias'] 				= $post['title'];//PhocaGalleryText::getAliasName($post['title']);
 | |
| 		$model 						= $this->getModel('user');
 | |
| 
 | |
| 		// Lang
 | |
| 		$userLang			= PhocaGalleryUser::getUserLang();
 | |
| 		$post['language']	= $userLang['lang'];
 | |
| 
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 
 | |
| 		$neededAccessLevels	= PhocaGalleryAccess::getNeededAccessLevels();
 | |
| 		$access				= PhocaGalleryAccess::isAccess($this->_user->getAuthorisedViewLevels(), $neededAccessLevels);
 | |
| 
 | |
| 		// USER IS NOT LOGGED
 | |
| 		if (!$access) {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$isOwnerCategory = $model->isOwnerCategory($this->_user->id, (int)$post['id']);
 | |
| 		if(!$isOwnerCategory) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_ASSIGNED_TO_USER' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		if ((int)$post['id'] < 1) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_SELECTED' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$ownerMainCategory	= $model->getOwnerMainCategory($this->_user->id);
 | |
| 		if (!$ownerMainCategory) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_MAIN_CATEGORY_NOT_CREATED');
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 		}
 | |
| 
 | |
| 		if ($post['title'] != '') {
 | |
| 
 | |
| 			$id	= $model->store($post);
 | |
| 			if ($id && $id > 0) {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_CATEGORY' );
 | |
| 			} else {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_CATEGORY' );
 | |
| 			}
 | |
| 		} else {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_TITLE' );
 | |
| 		}
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	// = = = = = = = = = =
 | |
| 	//
 | |
| 	// USER - Upload Avatar
 | |
| 	//
 | |
| 	// = = = = = = = = = =
 | |
| 
 | |
| 	function uploadavatar() {
 | |
| 		$app	= Factory::getApplication();
 | |
| 		$errUploadMsg	= '';
 | |
| 	    $redirectUrl 	= '';
 | |
| 		$fileArray 		= $app->input->files->get('Filedata', null);
 | |
| 		$this->_singleFileUploadAvatar($errUploadMsg, $fileArray, $redirectUrl);
 | |
| 		$app->enqueueMessage($errUploadMsg);
 | |
| 		$app->redirect($redirectUrl);
 | |
| 		exit;
 | |
| 	}
 | |
| 
 | |
| 	function _singleFileUploadAvatar(&$errUploadMsg, $file, &$redirectUrl) {
 | |
| 		$app	= Factory::getApplication();
 | |
| 		Session::checkToken( 'request' ) or jexit( 'Invalid Token' );
 | |
| 		jimport('joomla.client.helper');
 | |
| 		$ftp 		= ClientHelper::setCredentialsFromRequest('ftp');
 | |
| 		$path		= PhocaGalleryPath::getPath();
 | |
| 		$format		= $this->input->get( 'format', 'html', 'cmd');
 | |
| 		$return		= $this->input->get( 'return-url', null, 'base64' );
 | |
| 		$viewBack	= $this->input->get( 'viewback', '', 'string' );
 | |
| 		$view 		= $this->input->get( 'view', '', 'string' );
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 
 | |
| 		$limitStartUrl 	= $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$return			= Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false);
 | |
| 
 | |
| 		$enableUploadAvatar = (int)$paramsC->get( 'enable_upload_avatar', 1 );
 | |
| 		if ($enableUploadAvatar != 1) {
 | |
| 			$errUploadMsg = Text::_('COM_PHOCAGALLERY_NOT_ABLE_UPLOAD_AVATAR');
 | |
| 			$redirectUrl = $return;
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		if (isset($file['name'])) {
 | |
| 			$fileAvatar = md5(uniqid(time())) . '.' . File::getExt($file['name']);
 | |
| 			$filepath 	= Path::clean($path->avatar_abs . '/'. $fileAvatar);
 | |
| 
 | |
| 			if (!PhocaGalleryFileUpload::canUpload( $file, $errUploadMsg )) {
 | |
| 				if ($errUploadMsg == 'COM_PHOCAGALLERY_WARNING_FILE_TOOLARGE') {
 | |
| 						$errUploadMsg 	= Text::_($errUploadMsg) . ' ('.PhocaGalleryFile::getFileSizeReadable($file['size']).')';
 | |
| 					} else if ($errUploadMsg == 'COM_PHOCAGALLERY_WARNING_FILE_TOOLARGERESOLUTION') {
 | |
| 						$imgSize		= PhocaGalleryImage::getImageSize($file['tmp_name']);
 | |
| 						$errUploadMsg 	= Text::_($errUploadMsg) . ' ('.(int)$imgSize[0].' x '.(int)$imgSize[1].' px)';
 | |
| 					} else {
 | |
| 						$errUploadMsg 	= Text::_($errUploadMsg);
 | |
| 					}
 | |
| 					$redirectUrl 	= $return;
 | |
| 					return false;
 | |
| 			}
 | |
| 
 | |
| 			if (!File::upload($file['tmp_name'], $filepath, false, true)) {
 | |
| 				$errUploadMsg = Text::_('COM_PHOCAGALLERY_FILE_UNABLE_UPLOAD');
 | |
| 				$redirectUrl = $return;
 | |
| 				return false;
 | |
| 			} else {
 | |
| 				$redirectUrl 	= $return;
 | |
| 				//Create thumbnail small, medium, large (Delete previous before)
 | |
| 				PhocaGalleryFileThumbnail::deleteFileThumbnail ('avatars/'.$fileAvatar, 1,1,1);
 | |
| 				$returnFrontMessage = PhocaGalleryFileThumbnail::getOrCreateThumbnail('avatars/'.$fileAvatar, $return, 1, 1, 1, 1);
 | |
| 				if ($returnFrontMessage != 'Success') {
 | |
| 					$errUploadMsg = Text::_('COM_PHOCAGALLERY_THUMBNAIL_AVATAR_NOT_CREATED');
 | |
| 					return false;
 | |
| 				}
 | |
| 
 | |
| 				// Saving file name into database with relative path
 | |
| 				$succeeded 		= false;
 | |
| 				PhocaGalleryControllerUser::saveUser($fileAvatar, $succeeded, $errUploadMsg);
 | |
| 				$redirectUrl 	= $return;
 | |
| 				return $succeeded;
 | |
| 			}
 | |
| 		} else {
 | |
| 			$errUploadMsg = Text::_('COM_PHOCAGALLERY_WARNING_FILETYPE');
 | |
| 			$redirectUrl = $return;
 | |
| 			return false;
 | |
| 		}
 | |
| 		return false;
 | |
| 	}
 | |
| 
 | |
| 	function saveUser($fileAvatar, &$succeeded, &$errSaveMsg) {
 | |
| 
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 
 | |
| 		$post['avatar']			= $fileAvatar;
 | |
| 		$post['userid']			= (int)$this->_user->id;
 | |
| 		$post['published']		= 1;
 | |
| 		$post['approved']		= 0;
 | |
| 		$enableAvatarApprove = (int)$paramsC->get( 'enable_avatar_approve', 0 );
 | |
| 		if ($enableAvatarApprove == 0) {
 | |
| 			$post['approved']	= 1;
 | |
| 		}
 | |
| 		if ($fileAvatar != '') {
 | |
| 			$new = 1;
 | |
| 		}
 | |
| 
 | |
| 		$model = $this->getModel( 'user' );
 | |
| 
 | |
| 		$userAvatar = $model->getUserAvatar($post['userid']);
 | |
| 		if($userAvatar) {
 | |
| 			$post['id']				= $userAvatar->id;
 | |
| 			if (isset($userAvatar->avatar) && $userAvatar->avatar != '' && $fileAvatar == '') {
 | |
| 				// No new avatar - set the old one
 | |
| 				$post['avatar']		= $userAvatar->avatar;
 | |
| 				$new = 0;
 | |
| 			} else if (isset($userAvatar->avatar) && $userAvatar->avatar != '' && $fileAvatar != '') {
 | |
| 				// New avatar loaded - try to delete the old one from harddisc (server)
 | |
| 				$model->removeAvatarFromDisc($userAvatar->avatar);
 | |
| 				$new = 1;
 | |
| 			}
 | |
| 			$post['published']		= $userAvatar->published;
 | |
| 			$post['approved']		= $userAvatar->approved;
 | |
| 		}
 | |
| 
 | |
| 		if ($model->storeuser($post)) {
 | |
| 			$succeeded = true;
 | |
| 			$errSaveMsg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_AVATAR' );
 | |
| 			// Features added by Bernard Gilly - alphaplug.com
 | |
| 			// load external plugins
 | |
| 			if ( isset($new) && $new ){
 | |
| 				//$dispatcher = JDispatcher::getInstance();
 | |
| 				PluginHelper::importPlugin('phocagallery');
 | |
| 				$results = Factory::getApplication()->triggerEvent('onUploadAvatar', array() );
 | |
| 			}
 | |
| 		} else {
 | |
| 			$succeeded = false;
 | |
| 			$errSaveMsg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_AVATAR' );
 | |
| 		}
 | |
| 
 | |
| 		return $succeeded;
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	function javaupload() {
 | |
| 
 | |
| 		Session::checkToken( 'request' ) or exit( 'ERROR: '. Text::_('COM_PHOCAGALLERY_INVALID_TOKEN'));
 | |
| 
 | |
| 		jimport('joomla.client.helper');
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$ftp 		= ClientHelper::setCredentialsFromRequest('ftp');
 | |
| 		$user 		= Factory::getUser();
 | |
| 		$path		= PhocaGalleryPath::getPath();
 | |
| 		//$folder		= $this->input->get( 'folder', '', '', 'path' );
 | |
| 		$tab		= $this->input->get( 'tab', 0, 'int' );
 | |
| 		$format		= $this->input->get( 'format', 'html', 'cmd');
 | |
| 		$return		= $this->input->get( 'return-url', null, 'base64' );
 | |
| 		$viewBack	= $this->input->get( 'viewback', '', 'string' );
 | |
| 		$catid 		= $this->input->get( 'catid', 0, 'string'  );
 | |
| 		$Itemid		= $this->input->get( 'Itemid', 0, 'int');
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$limitStartUrl 	= $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$return			= Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false);
 | |
| 		$redirectUrl	= $return;
 | |
| 		$catid			= (int)$catid;
 | |
| 		if ((int)$catid < 1) {
 | |
| 			exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_PLEASE_SELECT_CATEGORY'));
 | |
| 		}
 | |
| 
 | |
| 		// Get user catid, we are not in the category, so we must find the catid
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory($this->_user->id, $catid);
 | |
| 
 | |
| 
 | |
| 		if (!$isOwnerCategory) {
 | |
| 			exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'));
 | |
| 		}
 | |
| 
 | |
| 		// USER RIGHT - UPLOAD - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$rightDisplayUpload	= 0;
 | |
| 
 | |
| 		$catAccess	= PhocaGalleryAccess::getCategoryAccess((int)$catid);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $catAccess->uploaduserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 		// USER RIGHT - FOLDER - - - - - - - - - - - -
 | |
| 		$rightFolder = '';
 | |
| 		if (isset($catAccess->userfolder)) {
 | |
| 			$rightFolder = $catAccess->userfolder;
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayUpload == 1) {
 | |
| 
 | |
| 			if ($rightFolder == '') {
 | |
| 				exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_DEFINED'));
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (!Folder::exists($path->image_abs . $rightFolder . '/')) {
 | |
| 				exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_EXISTS'));
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 			// Sending and setting data for common realsingleupload function
 | |
| 			Factory::getApplication()->input->set('folder', $rightFolder);//Set the right path for uploaded image (category folder included)
 | |
| 			Factory::getApplication()->input->set('return-url', base64_encode($return));// set return url
 | |
| 			$fileName = PhocaGalleryFileUpload::realJavaUpload(2);
 | |
| 
 | |
| 			if ($fileName != '') {
 | |
| 				// Saving file name into database with relative path
 | |
| 				$fileName		= $rightFolder . '/' . strtolower($fileName);
 | |
| 				if(PhocaGalleryControllerUser::save((int)$catid, $fileName, false, $succeeded, $errUploadMsg, false)) {
 | |
| 					//$app->enqueueMessage(JText::_('COM_PHOCAGALLERY_SUCCESS_FILE_UPLOAD'));
 | |
| 					exit( 'SUCCESS');
 | |
| 					return true;
 | |
| 				} else {
 | |
| 					exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_ERROR_UNABLE_TO_UPLOAD_FILE'));
 | |
| 					return false;
 | |
| 				}
 | |
| 			}
 | |
| 		} else {
 | |
| 			exit( 'ERROR: '.Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'));
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function upload() {
 | |
| 
 | |
| 		jimport('joomla.client.helper');
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$ftp 		= ClientHelper::setCredentialsFromRequest('ftp');
 | |
| 		$user 		= Factory::getUser();
 | |
| 		$path		= PhocaGalleryPath::getPath();
 | |
| 		//$folder		= $this->input->get( 'folder', '', '', 'path' );
 | |
| 		$tab		= $this->input->get( 'tab', 0, 'int' );
 | |
| 		$format		= $this->input->get( 'format', 'html', 'cmd');
 | |
| 		$return		= $this->input->get( 'return-url', null, 'base64' );
 | |
| 		$viewBack	= $this->input->get( 'viewback', '', '' );
 | |
| 		$catid 		= $this->input->get( 'catid', 0, 'string'  );
 | |
| 		$Itemid		= $this->input->get( 'Itemid', 0, 'int');
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$limitStartUrl 	= $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$return			= Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false);
 | |
| 		$redirectUrl	= $return;
 | |
| 		$catid			= (int)$catid;
 | |
| 		if ((int)$catid < 1) {
 | |
| 			$app->enqueueMessage(Text::_('COM_PHOCAGALLERY_PLEASE_SELECT_CATEGORY'), 'error');
 | |
| 			$app->redirect($redirectUrl);
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		// Get user catid, we are not in the category, so we must find the catid
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory($this->_user->id, $catid);
 | |
| 
 | |
| 
 | |
| 		if (!$isOwnerCategory) {
 | |
| 			$app->enqueueMessage(Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'), 'error');
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		// USER RIGHT - UPLOAD - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$rightDisplayUpload	= 0;
 | |
| 
 | |
| 		$catAccess	= PhocaGalleryAccess::getCategoryAccess((int)$catid);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $catAccess->uploaduserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 		// USER RIGHT - FOLDER - - - - - - - - - - - -
 | |
| 		$rightFolder = '';
 | |
| 		if (isset($catAccess->userfolder)) {
 | |
| 			$rightFolder = $catAccess->userfolder;
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayUpload == 1) {
 | |
| 
 | |
| 			if ($rightFolder == '') {
 | |
| 				$errUploadMsg = Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_DEFINED');
 | |
| 
 | |
| 				$app->enqueueMessage($errUploadMsg);
 | |
| 				$app->redirect($redirectUrl);
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (!Folder::exists($path->image_abs . $rightFolder . '/')) {
 | |
| 				$errUploadMsg = Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_EXISTS');
 | |
| 				$app->enqueueMessage($errUploadMsg);
 | |
| 				$app->redirect($redirectUrl);
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 
 | |
| 			// Sending and setting data for common realsingleupload function
 | |
| 			Factory::getApplication()->input->set('folder', $rightFolder);//Set the right path for uploaded image (category folder included)
 | |
| 			Factory::getApplication()->input->set('return-url', base64_encode($return));// set return url
 | |
| 			$fileName = PhocaGalleryFileUpload::realSingleUpload(2);
 | |
| 
 | |
| 			if ($fileName != '') {
 | |
| 				// Saving file name into database with relative path
 | |
| 				$fileName		= $rightFolder . '/' . strtolower($fileName);
 | |
| 				if(PhocaGalleryControllerUser::save((int)$catid, $fileName, $return, $succeeded, $errUploadMsg, false)) {
 | |
| 					$app->enqueueMessage($errUploadMsg);
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return true;
 | |
| 				} else {
 | |
| 					$app->enqueueMessage($errUploadMsg);
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return false;
 | |
| 				}
 | |
| 			}
 | |
| 		} else {
 | |
| 			$errUploadMsg = Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION');
 | |
| 			$app->enqueueMessage($errUploadMsg);
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	function ytbupload() {
 | |
| 
 | |
| 		jimport('joomla.client.helper');
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$ftp 		= ClientHelper::setCredentialsFromRequest('ftp');
 | |
| 		$user 		= Factory::getUser();
 | |
| 		$path		= PhocaGalleryPath::getPath();
 | |
| 		//$folder		= $this->input->get( 'folder', '', '', 'path' );
 | |
| 		$tab		= $this->input->get( 'tab', 0, 'int' );
 | |
| 		$format		= $this->input->get( 'format', 'html', 'cmd');
 | |
| 		$return		= $this->input->get( 'return-url', null, 'base64' );
 | |
| 		$viewBack	= $this->input->get( 'viewback', '', '' );
 | |
| 		$catid 		= $this->input->get( 'catid', 0, 'string'  );
 | |
| 		$Itemid		= $this->input->get( 'Itemid', 0, 'int');
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$limitStartUrl 	= $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$return			= Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false);
 | |
| 		$redirectUrl	= $return;
 | |
| 		$catid			= (int)$catid;
 | |
| 		if ((int)$catid < 1) {
 | |
| 			$app->enqueueMessage( Text::_('COM_PHOCAGALLERY_PLEASE_SELECT_CATEGORY') );
 | |
| 			$app->redirect($redirectUrl);
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		// Get user catid, we are not in the category, so we must find the catid
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory($this->_user->id, $catid);
 | |
| 
 | |
| 
 | |
| 		if (!$isOwnerCategory) {
 | |
| 			$app->enqueueMessage(Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION') );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		// USER RIGHT - UPLOAD - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$rightDisplayUpload	= 0;
 | |
| 
 | |
| 		$catAccess	= PhocaGalleryAccess::getCategoryAccess((int)$catid);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $catAccess->uploaduserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 		// USER RIGHT - FOLDER - - - - - - - - - - - -
 | |
| 		$rightFolder = '';
 | |
| 		if (isset($catAccess->userfolder)) {
 | |
| 			$rightFolder = $catAccess->userfolder;
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayUpload == 1) {
 | |
| 
 | |
| 			if ($rightFolder == '') {
 | |
| 				$errUploadMsg = Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_DEFINED');
 | |
| 				$app->enqueueMessage($errUploadMsg );
 | |
| 				$app->redirect($redirectUrl);
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (!Folder::exists($path->image_abs . $rightFolder . '/')) {
 | |
| 				$errUploadMsg = Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_EXISTS');
 | |
| 				$app->enqueueMessage($errUploadMsg );
 | |
| 				$app->redirect($redirectUrl);
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 
 | |
| 			// Sending and setting data for common realsingleupload function
 | |
| 			Factory::getApplication()->input->set('folder', $rightFolder);//Set the right path for uploaded image (category folder included)
 | |
| 			Factory::getApplication()->input->set('return-url', base64_encode($return));// set return url
 | |
| 			//$fileName = PhocaGalleryFileUpload::realSingleUpload(2);
 | |
| 
 | |
| 
 | |
| 			$ytbLink	= $this->input->get( 'phocagalleryytbuploadlink', '', 'post', 'string');
 | |
| 			$errorYtbMsg	= '';
 | |
| 			$ytbData	= PhocaGalleryYoutube::importYtb($ytbLink, $rightFolder . '/', $errorYtbMsg);
 | |
| 
 | |
| 
 | |
| 			if ($ytbData && isset($ytbData['filename'])) {
 | |
| 				if(PhocaGalleryControllerUser::save((int)$catid, $ytbData['filename'], $return, $succeeded, $errUploadMsg, false, $ytbData)) {
 | |
| 					$app->enqueueMessage($errUploadMsg );
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return true;
 | |
| 				} else {
 | |
| 					$app->enqueueMessage($errUploadMsg );
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return false;
 | |
| 				}
 | |
| 			} else {
 | |
| 				$app->enqueueMessage($errorYtbMsg );
 | |
| 				$app->redirect($redirectUrl);
 | |
| 				return false;
 | |
| 
 | |
| 			}
 | |
| 			if ($fileName != '') {
 | |
| 				// Saving file name into database with relative path
 | |
| 				$fileName		= $rightFolder . '/' . strtolower($fileName);
 | |
| 				if(PhocaGalleryControllerUser::save((int)$catid, $fileName, $return, $succeeded, $errUploadMsg, false)) {
 | |
| 					$app->enqueueMessage($errUploadMsg );
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return true;
 | |
| 				} else {
 | |
| 					$app->enqueueMessage($errUploadMsg );
 | |
| 					$app->redirect($redirectUrl);
 | |
| 					return false;
 | |
| 				}
 | |
| 			}
 | |
| 		} else {
 | |
| 			$errUploadMsg = Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION');
 | |
| 			$app->enqueueMessage($msg, Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'));
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function multipleupload() {
 | |
| 
 | |
| 		$app 	= Factory::getApplication();
 | |
| 		$app->allowCache(false);
 | |
| 
 | |
| 		// Chunk Files
 | |
| 		header('Content-type: text/plain; charset=UTF-8');
 | |
| 		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
 | |
| 		header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
 | |
| 		header("Cache-Control: no-store, no-cache, must-revalidate");
 | |
| 		header("Cache-Control: post-check=0, pre-check=0", false);
 | |
| 		header("Pragma: no-cache");
 | |
| 
 | |
| 		// Invalid Token
 | |
| 		Session::checkToken( 'request' ) or jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 100,
 | |
| 		'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 		'details' => Text::_('COM_PHOCAGALLERY_INVALID_TOKEN'))));
 | |
| 
 | |
| 		jimport('joomla.client.helper');
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$ftp 		= ClientHelper::setCredentialsFromRequest('ftp');
 | |
| 		$user 		= Factory::getUser();
 | |
| 		$path		= PhocaGalleryPath::getPath();
 | |
| 		//$folder		= $this->input->get( 'folder', '', '', 'path' );
 | |
| 		$tab		= $this->input->get( 'tab', 0, 'int' );
 | |
| 		$format		= $this->input->get( 'format', 'html', 'cmd');
 | |
| 		$return		= $this->input->get( 'return-url', null, 'base64' );
 | |
| 		$viewBack	= $this->input->get( 'viewback', '', '' );
 | |
| 		$catid 		= $this->input->get( 'catid', 0, 'string'  );
 | |
| 		$Itemid		= $this->input->get( 'Itemid', 0, 'int');
 | |
| 		$paramsC 	= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$limitStartUrl 	= $this->getLimitStartUrl(0, 'subcat');
 | |
| 		$return			= Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false);
 | |
| 		$redirectUrl	= $return;
 | |
| 		$catid			= (int)$catid;
 | |
| 		if ((int)$catid < 1) {
 | |
| 			jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 			'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 			'details' => Text::_('COM_PHOCAGALLERY_PLEASE_SELECT_CATEGORY'))));
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		// Get user catid, we are not in the category, so we must find the catid
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategory($this->_user->id, $catid);
 | |
| 
 | |
| 
 | |
| 		if (!$isOwnerCategory) {
 | |
| 			jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 			'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 			'details' => Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'))));
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		// USER RIGHT - UPLOAD - - - - - - - - - - -
 | |
| 		// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 		$rightDisplayUpload	= 0;
 | |
| 
 | |
| 		$catAccess	= PhocaGalleryAccess::getCategoryAccess((int)$catid);
 | |
| 		if (!empty($catAccess)) {
 | |
| 			$rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $catAccess->uploaduserid, 2, $this->_user->getAuthorisedViewLevels(), $this->_user->get('id', 0), 0);
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 		// USER RIGHT - FOLDER - - - - - - - - - - - -
 | |
| 		$rightFolder = '';
 | |
| 		if (isset($catAccess->userfolder)) {
 | |
| 			$rightFolder = $catAccess->userfolder;
 | |
| 		}
 | |
| 		// - - - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		if ($rightDisplayUpload == 1) {
 | |
| 
 | |
| 			if ($rightFolder == '') {
 | |
| 				jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 				'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 				'details' => Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_DEFINED'))));
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (!Folder::exists($path->image_abs . $rightFolder . '/')) {
 | |
| 				jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 				'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 				'details' => Text::_('COM_PHOCAGALLERY_USER_FOLDER_NOT_EXISTS'))));
 | |
| 				return false;
 | |
| 			}
 | |
| 
 | |
| 			// Sending and setting data for common realsingleupload function
 | |
| 			Factory::getApplication()->input->set('folder', $rightFolder);//Set the right path for uploaded image (category folder included)
 | |
| 			Factory::getApplication()->input->set('return-url', base64_encode($return));// set return url
 | |
| 			$fileName = PhocaGalleryFileUpload::realMultipleUpload(2);
 | |
| 
 | |
| 			if ($fileName != '') {
 | |
| 				// Saving file name into database with relative path
 | |
| 				$fileName		= $rightFolder . '/' . strtolower($fileName);
 | |
| 				if(PhocaGalleryControllerUser::save((int)$catid, $fileName, false, $succeeded, $errUploadMsg, false)) {
 | |
| 					jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'OK', 'code' => 200,
 | |
| 					'message' => Text::_('COM_PHOCAGALERY_SUCCESS').': ',
 | |
| 					'details' => Text::_('COM_PHOCAGALLERY_IMAGES_UPLOADED'))));
 | |
| 					return true;
 | |
| 				} else {
 | |
| 					jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 					'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 					'details' => Text::_('COM_PHOCAGALLERY_ERROR_UNABLE_TO_UPLOAD_FILE'))));
 | |
| 					return false;
 | |
| 				}
 | |
| 			}
 | |
| 		} else {
 | |
| 			jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
 | |
| 			'message' => Text::_('COM_PHOCAGALLERY_ERROR').': ',
 | |
| 			'details' => Text::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION'))));
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	function save($catid, $filename, $return, &$succeeded, &$errSaveMsg, $redirect=true, $ytbData = array()) {
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 		$user 	= Factory::getUser();
 | |
| 
 | |
| 		$post['filename']		= $filename;
 | |
| 		if (isset($ytbData['link'])) {
 | |
| 			$post['videocode']	= $ytbData['link'];
 | |
| 		}
 | |
| 		if (isset($ytbData['title'])) {
 | |
| 			$post['title']	= $ytbData['title'];
 | |
| 		} else {
 | |
| 			$post['title']			= $this->input->get( 'phocagalleryuploadtitle', '', 'string' );
 | |
| 		}
 | |
| 		if (isset($ytbData['desc'])) {
 | |
| 			$post['description']	= $ytbData['desc'];
 | |
| 		} else {
 | |
| 			$post['description']	= $this->input->get( 'phocagalleryuploaddescription', '', 'string' );
 | |
| 		}
 | |
| 		$post['catid']			= $catid;
 | |
| 		$post['published']		= 1;
 | |
| 
 | |
| 		// Lang
 | |
| 		$userLang			= PhocaGalleryUser::getUserLang();
 | |
| 		$post['language']	= $userLang['lang'];
 | |
| 
 | |
| 		$post['userid']		= $user->id;
 | |
| 
 | |
| 		$paramsC 				= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$maxUploadChar			= $paramsC->get( 'max_upload_char', 1000 );
 | |
| 		if (isset($ytbData['desc'])) {
 | |
| 		} else {
 | |
| 			$post['description']	= substr($post['description'], 0, (int)$maxUploadChar);
 | |
| 		}
 | |
| 		$enableUserImageApprove = (int)$paramsC->get( 'enable_userimage_approve', 0 );
 | |
| 
 | |
| 		$post['approved']			= 0;
 | |
| 		if ($enableUserImageApprove == 0) {
 | |
| 			$post['approved']	= 1;
 | |
| 		}
 | |
| 
 | |
| 		$model = $this->getModel( 'user' );
 | |
| 
 | |
| 		if ($model->storeimage($post, $return)) {
 | |
| 			$succeeded = true;
 | |
| 			$errSaveMsg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_ITEM' );
 | |
| 		} else {
 | |
| 			$succeeded = false;
 | |
| 			$errSaveMsg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_ITEM' );
 | |
| 		}
 | |
| 
 | |
| 		if ($redirect) {
 | |
| 			$app->enqueueMessage($errSaveMsg );
 | |
| 			$app->redirect($return, $errSaveMsg);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		if ($succeeded) {
 | |
| 			return true;
 | |
| 		} else {
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	function publishimage() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 		$id					= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if(!$model->publishimage((int)$id, 1)) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_ERROR_PUBLISHING_ITEM');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_PUBLISHING_ITEM');
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl((int)$id, 'image');
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function unpublishimage() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 		$id					= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if(!$model->publishimage((int)$id, 0)) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_ERROR_UNPUBLISHING_ITEM');
 | |
| 			} else {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_UNPUBLISHING_ITEM');
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl((int)$id, 'image');
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false), $msg );
 | |
| 	}
 | |
| 
 | |
| 	function orderimage() {
 | |
| 		$id 				= $this->input->get( 'id', 0, 'string'  );
 | |
| 		$task 				= $this->input->get( 'task', '', 'string' );
 | |
| 		$model 				= $this->getModel( 'user' );
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 		$id					= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 			if ($task == 'orderupimage') {
 | |
| 				$model->moveimage(-1, (int)$id);
 | |
| 			} else if ($task == 'orderdownimage') {
 | |
| 				$model->moveimage(1, (int)$id);
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl(0, 'image');
 | |
| 
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| 
 | |
| 	function saveorderimage() {
 | |
| 		$cid 			= $this->input->get( 'cid', array(), 'array' );
 | |
| 		$order 			= $this->input->get( 'order', array(), 'array' );
 | |
| 		$model 			= $this->getModel( 'user' );
 | |
| 		\Joomla\Utilities\ArrayHelper::toInteger($cid);
 | |
| 		\Joomla\Utilities\ArrayHelper::toInteger($order);
 | |
| 		$app	= Factory::getApplication();
 | |
| 
 | |
| 		$model->saveorderimage($cid, $order);
 | |
| 		$msg = Text::_( 'COM_PHOCAGALLERY_NEW_ORDERING_SAVED' );
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl(0, 'image');
 | |
| 		$app->enqueueMessage($msg);
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false), $msg);
 | |
| 	}
 | |
| 
 | |
| 	function removeimage() {
 | |
| 		$id 				= $this->input->get( 'id', '', 'string'  );
 | |
| 		$model 				= $this->getModel('user');
 | |
| 		$isOwnerCategory 	= $model->isOwnerCategoryImage((int)$this->_user->id, (int)$id);
 | |
| 		$errorMsg = '';
 | |
| 		$id 				= (int)$id;
 | |
| 		$app	= Factory::getApplication();
 | |
| 		if ($isOwnerCategory) {
 | |
| 
 | |
| 			// USER RIGHT - DELETE - - - - - - - - -
 | |
| 			// 2, 2 means that user access will be ignored in function getUserRight for display Delete button
 | |
| 			$rightDisplayDelete = 0;
 | |
| 
 | |
| 			$catAccess	= PhocaGalleryAccess::getCategoryAccess((int)$isOwnerCategory);
 | |
| 
 | |
| 			if (!empty($catAccess)) {
 | |
| 				$rightDisplayDelete = PhocaGalleryAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $this->_user->getAuthorisedViewLevels(), $this->_user->get('id', 0), 0);
 | |
| 			}
 | |
| 			// - - - - - - - - - - - - - - - - - - -
 | |
| 			if($rightDisplayDelete) {
 | |
| 				if(!$model->deleteimage((int)$id, $errorMsg)) {
 | |
| 					$msg = Text::_('COM_PHOCAGALLERY_ERROR_DELETING_ITEM');
 | |
| 				} else {
 | |
| 					$msg = Text::_('COM_PHOCAGALLERY_SUCCESS_DELETING_ITEM');
 | |
| 				}
 | |
| 			} else {
 | |
| 				$msg = Text::_('COM_PHOCAGALLERY_ERROR_NO_RIGHTS_TO_DO_THIS_ACTION');
 | |
| 			}
 | |
| 		} else {
 | |
| 
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$limitStartUrl = $this->getLimitStartUrl(0, 'image', (int)$isOwnerCategory);
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false), $msg );
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 	function editimage() {
 | |
| 
 | |
| 		Session::checkToken() or jexit( 'Invalid Token' );
 | |
| 		$task 						= $this->input->get( 'task', '', 'string' );
 | |
| 		$post['title']				= $this->input->get( 'imagename', '', 'string'  );
 | |
| 		$post['description']		= $this->input->get( 'phocagalleryuploaddescription', '', 'string'  );
 | |
| 		$post['id']					= $this->input->get( 'id', 0, 'int' );
 | |
| 		$paramsC 					= ComponentHelper::getParams('com_phocagallery') ;
 | |
| 		$maxCreateCatChar			= $paramsC->get( 'max_create_cat_char', 1000 );
 | |
| 		$post['description']		= substr($post['description'], 0, (int)$maxCreateCatChar);
 | |
| 		$post['alias'] 				= $post['title'];//PhocaGalleryText::getAliasName($post['title']);
 | |
| 		$model 						= $this->getModel('user');
 | |
| 
 | |
| 		// Lang
 | |
| 		$userLang			= PhocaGalleryUser::getUserLang();
 | |
| 		$post['language']	= $userLang['lang'];
 | |
| 
 | |
| 
 | |
| 		$app	= Factory::getApplication();
 | |
| 		// USER IS NOT LOGGED
 | |
| 		if ($this->_user->aid < 1 && $this->_user->id < 1) {
 | |
| 			$app->enqueueMessage($this->_loginstr );
 | |
| 			$app->redirect($this->_loginurl);
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$isOwnerCategory = $model->isOwnerCategoryImage($this->_user->id, (int)$post['id']);
 | |
| 		if(!$isOwnerCategory) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_ASSIGNED_TO_USER' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		if ((int)$post['id'] < 1) {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_PARENT_CATEGORY_NOT_SELECTED' );
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 			exit;
 | |
| 		}
 | |
| 
 | |
| 		$ownerMainCategory	= $model->getOwnerMainCategory($this->_user->id);
 | |
| 		if (!$ownerMainCategory) {
 | |
| 			$msg = Text::_('COM_PHOCAGALLERY_MAIN_CATEGORY_NOT_CREATED');
 | |
| 			$app->enqueueMessage($msg );
 | |
| 			$app->redirect(Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false));
 | |
| 		}
 | |
| 
 | |
| 		if ($post['title'] != '') {
 | |
| 			$id	= $model->storeimage($post, '', 1);
 | |
| 			if ($id && $id > 0) {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_SUCCESS_SAVING_ITEM' );
 | |
| 			} else {
 | |
| 				$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_SAVING_ITEM' );
 | |
| 			}
 | |
| 		} else {
 | |
| 			$msg = Text::_( 'COM_PHOCAGALLERY_ERROR_TITLE' );
 | |
| 		}
 | |
| 		$app->enqueueMessage($msg );
 | |
| 		$this->setRedirect( Route::_($this->_url. $limitStartUrl->subcat . $limitStartUrl->image, false) );
 | |
| 	}
 | |
| }
 | |
| ?>
 |