Start working on the medals page
[platal.git] / modules / profile / addresses.inc.php
index e2360a8..e78a5a0 100644 (file)
@@ -34,6 +34,8 @@ class ProfileAddress
     {
         require_once 'geoloc.inc.php';
         $success = true;
+        unset($address['geoloc']);
+        unset($address['geoloc_cityid']);
         if (@$address['parsevalid'] || (@$address['text'] && @$address['changed']) || !@$address['cityid']) {
             $address = array_merge($address, empty_address());
             $new = get_address_infos(@$address['text']);
@@ -59,7 +61,7 @@ class ProfileAddress
             $address['datemaj'] = time();
         }
         foreach ($address['tel'] as $t=>&$tel) {
-            if (@$tel['removed']) {
+            if (@$tel['removed'] || !trim($tel['tel'])) {
                 unset($address['tel'][$t]);
             } else {
                 $tel['pub'] = $this->pub->value($page, 'pub', $tel['pub'], $success);
@@ -93,13 +95,26 @@ class ProfileAddress
                 unset($value[$key]);
             }
         }
-        $success = true;
+        $current = 0;
+        foreach ($value as $key=>&$adr) {
+            if (@$adr['current']) {
+                $current++;
+            }
+        }
+        if (!$init && $current != 1 && count($value) > 0) {
+            $success = false;
+        } else {
+            $success = true;
+        }
         foreach ($value as $key=>&$adr) {
             $this->geolocAddress($adr, $s);
             $this->cleanAddress($page, $adr);
             if (!$init) {
                 $success = $success && $s;
             }
+            if (!trim($adr['text'])) {
+                unset($value[$key]);
+            }
         }
         return $value;
     }