Compare commits

..

64 Commits

Author SHA1 Message Date
tribikram 261c2a7830 [edit] service view image fixed 2 years ago
Mahesh Sharma 05224827b2 layout-app 2 years ago
tribikram d8f54dde16 [edit] content changed 2 years ago
tribikram eefca9f805 [edit] content changed 2 years ago
Mahesh Sharma 03a6955528 meta-title-change 2 years ago
Mahesh Sharma 25ba8f6b78 37-rebase-2nd 2 years ago
Mahesh Sharma a21bc7dc07 37-rebase-2nd 2 years ago
Mahesh Sharma 80739d640b 37-rebase 2 years ago
Mahesh Sharma 8682614dcc welcome-and-layout 2 years ago
tribikram adc6170d09 [edit] css fixed 2 years ago
Mahesh Sharma c24c537779 related-news 2 years ago
Mahesh Sharma afe69b3ece change-in-index-page 2 years ago
tribikram ccb1885902 [edit] visa dropdown, pathway page 2 years ago
Mahesh Sharma 5cdf8d2d80 dynamic-video 2 years ago
Mahesh Sharma a02f4c55ea live-changes-from-suman-dai 2 years ago
Mahesh Sharma 71ba48df89 validation-test 2 years ago
tribikram 04a6dc0ec7 [add] contact icons 2 years ago
tribikram b6c5010521 [edit] css fixed 2 years ago
Mahesh Sharma cb9d3aa285 validation 2 years ago
Mahesh Sharma a6e81c2200 changes 2 years ago
tribikram dcad18e339 [edit] css fixed 2 years ago
tribikram ebc821b0d5 [edit] breadcrumb added 2 years ago
tribikram 4aacfc0308 [edit] css fixed 2 years ago
Mahesh Sharma c3b6a866fb http-request-validation 2 years ago
Mahesh Sharma b486862ed7 form-old-value 2 years ago
tribikram a809b34a7b [add] dynammic banner and text 2 years ago
Mahesh Sharma d250c19200 dynamic-banner-image-in-services 2 years ago
tribikram f4ed183a9a [edit] visa services page 2 years ago
Mahesh Sharma a365114914 changes 2 years ago
Mahesh Sharma 29990fe901 pop-up-messages 2 years ago
tribikram ea8c7325c3 [edit] css fixed 2 years ago
tribikram 6036444980 [edit] meta title description 2 years ago
Mahesh Sharma ee0ca8ea1d aplus#22-conflict 2 years ago
Mahesh Sharma d75688595a changes 2 years ago
Mahesh Sharma c2cae4470c welcome-blade 2 years ago
tribikram 99fb3be395 [add] captcha, banner and css fixed 2 years ago
tribikram b64e6fcdd6 [add] dropdow new design 2 years ago
Mahesh Sharma 05a0def7f3 service-image-add 2 years ago
Mahesh Sharma 2b0b516388 solved-conflict 2 years ago
Mahesh Sharma 4ec8e1e9e4 update 2 years ago
tribikram a68301a942 [edit] live changes 2 years ago
tribikram 47f997cadc [edit] labor agreement banner 2 years ago
tribikram 0d4c1b560b [add] labor agreement page 2 years ago
Mahesh Sharma 55ee2f3c11 applicant-form-and-emai 2 years ago
Mahesh Sharma a5d87fdcf7 route 2 years ago
Mahesh Sharma 71f113a5e6 rebase-17 2 years ago
tribikram e1a6b3babb [add] insurance page 2 years ago
tribikram a09e98af9b [add] i am chef page 2 years ago
tribikram 3e9c93f076 [add] new page recruitment 2 years ago
Mahesh Sharma 9cf20e3473 service-detail 2 years ago
tribikram 12e28b6465 [edit] css fixed 2 years ago
tribikram 32cabf31c5 [edit] service detail responsive 2 years ago
Mahesh Sharma 094ad44531 aplus#10-rebase-3 2 years ago
Mahesh Sharma 5f2ec796c8 visa_service_migration 2 years ago
tribikram a9e4ec15ca [edit] margin for captcha fixed 2 years ago
Mahesh Sharma 6755783f66 aplus#10-rebase 2 years ago
Mahesh Sharma e978d94232 news-and-dynamic-content 2 years ago
tribikram be90e624cd [edit] css fixed 2 years ago
tribikram ed4e8a3e54 [add] mobile responsive design 2 years ago
tribikram 8cc34ad24f [edit] services page links 2 years ago
tribikram d552d5df02 [add] news detail page added 2 years ago
tribikram d4514a7e5f [add] news and update page 2 years ago
tribikram 9a13087b88 [edit] captch design fixed 2 years ago
Mahesh Sharma c0c734f930 recruitment-form-submissionn 2 years ago
  1. 6
      app/Http/Controllers/Admin/AboutUsController.php
  2. 32
      app/Http/Controllers/Admin/NewsAndUpdateController.php
  3. 50
      app/Http/Controllers/Admin/ServiceController.php
  4. 13
      app/Http/Controllers/Admin/ServiceSectionController.php
  5. 22
      app/Http/Controllers/Admin/SettingController.php
  6. 265
      app/Http/Controllers/Admin/VisaServiceController.php
  7. 281
      app/Http/Controllers/Admin/VisaServiceSectionController.php
  8. 32
      app/Http/Controllers/HomeController.php
  9. 14
      app/Http/Controllers/NewsController.php
  10. 104
      app/Http/Controllers/RecruitmentController.php
  11. 33
      app/Http/Controllers/ServiceController.php
  12. 47
      app/Http/Requests/ContactRequest.php
  13. 51
      app/Http/Requests/Recruitment/ApplyRequest.php
  14. 45
      app/Http/Requests/Recruitment/VacancyRequest.php
  15. 2
      app/Models/NewsAndUpdate.php
  16. 11
      app/Models/Recruitment.php
  17. 20
      app/Models/User.php
  18. 15
      app/Models/VisaService.php
  19. 18
      app/Models/VisaServiceSection.php
  20. 16
      app/Models/VisaServiceSectionPoint.php
  21. 1
      composer.json
  22. 152
      composer.lock
  23. 6
      config/custom.php
  24. 33
      database/migrations/2022_07_29_073833_add_des_icon_to_service_section_points_table.php
  25. 33
      database/migrations/2022_11_22_050244_add_point_title_to_abouts_us.php
  26. 4
      database/migrations/2022_12_07_041318_create_recruitments_table.php
  27. 41
      database/migrations/2022_12_12_093112_create_visa_services_table.php
  28. 45
      database/migrations/2022_12_13_035944_create_visa_service_sections_table.php
  29. 34
      database/migrations/2022_12_13_043238_create_visa_service_section_points_table.php
  30. 38
      database/migrations/2022_12_13_071803_create_applicants_table.php
  31. 32
      database/migrations/2022_12_14_063910_add_image_to_services_table.php
  32. 32
      database/migrations/2022_12_14_071738_add_image_to_visa_services_table.php
  33. 32
      database/migrations/2022_12_14_093317_add_thumbnai_to_news_and_updates_table.php
  34. 32
      database/migrations/2022_12_15_060949_add_banner_image_to_services_table.php
  35. BIN
      public/cd20e81c0285e201b4badb6adb9db934.jpeg
  36. BIN
      public/frontend/.DS_Store
  37. 692
      public/frontend/css/style.css
  38. BIN
      public/frontend/icons/business-icon.png
  39. 9
      public/frontend/icons/captcha-icon.svg
  40. 9
      public/frontend/icons/christmas-star-new.svg
  41. 12
      public/frontend/icons/contact-call-icon.svg
  42. 18
      public/frontend/icons/contact-location-icon.svg
  43. 14
      public/frontend/icons/contact-mail-icon.svg
  44. 3
      public/frontend/icons/double-slash.svg
  45. 9
      public/frontend/icons/efficiency.svg
  46. 3
      public/frontend/icons/enq-phone-icon.svg
  47. BIN
      public/frontend/icons/location-address.png
  48. 9
      public/frontend/icons/online-learning.svg
  49. 9
      public/frontend/icons/recruitment-icon.svg
  50. 9
      public/frontend/icons/write-blue.svg
  51. BIN
      public/frontend/images/am-chef-banner.png
  52. BIN
      public/frontend/images/chefs.png
  53. BIN
      public/frontend/images/education-banner.png
  54. BIN
      public/frontend/images/education-image.png
  55. BIN
      public/frontend/images/footer-logo.png
  56. BIN
      public/frontend/images/immigration-lawyers.png
  57. BIN
      public/frontend/images/insurance-desc-img.png
  58. BIN
      public/frontend/images/insurance.png
  59. BIN
      public/frontend/images/labor-agreement.png
  60. BIN
      public/frontend/images/need-chef-banner.png
  61. BIN
      public/frontend/images/pathway-banner.png
  62. BIN
      public/frontend/images/recruitment.png
  63. BIN
      public/frontend/images/skill-assessment-banner.png
  64. BIN
      public/frontend/images/women-chef.png
  65. BIN
      public/frontend/video/aplus-video.mp4
  66. BIN
      public/images/applicant/2022/12/13/11329155dab0bbeae2986370de90e173.docx
  67. BIN
      public/images/applicant/2022/12/13/400757bd557d4d66a88b26b2fe9f82e5.docx
  68. BIN
      public/images/applicant/2022/12/13/53b452ae2614c9df1dcbb6f41dbc9522.docx
  69. BIN
      public/images/applicant/2022/12/13/6744591b0b11be79fe29823574c95393.docx
  70. BIN
      public/images/applicant/2022/12/13/6ae488148f2c5e3f9c7a728e8c73cace.jpeg
  71. BIN
      public/images/applicant/2022/12/13/a4cfe3e4cf5f4b4289f41997fd5961dc.docx
  72. BIN
      public/images/applicant/2022/12/13/ca810503e71682d9dabdddaf00ec5a8c.jpeg
  73. BIN
      public/images/applicant/2022/12/14/2091d808c1a83bd7456fd3210c9581e3.docx
  74. 0
      public/images/news_and_update/2022/12/09/0e900948c55abc91e473dac65ddde3df.jpeg
  75. BIN
      public/images/news_and_update/2022/12/09/4157e604ba36c240337a7db058fcec7b.png
  76. BIN
      public/images/news_and_update/2022/12/13/293c1cb434aeb7c03eee29a50e90998f.png
  77. BIN
      public/images/news_and_update/2022/12/14/305b95b50e3530e978e779f5ca431a5b.jpeg
  78. BIN
      public/images/news_and_update/2022/12/14/3e151b4e1e3a3d5eb4db8d72666a65d6.jpeg
  79. BIN
      public/images/news_and_update/2022/12/14/4e0ce4da583b4939acaddfe7f9a3779a.jpeg
  80. BIN
      public/images/news_and_update/2022/12/14/765d36be8f87786e1e09049684d040f3.jpeg
  81. BIN
      public/images/news_and_update/2022/12/14/7fe9a55ac4800260b39524359cd1ecdd.jpeg
  82. BIN
      public/images/news_and_update/2022/12/14/8cbf7018583a039c2e50f83858b791a5.jpeg
  83. BIN
      public/images/news_and_update/2022/12/14/afb58cdba5b645f0826ee8a9e43ac702.jpeg
  84. BIN
      public/images/news_and_update/2022/12/14/ce5572c130720f6ae2332dec9a2ab6ae.jpeg
  85. BIN
      public/images/news_and_update/2022/12/14/ce706dfb910f0a8dab7ef0246792e3c1.jpeg
  86. BIN
      public/images/news_and_update/2022/12/14/ecbec01b556e0614572ccb4459493715.jpeg
  87. BIN
      public/images/news_and_update/2022/12/14/fc0d4e2779a8ebfc6559a637aedddc67.jpeg
  88. BIN
      public/images/news_and_update/2022/12/15/1c623d329a88526a0e6c9a1c65c4201a.png
  89. BIN
      public/images/news_and_update/2022/12/15/1e5eb434d1a0d772e0c1e04c6f3d0848.png
  90. BIN
      public/images/news_and_update/2022/12/15/4cd43853a326fc48bdc8c9fafe4851b6.jpg
  91. BIN
      public/images/news_and_update/2022/12/15/6db3c9959ce9472803ed24a3a616802b.png
  92. BIN
      public/images/news_and_update/2022/12/15/6e202219a93f6179e59e8d976435f717.png
  93. BIN
      public/images/news_and_update/2022/12/15/9caf5be0962aaef8151d401fb0839184.jpg
  94. BIN
      public/images/news_and_update/2022/12/15/abdb738701400157cf77054d493a9cac.png
  95. BIN
      public/images/news_and_update/2022/12/15/bdfccdb83d9e915311acd92adb682842.jpg
  96. BIN
      public/images/news_and_update/2022/12/15/d129e1089ee4f087db233b13eb11afc8.png
  97. BIN
      public/images/news_and_update/2022/12/15/e9bfc0178a5e6e1571180ed05e67a1ca.png
  98. BIN
      public/images/news_and_update/2022/12/15/f335d87b9f462ff7464a74a73cfa5ff1.jpg
  99. BIN
      public/images/service/2022/12/12/2e7cf0a19e110c225e5e59036bfda111.png
  100. BIN
      public/images/service/2022/12/12/988fd7d130966b1682f7a08e478aec74.jpeg
  101. Some files were not shown because too many files have changed in this diff Show More

