Overview

Packages

  • Horde
    • Icalendar
      • UnitTests
  • Ingo
    • UnitTests
  • None

Classes

  • Horde_Core_Ui_VarRenderer_Ingo
  • Ingo
  • Ingo_Api
  • Ingo_Exception
  • Ingo_Exception_Pear
  • Ingo_LoginTasks_SystemTask_Upgrade
  • Ingo_Script
  • Ingo_Script_Imap
  • Ingo_Script_Imap_Api
  • Ingo_Script_Imap_Live
  • Ingo_Script_Maildrop
  • Ingo_Script_Maildrop_Comment
  • Ingo_Script_Maildrop_Recipe
  • Ingo_Script_Maildrop_Variable
  • Ingo_Script_Procmail
  • Ingo_Script_Procmail_Comment
  • Ingo_Script_Procmail_Recipe
  • Ingo_Script_Procmail_Variable
  • Ingo_Script_Sieve
  • Ingo_Script_Sieve_Action
  • Ingo_Script_Sieve_Action_Addflag
  • Ingo_Script_Sieve_Action_Discard
  • Ingo_Script_Sieve_Action_Fileinto
  • Ingo_Script_Sieve_Action_Flag
  • Ingo_Script_Sieve_Action_Keep
  • Ingo_Script_Sieve_Action_Notify
  • Ingo_Script_Sieve_Action_Redirect
  • Ingo_Script_Sieve_Action_Reject
  • Ingo_Script_Sieve_Action_Removeflag
  • Ingo_Script_Sieve_Action_Stop
  • Ingo_Script_Sieve_Action_Vacation
  • Ingo_Script_Sieve_Comment
  • Ingo_Script_Sieve_Else
  • Ingo_Script_Sieve_Elsif
  • Ingo_Script_Sieve_If
  • Ingo_Script_Sieve_Test
  • Ingo_Script_Sieve_Test_Address
  • Ingo_Script_Sieve_Test_Allof
  • Ingo_Script_Sieve_Test_Anyof
  • Ingo_Script_Sieve_Test_Body
  • Ingo_Script_Sieve_Test_Exists
  • Ingo_Script_Sieve_Test_False
  • Ingo_Script_Sieve_Test_Header
  • Ingo_Script_Sieve_Test_Not
  • Ingo_Script_Sieve_Test_Relational
  • Ingo_Script_Sieve_Test_Size
  • Ingo_Script_Sieve_Test_True
  • Ingo_Storage
  • Ingo_Storage_Blacklist
  • Ingo_Storage_Filters
  • Ingo_Storage_Filters_Sql
  • Ingo_Storage_Forward
  • Ingo_Storage_Mock
  • Ingo_Storage_Prefs
  • Ingo_Storage_Rule
  • Ingo_Storage_Spam
  • Ingo_Storage_Sql
  • Ingo_Storage_Vacation
  • Ingo_Storage_VacationTest
  • Ingo_Storage_Whitelist
  • Ingo_Test
  • Ingo_Transport
  • Ingo_Transport_Ldap
  • Ingo_Transport_Null
  • Ingo_Transport_Sivtest
  • Ingo_Transport_Timsieved
  • Ingo_Transport_Vfs
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Ingo_Transport defines an API to activate filter scripts on a server.
 4:  *
 5:  * See the enclosed file LICENSE for license information (ASL).  If you
 6:  * did not receive this file, see http://www.horde.org/licenses/apache.
 7:  *
 8:  * @author  Mike Cochrane <mike@graftonhall.co.nz>
 9:  * @package Ingo
10:  */
11: class Ingo_Transport
12: {
13:     /**
14:      * Driver specific parameters
15:      *
16:      * @var array
17:      */
18:     protected $_params = array(
19:         'username' => null,
20:         'password' => null
21:     );
22: 
23:     /**
24:      * Whether this driver allows managing other users' rules.
25:      *
26:      * @var boolean
27:      */
28:     protected $_support_shares = false;
29: 
30:     /**
31:      * Attempts to return a concrete instance based on $driver.
32:      *
33:      * @param string $driver  The type of concrete subclass to return.
34:      * @param array $params   A hash containing any additional configuration
35:      *                        or connection parameters a subclass might need.
36:      *
37:      * @return Ingo_Transport  The newly created concrete instance.
38:      * @throws Ingo_Exception
39:      */
40:     static public function factory($driver, $params = array())
41:     {
42:         $class = __CLASS__ . '_' . ucfirst(basename($driver));
43: 
44:         if (class_exists($class)) {
45:             return new $class($params);
46:         }
47: 
48:         throw new Ingo_Exception('Could not load driver.');
49:     }
50: 
51:     /**
52:      * Constructor.
53:      */
54:     public function __construct($params = array())
55:     {
56:         $this->_params = array_merge($this->_params, $params);
57:     }
58: 
59:     /**
60:      * Sets a script running on the backend.
61:      *
62:      * @param string $script     The filter script.
63:      * @param array $additional  Any additional scripts that need to uploaded.
64:      *
65:      * @return boolean  True on success, false if script can't be activated.
66:      * @throws Ingo_Exception
67:      */
68:     public function setScriptActive($script, $additional = array())
69:     {
70:         return false;
71:     }
72: 
73:     /**
74:      * Returns whether the driver supports managing other users' rules.
75:      *
76:      * @return boolean  True if the driver supports shares.
77:      */
78:     public function supportShares()
79:     {
80:         return ($this->_support_shares &&
81:                 $GLOBALS['session']->get('ingo', 'backend/shares'));
82:     }
83: 
84: }
85: 
API documentation generated by ApiGen