<?php namespace App\Libs\Composers;

use News;
use Lang;
use Sector;
use DB;

class NewsComposer
{
    use SidebarComposerTrait;

    public function compose($view)
    {
        $year = date('Y');

        $sectors = Sector::full()
            ->orderBy('website_objects.position', 'asc')->get();

        $types = array();
        array_push($types, array("id" => "all", "label" => Lang::get('frontend.all')));
        array_push($types, array("id" => "news", "label" => Lang::get('frontend.news')));
        array_push($types, array("id" => "in_media", "label" => Lang::get('frontend.in_media')));
        array_push($types, array("id" => "press_release", "label" => Lang::get('frontend.press_release')));

        $years = array();
        $availYears = DB::table('news')
            ->select(DB::raw('DISTINCT YEAR(date) as year'))
            ->whereNull('deleted_at')
            ->orderBy('year', 'desc')
            ->get();

        array_push($years, array("id" => "all", "label" => Lang::get('frontend.all')));
        foreach ($availYears as $year) {
            array_push($years, array("id" => $year->year, "label" => $year->year));
        }
        $industries = array();
        array_push($industries, array("id" => "all", "label" => Lang::get('frontend.all')));
        foreach ($sectors as $sector) {
            array_push($industries, array("id" => $sector->id, "label" => $sector->title));
        }

        $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),
                //        array("id"=> "industry", "name" => Lang::get('frontend.industry'), "values" => $industries)
            )
        ));
    }
}
