X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile%2Faddresses.inc.php;h=3a7c52ade060aa5420d4066a6be959e2ae317aba;hb=c7fdb61130b1b8d68e6cca79dc50d1eb6777a3d0;hp=4c0d7234ebb4d181c0da9adc122db7c3100ec497;hpb=5b48ebf46ef939d701852d2117bbcf308036027c;p=platal.git diff --git a/modules/profile/addresses.inc.php b/modules/profile/addresses.inc.php index 4c0d723..3a7c52a 100644 --- a/modules/profile/addresses.inc.php +++ b/modules/profile/addresses.inc.php @@ -21,13 +21,13 @@ class ProfileSettingAddresses implements ProfileSetting { - public function value(ProfilePage &$page, $field, $value, &$success) + public function value(ProfilePage $page, $field, $value, &$success) { $success = true; $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_PRIVATE)); while ($address = $it->next()) { $addresses[] = $address->toFormArray(); } @@ -41,11 +41,17 @@ class ProfileSettingAddresses implements ProfileSetting return Address::formatFormArray($value, $success); } - public function save(ProfilePage &$page, $field, $value) + public function save(ProfilePage $page, $field, $value) { - Phone::deletePhones($page->pid(), Phone::LINK_ADDRESS, null, S::user()->isMe($page->owner) || S::admin()); - Address::deleteAddresses($page->pid(), Address::LINK_PROFILE, null, S::user()->isMe($page->owner) || S::admin()); - Address::saveFromArray($value, $page->pid(), Address::LINK_PROFILE); + $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, 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.'); + } } public function getText($value) @@ -58,11 +64,12 @@ class ProfilePageAddresses extends ProfilePage { protected $pg_template = 'profile/adresses.tpl'; - public function __construct(PlWizard &$wiz) + public function __construct(PlWizard $wiz) { parent::__construct($wiz); $this->settings['addresses'] = new ProfileSettingAddresses(); $this->watched['addresses'] = true; + Platal::page()->assign('geocoding_removal', true); } }