Esempio n. 1
0
 public function getProductInfo()
 {
     $cover = new CoverForm();
     if (!$cover->loadById($this->cover_id)) {
         return ['error' => ['msg' => Yii::t('app', 'Обложка для книги не найдена')]];
     }
     $style = new StyleForm();
     if (!$style->loadById($this->style_id)) {
         return ['error' => ['msg' => Yii::t('app', 'Стиль для книги не найдена')]];
     }
     if (empty($this->data)) {
         return ['error' => ['msg' => Yii::t('app', 'Ошибка данных')]];
     }
     if (empty($this->data['pages'])) {
         return ['error' => ['msg' => Yii::t('app', 'Страниц не найдено')]];
     }
     $pages = $this->data['pages'];
     $print_count = 0;
     foreach ($pages as $key => $page) {
         if ($key == 0 || $key == count($pages) - 1) {
             continue;
         }
         if ($page['action'] == 'print') {
             $print_count++;
         }
     }
     if ($print_count <= 0) {
         return ['error' => ['msg' => Yii::t('app', 'Разворотов для печати не найдено')]];
     }
     $base_price = (count($pages) - 2) * $style->price_spread;
     $cover_price_sign = $cover->price_sign;
     $total_price = $base_price;
     if ($cover_price_sign == "=") {
         $total_price = $cover->price;
     } else {
         if ($cover_price_sign == "+") {
             $total_price += $cover->price;
         } else {
             if ($cover_price_sign == "-") {
                 $total_price -= $cover->price;
             }
         }
     }
     $text_info = Yii::t('app', 'Код товара:') . ' ' . $this->id . '. ' . Yii::t('app', 'Фотокнига:') . ' ' . $this->name . ', ' . Yii::t('app', 'обложка:') . ' ' . $cover->material_type . '/' . $cover->name . ', ' . Yii::t('app', '1 калька') . ', ' . $print_count . ' ' . Utils::getInclinationByNumber($print_count, ['разворот', 'разворота', 'разворотов']);
     return ['response' => ['status' => true, 'price' => $total_price, 'text_info' => $text_info]];
 }
Esempio n. 2
0
 public static function timeAgo($time)
 {
     $current_time = time();
     $diff = $current_time - $time;
     $sec = $diff;
     $min = intval($diff / 60);
     $hour = intval($diff / 60 / 60);
     $day = intval($diff / 60 / 60 / 24);
     $month = intval($diff / 60 / 60 / 24 / 31);
     $year = intval($diff / 60 / 60 / 24 / 31 / 12);
     if ($sec < 60) {
         return Yii::t('app', '{num} {unit} назад', ['num' => $sec, 'unit' => Utils::getInclinationByNumber($sec, ['сукунда', 'сукунды', 'сукунд'])]);
     } else {
         if ($min < 60) {
             return Yii::t('app', '{num} {unit} назад', ['num' => $min, 'unit' => Utils::getInclinationByNumber($min, ['минута', 'минуты', 'минут'])]);
         } else {
             if ($hour < 24) {
                 return Yii::t('app', '{num} {unit} назад', ['num' => $hour, 'unit' => Utils::getInclinationByNumber($hour, ['час', 'часа', 'часов'])]);
             } else {
                 if ($day < 31) {
                     return Yii::t('app', '{num} {unit} назад', ['num' => $day, 'unit' => Utils::getInclinationByNumber($day, ['день', 'дня', 'дней'])]);
                 } else {
                     if ($month < 12) {
                         return Yii::t('app', '{num} {unit} назад', ['num' => $month, 'unit' => Utils::getInclinationByNumber($month, ['месяц', 'месяца', 'месяцев'])]);
                     } else {
                         return Yii::t('app', '{num} {unit} назад', ['num' => $year, 'unit' => Utils::getInclinationByNumber($year, ['год', 'года', 'лет'])]);
                     }
                 }
             }
         }
     }
 }