source: sipei/modules/pathauto/pathauto_user.inc @ fc0b1f8

drupal-6.x
Last change on this file since fc0b1f8 was ffa4103, checked in by Luis Peña <lpena@…>, 12 años ago

Cambiando el nombre de modulos a modules

  • Propiedad mode establecida a 100755
File size: 7.3 KB
Línea 
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 */
14function 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 */
42function 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 */
67function 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 */
92function 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 */
116function 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 */
138function 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 */
160function 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 */
184function 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}
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.