123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
-
- /**
- +-----------------------------------------------------------------------+
- | program/include/rcmail_output.php |
- | |
- | This file is part of the Roundcube PHP suite |
- | Copyright (C) 2005-2012 The Roundcube Dev Team |
- | |
- | Licensed under the GNU General Public License version 3 or |
- | any later version with exceptions for skins & plugins. |
- | See the README file for a full license statement. |
- | CONTENTS: |
- | Abstract class for output generation |
- | |
- +-----------------------------------------------------------------------+
- | Author: Thomas Bruederli <roundcube@gmail.com> |
- | Author: Aleksander Machniak <alec@alec.pl> |
- +-----------------------------------------------------------------------+
- */
-
- /**
- * Class for output generation
- *
- * @package Webmail
- * @subpackage View
- */
- abstract class rcmail_output extends rcube_output
- {
- const JS_OBJECT_NAME = 'rcmail';
- const BLANK_GIF = 'R0lGODlhDwAPAIAAAMDAwAAAACH5BAEAAAAALAAAAAAPAA8AQAINhI+py+0Po5y02otnAQA7';
-
- public $type = 'html';
- public $ajax_call = false;
- public $framed = false;
-
- protected $pagetitle = '';
- protected $object_handlers = array();
-
-
- /**
- * Object constructor
- */
- public function __construct($task = null, $framed = false)
- {
- parent::__construct();
- }
-
- /**
- * Setter for page title
- *
- * @param string $title Page title
- */
- public function set_pagetitle($title)
- {
- $this->pagetitle = $title;
- }
-
- /**
- * Getter for the current skin path property
- */
- public function get_skin_path()
- {
- return $this->config->get('skin_path');
- }
-
- /**
- * Delete all stored env variables and commands
- */
- public function reset()
- {
- parent::reset();
-
- $this->object_handlers = array();
- $this->pagetitle = '';
- }
-
- /**
- * Call a client method
- *
- * @param string Method to call
- * @param ... Additional arguments
- */
- abstract function command();
-
- /**
- * Add a localized label to the client environment
- */
- abstract function add_label();
-
- /**
- * Register a template object handler
- *
- * @param string Object name
- * @param string Function name to call
- * @return void
- */
- public function add_handler($obj, $func)
- {
- $this->object_handlers[$obj] = $func;
- }
-
- /**
- * Register a list of template object handlers
- *
- * @param array Hash array with object=>handler pairs
- * @return void
- */
- public function add_handlers($arr)
- {
- $this->object_handlers = array_merge($this->object_handlers, $arr);
- }
- }
|