3

head

head
SYNOPSIS

head($type=false)

DESCRIPTION
CODE
  1. function head($type=false) {
  2.     static $head = array(
  3.         'javascripts' => array(
  4.             array('name' => 'jquery'),
  5.         ),
  6.         'stylesheets' => array(
  7.             array('name' => 'content', 'media' => 'screen'),
  8.         ),
  9.     );
  10.  
  11.     if (!$type) {
  12.         return $head;
  13.     }
  14.  
  15.     $args=func_get_args();
  16.     array_shift($args);
  17.  
  18.     switch ($type) {
  19.         case 'lang':
  20.             $head['lang'] = $args[0];
  21.             break;
  22.         case 'title':
  23.             $head['title'] = $args[0];
  24.             break;
  25.         case 'description':
  26.             $head['description'] = $args[0];
  27.             break;
  28.         case 'image':
  29.             $head['image'] = $args[0];
  30.             break;
  31.         case 'canonical':
  32.             $head['canonical'] = $args[0];
  33.             break;
  34.         case 'favicon':
  35.             $head['favicon'] = $args[0];
  36.             break;
  37.         case 'keywords':
  38.             $head['keywords'] = $args[0];
  39.             break;
  40.         case 'author':
  41.             $head['author'] = $args[0];
  42.             break;
  43.         case 'date':
  44.             $head['date'] = $args[0];
  45.             break;
  46.         case 'robots':
  47.             $head['robots'] = $args[0];
  48.             break;
  49.         case 'theme':
  50.             $head['theme'] = $args[0];
  51.             break;
  52.         case 'fontawesome':
  53.             $head['fontawesome'] = true;
  54.             break;
  55.         case 'font':
  56.             $fname=$args[0];
  57.             if (!isset($head['fonts'])) {
  58.                 $head['fonts'] = array($fname);
  59.             }
  60.             else {
  61.                 if (!in_array($fname, $head['fonts'])) {
  62.                     $head['fonts'][]=$fname;
  63.                 }
  64.             }
  65.             break;
  66.         case 'style':
  67.             $s=$args[0];
  68.             $media=isset($args[1]) ? $args[1] : 'all';
  69.             if (!isset($head['style'])) {
  70.                 $head['style'] = array($media => $s);
  71.             }
  72.             else if (!isset($head['style'][$media])) {
  73.                 $head['style'][$media] = $s;
  74.             }
  75.             else {
  76.                 $head['style'][$media] .= PHP_EOL . PHP_EOL . $s;
  77.             }
  78.             break;
  79.         case 'stylesheet':
  80.             $name=$args[0];
  81.             $media=isset($args[1]) ? $args[1] : 'all';
  82.             if (!isset($head['stylesheets'])) {
  83.                 $head['stylesheets'] = array(compact('name', 'media'));
  84.             }
  85.             else {
  86.                 foreach ($head['stylesheets'] as $css) {
  87.                     if ($css['name'] == $name) {
  88.                         break 2;
  89.                     }
  90.                 }
  91.                 $head['stylesheets'][]=compact('name', 'media');
  92.             }
  93.             break;
  94.         case 'script':
  95.             $s=$args[0];
  96.             if (!isset($head['script'])) {
  97.                 $head['script'] = $s;
  98.             }
  99.             else {
  100.                 $head['script'] .= PHP_EOL . PHP_EOL . $s;
  101.             }
  102.             break;
  103.         case 'javascript':
  104.             $name=$args[0];
  105.             $param=isset($args[1]) ? $args[1] : false;
  106.             if (!isset($head['javascripts'])) {
  107.                 $head['javascripts'] = array(param ? compact('name', 'param') : compact('name'));
  108.             }
  109.             else {
  110.                 foreach ($head['javascripts'] as $js) {
  111.                     if ($js['name'] == $name) {
  112.                         break 2;
  113.                     }
  114.                 }
  115.                 $head['javascripts'][]=$param ? compact('name', 'param') : compact('name');
  116.             }
  117.             break;
  118.         case 'hreflang':
  119.             if (!isset($head['hreflang'])) {
  120.                 $head['hreflang'] = array($args[0] => $args[1]);
  121.             }
  122.             else {
  123.                 $head['hreflang'][$args[0]] = $args[1];
  124.             }
  125.             break;
  126.         default:
  127.             return false;
  128.     }
  129.  
  130.     return true;
  131. }
SEE ALSO

engine

Comments

To add a comment, click here.