Blame | Last modification | View Log | RSS feed
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/*** CodeIgniter** An open source application development framework for PHP 4.3.2 or newer** @package CodeIgniter* @author ExpressionEngine Dev Team* @copyright Copyright (c) 2008, EllisLab, Inc.* @license http://codeigniter.com/user_guide/license.html* @link http://codeigniter.com* @since Version 1.0* @filesource*/// ------------------------------------------------------------------------/*** CodeIgniter HTML Helpers** @package CodeIgniter* @subpackage Helpers* @category Helpers* @author ExpressionEngine Dev Team* @link http://codeigniter.com/user_guide/helpers/html_helper.html*/// ------------------------------------------------------------------------/*** Heading** Generates an HTML heading tag. First param is the data.* Second param is the size of the heading tag.** @access public* @param string* @param integer* @return string*/if ( ! function_exists('heading')){function heading($data = '', $h = '1'){return "<h".$h.">".$data."</h".$h.">";}}// ------------------------------------------------------------------------/*** Unordered List** Generates an HTML unordered list from an single or multi-dimensional array.** @access public* @param array* @param mixed* @return string*/if ( ! function_exists('ul')){function ul($list, $attributes = ''){return _list('ul', $list, $attributes);}}// ------------------------------------------------------------------------/*** Ordered List** Generates an HTML ordered list from an single or multi-dimensional array.** @access public* @param array* @param mixed* @return string*/if ( ! function_exists('ol')){function ol($list, $attributes = ''){return _list('ol', $list, $attributes);}}// ------------------------------------------------------------------------/*** Generates the list** Generates an HTML ordered list from an single or multi-dimensional array.** @access private* @param string* @param mixed* @param mixed* @param intiger* @return string*/if ( ! function_exists('_list')){function _list($type = 'ul', $list, $attributes = '', $depth = 0){// If an array wasn't submitted there's nothing to do...if ( ! is_array($list)){return $list;}// Set the indentation based on the depth$out = str_repeat(" ", $depth);// Were any attributes submitted? If so generate a stringif (is_array($attributes)){$atts = '';foreach ($attributes as $key => $val){$atts .= ' ' . $key . '="' . $val . '"';}$attributes = $atts;}// Write the opening list tag$out .= "<".$type.$attributes.">\n";// Cycle through the list elements. If an array is// encountered we will recursively call _list()static $_last_list_item = '';foreach ($list as $key => $val){$_last_list_item = $key;$out .= str_repeat(" ", $depth + 2);$out .= "<li>";if ( ! is_array($val)){$out .= $val;}else{$out .= $_last_list_item."\n";$out .= _list($type, $val, '', $depth + 4);$out .= str_repeat(" ", $depth + 2);}$out .= "</li>\n";}// Set the indentation for the closing tag$out .= str_repeat(" ", $depth);// Write the closing list tag$out .= "</".$type.">\n";return $out;}}// ------------------------------------------------------------------------/*** Generates HTML BR tags based on number supplied** @access public* @param integer* @return string*/if ( ! function_exists('br')){function br($num = 1){return str_repeat("<br />", $num);}}// ------------------------------------------------------------------------/*** Image** Generates an <img /> element** @access public* @param mixed* @return string*/if ( ! function_exists('img')){function img($src = '', $index_page = FALSE){if ( ! is_array($src) ){$src = array('src' => $src);}$img = '<img';foreach ($src as $k=>$v){if ($k == 'src' AND strpos($v, '://') === FALSE){$CI =& get_instance();if ($index_page === TRUE){$img .= ' src="'.$CI->config->site_url($v).'" ';}else{$img .= ' src="'.$CI->config->slash_item('base_url').$v.'" ';}}else{$img .= " $k=\"$v\" ";}}$img .= '/>';return $img;}}// ------------------------------------------------------------------------/*** Link** Generates link to a CSS file** @access public* @param mixed stylesheet hrefs or an array* @param string rel* @param string type* @param string title* @param string media* @param boolean should index_page be added to the css path* @return string*/if ( ! function_exists('link_tag')){function link_tag($href = '', $rel = 'stylesheet', $type = 'text/css', $title = '', $media = '', $index_page = FALSE){$CI =& get_instance();$link = '<link ';if (is_array($href)){foreach ($href as $k=>$v){if ($k == 'href' AND strpos($v, '://') === FALSE){if ($index_page === TRUE){$link .= ' href="'.$CI->config->site_url($v).'" ';}else{$link .= ' href="'.$CI->config->slash_item('base_url').$v.'" ';}}else{$link .= "$k=\"$v\" ";}}$link .= "/>";}else{if ( strpos($href, '://') !== FALSE){$link .= ' href="'.$href.'" ';}elseif ($index_page === TRUE){$link .= ' href="'.$CI->config->site_url($href).'" ';}else{$link .= ' href="'.$CI->config->slash_item('base_url').$href.'" ';}$link .= 'rel="'.$rel.'" type="'.$type.'" ';if ($media != ''){$link .= 'media="'.$media.'" ';}if ($title != ''){$link .= 'title="'.$title.'" ';}$link .= '/>';}return $link;}}// ------------------------------------------------------------------------/*** Generates meta tags from an array of key/values** @access public* @param array* @return string*/if ( ! function_exists('meta')){function meta($name = '', $content = '', $type = 'name', $newline = "\n"){// Since we allow the data to be passes as a string, a simple array// or a multidimensional one, we need to do a little prepping.if ( ! is_array($name)){$name = array(array('name' => $name, 'content' => $content, 'type' => $type, 'newline' => $newline));}else{// Turn single array into multidimensionalif (isset($name['name'])){$name = array($name);}}$str = '';foreach ($name as $meta){$type = ( ! isset($meta['type']) OR $meta['type'] == 'name') ? 'name' : 'http-equiv';$name = ( ! isset($meta['name'])) ? '' : $meta['name'];$content = ( ! isset($meta['content'])) ? '' : $meta['content'];$newline = ( ! isset($meta['newline'])) ? "\n" : $meta['newline'];$str .= '<meta '.$type.'="'.$name.'" content="'.$content.'" />'.$newline;}return $str;}}// ------------------------------------------------------------------------/*** Generates non-breaking space entities based on number supplied** @access public* @param integer* @return string*/if ( ! function_exists('nbs')){function nbs($num = 1){return str_repeat(" ", $num);}}/* End of file html_helper.php *//* Location: ./system/helpers/html_helper.php */