<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2014 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
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_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;
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.');
}
{
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);
}
}
-// 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:
?>