summaryrefslogtreecommitdiffstats
path: root/apps/admin/lib/imap/IMAPServerInformation.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/admin/lib/imap/IMAPServerInformation.php')
-rw-r--r--apps/admin/lib/imap/IMAPServerInformation.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/apps/admin/lib/imap/IMAPServerInformation.php b/apps/admin/lib/imap/IMAPServerInformation.php
new file mode 100644
index 0000000..e185bae
--- /dev/null
+++ b/apps/admin/lib/imap/IMAPServerInformation.php
@@ -0,0 +1,63 @@
+<?php
+
+class IMAPServerInformation
+{
+ protected $imap = null;
+
+ public function __construct()
+ {
+ $this->imap = IMAPManager::getAdminConnection();
+ }
+
+ public function getGreeting()
+ {
+ return substr($this->imap->getGreeting(), 5);
+ }
+
+ public function getServerName()
+ {
+ return $this->imap->getServerName();
+ }
+
+ public function getServerVersion()
+ {
+ return $this->imap->getServerVersion();
+ }
+
+ public function hasCapability($name)
+ {
+ return $this->imap->hasCapability($name);
+ }
+
+ public function getCapabilties()
+ {
+ if(!($c = $this->imap->capability()))
+ $c = array();
+ return $c;
+ }
+
+ public function getHierarchyDelimiter()
+ {
+ return $this->imap->getHierarchyDelimiter();
+ }
+
+ public function getAvailableACL()
+ {
+ if(!$this->imap->hasCapability('ACL'))
+ return false;
+
+ return $this->imap->getAvailableACL();
+ }
+
+ public function getHost()
+ {
+ return substr($this->imap->getURI(), 0, strpos($this->imap->getURI(), ":"));
+ }
+
+ public function getPort()
+ {
+ return substr($this->imap->getURI(), strpos($this->imap->getURI(), ":")+1);
+ }
+}
+
+?>