--- old\user_badges.module	2011-09-13 16:52:48.000000000 -0400
+++ new\user_badges.module	2011-10-11 00:45:53.562500000 -0400
@@ -23,13 +23,13 @@ function user_badges_help($path, $arg) {
   switch ($path) {
     case 'admin/modules#description':
 
-    case 'admin/user/user_badges':
+    case 'admin/config/people/user_badges':
       return t('User badges are iconic images which can be assigned to users. They can represent accomplishments, status, or anything you\'d like. These badges will show up in the user\'s profile, and could also be used by a theme to appear with user postings on forums, comments, or nodes. Badges can be assigned manually by an administrator by visiting a user\'s profile. They also can be assigned automatically by role or ecommerce purchase (if ecommerce modules are installed). The excellent !link module can also be used to set and unset badges on a wide variety of conditions.', array('!link' => l('Rules', 'http://drupal.org/project/rules', array('absolute' => TRUE))));
 
-    case 'admin/user/user_badges/roles':
+    case 'admin/config/people/user_badges/roles':
       return t("Select the badge that you'd like to associate with each role.");
 
-    case 'admin/user/user_badges/images':
+    case 'admin/config/people/user_badges/images':
       return t("This is the user badges image library. Note that this area is not functional if you have private download active. Here you can upload images to display as a user badge, but you can also enter image URLs directly in the badge form, so this area is optional. The images can be anything you like, but it is recommended that you maintain a uniform icon size for all of your badges. Keep in mind that a user may have many badges displayed so you'll probably want to keep them as small as possible (like 16x16 pixels or smaller).");
 
     case 'user/%/badges':
@@ -79,7 +79,7 @@ function user_badges_menu() {
   $items = array();
   $access = array('manage badges');
 
-  $items['admin/user/user_badges'] = array(
+  $items['admin/config/people/user_badges'] = array(
     'title' => 'Badges',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_badgelist_form'),
@@ -87,7 +87,7 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/list'] = array(
+  $items['admin/config/people/user_badges/list'] = array(
     'title' => 'List',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_badgelist_form'),
@@ -97,7 +97,7 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/add'] = array(
+  $items['admin/config/people/user_badges/add'] = array(
     'title' => 'Add',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_edit_form'),
@@ -106,7 +106,7 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/images'] = array(
+  $items['admin/config/people/user_badges/images'] = array(
     'title' => 'Images',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_images_form'),
@@ -115,7 +115,7 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/roles'] = array(
+  $items['admin/config/people/user_badges/roles'] = array(
     'title' => 'Roles',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_roles_form'),
@@ -124,7 +124,7 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/settings'] = array(
+  $items['admin/config/people/user_badges/settings'] = array(
     'title' => 'Settings',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('user_badges_settings_form'),
@@ -133,19 +133,19 @@ function user_badges_menu() {
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/edit/%'] = array(
+  $items['admin/config/people/user_badges/edit/%'] = array(
     'title' => 'Edit badge',
     'page callback' => 'drupal_get_form',
-    'page arguments' => array('user_badges_edit_form', 4),
+    'page arguments' => array('user_badges_edit_form', 5),
     'access arguments' => $access,
     'type' => MENU_CALLBACK,
     'file' => 'user_badges.admin.inc',
   );
 
-  $items['admin/user/user_badges/delete/%'] = array(
+  $items['admin/config/people/user_badges/delete/%'] = array(
     'title' => 'Delete badge',
     'page callback' => 'drupal_get_form',
-    'page arguments' => array('user_badges_delete_form', 4),
+    'page arguments' => array('user_badges_delete_form', 5),
     'access arguments' => $access,
     'type' => MENU_CALLBACK,
     'file' => 'user_badges.admin.inc',
@@ -193,7 +193,7 @@ function user_badges_menu() {
  */
 function user_badges_user_load($users) {
   global $user;
-  
+
   // Have we loaded this user before?
   if (isset($badges[$user->uid])) {
     $user->badges = $badges[$user->uid];
@@ -363,7 +363,6 @@ function _user_badges_class($badge) {
   $class = str_replace(array('"', "'"), '', $class);
   $class = str_replace(array('_', ' '), '-', $class);
 
-//  dsm("_user_badges_class: badge->name = $badge->name becomes $class.");
   return $class;
 }
 
@@ -442,7 +441,7 @@ function user_badges_userweight_form($fo
 
   $form['submit'] = array(
     '#type' => 'submit',
-    '#value' => t('Submit'),
+    '#value' => t('Save configuration'),
   );
 
 
@@ -538,7 +537,7 @@ function user_badges_badge_autocomplete(
 
   if (preg_match('/^[^(]+/', $string, $searchstring)) {
     $trimstring = trim($searchstring[0]);
-    
+
     $result = db_select('user_badges_badges', 'ubb')
       -> fields('ubb')
       -> condition('name', '%' . db_like($trimstring) . '%', 'LIKE')
@@ -546,7 +545,7 @@ function user_badges_badge_autocomplete(
       -> limit(5)
       -> execute();
 
-    foreach ($result as $badge) {          
+    foreach ($result as $badge) {
       $matches[$badge->name . ' (' . t('Badge ID') . ' ' . $badge->bid . ')'] = check_plain($badge->name) . ' ' . theme('user_badge', array('badge' => $badge));
     }
   }
@@ -571,7 +570,7 @@ function user_badges_badge_autocomplete(
  */
 function user_badges_badge_autocomplete_validation($value) {
   if (preg_match('/\(' . t('Badge ID') . ' (\d+)\)/', $value, $matches)) {
-    //The format was correct, but we need to check the bid exists    
+    //The format was correct, but we need to check the bid exists
     $bid = $matches[1];
     $records = db_select('user_badges_badges', 'ubb')
       -> fields('ubb')
@@ -663,7 +662,7 @@ function user_badges_change_form($form, 
   for ($i = 1; $i <= 5; $i++) {
     $form['add']['add' . $i] = array(
       '#type' => 'textfield',
-      '#title' => t('New Badge !number', array('!number' => $i)),
+      '#title' => t('New Badge @number', array('@number' => $i)),
       '#size' => 40,
       '#maxlength' => 255,
       '#autocomplete_path' => 'user_badges/autocomplete',
@@ -742,7 +741,7 @@ function user_badges_change_form_submit(
     foreach ($badges_to_go as $bid) {
       user_badges_user_remove_badge($uid, $bid);
     }
-    drupal_set_message(t('!removalcount badge(s) removed.', array('!removalcount' => count($badges_to_go))));
+    drupal_set_message(t('@removalcount badge(s) removed.', array('@removalcount' => count($badges_to_go))));
   }
 
 }
@@ -890,7 +889,7 @@ function user_badges_get_badges($uid, $o
           WHERE u.uid = :uid AND r.rid = :rid
           ORDER BY coalescedweight, b.name', array(':uid' => $uid, ':rid' => 0));
       }
-      else {        
+      else {
         $sql = db_query('SELECT DISTINCT b.bid, b.weight, b.name, b.image, b.href,
           b.unhideable, b.fixedweight, b.doesnotcounttolimit, u.userweight, b.tid,
           CASE WHEN b.fixedweight = 1 THEN b.weight ELSE COALESCE(u.userweight,b.weight) END coalescedweight
@@ -911,8 +910,8 @@ function user_badges_get_badges($uid, $o
       // Set to -1 for no limit.
       $limit = -1;
     }
-  
-    foreach ($sql as $badge) {          
+
+    foreach ($sql as $badge) {
       // Display the badge if there's no limit or if the badge is unhideable or if we are within our limit.
       if ($limit != 0 || $badge->unhideable == 1) {
         if ($uid == 'select') {
@@ -939,7 +938,11 @@ function user_badges_get_badges($uid, $o
  * Return badge object for given badge id
  */
 function user_badges_get_badge($bid) {
-  return db_fetch_object(db_query('SELECT * FROM {user_badges_badges} WHERE bid = :bid', array(':bid' => $bid)));
+//  return db_query('SELECT * FROM {user_badges_badges} WHERE bid = :bid', array(':bid' => $bid));
+  return db_select('user_badges_badges', 'ubb')
+    ->fields('ubb')
+    ->execute()
+    ->fetchObject();
 }
 
 
@@ -956,7 +959,7 @@ function user_badges_delete_form($form, 
       '#type' => 'value',
       '#value' => $bid,
     );
-    return confirm_form($form, t('Are you sure you want to delete the badge %name?', array('%name' => $badge->name)), 'admin/user/user_badges');
+    return confirm_form($form, t('Are you sure you want to delete the badge %name?', array('%name' => $badge->name)), 'admin/config/people/user_badges');
   }
   form_set_error('', t('This badge does not exist.'));
 }
@@ -983,13 +986,13 @@ function user_badges_delete_form_submit(
   ->condition('bid', $bid)
   ->execute();
   drupal_set_message(t('Badge deleted.'));
-  $form_state['redirect'] = 'admin/user/user_badges';
+  $form_state['redirect'] = 'admin/config/people/user_badges';
 }
 
 
 /**
  * Returns an array where keys are role ids (rid) and values are the badge ids (bid) associated with that role
- * These values are assigned on admin/user/user_badges/roles
+ * These values are assigned on admin/config/people/user_badges/roles
  *
  * @param $rid - if set, return only values for this role
  *
@@ -1002,18 +1005,18 @@ function user_badges_get_roles($rid = NU
   $roles = array();
   $options = array_merge(array('returnbadges' => 'FALSE'), $options);
 
-  $query = db_select('user_badges_roles', 'ubr')    
-    -> fields('ubr', array('rid', 'bid'))  
+  $query = db_select('user_badges_roles', 'ubr')
+    -> fields('ubr', array('rid', 'bid'))
     -> fields('ubb', array('name', 'image', 'weight', 'href', 'tid'));
-    
+
   if ($rid) {
     $query -> condition('ubr.rid', $rid);
   }
-    
+
   $alias = $query -> join('user_badges_badges', 'ubb', 'ubr.bid = ubb.bid');
   $records = $query -> execute();
 
-  foreach ($records as $row) {      
+  foreach ($records as $row) {
     if ($options['returnbadges']) {
       $row->image = _user_badges_build_image($row);
       $roles[$row->rid] = $row;
@@ -1038,7 +1041,7 @@ function user_badges_save_roles($roles) 
 
     db_delete('user_badges_roles')
       ->execute();
-    
+
     db_delete('user_badges_user')
       ->condition('type', 'role')
       ->execute();
@@ -1048,10 +1051,10 @@ function user_badges_save_roles($roles) 
     foreach ($roles as $rid => $bid) {
       if ($bid) {
         // First of all, insert all the role and badge relationship
-        // into user_badges_roles.  
+        // into user_badges_roles.
         $id = db_insert('user_badges_roles')
           ->fields(array(
-              'rid' => $rid, 
+              'rid' => $rid,
               'bid' => $bid,
             ))
           ->execute();
@@ -1191,20 +1194,16 @@ function _user_badges_build_image($badge
     $badge->class = 'badge ' . _user_badges_class($badge);
   }
 
-  if (variable_get('user_badges_imagecache', 0)) {
-    // TODO Please change this theme call to use an associative array for the $variables parameter.
-    $image = theme('imagecache', 'user-badges', $badge->image, $badge->name, $badge->name, array('class' => $badge->class));    
-  }
-  else {
-    // If we have a full image URL, don't require theme_image to get the size
-    // (it only breaks).
-    if ($get_size = valid_url($badge->image, TRUE)) {
-      $image = theme('image', array('path' => $badge->image, 'width' => $badge->name, 'height' => $badge->name, 'alt' => array('class' => $badge->class), 'title' => !$get_size));
-    }
-    else {
-      $image = theme('image', array('path' => 'public://badges/' . $badge->image, 'width' => $badge->name, 'height' => $badge->name, 'alt' => array('class' => $badge->class), 'title' => !$get_size)); 
-    }
-  }
+  $style_name = variable_get('user_badges_imagecache', '');
+  $variables = array(
+    'style_name' => $style_name,
+    'path' => $badge->image,
+    'alt' => $badge->name,
+    'title' => $badge->name,
+    'attributes' => array('class' => $badge->class),
+    );
+  $theme = $style_name ? 'image_style' : 'image';
+  $image = theme($theme, $variables);
 
   return $image;
 }
@@ -1230,8 +1229,8 @@ function theme_user_badge($variables) {
 
   // We don't link the badge if there is no link and no default,
   // or if the default is overridden.
-  if (($badge->href == "" && !variable_get('user_badges_defaulthref', ''))
-     || drupal_strtolower($badge->href) == '<none>') {
+  if (($badge->href == '' && !variable_get('user_badges_defaulthref', ''))
+    || drupal_strtolower($badge->href) == '<none>') {
     return $image;
   }
   else {
@@ -1239,7 +1238,7 @@ function theme_user_badge($variables) {
 
     // Implement token replacement.
     if (module_exists('token')) {
-      $href = token_replace($href, array('userbadge' => $badge, 'user' => $account));      
+      $href = token_replace($href, array('userbadge' => $badge, 'user' => $account));
     }
 
     $pieces = parse_url($href);
@@ -1508,7 +1507,7 @@ function user_badges_block_save($delta =
 }
 
 /**
- * Implements hook_cron()
+ * Implements hook_cron().
  * UNCOMMENT in order to get User Badges to work along with Auto Assign Role
  * notes: - this is a quite fast solution in order to solve Auto Assign Role issue
  *        - do not forget to set up your cron
