? gmap.patch ? thirdparty/extinfowindow Index: gmap.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/gmap/gmap.module,v retrieving revision 1.104.2.5 diff -u -p -r1.104.2.5 gmap.module --- gmap.module 8 Apr 2010 13:40:19 -0000 1.104.2.5 +++ gmap.module 18 Apr 2010 20:39:08 -0000 @@ -273,6 +273,21 @@ function _gmap_doheader() { return; } $gmap_path = drupal_get_path('module', 'gmap'); + + //ExtInfoWindow + if(variable_get('gmap_extinfowindow_active', FALSE)){ + + drupal_add_js(array('gmap' => array('extinfowindow' => variable_get('gmap_extinfowindow_active', FALSE))), 'setting'); + + //add the extinfowindow js + drupal_add_js($gmap_path . '/thirdparty/extinfowindow/extinfowindow.js'); + + //find the active theme + $theme = variable_get('gmap_extinfowindow_theme','dark'); + //add the theme css + drupal_add_css($gmap_path . '/thirdparty/extinfowindow/themes/' . $theme . '/' . $theme .'.css'); + } + drupal_add_css($gmap_path . '/gmap.css'); drupal_add_js($gmap_path . '/js/gmap.js'); $mm = variable_get('gmap_mm_type', 'gmap'); @@ -1246,3 +1261,23 @@ function gmap_views_plugins() { ), ); } + + +/** + * Get the themes for ExtInfoWindow + * + * @return + * An array with themes for ExtInfoWindow. + */ +function gmap_extinfowindow_themes(){ + + $path = drupal_get_path('module','gmap') . '/'; + $themes = file_scan_directory($path . 'thirdparty/extinfowindow/themes','.css'); + + $ext_themes = array(); + foreach($themes as $theme){ + $ext_themes[$theme->name] = $theme->name; + } + + return $ext_themes; +} \ No newline at end of file Index: gmap_settings_ui.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/gmap/gmap_settings_ui.inc,v retrieving revision 1.12.2.3 diff -u -p -r1.12.2.3 gmap_settings_ui.inc --- gmap_settings_ui.inc 8 Apr 2010 13:40:19 -0000 1.12.2.3 +++ gmap_settings_ui.inc 18 Apr 2010 20:39:11 -0000 @@ -581,6 +581,30 @@ function gmap_admin_settings(&$form_stat '#size' => 4, '#maxlength' => 4, ); + + //Arshad Chummun - ExtInfoWindow Settings + $form['gmap_extinfowindow'] = array( + '#type' => 'fieldset', + '#title' => t('ExtInfoWindow'), + '#description' => t('ExtInfoWindow enables you to theme the pop info window'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + + $form['gmap_extinfowindow']['gmap_extinfowindow_active'] = array( + '#type' => 'checkbox', + '#title' => t('Enable GMap Ext Window'), + '#default_value' => variable_get('gmap_extinfowindow_active', FALSE), + '#description' => t('Enable/disable the GMap Ext Info Window'), + ); + + $form['gmap_extinfowindow']['gmap_extinfowindow_theme'] = array( + '#type' => 'select', + '#title' => t('Theme'), + '#default_value' => variable_get('gmap_extinfowindow_theme', 'dark'), + '#options' => gmap_extinfowindow_themes(), + '#description' => t('The theme to use for the ext window inplementation.') + ); // @@@ Convert to element level validation. $form['#validate'][] = 'gmap_admin_settings_validate'; Index: js/marker.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/gmap/js/marker.js,v retrieving revision 1.4.2.1 diff -u -p -r1.4.2.1 marker.js --- js/marker.js 8 Apr 2010 13:40:19 -0000 1.4.2.1 +++ js/marker.js 18 Apr 2010 20:39:11 -0000 @@ -61,7 +61,18 @@ Drupal.gmap.addHandler('gmap', function obj.bind('clickmarker', function (marker) { // Local/stored content if (marker.text) { - marker.marker.openInfoWindowHtml(marker.text); + //ExtInfoWindow Implementation + if(Drupal.settings.gmap.extinfowindow){ + marker.marker.openExtInfoWindow( + obj.map, + "opacity_window", + marker.text, + {beakOffset: 2} + ); + } + else{ + marker.marker.openInfoWindowHtml(marker.text); + } } // AJAX content if (marker.rmt) { @@ -79,7 +90,18 @@ Drupal.gmap.addHandler('gmap', function // marker.marker.openInfoWindowHtml(Drupal.settings.loadingImage); //} $.get(uri, {}, function (data) { - marker.marker.openInfoWindowHtml(data); + //ExtInfoWindow Implementation + if(Drupal.settings.gmap.extinfowindow){ + marker.marker.openExtInfoWindow( + obj.map, + "opacity_window", + data, + {beakOffset: 2} + ); + } + else{ + marker.marker.openInfoWindowHtml(data); + } }); } // Tabbed content