Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Input;
- use Session;
- use App\Http\Requests;
- use DB;
- use Hash;
- use App\Slider;
- use App\RegisterClass;
- use App\Syllabus;
- use App\Member;
- use App\Student;
- use App\Course;
- use App\CourseCategory;
- use App\WelcomeScreen;
- use App\Device;
- use Validator;
- use Log;
- use Response;
- class MobileSiteController extends Controller
- {
- public function welcomeScreen(Request $request)
- {
- $json = $request->json();
- $input = [
- "email" => $json->get('email'),
- "uuid" => $json->get('uuid'),
- ];
- $validator = validator::make
- (
- $input,array
- (
- "email" => "required",
- "uuid" => "required"
- )
- );
- $email = $json->get('email');
- $imei = $json->get('uuid');
- // Check apakah terdaftar di device
- $device = Device::where('imei', $imei)->first();
- if($device == null){
- $device = new Device();
- $device->imei = $imei;
- $device->email = $email;
- $device->save();
- } else {
- $device->email = $email;
- $device->save();
- }
- // Check apakah terdaftar di users (username itu email)
- $user = User::where("username", $email)->first();
- $registered = 'Y';
- if($user == null){
- $registered = 'N';
- }
- return response()->json([
- "status" => "OK",
- "registered" => $registered,
- ]);
- }
- public function postLogin(Request $request)
- {
- $json = $request->json();
- $email = $json->get('email');
- $password = $json->get('password');
- //mengececk email dn password yg kita input ada tidak di database member
- $data = User::select('username','password','role')
- ->where('username','=', $email)
- ->first();
- // jika email tidak di temukan
- if($data == null)
- {
- $result =
- [
- 'status'=>'FAIL',
- 'error_key' => 'email.password.not.found',
- 'error_message' =>'Email and password not found',
- ];
- }
- else
- {
- //mengecek password hash di db
- if(\Hash::check($password,$data->password))
- {
- //melihat email dn password yg kita input apabila setlh login lupa pakai email dn password yg mana
- Session::put('mobileSession',
- [
- 'email'=>$email,
- 'password'=>$password,
- 'role'=> $data->role
- ]);
- $result =
- [
- 'status'=>'OK',
- 'role'=>$data->role
- ];
- }
- else
- {
- $result =
- [
- 'status'=>'FAIL',
- 'error_key' => 'email.password.not.found',
- 'error_message' =>'Email and password not found',
- ];
- }
- }
- return response()->json($result);
- }
- public function getSlider()
- {
- // menampilkan data slider dimana role banner nya adalah mobile AND active saja
- $data = Slider::where('role_banner','=', '1')
- ->where('active','=', 'Y')
- ->get();
- if($data != NULL)
- {
- $temp=[];
- foreach ($data as $key=>$value)
- {
- $tampung=[
- 'slider_name'=>$value->slider_name,
- 'image'=>$value->path_file,
- 'description'=>$value->description,
- 'active'=>$value->active,
- 'role_banner'=>$value->role_banner
- ];
- $temp[] = $tampung;
- }
- $result =
- [
- 'status'=>'OK',
- 'banner_list'=>$temp
- ];
- }
- else
- {
- $result =
- [
- 'status'=>'FAIL',
- 'error_key'=> 'no.banner.available',
- 'error_message' => 'No banner available',
- ];
- }
- return response()->json($result);
- }
- public function getCourseList()
- {
- $courseList = Course::join("course_categories","courses.course_category_id","=","course_categories.course_category_id")
- ->select( \DB::raw(" courses.*, course_categories.type_class as category ") )
- ->orderBy('order_num')->get();
- $result = [
- 'status' => 'OK',
- 'courseList' => $courseList
- ];
- return response()->json($result);
- }
- public function getCourse($course_id)
- {
- $dataCourse = Course::where('course_id','=',$course_id)
- ->where('active','=','Y')
- ->get();
- $dataSyllabus = Syllabus::where('course_id','=',$course_id)->get();
- /*memisahkan data array dari datacourse menjadi 1 persatu*/
- foreach ($dataCourse as $key => $value)
- {
- $materi = $value->materi;
- $session_count = $value->session_count;
- $recommended = $value->recommended;
- $cost = $value->cost;
- }
- $syllabus=[];
- foreach ($dataSyllabus as $key => $value)
- {
- $temp =
- [
- 'session'=>$value->session,
- 'materi_desc'=>$value->materi_desc
- ];
- array_push($syllabus,$temp);
- }
- $course_detail = [
- 'course_id'=>$course_id,
- 'materi'=>$materi,
- 'session_count'=>$session_count,
- 'recommended'=>$recommended,
- 'cost'=>$cost,
- 'syllabus'=>$syllabus
- ];
- $result =
- [
- 'status'=>'OK',
- 'course_detail'=>$course_detail
- ];
- return response()->json($result);
- }
- public function postRegist(Request $request)
- {
- $json = $request->json();
- $input = [
- "name" => $json->get('name'),
- "gender" => $json->get('gender'),
- "dob" => $json->get('dob'),
- "school_level" => $json->get('school_level'),
- "major" => $json->get('major'),
- "phone" => $json->get('phone'),
- "email" => $json->get('email'),
- "password" => $json->get('password'),
- "year_level" => $json->get('year_level'),
- "university" => $json->get('university'),
- ];
- $validator = validator::make
- (
- $input,array
- (
- "name" => "required",
- "gender" => "required",
- "dob" => "required",
- "school_level" => "required",
- "major" => "required",
- "phone" => "required",
- "email" => "required",
- "password" => "required"
- )
- );
- if($validator->passes())
- {
- try {
- DB::beginTransaction();
- // Check apakah email sudah digunakan, jika sudah error
- $count = User::where('username', "=", $input['email'])->count();
- if($count > 0){
- throw new \Exception("Email already registered");
- }
- // INSERT 1 ke users
- $user = new User();
- $user->username = $input['email'];
- $user->password = Hash::make($input['password']);
- $user->confirmation_code = md5(time());
- $user->role = 'member';
- $user->save();
- // INSERT 2 ke members
- $member = new Member();
- $member->name = $input['name'];
- $member->gender = $input['gender'];
- $member->dob = $input['dob'];
- $member->school_level = $input['school_level'];
- $member->major = $input['major'];
- $member->phone = $input['phone'];
- // $member->email = $input['email'];
- // $member->password = $input['password'];
- $member->university = $input['university'];
- $member->year_level = $input['year_level'];
- // $member->role = 'member';
- $member->user_id = $user->user_id;
- $member->save();
- DB::commit();
- $result =
- [
- 'status'=>'OK',
- 'user_id'=> $user->user_id,
- 'username' => $user->username,
- ];
- }catch(\Exception $ex){
- DB::rollback();
- $result = [
- 'status' => 'FAIL',
- 'error_key' => 'register.fail',
- 'error_message' => $ex->getMessage(),
- ];
- }
- }
- else
- {
- $result =
- [
- 'status'=>'FAIL',
- 'error_key'=> 'register.input.not.valid',
- 'error_message' => 'Register input not valid',
- 'error_list' => $validator->errors(),
- ];
- }
- return response()->json($result);
- }
- public function postRegistClass(Request $request)
- {
- return response()->json([
- "status" => "FAIL",
- "error_key" => "not.available.yet",
- ]);
- /*
- $studentValidate = Member::where('member_id','=', $request->member_id)->first();
- $courseValidate = Course::where('course_id','=', $request->course_id)->first();
- $courseCategoryValidate = CourseCategory:: where('course_category_id','=', $request->course_category_id)->first();
- $validator = validator::make
- (
- Input::all(),array
- (
- "schedule" => "required"
- )
- );
- if($validator->passes())
- {
- $registerClass = new RegisterClass();
- $registerClass->member_id = $studentValidate->member_id;
- $registerClass->course_id = $courseValidate->course_id;
- $registerClass->course_category_id = $courseCategoryValidate->course_category_id;
- $registerClass->schedule = Input::get('schedule');
- $registerClass->save();
- $update = Member::find($studentValidate->member_id);
- $update->role = 'student';
- $update->save();
- $result =
- [
- 'status'=>'OK',
- 'message'=>'Input Success'
- ];
- }
- else
- {
- $result =
- [
- 'status'=> 'FAIL',
- 'error_key'=> 'Invalid Input',
- 'error_message' =>
- ];
- }
- return response()->json($result);*/
- }
- public function postChangePassword(Request $request)
- {
- $json = $request->json();
- $input = [
- "member_id" => $json->get('member_id'),
- "old_password" => $json->get('old_password'),
- "new_password" => $json->get('new_password'),
- ];
- $validator = validator::make
- (
- $input,array
- (
- "old_password" => "required",
- "new_password" => "required"
- )
- );
- $member_id = $input['member_id'];
- $update = Member::find($member_id);
- if($update == null){
- return response()->json(
- [
- "status" => "FAIL",
- "error_key" => "Invalid member ID",
- ]
- );
- }
- // Log::debug($update);
- $user = User::find( $update->user_id );
- // Log::debug($user);
- if(!password_verify($input['old_password'], $user->password)){
- return response()->json(
- [
- "status" => "FAIL",
- "error_key" => "old.password.did.not.match",
- "error_message" => "Old password did not match",
- ]
- );
- }
- $password = \Hash::make($input['new_password']);
- if($validator->passes())
- {
- $user->password = $password;
- $user->save();
- $result =
- [
- 'status'=>'OK',
- 'message'=>'Change Password Success'
- ];
- }
- else
- {
- $result =
- [
- 'status'=>'FAIL',
- 'error_key' => 'input.validation.errors',
- 'error_list' => $validator->errors()
- ];
- }
- return response()->json($result);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement