HTML
› Kohana_HTML
Class Contents
Constants
- None
Properties
Class declared in SYSPATH/classes/html.php on line 3.
Properties
- public static
$attribute_order array(28) ( 0 => string(6) "action" 1 => string(6) "method" 2 => string(4) "type" 3 => string(2) "id" 4 => string(4) "name" 5 => string(5) "value" 6 => string(4) "href" 7 => string(3) "src" 8 => string(5) "width" 9 => string(6) "height" 10 => string(4) "cols" 11 => string(4) "rows" 12 => string(4) "size" 13 => string(9) "maxlength" 14 => string(3) "rel" 15 => string(5) "media" 16 => string(14) "accept-charset" 17 => string(6) "accept" 18 => string(8) "tabindex" 19 => string(9) "accesskey" 20 => string(3) "alt" 21 => string(5) "title" 22 => string(5) "class" 23 => string(5) "style" 24 => string(8) "selected" 25 => string(7) "checked" 26 => string(8) "readonly" 27 => string(8) "disabled" )
- public static
$windowed_urls bool FALSE
Methods
public static anchor( )
› Kohana_HTML
Source Code
public static function anchor($uri, $title = NULL, array $attributes = NULL, $protocol = NULL)
{
if ($title === NULL)
{
// Use the URI as the title
$title = $uri;
}
if ($uri === '')
{
// Only use the base URL
$uri = URL::base(FALSE, $protocol);
}
else
{
if (strpos($uri, '://') !== FALSE)
{
if (HTML::$windowed_urls === TRUE AND empty($attributes['target']))
{
// Make the link open in a new window
$attributes['target'] = '_blank';
}
}
elseif ($uri[0] !== '#')
{
// Make the URI absolute for non-id anchors
$uri = URL::site($uri, $protocol);
}
}
// Add the sanitized link to the attributes
$attributes['href'] = $uri;
return '<a'.HTML::attributes($attributes).'>'.$title.'</a>';
}
public static attributes( )
› Kohana_HTML
Source Code
public static function attributes(array $attributes = NULL)
{
if (empty($attributes))
return '';
$sorted = array();
foreach (HTML::$attribute_order as $key)
{
if (isset($attributes[$key]))
{
// Add the attribute to the sorted list
$sorted[$key] = $attributes[$key];
}
}
// Combine the sorted attributes
$attributes = $sorted + $attributes;
$compiled = '';
foreach ($attributes as $key => $value)
{
if ($value === NULL)
{
// Skip attributes that have NULL values
continue;
}
// Add the attribute value
$compiled .= ' '.$key.'="'.HTML::chars($value).'"';
}
return $compiled;
}
public static chars( )
› Kohana_HTML
Source Code
public static function chars($value, $double_encode = TRUE)
{
return htmlspecialchars( (string) $value, ENT_QUOTES, Kohana::$charset, $double_encode);
}
public static email( )
› Kohana_HTML
Source Code
public static function email($email)
{
// Make sure the at sign is always obfuscated
return str_replace('@', '@', HTML::obfuscate($email));
}
public static entities( )
› Kohana_HTML
Source Code
public static function entities($value, $double_encode = TRUE)
{
return htmlentities( (string) $value, ENT_QUOTES, Kohana::$charset, $double_encode);
}
public static file_anchor( )
› Kohana_HTML
Source Code
public static function file_anchor($file, $title = NULL, array $attributes = NULL, $protocol = NULL)
{
if ($title === NULL)
{
// Use the file name as the title
$title = basename($file);
}
// Add the file link to the attributes
$attributes['href'] = URL::base(FALSE, $protocol).$file;
return '<a'.HTML::attributes($attributes).'>'.$title.'</a>';
}
public static image( )
› Kohana_HTML
Source Code
public static function image($file, array $attributes = NULL, $index = FALSE)
{
if (strpos($file, '://') === FALSE)
{
// Add the base URL
$file = URL::base($index).$file;
}
// Add the image link
$attributes['src'] = $file;
return '<img'.HTML::attributes($attributes).' />';
}
public static mailto( )
› Kohana_HTML
Source Code
public static function mailto($email, $title = NULL, array $attributes = NULL)
{
// Obfuscate email address
$email = HTML::email($email);
if ($title === NULL)
{
// Use the email address as the title
$title = $email;
}
return '<a href="mailto:'.$email.'"'.HTML::attributes($attributes).'>'.$title.'</a>';
}
public static obfuscate( )
› Kohana_HTML
Source Code
public static function obfuscate($string)
{
$safe = '';
foreach (str_split($string) as $letter)
{
switch (rand(1, 3))
{
// HTML entity code
case 1:
$safe .= '&#'.ord($letter).';';
break;
// Hex character code
case 2:
$safe .= '&#x'.dechex(ord($letter)).';';
break;
// Raw (no) encoding
case 3:
$safe .= $letter;
}
}
return $safe;
}
public static script( )
› Kohana_HTML
Source Code
public static function script($file, array $attributes = NULL, $index = FALSE)
{
if (strpos($file, '://') === FALSE)
{
// Add the base URL
$file = URL::base($index).$file;
}
// Set the script link
$attributes['src'] = $file;
// Set the script type
$attributes['type'] = 'text/javascript';
return '<script'.HTML::attributes($attributes).'></script>';
}
public static style( )
› Kohana_HTML
Source Code
public static function style($file, array $attributes = NULL, $index = FALSE)
{
if (strpos($file, '://') === FALSE)
{
// Add the base URL
$file = URL::base($index).$file;
}
// Set the stylesheet link
$attributes['href'] = $file;
// Set the stylesheet rel
$attributes['rel'] = 'stylesheet';
// Set the stylesheet type
$attributes['type'] = 'text/css';
return '<link'.HTML::attributes($attributes).' />';
}