REDROOM
PHP 8.3.30
Path:
Logout
Edit File
Size: 13.62 KB
Close
/home/getspomw/itechservicellc.com/app/Http/Controllers/IndexController.php
Text
Base64
<?php namespace App\Http\Controllers; use App\Mail\NewSubscriber; use App\Models\Blog; use App\Models\Contact; use App\Models\CustomerInquiry; use App\Models\Subscribe; use App\Models\SettingPag; use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Validator; class IndexController extends Controller { // protected $title_default; protected $description_default; protected $keyword_default; public function __construct() { $this->title_default = 'Smart Web Elevate | Digital Marketing Services for Growth'; $this->description_default = ' Elevate your brand with Smart Web Elevate’s expert digital marketing services. SEO, PPC, content marketing, and social media to enhance your online success.'; $this->keyword_default = 'digital marketing, SEO, PPC, social media'; } public function index() { $blogs = Blog::latest()->limit(3)->get(); $data = SettingPag::where('page', 'home')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.index', compact('blogs', 'title', 'desc', 'key', 'faqSchema')); } public function about() { $data = SettingPag::where('page', 'about-us')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.about', compact('title', 'desc', 'key', 'faqSchema')); } public function blog() { $data = SettingPag::where('page', 'blog')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; $blog = Blog::all(); return view('frontend.blog', compact('blog', 'title', 'desc', 'key', 'faqSchema')); } public function blog_detail($slug) { $blog = Blog::where('slug', $slug)->firstOrFail(); $blogs = Blog::latest()->limit(3)->get(); $data = SettingPag::where('page', 'blog-detail')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.blog-details', compact('blog', 'blogs', 'title', 'desc', 'key', 'faqSchema')); } public function digital_content_marketing() { $data = SettingPag::where('page', 'digital-content-marketing')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.content-marketing', compact('title', 'desc', 'key', 'faqSchema')); } public function ecommerce_seo() { $data = SettingPag::where('page', 'ecommerce-seo')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.ecommerce-seo', compact('title', 'desc', 'key', 'faqSchema')); } public function local_seo() { $data = SettingPag::where('page', 'local-seo')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.local-seo', compact('title', 'desc', 'key', 'faqSchema')); } public function ppc_service() { $data = SettingPag::where('page', 'ppc-services')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.ppc-service', compact('title', 'desc', 'key', 'faqSchema')); } public function privacy() { $data = SettingPag::where('page', 'privacy')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.privacy-policy', compact('title', 'desc', 'key', 'faqSchema')); } public function refund() { $data = SettingPag::where('page', 'refund')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.refund-policy', compact('title', 'desc', 'key', 'faqSchema')); } public function search_engine_optimization() { $data = SettingPag::where('page', 'search-engine-optimization')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.seo-service', compact('title', 'desc', 'key', 'faqSchema')); } public function social_media_marketing() { $data = SettingPag::where('page', 'social-media-marketing')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.social-media-marketing', compact('title', 'desc', 'key', 'faqSchema')); } public function terms_condition() { $data = SettingPag::where('page', 'terms-condition')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.terms-condition', compact('title', 'desc', 'key', 'faqSchema')); } public function web_design() { $data = SettingPag::where('page', 'web-design')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.web-designing', compact('title', 'desc', 'key', 'faqSchema')); } public function web_development() { $data = SettingPag::where('page', 'web-development')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.web-development', compact('title', 'desc', 'key', 'faqSchema')); } public function contact() { $data = SettingPag::where('page', 'contact')->first(); $title = $data->title ?? $this->title_default; $desc = $data->description ?? $this->description_default; $key = $data->keyword ?? $this->keyword_default; $faqSchema = !empty($data->faq_schema) ? json_encode(json_decode($data->faq_schema, true), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) : null; return view('frontend.contact', compact('title', 'desc', 'key', 'faqSchema')); } public function sendOtp_contact(Request $request) { $request->validate(['email' => 'required|email']); try { $otp = rand(100000, 999999); Session::put('otp_' . $request->email, $otp); Mail::raw("Your OTP is: $otp", function ($message) use ($request) { $message->to($request->email) ->subject('Your OTP for Form Verification'); }); return response()->json(['success' => true, 'message' => 'OTP sent successfully!']); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => 'Failed to send OTP: ' . $e->getMessage() ]); } } public function verifyOtp(Request $request) { $request->validate(['email' => 'required|email', 'otp' => 'required']); $storedOtp = Session::get('otp_' . $request->email); if ($storedOtp && $storedOtp == $request->otp) { Session::forget('otp_' . $request->email); return response()->json(['success' => true, 'message' => 'OTP verified successfully!']); } return response()->json(['success' => false, 'message' => 'Invalid OTP.']); } public function contact_store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required|email', 'phone' => 'required', 'service' => 'required' ]); if ($validator->fails()) { return response()->json(['success' => false, 'errors' => $validator->errors()]); } CustomerInquiry::create($request->all()); Mail::raw("New contact submission:\nName: {$request->name}\nEmail: {$request->email}\nPhone: {$request->phone}\nService: {$request->service}", function ($message) { $message->to(env('MAIL_FROM_ADDRESS'))->subject('New Contact Form Submission'); }); return response()->json(['success' => true, 'message' => 'Form submitted successfully!']); } public function subscribe(Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|email' ]); if ($validator->fails()) { return response()->json([ 'success' => false, 'message' => 'Please enter a valid email address.' ]); } try { $subscriber = Subscribe::where('email', $request->email)->first(); if ($subscriber) { if ($subscriber->is_active) { return response()->json([ 'success' => false, 'message' => 'This email is already subscribed.' ]); } else { $subscriber->update(['is_active' => true]); return response()->json([ 'success' => true, 'message' => 'Welcome back! You have been re-subscribed.' ]); } } Subscribe::create([ 'email' => $request->email, ]); Mail::raw("A new user has subscribed to your newsletter:\n\nEmail: {$request->email}", function ($message) { $message->to(env('MAIL_FROM_ADDRESS')) ->subject('New Newsletter Subscription'); }); return response()->json([ 'success' => true, 'message' => 'Thank you for subscribing!' ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => 'Something went wrong. Please try again later.' ]); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 2
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Admin
DIR
-
drwxr-xr-x
2025-11-18 19:23:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Controller.php
77 B
lrw-r--r--
2025-10-28 20:21:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
IndexController.php
13.62 KB
lrw-r--r--
2025-12-17 11:26:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).