Hoşgeldin Misafir

Profesyonel 🥇E-Ticaret Yazılımı V4 💎 THS Özel

poeice

poeice

Sanırım En İyisiyim...
Petersburg
19 Ağu 2021
1,246 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
cfwlmq4.png

 
Moderatör tarafında düzenlendi:

Yilmaaz

Yilmaaz

DOLANDIRICI
3 Tem 2019
904 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
merhabalar hata yaşayan arkadaşlar varsa app/Http/Controllers/Frontend/MainController.php kodunu bu kodlarla değiştirsinler iyi forumlar

edit: sayfa içleri sorun yaşayan varsa üyelik oluşturup sql üzerinde kendini admin yapsın sistem ayarlarından google yorumları kapatın sorun tamamen çözülecektir.

@poeice

Kod:
<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Models\Discounts;
use App\Models\Filters;
use App\Models\Messages;
use App\Models\Products;
use App\Models\Productsets;
use App\Models\Variants;
use App\Models\Shopforms;
use App\Models\Subs;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use App\Http\Resources\ProductResource;
use Illuminate\Support\Facades\Auth;
use App\Models\Settings;
use GuzzleHttp\Client;

class MainController extends Controller
{
    // Anasayfa
    public function home()
{
    // API key and Place ID
    $setOne = Settings::where('id', 42)->first();
    $setTwo = Settings::where('id', 43)->first();
    $apiKey = $setTwo->settings_value;
    $placeId = $setOne->settings_value;

    // API request
    $client = new Client(['verify' => false]);
    $response = $client->get("https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&reviews_no_translations=true&key=$apiKey");

    // Decode JSON response
    $google = json_decode($response->getBody(), true);

    // Check if 'result' exists in the response
    if (isset($google['result'])) {
        // Get reviews
        $reviews = $google['result']['reviews'] ?? [];  // Fallback to empty array if 'reviews' is not set
    } else {
        // Log error or set reviews to an empty array if 'result' is missing
        \Log::error("Google API response does not contain 'result': " . json_encode($google));
        $reviews = [];
    }

    return view('frontend.default.home', compact('reviews'));
}

    // İletişim Sayfası
    public function contact()
    {
        return view('frontend.fixed.contact');
    }

    // İletişim Formu POST
    public function contact_post(Request $request)
    {
        Messages::create([
            "name" => $request->name,
            "surname" => $request->surname,
            "email" => $request->email,
            "phone" => $request->phone,
            "message" => $request->message,
            "created_at" => now(),
        ]);

        return back()->with('success', 'Mesajınız Başarıyla Gönderildi.');
    }

    // Cronjob
    public function cron()
    {
        $date = date('Y-m-d');
        $clock = date('H:i');

        Discounts::where('basla_tarih', $date)
            ->where('basla_saat', $clock)
            ->update(['disc_status' => 1]);

        Discounts::where('disc_date', $date)
            ->where('disc_clock', $clock)
            ->update(['disc_status' => 0]);
    }

    // Ürün Filtreleme
    public function product_filter($set_slug)
    {
        $info = Productsets::where('set_slug', $set_slug)->firstOrFail();
        $data = Variants::join('productsets', 'productsets.set_top', '=', 'variants.variant_id')
            ->where('productsets.id', $info->id)
            ->select('variants.*')
            ->orderBy('variants.id', 'desc')
            ->paginate(9);

        return view('frontend.category.variant', compact('data', 'info'));
    }

    // Ürün Fiyatı Filtreleme
    public function product_price($slug)
    {
        $fiyat = Filters::where('slug', $slug)->first();
        $data = Products::all();

        return view('frontend.category.fiyat', compact('data', 'fiyat'));
    }

    // Mağaza Başvuru Formu
    public function magaza_basvuru()
    {
        return view('frontend.fixed.basvuru');
    }

    // Mağaza Başvuru POST
    public function magaza_basvuru_post(Request $request)
    {
        $validated = $request->validate([
            'ad_soyad' => 'required',
            'magaza_adi' => 'required',
            'email' => 'required|email',
            'telefon' => 'required',
            'tc_no' => 'required',
            'sirket_turu' => 'required',
            'kategori' => 'required',
            'il' => 'required',
            'ilce' => 'required',
            'adres' => 'required',
        ]);

        $slug = Str::slug($request->magaza_adi);
        $seo = $slug . '-' . Auth::user()->identy;
        $no = rand(9999, 99999999);

        Shopforms::create([
            'ad_soyad' => $request->ad_soyad,
            'magaza_adi' => $request->magaza_adi,
            'email' => $request->email,
            'telefon' => $request->telefon,
            'tc_no' => $request->tc_no,
            'sirket_turu' => $request->sirket_turu,
            'kategori' => $request->kategori,
            'user_id' => Auth::user()->id,
            'il' => $request->il,
            'ilce' => $request->ilce,
            'adres' => $request->adres,
            'magaza_slug' => $seo,
            'm_no' => $no,
            'created_at' => now(),
        ]);

        return back()->with('message', 'Mağaza Başvurunuz Alındı. Mail veya Telefon ile Bilgilendirileceksiniz.');
    }

    // Mağaza İndex
    public function magaza_index($magaza_slug)
    {
        $data = Shopforms::where('magaza_slug', $magaza_slug)->firstOrFail();
        return view('frontend.magaza.shop', compact('data'));
    }

    // Ürün API
    public function urun_api()
    {
        $products = Products::all();
        return response()->json(['data' => ProductResource::collection($products)], 200, [], JSON_PRETTY_PRINT);
    }

    // Abone Ol
    public function abone_ol(Request $request)
    {
        Subs::create([
            'email' => $request->email,
            'ip_adres' => $request->ip(),
        ]);

        return back()->with('success', 'Abone Olundu!');
    }
}
 
Son düzenleme: