public function actionTree() { $id = Yii::app()->request->getParam("id", 0); if (!empty($id)) { $images = CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => "catalog_gardens_tree", ":item_id" => $id))->setLimit(10)); $tree = CatalogGardensTree::fetch($id); $this->render("usertree", array("images" => $images, "tree" => $tree)); } }
public function run() { $conditions = "catalog=:catalog"; $params = array(":catalog" => $this->catalog); if (!empty($id)) { $conditions .= " sAND item_id=:item_id"; $params = array_merge($params, array(":id" => $id)); } $images = CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions($conditions)->setParams($params)->setLimit(10)); $this->render("gallery", array('images' => $images)); }
public function actionIndex() { $page = (int) Yii::app()->request->getParam("p", 1); $this->layout = '//layouts/main-landing'; if (!empty($_GET["country"])) { $model = CatalogCountry::fetchBySlug(trim($_GET["country"])); } if ($model && $model->id > 0) { $item = $model; Yii::app()->page->setInfo(array("description" => $item->name . "," . $this->description, "keyWord" => $item->name . "," . $this->keyWord)); if (!empty($item) && $item->id > 0) { Yii::app()->page->title = $item->name; $this->render('index', array("item" => $item, "page" => $page, "tours" => CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("image>'' AND country_id=:id")->setParams(array(":id" => $item->id))->setOrderBy("rating DESC")->setLimit(12)), "gallerySlide" => CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog='catalog_country' AND type='slide-gallery' AND item_id=:id")->setParams(array(":id" => $item->id))->setOrderBy("pos")->setLimit(-1)), "gallery" => CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog='catalog_country' AND type='' AND item_id=:id")->setParams(array(":id" => $item->id))->setOrderBy("pos")->setLimit(9)), "info" => CatalogInfo::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("category_id=(SELECT id FROM catalog_info_category WHERE slug=:slug LIMIT 1)")->setParams(array(":slug" => $item->slug))), "monuments" => CatalogMonuments::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("country_id=:id")->setParams(array(":id" => $item->id))))); } else { throw new CHttpException("Ошибка", Yii::t("page", "Ошибка перехода на страницу")); } } else { throw new CHttpException("Ошибка", Yii::t("page", "Ошибка перехода на страницу")); } }
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate() { if ($this->catalog) { $catalog = ucwords($this->catalog); $id = (int) Yii::app()->request->getParam("id", 0); if (!empty($id)) { $model = $catalog::fetch($id); } else { $model = new $catalog(); } $message = ""; // Сохрание полей if (isset($_POST[$catalog])) { $model->setAttributesFromArray($_POST[$catalog]); if ($model->description) { $model->description = str_replace("../../../../", Yii::app()->params["baseUrl"], $model->description); } if (!empty($_FILES[$catalog])) { foreach ($_FILES[$catalog]["name"] as $key => $field) { if (property_exists($model, $key)) { $model->{$key} = $field; } } } if ($model->saveWithRelation()) { $message = "Данные успешно сохраненны"; //$this->redirect(array('view','id'=>$model->id)); } } // Сохранение TITLE галереи if (!empty($_POST["image_submit"]) && !empty($_POST["image"])) { foreach ($_POST["image"] as $value) { if ($value["id"] > 0) { $imageModel = CatGallery::fetch($value["id"]); if ($imageModel->id > 0) { $imageModel->name = $value["name"]; $imageModel->pos = $value["pos"]; $imageModel->type = $value["type"]; $imageModel->save(); } } } $message = "Галерея успешно сохраненна"; } // Добвление картинки $addGallery = new CatGallery(); if (!empty($_POST["submit_add_gallery"]) && !empty($id)) { $addGallery->setAttributesFromArray($_POST["CatGallery"]); $addGallery->image = $_FILES["CatGallery"]["name"]["image"]; $addGallery->catalog = $model->tableName(); $addGallery->item_id = $id; $addGallery->save(); // "", false $addGallery = new CatGallery(); } if ($model->id > 0) { $listImage = CatGallery::findByAttributes(array("catalog" => $model->tableName(), "item_id" => $model->id)); } else { $listImage = array(); } $this->render('edit', array('arrayParams' => $this->arrayParams, 'form' => $model, 'catalog' => $this->catalog, 'listImage' => $listImage, 'message' => $message, 'addGallery' => $addGallery)); } }
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/>"; }
public function actionDescription($gallError = "") { $_POST["CatalogWorkResumeAdd"]["user_id"] = Yii::app()->user->getId(); $_POST["CatalogWorkResumeAdd"]["type_id"] = 1; if (!Yii::app()->user->isGuest) { Yii::app()->page->title = Yii::t("page", "Описание"); $id = (int) Yii::app()->request->getParam("id", 0); $status = Yii::app()->request->getParam("status", ""); $error = Yii::app()->request->getParam("error", ""); $addClass = $this->addModel; if (!empty($id)) { $item = $addClass::fetch($id); } else { $item = new $addClass(); SiteHelper::setLog($item->tableName(), "open_add_form", $item->id, Yii::app()->user->getId()); } if (!$item->id || $item->user_id->id == Yii::app()->user->getId()) { $message = !empty($status) && $status == 'saved' ? Yii::t("user", "Сохранено") : ""; // Описание объявления if (!empty($_POST["update"])) { if (!$item->id) { $isAdd = true; } else { $isAdd = false; } $item->setAttributesFromArray($_POST[$addClass]); //$item->is_resume = 0; if (!$item->date) { $item->date = time(); } if (!$item->id) { $item->user_id = Yii::app()->user->getId(); } if ($item->save()) { if ($isAdd) { $action = "create"; } else { $action = "edit"; } SiteHelper::setLog($item->tableName(), $action, $item->id, Yii::app()->user->getId()); $this->redirect(SiteHelper::createUrl("/user/" . Yii::app()->controller->getId() . "/description/", array("id" => $item->id, "status" => "saved"))); die; //if( !$isAdd )$message = "Описание успешно обновленно"; // else $message = "Запись успешно добавлена"; } // else $message = "Произошла ошибка обновления описания"; } $action = Yii::app()->request->getParam("action"); $gall_id = (int) Yii::app()->request->getParam("gall_id", 0); $comMessage = ""; $gallMessage = ""; if (!empty($gallError)) { $message = $gallError; } // Удаление фотографии if (!empty($action) && $gall_id > 0) { $comModel = CatGallery::fetch($gall_id); if ($comModel->id > 0 && $comModel->item_id == $item->id) { if ($action == "delGallery") { $comModel->delete(); $gallMessage = Yii::t("user", "Картинка удалена"); } } } $comm_id = (int) Yii::app()->request->getParam("comm_id", 0); if (!empty($action) && $comm_id > 0) { $comModel = CatComments::fetch($comm_id); if ($comModel->id > 0 && $comModel->item_id->id == $item->id) { if ($action == "delComment") { $comModel->delete(); $comMessage = Yii::t("user", "Комментарий удален"); } if ($action == "validComment") { $comModel->is_valid = 1; $comModel->save(); $comMessage = Yii::t("user", "Комментарий успешно опубликован"); } } } $addImage = new CatGalleryAdd(); if ($error == "gallError") { $addImage->addError("error upload", Yii::t("user", "Произошла ошибка добавления фото, попробуте заново или обратитеcь к тех. потдержке") . " ( Email : " . Yii::app()->params["supportEmail"] . " ) "); } if (!empty($_POST["sendGallery"])) { if ($id > 0) { $this->uploadImages((int) $id, get_class($item)); } } // Сохранение подписи для фотографий if (!empty($_POST["saveTitle"])) { $this->gallerySaveTitle(); } $listComments = CatComments::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => $item->tableName(), ":item_id" => $item->id))->setLimit(50)->setCache(0)); $listGallery = CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => $item->tableName(), ":item_id" => $item->id))->setLimit(50)->setCache(0)); $this->render("description", array("item" => $item, "firm" => null, "listGallery" => $listGallery, "message" => $message, "addImage" => $addImage, "comMessage" => $comMessage, "gallMessage" => $gallMessage, "listComments" => $listComments)); } } }
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; } } if (empty($id)) { $id = (int) Yii::app()->request->getParam("id", 0); } $error = Yii::app()->request->getParam("error", ""); $tab = Yii::app()->request->getParam("tab", ""); $tabArray = array("description", "pcomments", "tours"); if (!in_array($tab, $tabArray)) { $tab = ""; } // Ошибка при не правельно ID $error = Yii::t("page", "Произошла ошибка перехода на страницу, проверьте правильно написания адреса страницы"); if (empty($id) && !empty($_GET["slug"])) { $ar = explode("-", $_GET["slug"]); $id = $ar[0]; } if ($id > 0) { $item = CatalogFirmsInfo::fetch($id); if (empty($tab)) { $activeTab = "description"; } else { $activeTab = $tab; } if ($item->id > 0) { LogHelper::save("firms", $item->id, "show"); CCModelHelper::colCounter($item); $commentModel = new CatalogFirmsCommentsAdd(); if (!empty($_POST["send_comment"])) { $activeTab = "pcomments"; $commentModel->setAttributesFromArray($_POST["CatalogFirmsCommentsAdd"]); $commentModel->firm_id = $id; if (Yii::app()->user && Yii::app()->user->getId() > 0) { $commentModel->user_id = Yii::app()->user->getId(); } $commentModel->date = time(); if ($commentModel->save()) { $item->onFirmNewComment(new CEvent($commentModel), array("subject" => $commentModel->name, "firm_name" => $item->name, "date" => date("d.m.Y H:i"), "user_name" => $commentModel->fio, "description" => $commentModel->message, "link" => SiteHelper::createUrl("/user/firms/description", array("id" => $item->id, "tab" => "pcomments")))); $commentModel = new CatalogFirmsCommentsAdd(); $commentModel->formMessage = Yii::t("tours", "Сообщение отправлено, после модерации оно будет Опубликовано."); } } Yii::app()->page->title = $item->name . " - " . Yii::t("page", "туристическое агенство") . " " . $item->country_id->name_2 . " " . $item->city_id->name; // Поля про поиско по турам $tourClass = new CatalogToursFirms(); $arrSearchFieldsTours = $tourClass->getSearchAttributes(); $this->render('description', array("item" => $item, "activeTab" => $activeTab, "commentModel" => $commentModel, "otherFirms" => CatalogFirms::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("image>'' AND id!=:id")->setParams(array(":id" => $item->id))->setOrderBy("col DESC")->setLimit(8)), "listGallery" => CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:items_id")->setParams(array(":catalog" => "catalog_firms", ":items_id" => $item->id))->setLimit(15)), "arrSearchFieldsTours" => $arrSearchFieldsTours)); } else { throw new CHttpException("", "К сожалению описание данного тура не найденно в базе"); } } else { throw new CHttpException("", "К сожалению описание данного тура не найденно в базе"); } }
public function run($args) { // Расчет ретинга фирмы /* * описание * Сайт, Контакты, Адрес, большой текст с описанем * если не описания то - бал * галлерея * + бал за каждую картинку * - бал если нет не одной каринки * туры * + бал за каждый тур ( если есть рейтинг тура то вмест бала сумируем его если нет то просто 10 ) * если нет не одного тура то выставляет бал 0 * акции * + бал за каждую акцию * Коментарии и отзывы * + бал за каждый комментарий */ $count = 30; $lastFirm = CatCache::fetchBySlug("index_last_firm"); if ($lastFirm->date != date("Y-m-d")) { $lastFirm->value = 0; } $list = CatalogFirms::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("id>:id")->setParams(array(":id" => $lastFirm->value))->setLimit($count)->setOrderBy("id")); foreach ($list as $item) { $id = $item->id; $rating = 0; // Проверяем описание if ($item->www) { $rating += 10; } if ($item->tel && $item->email) { $rating += 10; } if ($item->description) { $rating += 10; if (strlen($item->description) > 500) { $rating += 20; } } else { $rating -= 10; } if ($item->image) { $rating += 10; } else { $rating -= 10; } // end ( Проверяем описание ) // Галлрея $images = CatGallery::count(DBQueryParamsClass::CreateParams()->setConditions("catalog='catalog_firms' AND item_id=:id")->setParams(array(":id" => $id))); if ($images > 0) { $rating += $images * 5; } else { $rating -= 10; } // Туры $tours = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:id")->setParams(array(":id" => $id))->setLimit(-1)); foreach ($tours as $tour) { if ($tour->rating > 0) { $rating += $tour->rating; } else { $rating += 10; } } if (sizeof($tours) == 0) { $rating = 0; } // Туры $tours = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:id")->setParams(array(":id" => $id))->setLimit(-1)); foreach ($tours as $tour) { if ($tour->rating > 0) { $rating += $tour->rating; } else { $rating += 10; } } if (sizeof($tours) == 0) { $rating = 0; } // Акции $sales = CatalogFirmsItems::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:id")->setParams(array(":id" => $id))); if ($sales > 0) { $rating += $sales * 5; } // Коментарии $comments = CatalogFirmsComments::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:id")->setParams(array(":id" => $id))); if ($comments > 0) { $rating += $comments * 5; } $item->rating = $rating; if (!$item->save()) { print_r($item->getErrors()); } } if ($item->id > 0) { $lastFirm->value = $item->id; $lastFirm->date = date("Y-m-d", mktime(date("h") + 1, 0, 0, date("m"), date("d"), date("Y"))); //echo $lastFirm->date."*".mktime( date("h")+1,0,0,date("m"),date("d"), date("Y") ); if (!$lastFirm->save()) { print_r($lastFirm->getErrors()); } } //echo "*"; }
static function objectCheck(CCModel $objectModel, array $param) { /* $itemParam["recomFields"] = array( "name", "description", "country_id", "image", "email", "www", "tel", "address" ); $itemParam["recomSizeFields"] = array( "description"=>500 ); $itemParam["image_count"] = 0; */ $cout = ""; $attributeLabels = $objectModel->attributeLabels(); $attributePlaceholder = $objectModel->attributePlaceholder(); // Проверяем опубликовано ли объявление if (!empty($param["check_visible"]) && $param["check_visible"] == true && $objectModel->active == 0) { $cout .= "<br/><h3 style='background-color: #6C0000;color: #fff;padding: 5px;text-align: center'>Вам нравится терять клиентов?</h3><p>Пользователи не видят Ваше объявление, так как вы его еще не опубликовали.<br/><b>Чего же Вы ждете?</b><br/>Переходите не странциу редактирование, проверьте еще раз все ли впорядке в описаниии Вашего объявления и нажимайте на кнопку [ Опубликовать на сайте? ].<br/></p><h4>Ваши клиенты ждут Вас!!!</h4>"; } // Определяем рекоменадции по if (sizeof($param["recomFields"]) > 0) { $recommendation = ""; foreach ($param["recomFields"] as $field) { if (!$objectModel->{$field}) { if (!empty($attributeLabels[$field])) { $recommendation .= "<li><b>" . $attributeLabels[$field] . "</b>" . (!empty($attributePlaceholder[$field]) ? ".<br/>" . $attributePlaceholder[$field] : "") . "</li>"; } else { $recommendation .= "<li>" . $field . "</li>"; } } } if (!empty($recommendation)) { $cout .= "<br/><h3 style=\"background-color: #6C0000;color: #fff;padding: 5px;text-align: center\">Привлеките больше внимания клентов </h3><p>Для привлечения максимального количества клентов мы советуем Вам заполнить следующие поля: <ul>" . $recommendation . "</ul> <br/> <b>Внимание!!!</b>Данные именно этих полей анализируются, для того чтобы определить позицию объявления в поиске. И соответсвенно чем качественнее Вы заполните указанные поля, тем лучшую позицию сможет занять Ваше объявление. </p>"; } } // Проверяем размероность полей if (sizeof($param["recomSizeFields"]) > 0) { $recommendationSize = ""; foreach ($param["recomSizeFields"] as $field => $value) { $fieldValue = trim(strip_tags($objectModel->{$field})); if ($objectModel->{$field} && strlen($fieldValue) < $param["recomSizeFields"][$field]) { $fieldName = !empty($attributeLabels[$field]) ? $attributeLabels[$field] : $field; $recommendationSize .= "<li>Для поля \"<b>" . $fieldName . "</b>\" мы рекомендуем размер - " . $param["recomSizeFields"][$field] . " знаков, а Вы указали только " . strlen($fieldValue) . " знаков.</li>"; } } if (!empty($recommendationSize)) { $cout .= "<br/><h3 style=\"background-color: #6C0000;color: #fff;padding: 5px;text-align: center\">Заполняйте поля качественно</h3><p>Мы советуем Вам заполнять чественной и удобно читаемой информацией, именно поэтоу мы рекомендуем Вам внести следующие изминения:\n<ul>" . $recommendationSize . "</ul></p>"; } } // Если указанны рекомендации по количеству картинок if ($param["image_count"] > 0) { $count = CatGallery::count(DBQueryParamsClass::CreateParams()->setConditions("item_id=:fid AND catalog=:catalog")->setParams(array(":fid" => $objectModel->id, ":catalog" => $objectModel->tableName()))->setCache(0)); if ($count < $param["image_count"]) { $cout .= "<br/><h3 style=\"background-color: #6C0000;color: #fff;padding: 5px;text-align: center\">Украшайте свое объявление красочными фотографиями</h3>"; if ($count == 0) { $cout .= "<p>Вы не загрузили не одной фотографии для Вашего объявления - так не пойдет.<br/>\nЕсли Вы действительно хотите привлечь внимание к своему объвлению то Вам необходимо добавить картинки к своему объявлению.<br/>\nМы рекомендуем Вам добавить как минимум: " . $param["image_count"] . " фото</p>"; } if ($count > 0) { $cout .= "<p>Вы загрузили всего <b>" . $count . "</b> фото, а что больше нет?<br/>Чем больше фото вы загрузите тем лехче заинтересовать пользователя в Ваших услугах. Именно поэтому мы рекомендуем минимум " . $param["image_count"] . " фото, а максимум 10 фото.</p>"; } } } // Если указанно рекомендуемое количетсво записей if (!empty($param["item_count"]) && $param["item_count"] > 0 && empty($cout)) { $objectClass = SiteHelper::getCamelCase($objectModel->tableName()); $countItems = $objectClass::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:fid")->setParams(array(":fid" => $objectModel->firm_id->id))); if ($countItems < $param["item_count"]) { $cout .= "<br/><h3 style=\"background-color: #6C0000;color: #fff;padding: 5px;text-align: center\">Не останавливайтесь на достигнутом</h3>Вы добавили всего <b>" . $countItems . "</b> запись(ей), мы же рекомендуем добавить как минимум <b>" . $param["item_count"] . "</b> запись(ей).<br/>Имейте ввиду чем больше бы добавите услуг компании тем больше получите потенциальных клиентов"; } } return $cout; }
public function run($args) { // Расчет ретинга фирмы /* + Заполленность описания 40 если не заполнено - 30 + Заполленность ПРОГРАММЫ 40 если не заполнено - 30 + Заполленность ЦЕНЫ 80 если не заполнено - 30 + Заполенность ЦЕНЫ И ВАЛЮТЫ 100 - если не заполнена цена - 100 не учитывать если не заполнено валюта + Заполенность ВКЛЮЧННО 40 если не заполнено - 30 + Заполенность НЕ ВКЛЮЧННО 20 + Заполенность ВНИМАНИЕ 20 + Заполенность ДЛИТЕЛЬНОСТЬ 40 если не заполнено - 30 + Галлерея + 10 за каждую, но учитывать только 5 Если нет не одной то -50 Если меньше 3 то -20 */ $count = 100; $lastFirm = CatCache::fetchBySlug("index_last_tours"); if ($lastFirm->date != date("Y-m-d")) { $lastFirm->value = 0; } $list = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("id>:id")->setParams(array(":id" => $lastFirm->value))->setLimit($count)); foreach ($list as $item) { $id = $item->id; $rating = 0; // Проверяем описание if ((int) $item->price > 0) { $rating += 100; if ($item->currency_id->id > 0) { $rating += 50; } } else { $rating -= 50; } if ($item->description) { if (strlen(trim(strip_tags($item->description))) > 200) { $rating += 100; } } 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(array(":id" => $id))); if ($images > 0) { if (sizeof($images) > 3) { if (sizeof($images) > 5) { $rating += 80; } else { $rating += sizeof($images) * 10; } } else { $rating -= 30; } } $item->rating = $rating; if (!$item->save()) { print_r($item->getErrors()); } if ($item->id > 0) { $lastFirm->value = $item->id; $lastFirm->date = date("Y-m-d", mktime(date("h") + 1, 0, 0, date("m"), date("d"), date("Y"))); //echo $lastFirm->date."*".mktime( date("h")+1,0,0,date("m"),date("d"), date("Y") ); if (!$lastFirm->save()) { print_r($lastFirm->getErrors()); } } } }
public function actionSetPublish() { $id = (int) Yii::app()->request->getParam("id", 0); $catalog = Yii::app()->request->getParam("catalog"); if ($id > 0 && !empty($catalog)) { $newCatalog = new $catalog(); $modelClass = SiteHelper::getCamelCase($newCatalog->tableName()); $model = $modelClass::fetch($id); $listImages = CatGallery::findByAttributes(array("catalog" => $newCatalog->tableName(), "item_id" => $id)); $imagesMin = SiteHelper::getConfig("publish_min_images"); $sizeofImages = sizeof($listImages); if ($model->image) { $sizeofImages++; } // Для CatalogFirmsBannersAdd не должно влиять ограичение перед публиацией по количесву картинок if ($sizeofImages >= $imagesMin || $catalog == "CatalogFirmsBannersAdd" || $catalog == "CatalogFirmsBanners") { $error = false; $commentModel = $catalog::fetch($id); if (($catalog == "CatalogFirmsBannersAdd" || $catalog == "CatalogFirmsBanners") && !$commentModel->file) { $error = true; } if ($commentModel->user_id->id != Yii::app()->user->getId() && $commentModel->firm_id->user_id->id != Yii::app()->user->getId()) { $error = true; } if (!$error) { if ($commentModel->user_id && $commentModel->user_id->id > 0) { $id = $commentModel->user_id->id; } else { $id = $commentModel->firm_id->user_id->id; } if ($commentModel->id > 0 && $id == Yii::app()->user->getId()) { if ($commentModel->active == 0) { $commentModel->active = 1; $action = "publish"; } else { $commentModel->active = 0; $action = "nopublish"; } SiteHelper::setLog($newCatalog->tableName(), $action, $commentModel->user_id->id, Yii::app()->user->getId()); if ($commentModel->save()) { echo 1; } else { print_r($commentModel->getErrors()); } return; } } } else { echo 3; return; } } echo 0; return; }
public static function getImages(CCModel $itemObject, $limit = 10) { if ($itemObject->id > 0) { // Так как у нас картинки сохраненны только для русской версии, то если язык другой то проверяем базовую таблицы ( без EN ) $tableName = $itemObject->tableName(); if (Yii::app()->getLanguage() != "ru") { $arr = explode("_", $tableName); unset($arr[sizeof($arr) - 1]); $tableName = implode("_", $arr); } $queryParams = DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:id")->setParams(array(":catalog" => $tableName, ":id" => $itemObject->id))->setLimit($limit)->setCache(0); return CatGallery::fetchAll($queryParams); } return false; }
</div> <div class="GGardens"> <?php $listCardens = CatalogGardens::findByAttributes(array("country" => $country->id)); foreach ($listCardens as $garden) { ?> <div class="GGTitle"><?php echo $garden->name; ?> </div> <div class="GPlaces"> <?php $lisPlaces = CatalogGardensPlaces::findByAttributes(array("garden_id" => $garden->id)); foreach ($lisPlaces as $place) { $countTree = CatalogGardensTree::count(DBQueryParamsClass::CreateParams()->setConditions("place_id=:place_id")->setParams(array(":place_id" => $place->id))); $countImages = CatGallery::count(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => "catalog_gardens_places", ":item_id" => $place->id))); ?> <div clas="GPItems<?php if ($id > 0 && $id == $place->id) { ?> GPSel<?php } ?> "><a href="<?php echo SiteHelper::createUrl("/gallery/index", array("id" => $place->id)); ?> " title="<?php echo $country->name; ?> , <?php echo $garden->name;
public function actionDescription($gallError = "") { if (!Yii::app()->user->isGuest) { Yii::app()->page->title = Yii::t("page", "Описание"); $id = (int) Yii::app()->request->getParam("id", 0); $status = Yii::app()->request->getParam("status", ""); $error = Yii::app()->request->getParam("error", ""); $addClass = $this->addModel; if (!empty($id)) { $item = $addClass::fetch($id); } else { $item = new $addClass(); SiteHelper::setLog($item->tableName(), "open_add_form", $item->id, Yii::app()->user->getId()); } if (!$item->id || ($item->user_id && $item->user_id->id == Yii::app()->user->getId() || $item->firm_id && $item->firm_id->user_id->id == Yii::app()->user->getId())) { if (property_exists($item, "firm_id") && $item->firm_id) { $firm = $item->firm_id; } if (!property_exists($item, "firm_id") && $item->id) { $firm = $item; } if (empty($firm) || $firm->id == 0) { $fid = (int) Yii::app()->request->getParam("fid", 0); $firm = CatalogFirms::fetch($fid); } $message = !empty($status) && $status == 'saved' ? Yii::t("user", "Сохранено") : ""; // Описание объявления if (!empty($_POST["update"])) { if (!$item->id) { $isAdd = true; } else { $isAdd = false; } $item->setAttributesFromArray($_POST[$addClass]); //$item->is_resume = 0; if (!$item->date) { $item->date = time(); } if (property_exists($item, "edit_date")) { $item->edit_date = time(); } $item->user_id = Yii::app()->user->getId(); if ($item->save()) { if ($isAdd) { $action = "create"; } else { $action = "edit"; } SiteHelper::setLog($item->tableName(), $action, $item->id, Yii::app()->user->getId()); switch (Yii::app()->controller->getId()) { case "firms": LogHelper::saveCatLogEdit(1, 0); break; case "tours": LogHelper::saveCatLogEdit(0, 1); break; } $arrayParam = array("id" => $item->id, "status" => "saved"); if ($firm->id > 0) { $arrayParam["fid"] = $firm->id; } switch ($item->tableName()) { case "catalog_firms": $item->onAddFirm(new CModelEvent($item), array()); break; case "catalog_tours": $item->onAddTour(new CModelEvent($item), array()); break; case "catalog_firms_items": $item->onAddFirmsItems(new CModelEvent($item), array()); break; case "catalog_firms_service": $item->onAddFirmsService(new CModelEvent($item), array()); break; case "catalog_firms_banner": $item->onAddFirmsBanners(new CModelEvent($item), array()); break; } // Добавляем в очередь на нотификацию // В течении 24 часов после добавления или сохранения пользователю приходят уведомления // О том что заполнил не полностью, не опубликовал, не добавил картинок и т.д. AutoNotifier::addInNotificationsQueue($item->tableName(), $item->id); $this->redirect(SiteHelper::createUrl("/user/" . Yii::app()->controller->getId() . "/description/", $arrayParam)); die; } } $action = Yii::app()->request->getParam("action"); $gall_id = (int) Yii::app()->request->getParam("gall_id", 0); $comMessage = ""; $gallMessage = ""; if (!empty($gallError)) { $message = $gallError; } // Удаление фотографии if (!empty($action) && $gall_id > 0) { $comModel = CatGallery::fetch($gall_id); if ($comModel->id > 0 && $comModel->item_id == $item->id) { if ($action == "delGallery") { $comModel->delete(); $gallMessage = Yii::t("user", "Картинка удалена"); } } } $comm_id = (int) Yii::app()->request->getParam("comm_id", 0); if (!empty($action) && $comm_id > 0) { $comModel = CatComments::fetch($comm_id); if ($comModel->id > 0 && $comModel->item_id->id == $item->id) { if ($action == "delComment") { $comModel->delete(); $comMessage = Yii::t("user", "Комментарий удален"); } if ($action == "validComment") { $comModel->is_valid = 1; $comModel->save(); $comMessage = Yii::t("user", "Комментарий успешно опубликован"); } } } $addImage = new CatGalleryAdd(); if ($error == "gallError") { $addImage->addError("error upload", Yii::t("user", "Произошла ошибка добавления фото, попробуте заново или обратитеcь к тех. потдержке") . " ( Email : " . Yii::app()->params["supportEmail"] . " ) "); } if (!empty($_POST["sendGallery"])) { if ($id > 0) { $this->uploadImages((int) $id, get_class($item)); } } // Сохранение подписи для фотографий if (!empty($_POST["saveTitle"])) { $this->gallerySaveTitle(); } $listComments = CatComments::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => $item->tableName(), ":item_id" => $item->id))->setLimit(50)->setCache(0)); $listGallery = CatGallery::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("catalog=:catalog AND item_id=:item_id")->setParams(array(":catalog" => $item->tableName(), ":item_id" => $item->id))->setLimit(50)->setCache(0)); if (!empty($message)) { $item->formMessage = $message; } $this->render("description", array("item" => $item, "firm" => $firm, "listGallery" => $listGallery, "message" => $message, "addImage" => $addImage, "comMessage" => $comMessage, "gallMessage" => $gallMessage, "listComments" => $listComments)); } } }