/** * save post changes * @return array */ public function postPostsave() { User::onlyHas('feedpost-edit'); $id = Input::get('id'); $response = array(); // update Post record $general = Input::get('post'); if ($general && $id) { $response['Post'] = 1; $post = Post::findTax($id, $this->taxonomy->id); $post->created_at = $general['created_at']; $post->to_home = isset($general['to_home']) ? 1 : 0; $post->show_pcomment = isset($general['show_pcomment']) ? 1 : 0; $post->have_comments = isset($general['have_comments']) ? 1 : 0; $post->have_socials = isset($general['have_socials']) ? 1 : 0; $post->is_alert = isset($general['is_alert']) ? 1 : 0; $post->alert_expire = $general['alert_expire']; if ($post->is_alert) { Post::where('is_alert', 1)->update(['is_alert' => 1]); } $post->save(); Log::info("Edit Post (article) #{$id}"); } // update FeedPost records $feedposts = Input::get('feed_post'); if ($feedposts && is_array($feedposts) && $id) { $response['FeedPost'] = 1; FeedPost::where('post_id', $id)->delete(); foreach ($feedposts as $feedpost) { if ($feedpost) { $fpost = new FeedPost(); $fpost->post_id = $id; $fpost->feed_id = $feedpost; $fpost->save(); } } } // update dinamic post fields $dinamic_post_fields = Input::get('dinamic_post'); FeedFieldValue::where('post_id', $id)->where('lang_id', 0)->delete(); if ($dinamic_post_fields) { foreach ($dinamic_post_fields as $field_id => $field_value) { $field = FeedField::find($field_id); $fieldValue = new FeedFieldValue(); $fieldValue->feed_field_id = $field_id; $fieldValue->post_id = $id; if ($field->check_filter && method_exists('DinamicFields', $field->check_filter)) { $fieldValue->value = call_user_func(array('DinamicFields', $field->check_filter), $field_value); } else { $fieldValue->value = $field_value; } $fieldValue->save(); } } return $response; }