X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fcarnet%2Fcontacts.pdf.inc.php;h=a981b1c7045a1e626a8e18a7487f94e72b504d40;hb=f1aff3488654b74277c8640629640ee65d395ec5;hp=175cbc7b7f3768637a7399cb17e31d5f79a7c7cf;hpb=598c57f6857d2ab4059bbfeb51cacb6ecdad17ff;p=platal.git diff --git a/modules/carnet/contacts.pdf.inc.php b/modules/carnet/contacts.pdf.inc.php index 175cbc7..a981b1c 100644 --- a/modules/carnet/contacts.pdf.inc.php +++ b/modules/carnet/contacts.pdf.inc.php @@ -1,6 +1,6 @@ text) { return; } $l = "adresse\n"; - if ($a['current']) { + if ($a->hasFlag('current')) { $l .= 'actuelle'; - } elseif ($a['secondary']) { + } elseif ($a->hasFlag('secondary')) { $l .= 'secondaire'; } else { $l .= 'principale'; } - $r = utf8_decode($a['text']); -/* $r = trim("$r\n".$a['adr1']); - $r = trim("$r\n".$a['adr2']); - $r = trim("$r\n".$a['adr3']); - $r = trim("$r\n".trim($a['postcode'].' '.$a['city'])); -*/ - $this->TableRow($l, $r); -/* - if (!empty($a['tels'])) { - foreach ($a['tels'] as $tel) { - if (!empty($tel['tel'])) { - $this->TableRow(utf8_decode($tel['tel_type']), $tel['tel'], 'Mono'); - } - } - }*/ + $this->TableRow($l, utf8_decode($a->text)); + + foreach ($a->phones() as $phone) { + $this->TableRow(utf8_decode($phone->displayType()), + utf8_decode($phone->display), 'Mono'); + } } private function AddressPro($a) { - return; - - if ($a['entreprise']) { - $this->TableRow('Entreprise', $a['entreprise']); - } - - if ($a['adr1'] || $a['adr2'] || $a['adr3'] || $a['postcode'] || $a['city']) { - $r = ''; - $r = trim("$r\n".$a['adr1']); - $r = trim("$r\n".$a['adr2']); - $r = trim("$r\n".$a['adr3']); - $r = trim("$r\n".trim($a['postcode'].' '.$a['city'])); - $this->TableRow('adresse pro', $r); + if ($a->company) { + $this->TableRow('Entreprise', utf8_decode($a->company->name)); } - - if ($a['tel']) { - $this->TableRow(utf8_decode('Téléphone'), $a['tel'], 'Mono'); + if ($a->address()) { + $this->TableRow('adresse pro', utf8_decode($a->address()->text)); } - if ($a['fax']) { - $this->TableRow('Fax', $a['fax'], 'Mono'); + foreach ($a->phones() as $phone) { + $this->TableRow(utf8_decode($phone->displayType()), + utf8_decode($phone->display), 'Mono'); } } @@ -264,7 +244,7 @@ class ContactsPDF extends FPDF return $count; } - public static function AddContact(ContactsPDF $self, Profile &$profile, $wp = true) + public static function AddContact(ContactsPDF $self, Profile $profile, $wp = true) { /* infamous hack : 1- we store the current state. @@ -283,26 +263,29 @@ class ContactsPDF extends FPDF $ok = false; if ($wp) { - $photo = $profile->getPhoto(false); + $photo = $profile->getPhoto(false, true); if ($photo) { - $old2 = clone $self; - $width = $photo->width() * 20 / $photo->height(); - $_x = $self->getX(); - $_y = $self->getY(); - $self->Cell(0, 20, '', '', 0, '', 1); - error_reporting(0); - $mime = explode('/', $photo->mimeType()); - $self->Image($photo->path(), $_x, $_y, $width, 20, $mime[1]); - error_reporting($self->report); - - if ($self->error) { - $self = clone $old2; - } else { - $self->setX($_x); - $self->Cell($width, 20, '', "T"); - $h = 20 / $self->wordwrap($nom, 90 - $width); - $self->MultiCell(0, $h, $nom, 'T', 'C'); - $ok = true; + list(, $type) = explode('/', $photo->mimeType()); + $type = ($type == 'jpeg') ? 'jpg' : $type; + if (method_exists($self, '_parse' . $type)) { + $old2 = clone $self; + $width = $photo->width() * 20 / $photo->height(); + $_x = $self->getX(); + $_y = $self->getY(); + $self->Cell(0, 20, '', '', 0, '', 1); + error_reporting(0); + $self->Image($photo->path(), $_x, $_y, $width, 20, $type); + error_reporting($self->report); + + if ($self->error) { + $self = clone $old2; + } else { + $self->setX($_x); + $self->Cell($width, 20, '', "T"); + $h = 20 / $self->wordwrap($nom, 90 - $width); + $self->MultiCell(0, $h, $nom, 'T', 'C'); + $ok = true; + } } } } @@ -317,17 +300,11 @@ class ContactsPDF extends FPDF $it = $profile->iterAddresses(Profile::ADDRESS_ALL); while ($a = $it->next()) { - foreach ($a as &$value) { - $value = utf8_decode($value); - } $self->Space(); $self->Address($a); } - $it = $profile->iterAddresses(Profile::ADDRESS_PRO); - while ($a = $it->next()) { - foreach ($a as &$value) { - $value = utf8_decode($value); - } + $it = $profile->getJobs(Profile::JOBS_CURRENT); + foreach ($it as $a) { $self->Space(); $self->AddressPro($a); }