| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |