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); }
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); }