* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision$ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /* * TODO : move HTML code in template files */ class HelperCore { public static $translationsKeysForAdminCategorieTree = array( 'Home', 'selected', 'selecteds', 'Collapse All', 'Expand All', 'Check All', 'Uncheck All' ); /** * * @param type $trads values of translations keys * For the moment, translation are not automatic * @param type $selected_cat array of selected categories * Format * Array * ( * [0] => 1 * [1] => 2 * ) * OR * Array * ( * [1] => Array * ( * [id_category] => 1 * [name] => Home page * [link_rewrite] => home * ) * ) * @param type $input_name name of input * @return string */ public static function renderAdminCategorieTree($trads, $selected_cat = array(), $input_name = 'categoryBox', $use_radio = false) { if (!$use_radio) $input_name = $input_name.'[]'; $html = ' '; $html .= '
'.$trads['Collapse All'].' - '.$trads['Expand All'].' '.(!$use_radio ? ' - '.$trads['Check All'].' - '.$trads['Uncheck All'].' ' : '').'
'; $home_is_selected = false; foreach($selected_cat AS $cat) { if (is_array($cat)) { if ($cat['id_category'] != 1) $html .= ''; else $home_is_selected = true; } else { if ($cat != 1) $html .= ''; else $home_is_selected = true; } } $html .= ' '; return $html; } /** * Create a select input field * * @param array $values * @param array $html_options any key => value options * @param array $select_options * - key: the array value that will be used as a key in my select (optional) * - value: the array value that will be used as a label in my select (optional) * - empty: the label displayed as an empty value (optional) * - selected: the key corresponding to the selected value (optional) * * @return string html content */ public static function selectInput(array $values, array $html_options = array(), array $select_options = array()) { // options management $options = self::buildHtmlOptions($html_options); $select_html = ''; return $select_html; } /** * Create html a string containing html options * eg: buildHtmlOptions(array('name' => 'myInputName', 'id' => 'myInputId')); * return => 'name="myInputName" id="myInputId"' * * @param array $html_options * * @return string */ protected static function buildHtmlOptions(array $html_options) { $html = ''; foreach ($html_options as $html_option => $value) $html .= Tools::htmlentitiesUTF8($html_option).'="'.Tools::htmlentitiesUTF8($value).'" '; return rtrim($html, ' '); } }