summaryrefslogtreecommitdiffstats
path: root/apps/admin/lib/imap/IMAPManager.php
diff options
context:
space:
mode:
authorGravatar mszulecki2007-06-14 17:09:01 +0000
committerGravatar mszulecki2007-06-14 17:09:01 +0000
commit9f108dd1a969473375341d92a7b1252fa2cedc9a (patch)
treed5f2e35ec0bd2d52dab0ee3282fc6751e0fa8dba /apps/admin/lib/imap/IMAPManager.php
parente35884d11b81e4e4bbd73e1882e2b8011e85d118 (diff)
downloadmailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.gz
mailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.bz2
Initial import.
git-svn-id: http://svn.sukimashita.com/repos/mailadmin/trunk@2 4281df72-ff29-0410-8fee-2d9ac0c5f5a7
Diffstat (limited to 'apps/admin/lib/imap/IMAPManager.php')
-rw-r--r--apps/admin/lib/imap/IMAPManager.php48
1 files changed, 48 insertions, 0 deletions
diff --git a/apps/admin/lib/imap/IMAPManager.php b/apps/admin/lib/imap/IMAPManager.php
new file mode 100644
index 0000000..0cac78a
--- /dev/null
+++ b/apps/admin/lib/imap/IMAPManager.php
@@ -0,0 +1,48 @@
+<?php
+
+class IMAPManager
+{
+ protected static $adminclient = null;
+ public static function getAdminConnection()
+ {
+ // exists
+ if(self::$adminclient != null)
+ return self::$adminclient;
+
+ // create new instance
+ $server_settings = sfConfig::get('app_server_default');
+ $imap_settings = $server_settings['imap'];
+ self::$adminclient = new $imap_settings['client'];
+
+ // login
+ try
+ {
+ self::$adminclient->openConnection(
+ $imap_settings['host'].":".
+ $imap_settings['port']
+ );
+
+ $success = self::$adminclient->login(
+ $imap_settings['admin'],
+ $imap_settings['pass']
+ );
+
+ if(!$success)
+ throw new Exception("Failed to authenticate on IMAP server.");
+
+ } catch (Exception $e) {
+ LogEntryPeer::log($e->getMessage(), LogEntry::PRIO_ALERT);
+ }
+
+ return self::$adminclient;
+ }
+
+ public static function getAdminUsername()
+ {
+ $server_settings = sfConfig::get('app_server_default');
+ $imap_settings = $server_settings['imap'];
+ return $imap_settings['admin'];
+ }
+}
+
+?>