KumbiaPHP  beta2
Framework PHP
 Todo Estructuras de Datos Namespaces Archivos Funciones Variables Páginas
html.php
Ir a la documentación de este archivo.
1 <?php
27 class Html
28 {
29 
36  protected static $_trClassAlternate = TRUE;
42  protected static $_metatags = array();
48  protected static $_headLinks = array();
49 
62  public static function link($action, $text, $attrs = NULL)
63  {
64  if (is_array($attrs)) {
65  $attrs = Tag::getAttrs($attrs);
66  }
67  return '<a href="' . PUBLIC_PATH . "$action\" $attrs >$text</a>";
68  }
69 
81  public static function linkAction($action, $text, $attrs = NULL)
82  {
83  if (is_array($attrs)) {
84  $attrs = Tag::getAttrs($attrs);
85  }
86 
87  return '<a href="' . PUBLIC_PATH . Router::get('controller_path') . "/$action\" $attrs >$text</a>";
88  }
89 
98  public static function img($src, $alt=NULL, $attrs = NULL)
99  {
100  if (is_array($attrs)) {
101  $attrs = Tag::getAttrs($attrs);
102  }
103  return '<img src="' . PUBLIC_PATH . "img/$src\" alt=\"$alt\" $attrs />";
104  }
105 
114  public static function trClass($class, $attrs = NULL)
115  {
116  if (is_array($attrs)) {
117  $attrs = Tag::getAttrs($attrs);
118  }
119  if (self::$_trClassAlternate) {
120  self::$_trClassAlternate = FALSE;
121  return "<tr class='$class' $attrs >";
122  } else {
123  self::$_trClassAlternate = TRUE;
124  return "<tr $attrs >";
125  }
126  }
127 
133  public static function trClassStart()
134  {
135  self::$_trClassAlternate = TRUE;
136  }
137 
144  public static function meta($content, $attrs = NULL)
145  {
146  if (is_array($attrs)) {
147  $attrs = Tag::getAttrs($attrs);
148  }
149 
150  self::$_metatags[] = array('content' => $content, 'attrs' => $attrs);
151  }
152 
158  public static function includeMetatags()
159  {
160  return implode(PHP_EOL, array_unique(self::$_metatags));
161  }
162 
171  public static function lists($array, $type = 'ul', $attrs = NULL)
172  {
173  if (is_array($attrs)) {
174  $attrs = Tag::getAttrs($attrs);
175  }
176 
177  $list = "<$type $attrs>" . PHP_EOL;
178  foreach ($array as $item) {
179  $list .= "<li>$item</li>" . PHP_EOL;
180  }
181  $list .= "</$type>" . PHP_EOL;
182 
183  return $list;
184  }
185 
191  public static function includeCss()
192  {
193  $code = '';
194  foreach (Tag::getCss() as $css) {
195  $code .= '<link href="' . PUBLIC_PATH . "css/{$css['src']}.css\" rel=\"stylesheet\" type=\"text/css\" media=\"{$css['media']}\" />" . PHP_EOL;
196  }
197  return $code;
198  }
199 
206  public static function headLink($href, $attrs = NULL)
207  {
208  if (is_array($attrs)) {
209  $attrs = Tag::getAttrs($attrs);
210  }
211 
212  self::$_headLinks[] = array('href' => $href, 'attrs' => $attrs);
213  }
214 
221  public static function headLinkAction($action, $attrs = NULL)
222  {
223  self::headLink(PUBLIC_PATH . $action, $attrs);
224  }
225 
232  public static function headLinkResource($resource, $attrs = NULL)
233  {
234  self::headLink(PUBLIC_PATH . $resource, $attrs);
235  }
236 
242  public static function includeHeadLinks()
243  {
244  $code = '';
245  foreach (self::$_headLinks as $link) {
246  $code .= "<link href=\"{$link['href']}\" {$link['attrs']} />" . PHP_EOL;
247  }
248  return $code;
249  }
250 
265  public static function gravatar($email, $alt='gravatar', $size=40, $default='mm')
266  {
267  $grav_url = "http://www.gravatar.com/avatar/" . md5(strtolower(trim($email))) . '?d=' . urlencode($default) . '&s=' . $size;
268  return '<img src="' . $grav_url . '" alt="' . $alt . '" class="avatar" width="' . $size . '" height="' . $size . '" />';
269  }
270 
271 }