Beispiel #1
0
 /**
  * Creates a new Post model.
  * For ajax request will return json object
  * and for non-ajax request if creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $request = Yii::$app->request;
     $model = new Post();
     if ($request->isAjax) {
         /*
          *   Process for ajax request
          */
         Yii::$app->response->format = Response::FORMAT_JSON;
         if ($request->isGet) {
             return ['code' => '200', 'message' => 'OK', 'data' => $this->renderPartial('create', ['model' => $model])];
         } else {
             if ($model->load($request->post()) && $model->save()) {
                 return ['code' => '200', 'message' => 'Create Post success'];
             } else {
                 return ['code' => '400', 'message' => 'Validate error', 'data' => $this->renderPartial('create', ['model' => $model])];
             }
         }
     } else {
         /*
          *   Process for non-ajax request
          */
         if ($model->load($request->post()) && $model->save()) {
             return $this->redirect(['view', 'id' => $model->id]);
         } else {
             return $this->render('create', ['model' => $model]);
         }
     }
 }
Beispiel #2
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'update' page.
  *
  * @param integer $post_type post_type_id
  *
  * @throws \yii\web\ForbiddenHttpException
  * @throws \yii\web\NotFoundHttpException
  * @return mixed
  */
 public function actionCreate($post_type)
 {
     $model = new Post();
     $postType = $this->findPostType($post_type);
     $model->post_comment_status = Option::get('default_comment_status');
     if (!Yii::$app->user->can($postType->post_type_permission)) {
         throw new ForbiddenHttpException(Yii::t('writesdown', 'You are not allowed to perform this action.'));
     }
     if ($model->load(Yii::$app->request->post())) {
         $model->post_type = $postType->id;
         $model->post_date = Yii::$app->formatter->asDatetime($model->post_date, 'php:Y-m-d H:i:s');
         if ($model->save()) {
             if ($termIds = Yii::$app->request->post('termIds')) {
                 foreach ($termIds as $termId) {
                     $termRelationship = new TermRelationship();
                     $termRelationship->setAttributes(['term_id' => $termId, 'post_id' => $model->id]);
                     if ($termRelationship->save() && ($term = $this->findTerm($termId))) {
                         $term->updateAttributes(['term_count' => $term->term_count++]);
                     }
                 }
             }
             if ($meta = Yii::$app->request->post('meta')) {
                 foreach ($meta as $meta_name => $meta_value) {
                     $model->setMeta($meta_name, $meta_value);
                 }
             }
             Yii::$app->getSession()->setFlash('success', Yii::t('writesdown', '{post_type} successfully saved.', ['post_type' => $postType->post_type_sn]));
             return $this->redirect(['update', 'id' => $model->id]);
         }
     }
     return $this->render('create', ['model' => $model, 'postType' => $postType]);
 }
Beispiel #3
0
 public function createPost()
 {
     $newPost = new Post();
     $newPost['title'] = $this->title;
     $newPost['content'] = $this->content;
     $newPost['permit'] = $this->permit[0];
     if ($this->upload()) {
         $newPost['image'] = $this->thumbnail;
     }
     if ($this->date == "") {
         $newPost['create_at'] = date("Y-m-d");
     } else {
         $newPost['create_at'] = $this->date;
     }
     $newPost['user_id'] = $this->user_id;
     $newPost->save();
     if ($newPost['permit'] == 2) {
         foreach ($this->reader as $userId) {
             $newPostProtected = new PostProtected();
             $newPostProtected['create_at'] = $newPost['create_at'];
             $newPostProtected['post_id'] = $newPost['id'];
             $newPostProtected['user_id'] = $userId;
             $newPostProtected->save();
         }
     }
 }
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         $redirect = yii::$app->request->post('goto') == 'list' ? ['index'] : ['update', 'id' => $model->id];
         return $this->redirect($redirect);
     }
     return $this->render('create', ['model' => $model]);
 }
