File size: 1,670 Bytes
e4f4821 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
<?php
namespace Kanboard\Helper;
use Kanboard\Core\Base;
/**
* Asset Helper
*
* @package helper
* @author Frederic Guillot
*/
class AssetHelper extends Base
{
/**
* Add a Javascript asset
*
* @param string $filename Filename
* @param bool $async
* @return string
*/
public function js($filename, $async = false)
{
$dir = dirname(__DIR__,2);
$filepath = $dir.'/'.$filename;
return '<script '.($async ? 'async' : '').' defer type="text/javascript" src="'.$this->helper->url->dir().$filename.'?'.filemtime($filepath).'"></script>';
}
/**
* Add a stylesheet asset
*
* @param string $filename Filename
* @param boolean $is_file Add file timestamp
* @param string $media Media
* @return string
*/
public function css($filename, $is_file = true, $media = 'screen')
{
$dir = dirname(__DIR__,2);
$filepath = $dir.'/'.$filename;
return '<link rel="stylesheet" href="'.$this->helper->url->dir().$filename.($is_file ? '?'.filemtime($filepath) : '').'" media="'.$media.'">';
}
/**
* Get custom css
*
* @access public
* @return string
*/
public function customCss()
{
if ($this->configModel->get('application_stylesheet')) {
return '<style>'.$this->configModel->get('application_stylesheet').'</style>';
}
return '';
}
/**
* Get CSS for task colors
*
* @access public
* @return string
*/
public function colorCss()
{
return '<style>'.$this->colorModel->getCss().'</style>';
}
}
|