101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * @package Joomla
 | |
|  * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 | |
|  *
 | |
|  * @component Phoca Gallery
 | |
|  * @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\MVC\Model\BaseDatabaseModel;
 | |
| use Joomla\CMS\Factory;
 | |
| jimport('joomla.application.component.model');
 | |
| phocagalleryimport('phocagallery.access.access');
 | |
| phocagalleryimport('phocagallery.ordering.ordering');
 | |
| 
 | |
| class PhocagalleryModelComment extends BaseDatabaseModel
 | |
| {
 | |
| 	function __construct() {
 | |
| 		parent::__construct();
 | |
| 		$app = Factory::getApplication();
 | |
| 		$id = $app->input->get('id', 0, 'int');
 | |
| 		$this->setId((int)$id);
 | |
| 	}
 | |
| 	
 | |
| 	function setId($id) {
 | |
| 		$this->_id			= $id;
 | |
| 		$this->_data		= null;
 | |
| 	}
 | |
| 	
 | |
| 	function &getData() {
 | |
| 		if (!$this->_loadData()) {
 | |
| 			$this->_initData();
 | |
| 		}
 | |
| 		return $this->_data;
 | |
| 	}
 | |
| 	
 | |
| 	function _loadData() {
 | |
| 		
 | |
| 		if (empty($this->_data)) {
 | |
| 			$app	= Factory::getApplication();
 | |
| 			$params				= $app->getParams();
 | |
| 			$image_ordering		= $params->get( 'image_ordering', 1 );
 | |
| 			$imageOrdering 		= PhocaGalleryOrdering::getOrderingString($image_ordering);
 | |
| 
 | |
| 			$query = 'SELECT a.*, c.accessuserid as cataccessuserid, c.access as cataccess,'
 | |
| 					.' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as catslug,'
 | |
| 					.' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug'
 | |
| 					.' FROM #__phocagallery AS a'
 | |
| 					.' LEFT JOIN #__phocagallery_categories AS c ON c.id = a.catid'
 | |
| 					.' WHERE a.id = '.(int) $this->_id
 | |
| 					.$imageOrdering['output'];
 | |
| 			$this->_db->setQuery($query);
 | |
| 			$this->_data = $this->_db->loadObject();
 | |
| 			return (boolean) $this->_data;	
 | |
| 		}
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	function _initData() {
 | |
| 		if (empty($this->_data)) {
 | |
| 			$this->_data = '';
 | |
| 			return (boolean) $this->_data;
 | |
| 		}
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	function comment($data) {
 | |
| 		
 | |
| 		$row = $this->getTable('phocagallerycommentimgs', 'Table');
 | |
| 		
 | |
| 		
 | |
| 		if (!$row->bind($data)) {
 | |
| 			$this->setError($this->_db->getErrorMsg());
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		$row->date 		= gmdate('Y-m-d H:i:s');
 | |
| 		$row->published = 1;
 | |
| 
 | |
| 		if (!$row->id) {
 | |
| 			$where = 'imgid = ' . (int) $row->imgid ;
 | |
| 			$row->ordering = $row->getNextOrder( $where );
 | |
| 		}
 | |
| 
 | |
| 		if (!$row->check()) {
 | |
| 			$this->setError($this->_db->getErrorMsg());
 | |
| 			return false;
 | |
| 		}
 | |
| 
 | |
| 		if (!$row->store()) {
 | |
| 			$this->setError($this->_db->getErrorMsg());
 | |
| 			return false;
 | |
| 		}
 | |
| 		
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| }
 | |
| ?>
 |