Sindbad~EG File Manager
<?php
class UserController extends BaseController {
/*
|--------------------------------------------------------------------------
| Default Home Controller
|--------------------------------------------------------------------------
|
| You may wish to use controllers instead of, or in addition to, Closure
| based routes. That's great! Here is an example controller method to
| get you started. To route to this controller, just add the route:
|
| Route::get('/', 'HomeController@showWelcome');
|
*/
public function Login($session_id,$session_key)
{
try {
$session = Sessions::getSession();
if(isset($session))
{
if(Auth::Check())
{
return Redirect::to('/'.$session_id.'/'.$session_key);
}
else
{
return View::make('login');
}
}
else
{
// return $this->ClosedPage();
Session::flash('msg', AppMessage::$EndSession);
return Redirect::to('msg');
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
}
//mobile number hide by Sridhar On 2022-Apr-13 8 PM
public function SendOTP()
{
$msg = "";
$status= "";
$user_id = 0;
try {
$session = Sessions::getSession();
$email = Input::get("email");
$email = isset($email)?trim($email):null;
// $mobile = Input::get("mobile");
$user = null;
if(isset($email))
{
if(isset($email) && !empty($email))
{
// $email = preg_replace('/\s/', '', $email);
$email_user = User::where('email',$email)->first();
}
// if(isset($mobile) && !empty($mobile))
// {
// $mobile_user = User::where('mobile',$mobile)->first();
// }
// if(isset($email_user) && isset($mobile_user))
// {
// if($email_user->user_id == $mobile_user->user_id)
// {
// $user = $email_user;
// }
// else
// {
// $msg = "Email Id and Mobile Number are diffrent accounts";
// $status="error";
// }
// }
if(isset($email_user))
{
$user = $email_user;
}
// else if(isset($mobile_user))
// {
// $user = $mobile_user;
// }
if(!isset($user))
{
$user = new user();
// $user->mobile = $mobile;
$user->email = $email;
$user->save();
}
if(isset($user) && intval($user->user_id) > 0)
{
$user_id = $user->user_id;
if(isset($user->otp))
{
$otp = $user->otp;
}
else
{
$otp = Helper::randomPassword();// Helper::GenerateAndSendOTP($mobile);
}
$datetime = new Datetime;
$otp_expired_at = $datetime->modify("+10 minutes");
$otp_expired_at_text = $otp_expired_at->format('d/m/Y h:i A');
$content = $otp." is the OTP for your $session->session_title Login. This OTP is valid until $otp_expired_at_text";
////SMS
// if(isset($user->mobile) && !empty($user->mobile))
// {
// $requestID = Helper::GenerateAndSendOTP($user->mobile, $content,$otp);
// }
//Mail
if(isset($user->email) && !empty($user->email))
{
try {
// $mandrill = new Mandrill(CustomClass::$Mandrill_Key);
// $html = View::make('emails/otp')->with('u',$user)->with('OTPContent',$content)->render();
// $subject = "$otp-OTP from $session->session_title Login, valid until $otp_expired_at_text";
// $message = array(
// 'html' => $html,
// 'text' => '',
// 'subject' => $subject,
// 'from_email' => $session->from_email_id,
// 'from_name' => $session->from_email_name,
// 'to' => array(
// array(
// 'email' => $user->email,
// 'name' => '',
// 'type' => 'to'
// )
// ),
// // 'headers' => array('Reply-To' => 'sridharan.r@numerotec.com'),
// // 'bcc_address' => 'sridharan.r@numerotec.com',
// );
// $async = true;
// $ip_pool = '';
// $send_at = '';
// $result = $mandrill->messages->send($message, $async, $ip_pool, $send_at);
$subject = "$otp-OTP from $session->session_title Login, valid until $otp_expired_at_text";
$mailContent = array( "u" => $user, "OTPContent" => $content);
Mail::send('emails.otp', $mailContent, function($message) use ($session,$user,$subject) {
$message->from($session->from_email_id,$session->from_email_name);
$message->to($user->email);
$message->subject($subject);
});
} catch (Exception $e) {
Log::error('UserController - SendOTP - Mail : '.$e->getMessage());
}
}
$user->otp = $otp;
$user->otp_expired_at = $otp_expired_at;
$operationStatus = $user->save();
$msg ="An OTP has been sent to your email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// if((isset($user->mobile) && !empty($user->mobile)) && (isset($user->email) && !empty($user->email)))
// {
// $msg ="An OTP has been sent to your mobile and email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
// elseif(isset($user->email) && !empty($user->email))
// {
// $msg ="An OTP has been sent to your email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
// elseif(isset($user->mobile) && !empty($user->mobile))
// {
// $msg ="An OTP has been sent to your mobile. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
$status="success";
}
}
else
{
// $msg = "Please Enter Email Id Or Mobile Number";
$msg = "Please Enter valid Email Id";
$status="error";
}
} catch (Exception $e) {
Log::error('UserController - SendOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status,'user_id' => $user_id));
}
// public function SendOTP()
// {
// $msg = "";
// $status= "";
// $user_id = 0;
// try {
// $email = Input::get("email");
// $mobile = Input::get("mobile");
// $user = null;
// if(isset($email) || isset($mobile))
// {
// if(isset($email) && !empty($email))
// {
// $email_user = User::where('email',$email)->first();
// }
// if(isset($mobile) && !empty($mobile))
// {
// $mobile_user = User::where('mobile',$mobile)->first();
// }
// if(isset($email_user) && isset($mobile_user))
// {
// if($email_user->user_id == $mobile_user->user_id)
// {
// $user = $email_user;
// }
// else
// {
// $msg = "Email Id and Mobile Number are diffrent accounts";
// $status="error";
// }
// }
// else if(isset($email_user))
// {
// $user = $email_user;
// }
// else if(isset($mobile_user))
// {
// $user = $mobile_user;
// }
// if(!isset($user))
// {
// // echo "user not in";
// // exit();
// $user = new user();
// $user->mobile = $mobile;
// $user->email = $email;
// $user->save();
// }
// if(isset($user) && intval($user->user_id) > 0)
// {
// $user_id = $user->user_id;
// if(isset($user->otp))
// {
// $otp = $user->otp;
// }
// else
// {
// $otp = Helper::randomPassword();// Helper::GenerateAndSendOTP($mobile);
// }
// $datetime = new Datetime;
// $otp_expired_at = $datetime->modify("+10 minutes");
// $otp_expired_at_text = $otp_expired_at->format('d/m/Y h:i A');
// $content = $otp." is the OTP for your VRSI Poll Login. This OTP is valid until $otp_expired_at_text";
// //SMS
// if(isset($user->mobile) && !empty($user->mobile))
// {
// $requestID = Helper::GenerateAndSendOTP($user->mobile, $content,$otp);
// }
// //Mail
// if(isset($user->email) && !empty($user->email))
// {
// try {
// $mandrill = new Mandrill(CustomClass::$Mandrill_Key);
// $html = View::make('emails/otp')->with('u',$user)->with('OTPContent',$content)->render();
// $subject = 'OTP from VRSI Poll Login, valid until '.$otp_expired_at_text;
// $message = array(
// 'html' => $html,
// 'text' => '',
// 'subject' => $subject,
// 'from_email' => 'support@VRSI.in',
// 'from_name' => 'VRSI Poll',
// 'to' => array(
// array(
// 'email' => $user->email,
// 'name' => '',
// 'type' => 'to'
// )
// ),
// // 'headers' => array('Reply-To' => 'sridharan.r@numerotec.com'),
// // 'bcc_address' => 'sridharan.r@numerotec.com',
// );
// $async = true;
// $ip_pool = '';
// $send_at = '';
// $result = $mandrill->messages->send($message, $async, $ip_pool, $send_at);
// // $mailContent = array( "u" => $user, "OTPContent" => $content);
// // Mail::send('emails.otp', $mailContent, function($message) use ($email,$otp_expired_at_text) {
// // $message->to($user->email)->subject();
// // });
// } catch (Exception $e) {
// Log::error('UserController - SendOTP - Mail : '.$e->getMessage());
// }
// }
// $user->otp = $otp;
// $user->otp_expired_at = $otp_expired_at;
// $operationStatus = $user->save();
// if((isset($user->mobile) && !empty($user->mobile)) && (isset($user->email) && !empty($user->email)))
// {
// $msg ="An OTP has been sent to your mobile and email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
// elseif(isset($user->email) && !empty($user->email))
// {
// $msg ="An OTP has been sent to your email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
// elseif(isset($user->mobile) && !empty($user->mobile))
// {
// $msg ="An OTP has been sent to your mobile. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// }
// $status="success";
// }
// }
// else
// {
// $msg = "Please Enter Email Id Or Mobile Number";
// $status="error";
// }
// } catch (Exception $e) {
// Log::error('UserController - SendOTP : '.$e->getMessage());
// echo $e->getMessage();
// }
// return Response::json(array('msg'=>$msg,'status'=>$status,'user_id' => $user_id));
// }
// public function SendOTP(){
// try
// {
// $msg = "";
// $status= "";
// $mobile = Input::get("mobile");
// $user = User::where("mobile", "=", $mobile)->first();
// if(isset($user) && intval($user->user_id) > 0)
// {
// $otp = Helper::randomPassword();// Helper::GenerateAndSendOTP($mobile);
// $smsContent = $otp.' is the OTP for your VRSI Poll Login';
// $requestID = Helper::GenerateAndSendOTP($mobile, $smsContent,$otp);
// $user->otp = $otp;
// // $otp = Helper::GenerateAndSendOTP($mobile);
// // $user->otp = $otp;
// $datetime = new Datetime;
// $user->otp_expired_at =$datetime->modify("+10 minutes");
// $operationStatus = $user->save();
// $msg ="An SMS with OTP has been sent to your mobile. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
// $status="success";
// }
// else
// {
// $msg = "Mobile number does not exist.";
// $status="error";
// }
// }catch (Exception $e) {
// Log::error('UserController - SendOTP : '.$e->getMessage());
// echo $e->getMessage();
// }
// return Response::json(array('msg'=>$msg,'status'=>$status));
// }
public function VerifyOTP(){
try
{
$data = "";
$status="";
$msg="";
$user_id = Input::get("user_id");
$otp = Input::get("otp");
$user = User::find($user_id);
$datetime = date("Y-m-d H:i:s");
if(isset($user) && intval($user->user_id) > 0)
{
if($user->otp == $otp)
{
if($datetime <= $user->otp_expired_at)
{
$session = Sessions::getSession();
if(isset($session))
{
$userlog = new UserLog();
$userlog->user_id = $user_id;
$userlog->session_id = $session->session_id;
$userlog->save();
}
$user->otp = null;
$user->save();
Auth::login($user);
$status= "success";
$msg = "";
}
else
{
$msg ="OTP has expired.Please generate a new one.";
$status="error";
$data ="";
}
}
else
{
$msg = "Invalid OTP";
$status="error";
$data ="";
}
}
else
{
$msg = "Mobile number does not exist.";
$status="error";
$data ="";
}
}
catch (Exception $e) {
Log::error('UserController - VerifyOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status));
}
public function getProfile($session_id,$session_key)
{
try {
// var_dump(Auth::Check());
// exit;
if(Auth::Check())
{
$user =User::find(Auth::User()->user_id);
return View::make('profile')->with('user',$user)->with('session_id',$session_id)->with('session_key',$session_key);
}
else
{
return Redirect::to('/'.$session_id.'/'.$session_key);
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
}
public function postProfile($session_id,$session_key)
{
try {
if(Auth::Check())
{
$user =User::find(Auth::User()->user_id);
$user_id = $user->user_id;
$rules = array(
'prefix' => 'required',
'full_name' => 'required',
// 'mobile' => 'required|alphaNum|max:15',
'mobile' => 'required|alphaNum|max:15|unique:mcq_users,mobile,'.$user->user_id.',user_id,profile_updated_at,NOT_NULL',
'email' => 'required|email|unique:mcq_users,email,'.$user->user_id.',user_id,profile_updated_at,NOT_NULL',
'city' => 'required',
'state' => 'required',
// 'is_non_exam_category' => 'required'
// 'dob' => 'required|date_format:d/m/Y',
// 'is_pg_student' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
// var_dump($validator->fails());
// exit;
if ($validator->fails())
{
// var_dump($validator->errors());
// exit();
// return Redirect::to('profile/'.Helper::encrypt($user->user_id))->withInput()->withErrors($validator->errors());
return Redirect::to('profile'.'/'.$session_id.'/'.$session_key)->withInput()->withErrors($validator->errors());
}
else
{
$user->prefix = Input::get('prefix');
$user->full_name = Input::get('full_name');
$user->email = Input::get('email');
$user->mobile = Input::get('mobile');
$user->city = Input::get('city');
$user->state = Input::get('state');
$user->affiliation = Input::get('affiliation');
$user->profile_updated_at = date('Y-m-d H:i:s');
$user->save();
// $user_courses= new MCQUsersCourses;
// $user_courses->is_non_exam_category = Input::get('is_non_exam_category');
// $user_courses->user_id = $user_id;
// $user_courses->created_at = date('Y-m-d H:i:s');
// $user_courses->save();
//delete incompleted duplicate email and mobile
User::where('email',$user->email)->whereNull('profile_updated_at')->delete();
User::where('mobile',$user->mobile)->whereNull('profile_updated_at')->delete();
return Redirect::to('/'.$session_id.'/'.$session_key);
}
}
else
{
$msg = "Your session has expired. Please log-in again.<a href=". url('/login') ." >Click here to go to Login</a>";
return Redirect::to('/'.$session_id.'/'.$session_key)->wiht('msgError'.$msg);
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
}
public function Logout($session_id,$session_key)
{
Auth::logout();
return Redirect::to('/login/'.$session_id.'/'.$session_key);
}
// Evaluator login and new registration function added by ganesan
public function EvaluatorLogin($session_id,$session_key)
{
try {
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
if(isset($session))
{
return View::make('evaluators.evaluator_login')->with('session_key' , $session_key)->with('session_id',$session_id);
}
else
{
// return $this->ClosedPage();
Session::flash('msg', AppMessage::$EndSession);
return Redirect::to('msg');
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
}
public function PostEvaluatorLogin($session_id,$session_key)
{
try {
$email = Input::get("email");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
if(isset($session))
{
$email_user = Evaluator::where('email',$email)->first();
if(isset($email_user))
{
return "<h4 style='color:red;'> Email id registered.</h4>";
}
else
{
return "<h4 style='color:red;'> Email id not registered.</h4>";
}
}
else
{
// return $this->ClosedPage();
Session::flash('msg', AppMessage::$EndSession);
return Redirect::to('msg');
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
} // post function end
// sent otp function start
public function EvaluatorSendOTP()
{
$msg = "";
$status= "";
$user_id = 0;
try {
$full_name = Input::get("full_name");
$email = Input::get("email");
$session_id = Input::get("session_id");
$session_key = Input::get("session_key");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
$email = isset($email)?trim($email):null;
$user = null;
if(isset($email))
{
if(isset($email) && !empty($email))
{
// $email = preg_replace('/\s/', '', $email);
$user = Evaluator::where('email',$email)->first();
}
if(!isset($user))
{
$user = new Evaluator();
$user->full_name = $full_name;
$user->email = $email;
$user->save();
}
if(isset($user) && intval($user->evaluator_id) > 0)
{
$evaluator_id = $user->evaluator_id;
if(isset($user->otp))
{
$otp = $user->otp;
}
else
{
$otp = Helper::randomPassword();// Helper::GenerateAndSendOTP($mobile);
}
$datetime = new Datetime;
$otp_expired_at = $datetime->modify("+10 minutes");
$otp_expired_at_text = $otp_expired_at->format('d/m/Y h:i A');
$content = $otp." is the OTP for your $session->session_title Login. This OTP is valid until $otp_expired_at_text";
//Mail
if(isset($user->email) && !empty($user->email))
{
try {
$subject = "$otp-OTP from $session->session_title Login, valid until $otp_expired_at_text";
$mailContent = array( "u" => $user, "OTPContent" => $content);
Mail::send('emails.otp', $mailContent, function($message) use ($session,$user,$subject) {
$message->from($session->from_email_id,$session->from_email_name);
$message->to($user->email);
$message->subject($subject);
});
} catch (Exception $e) {
Log::error('UserController - SendOTP - Mail : '.$e->getMessage());
}
}
$user->otp = $otp;
$user->otp_expired_at = $otp_expired_at;
$operationStatus = $user->save();
$msg ="An OTP has been sent to your email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
$status="success";
}
}
else
{
// $msg = "Please Enter Email Id Or Mobile Number";
$msg = "Please Enter valid Email Id";
$status="error";
}
} catch (Exception $e) {
Log::error('UserController - EvaluatorSendOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status,'user_id' => $evaluator_id));
}
public function EvaluatorVerifyOTP(){
try
{
$data = "";
$status="";
$msg="";
$user_id = Input::get("hdnuserId");
$otp = Input::get("otp");
$session_id = Input::get("session_id");
$session_key = Input::get("session_key");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
$user = Evaluator::find($user_id);
$datetime = date("Y-m-d H:i:s");
if(isset($user) && intval($user->evaluator_id) > 0)
{
if($user->otp == $otp)
{
if($datetime <= $user->otp_expired_at)
{
$user->otp = null;
$user->save();
$data = array('evaluator_id' => $user->evaluator_id, 'full_name'=>$user->full_name);
Session::put('Evaluator', $data);
$status= "success";
$url = url('viva_marks/MjA=');
$msg = "Login Successfully.Please redirect the page..";
}
else
{
$msg ="OTP has expired.Please generate a new one.";
$status="error";
$data ="";
}
}
else
{
$msg = "Invalid OTP";
$status="error";
$data ="";
}
}
else
{
$msg = "Error!";
$status="error";
$data ="";
}
}
catch (Exception $e) {
Log::error('UserController - VerifyOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status,'url'=>$url));
}
// send otp function end
// Evaluator login and new registration function added by ganesan
public function WorkshopLogin($session_id,$session_key)
{
try {
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
if(isset($session))
{
return View::make('workshop.workshop_login')->with('session_key' , $session_key)->with('session_id',$session_id);
}
else
{
// return $this->ClosedPage();
Session::flash('msg', AppMessage::$EndSession);
return Redirect::to('msg');
}
} catch (Exception $e) {
Log::error('UserController - WorkshopLogin : '.$e->getMessage());
}
}
public function PostWorkshopLogin($session_id,$session_key)
{
try {
$email = Input::get("email");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
if(isset($session))
{
$email_user = Workshop::where('email',$email)->first();
if(isset($email_user))
{
return "<h4 style='color:red;'> Email id registered.</h4>";
}
else
{
return "<h4 style='color:red;'> Email id not registered.</h4>";
}
}
else
{
// return $this->ClosedPage();
Session::flash('msg', AppMessage::$EndSession);
return Redirect::to('msg');
}
} catch (Exception $e) {
Log::error('UserController - getProfile : '.$e->getMessage());
}
} // post function end
// sent otp function start
public function WorkshopSendOTP()
{
$msg = "";
$status= "";
$user_id = 0;
try {
$full_name = Input::get("full_name");
$email = Input::get("email");
$session_id = Input::get("session_id");
$session_key = Input::get("session_key");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
$email = isset($email)?trim($email):null;
$user = null;
if(isset($email))
{
if(isset($email) && !empty($email))
{
// $email = preg_replace('/\s/', '', $email);
$user = Workshop::where('email',$email)->first();
}
if(!isset($user))
{
$user = new Workshop();
$user->full_name = $full_name;
$user->email = $email;
$user->save();
}
if(isset($user) && intval($user->evaluator_id) > 0)
{
$evaluator_id = $user->evaluator_id;
if(isset($user->otp))
{
$otp = $user->otp;
}
else
{
$otp = Helper::randomPassword();// Helper::GenerateAndSendOTP($mobile);
}
$datetime = new Datetime;
$otp_expired_at = $datetime->modify("+10 minutes");
$otp_expired_at_text = $otp_expired_at->format('d/m/Y h:i A');
$content = $otp." is the OTP for your $session->session_title Login. This OTP is valid until $otp_expired_at_text";
//Mail
if(isset($user->email) && !empty($user->email))
{
try {
$subject = "$otp-OTP from $session->session_title Login, valid until $otp_expired_at_text";
$mailContent = array( "u" => $user, "OTPContent" => $content);
Mail::send('emails.otp', $mailContent, function($message) use ($session,$user,$subject) {
$message->from($session->from_email_id,$session->from_email_name);
$message->to($user->email);
$message->subject($subject);
});
} catch (Exception $e) {
Log::error('UserController - SendOTP - Mail : '.$e->getMessage());
}
}
$user->otp = $otp;
$user->otp_expired_at = $otp_expired_at;
$operationStatus = $user->save();
$msg ="An OTP has been sent to your email. It might take upto a minute to reach you. The OTP is valid for 10 mins.";
$status="success";
}
}
else
{
// $msg = "Please Enter Email Id Or Mobile Number";
$msg = "Please Enter valid Email Id";
$status="error";
}
} catch (Exception $e) {
Log::error('UserController - EvaluatorSendOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status,'user_id' => $evaluator_id));
}
public function WorkshopVerifyOTP(){
try
{
$data = "";
$status="";
$msg="";
$user_id = Input::get("hdnuserId");
$otp = Input::get("otp");
$session_id = Input::get("session_id");
$session_key = Input::get("session_key");
$session = Sessions::where('session_key',$session_key)->where('session_id',$session_id)->first();
$user = Workshop::find($user_id);
$datetime = date("Y-m-d H:i:s");
if(isset($user) && intval($user->evaluator_id) > 0)
{
if($user->otp == $otp)
{
if($datetime <= $user->otp_expired_at)
{
$user->otp = null;
$user->save();
$data = array('evaluator_id' => $user->evaluator_id, 'full_name'=>$user->full_name);
Session::put('Workshop', $data);
$status= "success";
$url = url('workshop_marks/MjA=');
$msg = "Login Successfully.Please redirect the page..";
}
else
{
$msg ="OTP has expired.Please generate a new one.";
$status="error";
$data ="";
}
}
else
{
$msg = "Invalid OTP";
$status="error";
$data ="";
}
}
else
{
$msg = "Error!";
$status="error";
$data ="";
}
}
catch (Exception $e) {
Log::error('UserController - WorkshopVerifyOTP : '.$e->getMessage());
echo $e->getMessage();
}
return Response::json(array('msg'=>$msg,'status'=>$status,'url'=>$url));
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists