<?php namespace App\Libs\Composers;

use Publication;
use Lang;
use DB;

class PublicationsComposer
{
    use SidebarComposerTrait;

    public function compose($view)
    {
        $availYears = Publication::full()->select(DB::raw('DISTINCT YEAR(date) as dateYear'))
            ->where('list_on_publications', 1)
            ->where('status', 'published')
            ->orderBy('dateYear', 'desc')
            ->get();

        $types = array();
        array_push($types, array("id" => "all", "label" => Lang::get('frontend.all')));
        array_push($types, array("id" => "white_paper", "label" => Lang::get('frontend.white_paper')));
        array_push($types, array("id" => "fact_sheet", "label" => Lang::get('frontend.fact_sheet')));
        array_push($types, array("id" => "quick_guide", "label" => Lang::get('frontend.quick_guide')));
        array_push($types, array("id" => "report", "label" => Lang::get('frontend.report')));
        array_push($types, array("id" => "other", "label" => Lang::get('frontend.other')));

        $years = array();

        array_push($years, array("id" => "all", "label" => Lang::get('frontend.all')));

        foreach ($availYears as $availYear) {
            array_push($years, array("id" => $availYear->dateYear, "label" => $availYear->dateYear));
        }

        /*
        foreach(range($year, $year - 10) as $year) {
            array_push($years, array("id" => $year, "label" => $year));
        }
        */

        $this->composeSidebar($view, \DefaultTemplateConfiguration::query());

        $view->with(array(
            'filters' => array(
                array("id" => "year", "name" => Lang::get('frontend.year'), "values" => $years),
                array("id" => "type", "name" => Lang::get('frontend.type'), "values" => $types)
            )
        ));
    }
}
