[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/pathauto/ -> pathauto_user.inc (source)

   1  <?php
   2  // $Id: pathauto_user.inc,v 1.28.2.4 2010/07/31 15:57:16 davereid Exp $
   3  
   4  /**
   5   * @file
   6   * Hook implementations for user module integration.
   7   *
   8   * @ingroup pathauto
   9   */
  10  
  11  /**
  12   * Implements hook_pathauto().
  13   */
  14  function user_pathauto($op) {
  15    switch ($op) {
  16      case 'settings':
  17        $settings = array();
  18        $settings['module'] = 'user';
  19        $settings['token_type'] = 'user';
  20        $settings['groupheader'] = t('User paths');
  21        $settings['patterndescr'] = t('Pattern for user account page paths');
  22        $settings['patterndefault'] = 'users/[user-raw]';
  23        $patterns = token_get_list('user');
  24        foreach ($patterns as $type => $pattern_set) {
  25          if ($type != 'global') {
  26            foreach ($pattern_set as $pattern => $description) {
  27              $settings['placeholders']['['. $pattern .']'] = $description;
  28            }
  29          }
  30        }
  31        $settings['bulkname'] = t('Bulk generate aliases for users that are not aliased');
  32        $settings['bulkdescr'] = t('Generate aliases for all existing user account pages which do not already have aliases.');
  33        return (object) $settings;
  34      default:
  35        break;
  36    }
  37  }
  38  
  39  /**
  40   * Implements hook_pathauto().
  41   */
  42  function blog_pathauto($op) {
  43    switch ($op) {
  44      case 'settings':
  45        $settings = array();
  46        $settings['module'] = 'blog';
  47        $settings['token_type'] = 'user';
  48        $settings['groupheader'] = t('Blog paths');
  49        $settings['patterndescr'] = t('Pattern for blog page paths');
  50        $settings['patterndefault'] = 'blogs/[user-raw]';
  51        $patterns = token_get_list('user');
  52        foreach ($patterns['user'] as $pattern => $description) {
  53          $settings['placeholders']['['. $pattern .']'] = $description;
  54        }
  55        $settings['supportsfeeds'] = 'feed';
  56        $settings['bulkname'] = t('Bulk generate aliases for blogs that are not aliased');
  57        $settings['bulkdescr'] = t('Generate aliases for all existing blog pages which do not already have aliases.');
  58        return (object) $settings;
  59      default:
  60        break;
  61    }
  62  }
  63  
  64  /**
  65   * Implementation of hook_pathauto() for user-tracker aliases.
  66   */
  67  function tracker_pathauto($op) {
  68    switch ($op) {
  69      case 'settings':
  70        $settings = array();
  71        $settings['module'] = 'tracker';
  72        $settings['token_type'] = 'user';
  73        $settings['groupheader'] = t('User tracker paths');
  74        $settings['patterndescr'] = t('Pattern for user-tracker page paths');
  75        $settings['patterndefault'] = 'users/[user-raw]/track';
  76        $patterns = token_get_list('user');
  77        foreach ($patterns['user'] as $pattern => $description) {
  78          $settings['placeholders']['['. $pattern .']'] = $description;
  79        }
  80        $settings['supportsfeeds'] = 'feed';
  81        $settings['bulkname'] = t('Bulk generate aliases for user-tracker paths that are not aliased');
  82        $settings['bulkdescr'] = t('Generate aliases for all existing user-tracker pages which do not already have aliases.');
  83        return (object) $settings;
  84      default:
  85        break;
  86    }
  87  }
  88  
  89  /**
  90   * Implements hook_pathauto().
  91   */
  92  function contact_pathauto($op) {
  93    switch ($op) {
  94      case 'settings':
  95        $settings = array();
  96        $settings['module'] = 'contact';
  97        $settings['token_type'] = 'user';
  98        $settings['groupheader'] = t('User contact forms paths');
  99        $settings['patterndescr'] = t('Pattern for the user contact form paths');
 100        $settings['patterndefault'] = 'users/[user-raw]/contact';
 101        $patterns = token_get_list('user');
 102        foreach ($patterns['user'] as $pattern => $description) {
 103          $settings['placeholders']['['. $pattern .']'] = $description;
 104        }
 105        $settings['bulkname'] = t('Bulk generate aliases for user contact form paths that are not aliased');
 106        $settings['bulkdescr'] = t('Generate aliases for all existing user contact form pages which do not already have aliases.');
 107        return (object) $settings;
 108      default:
 109        break;
 110    }
 111  }
 112  
 113  /**
 114   * Bulk generate aliases for all users without aliases.
 115   */
 116  function user_pathauto_bulkupdate() {
 117    $query = "SELECT uid, name, src, dst FROM {users} LEFT JOIN {url_alias} ON CONCAT('user/', CAST(uid AS CHAR)) = src WHERE uid > 0 AND src IS NULL";
 118    $result = db_query_range($query, 0, variable_get('pathauto_max_bulk_update', 50));
 119  
 120    $count = 0;
 121    $placeholders = array();
 122    while ($user = db_fetch_object($result)) {
 123      $placeholders = pathauto_get_placeholders('user', $user);
 124      $source = 'user/'. $user->uid;
 125      if (pathauto_create_alias('user', 'bulkupdate', $placeholders, $source, $user->uid)) {
 126        $count++;
 127      }
 128    }
 129  
 130    drupal_set_message(format_plural($count,
 131      'Bulk generation of users completed, one alias generated.',
 132      'Bulk generation of users completed, @count aliases generated.'));
 133  }
 134  
 135  /**
 136   * Bulk generate aliases for all blogs without aliases.
 137   */
 138  function blog_pathauto_bulkupdate() {
 139    $query = "SELECT uid, name, src, dst FROM {users} LEFT JOIN {url_alias} ON CONCAT('blog/', CAST(uid AS CHAR)) = src WHERE uid > 0 AND src IS NULL";
 140    $result = db_query_range($query, 0, variable_get('pathauto_max_bulk_update', 50));
 141  
 142    $count = 0;
 143    $placeholders = array();
 144    while ($user = db_fetch_object($result)) {
 145      $placeholders = pathauto_get_placeholders('user', $user);
 146      $source = 'blog/'. $user->uid;
 147      if (pathauto_create_alias('blog', 'bulkupdate', $placeholders, $source, $user->uid)) {
 148        $count++;
 149      }
 150    }
 151  
 152    drupal_set_message(format_plural($count,
 153      'Bulk generation of user blogs completed, one alias generated.',
 154      'Bulk generation of user blogs completed, @count aliases generated.'));
 155  }
 156  
 157  /**
 158   * Bulk generate aliases for user trackers without aliases.
 159   */
 160  function tracker_pathauto_bulkupdate() {
 161    // We do the double CONCAT because Pgsql8.1 doesn't support more than three arguments to CONCAT
 162    // Hopefully some day we can remove that.
 163    $query = "SELECT uid, name, src, dst FROM {users} LEFT JOIN {url_alias} ON CONCAT(CONCAT('user/', CAST(uid AS CHAR)), '/track') = src WHERE uid > 0 AND src IS NULL";
 164    $result = db_query_range($query, 0, variable_get('pathauto_max_bulk_update', 50));
 165  
 166    $count = 0;
 167    $placeholders = array();
 168    while ($user = db_fetch_object($result)) {
 169      $placeholders = pathauto_get_placeholders('user', $user);
 170      $src = 'user/'. $user->uid .'/track';
 171      if (pathauto_create_alias('tracker', 'bulkupdate', $placeholders, $src, $user->uid)) {
 172        $count++;
 173      }
 174    }
 175  
 176    drupal_set_message(format_plural($count,
 177      'Bulk generation of user tracker pages completed, one alias generated.',
 178      'Bulk generation of user tracker pages completed, @count aliases generated.'));
 179  }
 180  
 181  /**
 182   * Bulk generate aliases for all users without aliases
 183   */
 184  function contact_pathauto_bulkupdate() {
 185    $query = "SELECT uid, name, src, dst FROM {users} LEFT JOIN {url_alias} ON CONCAT(CONCAT('user/', CAST(uid AS CHAR)), '/contact') = src WHERE uid > 0 AND src IS NULL";
 186    $result = db_query_range($query, 0, variable_get('pathauto_max_bulk_update', 50));
 187  
 188    $count = 0;
 189    $placeholders = array();
 190    while ($user = db_fetch_object($result)) {
 191      $placeholders = pathauto_get_placeholders('user', $user);
 192      $source = 'user/'. $user->uid .'/contact';
 193      if (pathauto_create_alias('contact', 'bulkupdate', $placeholders, $source, $user->uid)) {
 194        $count++;
 195      }
 196    }
 197  
 198    drupal_set_message(format_plural($count,
 199      'Bulk generation of contact pages completed, one alias generated.',
 200      'Bulk generation of contact pages completed, @count aliases generated.'));
 201  }


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7