Uses user's visibility limitations to display vcards (Closes #1478).
authorStéphane Jacob <sj@m4x.org>
Thu, 28 Apr 2011 19:14:00 +0000 (21:14 +0200)
committerStéphane Jacob <sj@m4x.org>
Thu, 28 Apr 2011 19:14:00 +0000 (21:14 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
ChangeLog
include/vcard.inc.php

index cb997d1..5397244 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,7 @@ Bug/Wish:
 
     * Profile:
         - #1445: Add job entry year                                        -JAC
+        - #1478: Uses user's visibility limitations to display vcards      -JAC
 
     * Search:
         - #911: Adds search on corps                                       -JAC
index 57561c0..de0b49d 100644 (file)
@@ -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 = new ProfileVisibility(ProfileVisibility::VIS_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++;
@@ -182,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));