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]]; }
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, ['год', 'года', 'лет'])]); } } } } } }