You are here

function nodesymlinks_pathauto_create_alias in NodeSymlinks 6

Same name and namespace in other branches
  1. 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;
}