X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvcard.inc.php;h=b544ef125f326fe257a3e65846c23b9acd5e750a;hb=4bd9c76e6cde6b4bdd63d5ea4546c42f9710325a;hp=ddaa4208f34cf64a836ea30b357c25ef98f6c055;hpb=801adeec34eada13769fd991c99026c824bbdef3;p=platal.git diff --git a/include/vcard.inc.php b/include/vcard.inc.php index ddaa420..b544ef1 100644 --- a/include/vcard.inc.php +++ b/include/vcard.inc.php @@ -25,17 +25,19 @@ class VCard extends PlVCard private $count = 0; private $freetext = null; private $photos = true; + private $visibility; public function __construct($photos = true, $freetext = null) { PlVCard::$folding = false; + $this->visibility = Visibility::defaultForRead(Visibility::VIEW_PRIVATE); $this->freetext = $freetext; $this->photos = $photos; } public function addProfile($profile) { - $profile = Profile::get($profile, Profile::FETCH_ALL); + $profile = Profile::get($profile, Profile::FETCH_ALL, $this->visibility); if ($profile) { $this->profile_list[] = $profile; $this->count++; @@ -75,9 +77,10 @@ class VCard extends PlVCard // Emails if (!is_null($user)) { $entry->addMail(null, $user->bestalias, true); - $entry->addMail(null, $user->bestalias_alternate); if ($user->forlife != $user->bestalias) { $entry->addMail(null, $user->forlife); + } + if ($user->forlife_alternate != $user->bestalias) { $entry->addMail(null, $user->forlife_alternate); } } @@ -144,7 +147,7 @@ class VCard extends PlVCard // Melix if (!is_null($user)) { - $alias = $user->emailAliases(); + $alias = $user->emailAlias(); if (!is_null($alias) && $pf->alias_pub == 'public') { $entry->addMail(null, $alias); } @@ -181,8 +184,9 @@ class VCard extends PlVCard if ($this->photos) { $res = XDB::query( "SELECT attach, attachmime - FROM profile_photos AS p - WHERE p.pid = {?}", $pf->id()); + FROM profile_photos + WHERE pid = {?} AND pub IN ('public', {?})", + $pf->id(), $this->visibility->level()); if ($res->numRows()) { list($data, $type) = $res->fetchOneRow(); $entry->setPhoto($data, strtoupper($type));