function views_random_seed_calculate_seed in Views random seed 6
Same name and namespace in other branches
- 7 views_random_seed_handler_sort_random.inc \views_random_seed_calculate_seed()
Calculate a seed.
Parameters
array $options The options for the random seed handler.:
string $view_name The name of the view.:
string $display The current display.:
string $db_type the current database type (mysql(i) - pgsql):
Return value
int $seed Seed value which is a timestamp.
1 call to views_random_seed_calculate_seed()
File
- ./
views_random_seed_handler_sort_random.inc, line 111
Code
function views_random_seed_calculate_seed($options, $view_name, $display, $db_type) {
$time = time();
$seed_name = 'views_seed_name-' . $view_name . '-' . $display;
$seed_time = 'views_seed_time-' . $view_name . '-' . $display;
$seed = isset($_SESSION[$seed_name]) ? $_SESSION[$seed_name] : FALSE;
if ($options['user_seed_type'] == 'custom') {
$seed = eval($options['custom_seed']);
return (int) $seed;
}
// Create a first seed if necessary.
if ($seed == FALSE) {
$seed = _views_random_seed_generate_seed($options['user_seed_type'], $seed_name, $seed_time, $time, $db_type);
}
// Reset seed or not ?
if ($options['reset_seed_int'] != 'never') {
$reset_time = $options['reset_seed_int'] == 'custom' ? $options['reset_seed_custom'] : $options['reset_seed_int'];
if ($_SESSION[$seed_time] + $reset_time < $time) {
variable_del($seed_name);
$seed = _views_random_seed_generate_seed($options['user_seed_type'], $seed_name, $seed_time, $time, $db_type);
}
}
// Return seed.
return $seed;
}