Index: domain_geolocalization.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/domain_geolocalization/domain_geolocalization.admin.inc,v retrieving revision 1.1.2.2 diff -u -r1.1.2.2 domain_geolocalization.admin.inc --- domain_geolocalization.admin.inc 8 Jul 2008 23:57:53 -0000 1.1.2.2 +++ domain_geolocalization.admin.inc 28 Sep 2009 18:02:19 -0000 @@ -11,90 +11,91 @@ * Domain edit/create form. */ function _domain_geolocalization_domain_edit_form(&$form, $form_state, $form_id) { - $domain = domain_lookup($form['domain_id']['#value']); + if (!empty($form['domain_id']['#value'])) { + $domain = domain_lookup($form['domain_id']['#value']); + $form['domain_geolocalization'] = array( + '#type' => 'fieldset', + // set lighter than the submit button + '#weight' => 1, + '#title' => t('Domain GeoLocalization'), + '#description' => t('Associate this domain with a geographic area.
Important: None of these corresponding fields are verified. Thus it is important that the latitude/longitude are correct for the city, state, country and zipcode entered. The only required fields are latitude and longitude.'), + '#collapsible' => TRUE, + '#collapsed' => FALSE, + '#validate' => '_domain_geolocalization_domain_validate', + ); + $form['domain_geolocalization']['use_geolocalization'] = array( + '#type' => 'checkbox', + '#default_value' => !is_null($domain['latitude']), + '#title' => t('Use Geolocalization for this domain'), + ); + $form['domain_geolocalization']['latitude'] = array( + '#type' => 'textfield', + '#title' => t('Latitude'), + '#default_value' => $domain['latitude'], + ); + $form['domain_geolocalization']['longitude'] = array( + '#type' => 'textfield', + '#title' => t('Longitude'), + '#default_value' => $domain['longitude'], + ); + $form['domain_geolocalization']['radius'] = array( + '#type' => 'textfield', + '#title' => t('Search Radius'), + '#description' => t('Radius of the domain, in miles'), + '#default_value' => $domain['radius'], + ); - $form['domain_geolocalization'] = array( - '#type' => 'fieldset', - // set lighter than the submit button - '#weight' => 1, - '#title' => t('Domain GeoLocalization'), - '#description' => t('Associate this domain with a geographic area.
Important: None of these corresponding fields are verified. Thus it is important that the latitude/longitude are correct for the city, state, country and zipcode entered. The only required fields are latitude and longitude.'), - '#collapsible' => TRUE, - '#collapsed' => FALSE, - '#validate' => '_domain_geolocalization_domain_validate', - ); - $form['domain_geolocalization']['use_geolocalization'] = array( - '#type' => 'checkbox', - '#default_value' => !is_null($domain['latitude']), - '#title' => t('Use Geolocalization for this domain'), - ); - $form['domain_geolocalization']['latitude'] = array( - '#type' => 'textfield', - '#title' => t('Latitude'), - '#default_value' => $domain['latitude'], - ); - $form['domain_geolocalization']['longitude'] = array( - '#type' => 'textfield', - '#title' => t('Longitude'), - '#default_value' => $domain['longitude'], - ); - $form['domain_geolocalization']['radius'] = array( - '#type' => 'textfield', - '#title' => t('Search Radius'), - '#description' => t('Radius of the domain, in miles'), - '#default_value' => $domain['radius'], - ); - - // @fixme: This should integrate with GMaps once it is ported. However, this - // will be tricky since we are dealing with subdomains. The Keys API module - // would be another good choice for integration. On the other hand, keeping - // it here keeps domain adminstration all in one place. - $form['domain_geolocalization']['gmap_key'] = array( - '#type' => 'textfield', - '#title' => t('Google Maps API key'), - '#description' => t('Each subdomain requires a !link', array('!link' => l('Google Maps API key', 'http://code.google.com/apis/maps/signup.html'))), - '#default_value' => $domain['gmap_key'], - ); - - $form['domain_geolocalization']['city'] = array( - '#type' => 'textfield', - '#title' => t('City'), - '#default_value' => $domain['city'], - ); - - $form['domain_geolocalization']['state'] = array( - '#type' => 'textfield', - '#title' => t('State Code'), - '#default_value' => $domain['state'], - ); + // @fixme: This should integrate with GMaps once it is ported. However, this + // will be tricky since we are dealing with subdomains. The Keys API module + // would be another good choice for integration. On the other hand, keeping + // it here keeps domain adminstration all in one place. + $form['domain_geolocalization']['gmap_key'] = array( + '#type' => 'textfield', + '#title' => t('Google Maps API key'), + '#description' => t('Each subdomain requires a !link', array('!link' => l(t('Google Maps API key'), 'http://code.google.com/apis/maps/signup.html'))), + '#default_value' => $domain['gmap_key'], + ); - if (variable_get('domain_geolocalization_use_state_defaults', FALSE)) { - $form['domain_geolocalization']['state_default'] = array( - '#type' => 'checkbox', - '#title' => t('Set this domain as the default domain for this state'), - '#default_value' => $domain['state_default'], - '#description' => t('Only one default may be defined per state'), + $form['domain_geolocalization']['city'] = array( + '#type' => 'textfield', + '#title' => t('City'), + '#default_value' => $domain['city'], ); - } - $form['domain_geolocalization']['zipcode'] = array( - '#type' => 'textfield', - '#length' => 30, - '#title' => t('US Postal Code'), - '#default_value' => $domain['zipcode'], - ); - - $form['domain_geolocalization']['country'] = array( - '#type' => 'textfield', - '#title' => t('Country'), - '#default_value' => $domain['country'], - ); + $form['domain_geolocalization']['state'] = array( + '#type' => 'textfield', + '#title' => t('State Code'), + '#default_value' => $domain['state'], + ); - // weigh down the submit button - $form['submit']['#weight'] = 10; + if (variable_get('domain_geolocalization_use_state_defaults', FALSE)) { + $form['domain_geolocalization']['state_default'] = array( + '#type' => 'checkbox', + '#title' => t('Set this domain as the default domain for this state'), + '#default_value' => $domain['state_default'], + '#description' => t('Only one default may be defined per state'), + ); + } - // append custom validation and functions - $form['#validate'][] = '_domain_geolocalization_domain_edit_validate'; + $form['domain_geolocalization']['zipcode'] = array( + '#type' => 'textfield', + '#length' => 30, + '#title' => t('US Postal Code'), + '#default_value' => $domain['zipcode'], + ); + + $form['domain_geolocalization']['country'] = array( + '#type' => 'textfield', + '#title' => t('Country'), + '#default_value' => $domain['country'], + ); + + // weigh down the submit button + $form['submit']['#weight'] = 10; + + // append custom validation and functions + $form['#validate'][] = '_domain_geolocalization_domain_edit_validate'; + } } @@ -120,10 +121,10 @@ } else { // check if there is a state default already defined for this state - if ($form_state['values']['domain_id']) { - // existing domain, so the query is altered to exclude itself - $alter = ' AND domain_id <> %d'; - } + if ($form_state['values']['domain_id']) { + // existing domain, so the query is altered to exclude itself + $alter = ' AND domain_id <> %d'; + } $existing = db_result(db_query("SELECT domain_id FROM {domain_geolocalization} LEFT JOIN {domain_geolocalization_location_instance} USING (domain_id) LEFT JOIN {domain_geolocalization_location} USING (dglid) WHERE state = '%s' AND state_default" . $alter, $form_state['values']['state'], $form_state['values']['domain_id'])); if ($existing) { $domain = domain_lookup($existing); Index: domain_geolocalization.geocode.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/domain_geolocalization/domain_geolocalization.geocode.inc,v retrieving revision 1.1.2.2 diff -u -r1.1.2.2 domain_geolocalization.geocode.inc --- domain_geolocalization.geocode.inc 11 Jul 2008 17:34:23 -0000 1.1.2.2 +++ domain_geolocalization.geocode.inc 28 Sep 2009 18:03:17 -0000 @@ -32,7 +32,7 @@ $range_longitude = earth_longitude_range($longitude, $latitude, $proximity); $result = db_query('SELECT domain_id, ' . $earth_distance . ' AS distance FROM {domain_geolocalization} LEFT JOIN {domain} USING (domain_id) LEFT JOIN {domain_geolocalization_location_instance} USING (domain_id) LEFT JOIN {domain_geolocalization_location} USING (dglid) WHERE valid AND latitude > %f AND latitude < %f AND longitude > %f AND longitude < %f AND ' . $earth_distance . ' < %f ORDER BY distance', - $range_latitude[0], $range_latitude[1], $range_longitude[0], $range_longitude[1], $proximity); + $range_latitude[0], $range_latitude[1], $range_longitude[0], $range_longitude[1], $proximity); } else { $radius_sql = _domain_geolocalization_convert_to_meters_sql('radius', 'miles'); Index: domain_geolocalization.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/domain_geolocalization/domain_geolocalization.inc,v retrieving revision 1.1.2.5 diff -u -r1.1.2.5 domain_geolocalization.inc --- domain_geolocalization.inc 12 Jun 2009 00:31:01 -0000 1.1.2.5 +++ domain_geolocalization.inc 28 Sep 2009 18:04:03 -0000 @@ -42,14 +42,15 @@ /** * Build the search block. */ -function _domain_geolocalization_search_block($type = 'ahah') { - if($type == 'static') { +function _domain_geolocalization_search_block($type = 'ahah', $values) { + if ($type == 'static') { $formid = 'domain_geolocalization_search_static_form'; } else { $formid = 'domain_geolocalization_search_form'; } - $form = drupal_get_form($formid); + + $form = drupal_get_form($formid, $values); return theme('domain_geolocalization_search_block', $form); } @@ -136,7 +137,7 @@ '#type' => 'submit', '#value' => t('Search'), '#ahah' => array( - 'path' => 'search/domain/js/'.$values['node_id'], + 'path' => 'search/domain/js/'. $values['node_id'], 'wrapper' => 'domain-search-results', 'method' => 'replace', 'effect' => 'fade', Index: domain_geolocalization.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/domain_geolocalization/domain_geolocalization.module,v retrieving revision 1.1.2.15 diff -u -r1.1.2.15 domain_geolocalization.module --- domain_geolocalization.module 12 Jun 2009 00:31:01 -0000 1.1.2.15 +++ domain_geolocalization.module 28 Sep 2009 17:58:58 -0000 @@ -124,7 +124,7 @@ switch ($op) { case 'list': if (module_exists('domain_user_default')) { - $user_default = t(' (or current default domain when user has selected one)'); + $user_default = ' '. t('(or current default domain when user has selected one)'); // Can't cache per role once the block is customized per user // @todo determine if there is a way to clear the block cache when a // user switches domains. @@ -183,7 +183,7 @@ if (module_exists('domain_user_default') && (isset($account->default_domain) || variable_get('domain_geolocalization_block_use_default_domain', FALSE))) { // if user has a default, output a simple domain name and a change link - if(isset($account->default_domain) && $account->default_domain == $_domain['domain_id']) { + if (isset($account->default_domain) && $account->default_domain == $_domain['domain_id']) { $current_domain = $account->default_domain; } else { Index: tests/domain_geolocalization.test =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/domain_geolocalization/tests/domain_geolocalization.test,v retrieving revision 1.1.2.1 diff -u -r1.1.2.1 domain_geolocalization.test --- tests/domain_geolocalization.test 3 Jul 2008 20:07:28 -0000 1.1.2.1 +++ tests/domain_geolocalization.test 28 Sep 2009 17:57:28 -0000 @@ -35,15 +35,15 @@ foreach ($tests as $distance) { $units = $distance[0]; $length = $distance[1]; - $actual_miles = round($distance[2],3); + $actual_miles = round($distance[2], 3); $actual_meters = round($distance[3], 3); // convert to miles - $miles = round(_domain_geolocalization_convert_to_miles($length, $units),3); + $miles = round(_domain_geolocalization_convert_to_miles($length, $units), 3); $this->assertTrue($miles === $actual_miles, t('Correctly converted @len @unit to @alen miles (@conv)', array('@len' => $length, '@unit' => $units, '@alen' => $actual_miles, '@conv' => $miles))); // convert to meters - $meters = round(_domain_geolocalization_convert_to_meters($length, $units),3); + $meters = round(_domain_geolocalization_convert_to_meters($length, $units), 3); $this->assertTrue($meters === $actual_meters, t('Correctly converted @len @unit to @alen meters (@conv)', array('@len' => $length, '@unit' => $units, '@alen' => $actual_meters, '@conv' => $meters))); }