Merge commit 'origin/master' into fusionax
authorStéphane Jacob <sj@m4x.org>
Fri, 28 Aug 2009 09:33:22 +0000 (11:33 +0200)
committerStéphane Jacob <sj@m4x.org>
Fri, 28 Aug 2009 09:33:22 +0000 (11:33 +0200)
1  2 
ChangeLog
modules/profile/page.inc.php

diff --cc ChangeLog
Simple merge
@@@ -265,27 -146,47 +265,30 @@@ class ProfileDate extends ProfileNoSav
      }
  }
  
 -abstract class ProfileGeoloc implements ProfileSetting
 +abstract class ProfileGeocoding implements ProfileSetting
  {
 -    protected function geolocAddress(array &$address, &$success)
 +    protected function geocodeAddress(array &$address, &$success)
      {
 -        require_once 'geoloc.inc.php';
 +        require_once 'geocoding.inc.php';
          $success = true;
 -        unset($address['geoloc']);
 -        unset($address['geoloc_cityid']);
 -        if (@$address['parsevalid']
 -            || (@$address['text'] && @$address['changed'])
 -            || (@$address['text'] && !@$address['cityid'])) {
 -            $address = array_merge($address, empty_address());
 -            $new = get_address_infos(@$address['text']);
 -            if (compare_addresses_text(@$address['text'], $geotxt = get_address_text($new))
 -                || (@$address['parsevalid'] && @$address['cityid'])) {
 -                $address = array_merge($address, $new);
 -                $address['checked'] = true;
 -            } else if (@$address['parsevalid']) {
 -                $address = array_merge($address, cut_address(@$address['text']));
 -                $address['checked'] = true;
 -                $mailer = new PlMailer('geoloc/geoloc.mail.tpl');
 -                $mailer->assign('text', get_address_text($address));
 -                $mailer->assign('geoloc', $geotxt);
 -                $mailer->send();
 -            } else if (@$address['changed'] || !@$address['checked']) {
 +        if (isset($address['changed']) && $address['changed'] == 1) {
 +            $gmapsGeocoder = new GMapsGeocoder();
 +            $address = $gmapsGeocoder->getGeocodedAddress($address);
 +            if (isset($address['geoloc'])) {
                  $success = false;
 -                $address = array_merge($address, cut_address(@$address['text']));
 -                $address['checked'] = false;
 -                $address['geoloc'] = $geotxt;
 -                $address['geoloc_cityid'] = $new['cityid'];
 -            } else {
 -                $address = array_merge($address, cut_address(@$address['text']));
 -                $address['checked'] = true;
              }
+         } elseif (@$address['changed'] && !@$address['text']) {
+             $address = empty_address();
+             $address['pub'] = 'private';
          }
 -        $address['precise_lat'] = rtrim($address['precise_lat'], '.0');
 -        $address['precise_lon'] = rtrim($address['precise_lon'], '.0'); 
 -        $address['text'] = get_address_text($address);
 +        if (isset($address['geoloc_choice']) && ($address['geoloc_choice'] == 0)) {
 +            $mailer = new PlMailer('geoloc/geoloc.mail.tpl');
 +            $mailer->assign('text', $address['text']);
 +            $mailer->assign('geoloc', $address['geoloc']);
 +            $mailer->send();
 +            $gmapsGeocoder = new GMapsGeocoder();
 +            $address = $gmapsGeocoder->stripGeocodingFromAddress($address);
 +        }
      }
  }