function nodesymlinks_pathauto_create_alias in NodeSymlinks 6
Same name and namespace in other branches
- 7 nodesymlinks.inc \nodesymlinks_pathauto_create_alias()
Function for creating aliases using Pathauto API.
Parameters
array $item:
object $node:
string $op:
3 calls to nodesymlinks_pathauto_create_alias()
- nodesymlinks_item_alias_save in ./
nodesymlinks.inc - Create alias for duplicate menulink if original node.
- _nodesymlinks_form_field in ./
nodesymlinks.inc - Helper function to generate custom nodesymlinks form item.
- _nodesymlinks_pathauto_bulkupdate in ./
nodesymlinks.pathauto.inc - Generate aliases for all nodesymlinks without aliases.
File
- ./
nodesymlinks.pathauto.inc, line 10
Code
function nodesymlinks_pathauto_create_alias($item, $node, $op = 'return') {
// Make sure that pathauto_create_alias is available.
module_load_include('inc', 'pathauto');
$pathauto_alias = '';
$source = 'node/' . $node->nid . '/mid/' . $item['mlid'];
$entity_id = $node->nid;
$language = $node->language;
$type = $node->type;
/**
* Generate placeholders for the current nodesymlink and node (optional).
*/
$data_object = $item;
// merge nodesymlinks + node tokens
if (variable_get('nodesymlinks_node_tokens', 0)) {
$data_object['node'] = $node;
$node_placeholders = pathauto_get_placeholders('node', $node);
$placeholders = pathauto_get_placeholders('nodesymlinks', $data_object);
$placeholders['values'] += $node_placeholders['values'];
nodesymlinks_reconstruct_tokens($placeholders);
}
else {
$placeholders = pathauto_get_placeholders('nodesymlinks', $data_object);
}
$data =& $placeholders;
if (nodesymlinks_pathauto_version() == 1) {
// For pathauto 6.x-1.x.
$pathauto_alias = pathauto_create_alias('nodesymlinks', $op, $placeholders, $source, $entity_id, $type, $language);
}
else {
// For 6.x-2.x (tested with 6.x-2.0-alpha3).
$pathauto_alias = pathauto_create_alias('nodesymlinks', $op, $source, $data, $entity_id, $type, $language);
}
return $pathauto_alias;
}