<?php namespace App\Libs\Composers\CF;

use CfCertTemplateCfg;

class CfCertTemplateComposer
{
    use \App\Libs\Composers\SidebarComposerTrait,
        \App\Libs\Composers\BarComposerTrait,
        \App\Libs\Composers\CF\CfRelatedComposerTrait;

    public function compose($view)
    {
        $data = $view->getData();
        $page = $data['object'];

        $templateData = CfCertTemplateCfg::with(array(
            'logo', 'slides' => function ($q) {
                $q->full()->with('image')->orderBy("website_objects.position", "asc");
            }, 'snippets' => function ($q) {
                $q->full()->with('image')->orderBy("website_objects.position", "asc");
            }
        ))->where('entry_id', $page->id)->first();

        $this->composeSidebar($view, \CfCertTemplateCfg::query());
        $this->composeBars($view, $templateData);
        $this->composeRelated($view, $templateData);
        /*
        $metaData = new \stdClass();
        if ($page->meta_title) {
            $metaData->meta_title = $page->meta_title;
        } else {
            $metaData->meta_title = cut_string(strip_tags($page->title), 100);
        }
        if ($page->meta_description) {
            $metaData->meta_description = $page->meta_description;
        } else {
            $metaData->meta_description = cut_string(strip_tags($page->summary), 200);
        }
        if ($page->no_index) {
            $metaData->no_index = true;
        }
        $metaData->meta_keywords = $page->meta_keywords;
         */
        $view->with(array(
            'slides' => $templateData->slides,
            'templateData' => $templateData,
            //   'metaData'       => $metaData
        ));
    }
}
