Example #1
0
 /**
  * Returns IMAP server vendor name
  *
  * @return string Vendor name
  * @since 1.2
  */
 public function get_vendor()
 {
     if ($_SESSION['imap_vendor'] !== null) {
         return $_SESSION['imap_vendor'];
     }
     $config = rcube::get_instance()->config;
     $imap_vendor = $config->get('imap_vendor');
     if ($imap_vendor) {
         return $imap_vendor;
     }
     if (!$this->check_connection()) {
         return;
     }
     if (($ident = $this->conn->data['ID']) === null) {
         $ident = $this->conn->id(array('name' => 'Roundcube', 'version' => RCUBE_VERSION, 'php' => PHP_VERSION, 'os' => PHP_OS));
     }
     $vendor = (string) (!empty($ident) ? $ident['name'] : '');
     $ident = strtolower($vendor . ' ' . $this->conn->data['GREETING']);
     $vendors = array('cyrus', 'dovecot', 'uw-imap', 'gmail', 'hmail');
     foreach ($vendors as $v) {
         if (strpos($ident, $v) !== false) {
             $vendor = $v;
             break;
         }
     }
     return $_SESSION['imap_vendor'] = $vendor;
 }