| Current Path : /home/megadansyp/www/components/com_eventgallery/library/factory/ |
| Current File : /home/megadansyp/www/components/com_eventgallery/library/factory/orderstatus.php |
<?php
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
class EventgalleryLibraryFactoryOrderstatus extends EventgalleryLibraryFactoryFactory
{
protected $_orderstatusesByType = array();
protected $_defaultorderstatus = array();
protected $_orderstatuses = array();
/**
* Determines a Order status by ID
*
* @param $id
* @return EventgalleryLibraryOrderstatus
*/
public function getOrderStatusById($id) {
if (!isset($this->_orderstatuses[$id])) {
$db = $this->db;
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__eventgallery_orderstatus');
$query->where('id=' . $db->quote($id));
$db->setQuery($query);
$result = $db->loadObject();
if ($result == null) {
return null;
}
$this->_orderstatuses[$id] = new EventgalleryLibraryOrderstatus($result);
}
return $this->_orderstatuses[$id];
}
/**
* Returns all orderstatuses of the given type ordered.
*
* @param $typeid
* @return array|null
*/
public function getOrderStatuses($typeid) {
if (!isset($this->_orderstatusesByType[$typeid])) {
$db = $this->db;
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__eventgallery_orderstatus');
$query->where('type='.$db->quote($typeid));
$query->order('ordering');
$db->setQuery($query);
$items = $db->loadObjectList();
if (count($items) == 0) {
return NULL;
}
$orderstatuses = array();
foreach($items as $item) {
$orderstatuses[] = new EventgalleryLibraryOrderstatus($item);
}
$this->_orderstatusesByType[$typeid] = $orderstatuses;
}
return $this->_orderstatusesByType[$typeid];
}
/**
* returns the default order status for the given type
*
* @param $typeid
* @return EventgalleryLibraryOrderstatus|null
*/
public function getDefaultOrderStatus($typeid)
{
if (!isset($this->_defaultorderstatus[$typeid])) {
$db = $this->db;
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__eventgallery_orderstatus');
$query->where('type='.$db->quote($typeid));
$query->order($db->quoteName('default') .' DESC');
$query->order('ordering');
$db->setQuery($query);
$items = $db->loadObjectList();
if (count($items) == 0) {
return NULL;
}
$item = $items[0];
$this->_defaultorderstatus[$typeid] = new EventgalleryLibraryOrderstatus($item);
}
return $this->_defaultorderstatus[$typeid];
}
}