Beispiel #5
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Beispiel #6
0
 /**
  * Создание поста.
  * @return string|Response
  */
 public function actionCreate()
 {
     $model = new Post();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         $model->author_id = Yii::$app->user->id;
         return $this->render('create', ['model' => $model, 'category' => Category::find()->all(), 'tags' => Tags::find()->all(), 'authors' => User::find()->all()]);
     }
 }
Beispiel #7
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     $user_id = yii::$app->getUser()->id;
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         //return $this->redirect(['view', 'model' => $model]);
         return $this->redirect(['index', 'user_id' => $user_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Beispiel #8
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     //$authot = new User();
     //$authot->attributes='selected';
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model, 'category' => Category::find()->all(), 'autor' => User::find()->all()]);
     }
 }
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     $categoryModel = new CategoryPost();
     $treeParents = TreeHelper::build($categoryModel->find()->addOrderBy('tree')->addOrderBy('lft')->all());
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['index']);
     } else {
         return $this->render('create', ['model' => $model, 'treeParents' => $treeParents]);
     }
 }
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         foreach (Category::getCategoriesById($model->categories_id) as $category) {
             $model->link('categories', $category);
         }
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Beispiel #11
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     if ($model->load(Yii::$app->request->post())) {
         $model->created_at = time();
         $model->updated_at = time();
         if ($model->save()) {
             return $this->redirect(['view', 'id' => $model->id]);
         }
     } else {
         return $this->render('create', ['model' => $model, 'category' => Category::find()->all()]);
     }
 }
