X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile%2Faddresses.inc.php;h=2bc00b22c9340abff2569508cbbbe7a9ab543a0b;hb=ce0b2c6f3fc4e7c524df32f56f1bc8e8d573bb1a;hp=49b7f959777569062e395e764e8abc8e7441e611;hpb=b20ef4deed1b6fa6334bc57c0166a88e2beac9e4;p=platal.git diff --git a/modules/profile/addresses.inc.php b/modules/profile/addresses.inc.php index 49b7f95..2bc00b2 100644 --- a/modules/profile/addresses.inc.php +++ b/modules/profile/addresses.inc.php @@ -1,6 +1,6 @@ addFlag('current'); - } - if ($address['temporary']) { - $flags->addFlag('temporary'); - } - if ($address['secondary']) { - $flags->addFlag('secondary'); - } - if ($address['mail']) { - $flags->addFlag('mail'); - } - if ($address['cedex'] = + $flags->addFlag('current', $address['current']); + $flags->addFlag('temporary', $address['temporary']); + $flags->addFlag('secondary', $address['secondary']); + $flags->addFlag('mail', $address['mail']); + $flags->addFlag('cedex', $address['cedex'] = (strpos(strtoupper(preg_replace(array("/[0-9,\"'#~:;_\- ]/", "/\r\n/"), - array("", "\n"), $address['text'])), 'CEDEX')) !== false) { - $flags->addFlag('cedex'); - } + array("", "\n"), $address['text'])), 'CEDEX')) !== false); Geocoder::getAreaId($address, "administrativeArea"); Geocoder::getAreaId($address, "subAdministrativeArea"); Geocoder::getAreaId($address, "locality"); @@ -125,7 +105,7 @@ class ProfileAddress extends ProfileGeocoding north, south, east, west) VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, FROM_UNIXTIME({?}), {?}, {?}, {?}, {?}, {?}, {?})", - S::i('uid'), $type, $addrid, $flags, $address['accuracy'], + $pid, $type, $addrid, $flags, $address['accuracy'], $address['text'], $address['postalText'], $address['postalCode'], $address['localityId'], $address['subAdministrativeAreaId'], $address['administrativeAreaId'], $address['countryId'], $address['latitude'], $address['longitude'], @@ -137,14 +117,14 @@ class ProfileAddress extends ProfileGeocoding { XDB::execute("DELETE FROM profile_addresses WHERE pid = {?} AND type = 'home'", - S::i('uid')); + $page->pid()); XDB::execute("DELETE FROM profile_phones - WHERE uid = {?} AND link_type = 'address'", - S::i('uid')); + WHERE pid = {?} AND link_type = 'address'", + $page->pid()); foreach ($value as $addrid => &$address) { - $this->saveAddress($addrid, $address, 'home'); + $this->saveAddress($page->pid(), $addrid, $address, 'home'); $profiletel = new ProfilePhones('address', $addrid); - $profiletel->saveTels('tel', $address['tel']); + $profiletel->saveTels($page->pid(), 'tel', $address['tel']); } } } @@ -164,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, @@ -174,7 +154,7 @@ class ProfileAddresses extends ProfilePage FROM profile_addresses WHERE pid = {?} AND type = 'home' ORDER BY id", - S::i('uid')); + $this->pid()); if ($res->numRows() == 0) { $this->values['addresses'] = array(); } else { @@ -183,15 +163,15 @@ 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", - S::i('uid')); + $this->pid()); $i = 0; $adrNb = count($this->values['addresses']); while ($tel = $res->next()) { - $adrid = $tel['addrid']; + $addrid = $tel['addrid']; unset($tel['addrid']); - while ($i < $adrNb && $this->values['addresses'][$i]['id'] < $adrid) { + while ($i < $adrNb && $this->values['addresses'][$i]['id'] < $addrid) { $i++; } if ($i >= $adrNb) { @@ -201,15 +181,24 @@ class ProfileAddresses extends ProfilePage if (!isset($address['tel'])) { $address['tel'] = array(); } - if ($address['id'] == $adrid) { + if ($address['id'] == $addrid) { $address['tel'][] = $tel; } } 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; } } }