Пример #1
0
 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", "Ошибка перехода на страницу"));
     }
 }
Пример #2
0
 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));
     }
 }
Пример #3
0
 /**
  * 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("/");
     }
 }
Пример #4
0
 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));
 }