public function actionDescription($gallError = "") { $this->firmId = (int) Yii::app()->request->getParam("fid", 0); $id = (int) Yii::app()->request->getParam("id", 0); // Если не указан ID фирмы, то берем ID из описания тура if ($id > 0 && $this->firmId == 0) { $tourModel = CatalogTours::fetch($id); if ($tourModel->id > 0 && $tourModel->firm_id && $tourModel->firm_id->id > 0) { $this->firmId = $tourModel->firm_id->id; } } if ($this->firmId == 0) { die("id==0"); $this->redirect(SiteHelper::createUrl("/user/firms")); } $firmModel = CatalogFirms::fetch($this->firmId); if ($firmModel->id == 0) { die("id==not correct"); $this->redirect(SiteHelper::createUrl("/user/firms")); } parent::init(); $this->addModel = "CatalogToursAdd"; $this->tableName = "catalog_tours"; $this->name = Yii::t("user", "туры"); $_POST["CatalogToursAdd"]["firm_id"] = $this->firmId; $_POST["CatalogToursAdd"]["user_id"] = Yii::app()->user->getId(); parent::actionDescription(); }
public function actionDescription() { Yii::app()->page->setInfo(array("description" => $this->description, "keyWord" => $this->keyWord)); $id = 0; $class = $this->classModel; if (!empty($_GET["slug"])) { $model = $class::fetchBySlug(trim($_GET["slug"])); if ($model->id > 0) { $_GET["id"] = $model->id; $id = $model->id; } else { $arrId = explode("-", $_GET["slug"]); if (sizeof($arrId) > 0) { $id = (int) $arrId[0]; } } } $error = Yii::t("page", "Произошла ошибка перехода на страницу, проверьте правильно написания адреса страницы"); if ($id > 0) { $item = CatalogTours::fetch($id); if ($item->id > 0) { LogHelper::saveCatLogTours($item->id); CCModelHelper::colCounter($item); // Картинки тура $images = ImageHelper::getImages($item); Yii::app()->page->title = $item->name . ", тур " . $item->category_id->name . ", " . $item->country_id->name; $this->render('description', array("item" => $item, "images" => $images, "otherTours" => CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("image>'' AND country_id=:country_id AND id!=:id AND firm_id!=:firm_id")->setParams(array(":country_id" => $item->country_id->id, ":id" => $item->id, ":firm_id" => $item->firm_id->id))->setOrderBy("col DESC")->setLimit(6)), "firmsTours" => CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("image>'' AND firm_id=:firm_id AND id!=:id")->setParams(array(":firm_id" => $item->firm_id->id, ":id" => $item->id))->setOrderBy("col DESC")->setLimit(6)), "tourCount" => CatalogTours::count(DBQueryParamsClass::CreateParams()->setConditions("country_id=:country")->setParams(array(":country" => $item->country_id->id))), "firmCount" => CatalogFirms::count(DBQueryParamsClass::CreateParams()->setConditions("country_id=:country")->setParams(array(":country" => $item->country_id->id))))); } else { throw new CHttpException("", $error); } } else { throw new CHttpException("", $error); } }
public function actionTest() { // Расчет ретинга фирмы /* + Рейтинг фирмы если рейтинг = 0 то - 100 + Заполленность описания 40 если не заполнено - 30 + Заполленность ПРОГРАММЫ 40 если не заполнено - 30 + Заполленность ЦЕНЫ 40 если не заполнено - 30 + Заполенность ЦЕНЫ И ВАЛЮТЫ 100 - если не заполнена цена - 100 не учитывать если не заполнено валюта + Заполенность ВКЛЮЧННО 40 если не заполнено - 30 + Заполенность НЕ ВКЛЮЧННО 20 + Заполенность ВНИМАНИЕ 20 + Заполенность ДЛИТЕЛЬНОСТЬ 40 если не заполнено - 30 + Галлерея + 10 за каждую, но учитывать только 5 Если нет не одной то -50 Если меньше 3 то -20 */ /* $count = 20; $lastFirm = CatCache::fetchBySlug("index_last_tours"); $list = CatalogTours::fetchAll( DBQueryParamsClass::CreateParams()->setConditions("id>:id")->setParams( array( ":id"=>$lastFirm->value ) )->setLimit( $count ) ); foreach( $list as $item ) { $id = $item->id; */ $id = (int) $_GET["id"]; $item = CatalogTours::fetch($id); $rating = 0; // Рейтинг фирмы if ($item->firm_id->rating > 0) { $rating += $item->firm_id->rating; } elseif ($item->firm_id->rating == 0) { $rating -= 100; } // Проверяем описание if ((int) $item->price > 0) { if ($item->currency_id->id > 0) { $rating += 100; } } else { $rating -= 100; } if ($item->description) { if (strlen(trim(strip_tags($item->description))) > 200) { $rating += 40; } } else { $rating -= 30; } if ($item->program) { if (strlen(trim(strip_tags($item->program))) > 200) { $rating += 40; } } else { $rating -= 30; } if ($item->prices) { if (strlen(trim(strip_tags($item->prices))) > 100) { $rating += 40; } } else { $rating -= 30; } if ($item->included) { if (strlen(trim(strip_tags($item->included))) > 100) { $rating += 40; } } else { $rating -= 30; } if ($item->duration) { $rating += 40; } else { $rating -= 30; } if ($item->not_included) { $rating += 20; } if ($item->attention) { $rating += 20; } // Галлерея $images = CatGallery::count(DBQueryParamsClass::CreateParams()->setConditions("catalog='catalog_tours' AND item_id=:id")->setParams([":id" => $id])); if ($images > 0) { $rating += $images * 5; } else { $rating -= 10; } $item->rating = $rating; if (!$item->save()) { print_r($item->getErrors()); } echo $item->id . "-" . $rating . "<br/>"; }