* Name: html_select_duration
* params: prefix, default_unit(key word or value in secs), default (nb of units), default_value (duration in secs)
* Purpose: Prints the dropdowns for duration selection
*/
function smarty_function_html_select_duration($params, $smarty_tpl)
{
$smarty = TikiLib::lib('smarty');
$smarty->loadPlugin('smarty_function_html_options');
$html_result = '';
$default = ['prefix' => 'Duration_', 'default_unit' => 'week', 'default' => '', 'default_value' => '', 'id' => ''];
$params = array_merge($default, $params);
$values = [31536000, 2628000, 604800, 86400, 3600, 60];
$output = [tra('Year'), tra('Month'), tra('Week'), tra('Day'), tra('Hour'), tra('Minute')];
$defs = ['year', 'month', 'week', 'day', 'hour', 'minute'];
if (! empty($params['default_value'])) {
foreach ($values as $selected) {
if ($params['default_value'] >= $selected) {
$params['default'] = round($params['default_value'] / $selected);
break;
}
}
} elseif (($key = array_search($params['default_unit'], $defs)) !== false) {
$selected = $values[$key];
} elseif (in_array($params['default_unit'], $values)) {
$selected = $params['default_unit'];
} else {
$selected = 604800;
}
$id = ! empty($params['id']) ? ' id="' . $params['id'] . '" ' : '';
$html_result .= '