<?php
/**
* СодеÑÐ¶Ð¸Ñ ÐºÐ»Ð°ÑÑ OrderStatus
*
* @package energine
* @subpackage shop
* @author dr.Pavka
* @copyright ColoCall 2006
* @version $Id: OrderStatus.class.php,v 1.3 2007/12/17 14:24:30 pavka Exp $
*/
//require_once('core/framework/DBWorker.class.php');
/**
* ÐлаÑÑ Ð¿ÑедназнаÑеннÑй Ð´Ð»Ñ ÑабоÑÑ Ñо ÑÑаÑÑÑами
*
* @package energine
* @subpackage shop
*/
class OrderStatus extends DBWorker {
/**
* @access private
* @static
* @var OrderStatus единÑй Ð´Ð»Ñ Ð²Ñей ÑиÑÑÐµÐ¼Ñ ÑкземплÑÑ ÐºÐ»Ð°ÑÑа OrderStatus
*/
private static $instance;
/**
* ÐеÑеÑÐµÐ½Ñ ÑÑаÑÑÑов
*
* @var array
* @access private
*/
private $statuses;
/**
* ÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа
*
* @access public
*/
public function __construct() {
parent::__construct();
$this->statuses = convertDBResult(
$this->dbh->selectRequest(
'SELECT main.os_id, trans.os_name FROM shop_order_statuses main '.
'LEFT JOIN shop_order_statuses_translation trans ON trans.os_id = main.os_id '.
'WHERE trans.lang_id = %s '.
'ORDER BY os_priority',
Language::getInstance()->getCurrent()
),
'os_id', true);
if (!$this->statuses) {
throw new SystemException('ERR_NO_ORDER_STATUS_DEFINED', SystemException::ERR_CRITICAL);
}
}
/**
* ÐозвÑаÑÐ°ÐµÑ ÐµÐ´Ð¸Ð½Ñй Ð´Ð»Ñ Ð²Ñей ÑиÑÑÐµÐ¼Ñ ÑкземплÑÑ ÐºÐ»Ð°ÑÑа OrderStatus.
*
* @access public
* @static
* @return OrderStatus
*/
public static function getInstance() {
if (!isset(self::$instance)) {
self::$instance = new OrderStatus();
}
return self::$instance;
}
/**
* ÐозвÑаÑÐ°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑй ÑÑаÑÑÑ
*
* @return int иденÑиÑикаÑÐ¾Ñ ÑÑаÑÑÑа
* @access public
*/
public function getInitial() {
return key($this->statuses);
}
/**
* ÐозвÑаÑÐ°ÐµÑ Ð¸Ð¼Ñ ÑÑаÑÑÑа
*
* @param int иденÑиÑикаÑÐ¾Ñ ÑÑаÑÑÑа
* @return string
* @access public
*/
public function getName($statusID) {
return $this->statuses[$statusID];
}
}