mirror of
https://github.com/Oreolek/kangana.git
synced 2024-07-04 23:54:25 +03:00
113 lines
2.4 KiB
PHP
113 lines
2.4 KiB
PHP
|
<?php defined('SYSPATH') or die('No direct script access.');
|
|||
|
|
|||
|
/**
|
|||
|
* Layout view controller
|
|||
|
**/
|
|||
|
class View_Layout {
|
|||
|
public $_view = NULL;
|
|||
|
public $title = '';
|
|||
|
public $scripts = array();
|
|||
|
public $base_scripts = array(
|
|||
|
);
|
|||
|
public $errors;
|
|||
|
|
|||
|
/**
|
|||
|
* Inherited paging function
|
|||
|
**/
|
|||
|
public function get_paging() {}
|
|||
|
|
|||
|
public function has_errors()
|
|||
|
{
|
|||
|
return !empty($this->errors);
|
|||
|
}
|
|||
|
|
|||
|
public function site_title()
|
|||
|
{
|
|||
|
if (Auth::instance()->logged_in())
|
|||
|
{
|
|||
|
return 'Добро пожаловать, '.Auth::instance()->get_user()->username;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return Kohana::$config->load('common.title');
|
|||
|
}
|
|||
|
}
|
|||
|
public function stylesheet()
|
|||
|
{
|
|||
|
return Less::compile(APPPATH.'assets/stylesheets/main');
|
|||
|
}
|
|||
|
|
|||
|
public function get_content()
|
|||
|
{
|
|||
|
return Kostache::factory()->render($this->content);
|
|||
|
}
|
|||
|
|
|||
|
public function scripts()
|
|||
|
{
|
|||
|
$scripts = array_merge ($this->base_scripts, $this->scripts);
|
|||
|
$temp = "";
|
|||
|
foreach($scripts as $script):
|
|||
|
if (strstr($script, '://') === FALSE) //no protocol given, script is local
|
|||
|
{
|
|||
|
if ($script === 'jquery') // CDN shortcut
|
|||
|
{
|
|||
|
$temp .= HTML::script('https://yandex.st/jquery/2.0.3/jquery.min.js')."\n";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
$temp .= HTML::script('application/assets/javascript/'.$script)."\n";
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
$temp .= HTML::script($script)."\n";
|
|||
|
}
|
|||
|
endforeach;
|
|||
|
return $temp;
|
|||
|
}
|
|||
|
|
|||
|
public function favicon()
|
|||
|
{
|
|||
|
return URL::site('favicon.ico');
|
|||
|
}
|
|||
|
|
|||
|
public function navigation()
|
|||
|
{
|
|||
|
$result = array();
|
|||
|
$navigation = array(
|
|||
|
// 'Список страниц' => 'page/index',
|
|||
|
// 'О сайте' => 'page/view/1',
|
|||
|
);
|
|||
|
if (!Auth::instance()->logged_in())
|
|||
|
{
|
|||
|
$navigation = array_merge($navigation, array('Вход' => 'user/signin'));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
$navigation = array_merge($navigation, array(
|
|||
|
'Клиенты' => 'clients/index',
|
|||
|
'Поиск клиентов' => 'clients/search',
|
|||
|
));
|
|||
|
}
|
|||
|
|
|||
|
foreach ($navigation as $key => $value)
|
|||
|
{
|
|||
|
array_push($result, array(
|
|||
|
'url' => URL::site('/'.$value),
|
|||
|
'title' => $key
|
|||
|
));
|
|||
|
}
|
|||
|
return $result;
|
|||
|
}
|
|||
|
|
|||
|
public function get_errors()
|
|||
|
{
|
|||
|
$result = array();
|
|||
|
foreach ($this->errors as $key => $string)
|
|||
|
{
|
|||
|
array_push($result, $string);
|
|||
|
}
|
|||
|
return $result;
|
|||
|
}
|
|||
|
}
|