%PDF- %PDF-
Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/ |
Current File : //www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/enum.php |
<?php /* * Copyright 2004-2014, AfterLogic Corp. * Licensed under AGPLv3 license or AfterLogic license * if commercial version of the product was purchased. * See the LICENSE file for a full license statement. */ /** * @package Api * @subpackage Enum */ abstract class AEnumeration { /** * @var array */ protected $aConsts = array(); /** * * @return array */ public function GetMap() { return $this->aConsts; } } /** * @package Api * @subpackage Enum */ class EnumConvert { /** * @staticvar array $aClasses * @param string $sClassName * @return array */ protected static function GetInst($sClassName) { static $aClasses = array(); if (!isset($aClasses[$sClassName]) && class_exists($sClassName)) { $aClasses[$sClassName] = new $sClassName; } return (isset($aClasses[$sClassName])) ? $aClasses[$sClassName]->GetMap() : array(); } /** * @param mixed $mValue * @param string $sClassName * @return int */ static function Validate($mValue, $sClassName) { $aConsts = EnumConvert::GetInst($sClassName); $sResult = null; foreach ($aConsts as $mEnumValue) { if ($mValue === $mEnumValue) { $sResult = $mValue; break; } } return $sResult; } /** * @param mixed $mValue * @param string $sClassName * @return int */ public static function FromXml($sXmlValue, $sClassName) { $aConsts = EnumConvert::GetInst($sClassName); $niResult = null; if (isset($aConsts[$sXmlValue])) { $niResult = $aConsts[$sXmlValue]; } return EnumConvert::Validate($niResult, $sClassName); } /** * @param mixed $mValue * @param string $sClassName * @return int */ public static function FromPost($sXmlValue, $sClassName) { return self::FromXml($sXmlValue, $sClassName); } /** * @param mixed $mValue * @param string $sClassName * @return string */ public static function ToXml($mValue, $sClassName) { $aConsts = EnumConvert::GetInst($sClassName); $sResult = ''; foreach ($aConsts as $sKey => $mEnumValue) { if ($mValue === $mEnumValue) { $sResult = $sKey; break; } } return $sResult; } /** * @param mixed $mValue * @param string $sClassName * @return string */ public static function ToPost($mValue, $sClassName) { return self::ToXml($mValue, $sClassName); } } /** * @package Api * @subpackage Enum */ class ELogLevel extends AEnumeration { const Full = 100; const Warning = 50; const Error = 20; const Spec = 10; /** * @var array */ protected $aConsts = array( 'Full' => self::Full, 'Warning' => self::Warning, 'Error' => self::Error, 'Spec' => self::Spec, ); } /** * @package Api * @subpackage Enum */ class EDbType extends AEnumeration { const MySQL = 3; const PostgreSQL = 4; /** * @var array */ protected $aConsts = array( 'MySQL' => self::MySQL, 'PostgreSQL' => self::PostgreSQL ); } /** * @package Api * @subpackage Enum */ class EHelpdeskFetcherType extends AEnumeration { const NONE = 0; const REPLY = 1; const ALL = 2; /** * @var array */ protected $aConsts = array( 'NONE' => self::NONE, 'REPLY' => self::REPLY, 'ALL' => self::ALL ); } /** * @package Api * @subpackage Enum */ class EMailProtocol extends AEnumeration { const POP3 = 0; const IMAP4 = 1; /** * @var array */ protected $aConsts = array( 'POP3' => self::POP3, 'IMAP4' => self::IMAP4 ); } /** * @package Api * @subpackage Enum */ class ESMTPAuthType extends AEnumeration { const NoAuth = 0; const AuthSpecified = 1; const AuthCurrentUser = 2; /** * @var array */ protected $aConsts = array( 'NoAuth' => self::NoAuth, 'AuthSpecified' => self::AuthSpecified, 'AuthCurrentUser' => self::AuthCurrentUser ); } /** * @package Api * @subpackage Enum */ class ESendingMethod extends AEnumeration { const Local = 0; const Specified = 1; const PhpMail = 2; /** * @var array */ protected $aConsts = array( 'Local' => self::Local, 'Specified' => self::Specified, 'PhpMail' => self::PhpMail ); } /** * @package Api * @subpackage Enum */ class ETimeFormat extends AEnumeration { const F12 = 1; const F24 = 0; /** * @var array */ protected $aConsts = array( 'F12' => self::F12, 'F24' => self::F24 ); } /** * @package Api * @subpackage Enum */ class EDateFormat extends AEnumeration { const DD_MONTH_YYYY = 'DD Month YYYY'; const MMDDYYYY = 'MM/DD/YYYY'; const DDMMYYYY = 'DD/MM/YYYY'; const MMDDYY = 'MM/DD/YY'; const DDMMYY = 'DD/MM/YY'; /** * @var array */ protected $aConsts = array( 'DD Month YYYY' => self::DD_MONTH_YYYY, 'MM/DD/YYYY' => self::MMDDYYYY, 'DD/MM/YYYY' => self::DDMMYYYY, 'MM/DD/YY' => self::MMDDYY, 'DD/MM/YY' => self::DDMMYY ); } /** * @package Api * @subpackage Enum */ class ELayout extends AEnumeration { const Side = 0; const Bottom = 1; /** * @var array */ protected $aConsts = array( 'Side' => self::Side, 'Bottom' => self::Bottom ); } /** * @package Api * @subpackage Enum */ class ESaveMail extends AEnumeration { const Always = 0; const DefaultOn = 1; const DefaultOff = 2; /** * @var array */ protected $aConsts = array( 'Always' => self::Always, 'DefaultOn' => self::DefaultOn, 'DefaultOff' => self::DefaultOff ); } /** * @package Api * @subpackage Enum */ class ELoginFormType extends AEnumeration { const Email = 0; const Login = 3; const Both = 4; /** * @var array */ protected $aConsts = array( 'Email' => self::Email, 'Login' => self::Login, 'Both' => self::Both ); } /** * @package Api * @subpackage Enum */ class ELoginSignMeType extends AEnumeration { const DefaultOff = 0; const DefaultOn = 1; const Unuse = 2; /** * @var array */ protected $aConsts = array( 'DefaultOff' => self::DefaultOff, 'DefaultOn' => self::DefaultOn, 'Unuse' => self::Unuse ); } /** * @package Api * @subpackage Enum */ class EImapSortUsage extends AEnumeration { const Always = 0; const DateOnly = 1; const Never = 2; /** * @var array */ protected $aConsts = array( 'Always' => self::Always, 'DateOnly' => self::DateOnly, 'Never' => self::Never ); } /** * @package Api * @subpackage Enum */ class EContactsGABVisibility extends AEnumeration { const Off = 0; const DomainWide = 1; const SystemWide = 2; const TenantWide = 3; /** * @var array */ protected $aConsts = array( 'Off' => self::Off, 'DomainWide' => self::DomainWide, 'SystemWide' => self::SystemWide, 'TenantWide' => self::TenantWide ); } /** * @package Api * @subpackage Enum */ class ECalendarDefaultWorkDay { const Starts = 9; const Ends = 17; } /** * @package Api * @subpackage Enum */ class ECalendarWeekStartOn extends AEnumeration { const Saturday = 6; const Sunday = 0; const Monday = 1; /** * @var array */ protected $aConsts = array( 'Saturday' => self::Saturday, 'Sunday' => self::Sunday, 'Monday' => self::Monday ); } /** * @package Api * @subpackage Enum */ class ECalendarDefaultTab extends AEnumeration { const Day = 1; const Week = 2; const Month = 3; /** * @var array */ protected $aConsts = array( 'Day' => self::Day, 'Week' => self::Week, 'Month' => self::Month ); } /** * @package Api * @subpackage Enum */ class EFolderType extends AEnumeration { const Inbox = 1; const Sent = 2; const Drafts = 3; const Spam = 4; const Trash = 5; const Virus = 6; const System = 9; const Custom = 10; /** * @var array */ protected $aConsts = array( 'Inbox' => self::Inbox, 'Sent' => self::Sent, 'Drafts' => self::Drafts, 'Spam' => self::Spam, 'Trash' => self::Trash, 'Quarantine' => self::Virus, 'System' => self::System, 'Custom' => self::Custom ); } /** * @package Api * @subpackage Enum */ class EPrimaryEmailType extends AEnumeration { const Home = 0; const Business = 1; const Other = 2; /** * @var array */ protected $aConsts = array( 'Home' => self::Home, 'Business' => self::Business, 'Other' => self::Other ); } /** * @package Api * @subpackage Enum */ class ESortOrder extends AEnumeration { const ASC = 0; const DESC = 1; /** * @var array */ protected $aConsts = array( 'ASC' => self::ASC, 'DESC' => self::DESC ); } /** * @package Api * @subpackage Enum */ class ECapa extends AEnumeration { const WEBMAIL = 'WEBMAIL'; const CALENDAR = 'CALENDAR'; const CAL_SHARING = 'CAL_SHARING'; const CONTACTS_SHARING = 'CONTACTS_SHARING'; const MEETINGS = 'MEETINGS'; const PAB = 'PAB'; const GAB = 'GAB'; const FILES = 'FILES'; const VOICE = 'VOICE'; const SIP = 'SIP'; const TWILIO = 'TWILIO'; const HELPDESK = 'HELPDESK'; const MOBILE_SYNC = 'MOBILE_SYNC'; const OUTLOOK_SYNC = 'OUTLOOK_SYNC'; const NO = 'NO'; } /** * @package Api * @subpackage Enum */ class ETenantCapa extends AEnumeration { const SIP = 'SIP'; const TWILIO = 'TWILIO'; const FILES = 'FILES'; const HELPDESK = 'HELPDESK'; } /** * @package Api * @subpackage Enum */ class ECalendarPermission extends AEnumeration { const RemovePermission = -1; const Write = 1; const Read = 2; /** * @var array */ protected $aConsts = array( 'RemovePermission' => self::RemovePermission, 'Write' => self::Write, 'Read' => self::Read ); } /** * @package Api * @subpackage Enum */ class EFileStorageType extends AEnumeration { const Personal = 0; const Corporate = 1; const Shared = 2; /** * @var array */ protected $aConsts = array( 'Personal' => self::Personal, 'Corporate' => self::Corporate, 'Shared' => self::Shared ); } /** * @package Api * @subpackage Enum */ class EPeriod extends AEnumeration { const Secondly = 'secondly'; const Minutely = 'minutely'; const Hourly = 'hourly'; const Daily = 'daily'; const Weekly = 'weekly'; const Monthly = 'monthly'; const Yearly = 'yearly'; /** * @var array */ protected $aConsts = array( 'Secondly' => self::Secondly, 'Minutely' => self::Minutely, 'Hourly' => self::Hourly, 'Daily' => self::Daily, 'Weekly' => self::Weekly, 'Monthly' => self::Monthly, 'Yearly' => self::Yearly ); } /** * @package Api * @subpackage Enum */ class EAttendeeStatus extends AEnumeration { const Unknown = 0; const Accepted = 1; const Declined = 2; const Tentative = 3; /** * @var array */ protected $aConsts = array( 'Unknown' => self::Unknown, 'Accepted' => self::Accepted, 'Declined' => self::Declined, 'Tentative' => self::Tentative ); } /** * @package Api * @subpackage Enum */ class EEvents extends AEnumeration { const LoginSuccess = 'login-success'; const LoginFailed = 'login-failed'; const Logout = 'logout'; const MessageSend = 'message-send'; } /** * @package Api * @subpackage Enum */ class EFileStorageLinkType extends AEnumeration { const Unknown = 0; const GoogleDrive = 1; const DropBox = 2; /** * @var array */ protected $aConsts = array( 'Unknown' => self::Unknown, 'GoogleDrive' => self::GoogleDrive, 'DropBox' => self::DropBox ); } /** * @package Api * @subpackage Enum */ class ESocialType extends AEnumeration { const Unknown = 0; const Google = 1; const Dropbox = 2; const Facebook = 3; const Twitter = 4; const Vkontakte = 5; /** * @var array */ protected $aConsts = array( 'Unknown' => self::Unknown, 'Google' => self::Google, 'Dropbox' => self::Dropbox, 'Facebook' => self::Facebook, 'Twitter' => self::Twitter, 'Vkontakte' => self::Vkontakte ); } /** * @package Api * @subpackage Enum */ class EContactFileType extends AEnumeration { const CSV = 'csv'; const VCF = 'vcf'; } /** * @package Api * @subpackage Enum */ class EContactSortField extends AEnumeration { const Name = 1; const EMail = 2; const Frequency = 3; /** * @param int $iValue * @return string */ public static function GetContactDbField($iValue) { $sResult = 'view_email'; switch ($iValue) { case self::Name: $sResult = 'fullname'; break; case self::EMail: $sResult = 'view_email'; break; case self::Frequency: $sResult = 'use_frequency'; break; } return $sResult; } /** * @param int $iValue * @return string */ public static function GetGlobalContactDbField($iValue) { $sResult = 'email'; switch ($iValue) { case self::Name: $sResult = 'friendly_nm'; break; case self::EMail: $sResult = 'email'; break; } return $sResult; } /** * @param int $iValue * @return string */ public static function GetGroupDbField($iValue) { $sResult = 'group_nm'; switch ($iValue) { case self::Name: $sResult = 'group_nm'; break; case self::Frequency: $sResult = 'use_frequency'; break; } return $sResult; } } /** * @package Contacts * @subpackage Enum */ class EContactType extends AEnumeration { const Personal = 0; const Global_ = 1; const GlobalAccounts = 2; const GlobalMailingList = 3; }