diff options
author | Sarven Capadisli <csarven@status.net> | 2010-01-13 21:13:21 +0000 |
---|---|---|
committer | Sarven Capadisli <csarven@status.net> | 2010-01-13 21:13:21 +0000 |
commit | 25ed2d2c872e59fd99b54fdf0dec1ca448feca00 (patch) | |
tree | 8d882d0d647b09ec2e060d0bdb20646b8a505cf1 /plugins/Imap/ImapPlugin.php | |
parent | 5d88e6435f5b6725c09480a7d7cd4a8a80a62202 (diff) | |
parent | d018ab7b0ce907a2400d7cd2294362e4d85f4717 (diff) |
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Diffstat (limited to 'plugins/Imap/ImapPlugin.php')
-rw-r--r-- | plugins/Imap/ImapPlugin.php | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/plugins/Imap/ImapPlugin.php b/plugins/Imap/ImapPlugin.php index d9768b680..89a775a16 100644 --- a/plugins/Imap/ImapPlugin.php +++ b/plugins/Imap/ImapPlugin.php @@ -46,8 +46,6 @@ class ImapPlugin extends Plugin public $user; public $password; public $poll_frequency = 60; - public static $instances = array(); - public static $daemon_added = array(); function initialize(){ if(!isset($this->mailbox)){ @@ -63,24 +61,34 @@ class ImapPlugin extends Plugin throw new Exception("must specify a poll_frequency"); } - self::$instances[] = $this; return true; } - function cleanup(){ - $index = array_search($this, self::$instances); - unset(self::$instances[$index]); - return true; + /** + * Load related modules when needed + * + * @param string $cls Name of the class to be loaded + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'ImapManager': + case 'IMAPMailHandler': + include_once $dir . '/'.strtolower($cls).'.php'; + return false; + default: + return true; + } } - function onGetValidDaemons($daemons) + function onStartIoManagerClasses(&$classes) { - if(! self::$daemon_added){ - array_push($daemons, INSTALLDIR . - '/plugins/Imap/imapdaemon.php'); - self::$daemon_added = true; - } - return true; + $classes[] = new ImapManager($this); } function onPluginVersion(&$versions) |