header('Content-Type', 'application/json'); $http->header('Authorization', 'key=AAAAxAUM6JY:APA91bFhUTph1MyI8BiDdgICwvR4YVim7rgW5cohk7j8Y5AGj3NLkQlw9gGc9vj9TtCzL8asMYijmbN47cQA0sAwW2L7CuhDI_Is3iqUuN7YQk4QjSGxjGbcGqgF-Lzy97A8eIKAPhDG'); $post = Post::find($id); $data = [ "data"=>[ "click_action" => "FLUTTER_NOTIFICATION_CLICK", "type" => "news", "post" => [ "id" => $post->id, "title" => $post->title, "content" => $post->excerpt ], ], "priority" => "high", "notification" => [ "title" => $post->title, "body" => $post->excerpt ], "to" => "/topics/notifications_".$post->locale ]; $http->setOption(CURLOPT_POSTFIELDS, json_encode($data)); }); return $result; if($result->message_id){ return Flash::success('Notification ugradyldy.'); }elseif($result->error){ return Flash::error('Ýalňyşlyk Ýüze Çykdy!!!'); } } public function index() { $this->vars['postsTotal'] = Post::count(); $this->vars['postsPublished'] = Post::isPublished()->count(); $this->vars['postsDrafts'] = $this->vars['postsTotal'] - $this->vars['postsPublished']; $this->asExtension('ListController')->index(); } public function create() { BackendMenu::setContextSideMenu('new_post'); $this->bodyClass = 'compact-container'; $this->addCss('/plugins/rainlab/blog/assets/css/rainlab.blog-preview.css'); $this->addJs('/plugins/rainlab/blog/assets/js/post-form.js'); return $this->asExtension('FormController')->create(); } public function update($recordId = null) { $this->bodyClass = 'compact-container'; $this->addCss('/plugins/rainlab/blog/assets/css/rainlab.blog-preview.css'); $this->addJs('/plugins/rainlab/blog/assets/js/post-form.js'); return $this->asExtension('FormController')->update($recordId); } public function export() { $this->addCss('/plugins/rainlab/blog/assets/css/rainlab.blog-export.css'); return $this->asExtension('ImportExportController')->export(); } public function listExtendQuery($query) { if (!$this->user->hasAnyAccess(['rainlab.blog.access_other_posts'])) { $query->where('user_id', $this->user->id); } $query->leftJoin('vdomah_blogviews_views', 'rainlab_blog_posts.id', 'vdomah_blogviews_views.post_id'); $query->addSelect( 'vdomah_blogviews_views.views as sortable_views' ); } public function formExtendQuery($query) { if (!$this->user->hasAnyAccess(['rainlab.blog.access_other_posts'])) { $query->where('user_id', $this->user->id); } } public function formExtendFieldsBefore($widget) { if (!$model = $widget->model) { return; } if ($model instanceof Post && $model->isClassExtendedWith('RainLab.Translate.Behaviors.TranslatableModel')) { $widget->secondaryTabs['fields']['content']['type'] = 'RainLab\Blog\FormWidgets\MLBlogMarkdown'; } } public function index_onDelete() { if (($checkedIds = post('checked')) && is_array($checkedIds) && count($checkedIds)) { foreach ($checkedIds as $postId) { if ((!$post = Post::find($postId)) || !$post->canEdit($this->user)) { continue; } $post->delete(); } Flash::success(Lang::get('rainlab.blog::lang.post.delete_success')); } return $this->listRefresh(); } /** * {@inheritDoc} */ public function listInjectRowClass($record, $definition = null) { if (!$record->published) { return 'safe disabled'; } } public function formBeforeCreate($model) { $model->user_id = $this->user->id; } public function onRefreshPreview() { $data = post('Post'); $previewHtml = Post::formatHtml($data['content'], true); return [ 'preview' => $previewHtml ]; } }