*/ class ArticleController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function __construct() { $this->middleware('auth'); $this->middleware('roles'); SettingsController::language(); } public function test() { //$table = $this->setDatatable(); return view('themes.default1.agent.kb.article.test'); } public function getData() { //return 'kfjhje'; return Datatable::collection(Article::All()) ->searchColumns('name') ->orderColumns('name', 'description') ->addColumn('name', function ($model) { return $model->name; }) ->addColumn('Created', function ($model) { $t = $model->created_at; return TicketController::usertimezone($t); }) ->addColumn('Actions', function ($model) { //return 'id . ' class="btn btn-danger btn-flat" onclick="myFunction()">Delete id . '/edit class="btn btn-warning btn-flat">Edit id . ' class="btn btn-warning btn-flat">View'; //return '
id . '/edit class="btn btn-warning btn-flat">Edit id . ' class="btn btn-warning btn-flat">View'; return ' id . '/edit class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . ' slug .' class="btn btn-primary btn-xs">' . \Lang::get('lang.view') . ' '; }) ->make(); } /** * Index for Articles * @param type Article $article * @return type Response */ public function index() { /* show the index page with article list */ return view('themes.default1.agent.kb.article.index'); } /** * Creating a Article * @param type Category $category * @return type Response */ public function create(Category $category) { //$cat = $category->whereId(33)->first(); //$tm = $cat->created_at; //$this->usertimezone($tm); // // /* get the attributes of the category */ $category = $category->lists('id', 'name'); /* get the create page */ return view('themes.default1.agent.kb.article.create', compact('category')); } /** * Insert the values to the article table * @param type Article $article * @param type ArticleRequest $request * @return type */ public function store(Article $article, ArticleRequest $request) { $sl = $request->input('slug'); $slug = str_slug($sl, "-"); $article->slug = $slug; $article->fill($request->except('created_at','slug'))->save(); $requests = $request->input('category_id'); $id = $article->id; foreach ($requests as $req) { DB::insert('insert into article_relationship (category_id, article_id) values (?,?)', [$req, $id]); } /* insert the values to the article table */ if ($article->fill($request->except('slug'))->save()) //true: redirect to index page with success message { return redirect('article')->with('success', 'Article Inserted Successfully'); } else //redirect to index page with fail message { return redirect('article')->with('fails', 'Article Not Inserted'); } } /** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // } /** * Edit an Article by id * @param type Integer $id * @param type Article $article * @param type Relationship $relation * @param type Category $category * @return Response */ public function edit($slug, Article $article, Relationship $relation, Category $category) { $aid = $article->where('id', $slug)->first(); $id = $aid->id; /* define the selected fields */ $assign = $relation->where('article_id', $id)->lists('category_id'); /* get the attributes of the category */ $category = $category->lists('id', 'name'); /* get the selected article and display it at edit page */ /* Get the selected article with id */ $article = $article->whereId($id)->first(); /* send to the edit page */ return view('themes.default1.agent.kb.article.edit', compact('assign', 'article', 'category')); } /** * Update an Artile by id * @param type Integer $id * @param type Article $article * @param type Relationship $relation * @param type ArticleRequest $request * @return Response */ public function update($slug, Article $article, Relationship $relation, ArticleUpdate $request) { $aid = $article->where('id', $slug)->first(); $id = $aid->id; $sl = $request->input('slug'); $slug = str_slug($sl, "-"); // dd($slug); $article->slug = $slug; /* get the attribute of relation table where id==$id */ $relation = $relation->where('article_id', $id); $relation->delete(); /* get the request of the current articles */ $article = $article->whereId($id)->first(); $requests = $request->input('category_id'); $id = $article->id; foreach ($requests as $req) { DB::insert('insert into article_relationship (category_id, article_id) values (?,?)', [$req, $id]); } /* update the value to the table */ if ($article->fill($request->all())->save()) //true: redirect to index page with success message { $article->slug = $slug; $article->save(); return redirect('article')->with('success', 'Article Updated Successfully'); } else // redirect to index page with fails message { return redirect('article')->with('fails', 'Article Not Updated'); } } /** * Delete an Agent by id * @param type $id * @param type Article $article * @return Response */ public function destroy($slug, Article $article, Relationship $relation, Comment $comment) { /* delete the selected article from the table */ $article = $article->where('slug',$slug)->first(); //get the selected article via id //dd($article); $id = $article->id; $comments = $comment->where('article_id',$id)->get(); if($comments) { foreach($comments as $comment) $comment->delete(); } $relation = $relation->where('article_id', $id)->first(); if($relation) { $relation->delete(); } if($article) { if ($article->delete()) //true:redirect to index page with success message { return Redirect::back()->with('success', 'Article Deleted Successfully'); } else //redirect to index page with fails message { return Redirect::back()->with('fails', 'Article Not Deleted'); } } else { return Redirect::back()->with('fails', 'Article can Not Deleted'); } } static function usertimezone($utc) { $user = Auth::user(); $tz = $user->timezone; $set = Settings::whereId('1')->first(); $format = $set->dateformat; //$utc = date('M d Y h:i:s A'); //echo 'UTC : ' . $utc; date_default_timezone_set($tz); $offset = date('Z', strtotime($utc)); //print "offset: $offset \n"; $date = date($format, strtotime($utc) + $offset); echo $date; //return substr($date, 0, -6); } }