Commit f8a20cc2ba43db0c1e1c605139fecc1728fc2b6b

Authored by Neil Blakey-Milner
1 parent 146948c6

Add entity_radios smarty function


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3821 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/templating/smartytemplate.inc.php
... ... @@ -51,6 +51,7 @@ class KTSmartyTemplate extends KTTemplate {
51 51 $smarty->register_function('entity_select', array('KTSmartyTemplate', 'entity_select'));
52 52 $smarty->register_function('boolean_checkbox', array('KTSmartyTemplate', 'boolean_checkbox'));
53 53 $smarty->register_function('entity_checkboxes', array('KTSmartyTemplate', 'entity_checkboxes'));
  54 + $smarty->register_function('entity_radios', array('KTSmartyTemplate', 'entity_radios'));
54 55 return $smarty->fetch($this->sPath);
55 56 }
56 57  
... ... @@ -133,6 +134,31 @@ class KTSmartyTemplate extends KTTemplate {
133 134  
134 135 return smarty_function_html_checkboxes($params, $smarty);
135 136 }
  137 +
  138 + function entity_radios($params, &$smarty) {
  139 + require_once $smarty->_get_plugin_filepath('function', 'html_radios');
  140 +
  141 + $entities = KTUtil::arrayGet($params, 'entities');
  142 + if (is_null($entities)) {
  143 + $smarty->trigger_error("assign: missing 'entities' parameter");
  144 + return;
  145 + }
  146 +
  147 + $idmethod = KTUtil::arrayGet($params, 'idmethod', 'getId');
  148 + $method = KTUtil::arrayGet($params, 'method', 'getName');
  149 +
  150 + $params['values'] = array();
  151 + $params['output'] = array();
  152 + foreach ($entities as $oEntity) {
  153 + $params['values'][] = call_user_func(array(&$oEntity, $idmethod));
  154 + $params['output'][] = call_user_func(array(&$oEntity, $method));
  155 + }
  156 + unset($params['entities']);
  157 + unset($params['idmethod']);
  158 + unset($params['method']);
  159 +
  160 + return smarty_function_html_radios($params, $smarty);
  161 + }
136 162 }
137 163  
138 164 ?>
... ...