diff options
Diffstat (limited to 'Postman/PostmanOptions.php')
-rw-r--r-- | Postman/PostmanOptions.php | 679 |
1 files changed, 0 insertions, 679 deletions
diff --git a/Postman/PostmanOptions.php b/Postman/PostmanOptions.php deleted file mode 100644 index e2e78d6..0000000 --- a/Postman/PostmanOptions.php +++ /dev/null @@ -1,679 +0,0 @@ -<?php -if ( ! defined( 'ABSPATH' ) ) { - exit; // Exit if accessed directly -} -if ( ! interface_exists( 'PostmanOptionsInterface' ) ) { - interface PostmanOptionsInterface { - /** - * I'm stuck with these methods because of Gmail API Extension - */ - public function save(); - public function isNew(); - public function getLogLevel(); - public function getHostname(); - public function getPort(); - public function getMessageSenderEmail(); - public function getMessageSenderName(); - public function getClientId(); - public function getClientSecret(); - public function getTransportType(); - public function getAuthenticationType(); - public function getEncryptionType(); - public function getUsername(); - public function getPassword(); - public function getReplyTo(); - public function getConnectionTimeout(); - public function getReadTimeout(); - public function isSenderNameOverridePrevented(); - public function isAuthTypePassword(); - public function isAuthTypeOAuth2(); - public function isAuthTypeLogin(); - public function isAuthTypePlain(); - public function isAuthTypeCrammd5(); - public function isAuthTypeNone(); - - /** - * - * @deprecated - */ - public function getSenderEmail(); - /** - * - * @deprecated - */ - public function getSenderName(); - } -} - -if ( ! class_exists( 'PostmanOptions' ) ) { - - /** - * http://stackoverflow.com/questions/23880928/use-oauth-refresh-token-to-obtain-new-access-token-google-api - * http://pastebin.com/jA9sBNTk - * - * Make sure these emails are permitted (see http://en.wikipedia.org/wiki/E-mail_address#Internationalization): - */ - class PostmanOptions implements PostmanOptionsInterface { - - // the option database name - const POSTMAN_OPTIONS = 'postman_options'; - const POSTMAN_NETWORK_OPTIONS = 'postman_network_options'; - - // the options fields - const VERSION = 'version'; - const ENVELOPE_SENDER = 'envelope_sender'; - const MESSAGE_SENDER_EMAIL = 'sender_email'; - const MESSAGE_SENDER_NAME = 'sender_name'; - const REPLY_TO = 'reply_to'; - const FORCED_TO_RECIPIENTS = 'forced_to'; - const FORCED_CC_RECIPIENTS = 'forced_cc'; - const FORCED_BCC_RECIPIENTS = 'forced_bcc'; - const ADDITIONAL_HEADERS = 'headers'; - const TEST_EMAIL = 'test_email'; - const HOSTNAME = 'hostname'; - const PORT = 'port'; - const TRANSPORT_TYPE = 'transport_type'; - const AUTHENTICATION_TYPE = 'auth_type'; - const AUTHENTICATION_TYPE_NONE = 'none'; - const AUTHENTICATION_TYPE_PLAIN = 'plain'; - const AUTHENTICATION_TYPE_LOGIN = 'login'; - const AUTHENTICATION_TYPE_CRAMMD5 = 'crammd5'; - const AUTHENTICATION_TYPE_OAUTH2 = 'oauth2'; - const SECURITY_TYPE = 'enc_type'; - const SECURITY_TYPE_NONE = 'none'; - const SECURITY_TYPE_SMTPS = 'ssl'; - const SECURITY_TYPE_STARTTLS = 'tls'; - const CLIENT_ID = 'oauth_client_id'; - const CLIENT_SECRET = 'oauth_client_secret'; - const BASIC_AUTH_USERNAME = 'basic_auth_username'; - const BASIC_AUTH_PASSWORD = 'basic_auth_password'; - const MANDRILL_API_KEY = 'mandrill_api_key'; - const SENDGRID_API_KEY = 'sendgrid_api_key'; - const MAILGUN_API_KEY = 'mailgun_api_key'; - const MAILGUN_DOMAIN_NAME = 'mailgun_domain_name'; - const MAILGUN_REGION = 'mailgun_region'; - const PREVENT_MESSAGE_SENDER_NAME_OVERRIDE = 'prevent_sender_name_override'; - const PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE = 'prevent_sender_email_override'; - const CONNECTION_TIMEOUT = 'connection_timeout'; - const READ_TIMEOUT = 'read_timeout'; - const LOG_LEVEL = 'log_level'; - const RUN_MODE = 'run_mode'; - const RUN_MODE_PRODUCTION = 'production'; - const RUN_MODE_LOG_ONLY = 'log_only'; - const RUN_MODE_IGNORE = 'ignore'; - const MAIL_LOG_ENABLED_OPTION = 'mail_log_enabled'; - const MAIL_LOG_ENABLED_OPTION_YES = 'true'; - const MAIL_LOG_ENABLED_OPTION_NO = 'false'; - const MAIL_LOG_MAX_ENTRIES = 'mail_log_max_entries'; - const STEALTH_MODE = 'stealth_mode'; - const TRANSCRIPT_SIZE = 'transcript_size'; - const TEMPORARY_DIRECTORY = 'tmp_dir'; - const DISABLE_EMAIL_VALIDAITON = 'disable_email_validation'; - const NOTIFICATION_SERVICE = 'notification_service'; - const NOTIFICATION_USE_CHROME = 'notification_use_chrome'; - const NOTIFICATION_CHROME_UID = 'notification_chrome_uid'; - const PUSHOVER_USER = 'pushover_user'; - const PUSHOVER_TOKEN = 'pushover_token'; - const SLACK_TOKEN = 'slack_token'; - - // Fallback - const FALLBACK_SMTP_ENABLED = 'fallback_smtp_enabled'; - const FALLBACK_SMTP_HOSTNAME = 'fallback_smtp_hostname'; - const FALLBACK_SMTP_PORT = 'fallback_smtp_port'; - const FALLBACK_SMTP_SECURITY = 'fallback_smtp_security'; - const FALLBACK_FROM_EMAIL = 'fallback_from_email'; - const FALLBACK_SMTP_USE_AUTH = 'fallback_smtp_use_auth'; - const FALLBACK_SMTP_USERNAME = 'fallback_smtp_username'; - const FALLBACK_SMTP_PASSWORD = 'fallback_smtp_password'; - - // defaults - const DEFAULT_TRANSCRIPT_SIZE = 128; - const DEFAULT_STEALTH_MODE = false; - const DEFAULT_RUN_MODE = self::RUN_MODE_PRODUCTION; - const DEFAULT_MAIL_LOG_ENABLED = self::MAIL_LOG_ENABLED_OPTION_YES; - const DEFAULT_MAIL_LOG_ENTRIES = 250; - const DEFAULT_LOG_LEVEL = PostmanLogger::ERROR_INT; - const DEFAULT_NOTIFICATION_SERVICE = 'default'; - const DEFAULT_TRANSPORT_TYPE = 'smtp'; // must match what's in PostmanSmtpModuleTransport - const DEFAULT_TCP_READ_TIMEOUT = 60; - const DEFAULT_TCP_CONNECTION_TIMEOUT = 10; - const DEFAULT_PLUGIN_MESSAGE_SENDER_NAME_ENFORCED = false; - const DEFAULT_PLUGIN_MESSAGE_SENDER_EMAIL_ENFORCED = false; - const DEFAULT_TEMP_DIRECTORY = '/tmp'; - - const SMTP_MAILERS = [ - 'phpmailer' => 'PHPMailer', - 'postsmtp' => 'PostSMTP' - ]; - - public $is_fallback = false; - - // options data - private $options; - - // singleton instance - public static function getInstance() { - static $inst = null; - if ( $inst === null ) { - $inst = new PostmanOptions(); - } - return $inst; - } - - /** - * private constructor - */ - private function __construct() { - $this->load(); - } - - public function save() { - update_option( PostmanOptions::POSTMAN_OPTIONS, $this->options ); - } - - public function reload() { - $this->load(); - } - - public function load() { - - $options = get_option( self::POSTMAN_OPTIONS ); - - if ( is_multisite() ) { - $network_options = get_site_option( self::POSTMAN_NETWORK_OPTIONS ); - - $blog_id = get_current_blog_id(); - if ( isset( $network_options['post_smtp_global_settings'] ) ) { - $blog_id = apply_filters( 'post_smtp_default_site_option', 1 ); - } - - switch_to_blog($blog_id); - $options = get_option( self::POSTMAN_OPTIONS ); - restore_current_blog(); - } - - $this->options = $options; - } - - public function isNew() { - return ! isset( $this->options [ PostmanOptions::TRANSPORT_TYPE ] ); - } - public function isMailLoggingEnabled() { - $allowed = $this->isMailLoggingAllowed(); - $enabled = $this->getMailLoggingEnabled() == self::MAIL_LOG_ENABLED_OPTION_YES; - return $allowed && $enabled; - } - public function getTempDirectory() { - if ( isset( $this->options [ self::TEMPORARY_DIRECTORY ] ) ) { - return $this->options [ self::TEMPORARY_DIRECTORY ]; - } else { return self::DEFAULT_TEMP_DIRECTORY; } - } - public function isMailLoggingAllowed() { - return true; - } - public function isStealthModeEnabled() { - if ( isset( $this->options [ PostmanOptions::STEALTH_MODE ] ) ) { - return $this->options [ PostmanOptions::STEALTH_MODE ]; - } else { return self::DEFAULT_STEALTH_MODE; } - } - public function getMailLoggingEnabled() { - if ( isset( $this->options [ PostmanOptions::MAIL_LOG_ENABLED_OPTION ] ) ) { - return $this->options [ PostmanOptions::MAIL_LOG_ENABLED_OPTION ]; - } else { return self::DEFAULT_MAIL_LOG_ENABLED; } - } - public function getRunMode() { - if ( defined( 'POST_SMTP_RUN_MODE' ) ) { - return POST_SMTP_RUN_MODE; - } - - if ( isset( $this->options [ self::RUN_MODE ] ) ) { - return $this->options [ self::RUN_MODE ]; - } else { return self::DEFAULT_RUN_MODE; } - } - public function getMailLoggingMaxEntries() { - if ( isset( $this->options [ PostmanOptions::MAIL_LOG_MAX_ENTRIES ] ) ) { - return $this->options [ PostmanOptions::MAIL_LOG_MAX_ENTRIES ]; - } else { return self::DEFAULT_MAIL_LOG_ENTRIES; } - } - public function getTranscriptSize() { - if ( isset( $this->options [ PostmanOptions::TRANSCRIPT_SIZE ] ) ) { - return $this->options [ PostmanOptions::TRANSCRIPT_SIZE ]; - } else { return self::DEFAULT_TRANSCRIPT_SIZE; } - } - - public function getLogLevel() { - if ( isset( $this->options [ PostmanOptions::LOG_LEVEL ] ) ) { - return $this->options [ PostmanOptions::LOG_LEVEL ]; - } else { return self::DEFAULT_LOG_LEVEL; } - } - - public function getNotificationService() { - if ( isset( $this->options [ PostmanOptions::NOTIFICATION_SERVICE ] ) ) { - return $this->options [ PostmanOptions::NOTIFICATION_SERVICE ]; - } else { - return self::DEFAULT_NOTIFICATION_SERVICE; - } - } - - public function getForcedToRecipients() { - if ( isset( $this->options [ self::FORCED_TO_RECIPIENTS ] ) ) { - return $this->options [ self::FORCED_TO_RECIPIENTS ]; } - } - public function getForcedCcRecipients() { - if ( isset( $this->options [ self::FORCED_CC_RECIPIENTS ] ) ) { - return $this->options [ self::FORCED_CC_RECIPIENTS ]; } - } - public function getForcedBccRecipients() { - if ( isset( $this->options [ self::FORCED_BCC_RECIPIENTS ] ) ) { - return $this->options [ self::FORCED_BCC_RECIPIENTS ]; } - } - public function getAdditionalHeaders() { - if ( isset( $this->options [ self::ADDITIONAL_HEADERS ] ) ) { - return $this->options [ self::ADDITIONAL_HEADERS ]; } - } - public function getHostname() { - - if ( $this->is_fallback ) { - return $this->getFallbackHostname(); - } - - if ( isset( $this->options [ PostmanOptions::HOSTNAME ] ) ) { - return $this->options [ PostmanOptions::HOSTNAME ]; } - } - - public function getPort() { - - if ( $this->is_fallback ) { - return $this->getFallbackPort(); - } - - if ( isset( $this->options [ PostmanOptions::PORT ] ) ) { - return $this->options [ PostmanOptions::PORT ]; } - } - - public function getEnvelopeSender() { - - if ( $this->is_fallback ) { - return $this->getFallbackFromEmail(); - } - - if ( isset( $this->options [ PostmanOptions::ENVELOPE_SENDER ] ) ) { - return $this->options [ PostmanOptions::ENVELOPE_SENDER ]; } - } - - public function getMessageSenderEmail() { - - if ( $this->is_fallback ) { - return $this->getFallbackFromEmail(); - } - - if ( isset( $this->options [ PostmanOptions::MESSAGE_SENDER_EMAIL ] ) ) { - return $this->options [ PostmanOptions::MESSAGE_SENDER_EMAIL ]; } - } - - public function getFallbackFromEmail() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_FROM_EMAIL ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_FROM_EMAIL ]; } - } - - public function getMessageSenderName() { - if ( isset( $this->options [ PostmanOptions::MESSAGE_SENDER_NAME ] ) ) { - return $this->options [ PostmanOptions::MESSAGE_SENDER_NAME ]; } - } - public function getClientId() { - if ( isset( $this->options [ PostmanOptions::CLIENT_ID ] ) ) { - return $this->options [ PostmanOptions::CLIENT_ID ]; } - } - public function getClientSecret() { - if ( isset( $this->options [ PostmanOptions::CLIENT_SECRET ] ) ) { - return $this->options [ PostmanOptions::CLIENT_SECRET ]; } - } - - public function getTransportType() { - - if ( $this->is_fallback ) { - return 'smtp'; - } - - if ( isset( $this->options [ PostmanOptions::TRANSPORT_TYPE ] ) ) { - return $this->options [ PostmanOptions::TRANSPORT_TYPE ]; } - } - - public function getAuthenticationType() { - - if ( $this->is_fallback ) { - return $this->getFallbackAuth(); - } - - if ( isset( $this->options [ PostmanOptions::AUTHENTICATION_TYPE ] ) ) { - return $this->options [ PostmanOptions::AUTHENTICATION_TYPE ]; } - } - - public function getEncryptionType() { - - if ( $this->is_fallback ) { - return $this->getFallbackSecurity(); - } - - - if ( isset( $this->options [ PostmanOptions::SECURITY_TYPE ] ) ) { - return $this->options [ PostmanOptions::SECURITY_TYPE ]; - } - } - - public function getUsername() { - - if ( $this->is_fallback ) { - return $this->getFallbackUsername(); - } - - if ( defined( 'POST_SMTP_AUTH_USERNAME' ) ) { - return POST_SMTP_AUTH_USERNAME; - } - - if ( isset( $this->options [ PostmanOptions::BASIC_AUTH_USERNAME ] ) ) { - return $this->options [ PostmanOptions::BASIC_AUTH_USERNAME ]; - } - } - - public function getPassword() { - - if ( $this->is_fallback ) { - return $this->getFallbackPassword(); - } - - if ( defined( 'POST_SMTP_AUTH_PASSWORD' ) ) { - return POST_SMTP_AUTH_PASSWORD; - } - - if ( isset( $this->options [ PostmanOptions::BASIC_AUTH_PASSWORD ] ) ) { - return base64_decode( $this->options [ PostmanOptions::BASIC_AUTH_PASSWORD ] ); - } - } - - // Fallback - public function getFallbackIsEnabled() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_ENABLED ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_ENABLED ]; - } - return false; - } - - public function getFallbackHostname() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_HOSTNAME ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_HOSTNAME ]; - } - } - - public function getFallbackPort() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_PORT ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_PORT ]; - } - } - - public function getFallbackSecurity() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_SECURITY ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_SECURITY ]; - } - } - - public function getFallbackAuth() { - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_USE_AUTH ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_USE_AUTH ]; - } - } - - public function getFallbackUsername() { - if ( defined( 'POST_SMTP_FALLBACK_AUTH_USERNAME' ) ) { - return POST_SMTP_FALLBACK_AUTH_USERNAME; - } - - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_USERNAME ] ) ) { - return $this->options [ PostmanOptions::FALLBACK_SMTP_USERNAME ]; - } - } - - - public function getFallbackPassword() { - if ( defined( 'POST_SMTP_FALLBACK_AUTH_PASSWORD' ) ) { - return POST_SMTP_FALLBACK_AUTH_PASSWORD; - } - - if ( isset( $this->options [ PostmanOptions::FALLBACK_SMTP_PASSWORD ] ) ) { - return base64_decode( $this->options [ PostmanOptions::FALLBACK_SMTP_PASSWORD ] ); - } - } - - // End Fallback - - public function getMandrillApiKey() { - if ( defined( 'POST_SMTP_API_KEY' ) ) { - return POST_SMTP_API_KEY; - } - - if ( isset( $this->options [ PostmanOptions::MANDRILL_API_KEY ] ) ) { - return base64_decode( $this->options [ PostmanOptions::MANDRILL_API_KEY ] ); } - } - public function getSendGridApiKey() { - if ( defined( 'POST_SMTP_API_KEY' ) ) { - return POST_SMTP_API_KEY; - } - - if ( isset( $this->options [ PostmanOptions::SENDGRID_API_KEY ] ) ) { - return base64_decode( $this->options [ PostmanOptions::SENDGRID_API_KEY ] ); } - } - public function getMailgunApiKey() { - if ( defined( 'POST_SMTP_API_KEY' ) ) { - return POST_SMTP_API_KEY; - } - - if ( isset( $this->options [ PostmanOptions::MAILGUN_API_KEY ] ) ) { - return base64_decode( $this->options [ PostmanOptions::MAILGUN_API_KEY ] ); } - } - public function getMailgunDomainName() { - if ( isset( $this->options [ PostmanOptions::MAILGUN_DOMAIN_NAME ] ) ) { - return $this->options [ PostmanOptions::MAILGUN_DOMAIN_NAME ]; - } - } - - public function getMailgunRegion() { - if ( isset( $this->options [ PostmanOptions::MAILGUN_REGION ] ) ) { - return $this->options [ PostmanOptions::MAILGUN_REGION ]; - } - } - - public function getPushoverUser() { - if ( isset( $this->options [ PostmanOptions::PUSHOVER_USER ] ) ) { - return base64_decode( $this->options [ PostmanOptions::PUSHOVER_USER ] ); - } - } - - public function getPushoverToken() { - if ( isset( $this->options [ PostmanOptions::PUSHOVER_TOKEN ] ) ) { - return base64_decode( $this->options [ PostmanOptions::PUSHOVER_TOKEN ] ); - } - } - - public function getSlackToken() { - if ( isset( $this->options [ PostmanOptions::SLACK_TOKEN ] ) ) { - return base64_decode( $this->options [ PostmanOptions::SLACK_TOKEN ] ); - } - } - - public function useChromeExtension() { - if ( isset( $this->options [ PostmanOptions::NOTIFICATION_USE_CHROME ] ) ) { - return $this->options [ PostmanOptions::NOTIFICATION_USE_CHROME ]; - } - } - - public function getNotificationChromeUid() { - if ( isset( $this->options [ PostmanOptions::NOTIFICATION_CHROME_UID ] ) ) { - return base64_decode( $this->options [ PostmanOptions::NOTIFICATION_CHROME_UID ] ); - } - } - - public function getReplyTo() { - if ( isset( $this->options [ PostmanOptions::REPLY_TO ] ) ) { - return $this->options [ PostmanOptions::REPLY_TO ]; } - } - public function getConnectionTimeout() { - if ( ! empty( $this->options [ self::CONNECTION_TIMEOUT ] ) ) { - return $this->options [ self::CONNECTION_TIMEOUT ]; - } else { return self::DEFAULT_TCP_CONNECTION_TIMEOUT; } - } - public function getReadTimeout() { - if ( ! empty( $this->options [ self::READ_TIMEOUT ] ) ) { - return $this->options [ self::READ_TIMEOUT ]; - } else { return self::DEFAULT_TCP_READ_TIMEOUT; } - } - public function isPluginSenderNameEnforced() { - if ( $this->isNew() ) { - return self::DEFAULT_PLUGIN_MESSAGE_SENDER_NAME_ENFORCED; } - if ( isset( $this->options [ PostmanOptions::PREVENT_MESSAGE_SENDER_NAME_OVERRIDE ] ) ) { - return $this->options [ PostmanOptions::PREVENT_MESSAGE_SENDER_NAME_OVERRIDE ]; } - } - - public function isEmailValidationDisabled() { - if ( isset( $this->options [ PostmanOptions::DISABLE_EMAIL_VALIDAITON ] ) ) { - return $this->options [ PostmanOptions::DISABLE_EMAIL_VALIDAITON ]; } - } - - /** - * (non-PHPdoc) - * - * @see PostmanOptions::isSenderNameOverridePrevented() - * @deprecated by isPluginSenderNameEnforced - */ - public function isSenderNameOverridePrevented() { - return $this->isPluginSenderEmailEnforced(); - } - public function isPluginSenderEmailEnforced() { - - if ( $this->isNew() ) { - return self::DEFAULT_PLUGIN_MESSAGE_SENDER_EMAIL_ENFORCED; } - if ( isset( $this->options [ PostmanOptions::PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE ] ) ) { - return $this->options [ PostmanOptions::PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE ]; } - } - /** - * - * @deprecated by isPluginSenderEmailEnforced - */ - public function isSenderEmailOverridePrevented() { - return $this->isPluginSenderEmailEnforced(); - } - private function setSenderEmail( $senderEmail ) { - $this->options [ PostmanOptions::MESSAGE_SENDER_EMAIL ] = $senderEmail; - } - public function setMessageSenderEmailIfEmpty( $senderEmail ) { - if ( empty( $this->options [ PostmanOptions::MESSAGE_SENDER_EMAIL ] ) ) { - $this->setSenderEmail( $senderEmail ); - } - } - private function setSenderName( $senderName ) { - $this->options [ PostmanOptions::MESSAGE_SENDER_NAME ] = $senderName; - } - public function setMessageSenderNameIfEmpty( $senderName ) { - if ( empty( $this->options [ PostmanOptions::MESSAGE_SENDER_NAME ] ) ) { - $this->setSenderName( $senderName ); - } - } - - public function getSmtpMailer() { - if ( empty($this->options [ 'smtp_mailers' ]) ) { - return 'postsmtp'; - } - - return $this->options [ 'smtp_mailers' ]; - } - - public function isAuthTypePassword() { - return $this->isAuthTypeLogin() || $this->isAuthTypeCrammd5() || $this->isAuthTypePlain(); - } - public function isAuthTypeOAuth2() { - return PostmanOptions::AUTHENTICATION_TYPE_OAUTH2 == $this->getAuthenticationType(); - } - public function isAuthTypeLogin() { - return PostmanOptions::AUTHENTICATION_TYPE_LOGIN == $this->getAuthenticationType(); - } - public function isAuthTypePlain() { - return PostmanOptions::AUTHENTICATION_TYPE_PLAIN == $this->getAuthenticationType(); - } - public function isAuthTypeCrammd5() { - return PostmanOptions::AUTHENTICATION_TYPE_CRAMMD5 == $this->getAuthenticationType(); - } - public function isAuthTypeNone() { - return PostmanOptions::AUTHENTICATION_TYPE_NONE == $this->getAuthenticationType(); - } - /** - * - * @deprecated Required by the Postman Gmail Extension - * - * @see PostmanOptionsInterface::getSenderEmail() - */ - public function getSenderEmail() { - return $this->getMessageSenderEmail(); - } - /** - * - * @deprecated Required by the Postman Gmail Extension - * - * @see PostmanOptionsInterface::getSenderEmail() - */ - public function getSenderName() { - return $this->getMessageSenderName(); - } - - /** - * - * @return string - */ - public function export() { - if ( PostmanPreRequisitesCheck::checkZlibEncode() ) { - $data = $this->options; - $data ['version'] = PostmanState::getInstance()->getVersion(); - foreach ( PostmanTransportRegistry::getInstance()->getTransports() as $transport ) { - $data = $transport->prepareOptionsForExport( $data ); - } - $data = base64_encode( gzcompress( json_encode( $data ), 9 ) ); - return $data; - } - } - - /** - * - * @param mixed $data - */ - public function import( $data ) { - if ( PostmanPreRequisitesCheck::checkZlibEncode() ) { - $logger = new PostmanLogger( get_class( $this ) ); - $logger->debug( 'Importing Settings' ); - $base64 = $data; - $logger->trace( $base64 ); - $gz = base64_decode( $base64 ); - $logger->trace( $gz ); - $json = @gzuncompress( $gz ); - $logger->trace( $json ); - if ( ! empty( $json ) ) { - $data = json_decode( $json, true ); - $logger->trace( $data ); - { - // overwrite the current version with the version from the imported options - // this way database upgrading can occur - $postmanState = get_option( 'postman_state' ); - $postmanState ['version'] = $data ['version']; - $logger->trace( sprintf( 'Setting Postman version to %s', $postmanState ['version'] ) ); - assert( $postmanState ['version'] == $data ['version'] ); - update_option( 'postman_state', $postmanState ); - } - $this->options = $data; - $logger->info( 'Imported data' ); - $this->save(); - return true; - } else { - $logger->error( 'Could not import data - data error' ); - return false; - } - } - } - } -} |