energine
[ class tree: energine ] [ index: energine ] [ all elements ]

Source for file OrderStatus.class.php

Documentation is available at OrderStatus.class.php

  1. <?php
  2. /**
  3.  * Содержит класс OrderStatus
  4.  *
  5.  * @package energine
  6.  * @subpackage shop
  7.  * @author dr.Pavka
  8.  * @copyright ColoCall 2006
  9.  * @version $Id$
  10.  */
  11.  
  12. //require_once('core/framework/DBWorker.class.php');
  13.  
  14. /**
  15.  * Класс предназначенный для работы со статусами
  16.  *
  17.  * @package energine
  18.  * @subpackage shop
  19.  * @author dr.Pavka
  20.  */
  21. class OrderStatus extends DBWorker {
  22.     /**
  23.      * @access private
  24.      * @static
  25.      * @var OrderStatus единый для всей системы экземпляр класса OrderStatus
  26.      */
  27.     private static $instance;
  28.  
  29.     /**
  30.      * Перечень статусов
  31.      *
  32.      * @var array 
  33.      * @access private
  34.      */
  35.     private $statuses;
  36.     /**
  37.      * Конструктор класса
  38.      *
  39.      * @access public
  40.      */
  41.     public function __construct({
  42.         parent::__construct();
  43.         $this->statuses = convertDBResult(
  44.             $this->dbh->selectRequest(
  45.                 'SELECT main.os_id, trans.os_name FROM shop_order_statuses main '.
  46.                 'LEFT JOIN shop_order_statuses_translation trans ON trans.os_id = main.os_id '.
  47.                 'WHERE trans.lang_id = %s '.
  48.                 'ORDER BY os_priority',
  49.                 Language::getInstance()->getCurrent()
  50.             ),
  51.             'os_id'true);
  52.         if (!$this->statuses{
  53.             throw new SystemException('ERR_NO_ORDER_STATUS_DEFINED'SystemException::ERR_CRITICAL);
  54.         }
  55.     }
  56.  
  57.     /**
  58.      * Возвращает единый для всей системы экземпляр класса OrderStatus.
  59.      *
  60.      * @access public
  61.      * @static
  62.      * @return OrderStatus 
  63.      */
  64.     public static function getInstance({
  65.         if (!isset(self::$instance)) {
  66.             self::$instance new OrderStatus();
  67.         }
  68.         return self::$instance;
  69.     }
  70.  
  71.     /**
  72.      * Возвращает минимальный статус
  73.      *
  74.      * @return int идентификатор статуса
  75.      * @access public
  76.      */
  77.  
  78.     public function getInitial({
  79.         return key($this->statuses);
  80.     }
  81.  
  82.     /**
  83.      * Возвращает имя статуса
  84.      *
  85.      * @param int идентификатор статуса
  86.      * @return string 
  87.      * @access public
  88.      */
  89.  
  90.     public function getName($statusID{
  91.         return $this->statuses[$statusID];
  92.     }
  93. }
В создании документации нам помог: phpDocumentor