You are here

function _neutral_paths_set_all_nodes_to_localized in Neutral paths 7

Sets path alias language to match node language.

1 call to _neutral_paths_set_all_nodes_to_localized()
neutral_paths_admin_submit_localize_nodes in ./neutral_paths.module
Responds to a command to set node paths language.

File

./neutral_paths.module, line 226
Neutral paths.

Code

function _neutral_paths_set_all_nodes_to_localized() {
  $nodes = db_select('node', 'n')
    ->fields('n', array(
    'nid',
    'language',
  ))
    ->condition('language', LANGUAGE_NONE, '!=')
    ->execute();
  $total_updated = 0;
  $total_nodes = 0;
  while ($node = $nodes
    ->fetchAssoc()) {
    $num_updated = db_update('url_alias')
      ->fields(array(
      'language' => $node['language'],
    ))
      ->condition('language', LANGUAGE_NONE)
      ->condition('source', 'node/' . $node['nid'])
      ->execute();
    $total_updated += $num_updated;
    if ($num_updated > 0) {
      $total_nodes++;
    }
  }
  if ($total_updated > 0) {
    drupal_set_message(t('@num_aliases aliases referred to @num_nodes nodes were set according to node language.', array(
      '@num_aliases' => $total_updated,
      '@num_nodes' => $total_nodes,
    )));
  }
  else {
    drupal_set_message(t('No aliases were updated.'));
  }
}