/** * Verifica el estado Premium del usuario y su tiempo. */ public function checkStatePremium($request) { $description = "<p class='caption'>Lamentamos informarte que el tiempo de cuenta premium para disfrutar sin limites en bandicot se ha terminado. Queremos agradecerte por usar nuestra plataforma y pasar tu tiempo con nosotros.</p>" . "<h2 class='text-center' style='margin-top: 45px;margin-bottom: 30px;'>¿Quieres continuar sin limitaciones con una cuenta premium?</h2>" . "<div class='text-center'><img style='width: 23%;' src='" . url("assets/images/logo-premium.png") . "'/><br/><br/><a href='" . url("premium") . "' class='btn btn-primary'><span class='glyphicon glyphicon-arrow-up'></span> ¡Actualizar a cuenta premium!</a></div>"; if (Auth::user()->role == User::ROLE_SUSCRIPTOR_PREMIUM) { $time = DateUtil::difSec(DateUtil::getCurrentTime(), Auth::user()->premium_to); if ($time <= 0) { Auth::user()->role = User::ROLE_SUSCRIPTOR; Auth::user()->save(); $request->session()->put(UI::modalMessage("<span class='glyphicon glyphicon-time'></span> ¡Tu tiempo de cuenta premium se ha terminado!", $description, "Cerrar")); } } }
public function postSetResetPassword(Request $request) { $data = $request->all(); if (!isset($data[PasswordReset::ATTR_TOKEN]) || !isset($data[User::ATTR_EMAIL]) || strlen($data[PasswordReset::ATTR_TOKEN]) == 0 || strlen($data[User::ATTR_EMAIL]) == 0 || !isset($data["password"])) { return redirect("user/auth/recovery?request=send-mail&form=token")->with(User::ATTR_EMAIL, $data[User::ATTR_EMAIL])->with(UI::message(UI::MESSAGE_TYPE_ERROR, "Error: Solicitud invalida")); } $email = $data[PasswordReset::ATTR_EMAIL]; $token = $data[PasswordReset::ATTR_TOKEN]; if (is_null($pet = PasswordReset::where(PasswordReset::ATTR_EMAIL, $email)->where(PasswordReset::ATTR_TOKEN, $token)->where(PasswordReset::ATTR_ACTIVE, Util::convertBooleanToInt(true))->get())) { return redirect("user/auth/recovery?request=send-mail&form=token")->with(User::ATTR_EMAIL, $data[User::ATTR_EMAIL])->with(UI::message(UI::MESSAGE_TYPE_ERROR, "Error: Solicitud invalida")); } if (DateUtil::difSec($pet[0]->created_at, DateUtil::getCurrentTime()) > 60 * 60 * 2) { $pet[0]->active = Util::convertBooleanToInt(false); $pet->save(); return redirect("user/auth/recovery?request=send-mail&form=token")->with(User::ATTR_EMAIL, $data[User::ATTR_EMAIL])->with(UI::message(UI::MESSAGE_TYPE_ERROR, "Error: El código de seguridad ha expirado. <a href='" . url("user/auth/recovery") . "'>¿Realizar una nueva solicitud?</a>")); } $user = User::where(User::ATTR_EMAIL, $email)->get()[0]; $user->password = bcrypt($data["password"]); $user->save(); return redirect("user/auth/login")->withInput()->with(UI::message(UI::MESSAGE_TYPE_SUCCESS, "Tu nueva contraseña ha sido establecida, ya puedes iniciar sesión"))->with(User::ATTR_EMAIL, $data[User::ATTR_EMAIL]); }
function getPlayChapter($slug, $id_chapter) { $id_chapter = Hash::decrypt(urldecode($id_chapter)); $production = Production::where(Production::ATTR_SLUG, $slug)->get(); if (count($production) == 0) { //Verifica en el log el slug if (is_null($id = Slug::getIdProduction($slug))) { return abort(404); } else { return redirect("production/" . Production::findOrNew($id)->slug . "/play"); } } $production = $production[0]; //Verifica que el id del capitulo exista if (Chapter::where(Chapter::ATTR_ID, $id_chapter)->count() == 0 || !is_numeric($id_chapter)) { return redirect("production/" . $production->slug); } //Verifica si la pelicula esta activa if ($production->state != Production::STATE_ACTIVE) { return redirect("production/" . $slug); } if (Auth::user()->state != User::STATE_ACTIVED_ACCOUNT) { return view("frontend/contents/production/play-forbbiden")->with("production", $production)->with("title", "¡ACTIVA TU CUENTA!")->with("message", view("ui/msg/contents/activa-tu-cuenta")->render()); } //Obtiene los datos de la ultima reproduccion del usuario list($play_date, $play_ip, $play_production, $play_chapter) = Auth::user()->getLastPlayBack(); //Verifica la restriccion de usuario gratis, en la que solo permite ver una pelicula por dia if (Auth::user()->role == User::ROLE_SUSCRIPTOR) { if (!is_null($play_production)) { /** * EL usuario gratis tiene 24 horas para ver la produccion que escogio */ $play_date = new DateUtil($play_date); //Agrega un dia, para determinar la proxima reproduccion $play_date->addDays(1); $next_date = $play_date->year . "-" . DateUtil::numberAdapt($play_date->month) . "-" . DateUtil::numberAdapt($play_date->day) . " 00:00:00"; //Calcula la diferencia de tiempo entre el tiempo actual y la fecha de la proxima reproduccion $time = DateUtil::difSec(DateUtil::getCurrentTime(), $next_date); if ($time > 0 && $id_chapter != $play_chapter) { return view("frontend/contents/production/play-forbbiden")->with("production", $production)->with("message", view("ui/msg/contents/play-forbidden-production-in-play")->with("production", Production::find($play_production))->with("time", $time)->with("chapter", Chapter::find($play_chapter))->render())->with("script", "assets/plugins/countdown/js/countdown.js")->with("css", array("assets/plugins/countdown/css/styles.css")); } } } $id_video = Chapter::find($id_chapter)->video; return view("ui/media/videoplayer")->with("production", $production)->with("id_video", $id_video); }
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); }