Beispiel #12
0
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     $model->type = 'post';
     $model->user_id = \Yii::$app->user->id;
     if ($model->load(Yii::$app->request->post())) {
         $model->category_id = implode(',', $model->category_id);
         if ($model->save()) {
             return $this->redirect(['view', 'id' => $model->id]);
         }
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 public function actionAddPost()
 {
     $post = new Post();
     $user = Yii::$app->user->identity;
     $post->load(Yii::$app->request->post(), '');
     $post->user_id = $user->id;
     $post->img = UploadedFile::getInstanceByName('image');
     if ($post->save()) {
         if ($post->img) {
             $post->saveImage();
         }
         return $post;
     } else {
         return $post->getErrors();
     }
 }
Beispiel #14
0
 /**
  * Creates a new Content model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     $model->allowComment = true;
     $model->allowFeed = true;
     $model->allowPing = true;
     if (Yii::$app->request->isPost) {
         if ($model->load(Yii::$app->request->post())) {
             $model->inputCategories = Yii::$app->request->post('inputCategories', []);
             $model->inputTags = Yii::$app->request->post('inputTags', []);
             $model->inputAttachments = Yii::$app->request->post('inputAttachments', []);
             if ($model->save()) {
                 return $this->redirect(['index']);
             }
         }
     }
     return $this->render('create', ['model' => $model]);
 }
 public function actionCreate($url)
 {
     exit;
     $html = SimpleHtmlDom::file_get_html($url);
     foreach ($html->find('ul[id="news_home"] li') as $item) {
         $model = new Post();
         $image = str_replace('_240x144', null, $item->find('img', 0)->src);
         $model['category_id'] = 1;
         $model['title'] = trim($item->find('a[class="title_tin"]', 0)->plaintext);
         $model['image'] = $this->saveImage($image);
         $detail = $item->find('a[class="title_tin"]', 0)->href;
         $html_detail = SimpleHtmlDom::file_get_html($detail);
         $summary = $html_detail->find('p[class="lead"]', 0)->plaintext;
         $content = strip_tags($html_detail->find('div[class="fck_detail width_common"]', 0)->innertext, '<img><strong><br /><br><p>');
         $model['content'] = $summary . $content;
         $model->save();
     }
 }
Beispiel #16
0
 public function actionNewPost()
 {
     $this->checkIsGuest();
     $data = $this->getPostValue('Post');
     $threadId = $data['thread_id'];
     $post = new Post();
     $post->thread_id = $threadId;
     $post->user_id = $this->identity->id;
     $post->user_name = $this->identity->username;
     $post->title = isset($data['title']) ? $data['title'] : '';
     $post->body = $data['body'];
     $post->create_time = $this->getCurrentTime();
     $post->modify_time = $this->getCurrentTime();
     $post->supports = 0;
     $post->againsts = 0;
     $post->floor = 0;
     $post->note = '';
     if ($post->save()) {
         Thread::updateAllCounters(['posts' => 1], ['id' => $threadId]);
     }
     return $this->redirect(['view', 'id' => $post->thread_id]);
 }
Beispiel #17
0
 public function actionNewPost()
 {
     if (!YiiForum::checkAuth('post_add')) {
         return $this->noPermission();
     }
     YiiForum::checkIsGuest();
     $post = new Post();
     $threadId = YiiForum::getGetValue('threadid');
     $data = YiiForum::getPostValue('Post');
     if ($data == null) {
         $thread = Thread::findOne(['id' => $threadId]);
         $locals = [];
         $locals['thread'] = $thread;
         $locals['currentBoard'] = $this->getBoard($thread['board_id']);
         $locals['model'] = $post;
         return $this->render('new-post', $locals);
     }
     $boardId = $data['board_id'];
     $threadId = $data['thread_id'];
     $threadTitle = $data['thread_title'];
     $post->thread_id = $threadId;
     $post->user_id = YiiForum::getIdentity()->id;
     $post->user_name = YiiForum::getIdentity()->username;
     $post->title = isset($data['title']) ? $data['title'] : '';
     $post->body = $data['body'];
     $post->create_time = TTimeHelper::getCurrentTime();
     $post->modify_time = TTimeHelper::getCurrentTime();
     $post->supports = 0;
     $post->againsts = 0;
     $post->floor = 0;
     $post->note = '';
     if ($post->save()) {
         Thread::updateLastData($threadId);
         Board::updateLastData($boardId, $threadId, $threadTitle, false);
     }
     return $this->redirect(['view', 'id' => $threadId]);
 }
Beispiel #18
0
 /**
  * 删除帖子
  * @param Post $post
  */
 public static function delete(Post $post)
 {
     $post->setAttributes(['status' => Post::STATUS_DELETED]);
     $post->save();
     Notification::updateAll(['status' => Post::STATUS_DELETED], ['post_id' => $post->id]);
 }
 /**
  * Creates a new Post model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Post();
     $model->tags = [];
     // default values
     $model->allow_comment = 1;
     $model->is_public = 1;
     $model->content_category_id = Post::CATEGORY_NEWS;
     $model->user_id = Yii::$app->user->id;
     $model->is_pin = 0;
     $model->with_photo = 0;
     $model->with_video = 0;
     $matchModel = new \common\models\MatchSearch();
     $relation = new Relation();
     $relation->relationable_type = Relation::RELATIONABLE_POST;
     $matches = $matchModel::find()->orderBy(['date' => SORT_DESC])->limit(10)->all();
     $matchesList = [];
     foreach ($matches as $match) {
         $matchDate = date('d.m.Y', strtotime($match->date));
         $matchesList[$match->id] = $match->name . ' (' . $matchDate . ')';
     }
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         // Save the model to have a record number
         if (!$model->save()) {
             return $this->render('create', ['model' => $model]);
         }
         // Adding new tags
         if (is_array($model->tags)) {
             foreach ($model->tags as $id) {
                 $model->addTag($id);
             }
         }
         $cached_tag_list = [];
         $newTags = $model->getTags();
         foreach ($newTags as $newTag) {
             $cached_tag_list[] = $newTag->name;
         }
         $model->cached_tag_list = implode(', ', $cached_tag_list);
         // Set image
         $uploadedFile = UploadedFile::getInstance($model, 'image');
         if ($uploadedFile) {
             // Save origionals
             $asset = new Asset();
             $asset->assetable_type = Asset::ASSETABLE_POST;
             $asset->assetable_id = $model->id;
             $asset->uploadedFile = $uploadedFile;
             $asset->saveAsset();
             // Save thumbnails
             $imageID = $asset->id;
             $thumbnails = Asset::getThumbnails(Asset::ASSETABLE_POST);
             foreach ($thumbnails as $thumbnail) {
                 $asset = new Asset();
                 $asset->parent_id = $imageID;
                 $asset->thumbnail = $thumbnail;
                 $asset->assetable_type = Asset::ASSETABLE_POST;
                 $asset->assetable_id = $model->id;
                 $asset->uploadedFile = $uploadedFile;
                 $asset->saveAsset();
             }
         }
         $relation->relationable_id = $model->id;
         if ($relation->load(Yii::$app->request->post()) && $model->validate()) {
             if ($relation->parent_id != '' && is_array($relation->parent_id)) {
                 $relation->parent_id = $relation->parent_id[0];
             }
             if ($relation->parent_id && is_numeric($relation->parent_id)) {
                 $relation->save();
             }
         }
         $model->save();
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model, 'relation' => $relation, 'matchModel' => $matchModel, 'matchesList' => $matchesList]);
     }
 }
 /**
  * Url: /post/add
  * @return mixed
  * @throws ForbiddenHttpException
  */
 public function actionPostAdd()
 {
     if (Yii::$app->user->isGuest) {
         throw new ForbiddenHttpException("Вы не можете выполнить это действие.");
     }
     $model = new Post();
     $model->content_category_id = Post::CATEGORY_BLOG;
     $model->tags = [];
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $model->allow_comment = 1;
         $model->is_public = 1;
         $model->content_category_id = Post::CATEGORY_BLOG;
         $model->user_id = Yii::$app->user->id;
         // Set slug
         $model->slug = $model->genSlug($model->title);
         // Save the model to have a record number
         if ($model->save()) {
             // Adding new tags
             if (is_array($model->tags)) {
                 foreach ($model->tags as $id) {
                     $model->addTag($id);
                 }
             }
             $cached_tag_list = [];
             $newTags = $model->getTags();
             foreach ($newTags as $newTag) {
                 $cached_tag_list[] = $newTag->name;
             }
             $model->cached_tag_list = implode(', ', $cached_tag_list);
             // Set image
             $uploadedFile = UploadedFile::getInstance($model, 'image');
             if ($uploadedFile) {
                 // Save origionals
                 $asset = new Asset();
                 $asset->assetable_type = Asset::ASSETABLE_POST;
                 $asset->assetable_id = $model->id;
                 $asset->uploadedFile = $uploadedFile;
                 $asset->saveAsset();
                 // Save thumbnails
                 $imageID = $asset->id;
                 $thumbnails = Asset::getThumbnails(Asset::ASSETABLE_POST);
                 foreach ($thumbnails as $thumbnail) {
                     $asset = new Asset();
                     $asset->parent_id = $imageID;
                     $asset->thumbnail = $thumbnail;
                     $asset->assetable_type = Asset::ASSETABLE_POST;
                     $asset->assetable_id = $model->id;
                     $asset->uploadedFile = $uploadedFile;
                     $asset->saveAsset();
                 }
             }
             $model->save(false);
             return $this->redirect($model->getUrl());
         }
         var_dump($model->getErrors());
         die;
     }
     $title = 'Добавить запись в блог';
     return $this->render('@frontend/views/site/index', ['templateType' => 'col2', 'title' => 'Dynamomania.com | ' . $title, 'columnFirst' => ['blog_form' => ['view' => '@frontend/views/forms/blog_form', 'data' => compact('model', 'tags', 'title')]], 'columnSecond' => ['blog' => SiteBlock::getBlogPosts(), 'banner1' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner2' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner3' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner4' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner5' => SiteBlock::getBanner(Banner::REGION_NEWS)]]);
 }