X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fphone.php;h=5ca75ee2cc490d4cfeaa910cf912caea8b7c5ebb;hb=c56a253e5a51c7953be1224225e1b1190f8f1c1d;hp=29f06df180594da980d42dbbe9f1c45b7468ddcd;hpb=ed92ea696e042eb9b2d0efcc4731fdf89fb17924;p=platal.git diff --git a/classes/phone.php b/classes/phone.php index 29f06df..5ca75ee 100644 --- a/classes/phone.php +++ b/classes/phone.php @@ -67,7 +67,7 @@ class Phone // The following fields are the fields of the form in the profile edition. private $type = 'fixed'; public $display = ''; - private $pub = 'private'; + private $pub = 'ax'; public $comment = ''; private $error = false; @@ -105,6 +105,11 @@ class Phone return $this->search; } + public function setId($id) + { + $this->id = $id; + } + /** Returns the unique ID of a phone. * This ID will allow to link it to an address, a user or a job. * The format is address_addressId_phoneId (where phoneId is the id @@ -220,7 +225,7 @@ class Phone if ($format['format'] == '') { // If the country does not have a phone number format, the number will be displayed // as "+prefix ## ## ## ##...". - $format['format'] = '+p'; + $format['format'] = '(+p)'; } /* Formats the phone number according t the template with these rules: @@ -302,6 +307,13 @@ class Phone } } + public function delete() + { + XDB::execute('DELETE FROM profile_phones + WHERE pid = {?} AND link_type = {?} AND link_id = {?} AND tel_id = {?}', + $this->pid, $this->link_type, $this->link_id, $this->id); + } + static public function deletePhones($pid, $link_type, $link_id = null) { $where = ''; @@ -340,7 +352,7 @@ class Phone $phones = array(); foreach ($data as $item) { $phone = new Phone($item); - $success = ($phone->format() && $success); + $success = (!$phone->error && ($phone->format() || $phone->isEmpty()) && $success); if (!$phone->isEmpty()) { $phones[] = call_user_func(array($phone, $function)); } @@ -399,8 +411,8 @@ class PhoneIterator implements PlIterator $sql = 'SELECT search_tel AS search, display_tel AS display, comment, link_id, tel_type AS type, link_type, tel_id AS id, pid, pub FROM profile_phones - WHERE ' . implode(' AND ', $where) . ' - ORDER BY link_id, tel_id'; + ' . ((count($where) > 0) ? 'WHERE ' . implode(' AND ', $where) : '') . ' + ORDER BY pid, link_id, tel_id'; $this->dbiter = XDB::iterator($sql); }