public function onCCK_Storage_LocationPrepareItems(&$field, &$storages, $pks, &$config = array(), $load = false)
 {
     if (self::$type != $field->storage_location) {
         return;
     }
     // Init
     $table = $field->storage_table;
     // Prepare
     if ($load) {
         if ($table == self::$table) {
             $storages[$table] = JCckDatabase::loadObjectList('SELECT * FROM ' . $table . ' WHERE ' . self::$key . ' IN (' . $config['pks'] . ')', self::$key);
             foreach ($storages[self::$table] as $s) {
                 $query = 'SELECT a.id FROM #__usergroups AS a INNER JOIN #__user_usergroup_map AS b ON b.group_id = a.id WHERE b.user_id = ' . $s->id;
                 $s->groups = JCckDatabase::loadAssocList($query, 'id', 'id');
                 $s->guest = NULL;
                 $s->password = '';
                 $s->password2 = '';
             }
         } else {
             $storages[$table] = JCckDatabase::loadObjectList('SELECT * FROM ' . $table . ' WHERE id IN (' . $config['pks'] . ')', 'id');
             if (!isset($storages[self::$table])) {
                 $storages['_'] = self::$table;
                 $storages[self::$table] = JCckDatabase::loadObjectList('SELECT * FROM ' . self::$table . ' WHERE ' . self::$key . ' IN (' . $config['pks'] . ')', self::$key);
                 foreach ($storages[self::$table] as $s) {
                     $query = 'SELECT a.id FROM #__usergroups AS a INNER JOIN #__user_usergroup_map AS b ON b.group_id = a.id WHERE b.user_id = ' . $s->id;
                     $s->groups = JCckDatabase::loadAssocList($query, 'id', 'id');
                     $s->guest = NULL;
                     $s->password = '';
                     $s->password2 = '';
                 }
             }
         }
     }
     $config['author'] = (int) $storages[self::$table][$config['pk']]->{self::$key};
 }