Overview

Packages

  • Ansel
  • None

Classes

  • Ansel
  • Ansel_Ajax_Application
  • Ansel_Ajax_Imple_EditCaption
  • Ansel_Ajax_Imple_EditFaces
  • Ansel_Ajax_Imple_EditGalleryFaces
  • Ansel_Ajax_Imple_Embed
  • Ansel_Ajax_Imple_GallerySlugCheck
  • Ansel_Ajax_Imple_ImageSaveGeotag
  • Ansel_Ajax_Imple_LocationAutoCompleter
  • Ansel_Ajax_Imple_MapLayerSelect
  • Ansel_Ajax_Imple_TagActions
  • Ansel_Ajax_Imple_ToggleGalleryActions
  • Ansel_Ajax_Imple_ToggleOtherGalleries
  • Ansel_Ajax_Imple_UploadNotification
  • Ansel_Api
  • Ansel_Exception
  • Ansel_Faces
  • Ansel_Faces_Base
  • Ansel_Faces_Facedetect
  • Ansel_Faces_User
  • Ansel_Factory_Faces
  • Ansel_Factory_Storage
  • Ansel_Factory_Styles
  • Ansel_Form_Ecard
  • Ansel_Form_Image
  • Ansel_Form_ImageDate
  • Ansel_Form_Upload
  • Ansel_Gallery
  • Ansel_Gallery_Decorator_Date
  • Ansel_GalleryMode_Base
  • Ansel_GalleryMode_Date
  • Ansel_GalleryMode_Normal
  • Ansel_Image
  • Ansel_ImageGenerator
  • Ansel_ImageGenerator_Mini
  • Ansel_ImageGenerator_PolaroidThumb
  • Ansel_ImageGenerator_PolaroidThumbStack
  • Ansel_ImageGenerator_RoundedThumb
  • Ansel_ImageGenerator_RoundedThumbStack
  • Ansel_ImageGenerator_Screen
  • Ansel_ImageGenerator_ShadowThumb
  • Ansel_ImageGenerator_ShadowThumbStack
  • Ansel_ImageGenerator_SquareThumb
  • Ansel_ImageGenerator_Thumb
  • Ansel_LoginTasks_SystemTask_Upgrade
  • Ansel_Report
  • Ansel_Report_letter
  • Ansel_Report_mail
  • Ansel_Report_tickets
  • Ansel_Search
  • Ansel_Search_exif
  • Ansel_Search_Tag
  • Ansel_Storage
  • Ansel_Style
  • Ansel_Tagger
  • Ansel_Test
  • Ansel_Tile_DateGallery
  • Ansel_Tile_Gallery
  • Ansel_Tile_Image
  • Ansel_View_Ansel
  • Ansel_View_Base
  • Ansel_View_EmbeddedRenderer_GalleryLink
  • Ansel_View_EmbeddedRenderer_Mini
  • Ansel_View_EmbeddedRenderer_Slideshow
  • Ansel_View_Gallery
  • Ansel_View_GalleryProperties
  • Ansel_View_GalleryRenderer_Base
  • Ansel_View_GalleryRenderer_Gallery
  • Ansel_View_GalleryRenderer_GalleryLightbox
  • Ansel_View_Image
  • Ansel_View_List
  • Ansel_View_Results
  • Ansel_View_Slideshow
  • Ansel_View_Upload
  • Ansel_Widget
  • Ansel_Widget_Actions
  • Ansel_Widget_Base
  • Ansel_Widget_GalleryFaces
  • Ansel_Widget_Geotag
  • Ansel_Widget_ImageFaces
  • Ansel_Widget_Links
  • Ansel_Widget_OtherGalleries
  • Ansel_Widget_OwnerFaces
  • Ansel_Widget_SimilarPhotos
  • Ansel_Widget_Tags
  • Ansel_XPPublisher
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Ansel_Widget_OwnerFaces:: class to display a widget containing mini
 4:  * thumbnails of faces that have been tagged by the gallery owner.
 5:  *
 6:  * @author Duck <duck@obala.net>
 7:  * @package Ansel
 8:  */
 9: class Ansel_Widget_OwnerFaces extends Ansel_Widget_Base
10: {
11:     protected $_faces;
12:     protected $_count;
13:     protected $_owner;
14: 
15:     /**
16:      * Return the HTML representing this widget.
17:      *
18:      * @return string  The HTML for this widget.
19:      */
20:     public function html()
21:     {
22:         if (!$GLOBALS['conf']['faces']['driver']) {
23:             return '';
24:         }
25: 
26:         $this->_faces = $GLOBALS['injector']->getInstance('Ansel_Faces');
27:         $this->_owner = $this->_view->gallery->get('owner');
28:         try {
29:             $this->_count = $this->_faces->countOwnerFaces($this->_owner);
30:         } catch (Horde_Exception $e) {
31:             Horde::logMessage($e->getMessage(), 'ERR');
32:             $this->_count = 0;
33:         }
34:         if (empty($this->_count)) {
35:             return null;
36:         }
37: 
38:         $this->_title = Horde::url('faces/search/owner.php')->add('owner', $this->_owner)->link()
39:             . sprintf(_("People in galleries owned by %s (%d of %d)"), $this->_owner, min(12, $this->_count), number_format($this->_count))
40:             . '</a>';
41: 
42:         $html = $this->_htmlBegin();
43: 
44:         $results = $this->_faces->ownerFaces($this->_owner, 0, 12, true);
45:         $html .= '<div style="display: block'
46:             . ';background:' . $this->_style->background
47:             . ';width:100%;max-height:300px;overflow:auto;" id="faces_widget_content" >';
48:         foreach ($results as $face) {
49:             $facename = htmlspecialchars($face['face_name']);
50:             $html .= '<a href="' . Ansel_Faces::getLink($face) . '" title="' . $facename . '">'
51:                     . '<img src="' . $this->_faces->getFaceUrl($face['image_id'], $face['face_id'], 'mini')
52:                     . '" style="padding-bottom: 5px; padding-left: 5px" alt="' . $facename . '" /></a>';
53:         }
54: 
55:         return $html . '</div>' . $this->_htmlEnd();
56:     }
57: }
58: 
API documentation generated by ApiGen