0byt3m1n1
Path:
/
home
/
kassiope
/
OLD
/
00-OLD
/
components
/
com_phocagallery
/
models
/
[
Home
]
File: user.php
<?php /* * @package Joomla 1.5 * @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(); jimport('joomla.application.component.model'); phocagalleryimport('phocagallery.pagination.paginationusersubcat'); phocagalleryimport('phocagallery.pagination.paginationuserimage'); class PhocagalleryModelUser extends JModel { var $_data_subcat = null; var $_total_subcat = null; var $_pagination_subcat = null; var $_context_subcat = 'com_phocagallery.phocagalleryusersubcat'; var $_data_image = null; var $_total_image = null; var $_pagination_image = null; var $_context_image = 'com_phocagallery.phocagalleryuserimage'; function __construct() { parent::__construct(); global $mainframe; // SubCategory $limit_subcat = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.list.limitsubcat', 'limitsubcat', 20, 'int' ); $limitstart_subcat = JRequest::getVar('limitstartsubcat', 0, '', 'int'); $limitstart_subcat = ($limit_subcat != 0 ? (floor($limitstart_subcat / $limit_subcat) * $limit_subcat) : 0); $this->setState($this->_context_subcat.'.list.limitsubcat', $limit_subcat); $this->setState($this->_context_subcat.'.list.limitstartsubcat', $limitstart_subcat); // Image $limit_image = $mainframe->getUserStateFromRequest( $this->_context_image.'.list.limitimage', 'limitimage', 20, 'int' ); $limitstart_image = JRequest::getVar('limitstartimage', 0, '', 'int'); $limitstart_image = ($limit_image != 0 ? (floor($limitstart_image / $limit_image) * $limit_image) : 0); $this->setState($this->_context_image.'.list.limitimage', $limit_image); $this->setState($this->_context_image.'.list.limitstartimage', $limitstart_image); } function getDataSubcat($userId) { global $mainframe; if (empty($this->_data_subcat)) { $query = $this->_buildQuerySubCat($userId); $this->_data_subcat = $this->_getList( $query );// We need all data because of tree // Order Categories to tree $text = ''; // test is tree name e.g. Category >> Subcategory $tree = array(); $filter_catid = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_catid', 'filter_catid', 0, 'int' ); if ($filter_catid == 0) { $ownerMainCategory = $this->getOwnerMainCategory($userId); if (isset($ownerMainCategory->id)) { $filter_catid = $ownerMainCategory->id; } } $this->_data_subcat = $this->_categoryTree($this->_data_subcat, $tree,$filter_catid, $text, -1); } return $this->_data_subcat; } function getDataImage($userId) { if (empty($this->_data_image)) { $query = $this->_buildQueryImage($userId); $this->_data_image = $this->_getList($query, $this->getState($this->_context_image.'.list.limitstartimage'), $this->getState($this->_context_image.'.list.limitimage')); } return $this->_data_image; } /* * Is called after setTotal from the view */ function getTotalSubCat() { return $this->_total_subcat; } function setTotalSubCat($total) { $this->_total_subcat = (int)$total; } function getTotalImage($userId) { if (empty($this->_total_image)) { $query = $this->_buildQueryImage($userId); $this->_total_image = $this->_getListCount($query); } return $this->_total_image; } /* * Is called after setTotal from the view */ function getPaginationSubCat($userId) { if (empty($this->_pagination_subcat)) { jimport('joomla.html.pagination'); $this->_pagination_subcat = new PhocaGalleryPaginationUserSubCat( $this->getTotalSubCat(), $this->getState($this->_context_subcat.'.list.limitstartsubcat'), $this->getState($this->_context_subcat.'.list.limitsubcat') ); } return $this->_pagination_subcat; } function getPaginationImage($userId) { if (empty($this->_pagination_image)) { jimport('joomla.html.pagination'); $this->_pagination_image = new PhocaGalleryPaginationUserImage( $this->getTotalImage($userId), $this->getState($this->_context_image.'.list.limitstartimage'), $this->getState($this->_context_image.'.list.limitimage') ); } return $this->_pagination_image; } function _buildQuerySubCat($userId) { $where = $this->_buildContentWhereSubCat($userId); $orderby = $this->_buildContentOrderBySubCat(); $query = 'SELECT a.*, a.title AS category, c.countid AS countid,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug ' . ' FROM #__phocagallery_categories AS a' . ' JOIN (SELECT c.parent_id, count(*) AS countid' . ' FROM #__phocagallery_categories AS c' .' GROUP BY c.parent_id ) AS c' .' ON a.parent_id = c.parent_id' . $where . $orderby; return $query; } function _buildQueryImage($userId) { $where = $this->_buildContentWhereImage($userId); $orderby = $this->_buildContentOrderByImage(); $query = ' SELECT a.*, cc.title AS category,' . ' 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 cc ON cc.id = a.catid ' . $where . $orderby; return $query; } function _buildContentOrderBySubCat() { global $mainframe; $filter_order = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_order', 'filter_order_subcat', 'a.ordering', 'cmd' ); $filter_order_Dir = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_order_Dir', 'filter_order_Dir_subcat', '', 'word' ); if ($filter_order == 'a.ordering'){ $orderby = ' ORDER BY a.ordering '.$filter_order_Dir; } else { $orderby = ' ORDER BY '.$filter_order . ' ' . $filter_order_Dir . ' '; } return $orderby; } function _buildContentOrderByImage() { global $mainframe; $filter_order = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_order', 'filter_order_image', 'a.ordering', 'cmd' ); $filter_order_Dir = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_order_Dir', 'filter_order_Dir_image', '', 'word' ); if ($filter_order == 'a.ordering'){ $orderby = ' ORDER BY category, a.ordering '.$filter_order_Dir; } else { $orderby = ' ORDER BY '.$filter_order.' '.$filter_order_Dir.' , category, a.ordering '; } return $orderby; } function _buildContentWhereSubCat($userId) { global $mainframe; $filter_state = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_state','filter_state_subcat','', 'word' ); $filter_catid = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_catid','filter_catid_subcat',0,'int' ); $filter_order = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_order','filter_order_subcat','a.ordering','cmd' ); $filter_order_Dir = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.filter_order_Dir','filter_order_Dir_subcat', '', 'word' ); $search = $mainframe->getUserStateFromRequest( $this->_context_subcat.'.search', 'phocagallerysubcatsearch', '', 'string' ); $search = JString::strtolower( $search ); $where = array(); $where[] = 'a.parent_id <> 0';// no parent category $where[] = 'a.owner_id = '.(int)$userId; $where[] = 'a.owner_id > 0'; // Ignore -1 /*if ($filter_catid > 0) { $where[] = 'a.parent_id = '.(int) $filter_catid; }*/ if ($search) { $where[] = 'LOWER(a.title) LIKE '.$this->_db->Quote('%'.$search.'%'); } if ( $filter_state ) { if ( $filter_state == 'P' ) { $where[] = 'a.published = 1'; } else if ($filter_state == 'U' ) { $where[] = 'a.published = 0'; } } $where = ( count( $where ) ? ' WHERE '. implode( ' AND ', $where ) : '' ); return $where; } function _buildContentWhereImage($userId) { global $mainframe; $filter_state = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_state','filter_state_image','','word' ); $filter_catid = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_catid','filter_catid_image',0,'int' ); $filter_order = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_order','filter_order_image','a.ordering', 'cmd' ); $filter_order_Dir = $mainframe->getUserStateFromRequest( $this->_context_image.'.filter_order_Dir','filter_order_Dir_image','', 'word' ); $search = $mainframe->getUserStateFromRequest( $this->_context_image.'.search', 'phocagalleryimagesearch', '', 'string' ); $search = JString::strtolower( $search ); $where = array(); $where[] = 'cc.owner_id = '.(int)$userId; $where[] = 'cc.owner_id > 0'; // Ignore -1 if ($filter_catid > 0) { $where[] = 'a.catid = '.(int) $filter_catid; } if ($search) { $where[] = 'LOWER(a.title) LIKE '.$this->_db->Quote('%'.$search.'%'); } if ( $filter_state ) { if ( $filter_state == 'P' ) { $where[] = 'a.published = 1'; } else if ($filter_state == 'U' ) { $where[] = 'a.published = 0'; } } $where = ( count( $where ) ? ' WHERE '. implode( ' AND ', $where ) : '' ); return $where; } /* * Create category tree */ function _categoryTree( $data, $tree, $id = 0, $text='', $currentId) { // Ordering $countItemsInCat = 0; foreach ($data as $key) { $show_text = $text . $key->title; static $iCT = 0;// All displayed items if ($key->parent_id == $id && $currentId != $id && $currentId != $key->id ) { $tree[$iCT] = new JObject(); // Ordering MUST be solved here if ($countItemsInCat > 0) { $tree[$iCT]->orderup = 1; } else { $tree[$iCT]->orderup = 0; } if ($countItemsInCat < ($key->countid - 1)) { $tree[$iCT]->orderdown = 1; } else { $tree[$iCT]->orderdown = 0; } $tree[$iCT]->id = $key->id; $tree[$iCT]->title = $show_text; $tree[$iCT]->title_self = $key->title; $tree[$iCT]->parent_id = $key->parent_id; $tree[$iCT]->owner_id = $key->owner_id; $tree[$iCT]->name = $key->name; $tree[$iCT]->alias = $key->alias; $tree[$iCT]->image = $key->image; $tree[$iCT]->section = $key->section; $tree[$iCT]->image_position = $key->image_position; $tree[$iCT]->description = $key->description; $tree[$iCT]->published = $key->published; $tree[$iCT]->approved = $key->approved; $tree[$iCT]->editor = $key->editor; $tree[$iCT]->ordering = $key->ordering; $tree[$iCT]->access = $key->access; $tree[$iCT]->count = $key->count; $tree[$iCT]->params = $key->params; $tree[$iCT]->checked_out = $key->checked_out; $tree[$iCT]->slug = $key->slug; $tree[$iCT]->hits = $key->hits; $tree[$iCT]->accessuserid = $key->accessuserid; $tree[$iCT]->uploaduserid = $key->uploaduserid; $tree[$iCT]->deleteuserid = $key->deleteuserid; $tree[$iCT]->userfolder = $key->userfolder; $tree[$iCT]->latitude = $key->latitude; $tree[$iCT]->longitude = $key->longitude; $tree[$iCT]->zoom = $key->zoom; $tree[$iCT]->geotitle = $key->geotitle; $tree[$iCT]->link = ''; $tree[$iCT]->filename = '';// Will be added in View (after items will be reduced) $tree[$iCT]->linkthumbnailpath = ''; $iCT++; $tree = $this->_categoryTree($data, $tree, $key->id, $show_text . " » ", $currentId ); $countItemsInCat++; } } return($tree); } /* * AUTHOR - OWNER * Get information about owner's category */ function getOwnerMainCategory($userId) { $query = 'SELECT cc.*' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.owner_id = '.(int)$userId //. ' AND cc.id <> '.(int)$categoryId // Check other categories . ' AND cc.owner_id > 0' // Ignore -1 . ' AND cc.parent_id = 0'; $this->_db->setQuery( $query ); $ownerMainCategoryId = $this->_db->loadObject(); if (isset($ownerMainCategoryId->id)) { return $ownerMainCategoryId; } return false; } function isOwnerCategory($userId, $categoryId) { $query = 'SELECT cc.id' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.owner_id = '.(int)$userId . ' AND cc.id = '.(int)$categoryId; $this->_db->setQuery( $query ); $ownerCategoryId = $this->_db->loadObject(); if (isset($ownerCategoryId->id)) { return true; } return false; } /* * Return false or catid * Check if owner category is catid */ function isOwnerCategorySubCat($userId, $categoryId) { $query = 'SELECT cc.id' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery_categories AS s ON s.parent_id = cc.id' . ' WHERE cc.owner_id = '.(int)$userId . ' AND s.id = '.(int)$categoryId; $this->_db->setQuery( $query ); $ownerCategoryId = $this->_db->loadObject(); if (isset($ownerCategoryId->id)) { return $ownerCategoryId->id; } return false; } /* * Return false or catid * Check if owner category is catid */ function isOwnerCategoryImage($userId, $imageId) { $query = 'SELECT cc.id' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery AS a ON a.catid = cc.id' . ' WHERE cc.owner_id = '.(int)$userId . ' AND a.id = '.(int)$imageId; $this->_db->setQuery( $query ); $ownerCategoryId = $this->_db->loadObject(); if (isset($ownerCategoryId->id)) { return $ownerCategoryId->id; } return false; } function getCountUserSubCat($userId) { $query = 'SELECT count(cc.id) AS countid' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.owner_id = '.(int)$userId . ' AND cc.parent_id <> 0'; $this->_db->setQuery( $query ); $categoryCount = $this->_db->loadObject(); if (isset($categoryCount->countid)) { return $categoryCount->countid; } return 0; } function getCountUserImage($userId) { $query = 'SELECT count(a.id) AS count' . ' FROM #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_categories AS cc ON cc.id = a.catid ' . ' WHERE cc.owner_id = '.(int)$userId; $this->_db->setQuery( $query ); $imageCount = $this->_db->loadObject(); if (isset($imageCount->count)) { return $imageCount->count; } return 0; } function getSumUserImage($userId) { $query = 'SELECT sum(a.imgorigsize) AS sum' . ' FROM #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_categories AS cc ON cc.id = a.catid ' . ' WHERE cc.owner_id = '.(int)$userId; $this->_db->setQuery( $query ); $imageSum = $this->_db->loadObject(); if (isset($imageSum->sum)) { return $imageSum->sum; } return 0; } /* * Publish SubCat */ function publishsubcat($id = 0, $publish = 1) { $user =& JFactory::getUser(); $query = 'UPDATE #__phocagallery_categories AS c' . ' SET c.published = '.(int) $publish . ' WHERE c.id = '.(int)$id . ' AND c.owner_id = '.(int) $user->get('id'); $this->_db->setQuery( $query ); if (!$this->_db->query()) { $this->setError('Database Error 2'); return false; } return true; } /* * Publish Image */ function publishimage($id = 0, $publish = 1) { $user =& JFactory::getUser(); $query = 'UPDATE #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_categories AS cc ON cc.id = a.catid ' . ' SET a.published = '.(int) $publish . ' WHERE a.id = '.(int)$id . ' AND cc.owner_id = '.(int) $user->get('id'); $this->_db->setQuery( $query ); if (!$this->_db->query()) { $this->setError('Database Error 2'); return false; } return true; } /* * Move Subcat */ function movesubcat($direction, $id) { $row =& $this->getTable('phocagalleryc'); if (!$row->load((int)$id)) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->move( $direction, ' parent_id = '.(int) $row->parent_id.' AND published >= 0 ' )) { $this->setError($this->_db->getErrorMsg()); return false; } return true; } /* * Move Image */ function moveimage($direction, $id) { $row =& $this->getTable('phocagallery'); if (!$row->load((int)$id)) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->move( $direction, ' catid = '.(int) $row->catid.' AND published >= 0 ' )) { $this->setError($this->_db->getErrorMsg()); return false; } return true; } /* * Save order subcat */ function saveordersubcat($cid = array(), $order){ $row =& $this->getTable('phocagalleryc'); $groupings = array(); // $catid is null - update ordering values for( $i=0; $i < count($cid); $i++ ) { $row->load( (int) $cid[$i] ); $groupings[] = $row->parent_id; // track categories if ($row->ordering != $order[$i]) { $row->ordering = $order[$i]; if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } } } // execute updateOrder for each parent group $groupings = array_unique( $groupings ); foreach ($groupings as $group){ $row->reorder('parent_id = '.(int) $group); } return true; } /* * Save order Image */ function saveorderimage($cid = array(), $order){ $row =& $this->getTable('phocagallery'); $groupings = array(); // $catid is null - update ordering values for( $i=0; $i < count($cid); $i++ ) { $row->load( (int) $cid[$i] ); $groupings[] = $row->catid; // track categories if ($row->ordering != $order[$i]) { $row->ordering = $order[$i]; if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } } } // execute updateOrder for each parent group $groupings = array_unique( $groupings ); foreach ($groupings as $group){ $row->reorder('catid = '.(int) $group); } return true; } /* * Delete */ function delete($id = 0, &$errorMsg) { global $mainframe; $result = false; if ((int)$id > 0) { // FIRST - if there are subcategories - - - - - $query = 'SELECT c.id, c.name, c.title, COUNT( s.parent_id ) AS numcat' . ' FROM #__phocagallery_categories AS c' . ' LEFT JOIN #__phocagallery_categories AS s ON s.parent_id = c.id' . ' WHERE c.id ='.(int)$id . ' GROUP BY c.id'; $this->_db->setQuery( $query ); if (!($rows2 = $this->_db->loadObjectList())) { JError::raiseError( 500, $this->_db->stderr('Load Data Problem') ); return false; } // Add new CID without categories which have subcategories (we don't delete categories with subcat) $err_cat = array(); $cid = array(); foreach ($rows2 as $row) { if ($row->numcat == 0) { $cid[] = (int) $row->id; } else { $err_cat[] = $row->title; } } // - - - - - - - - - - - - - - - // Images with new cid - - - - - if (count( $cid )) { JArrayHelper::toInteger($cid); $cids = implode( ',', $cid ); // Select id's from phocagallery tables. If the category has some images, don't delete it $query = 'SELECT c.id, c.name, c.title, COUNT( s.catid ) AS numcat' . ' FROM #__phocagallery_categories AS c' . ' LEFT JOIN #__phocagallery AS s ON s.catid = c.id' . ' WHERE c.id IN ( '.$cids.' )' . ' GROUP BY c.id'; $this->_db->setQuery( $query ); if (!($rows = $this->_db->loadObjectList())) { JError::raiseError( 500, $this->_db->stderr('Load Data Problem') ); return false; } $err_img = array(); $cid = array(); foreach ($rows as $row) { if ($row->numcat == 0) { $cid[] = (int) $row->id; } else { $err_img[] = $row->title; } } if (count( $cid )) { $cids = implode( ',', $cid ); $query = 'DELETE FROM #__phocagallery_categories' . ' WHERE id IN ( '.$cids.' )'; $this->_db->setQuery( $query ); if (!$this->_db->query()) { JError::raiseError( 500, $this->_db->stderr('Delete Data Problem') ); return false; } } } // There are some images in the category - don't delete it $msg = ''; if (count( $err_cat ) || count( $err_img )) { if (count( $err_cat )) { $cids_cat = implode( ", ", $err_cat ); $msg .= JText::sprintf( 'WARNNOTREMOVEDRECORDS PHOCA GALLERY CAT', $cids_cat ); } if (count( $err_img )) { $cids_img = implode( ", ", $err_img ); $msg .= JText::sprintf( 'WARNNOTREMOVEDRECORDS PHOCA GALLERY', $cids_img ); } if ($msg != '') { $errorMsg = $msg; } return false; } } return true; } function deleteimage($id = 0, &$errorMsg) { // Get all filenames we want to delete from database, we delete all thumbnails from server of this file $queryd = 'SELECT filename as filename FROM #__phocagallery WHERE id ='.(int)$id; $this->_db->setQuery($queryd); $file_object = $this->_db->loadObjectList(); if(!$this->_db->query()) { $this->setError('Database Error 2'); return false; } $query = 'DELETE FROM #__phocagallery' . ' WHERE id ='.(int)$id; $this->_db->setQuery( $query ); if(!$this->_db->query()) { $this->setError('Database Error 2'); return false; } // Delete thumbnails - medium and large, small from server // All id we want to delete - gel all filenames foreach ($file_object as $key => $value) { //The file can be stored in other category - don't delete it from server because other category use it $querys = "SELECT id as id FROM #__phocagallery WHERE filename='".$value->filename."' "; $this->_db->setQuery($queryd); $same_file_object = $this->_db->loadObject(); if(!$this->_db->query()) { $this->setError('Database Error 2'); return false; } //same file in other category doesn't exist - we can delete it if (!$same_file_object){ //Delete all thumbnail files but not original PhocaGalleryFileThumbnail::deleteFileThumbnail($value->filename, 1, 1, 1); PhocaGalleryFile::deleteFile($value->filename); } } return true; } /* * Pagination Subcategory */ function getCountItemSubCat($id = 0, $userId, $catid = 0) { $where = ' WHERE c.id ='.(int)$id; if ((int)$catid > 0) { // After remove we don't know id, so we take the catid $where =' WHERE c.parent_id ='.(int)$catid; } $query = 'SELECT COUNT( c.id ) AS numcat' . ' FROM #__phocagallery_categories AS c' . ' LEFT JOIN #__phocagallery_categories AS s ON s.parent_id = c.id' . $where . ' AND c.owner_id ='.(int)$userId . ' GROUP BY c.parent_id'; $this->_db->setQuery( $query ); if (!$this->_db->query()) { $this->setError('Database Error 3'); return false; } return $this->_db->loadRow(); } /* * Pagination Image */ function getCountItemImage($id = 0, $userId, $catid = 0) { $where = ' WHERE a.id ='.(int)$id; if ((int)$catid > 0) { // After remove we don't know id, so we take the catid $where =' WHERE a.catid ='.(int)$catid; } $query = 'SELECT COUNT( a.catid ) AS numimg' . ' FROM #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_categories AS cc ON cc.id = a.catid' . $where . ' AND cc.owner_id ='.(int)$userId . ' GROUP BY a.catid'; $this->_db->setQuery( $query ); if (!$this->_db->query()) { $this->setError('Database Error 3'); return false; } return $this->_db->loadRow(); } function getCategoryList($userId) { $query = 'SELECT cc.title AS text, cc.id AS value, cc.parent_id as parentid' . ' FROM #__phocagallery_categories AS cc' // . ' WHERE cc.published = 1' . ' WHERE cc.owner_id = '.(int)$userId . ' AND cc.owner_id > 0'; // Ignore -1 $this->_db->setQuery( $query ); $categories = $this->_db->loadObjectList(); return $categories; } /* * EDIT - Subcategory - get info about the subcategory */ function getCategory($id, $userId) { $query = 'SELECT cc.id, cc.title, cc.description' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.owner_id = '.(int)$userId . ' AND cc.owner_id > 0' // Ignore -1 . ' AND cc.id = '.(int)$id; $this->_db->setQuery( $query ); $category = $this->_db->loadObject(); if(isset($category->id)) { return $category; } return false; } /* * EDIT - Image - get info about the image */ function getImage($id, $userId) { $query = 'SELECT a.id, a.title, a.description' . ' FROM #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_categories AS c ON c.id = a.catid' . ' WHERE c.owner_id = '.(int)$userId . ' AND c.owner_id > 0' // Ignore -1 . ' AND a.id = '.(int)$id; $this->_db->setQuery( $query ); $image = $this->_db->loadObject(); if(isset($image->id)) { return $image; } return false; } /* * Add Category, Add Subcategory, Edit Category, Edit Subcategory */ function store($data) { if ($data['alias'] == '') { $data['alias'] = $data['title']; } $data['alias'] = PhocaGalleryText::getAliasName($data['alias']); $row =& $this->getTable('phocagalleryc'); if(isset($data['id']) && $data['id'] > 0) { if (!$row->load($data['id'])) { $this->setError($this->_db->getErrorMsg()); return false; } } // Bind the form fields to the table if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } if (!$row->date) { $row->date = gmdate('Y-m-d H:i:s'); } // if new item, order last in appropriate group if (!$row->id) { $where = 'parent_id = ' . (int) $row->parent_id ; $row->ordering = $row->getNextOrder( $where ); } // Make sure the table is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the table to the database if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } return $row->id; } /* * Add Image */ function storeimage($data, $return, $edit = false) { if (!$edit) { //If this file doesn't exists don't save it if (!PhocaGalleryFile::existsFileOriginal($data['filename'])) { $this->setError('File not exists'); return false; } $data['imgorigsize'] = PhocaGalleryFile::getFileSize($data['filename'], 0); //If there is no title and no alias, use filename as title and alias if (!isset($data['title']) || (isset($data['title']) && $data['title'] == '')) { $data['title'] = PhocaGalleryFile::getTitleFromFile($data['filename']); } if (!isset($data['alias']) || (isset($data['alias']) && $data['alias'] == '')) { $data['alias'] = PhocaGalleryFile::getTitleFromFile($data['filename']); } //clean alias name (no bad characters) $data['alias'] = PhocaGalleryText::getAliasName($data['alias']); } else { $data['alias'] = PhocaGalleryText::getAliasName($data['title']); } $row =& $this->getTable('phocagallery'); if(isset($data['id']) && $data['id'] > 0) { if (!$row->load($data['id'])) { $this->setError($this->_db->getErrorMsg()); return false; } } // Bind the form fields to the Phoca gallery table if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } // Create the timestamp for the date $row->date = gmdate('Y-m-d H:i:s'); // if new item, order last in appropriate group if (!$row->id) { $where = 'catid = ' . (int) $row->catid ; $row->ordering = $row->getNextOrder( $where ); } // Make sure the Phoca gallery table is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the Phoca gallery table to the database if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } if(!$edit) { //Create thumbnail small, medium, large $returnFrontMessage = PhocaGalleryFileThumbnail::getOrCreateThumbnail($row->filename, $return, 1, 1, 1, 1); if ($returnFrontMessage == 'Success') { return true; } else { return false; } } else { if (isset($row->id)) { return $row->id; } else { return false; } } } /* * Get AVATAR */ function getUserAvatar($userId) { $query = 'SELECT a.*' . ' FROM #__phocagallery_user AS a' . ' WHERE a.userid = '.(int)$userId; $this->_db->setQuery( $query ); $avatar = $this->_db->loadObject(); if(isset($avatar->id)) { return $avatar; } return false; } /* * Store Avatar */ function storeuser($data) { $row =& $this->getTable('phocagalleryuser'); // Bind the form fields to the table if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } // if new item, order last in appropriate group if (!$row->id) { $row->ordering = $row->getNextOrder( ); } // Make sure the table is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the table to the database if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } return $row->id; } } ?>