summaryrefslogtreecommitdiff
path: root/plugins/Imap/ImapPlugin.php
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2010-01-13 21:13:21 +0000
committerSarven Capadisli <csarven@status.net>2010-01-13 21:13:21 +0000
commit25ed2d2c872e59fd99b54fdf0dec1ca448feca00 (patch)
tree8d882d0d647b09ec2e060d0bdb20646b8a505cf1 /plugins/Imap/ImapPlugin.php
parent5d88e6435f5b6725c09480a7d7cd4a8a80a62202 (diff)
parentd018ab7b0ce907a2400d7cd2294362e4d85f4717 (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.php36
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)