public function actionDescription() { Yii::app()->page->setInfo(array("description" => $this->description, "keyWord" => $this->keyWord)); $id = 0; $class = $this->classModel; if (!empty($_GET["slug"])) { // echo $class."|".$_GET[ "slug" ]."-"; $model = $class::fetchBySlug(trim($_GET["slug"])); if ($model->id > 0) { $_GET["id"] = $model->id; $id = $model->id; } } //die; if ($id > 0) { $item = CatalogItems::fetch($id); $item->setColView(); if ($item->id > 0) { Yii::app()->page->title = $item->name; $this->render('description', array("item" => $item, "otherHotels" => CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("category_id=:category_id AND id!=:id")->setParams(array(":category_id" => $item->category_id->id, ":id" => $item->id))->setOrderBy("col DESC")->setLimit(8)), "usersOther" => CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("user_id=:user_id AND id!=:id")->setParams(array(":user_id" => $item->user_id->id, ":id" => $item->id))->setOrderBy("col DESC")->setLimit(8)))); } else { throw new CHttpException("Ошибка", Yii::t("page", "Ошибка перехода на страницу")); } } else { throw new CHttpException("Ошибка", Yii::t("page", "Ошибка перехода на страницу")); } }
public function actionIndex() { if (!Yii::app()->user->isGuest) { $message = ""; Yii::app()->page->title = Yii::t("user", "Избранное"); $userModel = CatalogUsers::fetch(Yii::app()->user->id); $del = (int) Yii::app()->request->getParam("del", 0); if ($del > 0) { Yii::app()->favorites->delete($del, "catalog_items"); } $list = Yii::app()->favorites->getListId("catalog=:catalog", array(":catalog" => "catalog_items")); if (sizeof($list) > 0) { $sql = " ( "; foreach ($list as $key => $value) { if ($sql != " ( ") { $sql .= " OR "; } $sql .= "id='" . $value . "'"; } $sql .= " )"; $items = CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("status_id=1")->setConditions($sql)->setCache(0)); } else { $items = array(); } $this->render("index", array("message" => $message, "items" => $items, "userModel" => $userModel)); } }
/** * This is the default 'index' action that is invoked * when an action is not explicitly requested by users. */ public function actionIndex() { Yii::app()->page->title = "Описание продукции"; $id = (int) Yii::app()->request->getParam("id", 0); if ($id > 0) { $item = CatalogItems::fetchParam($id); $otherItem = CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("id!=:id AND category_id=:cid")->setParams(array(":id" => $item->id, ":cid" => $item->category_id->id))->setOrderBy("price")->setLimit(10)); $hotItem = CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("id!=:id AND is_hot=:hot")->setParams(array(":id" => $item->id, ":hot" => 1))->setOrderBy("price")->setLimit(10)); if ($item->id > 0) { $favorites = Yii::app()->request->getParam("favorites", ""); if ($favorites == "add") { $res = Yii::app()->favorites->add("catalog_items", $item->id); } $newComment = new CatalogItemsCommentsAdd(); // Сохраняем комментарий if (!empty($_POST["sentComment"])) { $newComment->setAttributesFromArray($_POST["CatalogItemsCommentsAdd"]); $newComment->date = time(); $newComment->user_id = Yii::app()->user->id; $newComment->item_id = $id; if ($newComment->save()) { $newComment->formMessage = "Комментарий успешно отправлен."; $newComment->onNewComment(new CModelEvent($newComment), array("id" => $item->id, "name" => $item->name, "subject" => $newComment->subject, "link" => SiteHelper::createUrl("/user/items/index", array("id" => $newComment->item_id)))); } } $listComments = CatalogItemsComments::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("item_id=:item_id AND is_valid=1")->setParams(array(":item_id" => $item->id))->setOrderBy("date DESC")); $this->render("item", array("item" => $item, "otherItem" => $otherItem, "hotItem" => $hotItem, "addForm" => $newComment, "listComments" => $listComments)); } else { $this->redirect("/"); } } else { $this->redirect("/"); } }
public function paramFind() { // Надо определить параметры основные и дополнительные // затем исполльзую SQL запросом найти все записи из таблицы CatalogItems $paramsTable = $_POST["paramsTable"]; $paramsTable = str_replace("'", "", $paramsTable); //$paramsTable = mysql_real_escape_string( $paramsTable ); $paramsModel = new $paramsTable(); $sql = "SELECT i.* FROM catalog_items i, " . $paramsModel->tableName() . " p WHERE i.id = p.item_id "; foreach ($_POST as $key => $value) { if (!is_array($value)) { if (property_exists("CatalogItems", $key) && !empty($value)) { $value = str_replace("'", "", $value); //$value = mysql_real_escape_string( $value ); if (!empty($sql)) { $sql .= " AND "; } $sql .= " i.`" . $key . "`='" . $value . "' "; } } else { foreach ($value as $key2 => $value2) { if (property_exists($paramsTable, $key2) && !empty($value2)) { if (!empty($sql)) { $sql .= " AND "; } $sql .= " p.`" . $key2 . "`='" . $value2 . "' "; } } } } $items = CatalogItems::sql($sql); $itemsModels = array(); for ($i = 0; $i < sizeof($items); $i++) { if ($items[$i]["id"] == 0) { continue; } $newObject = new CatalogItems(); $itemsModels[] = $newObject->setAttributesFromArray($items[$i]); } $this->render("params", array("items" => $itemsModels)); }