cms-token/@core/app/Http/Controllers/CharityHomePageController.php

388 lines
15 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Donation;
use App\Language;
use Illuminate\Http\Request;
class CharityHomePageController extends Controller
{
public $all_language;
public $base_path = 'backend.pages.home.charity.';
public function __construct()
{
$this->middleware('auth:admin');
$this->all_language = Language::all();
}
public function header_area(){
return view($this->base_path.'header')->with(['all_languages' => $this->all_language]);
}
public function update_header_area(Request $request){
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_header_section_subtitle' => 'nullable|array',
'home_page_13_'.$lang->slug.'_header_section_title' => 'nullable|array',
'home_page_13_'.$lang->slug.'_header_section_description' => 'nullable|array',
'home_page_13_'.$lang->slug.'_header_section_button_one_text' => 'nullable|array',
'home_page_13_header_section_button_one_url' => 'nullable|array',
'home_page_13_header_section_button_one_icon' => 'nullable|array',
'home_page_13_header_section_bg_image' => 'required|array',
'home_page_13_header_section_bg_image>*' => 'required|string',
]);
//save repeater values
$all_fields = [
'home_page_13_'.$lang->slug.'_header_section_subtitle',
'home_page_13_'.$lang->slug.'_header_section_title' ,
'home_page_13_'.$lang->slug.'_header_section_description',
'home_page_13_'.$lang->slug.'_header_section_button_one_text',
'home_page_13_header_section_button_one_url' ,
'home_page_13_header_section_button_one_icon',
'home_page_13_header_section_bg_image'
];
foreach ($all_fields as $field){
$value = $request->$field ?? [];
update_static_option($field,serialize($value));
}
}
return redirect()->back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function about_area(){
return view($this->base_path.'about')->with(['all_languages' => $this->all_language]);
}
public function update_about_area(Request $request){
$this->validate($request,[
'home_page_13_about_section_button_url' => 'nullable|string',
'home_page_13_about_section_video_url' => 'nullable|string',
'home_page_13_about_section_right_image' => 'nullable|string',
'home_page_13_about_section_button_icon' => 'nullable|string',
]);
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_about_section_subtitle' => 'nullable|string',
'home_page_13_'.$lang->slug.'_about_section_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_about_section_description' => 'nullable|string',
'home_page_13_'.$lang->slug.'_about_section_button_text' => 'nullable|string',
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_about_section_subtitle',
'home_page_13_'.$lang->slug.'_about_section_title',
'home_page_13_'.$lang->slug.'_about_section_description',
'home_page_13_'.$lang->slug.'_about_section_button_text',
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
$fields = [
'home_page_13_about_section_button_url',
'home_page_13_about_section_video_url',
'home_page_13_about_section_right_image',
'home_page_13_about_section_button_icon',
];
foreach ($fields as $field){
update_static_option($field,$request->$field);
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function popular_cause_area(){
$default_lang = get_default_language();
$all_donation_cause = Donation::select(['title','id'])->where(['lang' => $default_lang ,'status' => 'publish'])->get();
return view($this->base_path.'popular-cause')->with(['all_languages' => $this->all_language,'all_cause' => $all_donation_cause,'default_lang' => $default_lang]);
}
public function update_popular_cause_area(Request $request){
$this->validate($request,[
'home_page_13_popular_cause_popular_cause_items' => 'nullable|string',
'home_page_13_popular_cause_popular_cause_order' => 'nullable|string',
'home_page_13_popular_cause_popular_cause_orderby' => 'nullable|string',
]);
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_popular_cause_subtitle' => 'nullable|string',
'home_page_13_'.$lang->slug.'_popular_cause_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_popular_cause_popular_cause_list' => 'nullable',
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_popular_cause_subtitle',
'home_page_13_'.$lang->slug.'_popular_cause_title',
'home_page_13_'.$lang->slug.'_popular_cause_goal_text',
'home_page_13_'.$lang->slug.'_popular_cause_rise_text',
];
foreach ($fields_list as $field){
if ($request->has($field) ){
update_static_option($field,$request->$field);
}
}
$field_name = 'home_page_13_'.$lang->slug.'_popular_cause_popular_cause_list';
if (!empty($request->$field_name)){
$field_value = $request->$field_name ?? [];
update_static_option($field_name,serialize($field_value));
}
}
$fields = [
'home_page_13_popular_cause_popular_cause_items',
'home_page_13_popular_cause_popular_cause_order',
'home_page_13_popular_cause_popular_cause_orderby',
'home_page_13_popular_cause_popular_cause_background_image',
];
foreach ($fields as $field){
update_static_option($field,$request->$field);
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function donation_cause_by_lang(Request $request){
$selected_donation = unserialize(get_static_option('home_page_13_'.$request->lang.'_popular_cause_popular_cause_list'),['class' => false]);
$selected_items = is_array($selected_donation) && count($selected_donation) > 0 ? $selected_donation : [];
$all_items = Donation::select(['title','id'])->where(['lang' => $request->lang,'status' => 'publish'])->get();
return response()->json([
'donations_items' => $all_items,
'selected_items' => $selected_items
]);
}
public function team_area(){
return view($this->base_path.'team')->with(['all_languages' => $this->all_language]);
}
public function update_team_area(Request $request){
$this->validate($request,[
'home_page_01_team_member_items' => 'nullable|string',
]);
$fields = [
'home_page_01_team_member_items',
];
foreach ($fields as $field){
update_static_option($field,$request->$field);
}
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_team_member_section_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_team_member_section_subtitle' => 'nullable|string',
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_team_member_section_title',
'home_page_13_'.$lang->slug.'_team_member_section_subtitle',
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function cta_area(){
return view($this->base_path.'cta-area')->with(['all_languages' => $this->all_language]);
}
public function update_cta_area(Request $request){
$this->validate($request,[
'home_page_13_cta_area_background_image' => 'nullable|string',
'home_page_13_cta_area_button_url' => 'nullable|string',
'home_page_13_cta_section_button_icon' => 'nullable|string',
]);
$fields = [
'home_page_13_cta_area_button_url',
'home_page_13_cta_area_background_image',
'home_page_13_cta_section_button_icon',
];
foreach ($fields as $field){
update_static_option($field,$request->$field);
}
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_cta_area_button_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_cta_area_button_status' => 'nullable|string',
'home_page_13_'.$lang->slug.'_cta_area_title' => 'nullable|string',
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_cta_area_title',
'home_page_13_'.$lang->slug.'_cta_area_button_title',
'home_page_13_'.$lang->slug.'_cta_area_button_status',
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function event_area(){
return view($this->base_path.'event-area')->with(['all_languages' => $this->all_language]);
}
public function update_event_area(Request $request){
$this->validate($request,[
'home_page_01_event_area_items' => 'nullable|string',
]);
$fields = [
'home_page_01_event_area_items',
];
foreach ($fields as $field){
update_static_option($field,$request->$field);
}
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_event_area_subtitle' => 'nullable|string',
'home_page_13_'.$lang->slug.'_event_area_title' => 'nullable|string'
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_event_area_subtitle',
'home_page_13_'.$lang->slug.'_event_area_title'
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function testimonial_area(){
return view($this->base_path.'testimonial-area')->with(['all_languages' => $this->all_language]);
}
public function update_testimonial_area(Request $request){
$this->validate($request,[
'home_page_13_testimonial_section_background_image' => 'nullable|string'
]);
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_testimonial_section_subtitle' => 'nullable|string',
'home_page_13_'.$lang->slug.'_testimonial_section_title' => 'nullable|string'
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_testimonial_section_subtitle',
'home_page_13_'.$lang->slug.'_testimonial_section_title'
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
update_static_option('home_page_13_testimonial_section_background_image',$request->home_page_13_testimonial_section_background_image);
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function cta_two_area(){
return view($this->base_path.'cta-two-area')->with(['all_languages' => $this->all_language]);
}
public function update_cta_two_area(Request $request){
$this->validate($request,[
'home_page_13_cta_two_section_button_icon' => 'nullable|string',
'home_page_13_cta_two_area_button_url' => 'nullable|string'
]);
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_cta_two_area_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_cta_two_area_button_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_cta_two_area_button_status' => 'nullable|string'
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_cta_two_area_title',
'home_page_13_'.$lang->slug.'_cta_two_area_button_title',
'home_page_13_'.$lang->slug.'_cta_two_area_button_status'
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
update_static_option('home_page_13_cta_two_section_button_icon',$request->home_page_13_cta_two_section_button_icon);
update_static_option('home_page_13_cta_two_area_button_url',$request->home_page_13_cta_two_area_button_url);
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
public function news_area(){
return view($this->base_path.'news-area')->with(['all_languages' => $this->all_language]);
}
public function update_news_area(Request $request){
foreach ($this->all_language as $lang){
$this->validate($request,[
'home_page_13_'.$lang->slug.'_new_area_subtitle' => 'nullable|string',
'home_page_13_'.$lang->slug.'_new_area_title' => 'nullable|string',
'home_page_13_'.$lang->slug.'_new_area_button_text' => 'nullable|string'
]);
$fields_list = [
'home_page_13_'.$lang->slug.'_new_area_subtitle',
'home_page_13_'.$lang->slug.'_new_area_title',
'home_page_13_'.$lang->slug.'_new_area_button_text'
];
foreach ($fields_list as $field){
update_static_option($field,$request->$field);
}
}
return back()->with([
'msg' => __('Settings Update'),
'type' => 'success'
]);
}
}