Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
app
/
Http
/
Controllers
/
Admin
/
Filename :
CollegeController.php
back
Copy
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\College; use App\Models\Country; use App\Models\CollegeImage; use App\Models\Goal; use App\Models\Course; use App\Models\CollegeCourse; use App\Models\CollegeGoalWeightage; use App\Models\PopularMajor; use Auth; use Hash; use Session; use DB; use Socialite; use Image; Use Response; use Helpers; use File; class CollegeController extends Controller { public function index() { $colleges = College::get(); return view('Admin.College.index',compact('colleges')); } public function college_list(Request $request) { $columns = array("college_name","college_image","tuition_fee","application_deadline","country_name","ivy_league_badge","is_featured","college_id"); $columns2 =array("colleges.college_name","colleges.college_image","colleges.tuition_fee","colleges.application_deadline","countries.country_name","colleges.ivy_league_badge","colleges.is_featured","colleges.college_id"); $totalData = College::count(); $limit = $request->input('length'); $start = $request->input('start'); $dir = $request->input('order.0.dir'); $query = College::select($columns2)->join('countries','countries.country_id','=','colleges.country_id'); $colleges = $query->get(); $totalFiltered = $colleges->count(); $colleges = $query->offset($start); $colleges = $query->limit($limit); if(isset($columns2[$request->input('order.0.column')])){ $order = $columns[$request->input('order.0.column')]; $colleges = $query->orderBy($order,$dir); } if(isset($request->sort_by) && $request->sort_by == 1) $colleges = $query->orderBy('colleges.created_at', 'asc'); else $colleges = $query->orderBy('colleges.created_at', 'desc'); $colleges = $query->get(); //$totalFiltered = $query->count(); $data = array(); if(!empty($colleges)) { foreach ($colleges as $key => $college) { $edit = route('colleges.edit',$college->college_id); $delete = route('colleges.destroy', $college->college_id); foreach ($columns as $key => $column) { if ($column == 'college_id') { $nestedData[$column] = "<form action='{$delete}' method='POST' id='collegeTable-".$college->$column."'> <input name='_method' type='hidden' value='DELETE'> <a href='{$edit}' title='EDIT' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-green-teal gradient-shadow'> ".csrf_field()." <i class='material-icons'>edit</i></a> <button type='button' title='DELETE' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-purple-deep-orange gradient-shadow' onclick='delete_college(".$college->$column.");'> <i class='material-icons'>clear</i> </button> </form>"; } else if($column == 'created_at') { $nestedData[$column] = date('j M Y h:i a',strtotime($college->$column)); }else if($column == 'college_image') { $nestedData[$column] = '<img src="'.asset($college->college_image).'" width="65px"/>'; } else if($column == 'application_deadline') { $nestedData[$column] = date('d M Y',strtotime($college->$column)); } else if ($column == 'is_featured' && $college->is_featured == 1) { $nestedData[$column] = ' <div class="switch"> <label> <input type="checkbox" class="chkbox" data-college-id="'.$college->college_id.'" value="'.$college->$column.'" style="border-style: solid;" checked> <span class="lever"></span> </label> </div>'; } else if($column == 'is_featured' && $college->is_featured == 0){ $nestedData[$column] = ' <div class="switch"> <label> <input type="checkbox" class="chkbox" data-college-id="'.$college->college_id.'" value="'.$college->$column.'" style="border-style: solid;"> <span class="lever"></span> </label> </div>'; } else { $nestedData[$column] = $college->$column; } } $data[] = $nestedData; } } //echo count($data);exit; $json_data = array( "draw" => intval($request->input('draw')), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $data ); // echo '<pre>';print_r($json_data);die; echo json_encode($json_data); } public function is_featured(Request $request) { // dd($request->all()); College::where('college_id', $request->college_id)->update([ 'is_featured' => $request->is_featured, ]); echo $request->is_featured;exit; return response()->json(['success'=>'Status change successfully.']); } public function create() { $countries = Country::get(); $colleges = College::get(); $courses = Course::get(); $goals = Goal::get(); return view('Admin.College.create',compact('countries','goals','courses')); } public function store(Request $request) { $validate = $request->validate([ 'college_name' => 'required', // 'collegeImage' => 'required', 'tuition_fee' => 'required', 'application_deadline' => 'required', 'scholarship_points' => 'required', 'sat_min_range' => 'required', 'sat_max_range' => 'required', 'act_min_range' => 'required', 'act_max_range' => 'required', 'high_school_gpa' => 'required', 'median_salary' => 'required', 'avarage_debt' => 'required', 'graduation_rate' => 'required', ]); $request['application_deadline'] = date("Y-m-d", strtotime($request['application_deadline'])); $colleges = College::create($request->all()); if($request->hasFile('collegeImage')) { $files = $request->file('collegeImage'); foreach($files as $key => $file){ $imageName = rand().time().'.'.$file->extension(); // Save thumbnail image $img = Image::make($file->getRealPath()); $img->resize(100, 100, function($constraint){ $constraint->aspectRatio(); })->save(public_path('/college_images/thumb/').$imageName); //Save original size image $file->move(public_path('college_images'), $imageName); CollegeImage::insert([ 'college_id' => $colleges->college_id, 'image_name' => $imageName ]); if($key == 0){ College::where('college_id','=',$colleges->college_id)->update([ 'college_image' => $imageName, ]); } } } $goals = $request->goal_id; if($goals) { foreach($goals as $key=>$goal){ CollegeGoalWeightage::insert([ 'college_id' => $colleges->college_id, 'goal_id' => $goal, 'weightage' => !empty($request->weightage) ? ($request->weightage[$key]) : NULL, ]); } } $courses = $request->course_id; if($courses){ foreach($courses as $course){ $values = explode(',',$course); CollegeCourse::insert([ 'college_id' => $colleges->college_id, 'course_id' => $values[0], ]); } } if(!empty($request->popular_major_name) && !empty($request->required_percentage)){ foreach($request->popular_major_name as $key => $value){ PopularMajor::insert([ 'college_id' => $colleges->college_id, 'popular_major_name' => $request->popular_major_name[$key], 'required_percentage' => $request->required_percentage[$key], 'created_at' => date("Y-m-d H:i:s"), ]); } } return redirect()->route('colleges.index')->with('success','Record Successfully Inserted.'); } public function edit($id) { $countries = Country::get(); $colleges = College::find($id); $collegeImages = CollegeImage::where('college_id',$id)->get(); $collegeCourses = CollegeCourse::where('college_id',$id)->get(); $courses = Course::get(); $goals = Goal::get(); $collegeGoalWeightages = CollegeGoalWeightage::where('college_id',$id)->get(); $popularMajors = PopularMajor::select('popular_majors.*','colleges.college_id') ->leftJoin('colleges','colleges.college_id','=','popular_majors.college_id') ->where('colleges.college_id',$id) ->get(); $get_course_id = []; foreach($collegeCourses as $collegeCourse){ $get_course_id[] = $collegeCourse->course_id; } return view('Admin.College.edit',compact('colleges','countries','collegeImages','get_course_id','courses','goals','collegeGoalWeightages','popularMajors')); } public function update(Request $request,$id) { $validate = $request->validate([ 'college_name' => 'required', 'tuition_fee' => 'required', 'application_deadline' => 'required', 'scholarship_points' => 'required', 'sat_min_range' => 'required', 'sat_max_range' => 'required', 'act_min_range' => 'required', 'act_max_range' => 'required', 'high_school_gpa' => 'required', 'median_salary' => 'required', 'avarage_debt' => 'required', 'graduation_rate' => 'required', ]); $colleges = College::find($id); if($request->hasFile('collegeImage')) { $files = $request->file('collegeImage'); foreach($files as $key => $file){ $imageName = rand().time().'.'.$file->extension(); // Save thumbnail image $img = Image::make($file->getRealPath()); $img->resize(100, 100, function($constraint){ $constraint->aspectRatio(); })->save(public_path('/college_images/thumb/').$imageName); //Save original size image $file->move(public_path('college_images'),$imageName); DB::table('college_images')->insert([ 'college_id' => $id, 'image_name' => $imageName ]); } } $request['application_deadline'] = date("Y-m-d", strtotime($request['application_deadline'])); $colleges->update($request->all()); $goals = $request->goal_id; CollegeGoalWeightage::where('college_id', $id)->delete(); if($goals) { foreach($goals as $key=>$goal){ CollegeGoalWeightage::insert([ 'college_id' => $colleges->college_id, 'goal_id' => $goal, 'weightage' => !empty($request->weightage) ? ($request->weightage[$key]) : NULL, 'created_at' => date("Y-m-d H:i:s"), ]); } } CollegeCourse::where('college_id', $id)->delete(); if($request->course_id){ foreach($request->course_id as $course){ $values = explode(',',$course); CollegeCourse::insert([ 'college_id' => $id, 'course_id' => $values[0], ]); } } PopularMajor::where('college_id', $id)->delete(); if(!empty($request->popular_major_name) && !empty($request->required_percentage)){ foreach($request->popular_major_name as $key => $value){ PopularMajor::insert([ 'college_id' => $id, 'popular_major_name' => $request->popular_major_name[$key], 'required_percentage' => $request->required_percentage[$key], 'created_at' => date("Y-m-d H:i:s"), ]); } } return redirect()->route('colleges.index')->with('success','Record Updated Successfully.'); } public function destroy($id) { $data = College::find($id)->delete(); return redirect()->route('colleges.index')->with('success','Record Deleted Successfully'); } public function delete_img(Request $request) { $collegeImageId = $request->collegeImageId; // $collegeImageName = $request->collegeImageName; CollegeImage::where('college_image_id',$collegeImageId)->delete(); // File::delete(public_path('/college_images/thumb/'.$collegeImageName)); // File::delete(public_path('/college_images/'.$collegeImageName)); } }