function ajax_getComments(Request $request)
 {
     if (!$request->ajax()) {
         return;
     }
     $data = $request->all();
     $comments = Comment::where(Comment::ATTR_PRODUCTION_ID, $data[Comment::ATTR_PRODUCTION_ID])->orderBy("id", "DESC")->skip($data["skip"])->take(10)->get();
     $response = array();
     if ($data["skip"] == 0) {
         $total_comments = Comment::where(Comment::ATTR_PRODUCTION_ID, $data[Comment::ATTR_PRODUCTION_ID])->count();
     }
     foreach ($comments as $comment) {
         $user = User::findOrNew($comment->user_id);
         $data_comment = array("content" => $comment->content, "date" => DateUtil::calculateDifference($comment->created_at), "name" => $user->name, "avatar" => is_null($user->avatar) ? url("assets/images/user_icon.png") : $user->avatar);
         if ($data["skip"] == 0) {
             $data_comment["total"] = $total_comments;
         }
         $response[] = $data_comment;
     }
     if (count($comments) == 0) {
         $response[] = array("total" => 0);
     }
     return json_encode($response);
 }
예제 #2
0
 static function calculateDifference($date1, $date2 = null)
 {
     $date2 = is_null($date2) ? DateUtil::getCurrentTime() : $date2;
     $minute = 60;
     $hour = $minute * 60;
     $day = $hour * 24;
     $month = $day * 30;
     $year = $month * 12;
     //formateamos las fechas a segundos tipo 1374998435
     $difference = DateUtil::difSec($date1, $date2);
     //comprobamos el tiempo que ha pasado en segundos entre las dos fechas
     //floor devuelve el número entero anterior
     if ($difference <= $minute) {
         $time = floor($difference) . " " . trans("gen.time.seconds");
     } elseif ($difference >= $minute && $difference < $minute * 2) {
         $time = "1 " . trans("gen.time.minute");
     } elseif ($difference >= $minute * 2 && $difference < $hour) {
         $time = floor($difference / $minute) . " " . trans("gen.time.minutes");
     } elseif ($difference >= $hour && $difference < $hour * 2) {
         $time = "1 " . trans("gen.time.hour");
     } elseif ($difference >= $hour * 2 && $difference < $day) {
         $time = floor($difference / $hour) . " " . trans("gen.time.hours");
     } elseif ($difference >= $day && $difference < $day * 2) {
         $time = "1 " . trans("gen.time.day");
     } elseif ($difference >= $day * 2 && $difference < $month) {
         $time = floor($difference / $day) . " " . trans("gen.time.days");
     } elseif ($difference >= $month && $difference < $month * 2) {
         $time = "1 " . trans("gen.time.month") . " " . DateUtil::calculateDifference($date1, date(DateUtil::FORMAT_STANDARD, intval($difference - $month) + strtotime($date1)));
     } elseif ($difference >= $month * 2 && $difference < $year) {
         $time = floor($difference / $month) . " " . trans("gen.time.months") . " " . DateUtil::calculateDifference($date1, date(DateUtil::FORMAT_STANDARD, intval($difference - $month * floor($difference / $month) + strtotime($date1))));
     } elseif ($difference >= $year && $difference < $year * 2) {
         $time = "1 " . trans("gen.time.year") . " " . DateUtil::calculateDifference($date1, date(DateUtil::FORMAT_STANDARD, intval($difference - $year) + strtotime($date1)));
     } elseif ($difference >= $year * 2) {
         $time = floor($difference / $year) . " " . trans("gen.time.years");
     }
     return intval($time) <= 0 ? false : strtolower($time);
 }