HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/straffer.komma.nl/app/Komma/Pages/PageRepository.php
<?php


namespace Komma\Pages;
use Illuminate\Support\Facades\DB;

class PageRepository {

    /**
     * Return all pages
     *
     * @param array $in
     * @param array $with
     * @return mixed
     */
    public function pages($in = [])
    {
        // Get pages with translations and routes
        $pages = \DB::table('pages')

            ->leftJoin(
                'page_translations',
                'page_translations.page_id', '=', 'pages.id')

            ->leftJoin('routes', function($join){
                $join->on('page_translations.id', '=', 'routes.routable_id')
                    ->where('routes.routable_type', '=', 'Komma\Kms\Pages\Models\PageTranslation');
            })
            ->select('page_translations.name', 'routes.route', 'pages.id', 'pages.code_name')
            ->orderBy('pages.lft','asc')
            ->where('lft', '!=', 1);

        // Get a selection
        if( ! empty($in))
        {
            $pages = $pages->whereIn('pages.code_name',$in);
        }

        return $pages->get();
    }

    /**
     * Get page content
     *
     * @param $id
     * @return array
     */
    public function getPageContent($id){
        // Get page content
        return $page = \DB::table('pages')
            ->leftJoin(
                'page_translations',
                'page_translations.page_id', '=', 'pages.id')
            ->where('pages.id' , '=', $id)
            ->select('page_translations.*', 'pages.code_name')
            ->first();
    }

    public function getUrl($code_name){
        // Get pages with translations and routes
        $url = \DB::table('pages')
            ->leftJoin(
                'page_translations',
                'page_translations.page_id', '=', 'pages.id')
            ->leftJoin('routes', function($join){
                $join->on('page_translations.id', '=', 'routes.routable_id')
                    ->where('routes.routable_type', '=', 'Komma\Kms\Pages\Models\PageTranslation');
            })
            ->select('routes.route', 'page_translations.name', 'pages.code_name');


        if(is_array($code_name)){
            $url = $url->whereIn('pages.code_name',$code_name);
            return $url->get();
        }
        else{
            $url = $url->where('pages.code_name', '=', $code_name);
            return $url->first();
        }



    }

}