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. 15
      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. 887
      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. 5
      public/frontend/icons/email-enquiry.svg
  47. 3
      public/frontend/icons/enq-phone-icon.svg
  48. 4
      public/frontend/icons/facebook-icon.svg
  49. 4
      public/frontend/icons/linkdin-link.svg
  50. BIN
      public/frontend/icons/location-address.png
  51. 9
      public/frontend/icons/online-learning.svg
  52. 9
      public/frontend/icons/recruitment-icon.svg
  53. 4
      public/frontend/icons/twiter-link.svg
  54. 9
      public/frontend/icons/write-blue.svg
  55. BIN
      public/frontend/images/am-chef-banner.png
  56. BIN
      public/frontend/images/chefs.png
  57. BIN
      public/frontend/images/education-banner.png
  58. BIN
      public/frontend/images/education-image.png
  59. BIN
      public/frontend/images/footer-logo.png
  60. BIN
      public/frontend/images/immigration-lawyers.png
  61. BIN
      public/frontend/images/insurance-desc-img.png
  62. BIN
      public/frontend/images/insurance.png
  63. BIN
      public/frontend/images/labor-agreement.png
  64. BIN
      public/frontend/images/need-chef-banner.png
  65. BIN
      public/frontend/images/pathway-banner.png
  66. BIN
      public/frontend/images/recruitment.png
  67. BIN
      public/frontend/images/skill-assessment-banner.png
  68. BIN
      public/frontend/images/test-desc.png
  69. BIN
      public/frontend/images/women-chef.png
  70. BIN
      public/frontend/video/aplus-video.mp4
  71. BIN
      public/images/applicant/2022/12/13/11329155dab0bbeae2986370de90e173.docx
  72. BIN
      public/images/applicant/2022/12/13/400757bd557d4d66a88b26b2fe9f82e5.docx
  73. BIN
      public/images/applicant/2022/12/13/53b452ae2614c9df1dcbb6f41dbc9522.docx
  74. BIN
      public/images/applicant/2022/12/13/6744591b0b11be79fe29823574c95393.docx
  75. BIN
      public/images/applicant/2022/12/13/6ae488148f2c5e3f9c7a728e8c73cace.jpeg
  76. BIN
      public/images/applicant/2022/12/13/a4cfe3e4cf5f4b4289f41997fd5961dc.docx
  77. BIN
      public/images/applicant/2022/12/13/ca810503e71682d9dabdddaf00ec5a8c.jpeg
  78. BIN
      public/images/applicant/2022/12/14/2091d808c1a83bd7456fd3210c9581e3.docx
  79. 0
      public/images/news_and_update/2022/12/09/0e900948c55abc91e473dac65ddde3df.jpeg
  80. BIN
      public/images/news_and_update/2022/12/09/4157e604ba36c240337a7db058fcec7b.png
  81. BIN
      public/images/news_and_update/2022/12/13/293c1cb434aeb7c03eee29a50e90998f.png
  82. BIN
      public/images/news_and_update/2022/12/14/305b95b50e3530e978e779f5ca431a5b.jpeg
  83. BIN
      public/images/news_and_update/2022/12/14/3e151b4e1e3a3d5eb4db8d72666a65d6.jpeg
  84. BIN
      public/images/news_and_update/2022/12/14/4e0ce4da583b4939acaddfe7f9a3779a.jpeg
  85. BIN
      public/images/news_and_update/2022/12/14/765d36be8f87786e1e09049684d040f3.jpeg
  86. BIN
      public/images/news_and_update/2022/12/14/7fe9a55ac4800260b39524359cd1ecdd.jpeg
  87. BIN
      public/images/news_and_update/2022/12/14/8cbf7018583a039c2e50f83858b791a5.jpeg
  88. BIN
      public/images/news_and_update/2022/12/14/afb58cdba5b645f0826ee8a9e43ac702.jpeg
  89. BIN
      public/images/news_and_update/2022/12/14/ce5572c130720f6ae2332dec9a2ab6ae.jpeg
  90. BIN
      public/images/news_and_update/2022/12/14/ce706dfb910f0a8dab7ef0246792e3c1.jpeg
  91. BIN
      public/images/news_and_update/2022/12/14/ecbec01b556e0614572ccb4459493715.jpeg
  92. BIN
      public/images/news_and_update/2022/12/14/fc0d4e2779a8ebfc6559a637aedddc67.jpeg
  93. BIN
      public/images/news_and_update/2022/12/15/1c623d329a88526a0e6c9a1c65c4201a.png
  94. BIN
      public/images/news_and_update/2022/12/15/1e5eb434d1a0d772e0c1e04c6f3d0848.png
  95. BIN
      public/images/news_and_update/2022/12/15/4cd43853a326fc48bdc8c9fafe4851b6.jpg
  96. BIN
      public/images/news_and_update/2022/12/15/6db3c9959ce9472803ed24a3a616802b.png
  97. BIN
      public/images/news_and_update/2022/12/15/6e202219a93f6179e59e8d976435f717.png
  98. BIN
      public/images/news_and_update/2022/12/15/9caf5be0962aaef8151d401fb0839184.jpg
  99. BIN
      public/images/news_and_update/2022/12/15/abdb738701400157cf77054d493a9cac.png
  100. BIN
      public/images/news_and_update/2022/12/15/bdfccdb83d9e915311acd92adb682842.jpg
  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,7 +232,16 @@ 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();
