Exemplo n.º 1
0
 /**
  *	Method to handle posting support/oppose clicks on a document
  * 
  * @param int $doc
  * @return json array
  */
 public function postSupport($doc)
 {
     $input = Input::get();
     $supported = (bool) $input['support'];
     $docMeta = DocMeta::withTrashed()->where('user_id', Auth::user()->id)->where('meta_key', '=', 'support')->where('doc_id', '=', $doc)->first();
     if (!isset($docMeta)) {
         $docMeta = new DocMeta();
         $docMeta->doc_id = $doc;
         $docMeta->user_id = Auth::user()->id;
         $docMeta->meta_key = 'support';
         $docMeta->meta_value = (string) $supported;
         $docMeta->save();
     } elseif ($docMeta->meta_value == (string) $supported && !$docMeta->trashed()) {
         $docMeta->delete();
         $supported = null;
     } else {
         if ($docMeta->trashed()) {
             $docMeta->restore();
         }
         $docMeta->doc_id = $doc;
         $docMeta->user_id = Auth::user()->id;
         $docMeta->meta_key = 'support';
         $docMeta->meta_value = (string) (bool) $input['support'];
         $docMeta->save();
     }
     $supports = DocMeta::where('meta_key', '=', 'support')->where('meta_value', '=', '1')->where('doc_id', '=', $doc)->count();
     $opposes = DocMeta::where('meta_key', '=', 'support')->where('meta_value', '=', '')->where('doc_id', '=', $doc)->count();
     return Response::json(array('support' => $supported, 'supports' => $supports, 'opposes' => $opposes));
 }
Exemplo n.º 2
0
 public function getSupport($user, $doc)
 {
     $docMeta = DocMeta::where('user_id', $user->id)->where('meta_key', '=', 'support')->where('doc_id', '=', $doc)->first();
     //Translate meta value
     if (isset($docMeta) && $docMeta->meta_value == '1') {
         $docMeta->meta_value = true;
     }
     $supports = DocMeta::where('meta_key', '=', 'support')->where('meta_value', '=', '1')->where('doc_id', '=', $doc)->count();
     $opposes = DocMeta::where('meta_key', '=', 'support')->where('meta_value', '=', '')->where('doc_id', '=', $doc)->count();
     if (isset($docMeta)) {
         return Response::json(array('support' => $docMeta->meta_value, 'supports' => $supports, 'opposes' => $opposes));
     } else {
         return Response::json(array('support' => null, 'supports' => $supports, 'opposes' => $opposes));
     }
 }
Exemplo n.º 3
0
 public function postIntroText($doc)
 {
     $introText = DocMeta::where('meta_key', '=', 'intro-text')->where('doc_id', '=', $doc)->first();
     if (!$introText) {
         $introText = new DocMeta();
         $introText->doc_id = $doc;
         $introText->meta_key = 'intro-text';
     }
     $text = Input::get('intro-text');
     $introText->meta_value = $text;
     $introText->save();
     $response['messages'][0] = array('text' => 'Intro Text Saved.', 'severity' => 'info');
     return Response::json($response);
 }
Exemplo n.º 4
0
 public function getOpposeAttribute()
 {
     return DocMeta::where('meta_key', '=', 'support')->where('meta_value', '=', '')->where('doc_id', '=', $this->id)->count();
 }