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:  * Reporting abstraction class
  4:  *
  5:  * Copyright 2008-2012 Horde LLC (http://www.horde.org/)
  6:  *
  7:  * See the enclosed file COPYING for license information (GPL). If you
  8:  * did not receive this file, see http://www.horde.org/licenses/gpl.
  9:  *
 10:  * Copyright 2008-2012 Horde LLC (http://www.horde.org/)
 11:  *
 12:  * See the enclosed file COPYING for license information (GPL). If you
 13:  * did not receive this file, see http://www.horde.org/licenses/gpl.
 14:  *
 15:  * @author  Duck <duck@obala.net>
 16:  * @package Ansel
 17:  */
 18: class Ansel_Report {
 19: 
 20:     var $_title = '';
 21: 
 22:     /**
 23:      * Create instance
 24:      */
 25:     function factory($driver = null, $params = array())
 26:     {
 27:         if ($driver === null) {
 28:             $driver = $GLOBALS['conf']['report_content']['driver'];
 29:         }
 30: 
 31:         if (empty($params)) {
 32:             $params = $GLOBALS['conf']['report_content'];
 33:         }
 34: 
 35:         $class_name = 'Ansel_Report_' . $driver;
 36:         if (!class_exists($class_name)) {
 37:             return PEAR::RaiseError(_("Report driver does not exist."));
 38:         }
 39: 
 40:         $report = new $class_name($params);
 41: 
 42:         return $report;
 43:     }
 44: 
 45:     /**
 46:      * Get reporting user email
 47:      */
 48:     function getUserEmail()
 49:     {
 50:         return $this->_getUserEmail();
 51:     }
 52: 
 53:     /**
 54:      * Get user email
 55:      */
 56:     function _getUserEmail($user = null)
 57:     {
 58:         return $GLOBALS['injector']->getInstance('Horde_Core_Factory_Identity')->create($user)->getValue('from_addr');
 59:     }
 60: 
 61:     /**
 62:      * Get scope admins
 63:      */
 64:     function getAdmins()
 65:     {
 66:         $name = $GLOBALS['registry']->getApp() . ':admin';
 67: 
 68:         if ($GLOBALS['injector']->getInstance('Horde_Perms')->exists($name)) {
 69:             return array();
 70:         }
 71: 
 72:         $permission = $GLOBALS['injector']->getInstance('Horde_Perms')->getPermission($name);
 73: 
 74:         return $permission->getUserPermissions(PERM_DELETE);
 75:     }
 76: 
 77:     /**
 78:      * Set title
 79:      */
 80:     function setTitle($title)
 81:     {
 82:         $this->_title = $title;
 83:     }
 84: 
 85:     /**
 86:      * Get report message title
 87:      */
 88:     function getTitle()
 89:     {
 90:         if (empty($this->_title)) {
 91:             return sprintf(_("Content abuse report in %s"), $GLOBALS['registry']->get('name'));
 92:         } else {
 93:             return $this->_title;
 94:         }
 95:     }
 96: 
 97:     /**
 98:      * Get report message content
 99:      */
100:     function getMessage($message)
101:     {
102:         $message .=  "\n\n" . _("Report by user") . ': ' . $GLOBALS['registry']->getAuth()
103:                  . ' (' . $_SERVER['REMOTE_ADDR'] . ')';
104: 
105:         return $message;
106:     }
107: 
108:     /**
109:      * Report
110:      *
111:      * @param string $message to pass
112:      */
113:     function report($message, $users = array())
114:     {
115:         return PEAR::raiseError(_("Unsupported"));
116:     }
117: }
118: 
API documentation generated by ApiGen