X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile%2Faddresses.inc.php;h=6ff3f24b10b811e825dea62bd4afec6dbf8c3f3d;hb=f6e35ff3fefafe908e1675690340ab93265192a0;hp=2744aa833e4120ea9859b9e71c0a668059e6ab34;hpb=a6391000e89c59f3c26d1a62bb06857df706bf50;p=platal.git diff --git a/modules/profile/addresses.inc.php b/modules/profile/addresses.inc.php index 2744aa8..6ff3f24 100644 --- a/modules/profile/addresses.inc.php +++ b/modules/profile/addresses.inc.php @@ -1,6 +1,6 @@ bool = new ProfileBool(); - $this->pub = new ProfilePub(); + $this->bool = new ProfileSettingBool(); + $this->pub = new ProfileSettingPub(); } private function cleanAddress(ProfilePage &$page, $addrid, array &$address) @@ -35,7 +35,7 @@ class ProfileAddress extends ProfileGeocoding if (!isset($address['tel'])) { $address['tel'] = array(); } - $profiletel = new ProfilePhones('address', $addrid); + $profiletel = new ProfileSettingPhones('address', $addrid); $address['tel'] = $profiletel->value($page, 'tel', $address['tel'], $s); $address['current'] = $this->bool->value($page, 'current', $address['current'], $s); $address['temporary'] = $this->bool->value($page, 'temporary', $address['temporary'], $s); @@ -64,7 +64,7 @@ class ProfileAddress extends ProfileGeocoding } } if ($current == 0 && count($value) > 0) { - foreach ($value as $address) { + foreach ($value as &$address) { $address['current'] = true; break; } @@ -83,9 +83,9 @@ class ProfileAddress extends ProfileGeocoding return $value; } - private function saveAddress($pid, $addrid, array &$address, $type) + public function saveAddress($pid, $addrid, array &$address, $type) { - require_once "geocoding.inc.php"; + require_once 'geocoding.inc.php'; $flags = new PlFlagSet(); $flags->addFlag('current', $address['current']); @@ -119,24 +119,24 @@ class ProfileAddress extends ProfileGeocoding WHERE pid = {?} AND type = 'home'", $page->pid()); XDB::execute("DELETE FROM profile_phones - WHERE uid = {?} AND link_type = 'address'", + WHERE pid = {?} AND link_type = 'address'", $page->pid()); foreach ($value as $addrid => &$address) { $this->saveAddress($page->pid(), $addrid, $address, 'home'); - $profiletel = new ProfilePhones('address', $addrid); + $profiletel = new ProfileSettingPhones('address', $addrid); $profiletel->saveTels($page->pid(), 'tel', $address['tel']); } } } -class ProfileAddresses extends ProfilePage +class ProfileSettingAddresses extends ProfilePage { protected $pg_template = 'profile/adresses.tpl'; public function __construct(PlWizard &$wiz) { parent::__construct($wiz); - $this->settings['addresses'] = new ProfileAddress(); + $this->settings['addresses'] = new ProfileSettingAddress(); $this->watched['addresses'] = true; } @@ -144,7 +144,7 @@ class ProfileAddresses extends ProfilePage { $res = XDB::query("SELECT id, accuracy, text, postalText, postalCode, localityId, subAdministrativeAreaId, administrativeAreaId, - countryId, latitude, longitude, pub, comment, updateTime, + countryId, latitude, longitude, pub, comment, UNIX_TIMESTAMP(updateTime) AS updateTime, north, south, east, west, FIND_IN_SET('current', flags) AS current, FIND_IN_SET('temporary', flags) AS temporary, @@ -163,7 +163,7 @@ class ProfileAddresses extends ProfilePage $res = XDB::iterator("SELECT link_id AS addrid, tel_type AS type, pub, display_tel AS tel, comment FROM profile_phones - WHERE uid = {?} AND link_type = 'address' + WHERE pid = {?} AND link_type = 'address' ORDER BY link_id", $this->pid()); $i = 0; @@ -187,9 +187,18 @@ class ProfileAddresses extends ProfilePage } foreach ($this->values['addresses'] as $id => &$address) { if (!isset($address['tel'])) { - $address['tel'] = array(); + $address['tel'] = array( + 0 => array( + 'type' => 'fixed', + 'tel' => '', + 'pub' => 'private', + 'comment' => '', + ) + ); } unset($address['id']); + $address['changed'] = 0; + $address['removed'] = 0; } } }