public function actionSave()
 {
     $addModel = new CatalogItemsAdd();
     if (!empty($_POST["CatalogItemsAdd"]) && !Yii::app()->user->isGuest) {
         $addModel->setAttributesFromArray($_POST["CatalogItemsAdd"]);
         $addModel->user_id = Yii::app()->user->getId();
         $addModel->status_id = 1;
         $addModel->active = 1;
         $addModel->date = time();
         if ($addModel->save()) {
             $id = $addModel->id;
             SiteHelper::setLog($addModel->tableName(), "add", $addModel->id, Yii::app()->user->getId());
             $this->redirect(SiteHelper::createUrl("/adsUsers", array("saved" => $id)));
         } else {
             $p = (int) Yii::app()->request->getParam("p", 1);
             $items = CatalogItems::fetchAll(DBQueryParamsClass::CreateParams()->setCache(0)->setLimit(25)->setPage($p)->setOrderBy("id DESC"));
             $this->render("index", array("items" => $items, "categoryModel" => new CatalogItemsCategory(), "addModel" => $addModel));
         }
     }
 }
示例#2
0
 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));
         }
     }
 }
示例#3
0
 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;
 }
示例#4
0
 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));
         }
     }
 }
 public function actionDescription($gallError = "")
 {
     $_POST["CatalogFirmsBannersAdd"]["firm_id"] = $this->firmId;
     $_POST["CatalogFirmsBannersAdd"]["user_id"] = Yii::app()->user->getId();
     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());
         }
         $count = CatalogBannerRequest::count();
         $maxCount = SiteHelper::getConfig("banner_max_count");
         $checkedRequest = CatalogBannerRequest::findByAttributes(array("banner_id" => $item->id));
         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();
                 }
                 $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());
                     if (!empty($_POST["banner_request"])) {
                         if ($count < $maxCount) {
                             if (sizeof($checkedRequest) == 0) {
                                 $newRequest = new CatalogBannerRequest();
                                 $newRequest->banner_id = $item->id;
                                 $newRequest->date = time();
                                 $newRequest->active = 0;
                                 $newRequest->save();
                                 $newRequest->onBannerRequest(new CModelEvent($newRequest), array("id" => $newRequest->id, "date" => date("d.m.Y")));
                             }
                         }
                     }
                     $this->redirect(SiteHelper::createUrl("/user/" . Yii::app()->controller->getId() . "/description/", array("id" => $item->id, "fid" => $firm->id, "status" => "saved")));
                     die;
                 }
             }
             $this->render("description", array("checkedRequest" => sizeof($checkedRequest), "count" => $count, "maxCount" => $maxCount, "item" => $item, "firm" => $firm, "listGallery" => array(), "message" => $message, "addImage" => null, "comMessage" => "", "gallMessage" => "", "listComments" => array()));
         }
     }
 }
示例#6
0
 static function lostPasswordConfirm($event)
 {
     $userSender = $event->sender[0];
     $user = CatalogUsers::fetch($userSender->user_id->id);
     $user->password = md5($_POST["CatalogUsersLostConfirm"]["password"]);
     $user->save();
     SiteHelper::setLog("catalog_users", "lost_password", $user->id);
     if ($user->hasErrors() && sizeof($user) > 0) {
         $errors = "Ошибка сохранение нового пароля: ";
         foreach ($user->getErrors() as $data) {
             foreach ($data as $key => $value) {
                 $errors .= $value . ", ";
             }
         }
         throw new Exception($errors);
     } else {
         // Отправляем письмо уведомления о смене пароля
         Yii::app()->notifications->send("lostpassword_save", ["mail"], $user->id);
     }
 }