WP File Manager
Current Path:
/
home
/
itutorethiopia
/
public_html
/
app
/
Http
/
Controllers
/
api_droid
/
Name
Action
..
Controller.php
Edit
UserController.php
Edit
WelcomeController.php
Edit
Editing: UserController.php
<?php namespace App\Http\Controllers\api_droid; use Illuminate\Http\Request; use Validator, Input, Redirect, Response ; use App\Models\Users; use App\Models\Categories; use App\Models\Api_droid; use App\Models\bsetec; use App\Models\Coupon; use App\Models\Admincoupon; use Carbon\Carbon; use App\User; use File; use App\Models\Course; use App\Models\CourseImages; use App\Http\Controllers\CommonmailController; use Intervention\Image\ImageManagerStatic as Image; use App\Models\CourseFiles; class UserController extends Controller { public function __construct() { // $this->middleware('guest'); $this->bsetec = new Bsetec(); $this->users = new Users(); $this->course = new Course(); $this->categories = new Categories(); $this->api = new Api_droid(); $this->sendmail = new CommonmailController(); } public function postRegister(Request $request) { //validation rules // echo "string"; // exit; $rules = array( 'username'=>'required|alpha_spaces_dashes|unique:users|min:2', 'first_name'=>'required|alpha|min:2', 'last_name'=>'required|alpha|min:2', 'email'=>'required|email|unique:users', 'phone'=>'required|numeric|unique:users', 'dob'=>'required', 'category_id'=>'required', 'password'=>'required|alpha_num|between:6,12', 'device_id'=>'required', ); $validator = Validator::make($request->all(), $rules); // if (count($request->input('category_id')) != 0) { // $cat_id = implode(',', $request->input('category_id')); // } //if validation passed, save into database if (!empty($request->input('dob'))) { $dob = date("Y-m-d", strtotime($request->input('dob'))); } if ($validator->passes()) { $code = rand(10000,10000000); $this->users->first_name = $request->input('first_name'); $this->users->last_name = $request->input('last_name'); $this->users->email = trim($request->input('email')); $this->users->phone = trim($request->input('phone')); $this->users->dob = $dob; $this->users->category_id = trim($request->input('category_id')); $this->users->username = trim($request->input('username')); $this->users->activation = $code; $this->users->group_id = 3; $this->users->active=1; $this->users->password = \Hash::make($request->input('password')); $this->users->device_id = $request->input('device_id'); $this->users->access_token = $this->random_code(10); $this->users->save(); $user = $this->users->find($this->users->id); $url = url(''); $current_url = str_replace('api-droid','', $url); $activation_url = $current_url.'/user/activation'; $data = array( 'firstname' => $request->input('first_name') , 'lastname' => $request->input('last_name') , 'email' => $request->input('email') , 'phone' => $request->input('phone') , 'dob' => $request->input('dob') , 'password' => $request->input('password') , 'code' => $code, 'url' => $activation_url.'?code='.$code, ); $toMail = $request->input('email'); $subject =CNF_APPNAME." REGISTRATION "; $message = view('api_droid.registration', $data); $fromMail = CNF_EMAIL; $tempname = 'api_droid.registration'; //$this->sendmail->getMail($fromMail,$toMail,$subject,$data,$tempname); $result = array( 'id'=>$user['id'], 'username'=>$user['first_name'].' '.$user['last_name'], 'email'=>$user['email'], 'phone'=>$user['phone'], 'dob'=>$user['dob'], 'user_image'=>$this->api->customavatar($user['email'],$user['id']), 'access_token' => $user['access_token'], ); return Response::json(array('status'=>true, 'result'=>$result), 200); } else { return Response::json(array( 'status' => false, 'errors' => $validator->errors()->all() ), 200); } } public function postLogin(Request $request) { //validation rules $rules = array( 'email'=>'required', 'password'=>'required|between:6,12', 'device_type'=>'required', ); $validator = Validator::make($request->all(), $rules); //if validation passed, save into database if ($validator->passes()) { if(!preg_match('/[a-z||0-9]@[a-z||0-9].[a-z]/', $request->input('email'))) { // echo "NUmber"; $login = \DB::table('users')->where('phone',$request->input('email'))->first(); } else { $login = \DB::table('users')->where('email',$request->input('email'))->first(); // echo "Email"; } // print_r($login); // exit; if(count($login)>0) { $pwd = $login->password; if (\Hash::check(trim($request->input('password')),$pwd)) { if($login->access_token == ''){ $access_token = $this->random_code(10); $affectedRows = User::where('id',$login->id)->update(array('access_token' => $access_token)); } $user = $this->users->find($login->id); if($user->active =='1') { if(!preg_match('/[a-z||0-9]@[a-z||0-9].[a-z]/', $request->input('email'))) { // echo "NUmber"; $email = Users::where('phone',$request->input('email'))->first(); } else { $email = Users::where('email',$request->input('email'))->first(); // echo "Email"; } $email->device_id = empty($request->input('device_id'))? $email->device_id : $request->input('device_id'); $email->device_type = $request->input('device_type'); $email->save(); $result = array( 'id' => $user['id'], 'username' => $user['first_name'].' '.$user['last_name'], 'email' => $user['email'], 'phone' => $user['phone'], 'user_image' => $this->api->customavatar($user['email'],$user['id']), 'access_token' => $user['access_token'], ); return Response::json(array('status'=>true, 'result'=>$result), 200); } else { return Response::json(array( 'status' => false, 'errors' => array('Your account is not active'), ), 200); } }else { return Response::json(array( 'status' => false, 'errors' => array('Username/Password incorrect'), ), 200); } } else { return Response::json(array( 'status' => false, 'errors' => array('Username/Password incorrect'), ), 400); } } else { return Response::json(array( 'status' => false, 'errors' => $validator->getMessageBag()->toArray() ), 400); } } public function getCategories(Request $request) { $categories = $this->categories ->select('id','name', 'slug') ->where('status','enable') ->get(); // print_r($categories); // exit; if (isset($request->user_id) && !empty($request->user_id)) { $cat = $this->filter_user_categories($request->user_id, $categories); if (isset($cat) && !empty($cat)) { $categories = $cat; } } foreach ($categories as $key => $value) { $category[]=array( 'id'=>$value['id'], 'name'=>trim($value['name']), 'slug'=>trim($value['slug']), ); } // exit(); return Response::json(array('status'=>true, 'result'=>$category), 200); } public function getSubcategories(Request $request) { $rules = array( 'category_id'=>'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $categoryid =$request->input('category_id'); if(empty($categoryid)){ return Response::json(array('status'=>false,'errors'=>array('category id is required')),200); }else{ $course = $this->api->subcategories($categoryid); return Response::json($course, 200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- course */ public function getCourse(Request $request){ //validation rules $rules = array( 'category_id'=>'numeric', 'instruction_level'=>'alpha', 'sort_by'=>'alpha', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $categoryid = $request->input('category_id'); $price = $request->input('price'); $ins_level = $request->input('instruction_level'); $sort_by = $request->input('sort_by'); $user_id = $request->input('user_id'); $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; if(empty($categoryid) && empty($price) && empty($ins_level) && empty($sort_by)){ return Response::json(array('status'=>false,'errors'=>array('Atleast Fill One Value')),200); }else{ $course = $this->api->course($categoryid, $price,$ins_level,$sort_by,$user_id,$page); return Response::json($course, 200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process - Featured/Latest/Most viewed course */ public function getCourselist(Request $request){ // if($request->input('user_id')) // $courselist = $this->api->courselist(); // else $courselist = $this->api->courselist($request->input('user_id')); return Response::json(array('status'=>true, 'result'=>$courselist), 200); } /* * @process --- coursedetails * @param --- course id and user id */ public function postCoursedetails(Request $request){ $rules = array( 'course_id'=>'required|numeric', ); $validator = Validator::make($request->all(), $rules); if($validator->passes()){ $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $details = $this->api->usercoursedetails($request->input('course_id'),$request->input('user_id')); return Response::json(array('status'=>true, 'result'=>$details), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course Not available')),200); } } else{ return Response::json(array( 'status' => false, 'errors' => $validator->getMessageBag()->toArray() ), 200); } } /* * @process --- course curriculum */ public function postCoursecurriculum( Request $request ) { $rules = array( 'course_id'=>'required|numeric' ); $validator = Validator::make($request->all(), $rules); if($validator->passes()) { $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $curriculum = $this->api->getcurriculum($request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$curriculum), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course Not available') ),200); } }else{ return Response::json(array( 'status' => false, 'errors' => $validator->getMessageBag()->toArray() ), 200); } } public function getCoursereview(Request $request) { $rules = array( 'course_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()) { $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $review = $this->api->getcoursereview($request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$review), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course Not available')),200); } } else { return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- course view discussion */ public function postViewdiscussion(Request $request) { $rules = array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()) { $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $discussion = $this->api->getdiscussion($request->input('course_id'),$request->input('user_id')); $lectures = $this->api->getlecturess($request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$discussion,'lecture'=>$lectures), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- about instructor * @param -- course_id */ public function postInstructor(Request $request) { $rules = array('course_id'=>'required|numeric'); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $instructor = $this->api->getInstructor($request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$instructor), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course Not available')),200); } } else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- Add Discussion API */ public function postAdddiscussion(Request $request){ $rules = array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'desc_cnt'=>'required', 'lecture_id'=>'required|numeric', 'desc_title'=>'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $msg = $this->api->adddiscussion($request->input('course_id'),$request->input('user_id'),$request->input('desc_cnt'),$request->input('desc_title'),$request->input('lecture_id')); if($msg > 0) return Response::json(array('status'=>true, 'result'=>$msg), 200); else return Response::json(array('status'=>false,'errors'=>array('Lecture ID not Available this course') ),200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- Edit Discussion API */ public function postUpdatediscussion(Request $request){ $rules = array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'desc_cnt'=>'required', 'discussion_id'=>'required|numeric', 'desc_title'=>'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $msg = $this->api->editdiscussion($request->input('course_id'),$request->input('user_id'),$request->input('desc_cnt'),$request->input('desc_title'),$request->input('discussion_id')); if($msg==1) return Response::json(array('status'=>true, 'result'=>'Update Successfully' ), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid Discussion ID') ),200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Delete Discussion API */ public function postDiscussiondelete(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'discussion_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $msg = $this->api->destorydiscussion($request->input('user_id'),$request->input('discussion_id')); if($msg==1) return Response::json(array('status'=>true, 'result'=>'Deleted Successfully' ), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid Discussion ID') ),200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Add wishlist */ public function postWishlist(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'status'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $msg = $this->api->wishlist($request->input('user_id'),$request->input('course_id'),$request->input('status')); if($msg==1) return Response::json(array('status'=>true, 'result'=>'Added Successfully' ), 200); else if($msg == 0) return Response::json(array('status'=>false,'errors'=>array('removed Successfuly') ),200); else return Response::json(array('status'=>true, 'result'=>'Already Added' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- course wishlist */ public function getCoursewishlist(Request $request){ $rules = array( 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; $user = $this->api->userwishlist($request->input('user_id'),$page); //$user = empty($user)? '':$user; return Response::json(array('status'=>true, 'result'=>$user), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Add Reply */ public function postAddreply(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'discussion_id'=>'required|numeric', 'reply_cmt'=>'required', // 'lecture_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $msg = $this->api->addreply($request->input('course_id'),$request->input('user_id'),$request->input('reply_cmt'),$request->input('discussion_id')); if($msg>0) return Response::json(array('status'=>true, 'result'=>$msg), 200); else return Response::json(array('status'=>false,'errors'=>array('Lecture ID not Available this course')),200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Edit Reply */ public function postUpdatereply(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'reply_cmt'=>'required', 'reply_id'=>'required|numeric', 'course_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $msg = $this->api->updatereply($request->input('user_id'),$request->input('reply_id'),$request->input('reply_cmt')); if($msg==1) return Response::json(array('status'=>true, 'result'=>'Successfully updated' ), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid Reply ID')),200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Delete Reply */ public function postReplydestroy(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'reply_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $msg = $this->api->destoryreply($request->input('user_id'),$request->input('reply_id')); if($msg==1) return Response::json(array('status'=>true, 'result'=>'Deleted Successfully' ), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid Reply ID') ),200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- view all replies */ public function postViewreplies(Request $request){ $rules = array( 'course_id'=>'required|numeric', 'discussion_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $avail = $this->api->isAvaildiscussion($request->input('course_id'),$request->input('discussion_id')); if($avail>0){ $replies = $this->api->viewreplies($request->input('discussion_id')); return Response::json(array('status'=>true, 'result'=>$replies), 200); } else{ return Response::json(array('status'=>false,'errors'=>array('Invalid Discussion and Course ID') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- mycourse list ( Learning) */ public function getMycourselist(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'type'=>'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $check = $this->api->Ischeckuser($request->input('user_id')); if($check>0){ $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; $learning = $this->api->learning($request->input('user_id'),$request->input('type'),$page); return Response::json(array('status'=>true, 'result'=>$learning), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Invalid User ID') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- announcement */ public function postAnnouncement(Request $request) { $rules = array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $announcement = $this->api->getannouncement($request->input('course_id'),$request->input('user_id')); return Response::json(array('status'=>true, 'result'=>$announcement), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course Not available') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- forgetrequest */ public function postForgetrequest(Request $request) { $rules = array( 'email_id'=>'required|email' ); $validator = Validator::make(Input::all(), $rules); if ($validator->passes()) { $user = User::where('email','=',$request->input('email_id')); if($user->count() >=1) { $url = url(''); $current_url = str_replace('api-droid','', $url); $reset_url = $current_url.'/user/resetmob/'; $user = $user->get(); $user = $user[0]; $token = uniqid(); $token1= $reset_url.$token; $data = array('token'=>$token1); $toMail = $request->input('email_id'); $subject = CNF_APPNAME." REQUEST PASSWORD RESET "; $message = view('api_droid.reminder', $data); $fromMail = CNF_EMAIL; $tempname = 'api_droid.reminder'; $this->sendmail->getMail($fromMail,$toMail,$subject,$data,$tempname); $affectedRows = User::where('email', '=',$user->email) ->update(array('reminder' => $token)); return Response::json(array('status'=>true, 'result'=>'Reset Link send your email' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Cant find email address')),200); } }else{ foreach ($validator->messages()->getMessages() as $field_name => $messages) { $errs[] = $messages[0]; } return Response::json(array('status'=>false,'errors'=>$errs),200); } } /* * @process --- user course curriculum for subscribed user */ public function postUsercourse(Request $request){ $rules = array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $course_cnt = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($course_cnt>0){ $cid = $request->input('course_id'); $uid = $request->input('user_id'); $url = url(''); $current_url = str_replace('api-droid','', $url); $curriculum = $this->api->getusercurriculum($request->input('course_id'),$request->input('user_id')); $percentage = $this->api->coursepercentage($request->input('course_id'),$request->input('user_id')); return Response::json(array('status'=>true, 'result'=>$curriculum,'course_percentage'=>$percentage,'course_completed'=>($this->api->checkCompletion($request->input('course_id'),$request->input('user_id'))) ? '1':'0','certificate_url'=>($this->api->checkCompletion($request->input('course_id'),$request->input('user_id')))? $current_url.'/course/certificate/'.$cid.'/'.$uid : ''), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Check Facebook Login */ public function postSignin(Request $request){ $rules = array( //'email_id'=>'required', 'social_type'=>'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ if($request->input('email_id') == '' && $request->input('username') == ''){ return Response::json(array( 'status' => false, 'errors' => array('Enter username or email'), ), 400); } if($request->input('email_id') != '' && $request->input('username') != '') { $email = Users::where('email',$request->input('email_id'))->where('username',$request->get('username'))->first(); }else{ if($request->input('email_id') != ''){ $email = Users::where('email',$request->input('email_id'))->first(); } if($request->input('username') != ''){ $email = Users::where('username',$request->get('username'))->first(); } } if(!empty($email)) { if($email->active =='1') { $email->device_id = empty($request->input('device_id'))? $email->device_id : $request->input('device_id'); $email->device_type = empty($request->input('device_type'))? $email->device_type : $request->input('device_type') ; $email->access_token = $access_token; $email->save(); $count = $this->api->Ischeckfbuser($request->input('username'),$request->input('email_id'),$request->input('social_type')); if(count($count)>0) return Response::json(array('status'=>true, 'result'=>$count), 200); else return Response::json(array('status'=>false,'errors'=>array('email id is not register with '.$request->input('social_type').' / Device ID ' )),200); }else{ return Response::json(array( 'status' => false, 'errors' => array('Your account is not active'), ), 200); } } else { /*error_reporting(-1); ini_set('display_errors', 'On'); */ return Response::json(array( 'status' => false, 'errors' =>array( 'Your username or email is not valid'), ), 200); exit; } }else{ foreach ($validator->messages()->getMessages() as $field_name => $messages) { $errs[] = $messages[0]; } return Response::json(array('status'=>false,'errors'=>$errs),200); } } public function getProfileinfo(Request $request) { // print_r($_SERVER['HTTP_AUTHORIZATION']); // exit; $rules=array( 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); if($count>0){ $Info = $this->api->getProfileInfo($request->input('user_id')); return Response::json(array('status'=>true, 'result'=>$Info), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- update profile information */ public function postUpdateinfo(Request $request) { // echo "string"; exit; $rules=array( 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); if($count>0){ $Info = $this->api->updateProfileInfo($request->input('user_id'),$request->input('first_name'),$request->input('last_name'),$request->input('user_name'),$request->input('announcement'),$request->input('spl_promotion'),$request->input('phone'),$request->input('category_id'),$request->input('dob')); if($Info==1) return Response::json(array('status'=>true, 'result'=>'Success'), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process -- Change Password */ public function postChangepassword(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'current_password'=>'required', 'password'=>'required|confirmed|between:6,12|different:current_password', 'password_confirmation'=>'required|between:6,12|required_with:password', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); if($count>0){ $user = User::find($request->input('user_id')); if(!\Hash::check($request->input('current_password'), $user->password)){ return Response::json(array('status'=>false,'errors'=>array('Enter valid Current Password') ),200); }else{ $new_password = \Hash::make($request->get('password')); $user->password =$new_password; $user->save(); return Response::json(array('status'=>true, 'result'=>'Password Updated' ), 200); } }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Account Delete */ public function postAccountdestory(Request $request){ $rules=array( 'user_id'=>'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); if($count>0){ $blog_comments = $this->api->userData('blogcomments','user_id',$request->input('user_id')); $forum_comments = $this->api->userData('forum_comments','user_id',$request->input('user_id')); $favorite = $this->api->userData('favorite','user_id',$request->input('user_id')); $quiz_results = $this->api->userData('curriculum_quiz_results','user_id',$request->input('user_id')); $featured = $this->api->userData('featured','user_id',$request->input('user_id')); $instructor = $this->api->userData('instructor','user_id',$request->input('user_id')); $invitation_users = $this->api->userData('invitation_users','user_id',$request->input('user_id')); $lectures_comments = $this->api->userData('lectures_comments','user_id',$request->input('user_id')); $lectures_comment_reply = $this->api->userData('lectures_comment_reply','user_id',$request->input('user_id')); $logs = $this->api->userData('logs','user_id',$request->input('user_id')); $notifications = $this->api->userData('notifications','user_id',$request->input('user_id')); $report_abuse = $this->api->userData('report_abuse','user_id',$request->input('user_id')); $subscriber_list = $this->api->userData('subscriber_list','user_id',$request->input('user_id')); $withdraw_requests = $this->api->userData('withdraw_requests','user_id',$request->input('user_id')); $course_progress = $this->api->userData('course_progress','user_id',$request->input('user_id')); $courses = Course::where('user_id',$request->input('user_id'))->get(); if(count($courses)>0){ foreach ($courses as $course) { $this->course->courseunpublish($course->course_id); } } User::find($request->input('user_id'))->delete(); return Response::json(array('status'=>true, 'result'=>'Account Deleted Successfully' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- lecture details status */ public function postLecturedetails(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'lecture_id'=>'required|numeric', 'course_id'=>'required|numeric', 'status'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); if($count>0){ $status = $this->api->lecturedetails($request->input('user_id'),$request->input('course_id'),$request->input('lecture_id'),$request->input('status')); if($status==1) return Response::json(array('status'=>true, 'result'=>'Lecture Status updated Successfully' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- search course */ public function getSearchcourse(Request $request){ $rules=array( 'course_search'=>'required' ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; $search = $this->api->searchcourse($request->input('user_id'),$request->input('course_search'),$page); return Response::json($search, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- searchdiscussion */ public function postSearchdiscussion(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'dis_search'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $search = $this->api->searchdiscussion($request->input('user_id'),$request->input('course_id'),$request->input('dis_search')); return Response::json(array('status'=>true, 'result'=>$search), 200); } else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- updateprofile */ public function postUpdateprofile(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'cimage'=>'required' ); // echo $request->input('cimage');exit(); $image = Input::file('cimage'); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $what = getimagesize($image); if($what[0] < 500 || $what[1] < 500){ $response = array( 'status'=>false, 'message'=>'Uploaded image size is '.$what[0].'px * '.$what[1].'px. The Minimum allowed size is 500px * 500px.' ); return Response::json(array('status'=>false,'errors'=>$response),200); }else { $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } switch(strtolower($what['mime'])) { case 'image/png': $img_r = imagecreatefrompng($image); $source_image = imagecreatefrompng($image); $type = '.png'; break; case 'image/jpeg': $img_r = imagecreatefromjpeg($image); $source_image = imagecreatefromjpeg($image); $type = '.jpg'; break; case 'image/gif': $img_r = imagecreatefromgif($image); $source_image = imagecreatefromgif($image); $type = '.gif'; break; default: die('image type not supported'); } // $base = base_path(); // $path = str_replace('api','', $base); // $destination = $path.'/uploads/users/'; $destination = './uploads/users/'; $filename = $image->getClientOriginalName(); //echo $filename; $courseImages = new CourseImages; $courseImages->image_title = $filename; $courseImages->image_type = substr($type, 1); $courseImages->image_tag = "dummy tag"; $courseImages->uploader_id = $request->input('user_id'); $courseImages->created_at = time(); $courseImages->updated_at = time(); $courseImages->save(); //update image hash $courseUpdate = CourseImages::find($courseImages->id); $courseUpdate->image_hash = md5($courseImages->id.$courseUpdate->created_at); $courseUpdate->save(); $image_n = $courseImages->id; //$filename = $request->input('user_id').$type; //$extension =$image->getClientOriginalExtension(); $image_size[] = array('imgW'=>'500','imgH'=>'500','value'=>'normal'); $image_size[] = array('imgW'=>'150','imgH'=>'150','value'=>'medium'); $image_size[] = array('imgW'=>'64','imgH'=>'64','value'=>'small'); $path = $destination.$image_n.$type; foreach($image_size as $size){ $save_path = ($size['value'] =='normal') ? $image_n.$type : $image_n.'_'.$size['value'].$type; Image::make($image->getRealPath())->resize($size['imgW'],$size['imgH'])->save($destination.$save_path); } $image_id = $courseImages->find($courseImages->id); $data = array(); $data['avatar']=$image_id->id; $data['updated_at']=time(); Users::where('id',$request->input('user_id'))->update($data); $users = $this->users->find($request->input('user_id')); $image_url=array('profile_image_url'=>$this->api->customavatar($users['email'],$users['id'])); return Response::json(array('status'=>true, 'result'=>$image_url), 200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Add Rating */ public function postAddrating(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'rating'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $search = $this->api->Addrating($request->input('user_id'),$request->input('course_id'),$request->input('review_text'),$request->input('rating')); return Response::json(array('status'=>true, 'result'=>'Rating Successfully Added' ), 200); } else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- get Rating and review */ public function postRating(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $rating = $this->api->getrating($request->input('user_id'),$request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$rating), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- Report Abuse */ public function postReportabuse(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'issue_type'=>'required', 'details'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $this->api->reportabuse($request->input('user_id'),$request->input('course_id'),$request->input('issue_type'),$request->input('details')); return Response::json(array('status'=>true, 'result'=>'Report Successfully Added' ), 200); } else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Studentsenrolled */ public function postEnrolled(Request $request){ $rules=array( 'course_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $enrolled = $this->api->Studentsenrolled($request->input('course_id')); return Response::json(array('status'=>true, 'result'=>$enrolled), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- signupwithfb */ public function postSignup(Request $request){ $rules = array( 'username'=>'required|alpha_num|unique:users|min:2', 'firstname'=>'required|alpha|min:2', 'lastname'=>'required|alpha|min:2', 'email'=>'required|email|unique:users', 'password'=>'required|alpha_num|between:6,12', 'social_id'=>'required', 'social_type'=>'required', 'device_id'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $code = rand(10000,10000000); $authen = new User; $authen->first_name = $request->input('firstname'); $authen->last_name = $request->input('lastname'); $authen->email = trim($request->input('email')); $authen->username = trim($request->input('username')); $authen->social_id = $request->input('social_id'); $authen->social_type = $request->input('social_type'); $authen->activation = $code; $authen->group_id = 3; $authen->password = \Hash::make($request->input('password')); $authen->device_id = $request->input('device_id'); $authen->access_token = $this->random_code(10); $authen->save(); $user = $authen->find($authen->id); $url = url(''); $current_url = str_replace('api-droid','', $url); $activation_url = $current_url.'/user/activation'; $data = array( 'firstname' => $request->input('firstname') , 'lastname' => $request->input('lastname') , 'email' => $request->input('email') , 'password' => $request->input('password') , 'code' => $code, 'url' => $activation_url.'?code='.$code, ); $toMail = $request->input('email'); $subject =CNF_APPNAME." REGISTRATION "; $message = view('api_droid.registration', $data); $fromMail = CNF_EMAIL; $tempname = 'api_droid.registration'; $this->sendmail->getMail($fromMail,$toMail,$subject,$data,$tempname); $result = array( 'id'=>$user['id'], 'username'=>$user['first_name'].' '.$user['last_name'], 'email'=>$user['email'], 'user_image'=>$this->api->customavatar($user['email'],$user['id']), ); return Response::json(array('status'=>true, 'result'=>$result), 200); }else{ foreach ($validator->messages()->getMessages() as $field_name => $messages) { $errs[] = $messages[0]; } return Response::json(array('status'=>false,'errors'=>$errs),200); } } /* *@process --- Quiz Questions */ public function postQuizquestions(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'lecture_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $quiz = $this->api->getquiz($request->input('user_id'),$request->input('course_id'),$request->input('lecture_id')); return Response::json(array('status'=>true, 'result'=>$quiz), 200); } else{ return Response::json(array('status'=>false,'errors'=>array('User not subscribe this course')),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function postChangeemail(Request $request){ $id=$request->input('user_id'); $rules=array( 'email'=>'required|email|unique:users,email,'.$id, 'user_id'=>'required|numeric', 'password'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->Ischeckuser($request->input('user_id')); $users = $this->users->find($request->input('user_id')); if($count>0){ if(!\Hash::check($request->input('password'), $users->password)){ return Response::json(array('status'=>false,'errors'=>array('Enter valid Current Password') ),200); }else{ $this->api->changeemail($request->input('user_id'),$request->input('email')); return Response::json(array('status'=>true, 'result'=>'Successfully Updated Email ID' ), 200); } }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid User id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- Quiz questio result */ public function postQuizresult(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'question_id'=>'required', 'answer_id'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $question_id = $request->input('question_id'); $answer_id = $request->input('answer_id'); $cid = $request->input('course_id'); $uid = $request->input('user_id'); $result = $this->api->quizresult($uid,$cid,$question_id,$answer_id); return Response::json(array('status'=>true, 'result'=>$result), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Delete Review */ public function postDelreview(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $this->api->reviewdestory($request->input('user_id'),$request->input('course_id')); return Response::json(array('status'=>true, 'result'=>'Review Successfully Deleted' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- course list page trending and */ public function getTrending(Request $request){ $recommend = array(); if($request->input('user_id')){ // $recommend = $this->recomendCourse($request->input('user_id')); } $trending = $this->api->trending($request->input('user_id')); return Response::json(array('status'=>true,'recommend' => $recommend, 'result'=>$trending), 200); } /* *@process -- view all */ public function getViewall(Request $request){ $rules=array( 'type'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; $count = $this->api->viewall_count($request->input('type')); $view_all = $this->api->viewall($request->input('type'),$request->input('user_id'),$page); return Response::json(array('status'=>true, 'total_count'=>$count,'result'=>$view_all), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Buy Course */ public function postBuycourse(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count==0){ $course = $this->course->find($request->input('course_id')); if($course->pricing==0){ $this->api->buycourse($request->input('course_id'),$request->input('user_id')); return Response::json(array('status'=>true, 'result'=>'Successfully Subscribed' ), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('This is Paid Course') ),200); } } else{ return Response::json(array('status'=>false,'errors'=>array('Already subscribed') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process --- Twitter email id */ public function postUsermail(Request $request){ $rules=array( 'first_name'=>'required|alpha|min:2', 'last_name'=>'required|alpha|min:2', 'id'=>'required', 'email'=>'required', 'username'=>'required', 'social_type'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ if($request->input('email') == '' && $request->input('username') == ''){ return Response::json(array( 'status' => false, 'errors' => array('Enter username or email'), ), 400); } $id = $this->api->checkUserinfo($request->get('first_name'),$request->get('last_name'),$request->get('email'),$request->get('id'),$request->get('social_type'),$request->input('username')); $login = Users::find($id); if($login->access_token == ''){ $access_token = $this->random_code(10); $affectedRows = User::where('id',$login->id)->update(array('access_token' => $access_token)); } if(!empty($id)){ $authen = Users::find($id); $result = array( 'id'=> $authen->id, 'username'=>$authen->first_name.' '.$authen->last_name, 'email'=>$authen->email, 'phone'=>$authen->phone, 'dob'=>$authen->dob, 'user_image'=>$this->api->customavatar($authen->email,$authen->id), 'access_token' => $authen->access_token, ); return Response::json(array('status'=>true, 'result'=>$result), 200); }else{ return Response::json(array('status'=>false,'errors'=>array(array('Invalid id and type')) ),400); } }else{ foreach ($validator->messages()->getMessages() as $field_name => $messages) { $errs[] = $messages[0]; } return Response::json(array('status'=>false,'errors'=>$errs),400); // return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),400); } } /* *@process -- currency code */ public function getCurrency(){ //$basepath = dirname(__FILE__); // $base = str_replace('api', '', base_path()); // require_once $base.'setting.php'; $currency = CNF_CURRENCY; $code = CNF_COLOR_CODE; return Response::json(array('status'=>true, 'currency_code'=>$currency,'color_code'=>$code), 200); } /* *@process --- Payment -- Paypal, Paypal Checkout, Stripe */ public function getPaymentsucess(Request $request){ echo 'success'; } public function getPaymentsucessbank(Request $request){ echo 'pending'; } //Push Notification public function getNotification($device_id='',$type=''){ if($type=='android'){ define( 'API_ACCESS_KEY', 'AIzaSyCGjSZSpXdAyau_fk_ZCueT1IHJ0jwxZ1M' ); $registrationIds = array($device_id); // prep the bundle $msg = array ( 'message' => 'here is a message. message', 'title' => 'This is a title. title', 'subtitle' => 'This is a subtitle. subtitle', 'tickerText' => 'Ticker text here...Ticker text here...Ticker text here', 'vibrate' => 1, 'sound' => 1, 'largeIcon' => 'large_icon', 'smallIcon' => 'small_icon' ); $fields = array ( 'registration_ids' => $registrationIds, 'data' => $msg ); $headers = array ( 'Authorization: key=' . API_ACCESS_KEY, 'Content-Type: application/json' ); $ch = curl_init(); curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' ); curl_setopt( $ch,CURLOPT_POST, true ); curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) ); $result = curl_exec($ch ); curl_close( $ch ); echo $result; } } public function postFeatures(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'status' => 'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $updatefeatures = $this->api->getupdatefeatures($request->all()); return Response::json(array('status'=>true, 'result'=>$updatefeatures), 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* * @process --- Course guest user */ public function getNotsubscriber(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'device_id'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $course_cnt = $this->api->isAvailcourse($request->input('course_id')); if($course_cnt>0){ $details = $this->api->usercoursedetails1($request->input('course_id'),$request->input('user_id')); $curriculum = $this->api->getcurriculum($request->input('course_id')); $curriculum_count= count($curriculum); $c_page_cnt = $this->pagecount($curriculum_count); $instructor = $this->api->getInstructor($request->input('course_id')); $review = $this->api->getcoursereview($request->input('course_id')); $review_count = count($review); $r_page_cnt = $this->pagecount($curriculum_count); $recent = $this->api->getviewedcoures($request->input('device_id'),$request->input('user_id'),$request->input('course_id')); return Response::json(array('status'=>true, 'course_details'=>$details,'curriculum_page_count'=>$c_page_cnt,'curriculum'=>$curriculum,'about_instructor'=>$instructor,'review_page_count'=>$r_page_cnt,'course_review'=>$review,'recently_view_course'=>$recent), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Enter Valid Course id') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // page count public function pagecount($count){ $remain = $count % 10; if($remain!=0){ $co_count = $count / 10; $page_count = round($co_count+1); }else{ $co_count = $count / 10; $page_count = round($co_count); } return $page_count; } /* *@process --- set Recently course */ public function postRecently(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'device_id'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $recent = $this->api->checkrecently($request->input('course_id'),$request->input('device_id')); if($recent==0){ $this->api->updaterecntview($request->input('course_id'),$request->input('device_id')); return Response::json(array('status'=>true, 'result'=>'Successfully Added'), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Already viewed') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- Save notes */ public function postNotes(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'section_id'=>'required|numeric', 'lecture_id'=>'required|numeric', 'notes'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $cid = $request->input('course_id'); $uid = $request->input('user_id'); $sid = $request->input('section_id'); $lid = $request->input('lecture_id'); $notes = $request->input('notes'); $id = $this->api->insertlecturenotes($uid,$lid,$sid,$notes); if($id) return Response::json(array('status'=>true, 'result'=>'Successfully Added'), 200); else return Response::json(array('status'=>false,'errors'=>array('Not updated') ),200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course not subscribe')),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *@process -- Download lecture notes */ public function getDownloadnotes(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'course_id'=>'required|numeric', 'lecture_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $current_url = str_replace('api-droid','/', url('') ); $url = $current_url.'/download-notesmob/'.$request->input('lecture_id').'/'.$request->input('user_id'); $count = $this->api->isSubscribecourse($request->input('course_id'),$request->input('user_id')); if($count>0){ $notes = $this->api->getnotes($request->input('user_id'),$request->input('lecture_id')); return Response::json(array('status'=>true, 'note_hint'=>$notes,'downloadable_notes'=>$url), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Course not subscribe') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // remove notes public function postRemovenotes(Request $request){ $rules=array( 'note_id'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $res = $this->api->removenotes($request->input('user_id'),$request->input('note_id')); if($res ==1) return Response::json(array('status'=>true, 'result'=>'Note Successfully Deleted'), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid note and user id') ),200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // Add Annoucements public function postAnnouncements(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'announcement'=>'required', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $status = $this->api->checkInstructor($request->input('user_id'),$request->input('course_id')); if($status==1){ $ann = $this->api->announcement($request->input('user_id'),$request->input('course_id'),$request->input('announcement')); return Response::json(array('status'=>true, 'result'=>$ann), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Invalid Instructor user and course id')),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // Update Annoucements public function postUpdateannouncement(Request $request){ $rules=array( 'course_id'=>'required|numeric', 'user_id'=>'required|numeric', 'announcement'=>'required', 'announcement_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $status = $this->api->checkInstructor($request->input('user_id'),$request->input('course_id')); if($status==1){ $id = $this->api->updateannouncement($request->input('user_id'),$request->input('course_id'),$request->input('announcement'),$request->input('announcement_id')); if($id==1) return Response::json(array('status'=>true, 'result'=>'Update Successfully'), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid Announcement id') ),200); }else{ return Response::json(array('status'=>false,'errors'=>array('Invalid Instructor user and course id')),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // remove annoucement public function postRemoveannouncement(Request $request){ $rules=array( 'user_id'=>'required|numeric', 'announcement_id'=>'required|numeric', ); $validator= Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $id = \DB::table('course_announcement')->where('user_id',$request->input('user_id'))->where('announcement_id',$request->input('announcement_id'))->delete(); if($id) return Response::json(array('status'=>true, 'result'=>'Deleted Successfully'), 200); else return Response::json(array('status'=>false,'errors'=>array('Invalid user and announcement id')),200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- get questions list */ public function getQuestions(Request $request){ $userid = $request->input('user_id'); $search = $request->input('search_text'); $page_no = $request->input('page_no'); if($page_no==''){ $page_no = 0; } $trending = $this->api->questions($userid, $search, $page_no); return Response::json(array('status'=>true, 'result'=>$trending), 200); } /* *process -- get questions view */ public function getQuestionview(Request $request){ $rules = array( 'question_id' => 'required|numeric', 'type' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $question_id = $request->input('question_id'); $type = $request->input('type'); $qtnview = $this->api->questionview($question_id, $type); return Response::json($qtnview, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- get Answer Lists */ public function getAnswerslist(Request $request){ $rules = array( 'question_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $question_id = $request->input('question_id'); $search_text = $request->input('search_text'); $page_no = $request->input('page_no'); if(empty($question_id)){ return Response::json(array('status'=>false,'errors'=>array('question id is required') ),200); }else{ $answers = $this->api->answerslist($question_id, $search_text, $page_no); return Response::json($answers, 200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post create questions */ public function postUpsertquestion(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'question_title' => 'required|min:5|max:140', 'category_id' => 'required|numeric', // 'sub_cat_id' => 'required|numeric', 'description' => 'required|min:10|max:1000', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $questionid = $request->input('question_id'); $qtns = $this->api->savequestions($request, $questionid); //print_r($qtns);exit; $qtnview = $this->api->questionview($qtns['question_id'], '1'); return Response::json($qtnview, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post files to questions */ public function postUploadqtnfile(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'qfiles' => 'required|mimes:zip,jpg,jpeg,png,pdf,doc,docx,txt' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $user_id = $request->input('user_id'); $document = $request->file('qfiles'); $file_name = explode('.',$document->getClientOriginalName()); $file_name = $file_name[0].'_'.time().rand(4,9999); $file_type = $document->getClientOriginalExtension(); $file_title = $document->getClientOriginalName(); $file_size = $document->getSize(); $request->file('qfiles')->move('./uploads/files/', $file_name.'.'.$file_type ); $courseFiles = new CourseFiles; $courseFiles->file_name = $file_name; $courseFiles->file_title = $file_title; $courseFiles->file_type = $file_type; $courseFiles->file_extension = $file_type; $courseFiles->file_size = $file_size; $courseFiles->duration = ''; $courseFiles->file_tag = 'questions'; $courseFiles->uploader_id = $user_id; $courseFiles->created_at = time(); $courseFiles->updated_at = time(); if($courseFiles->save()){ return Response::json(array('status'=>true, 'message' => 'File has been uploaded successfully', 'file_id' => $courseFiles->id,'file_name'=>$file_title), 200); }else{ return Response::json(array('status'=>false), 200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post create questions */ public function postUpsertreply(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'question_id' => 'required|numeric', 'reply_text' => 'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $answer_id = $request->input('answer_id'); $reply = $this->api->savereply($request, $answer_id); return Response::json($reply, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post delete questions */ public function postRemovequestions(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'question_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $deletes = $this->api->deleteqtn($request); return Response::json($deletes, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post delete answers */ public function postRemoveanswers(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'answer_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $deletes = $this->api->deleteanswers($request); return Response::json($deletes, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- post delete files */ public function postRemoveqtnfile(Request $request){ $rules = array( 'user_id' => 'required|numeric', 'file_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $deletes = $this->api->deletefiles($request); return Response::json($deletes, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- get Memberships */ public function getMembership(Request $request){ $rules = array( 'user_id' => 'numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $pks = $this->api->membership($request); return Response::json($pks, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function getMembershipinfo(Request $request){ $rules = array( 'user_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $user_id = $request->input('user_id'); $pks = $this->api->membershipinfo($user_id); return Response::json($pks, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- get Cancel Memberships */ public function getCancelmembership(Request $request){ $data = $this->api->cancelmembership($request->input('user_id'), $request->input('membership_id')); return Response::json( array('status' => $data ), 200); } /* *process -- business packages */ public function getBusinesspackage(Request $request){ $package = $this->api->businesspackagelist($request); return Response::json($package, 200); } /* *process -- business packages */ public function getAssignedcourse(Request $request){ $rules = array( 'business_id' => 'required|numeric', 'user_id' => 'required|numeric', 'page_no' => 'numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $assign = $this->api->assignedinfo($request); return Response::json($assign, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function getListbusinessusers(Request $request){ $rules = array( 'business_id' => 'required|numeric', 'page_no' => 'numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $busers = $this->api->listbusinessusers($request); return Response::json($busers, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function postAddbusinessusers(Request $request){ $rules = array( 'username'=>'required|alpha_num|unique:users|min:2', 'first_name'=>'required|alpha|min:2', 'last_name'=>'required|alpha|min:2', 'email'=>'required|email|unique:users', 'password'=>'required|confirmed|between:6,12', 'password_confirmation'=>'required|between:6,12|required_with:password', 'business_id' =>'required|numeric', 'status'=>'required|numeric', ); $validator = Validator::make($request->all(), $rules); if ($validator->passes()) { $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $data = array( 'firstname' => $request->input('first_name') , 'lastname' => $request->input('last_name') , 'userid' => $request->input('user_id') , 'email' => $request->input('email') , 'username' => $request->input('username') , 'password' => \Hash::make($request->input('password')), 'status' => $request->input('status') , 'business_id' => $request->input('business_id') , ); $package = $this->api->addbusinessusers($data); return Response::json($package, 200); } else { return Response::json(array( 'status' => false, 'errors' => $validator->getMessageBag()->toArray() ), 200); } } public function postEditbusinessusers(Request $request){ $rules = array( // 'username'=>'required|alpha_num|min:2', 'first_name'=>'required|alpha|min:2', 'last_name'=>'required|alpha|min:2', // 'email'=>'required|email|unique:users', 'password'=>'required|confirmed|between:6,12', 'password_confirmation'=>'required|between:6,12|required_with:password', 'business_id' =>'required|numeric', 'status'=>'required|numeric', 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(), $rules); if ($validator->passes()) { $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $data = array( 'firstname' => $request->input('first_name') , 'lastname' => $request->input('last_name') , 'userid' => $request->input('user_id') , // 'email' => $request->input('email') , // 'username' => $request->input('username') , 'password' => \Hash::make($request->input('password')), 'status' => $request->input('status') , 'business_id' => $request->input('business_id') , ); $package = $this->api->editbusinessusers($data); return Response::json($package, 200); }else { return Response::json(array( 'status' => false, 'errors' => $validator->getMessageBag()->toArray() ), 200); } } public function getCourselists(Request $request){ $rules = array( 'business_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $pks = $this->api->courseinfo($request); return Response::json($pks, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function postAssigncourse(Request $request){ $rules = array( 'business_id' => 'required|numeric', 'user_id' => 'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $pks = $this->api->assigncoursetouser($request); return Response::json($pks, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- Delete business user */ public function postRemovebusinessuser(Request $request){ $rules = array( 'business_id' => 'required|numeric', 'user_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $deletes = $this->api->deletebusinessuser($request); return Response::json($deletes, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } /* *process -- get menu */ public function getMenus(Request $request){ $rules = array( 'user_id' => 'required|numeric' ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $accesstoken = isset($_SERVER['HTTP_AUTHORIZATION']) ? $_SERVER['HTTP_AUTHORIZATION'] : ''; $checkuser = $this->checkuser_token($request->input('user_id'), $accesstoken); if($checkuser == 0){ return Response::json(array( 'status' => false, 'errors' => array('Authentication failed!'), ), 200); } $userid = $request->input('user_id'); $membership = \bsetecHelpers::getMembershipofuserallstatusmob($userid); $membershipstatus = 0; if(count($membership)>0){ // $membershipstatus = 1; if($membership->status == 'completed') { $membershipstatus = 1; } } $businessplanstatus = 0; $arrs = array('status'=>true, 'membership' => $membershipstatus , 'business_plan' => $businessplanstatus); return Response::json($arrs, 200); }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } // To generate random id function random_code($length) { $str = ""; $characters = array_merge(range('A','Z'), range('0','9'), range('a','z')); $max = count($characters) - 1; for ($i = 0; $i < $length; $i++) { $rand = mt_rand(0, $max); $str .= $characters[$rand]; } return $str; } // to check user & access token public function checkuser_token($userid='',$token='') { if(trim($token) == ''){ return 1; } $token = str_replace("isBearer","",trim($token)); $token = str_replace("Bearer ","",trim($token)); $id = \DB::table('users')->where('id',$userid)->where('access_token',trim($token))->first(); if($id){ return 1; } return 0; } // get course detail by id public function getCoursedetailsga ( Request $request ) { $title = str_replace(' ', '' , $request->input('course_title')); $course = \DB::table('course') ->whereRaw("REPLACE(`course_title`, ' ', '') like ? ", '%' . $title . '%') ->join('users' , 'users.id' , '=' , 'user_id') ->join('course_images','course_images.id','=','course.image') ->select('course.*' , 'users.*' , 'course_images.image_hash' , 'course_images.id' ) ->get(); $url = url(''); $current_url = str_replace('api-droid','', $url); if ( count($course) > 0 ) { foreach ($course as $key => $val) { $result[]=array( 'c_user_id'=>$val->user_id, 'course_id'=>$val->course_id, 'course_image'=>$current_url.'/course/image/'.$val->image_hash.'/_medium', 'course_name'=>$val->course_title, 'description'=>$val->description, 'course_goal'=>$val->course_goal, 'course_req'=>$val->course_req, 'int_audience'=>$val->int_audience, 'rating_count'=> $this->api->checkReview($val->course_id), 'first_name'=> $val->first_name ? $val->first_name : '', 'last_name'=> $val->last_name ? $val->last_name : '', 'share_url'=>$current_url.'/courseview/'.$val->course_id.'/'.$val->slug, ); } return Response::json(array( 'status'=>true, 'result'=> $result ),200); } else { return Response::json(array( 'status'=> true, 'result'=> $course ),200); } } // mycourse list public function getMycourselistga(Request $request){ $rules = array( 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $check = \DB::table('users')->where('id' , $request->input('user_id'))->count(); if($check>0){ $page_no = $request->input('page_no'); $page = empty($page_no)? '1':$page_no; $learning = $this->api->learning($request->input('user_id'),'all',$page); return Response::json(array('status'=>true, 'result'=>$learning), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Invalid User ID') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function recomendCourse($loggedid,$neglect_course = ''){ $aCourseList = (array) \SiteHelpers::getRecomendedCourse($loggedid); if(empty($aCourseList['token'])) return array(); if($neglect_course) $aCourseList['token'] = array_diff($aCourseList['token'], array($neglect_course) ); $aCourseInfo = $this->api->getRecomendList($aCourseList['token']); $courses = []; $url = url(''); $current_url = str_replace('api-droid','', $url); if ( count($aCourseInfo) > 0 ) { foreach ($aCourseInfo as $key => $val) { $subscribe = ($loggedid==$val->user_id)? 1 :$this->api->isSubscribecourse($val->course_id,$loggedid); $courses[]=array( 'c_user_id'=>$val->user_id, 'course_id'=>$val->course_id, 'course_image'=>$current_url.'/course/image/'.$val->image_hash.'/_medium', 'is_subscribed'=>$subscribe, 'price'=>$val->pricing, 'author'=>$val->username, 'is_wishlist'=>$this->api->Iscoursewishlist($val->course_id,$loggedid), 'course_name'=>$val->course_title, 'description'=>strip_tags($val->description), 'course_goal'=>$val->course_goal, 'course_req'=>$val->course_req, 'int_audience'=>$val->int_audience, 'category'=>$val->category, 'rating_count'=> $this->api->checkReview($val->course_id), 'share_url'=>$current_url.'/courseview/'.$val->course_id.'/'.$val->slug, ); } return $courses; } else { return array(); } } /* * Get Recommendation based on userid */ public function getRecommendList(Request $request){ // echo "string"; // exit; $rules = array( 'user_id'=>'required|numeric', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $loggedid = $request->input('user_id'); $check = \DB::table('users')->where('id' , $request->input('user_id'))->count(); // check user exists on DB if($check>0){ // $results = $this->recomendCourse($loggedid,$request->input('course_id')); $results = array(); return Response::json(array('status'=>true, 'result'=>$results), 200); }else{ return Response::json(array('status'=>false,'errors'=>array('Invalid User ID') ),200); } }else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function postLectureDownloadSave(Request $request){ $rules = array( 'user_id'=>'required|numeric', 'lecture_id'=>'required|numeric', 'device_id'=>'required', 'device_type'=>'required', 'status'=>'required', ); $validator = Validator::make($request->all(),$rules); if($validator->passes()){ $data = array(); $data['user_id'] = $request->input('user_id'); $data['device_id'] = $request->input('device_id'); $data['device_type'] = $request->input('device_type'); $data['lecture_id'] = $request->input('lecture_id'); $data['status'] = $request->input('status'); $check_user_lecture = \DB::table('lecture_download')->where('user_id' , $request->input('user_id'))->where('lecture_id' , $request->input('lecture_id'))->count(); $check_user_lecture_device = \DB::table('lecture_download')->where('user_id' , $request->input('user_id'))->where('device_id' , $request->input('device_id'))->where('lecture_id' , $request->input('lecture_id'))->get(); // print_r($check_user_lecture_device); // exit; if ($request->input('status') == 0) { if ($check_user_lecture != 0) { if (count($check_user_lecture_device) != 0) { if ($check_user_lecture_device[0]->status == 0) { // echo "already download same device"; return Response::json(array('status'=>false,'errors'=>array('Already Downloaded in this device') ),200); } else { // echo "update status to 0"; $update = \DB::table('lecture_download')->where('download_id', $check_user_lecture_device[0]->download_id)->update(array('status'=> '0')); return Response::json(array('status'=>true, 'result'=>$update), 200); } } else { // echo "attempt to download another device"; return Response::json(array('status'=>false,'errors'=>array('Attempt to download new Device') ),200); } } else { // echo "new user or new lecture to download"; $results = \DB::table('lecture_download')->insert($data); return Response::json(array('status'=>true, 'result'=>$results), 200); } } else { // exit; if (count($check_user_lecture_device) != 0) { if ($check_user_lecture_device[0]->status == 1) { // echo "already deleted same device"; return Response::json(array('status'=>false,'errors'=>array('Already Deleted in same device') ),200); } else { // echo "update status to 1"; $update = \DB::table('lecture_download')->where('download_id', $check_user_lecture_device[0]->download_id)->update(array('status'=> '1')); return Response::json(array('status'=>true, 'result'=>$update), 200); } } else { // echo "Could not find download List"; return Response::json(array('status'=>false,'errors'=>array('Could not find any data') ),200); } } } else{ return Response::json(array('status'=>false,'errors'=>$validator->getMessageBag()->toArray()),200); } } public function filter_user_categories($user_id, $data) { $user_categories = $this->course->getusercategory($user_id); // print_r($user_categories); // exit; $filter_data = array(); if (isset($data) && !empty($data)) { foreach ($data as $key => $value) { foreach ($user_categories as $key1 => $val) { if ($val == $value->id) { array_push($filter_data, $value); } } } } // echo "<pre>"; // print_r($filter_data); // print_r($data); // print_r($user_categories); // exit; return $filter_data; } //end of controller class }