@ -58,6 +58,7 @@ class AboutUsController extends Controller
'description' => 'required',
'sub_description' => 'required',
'image' => 'required|file|mimes:jpeg,png,jpg',
'keyword' => 'required'
]);
@ -67,7 +68,10 @@ class AboutUsController extends Controller
$setting->description = strip_tags(\request('description'));
$setting->sub_description = strip_tags(\request('sub_description'));
$setting->status = \request('status');
$setting->title = \request('title');
$setting->bottom_title = \request('bottom_title');
$setting->keyword = \request('keyword');
$setting->point_title = strip_tags(\request('point_title'));
$setting->seo_title = \request('seo_title');
$setting->meta_keyword = strip_tags(\request('meta_keyword'));
$setting->seo_description = strip_tags(\request('seo_description'));
@ -155,6 +159,8 @@ class AboutUsController extends Controller
$setting->description = strip_tags(\request('description'));
$setting->sub_description = strip_tags(\request('sub_description'));
$setting->status = \request('status');
$setting->title = \request('title');
$setting->bottom_title = \request('bottom_title');
$setting->keyword = \request('keyword');
$setting->seo_title = \request('seo_title');
$setting->meta_keyword = strip_tags(\request('meta_keyword'));

@ -53,7 +53,8 @@ class NewsAndUpdateController extends Controller
'keyword' => 'required',
'meta-keyword' => 'nullable',
'status' => 'required',
'image' => 'required|file|mimes:jpeg,png,jpg,pdf'
'image' => 'required|file|mimes:jpeg,png,jpg,pdf',
'thumbnail' => 'required',
]);
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
@ -62,14 +63,23 @@ class NewsAndUpdateController extends Controller
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
$image_path1 = $out_put_path[0];
}
if($request->hasFile('thumbnail')){
$extension = \request()->file('thumbnail')->getClientOriginalExtension();
$image_folder_type = array_search('news_and_update',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('thumbnail'),$extension,$count,$image_folder_type);
$thumbnail_path1 = $out_put_path[0];
}
$requestData = $request->all();
if(isset($image_path1)){
$requestData['image'] = $image_path1;
}
if(isset($thumbnail_path1)){
$requestData['thumbnail'] = $thumbnail_path1;
}
$requestData['slug'] = Setting::create_slug($requestData['keyword']);
$requestData['blog_type'] =1;
$setting = NewsAndUpdate::create($requestData);
if(\request('point_title')){
foreach (\request('point') as $index => $value){
@ -96,7 +106,6 @@ class NewsAndUpdateController extends Controller
public function update(Request $request, $id){
// dd(\request()->all());
$setting =NewsAndUpdate::findorfail($id);
$this->validate(\request(), [
'description' => 'required',
@ -110,7 +119,7 @@ class NewsAndUpdateController extends Controller
if(\request('image')){
$this->validate(\request(),[
'image' => 'file|mimes:jpeg,png,jpg,pdf'
'image' => 'file|mimes:jpeg,png,jpg'
]);
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
@ -122,6 +131,17 @@ class NewsAndUpdateController extends Controller
unlink(public_path().'/'.$setting->image);
}
}
}
if($request->hasFile('thumbnail')){
$extension = \request()->file('thumbnail')->getClientOriginalExtension();
$image_folder_type = array_search('news_and_update',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('thumbnail'),$extension,$count,$image_folder_type);
$thumbnail_path1 = $out_put_path[0];
if (is_file(public_path().'/'.$setting->thumbnail) && file_exists(public_path().'/'.$setting->thumbnail)){
unlink(public_path().'/'.$setting->thumbnail);
}
}
@ -130,7 +150,9 @@ class NewsAndUpdateController extends Controller
if(isset($image_path1)){
$requestData['image'] = $image_path1;
}
$requestData['blog_type'] =1;
if(isset($thumbnail_path1)){
$requestData['thumbnail'] = $thumbnail_path1;
}
$setting->fill($requestData);
$setting->save();
if(\request('point_title') ){

@ -94,6 +94,24 @@ class ServiceController extends Controller
$out_put_path = User::save_image(\request('icon'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $service->icon = $out_put_path[0] : $service->icon = $out_put_path;
}
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
$image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $service->image = $out_put_path[0] : $service->image = $out_put_path;
}
if($request->hasFile('banner_image')){
$extension = \request()->file('banner_image')->getClientOriginalExtension();
$image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('banner_image'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $service->banner_image = $out_put_path[0] : $service->banner_image = $out_put_path;
}
if($service->save()){
@ -190,6 +208,38 @@ class ServiceController extends Controller
is_array($out_put_path) ? $service->icon = $out_put_path[0] : $service->icon = $out_put_path;
}
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
$image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
if (is_file(public_path().'/'.$service->image) && file_exists(public_path().'/'.$service->image)){
unlink(public_path().'/'.$service->image);
}
is_array($out_put_path) ? $service->image = $out_put_path[0] : $service->image = $out_put_path;
}
if($request->hasFile('banner_image')){
$extension = \request()->file('banner_image')->getClientOriginalExtension();
$image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('banner_image'),$extension,$count,$image_folder_type);
if (is_file(public_path().'/'.$service->banner_image) && file_exists(public_path().'/'.$service->banner_image)){
unlink(public_path().'/'.$service->banner_image);
}
is_array($out_put_path) ? $service->banner_image = $out_put_path[0] : $service->banner_image = $out_put_path;
}
if($service->update()){
Session::flash('success','Service has been successfully updated!');

@ -205,11 +205,12 @@ class ServiceSectionController extends Controller
}
if($service_section->update()){
$points = $request->points;
$point_ids = $request->point_ids;
$point_descriptions = $request->point_descriptions ?? [];
$icons = $request->icons ?? [];
if($points[0] != null){
if($points != null && $point_ids != null){
foreach($request['point_ids'] as $key => $pid){
$service_section_point = new ServiceSectionPoint();
$service_section_point = $service_section_point->findorfail($pid);
@ -231,6 +232,15 @@ class ServiceSectionController extends Controller
$service_section_point->point = $points[$key];
$service_section_point->update();
}
}
else{
// foreach($points as $key => $point){
// $service_section_point = new ServiceSectionPoint();
// $service_section_point->service_section_id = $service_section->id;
// $service_section_point->point = $point;
// $service_section_point->save();
// }
}
// $service_point = $service_section->service_section_point();
// $service_point->delete();
@ -254,7 +264,6 @@ class ServiceSectionController extends Controller
// $service_section_point->point = $point;
// $service_section_point->update();
// }
}
Session::flash('success','Service Section has been successfully updated!');
return redirect('admin/services/'.$id.'/sections');

@ -41,6 +41,8 @@ class SettingController extends Controller
public function store(Request $request)
{
$this->validate(\request(),[
'type' => 'required',
'key' => 'required',
@ -54,22 +56,22 @@ class SettingController extends Controller
$setting->type = \request('type');
$setting->status = \request('status');
$setting->slug = Setting::create_slug(\request('key'));
if(request('type') == array_search('Image',config('custom.setting_types'))){
$this->validate($request,[
'value'=>'required|file|mimes:jpeg,png,jpg,pdf'
]
);
// if(request('type') == array_search('Image',config('custom.setting_types'))){
// $this->validate($request,[
// 'value'=>'required|file|mimes:jpeg,png,jpg,pdf'
// ]
// );
// }
if($request->hasFile('value')){
$extension = \request()->file('value')->getClientOriginalExtension();
$image_folder_type = array_search('setting',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('value'),$extension,$count,$image_folder_type);
$image_path = $out_put_path[0];
is_array($out_put_path) ? $image_path = $out_put_path[0] : $image_path = $out_put_path;
$setting->value = $image_path;
}
}else{
else{
$setting->value = \request('value');
}
$setting->save();
@ -124,7 +126,7 @@ class SettingController extends Controller
if(request('type') == array_search('Image',config('custom.setting_types'))){
if(\request('value')){
$this->validate($request,[
'value'=>'required|file|mimes:jpeg,png,jpg,pdf'
'value'=>'required|file|mimes:jpeg,png,jpg,pdf,mp4'
]
);
@ -133,7 +135,7 @@ class SettingController extends Controller
$image_folder_type = array_search('setting',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('value'),$extension,$count,$image_folder_type);
$image_path = $out_put_path[0];
is_array($out_put_path) ? $image_path = $out_put_path[0] : $image_path = $out_put_path;
$setting->value = $image_path;
}
}

@ -0,0 +1,265 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\VisaService;
use App\Models\ServicePoint;
use App\Models\Setting;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
class VisaServiceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
protected $view = 'admin.visa_service.';
protected $redirect = 'admin/visa_services';
public function index()
{
$services = VisaService::orderBy('order_by','ASC');
if(\request('name')){
$key = \request('name');
$services = $services->where('name','like','%'.$key.'%');
}
if(\request('status')){
$key = \request('status');
$services = $services->where('status',$key);
}
$services = $services->paginate(config('custom.per_page'));
return view($this->view.'index',compact('services'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view($this->view.'create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate(\request(),[
'name' => 'required',
'seo_title' => 'required',
'short_description' => 'required',
'keywords'=>'required',
'icon' => 'file|mimes:jpeg,png,jpg,svg,'
]);
$service = new VisaService();
$service->name = \request('name');
// $service->image = \request('image');
// $service->image_title = \request('image_title');
// $service->top_description = \request('top_description');
// $service->image_description = \request('image_description');
// $service->bottom_description = \request('bottom_description');
$service->seo_description = strip_tags(\request('seo_description'));
$service->seo_title = \request('seo_title');
$service->keywords = \request('keywords');
// $service->icon = \request('icon');
$service->meta_keywords = strip_tags(\request('meta_keywords'));
$service->short_description = strip_tags(\request('short_description'));
// $service->point_title = \request('point_title');
// $service->description_title = \request('description_title');
$service->status = \request('status');
$service->order_by = \request('order_by');
// $service->image_alt = \request('image_alt');
$service->slug = Setting::create_slug(\request('seo_title'));
if($request->hasFile('icon')){
$extension = \request()->file('icon')->getClientOriginalExtension();
$image_folder_type = array_search('visa_service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('icon'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $service->icon = $out_put_path[0] : $service->icon = $out_put_path;
}
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
$image_folder_type = array_search('visa_service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $service->image = $out_put_path[0] : $service->image = $out_put_path;
}
if($service->save()){
// $points = $request->points;
// foreach($points as $point){
// $service_point = new ServicePoint();
// $service_point->service_id = $service->id;
// $service_point->point = $point;
// $service_point->save();
// }
Session::flash('success','Visa Service has been created!');
return redirect($this->redirect);
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$service = new VisaService();
$service = $service->findorfail($id);
return view($this->view . 'show', compact('service'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$service = new VisaService();
$service = $service->findorfail($id);
return view($this->view . 'edit', compact('service'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$this->validate(\request(),[
'name' => 'required',
'short_description' => 'required',
'seo_title' => 'required',
'keywords'=>'required',
]);
$service = new VisaService();
$service = $service->findorfail($id);
$service->name = \request('name');
$service->short_description = \request('short_description');
$service->seo_description = \request('seo_description');
$service->seo_title = \request('seo_title');
$service->keywords = \request('keywords');
$service->meta_keywords = \request('meta_keywords');
$service->status = \request('status');
$service->order_by = \request('order_by');
$service->slug = Setting::create_slug(\request('seo_title'));
if($request->hasFile('icon')){
$extension = \request()->file('icon')->getClientOriginalExtension();
$image_folder_type = array_search('visa_service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('icon'),$extension,$count,$image_folder_type);
if (is_file(public_path().'/'.$service->icon) && file_exists(public_path().'/'.$service->icon)){
unlink(public_path().'/'.$service->icon);
}
is_array($out_put_path) ? $service->icon = $out_put_path[0] : $service->icon = $out_put_path;
}
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
$image_folder_type = array_search('visa_service',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
if (is_file(public_path().'/'.$service->image) && file_exists(public_path().'/'.$service->image)){
unlink(public_path().'/'.$service->image);
}
is_array($out_put_path) ? $service->image = $out_put_path[0] : $service->image = $out_put_path;
}
if($service->update()){
Session::flash('success','Visa Service has been successfully updated!');
return redirect($this->redirect);
// $service_point = $service->service_point();
// $service_point->delete();
// $points = $request->points;
// foreach($points as $point){
// $service_point = new ServicePoint();
// $service_point->service_id = $service->id;
// $service_point->point = $point;
// $service_point->save();
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function delete($id)
{
$setting=VisaService::findorfail($id);
if (is_file(public_path().'/'.$setting->icon) && file_exists(public_path().'/'.$setting->icon)){
unlink(public_path().'/'.$setting->icon);
}
$setting->delete();
Session::flash('success','Service has been sucessfully deleted!');
return redirect($this->redirect);
//dd("here");
}
public function service_point($service_point_id){
if(Auth::user()){
$setting = VisaServicePoint::findorfail($service_point_id);
$setting->delete();
return response()->json(['service_point_id' => $service_point_id]);
}
}
}

@ -0,0 +1,281 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\VisaService;
use App\Models\VisaServiceSection;
use App\Models\VisaServiceSectionPoint;
use App\Models\Setting;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
class VisaServiceSectionController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
protected $view = 'admin.visa_service_section.';
protected $redirect = 'admin/visa_services/{id}/sections';
public function index($id)
{
$service_name = VisaService::findorfail($id)->name;
$service_section = VisaServiceSection::where('visa_service_id',$id);
// if(\request('name')){
// $key = \request('name');
// $services = $services->where('name','like','%'.$key.'%');
// }
// if(\request('status')){
// $key = \request('status');
// $services = $services->where('status',$key);
// }
$service_sections = $service_section->paginate(config('custom.per_page'));
return view($this->view.'index',compact('service_sections','service_name','id'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create($id)
{
$service_name = VisaService::findorfail($id)->name;
return view($this->view.'create',compact('service_name','id'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request,$id)
{
$this->validate(\request(),[
// 'title' => 'required',
'status' => 'required',
'order_by' => 'required'
]);
$service_section = new VisaServiceSection();
$service_section->right_title = \request('right_title');
$service_section->right_sub_title = \request('right_sub_title');
$service_section->left_title = \request('left_title');
$service_section->left_sub_title = \request('left_sub_title');
$service_section->top_description = strip_tags(\request('top_description'));
$service_section->left_description = strip_tags(\request('left_description'));
$service_section->point_title = strip_tags(\request('point_title'));
$service_section->visa_length = strip_tags(\request('visa_length'));
$service_section->visa_service_id = $id;
$service_section->status = \request('status');
$service_section->order_by = \request('order_by');
// $service->image_alt = \request('image_alt');
// $service->slug = Setting::create_slug(\request('seo_title'));
if($request->hasFile('image')){
$extension = \request()->file('image')->getClientOriginalExtension();
$image_folder_type = array_search('visa_service',config('custom.image_folders')); //for image saved in folder
// dd($image_folder_type);
$count = rand(100,999);
$out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
$image_path = $out_put_path[0];
$service_section->image = $image_path;
}
if($service_section->save()){
$points = $request->points;
// $point_descriptions = $request->point_descriptions ?? [];
// $icons = $request->icons ?? [];
if($points[0] != null){
foreach($points as $key => $point){
$service_section_point = new VisaServiceSectionPoint();
$service_section_point->visa_service_section_id = $service_section->id;
$service_section_point->point = $point;
$service_section_point->save();
}
}
Session::flash('success','Visa Service Section has been created!');
return redirect('admin/visa_services/'.$id.'/sections');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id,$secId)
{
// $service = new Service();
// $service_section = new ServiceSection();
$service = VisaService::findorfail($id);
$service_section = VisaServiceSection::findorfail($secId);
return view($this->view . 'show', compact('service','service_section'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id,$secId)
{
$service = new VisaService();
$service_section = new VisaServiceSection();
$service = $service->findorfail($id);
$service_section = $service_section->findorfail($secId);
return view($this->view . 'edit', compact('service','service_section'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id, $secId)
{
$this->validate(\request(),[
'top_description' => 'required',
'status' => 'required',
'order_by' => 'required'
]);
$service_section = VisaServiceSection::findOrFail($secId);
$service_section->right_title = \request('right_title');
$service_section->right_sub_title = \request('right_sub_title');
$service_section->left_title = \request('left_title');
$service_section->left_sub_title = \request('left_sub_title');
$service_section->top_description = strip_tags(\request('top_description'));
$service_section->left_description = strip_tags(\request('left_description'));
$service_section->point_title = strip_tags(\request('point_title'));
$service_section->visa_length = strip_tags(\request('visa_length'));
$service_section->visa_service_id = $id;
$service_section->status = \request('status');
$service_section->order_by = \request('order_by');
// if($request->hasFile('image')){
// $extension = \request()->file('image')->getClientOriginalExtension();
// $image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
// $count = rand(100,999);
// $out_put_path = User::save_image(\request('image'),$extension,$count,$image_folder_type);
// $image_path = $out_put_path[0];
// if (is_file(public_path().'/'.$service_section->image) && file_exists(public_path().'/'.$service_section->image)){
// unlink(public_path().'/'.$service_section->image);
// }
// $service_section->image = $image_path;
// }
if($service_section->update()){
$points = $request->points;
if($points[0] != null){
if($request['point_ids'] !== null){
foreach($request['point_ids'] as $key => $pid){
$service_section_point = new VisaServiceSectionPoint();
$service_section_point = $service_section_point->find($pid);
// $service_section_point = ServiceSectionPoint::find($id);
$service_section_point->point = $points[$key];
$service_section_point->update();
}
}else{
foreach($points as $key => $point){
$service_section_point = new VisaServiceSectionPoint();
$service_section_point->visa_service_section_id = $service_section->id;
$service_section_point->point = $point;
$service_section_point->save();
}
}
}
// $service_point = $service_section->service_section_point();
// $service_point->delete();
// foreach($points as $key => $point){
// $service_section_point = new ServiceSectionPoint();
// $service_section_point->service_section_id = $service_section->id;
// if(array_key_exists($key,$point_descriptions)){
// $service_section_point->point_description = $point_descriptions[$key];
// }
// if(array_key_exists($key,$icons)){
// $extension = $icons[$key]->getClientOriginalExtension();
// $image_folder_type = array_search('service',config('custom.image_folders')); //for image saved in folder
// $count = rand(100,999);
// $out_put_path = User::save_image($icons[$key],$extension,$count,$image_folder_type);
// is_array($out_put_path) ? $service_section_point->icon = $out_put_path[0] : $service_section_point->icon = $out_put_path;
// // $service_section_point->icon = $points_descriptions[$key];
// }
// $service_section_point->point = $point;
// $service_section_point->update();
// }
Session::flash('success','Visa Service Section has been successfully updated!');
return redirect('admin/visa_services/'.$id.'/sections');
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function service_point($service_point_id){
if(Auth::user()){
$setting = ServiceSectionPoint::findorfail($service_point_id);
$setting->delete();
return response()->json(['service_point_id' => $service_point_id]);
}
}
}

@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\Requests\ContactRequest;
use App\Models\NewsAndUpdate;
use App\Models\Service;
use App\Models\AboutUs;
@ -21,6 +22,7 @@ use App\Models\User;
use App\Models\Partner;
use PDF;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Artisan;
class HomeController extends Controller
{
@ -40,9 +42,14 @@ class HomeController extends Controller
$partners = Partner::where('status',1)->get();
$phone = Setting::where(['key' => 'phone','status' => '1'])->first();
$video = Setting::where(['key' => 'video','status' => '1'])->first();
$email = Setting::where(['key' => 'email','status' => '1'])->first();
$address = Setting::where(['key' => 'address','status' => '1'])->first();
return view('welcome',compact('services','sliders','about_us','news_and_updates','testimonials','phone','email','address','partners'));
$visa_success = Setting::where(['slug' => 'visa-success','status' => '1'])->first();
$visa_approved = Setting::where(['slug' => 'visa-approved','status' => '1'])->first();
$partner_institution = Setting::where(['slug' => 'partner-institutions','status' => '1'])->first();
$employers = Setting::where(['key' => 'employers','status' => '1'])->first();
return view('welcome',compact('services','sliders','about_us','news_and_updates','testimonials','phone','email','address','partners','visa_success','visa_approved','partner_institution','video','employers'));
}
public function service(){
@ -72,19 +79,15 @@ class HomeController extends Controller
return view('accommodation',compact('accomodation'));
}
public function send_contact_mail(Request $request){
public function send_contact_mail(ContactRequest $request){
$this->validate(\request(),[
'fullname' => 'required',
'phone' => 'required',
'email' => 'required',
'service_id' => 'required|numeric',
'entered_captcha_code' => 'required|same:displayed_captcha_code'
]);
$contact = new Contact();
$subject = 'Quick Enquiry';
$subject = htmlentities('Quick Enquiry');
$check = '';
if(isset($request['check'])){
$subject = 'Contact Enquiry';
$subject = htmlentities('Contact Enquiry');
$check = '1';
}
$name = ($request['firstname'] != null) ? ($request['firstname'].' '.$request['lastname']) : $request['fullname'] ;
@ -123,11 +126,13 @@ class HomeController extends Controller
$message->subject($subject);
// $message->to('info@agilityhomecare.com.au', 'AgilityHomeCare')->subject($subject);
$message->to('mahesh@extratechs.com.au', 'Extratech')->subject($subject);
$message->to('suman@extratechs.com.au', 'Extratech')->subject($subject);
});
});
return redirect()->back()->with(['success' => 'Thank you for your interest. We will get back to you soon.']);
// return redirect()->back()->with(['msg' => 'Successfully submitted.']);
return redirect()->back()->with(['msg' => 'Thank you for your interest. We will get back to you soon.']);
// return response()->json(['success' => 'Thank you for your interest. We will get back to you soon.','status' =>'Ok'],200);
}
@ -319,4 +324,11 @@ class HomeController extends Controller
return response()->json(['captcha_code'=> Str::random(5)]);
}
public function news(){
$news_and_updates = NewsAndUpdate::where('status',1)->get();
return view('news',compact('news_and_updates'));
}
}

@ -0,0 +1,14 @@
<?php
namespace App\Http\Controllers;
use App\Models\NewsAndUpdate;
use Illuminate\Http\Request;
class NewsController extends Controller
{
public function news_detail($slug){
$news = NewsAndUpdate::where('slug',$slug)->get();
return view('news_detail',compact('news'));
}
}

@ -0,0 +1,104 @@
<?php
namespace App\Http\Controllers;
use App\Models\Recruitment;
use App\Models\Applicant;
use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Requests\Recruitment\ApplyRequest;
use App\Http\Requests\Recruitment\VacancyRequest;
class RecruitmentController extends Controller
{
public function save_vacancy(VacancyRequest $request){
$recruitment = new Recruitment();
$subject = htmlentities('Recruitment Enquiry');
$recruitment->full_name = $request['full_name'];
$recruitment->company = $request['company'];
$recruitment->email = $request['email'];
$recruitment->no_of_position = $request['no_of_position'];
$recruitment->enquiry = $request['enquiry'];
$recruitment->save();
dispatch(function() use ($subject, $recruitment) {
\Mail::send('recruitment_mail', array(
'full_name' =>$recruitment['full_name'],
'email' =>$recruitment['email'],
'company' =>$recruitment['company'],
'enquiry' =>$recruitment['enquiry'],
'no_of_position' =>$recruitment['no_of_position'],
'subject' =>$subject ,
), function($message) use ($subject){
// $subject=($service!= '') ? 'Enquiry for '.$service : 'Contact/Feedback';
$message->subject($subject);
// $message->to('info@agilityhomecare.com.au', 'AgilityHomeCare')->subject($subject);
$message->to('mahesh@extratechs.com.au', 'Extratech')->subject($subject);
});
});
return redirect()->back()->with(['msg' => 'Thank you! Your recruitment details have been recieved.']);
}
public function apply(ApplyRequest $request){
$recruitment = new Applicant();
$subject = 'Applicant Enquiry';
$recruitment->full_name = $request['full_name'];
$recruitment->country = $request['country'];
$recruitment->phone = $request['phone'];
$recruitment->email = $request['email'];
$recruitment->has_visa_permit = $request['has_visa_permit'];
$recruitment->has_skill_assessed = $request['has_skill_assessed'];
if($request->hasFile('file')){
$extension = \request()->file('file')->getClientOriginalExtension();
$image_folder_type = array_search('applicant',config('custom.image_folders')); //for image saved in folder
$count = rand(100,999);
$out_put_path = User::save_image(\request('file'),$extension,$count,$image_folder_type);
is_array($out_put_path) ? $recruitment->resume = $out_put_path[0] : $recruitment->resume = $out_put_path;
}
$recruitment->save();
dispatch(function() use ($subject, $recruitment) {
\Mail::send('applicant_mail', array(
'full_name' => $recruitment->full_name,
'email' => $recruitment->email,
'phone' => $recruitment->phone,
'country' => $recruitment->country,
'work_permit' => $recruitment->has_visa_permit,
'subject' =>$subject ,
'tra_skill' =>$recruitment->has_skill_assessed ,
), function($message) use ($subject){
// $subject=($service!= '') ? 'Enquiry for '.$service : 'Contact/Feedback';
$message->subject($subject);
// $message->to('info@agilityhomecare.com.au', 'AgilityHomeCare')->subject($subject);
$message->to('mahesh@extratechs.com.au', 'Extratech')->subject($subject);
});
});
return redirect()->back()->with(['msg' => 'Thank you! Your details have been recieved.']);
}
}

@ -0,0 +1,33 @@
<?php
namespace App\Http\Controllers;
use App\Models\Service;
use App\Models\Accomodation;
use App\Models\VisaService;
use Illuminate\Http\Request;
class ServiceController extends Controller
{
public function single_service($slug){
$service = Service::where(['slug' => $slug,'status' => 1])->orderby('order_by','asc')->first();
$services = Service::where('status',1)->get();
// $accomodations = Accomodation::where('status',1)->get();
return view('service_view',compact('service','services'));
}
public function list(){
$services = Service::where('status',1)->get();
$visa_services = VisaService::where('status',1)->get();
return view('services',compact('services','visa_services'));
}
public function single_visa_service($slug){
$service = VisaService::where(['slug' => $slug,'status' => 1])->orderby('order_by','asc')->first();
$services = VisaService::where('status',1)->get();
// $accomodations = Accomodation::where('status',1)->get();
return view('service_detail',compact('service','services'));
}
}

@ -0,0 +1,47 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ContactRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
'fullname' => ['required'],
'phone' => ['required'],
'email' => ['required'],
'service_id' => ['required'],
'entered_captcha_code' => ['required','same:displayed_captcha_code']
];
}
public function messages(){
return[
'fullname.required' => 'Full name is required.',
'phone.required' => 'Phone number is required.',
'email.required' => 'Email is required.',
'service_id.required' => 'Please select a service.',
'entered_captcha_code.required' => 'Please enter captcha.',
'entered_captcha_code.same' => 'Captcha is incorrect.'
];
}
}

@ -0,0 +1,51 @@
<?php
namespace App\Http\Requests\Recruitment;
use Illuminate\Foundation\Http\FormRequest;
class ApplyRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
'full_name' => 'required',
'phone' => 'required',
'email' => 'required',
'file' => 'required',
'country' => 'required',
'has_visa_permit' => 'required',
'has_skill_assessed' => 'required',
'entered_captcha_code' => ['required','same:displayed_captcha_code']
];
}
public function messages()
{
return [
'full_name.required' => 'Full name is required.',
'phone.required' => 'Phone number is required.',
'email.required' => 'Email is required.',
'file.required' => 'Please upload your resume.',
'country.required' => 'Please select your country.',
'has_visa_permit.required' => 'Please specify your visa permit position.',
'has_skill_assesed.required' => 'Please specify your TRA skill assessment.',
'entered_captcha_code.required' => 'Please enter captcha.',
'entered_captcha_code.same' => 'Captcha is incorrect.'
];
}
}

@ -0,0 +1,45 @@
<?php
namespace App\Http\Requests\Recruitment;
use Illuminate\Foundation\Http\FormRequest;
class VacancyRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
'full_name' => 'required',
'company' => 'required',
'email' => 'required',
'no_of_position' => 'required',
'entered_captcha_code' => ['required','same:displayed_captcha_code']
];
}
public function messages()
{
return [
'full_name.required' => 'Full name is required.',
'company.required' => 'Your company is required.',
'email.required' => 'Email is required.',
'no_of_position.required' => 'Number of position is required',
'entered_captcha_code.required' => 'Please enter captcha.',
'entered_captcha_code.same' => 'Captcha is incorrect.'
];
}
}

@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model;
class NewsAndUpdate extends Model
{
use HasFactory;
protected $fillable=['slug','point_title','blog_type','image','image_alt','description','seo_title','seo_description','middle_description','bottom_description','keyword','meta_keyword','status','publish_date','title','image_credit','author','image_caption'];
protected $fillable=['slug','point_title','blog_type','image','image_alt','description','seo_title','seo_description','middle_description','bottom_description','keyword','meta_keyword','status','publish_date','title','image_credit','author','image_caption','thumbnail'];
public function news_and_update_points()
{

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Recruitment extends Model
{
use HasFactory;
}

@ -156,6 +156,12 @@ class User extends Authenticatable
}
return $directory = 'images/partner/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'visa_service') {
if (!is_dir(public_path() . '/images/visa_service/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/visa_service/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/visa_service/' . $year . '/' . $month . '/' . $day . '/';
}
}
@ -227,6 +233,20 @@ class User extends Authenticatable
return($target_path.$target_file);
}
}
if(strtolower( $uploaded_ext ) == 'docx' || strtolower( $uploaded_ext ) == 'pdf'){
$target_path = $target_path;
$content = file_get_contents($requestData);
if(file_put_contents( $target_path.$target_file,$content)){
return($target_path.$target_file);
}
}
if(strtolower( $uploaded_ext ) == 'mp4' || strtolower( $uploaded_ext ) == 'pdf'){
$target_path = $target_path;
$content = file_get_contents($requestData);
if(file_put_contents( $target_path.$target_file,$content)){
return($target_path.$target_file);
}
}
}

@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class VisaService extends Model
{
use HasFactory;
public function visa_service_sections(){
return $this->hasMany(VisaServiceSection::class);
}
}

@ -0,0 +1,18 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class VisaServiceSection extends Model
{
use HasFactory;
public function visa_service(){
return $this->belongsTo(VisaService::class);
}
public function visa_service_section_point(){
return $this->hasMany(VisaServiceSectionPoint::class);
}
}

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class VisaServiceSectionPoint extends Model
{
use HasFactory;
public function visa_service_section()
{
return $this->belongsTo(VisaServiceSection::class);
}
}

@ -13,6 +13,7 @@
"laravelcollective/html": "^6.3"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.7",
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.0.1",

152
composer.lock generated

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f70c81adf2990f185a8632535bd08631",
"content-hash": "2e3fd67addcebfe7c48fe46b95231470",
"packages": [
{
"name": "brick/math",
@ -5450,6 +5450,90 @@
}
],
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "3372ed65e6d2039d663ed19aa699956f9d346271"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/3372ed65e6d2039d663ed19aa699956f9d346271",
"reference": "3372ed65e6d2039d663ed19aa699956f9d346271",
"shasum": ""
},
"require": {
"illuminate/routing": "^7|^8|^9",
"illuminate/session": "^7|^8|^9",
"illuminate/support": "^7|^8|^9",
"maximebf/debugbar": "^1.17.2",
"php": ">=7.2.5",
"symfony/finder": "^5|^6"
},
"require-dev": {
"mockery/mockery": "^1.3.3",
"orchestra/testbench-dusk": "^5|^6|^7",
"phpunit/phpunit": "^8.5|^9.0",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.6-dev"
},
"laravel": {
"providers": [
"Barryvdh\\Debugbar\\ServiceProvider"
],
"aliases": {
"Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar"
}
}
},
"autoload": {
"files": [
"src/helpers.php"
],
"psr-4": {
"Barryvdh\\Debugbar\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "PHP Debugbar integration for Laravel",
"keywords": [
"debug",
"debugbar",
"laravel",
"profiler",
"webprofiler"
],
"support": {
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.7.0"
},
"funding": [
{
"url": "https://fruitcake.nl",
"type": "custom"
},
{
"url": "https://github.com/barryvdh",
"type": "github"
}
],
"time": "2022-07-11T09:26:42+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.4.1",
@ -5835,6 +5919,72 @@
},
"time": "2022-11-21T16:19:18+00:00"
},
{
"name": "maximebf/debugbar",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/maximebf/php-debugbar.git",
"reference": "ba0af68dd4316834701ecb30a00ce9604ced3ee9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/ba0af68dd4316834701ecb30a00ce9604ced3ee9",
"reference": "ba0af68dd4316834701ecb30a00ce9604ced3ee9",
"shasum": ""
},
"require": {
"php": "^7.1|^8",
"psr/log": "^1|^2|^3",
"symfony/var-dumper": "^2.6|^3|^4|^5|^6"
},
"require-dev": {
"phpunit/phpunit": "^7.5.20 || ^9.4.2",
"twig/twig": "^1.38|^2.7|^3.0"
},
"suggest": {
"kriswallsmith/assetic": "The best way to manage assets",
"monolog/monolog": "Log using Monolog",
"predis/predis": "Redis storage"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
}
},
"autoload": {
"psr-4": {
"DebugBar\\": "src/DebugBar/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Maxime Bouroumeau-Fuseau",
"email": "maxime.bouroumeau@gmail.com",
"homepage": "http://maximebf.com"
},
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "Debug bar in the browser for php application",
"homepage": "https://github.com/maximebf/php-debugbar",
"keywords": [
"debug",
"debugbar"
],
"support": {
"issues": "https://github.com/maximebf/php-debugbar/issues",
"source": "https://github.com/maximebf/php-debugbar/tree/v1.18.1"
},
"time": "2022-03-31T14:55:54+00:00"
},
{
"name": "mockery/mockery",
"version": "1.5.1",

@ -11,8 +11,8 @@ return [
],
'blog_types'=>[
'1'=>'News',
'2'=>'Notice',
'1'=>'Featured',
'2'=>'Not Featured',
],
'states' =>[
@ -48,7 +48,7 @@ return [
'7'=>'gallery',
'8'=>'ndis_plan',
'9' => 'testimonial',
'10' => 'accomodation',
'10' => 'visa_service',
'11'=>'applicant',
'12'=>'partner'

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddDesIconToServiceSectionPointsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('service_section_points', function (Blueprint $table) {
$table->string('point_description')->nullable();
$table->string('icon')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('service_section_points', function (Blueprint $table) {
//
});
}
}

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('about_us', function (Blueprint $table) {
$table->string('point_title')->nullable();
$table->string('bottom_title')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('about_us', function (Blueprint $table) {
//
});
}
};

@ -17,9 +17,9 @@ return new class extends Migration
$table->id();
$table->string('full_name');
$table->string('company');
$table->string('address');
$table->string('email');
$table->string('no_of_position');
$table->text('enquiry');
$table->text('enquiry')->nullable();
$table->timestamps();
});
}

@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('visa_services', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('seo_title');
$table->longText('seo_description');
$table->string('keywords');
$table->longText('meta_keywords');
$table->enum('status',[1,2]);
$table->longText('short_description');
$table->string('icon')->nullable();
$table->string('order_by');
$table->string('slug');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('visa_services');
}
};

@ -0,0 +1,45 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('visa_service_sections', function (Blueprint $table) {
$table->id();
$table->bigInteger('visa_service_id')->unsigned();
$table->foreign('visa_service_id')->references('id')->on('visa_services')->onDelete('cascade');
$table->longText('top_description')->nullable();
$table->string('image')->nullable();
$table->string('left_title');
$table->string('left_sub_title');
$table->longText('left_description');
$table->string('right_title')->nullable();
$table->string('right_sub_title')->nullable();
// $table->longText('sub_description')->nullable();
$table->longText('point_title')->nullable();
$table->string('visa_length')->nullable();
$table->enum('status',[1,2]);
$table->string('order_by');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('visa_service_sections');
}
};

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('visa_service_section_points', function (Blueprint $table) {
$table->id();
$table->bigInteger('visa_service_section_id')->unsigned();
$table->foreign('visa_service_section_id')->references('id')->on('visa_service_sections')->onDelete('cascade');
$table->text('point');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('visa_service_section_points');
}
};

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('applicants', function (Blueprint $table) {
$table->id();
$table->string('full_name');
$table->string('phone');
$table->string('email');
$table->boolean('has_visa_permit');
$table->boolean('has_skill_assessed');
$table->string('resume');
$table->string('country');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('applicants');
}
};

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('services', function (Blueprint $table) {
$table->string('image');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('services', function (Blueprint $table) {
//
});
}
};

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('visa_services', function (Blueprint $table) {
$table->string('image')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('visa_services', function (Blueprint $table) {
//
});
}
};

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('news_and_updates', function (Blueprint $table) {
$table->string('thumbnail');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('news_and_updates', function (Blueprint $table) {
//
});
}
};

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('services', function (Blueprint $table) {
$table->string('banner_image')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('services', function (Blueprint $table) {
//
});
}
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 90 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 770 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 712 B

@ -0,0 +1,3 @@
<svg width="15" height="17" viewBox="0 0 15 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.6013 0.973684L3.92506 8.38712L1.24883 15.8006M13.2513 1.19952L10.575 8.61296L7.8988 16.0264" stroke="#F54C5F" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 244 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

@ -0,0 +1,3 @@
<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.9293 11.1516L15.3911 13.6133C15.7274 13.9496 15.7274 14.4949 15.3911 14.8312C13.5728 16.6494 10.6942 16.854 8.6371 15.3112L7.29524 14.3048C5.55171 12.9971 4.00289 11.4483 2.69524 9.70476L1.68884 8.3629C0.145996 6.30577 0.350568 3.42721 2.16883 1.60895C2.50514 1.27264 3.05041 1.27263 3.38673 1.60895L5.84845 4.07067C6.23897 4.4612 6.23897 5.09436 5.84845 5.48488L4.92331 6.41002C4.77005 6.56329 4.73205 6.79743 4.82898 6.9913C5.94972 9.23277 7.76723 11.0503 10.0087 12.171C10.2026 12.268 10.4367 12.23 10.59 12.0767L11.5151 11.1516C11.9056 10.761 12.5388 10.761 12.9293 11.1516Z" stroke="#071C39" stroke-width="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save