diff --git a/sites/all/modules/pathauto/pathauto.module b/sites/all/modules/pathauto/pathauto.module index 6305820..33dd233 100755 --- a/sites/all/modules/pathauto/pathauto.module +++ b/sites/all/modules/pathauto/pathauto.module @@ -744,6 +744,26 @@ * An optional array of additional options. */ function pathauto_node_update_alias(stdClass $node, $op, array $options = array()) { + // Fetch needed information for bulkupdate + if (!isset($node->path['pathauto'])) { + list($id, , $bundle) = entity_extract_ids('node', $node); + module_load_include('inc', 'pathauto'); + $uri = entity_uri('node', $node); + $pathauto_alias = pathauto_create_alias('node', 'return', $uri['path'], array('node' => $node), $bundle, $node->language); + if ($pathauto_alias === FALSE) { + // If Pathauto is not going to be able to generate an alias, then we + // should not bother to show the checkbox since it wouldn't do anything. + // Note that if a pattern does apply, but all the tokens currently + // evaluate to empty strings, then $pathauto_alias would equal null and + // not false. + return; + } + else { + $path = drupal_get_path_alias($uri['path'], $node->language); + $node->path['pathauto'] = ($path != $uri['path'] && $path == $pathauto_alias); + } + } + // Skip processing if the user has disabled pathauto for the node. if (isset($node->path['pathauto']) && empty($node->path['pathauto']) && empty($options['force'])) { return FALSE;