--- pathauto_user.inc 2006-09-29 23:56:42.000000000 +0400 +++ pathauto_user.inc 2006-09-30 02:25:45.000000000 +0400 @@ -16,7 +16,7 @@ t('[uid]') => t('The id number of the user.') ); $settings['bulkname'] = t('Bulk update user paths'); - $settings['bulkdescr'] = t('Generate aliases for all existing user account pages which do not already have aliases.'); + $settings['bulkdescr'] = t('Generate aliases for all existing user account pages which do not already have aliases.
Note: It also generate aliases for user settings pages, for user contact and tracker pages if these modules are turned on.'); return (object) $settings; default: break; @@ -48,30 +48,6 @@ } /** - * Implementation of hook_pathauto() for user-tracker aliases - */ -function tracker_pathauto($op) { - switch ($op) { - case 'settings': - $settings = array(); - $settings['module'] = 'tracker'; - $settings['groupheader'] = t('User-tracker path settings'); - $settings['patterndescr'] = t('Pattern for user-tracker page paths'); - $settings['patterndefault'] = t('user/[user]/track'); - $settings['placeholders'] = array( - t('[user]') => t('The name of the user.'), - t('[uid]') => t('The id number of the user.') - ); - $settings['supportsfeeds'] = 'feed'; - $settings['bulkname'] = t('Bulk update user-tracker paths'); - $settings['bulkdescr'] = t('Generate aliases for all existing user-tracker pages which do not already have aliases.'); - return (object) $settings; - default: - break; - } -} - -/** * Implementation of hook_user() for users, trackers, and blogs */ function pathauto_user($op, &$edit, &$user, $category=FALSE) { @@ -88,14 +64,17 @@ $placeholders[t('[uid]')] = $user->uid; $src = 'user/'.$user->uid; $alias = pathauto_create_alias('user', $op, $placeholders, $src); + path_set_alias($src.'/edit', $alias.'/edit'); + if (module_exist('contact')) { + path_set_alias($src.'/contact', $alias.'/contact'); + } + if (module_exist('tracker')) { + path_set_alias($src.'/track', $alias.'/track'); + } if (module_exist('blog')) { $src = 'blog/'.$user->uid; $alias = pathauto_create_alias('blog', $op, $placeholders, $src); } - if (module_exist('tracker')) { - $src = 'user/'.$user->uid.'/track'; - $alias = pathauto_create_alias('tracker', $op, $placeholders, $src); - } } break; case 'delete': @@ -105,12 +84,12 @@ */ $user = (object) $user; path_set_alias('user/'.$user->uid); + path_set_alias('user/'.$user->uid.'/edit'); + path_set_alias('user/'.$user->uid.'/contact'); + path_set_alias('user/'.$user->uid.'/track'); if (module_exist('blog')) { path_set_alias('blog/'.$user->uid); } - if (module_exist('tracker')) { - path_set_alias('user/'.$user->uid.'/track'); - } break; default: break; @@ -131,9 +110,22 @@ $placeholders[t('[user]')] = pathauto_cleanstring($user->name); $placeholders[t('[uid]')] = $user->uid; $src = 'user/'.$user->uid; + path_set_alias($src.'/edit'); + path_set_alias($src.'/contact'); + path_set_alias($src.'/track'); if ($alias = pathauto_create_alias('user', 'bulkupdate', $placeholders, $src)) { $count++; } + path_set_alias($src.'/edit', $alias.'/edit'); + $count++; + if (module_exist('contact')) { + path_set_alias($src.'/contact', $alias.'/contact'); + $count++; + } + if (module_exist('tracker')) { + path_set_alias($src.'/track', $alias.'/track'); + $count++; + } $user = db_fetch_object($result); } @@ -166,29 +158,4 @@ "Bulk update of user blogs completed, one alias generated.", "Bulk update of user blogs completed, %count aliases generated.")); } - -// Generate aliases for all tracker pages without aliases -function tracker_pathauto_bulkupdate() { - $query = 'SELECT uid,name,src,dst FROM {users} '. - "LEFT JOIN {url_alias} ON CONCAT('user/', uid) = src ". - 'WHERE uid > 0'; - $result = db_query($query); - $user = db_fetch_object($result); - - $count = 0; - $placeholders = array(); - while ($user) { - $placeholders[t('[user]')] = pathauto_cleanstring($user->name); - $placeholders[t('[uid]')] = $user->uid; - $src = 'user/'.$user->uid.'/track'; - if ($alias = pathauto_create_alias('tracker', 'bulkupdate', $placeholders, $src)) { - $count++; - } - $user = db_fetch_object($result); - } - - drupal_set_message(format_plural($count, - "Bulk update of user tracker pages completed, one alias generated.", - "Bulk update of user tracker pages completed, %count aliases generated.")); -} - +?>