Index: avatar_selection.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/avatar_selection/avatar_selection.module,v retrieving revision 1.1.2.22.2.17 diff -u -r1.1.2.22.2.17 avatar_selection.module --- avatar_selection.module 27 Feb 2008 12:47:52 -0000 1.1.2.22.2.17 +++ avatar_selection.module 1 Mar 2008 00:19:13 -0000 @@ -163,10 +163,12 @@ else { $form['#validate'][] = 'avatar_selection_validate_user_avatar'; } - $num_images_per_page = variable_get('avatar_selection_avatar_per_page', 30); + $images_per_page = variable_get('avatar_selection_avatar_per_page', 30); $js_settings = array( - 'num_images_per_page' => ($num_images_per_page ? $num_images_per_page : 1), + 'num_images_per_page' => ($images_per_page ? $images_per_page : 1), 'num_images' => $selects['total'], + 'image_path' => file_create_path('avatar_selection'), + 'images' => $selects['avatars_indexed'], ); drupal_add_js(array('avatar_selection' => $js_settings), 'setting'); drupal_add_js(drupal_get_path('module', 'avatar_selection') .'/js/avatar_selection.js', 'module', 'header'); @@ -248,10 +250,12 @@ unset($form['picture']['picture_delete']); } - $num_images_per_page = variable_get('avatar_selection_avatar_per_page', 30); + $images_per_page = variable_get('avatar_selection_avatar_per_page', 30); $js_settings = array( - 'num_images_per_page' => ($num_images_per_page ? $num_images_per_page : 1), + 'num_images_per_page' => ($images_per_page ? $images_per_page : 1), 'num_images' => $selects['total'], + 'image_path' => file_create_path('avatar_selection'), + 'images' => $selects['avatars_indexed'], ); drupal_add_js(array('avatar_selection' => $js_settings), 'setting'); drupal_add_js(drupal_get_path('module', 'avatar_selection') .'/js/avatar_selection.js', 'module', 'header'); @@ -401,10 +405,15 @@ $total_avatars = count($listings); + $c = 0; foreach ($listings as $listing) { - $avatars[$dir .'/'. $listing->basename] = theme('image', file_create_url($dir .'/'. $listing->basename), $listing->basename, $listing->basename, NULL, FALSE); + //$avatars[$dir .'/'. $listing->basename] = theme('image', file_create_url($dir .'/'. $listing->basename), $listing->basename, $listing->basename, NULL, FALSE); + $avatars_indexed[$c] = $listing->basename; + $avatars[$listing->basename] = ""; + $c++; } + $selects['avatars_indexed'] = $avatars_indexed; $selects['avatars'] = $avatars; $selects['total'] = $total_avatars; @@ -605,10 +614,12 @@ '#submit' => array('avatar_selection_edit_list_form_submit'), ); - $num_images_per_page = variable_get('avatar_selection_avatar_per_page', 30); + $images_per_page = variable_get('avatar_selection_avatar_per_page', 30); $js_settings = array( - 'num_images_per_page' => ($num_images_per_page ? $num_images_per_page : 1), + 'num_images_per_page' => ($images_per_page ? $images_per_page : 1), 'num_images' => $selects['total'], + 'image_path' => file_create_path('avatar_selection'), + 'images' => $selects['avatars_indexed'], ); drupal_add_js(array('avatar_selection' => $js_settings), 'setting'); drupal_add_js(drupal_get_path('module', 'avatar_selection') .'/js/avatar_selection.js', 'module', 'header'); @@ -623,7 +634,9 @@ $og_access = preg_split('/\s*,\s*/', $avatar->og_access); } - $image = theme('image', $form_state['values']['select_avatar']); + $image_path = file_create_path('avatar_selection'); + $selected_avatar = $form_values['select_avatar']; + $image = theme('image', $image_path .'/'. $selected_avatar); $form['avatar_image'] = array('#value' => $image); $form['select_avatar'] = array( '#type' => 'value', Index: js/avatar_selection.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/avatar_selection/js/Attic/avatar_selection.js,v retrieving revision 1.1.2.1.4.4 diff -u -r1.1.2.1.4.4 avatar_selection.js --- js/avatar_selection.js 28 Jan 2008 10:59:51 -0000 1.1.2.1.4.4 +++ js/avatar_selection.js 1 Mar 2008 00:19:13 -0000 @@ -1,19 +1,11 @@ -/* $Id: avatar_selection.js,v 1.1.2.1.4.4 2008/01/28 10:59:51 snpower Exp $ */ +/* $id: avatar_selection.js,v 1.1.2.1.2.2 2008/01/28 11:00:29 snpower exp $ */ if (Drupal.jsEnabled) { $(document).ready(function () { // set up the ajax pager $('div.user_avatar_select').avatar_selection_pager('div.form-item'); // handle radio buttons - $('div.user_avatar_select input.form-radio').hide(); - $('div.user_avatar_select img').hover( - function(){ - $(this).addClass("avatar_hover"); - }, - function(){ - $(this).removeClass("avatar_hover"); - } - ); + radio_button_handler(); $('div.user_avatar_select img').bind("click",function(){ $("div.user_avatar_select img.avatar_select").each(function(){ @@ -25,6 +17,18 @@ }); }); + function radio_button_handler() { + // handle radio buttons + $('div.user_avatar_select input.form-radio').hide(); + $('div.user_avatar_select img').hover( + function(){ + $(this).addClass("avatar_hover"); + }, + function(){ + $(this).removeClass("avatar_hover"); + } + ); + } // pager function $.fn.avatar_selection_pager = function(element) { @@ -38,7 +42,10 @@ next_link: '»', height: null, num_images_per_page: drupal_settings.num_images_per_page, - num_images: drupal_settings.num_images + num_images: drupal_settings.num_images, + image_path: drupal_settings.image_path, + base_path: Drupal.settings.basePath, + images: drupal_settings.images } return this.each( function () { @@ -49,14 +56,16 @@ var page_nav = '#'+settings.pager_id; function init_pager () { - size = $(element, me).not(page_nav).size(); + //size = $(element, me).not(page_nav).size(); + size = settings.num_images; size = Math.ceil(size/settings.num_images_per_page); if (settings.height == null) { settings.height = get_element_height(); } if (size > 1) { make_pager_list(); - show(); + //show(); + img_show(); set_active(); } set_height(); @@ -87,6 +96,25 @@ } } + function img_show() { + $(me).find(element).not(page_nav).hide(); + i = i * settings.num_images_per_page; + var count = i; + $(me).find(element).not(page_nav).each(function () { + var max_image = 1*i + 1*settings.num_images_per_page; + if (count < settings.num_images && count < max_image) { + var image_name = settings.images[count]; + var input = ''; + var image = ''+ image_name +''; + + $(this).find("label").html(input + image); + $(this).show(); + count++; + } + }); + radio_button_handler(); + } + function set_active () { $(me).find(page_nav).find('a').removeClass(settings.active_class); var page_num = Math.floor(i/settings.num_images_per_page) + 1; @@ -145,7 +173,8 @@ var j = $(this).attr('rel'); i = j-1; } - show(); + img_show(); + //show(); set_active(); return false; });