function path_redirect_generate_redirects in Path redirect 6
1 call to path_redirect_generate_redirects()
1 string reference to 'path_redirect_generate_redirects'
- drush_generate_redirects in generate/
path_redirect_generate.drush.inc - Command callback. Generate a number of redirects.
File
- generate/
path_redirect_generate.module, line 46
Code
function path_redirect_generate_redirects($num, $kill) {
module_load_include('inc', 'devel', 'devel_generate');
module_load_include('inc', 'path_redirect', 'path_redirect.admin');
// If not in 'safe mode', increase the maximum execution time.
if (!ini_get('safe_mode')) {
set_time_limit(240);
}
if ($kill) {
db_query("DELETE FROM {path_redirect}");
}
$time = time();
$nodes = array();
$query = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.status = 1"));
while ($nid = db_result($query)) {
$nids[] = $nid;
}
$types = array_keys(path_redirect_status_code_options());
$languages = module_exists('locale') ? array_keys(locale_language_list('name')) : array();
for ($i = 0; $i < $num; $i++) {
$rand = mt_rand(0, 100);
$redirect = array(
'source' => _path_redirect_generate_url(),
'last_used' => mt_rand($time - 31536000, $time),
);
if ($nids && $rand <= 75) {
$redirect['redirect'] = 'node/' . $nids[array_rand($nids)];
}
else {
$redirect['redirect'] = _path_redirect_generate_url(TRUE);
}
if ($rand <= 20) {
$redirect['type'] = $types[array_rand($types)];
}
if ($languages && $rand <= 20) {
$redirect['language'] = $languages[array_rand($languages)];
}
if ($rand <= 30) {
$redirect['query'] = _path_redirect_generate_querystring();
}
if ($rand <= 30) {
$redirect['source'] .= '?' . _path_redirect_generate_querystring();
}
if ($rand <= 20) {
$redirect['fragment'] = devel_generate_word(mt_rand(4, 8));
}
path_redirect_save($redirect);
}
}