- $res = XDB::iterator("SELECT link_id AS addrid, tel_type AS type, pub, display_tel AS tel, comment
- FROM profile_phones
- WHERE pid = {?} AND link_type = 'address'
- ORDER BY link_id",
- $this->pid());
- $i = 0;
- $adrNb = count($this->values['addresses']);
- while ($tel = $res->next()) {
- $addrid = $tel['addrid'];
- unset($tel['addrid']);
- while ($i < $adrNb && $this->values['addresses'][$i]['id'] < $addrid) {
- $i++;
- }
- if ($i >= $adrNb) {
- break;
- }
- $address =& $this->values['addresses'][$i];
- if (!isset($address['tel'])) {
- $address['tel'] = array();
- }
- if ($address['id'] == $addrid) {
- $address['tel'][] = $tel;
- }
+ // Adds phones to addresses.
+ $it = Phone::iterate(array($this->pid()), array(Phone::LINK_ADDRESS));
+ while ($phone = $it->next()) {
+ $this->values['addresses'][$phone->linkId()]['tel'][$phone->id()] = $phone->toFormArray();