// foreach($points as $key => $point){
@ -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,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4" y="6" width="16" height="12" rx="2" stroke="#071C39"/>
<path d="M4 9L11.1056 12.5528C11.6686 12.8343 12.3314 12.8343 12.8944 12.5528L20 9" stroke="white" stroke-width="1.2"/>
<path d="M11.3292 12.1056L5.24853 9.06525C4.78978 8.83587 4.5 8.367 4.5 7.8541C4.5 7.10625 5.10625 6.5 5.8541 6.5H18.1459C18.8937 6.5 19.5 7.10625 19.5 7.8541C19.5 8.367 19.2102 8.83587 18.7515 9.06525L12.6708 12.1056C12.2485 12.3167 11.7515 12.3167 11.3292 12.1056Z" stroke="#071C39"/>
</svg>

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 577 B

@ -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

@ -0,0 +1,4 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="17.5" cy="17.5" r="17.5" fill="#EEEEEE"/>
<path d="M18.6005 11.4334H20.1671V8.78344C19.4086 8.70456 18.6464 8.66562 17.8838 8.66677C15.6171 8.66677 14.0671 10.0501 14.0671 12.5834V14.7668H11.5088V17.7334H14.0671V25.3334H17.1338V17.7334H19.6838L20.0671 14.7668H17.1338V12.8751C17.1338 12.0001 17.3671 11.4334 18.6005 11.4334Z" fill="#3B5998"/>
</svg>

Before

Width:  |  Height:  |  Size: 458 B

After

Width:  |  Height:  |  Size: 458 B

@ -0,0 +1,4 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="17.5" cy="17.5" r="17.5" fill="#EEEEEE"/>
<path d="M13.9381 12.4451C13.9379 12.8282 13.7829 13.1955 13.5073 13.4662C13.2317 13.7369 12.8579 13.8889 12.4683 13.8887C12.0787 13.8885 11.7051 13.7362 11.4298 13.4652C11.1544 13.1942 10.9998 12.8267 11 12.4436C11.0002 12.0606 11.1552 11.6933 11.4308 11.4225C11.7064 11.1518 12.0802 10.9998 12.4698 11C12.8594 11.0002 13.233 11.1525 13.5083 11.4236C13.7837 11.6946 13.9383 12.062 13.9381 12.4451V12.4451ZM13.9822 14.9583H11.0441V24H13.9822V14.9583ZM18.6243 14.9583H15.7009V24H18.595V19.2553C18.595 16.6121 22.0986 16.3665 22.0986 19.2553V24H25V18.2731C25 13.8172 19.8143 13.9833 18.595 16.1715L18.6243 14.9583V14.9583Z" fill="#0072B1"/>
</svg>

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 796 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

@ -0,0 +1,4 @@
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="17.5" cy="17.5" r="17.5" fill="#EEEEEE"/>
<path d="M26 12.5294C25.3743 12.7971 24.6998 12.9729 24.001 13.0571C24.7161 12.6518 25.2686 12.0094 25.5287 11.2371C24.8542 11.6194 24.1066 11.8871 23.3184 12.04C22.6764 11.3824 21.7744 11 20.7505 11C18.8408 11 17.2806 12.4682 17.2806 14.2806C17.2806 14.5406 17.3131 14.7929 17.37 15.03C14.4771 14.8924 11.9011 13.5847 10.1864 11.6041C9.88576 12.0859 9.71511 12.6518 9.71511 13.2482C9.71511 14.3876 10.3246 15.3971 11.2672 15.9706C10.6902 15.9706 10.1539 15.8176 9.6826 15.5882V15.6112C9.6826 17.2018 10.8853 18.5324 12.478 18.8306C11.9667 18.9623 11.4298 18.9806 10.9097 18.8841C11.1304 19.536 11.5626 20.1064 12.1457 20.5152C12.7287 20.9239 13.4332 21.1505 14.1601 21.1629C12.9279 22.0809 11.4005 22.5771 9.82887 22.57C9.55258 22.57 9.27629 22.5547 9 22.5241C10.544 23.4571 12.3805 24 14.347 24C20.7505 24 24.2691 18.9988 24.2691 14.6629C24.2691 14.5176 24.2691 14.38 24.261 14.2347C24.9436 13.7759 25.5287 13.1947 26 12.5294V12.5294Z" fill="#1DA1F2"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 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.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 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

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

Loading…
Cancel
Save