%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/conference/app/Http/Controllers/
Upload File :
Create Path :
Current File : /var/www/html/conference/app/Http/Controllers/FrontEndController.php

<?php

namespace App\Http\Controllers;

use App\Models\Article;
use App\Models\Author;
use App\Models\KeyWord;
use Illuminate\Http\Request;

class FrontEndController extends Controller
{
    public function HomePage()
    {
        $openingSession = Article::query()
            ->where('session', 0)
            ->get();
        return view('welcome', [
            'openingSession' => $openingSession
        ]);
    }

    public function ArticleDetails($id)
    {
        $article = Article::findOrFail($id);
        $relatedArticles = Article::query()
            ->inRandomOrder()
            ->take(9)
            ->get();
        return view('articleDetails', [
            'article' => $article,
            'relatedArticles' => $relatedArticles
        ]);
    }

    public function AboutUs()
    {
        return view('aboutUs');
    }

    public function Gallery()
    {
        return view('gallery');
    }

    public function ContactUs()
    {
        return view('contactUs');
    }

    public function ArticleSession($id)
    {
        $articles = Article::query()
            ->where('session', $id)
            ->get();
        return view('articleSession', [
            'articles' => $articles,
            'id' => $id
        ]);
    }

    public function Search(Request $request)
    {
        $search = $request->input('search');

        $articles = Article::query()
            ->where('description', 'like', '%' . $search . '%')
            ->orWhere('title', 'like', '%' . $search . '%')
            ->get();
        if (count($articles) == 0) {
            $articles = [];
        }
        $articlesId = array();
        foreach ($articles as $article) {
            array_push($articlesId, $article->id);
        }
        $tags = KeyWord::query()
            ->where('tag', 'like', '%' . $search . '%')
            ->get();
        foreach ($tags as $tag) {
            foreach ($tag->articles as $article) {
                if (count($articlesId) != 0) {
                    if (!in_array($article->id, $articlesId)) {
                        array_push($articles, $article);
                        array_push($articlesId, $article->id);
                    }
                } else {
                    array_push($articles, $article);
                    array_push($articlesId, $article->id);
                }
            }
        }

        $authors = Author::query()
            ->where('name', 'like', '%' . $search . '%')
            ->orWhere('surname', 'like', '%' . $search . '%')
            ->get();
        foreach ($authors as $author) {
            foreach ($author->articles as $article) {
                if (count($articlesId) != 0) {
                    if (!in_array($article->id, $articlesId)) {
                        array_push($articles, $article);
                        array_push($articlesId, $article->id);
                    }
                } else {
                    array_push($articles, $article);
                    array_push($articlesId, $article->id);
                }
            }
        }
        return view('searchResult', [
            'articles' => $articles,
            'search' => $search
        ]);
    }
}

Zerion Mini Shell 1.0