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 'font':
  53.             $fname=$args[0];
  54.             if (!isset($head['fonts'])) {
  55.                 $head['fonts'] = array($fname);
  56.             }
  57.             else {
  58.                 if (!in_array($fname, $head['fonts'])) {
  59.                     $head['fonts'][]=$fname;
  60.                 }
  61.             }
  62.             break;
  63.         case 'style':
  64.             $s=$args[0];
  65.             $media=isset($args[1]) ? $args[1] : 'all';
  66.             if (!isset($head['style'])) {
  67.                 $head['style'] = array($media => $s);
  68.             }
  69.             else if (!isset($head['style'][$media])) {
  70.                 $head['style'][$media] = $s;
  71.             }
  72.             else {
  73.                 $head['style'][$media] .= PHP_EOL . PHP_EOL . $s;
  74.             }
  75.             break;
  76.         case 'stylesheet':
  77.             $name=$args[0];
  78.             $media=isset($args[1]) ? $args[1] : 'all';
  79.             if (!isset($head['stylesheets'])) {
  80.                 $head['stylesheets'] = array(compact('name', 'media'));
  81.             }
  82.             else {
  83.                 foreach ($head['stylesheets'] as $css) {
  84.                     if ($css['name'] == $name) {
  85.                         break 2;
  86.                     }
  87.                 }
  88.                 $head['stylesheets'][]=compact('name', 'media');
  89.             }
  90.             break;
  91.         case 'script':
  92.             $s=$args[0];
  93.             if (!isset($head['script'])) {
  94.                 $head['script'] = $s;
  95.             }
  96.             else {
  97.                 $head['script'] .= PHP_EOL . PHP_EOL . $s;
  98.             }
  99.             break;
  100.         case 'javascript':
  101.             $name=$args[0];
  102.             $param=isset($args[1]) ? $args[1] : false;
  103.             if (!isset($head['javascripts'])) {
  104.                 $head['javascripts'] = array(param ? compact('name', 'param') : compact('name'));
  105.             }
  106.             else {
  107.                 foreach ($head['javascripts'] as $js) {
  108.                     if ($js['name'] == $name) {
  109.                         break 2;
  110.                     }
  111.                 }
  112.                 $head['javascripts'][]=$param ? compact('name', 'param') : compact('name');
  113.             }
  114.             break;
  115.         case 'hreflang':
  116.             if (!isset($head['hreflang'])) {
  117.                 $head['hreflang'] = array($args[0] => $args[1]);
  118.             }
  119.             else {
  120.                 $head['hreflang'][$args[0]] = $args[1];
  121.             }
  122.             break;
  123.         default:
  124.             return false;
  125.     }
  126.  
  127.     return true;
  128. }
SEE ALSO

engine

Comments

To add a comment, click here.