]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
started moving views code into image library
authorCash Costello <cash.costello@gmail.com>
Wed, 26 Aug 2009 11:29:21 +0000 (11:29 +0000)
committerCash Costello <cash.costello@gmail.com>
Wed, 26 Aug 2009 11:29:21 +0000 (11:29 +0000)
lib/image.php

index 7986335ed218810a16e51d8633465006c5368995..f09377b64719905efa60e8748a4c01d938b5d2ea 100644 (file)
                        parent::__construct($guid);
                }
                
+               /**
+                * Has the photo been tagged with "in this photo" tags
+                *
+                * @return true/false
+                */
                public function isPhotoTagged()
                {
                        $num_tags = count_annotations($this->getGUID(), 'object', 'image', 'phototag');
                                return false;
                }
                
+               /**
+                * Get an array of photo tag information
+                *
+                * @return array of json representations of the tags and the tag link text
+                */
                public function getPhotoTags() 
                {
                        global $CONFIG;
                        $ret_data = array('json' => $photo_tags_json, 'links' => $photo_tag_links);
                        return $ret_data;
                }
+               
+               /**
+                * 
+                */
+               public function getViews($viewer_guid)
+               {
+                       $views_a = get_annotations($this->getGUID(), "object", "image", "tp_view", "", 0, 9999);
+                       $total_views = count($views_a);
+                       
+                       if ($this->owner_guid == $viewer_guid)
+                       {
+                               // get unique number of viewers
+                               foreach ($views_a as $view)
+                               {
+                                       $diff_viewers[$view->owner_guid] = 1;
+                               }
+                               $unique_viewers = count($diff_viewers);
+                       } 
+                       else if ($viewer_guid) 
+                       {
+                               // get the number of times this user has viewed the photo
+                               $my_views = 0;
+                               foreach ($views_a as $view)
+                               {
+                                       if ($view->owner_guid == $viewer_guid)
+                                               $my_views++;
+                               }
+                       }
+                       
+                       $view_info = array("total" => $total_views, "unique" => $unique_viewers, "mine" => $my_views);
+                       
+                       return $view_info;
+               }
+               
+               public function addView($viewer_guid)
+               {
+                       if ($viewer_guid != $this->owner_guid)
+                               create_annotation($this->getGUID(), "tp_view", "1", "integer", $viewer_guid, ACCESS_PUBLIC);
+               }
        }
        
 ?>
\ No newline at end of file