When adding a new address to a profile, tick the "can receive mail" checkbox by default
[platal.git] / modules / profile / addresses.inc.php
index c563c7e..ed3e195 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2011 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -27,12 +27,12 @@ class ProfileSettingAddresses implements ProfileSetting
         $addresses = array();
 
         if (is_null($value)) {
-            $it = Address::iterate(array($page->pid()), array(Address::LINK_PROFILE), array(0));
+            $it = Address::iterate(array($page->pid()), array(Address::LINK_PROFILE), array(0), Visibility::get(Visibility::VIEW_ADMIN));
             while ($address = $it->next()) {
                 $addresses[] = $address->toFormArray();
             }
             if (count($addresses) == 0) {
-                $address = new Address();
+                $address = new Address(array('mail' => 1));
                 $addresses[] = $address->toFormArray();
             }
             return $addresses;
@@ -46,7 +46,8 @@ class ProfileSettingAddresses implements ProfileSetting
         $deletePrivate = S::user()->isMe($page->owner) || S::admin();
 
         Phone::deletePhones($page->pid(), Phone::LINK_ADDRESS, null, $deletePrivate);
-        Address::deleteAddresses($page->pid(), Address::LINK_PROFILE, null, $deletePrivate);
+        Address::deleteAddresses($page->pid(), Address::LINK_PROFILE, null, null, $deletePrivate);
+        AddressReq::purge_requests($page->pid(), 0, 0, Address::LINK_PROFILE);
         Address::saveFromArray($value, $page->pid(), Address::LINK_PROFILE, null, $deletePrivate);
         if (S::user()->isMe($page->owner) && count($value) > 1) {
             Platal::page()->trigWarning('Attention, tu as plusieurs adresses sur ton profil. Pense à supprimer celles qui sont obsolètes.');
@@ -68,8 +69,9 @@ class ProfilePageAddresses extends ProfilePage
         parent::__construct($wiz);
         $this->settings['addresses'] = new ProfileSettingAddresses();
         $this->watched['addresses']  = true;
+        Platal::page()->assign('geocoding_removal', true);
     }
 }
 
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>