Example #1
0
 public function createArticle()
 {
     $art_id = Input::get('id', 0);
     if (Request::isMethod('post')) {
         $menuslug = Input::get('menu', 0);
         $topic = Input::get('topic', 0);
         if ($menuslug && $topic) {
             $coremenu = Menu::where('slug', $menuslug)->first();
             $menu_id = $coremenu->id;
             if ($art_id && $coremenu->exists()) {
                 // edit
                 // article
                 $art_obj = Article::find($art_id);
                 $art_obj->update(array('menu_id' => $menu_id, 'topic_id' => $topic));
                 // article content
                 $artcontObj = $art_obj->articlecontent()->update(array('title' => Input::get('title'), 'content' => Input::get('content')));
                 // article menu reference
                 $formarr = Input::get('formarr');
                 $references = $formarr['reference'];
                 if (isset($references) && !empty($references)) {
                     $art_obj->menu_relations()->detach();
                     foreach ($references as $reference_id) {
                         $art_obj->menu_relations()->attach($reference_id);
                     }
                 }
             } else {
                 // add
                 // article
                 $art_obj = new Article();
                 $art_obj->menu_id = $menu_id;
                 $art_obj->topic_id = $topic;
                 $art_obj->save();
                 $art_id = $art_obj->id;
                 // article content
                 $artcontObj = new ArticleContent();
                 $artcontObj->article_id = $art_id;
                 $artcontObj->title = Input::get('title');
                 $artcontObj->content = Input::get('content');
                 $artcontObj->save();
                 // article menu reference
                 $formarr = Input::get('formarr');
                 $references = $formarr['reference'];
                 if (isset($references) && !empty($references)) {
                     $art_obj->menu_relations()->detach();
                     foreach ($references as $reference_id) {
                         $art_obj->menu_relations()->attach($reference_id);
                     }
                 }
             }
             return redirect()->to("/admin/article/listing?menu={$menuslug}&topic={$topic}&page=1")->with('onetime.success', "article " . $art_id . " saved");
         }
     }
     $poparr = array('references' => array(), 'article' => array());
     if ($art_id) {
         $article_references = Article::find($art_id)->menu_relations()->get();
         $references = array();
         foreach ($article_references as $refer) {
             $poparr['references'][] = $refer->id;
         }
         $poparr['article'] = $article = Article::where('articles.id', $art_id)->join('article_contents', 'article_contents.article_id', '=', 'articles.id')->get(['articles.*', 'article_contents.title', 'article_contents.content'])->first()->toArray();
         // $poparr['article'] = $this->formatCode($article);
     }
     $allmenus = Menu::where('level', '<', 2)->orderBy('level', 'ASC')->orderBy('title', 'ASC')->get()->toArray();
     $sorted_menus = $this->clubarr($allmenus);
     return view('admin.article.create')->with(array('id' => $art_id, 'menus' => $sorted_menus, 'populate' => $poparr));
 }