Exemplo n.º 1
0
 /**
  * Возвращает стоимость покупки или поднятия.
  *
  * @return type
  */
 public function getPrice($up = false, $uid = 0, $prof_id = null)
 {
     //кеш для нескольких вызовов в течении сесии
     static $_cache = array();
     $key = md5(print_r(func_get_args(), true));
     if (isset($_cache[$key])) {
         return $_cache[$key];
     }
     $opCode = $this->getOpCode($up);
     //Пробуем получить скидку для конкретного пользователя
     if ($uid > 0) {
         $bill = self::getBilling($uid);
         $opCode = $bill->getDiscountOpCode($opCode);
     }
     $data = op_codes::getDataByOpCode($opCode, $prof_id);
     if (@$data['sum']) {
         $_cache[$key] = @$data['sum'];
     }
     return @$data['sum'];
 }
Exemplo n.º 2
0
 /**
  * Возвращает цену за подняние
  * 
  * @param type $prof_id
  * @param type $is_spec
  * @return type
  */
 public function getPriceUp($prof_id, $is_spec, $uid = 0)
 {
     $opCode = $this->getOpCodeUp($prof_id, $is_spec);
     //Пробуем получить скидку для конкретного пользователя
     if ($uid > 0) {
         $bill = self::getBilling($uid);
         $opCode = $bill->getDiscountOpCode($opCode);
     }
     $data = op_codes::getDataByOpCode($opCode, $prof_id);
     return @$data['sum'];
 }
Exemplo n.º 3
0
 /**
  * Получить стоимость размещения
  * если передан ID пользователя то пробуем получить скидку
  * 
  * @param type $prof_group_id
  * @param type $prof_id
  * @param type $uid
  * @return type
  */
 static function getPlacementPrice($prof_group_id, $prof_id, $uid = 0)
 {
     $opCode = $prof_group_id ? self::OP_CODE_CATEGORY : ($prof_id == -1 ? self::OP_CODE_MAIN : self::OP_CODE_SUBCATEGORY);
     //Пробуем получить скидку для конкретного пользователя
     if ($uid > 0) {
         $bill = self::getBilling($uid);
         $opCode = $bill->getDiscountOpCode($opCode);
     }
     $data = op_codes::getDataByOpCode($opCode);
     return @$data['sum'];
 }