You are here

function view_alias_pathauto_bulkupdate in View Alias 7

Same name and namespace in other branches
  1. 6.2 view_alias.module \view_alias_pathauto_bulkupdate()

Batch processing callback; Generate aliases for taxonomy terms.

Do this in chunks of $conf['view_alias_bulkupdate_size'] (default: 250)

1 string reference to 'view_alias_pathauto_bulkupdate'
view_alias_pathauto in ./view_alias.module
Implements hook_pathauto().

File

./view_alias.module, line 167
Hook implementations for view alias module integration.

Code

function view_alias_pathauto_bulkupdate(&$context) {

  // First time in?  Init our sandbox
  if (!array_key_exists('view_alias', $context['sandbox'])) {
    $context['sandbox']['view_alias'] = array(
      'aliasable' => _get_aliasable_displays(),
      'active' => 0,
      'count' => 0,
    );
  }
  $aliasable =& $context['sandbox']['view_alias']['aliasable'];
  $active =& $context['sandbox']['view_alias']['active'];
  $count =& $context['sandbox']['view_alias']['count'];

  // Go though each of the view displays the admin has checked
  while (!empty($aliasable[$active])) {

    //
    $alias =& $aliasable[$active];
    view_alias_load_objects($alias);
    if (variable_get(view_alias_pattern_id($alias), FALSE)) {
      while ($data = view_alias_next_tuple($alias)) {
        view_alias_create_alias($data, $alias, 'bulkupdate');
        $count++;
        if ($count % variable_get('view_alias_bulkupdate_size', 250) == 0) {
          unset($alias->objects);
          $context['finished'] = FALSE;
          $context['message'] = t('Aliased @count views path(s)', array(
            '@count' => $count,
          ));
          return;
        }
      }
      unset($alias->last_tuple);
    }
    unset($alias->objects);
    $active++;
  }
  $context['finished'] = TRUE;
}