function.randomize.php
948 Bytes
<?php
function smarty_function_randomize($params, &$smarty) {
if (!isset($params['var']) || strlen($params['var']) <= 0) {
return ;
}
if (isset($params['from']) && is_array($params['from']) && count($params['from']) > 1) {
if (isset($params['sub_place']) && is_numeric($params['sub_place'])) {
$temp = array();
foreach ($params['from'] as $key => $value) {
if ($value['sub_place'] == $params['sub_place']) {
$temp[$key] = $value;
}
}
if (count($temp) == 1) {
$temp = array_keys($temp);
$smarty->assign($params['var'], $temp[0]);
} elseif (count($temp) > 1) {
$temp = array_keys($temp);
$smarty->assign($params['var'], $temp[rand(0, count($temp) - 1)]);
} else {
$smarty->assign($params['var'], rand(0, (count($params['from']) - 1)));
}
} else {
$smarty->assign($params['var'], rand(0, (count($params['from']) - 1)));
}
} else {
$smarty->assign($params['var'], 0);
}
}
?>