function _freelinking_make_link in Freelinking 6
Same name and namespace in other branches
- 5 freelinking.module \_freelinking_make_link()
- 6.2 freelinking.module \_freelinking_make_link()
2 calls to _freelinking_make_link()
- freelinking_page in ./freelinking.module
- freelinking_page_form in ./freelinking.module
File
- ./freelinking.module, line 561
Code
function _freelinking_make_link($thetitle) {
global $user;
$freelink = array(
'options' => array(),
);
$nid = _freelinking_exists($thetitle);
if ($nid) {
$freelink['path'] = 'node/' . $nid;
}
else {
switch (variable_get('freelinking_notfound', 'no access search')) {
case 'create only':
$freelink['path'] = 'node/add/' . variable_get('freelinking_nodetype', 'story');
$freelink['path'] = str_replace('_', '-', $freelink['path']);
$freelink['options'] = array(
'query' => 'edit[title]=' . str_replace('&', '%26', $thetitle),
);
break;
case 'no access search':
if (node_access('create', variable_get('freelinking_nodetype', 'story'))) {
$freelink['path'] = 'node/add/' . variable_get('freelinking_nodetype', 'story');
$freelink['path'] = str_replace('_', '-', $freelink['path']);
$freelink['options'] = array(
'query' => 'edit[title]=' . $thetitle,
);
}
else {
$freelink['path'] = 'search/node/' . $thetitle;
}
break;
case 'always search':
$freelink['path'] = 'search/node/' . $thetitle;
break;
}
return $freelink;
}
_freelinking_store($thetitle, $freelink['path'], isset($freelink['args']) ? $freelink['args'] : '');
return $freelink;
}