Overview

Packages

  • ACF
  • Automation
    • Actions
    • Activation
    • LeadProfile
    • Menus
    • Queries
    • Rules
    • Triggers
  • CTA
    • Activation
    • AJAXListeners
    • Cloning
    • Core
    • Display
    • EditPage
    • Enqueues
    • GPLSettings
    • LeadsProfile
    • Loading
    • Menus
    • Notices
    • PlacementMetabox
    • PostType
    • Templates
    • Tracking
    • Variations
    • YOAST
  • InboundPro
    • Activation
    • AdminAJAX
    • AutoLoading
    • Cron
    • DataInterface
    • FieldMapping
    • Funnels
    • InboundNowAPI
    • Installer
    • LeadStatuses
    • Menus
    • Notifications
    • Ouath
    • Reports
    • Settings
    • Tracking
    • Translations
    • Updates
  • LandingPages
    • Activation
    • DataInterfaces
    • Management
    • Menus
    • NeedsAttention
    • Notices
    • Sidebars
    • Templates
    • Tracking
    • Variations
    • WelcomeScreen
    • Widgets
  • Leads
    • Activation
    • Akismet
    • BranchControl
    • BulkActions
    • Dashboard
    • Management
    • Notifications
    • Settings
    • Tracking
    • UserProfile
    • WPLogin
  • Mailer
    • Activation
    • Admin
    • ClickTracking
    • DataInterface
    • InboundForms
    • Leads
    • Management
    • Notifications
    • Scheduling
    • Sending
    • Settings
    • ShortcodesAndTokens
    • SparkPost
    • Templates
    • Unsubscribes
    • Variations
    • YoastSEO
  • None
  • Shared
    • APIs
    • CPT
    • DatabaseRoutines
    • DebugTricks
    • DoubleOptin
    • EventManagement
    • FieldMapping
    • InboundForms
    • LeadSorage
    • MarketingButton
    • Menus
    • Notifications
    • Shortcodes
    • ShortcodesAndTokens
    • StandAloneLicensing
    • Tracking
    • VisualEditor
  • xDepreciated

Classes

  • CTA_Activation
  • CTA_Activation_Update_Routines
  • CTA_Admin_Notices
  • CTA_Ajax_Listeners
  • CTA_Clone_Post
  • CTA_Conversion_Tracking
  • CTA_Dynamic_Widget
  • CTA_Enqueues
  • CTA_Load_Extensions
  • CTA_Menus
  • CTA_Metaboxes
  • CTA_Metaboxes_Global
  • CTA_Post_Type
  • CTA_Render
  • CTA_Settings
  • CTA_Static_Widget
  • CTA_Template_Manager
  • CTA_Template_Manager_List
  • CTA_Variations
  • CTA_WordPress_Leads
  • CTA_WordPress_SEO
  • Inbound_Ajax
  • Inbound_Akismet
  • Inbound_Analytics
  • Inbound_API
  • Inbound_API_Keys_Generation
  • Inbound_API_Keys_Table
  • Inbound_API_Wrapper
  • Inbound_Asset_Loader
  • Inbound_Automation_Action_Add_Remove_List
  • Inbound_Automation_Action_Add_Remove_Tag
  • Inbound_Automation_Action_Create_Lead
  • Inbound_Automation_Action_Create_User
  • Inbound_Automation_Action_Kill_Tasks
  • Inbound_Automation_Action_Relay_Data
  • Inbound_Automation_Action_Send_Email
  • Inbound_Automation_Action_Wait
  • Inbound_Automation_Activation
  • Inbound_Automation_Activation_Update_Routines
  • Inbound_Automation_Adminbar
  • Inbound_Automation_Lead_Profile
  • Inbound_Automation_Loader
  • Inbound_Automation_Plugin
  • Inbound_Automation_Post_Type
  • Inbound_Automation_Processing
  • Inbound_Automation_Query_Lead
  • Inbound_Automation_Query_User
  • Inbound_Automation_Trigger_inbound_double_optin_confirm
  • Inbound_Automation_Trigger_inbound_store_lead_post
  • Inbound_Automation_Trigger_inbound_track_link
  • Inbound_Automation_Trigger_Publish_Post
  • Inbound_Automation_Trigger_Save_Post_Deactivated
  • Inbound_Automation_Trigger_Set_Object_Terms
  • Inbound_Automation_Trigger_Update_Lead
  • Inbound_Automation_Trigger_User_Register
  • Inbound_Calls_To_Action_Plugin
  • Inbound_Confirm_Double_Optin
  • Inbound_Cron
  • Inbound_CTA_Quick_View
  • Inbound_Customizer
  • Inbound_Debug_Scripts
  • Inbound_Email_Meta
  • Inbound_Email_Preview
  • Inbound_Email_Template_Shortcodes
  • Inbound_Event_Report
  • Inbound_Events
  • Inbound_Events_Report
  • Inbound_Extension_Loads
  • Inbound_Forms
  • Inbound_Funnel_Reporting
  • Inbound_Impressions_Report
  • Inbound_Landing_Pages_Plugin
  • Inbound_Lead_Statuses
  • Inbound_Leads
  • Inbound_Leads_Custom_fields
  • Inbound_Leads_Plugin
  • Inbound_License
  • Inbound_List_Double_Optin
  • Inbound_Load_Shared
  • Inbound_Logging_Automation
  • Inbound_Login
  • Inbound_Mail_Daemon
  • Inbound_Mailer_ACF
  • Inbound_Mailer_Activation
  • Inbound_Mailer_Activation_Update_Routines
  • Inbound_Mailer_Ajax_Listeners
  • Inbound_Mailer_Clone_Post
  • Inbound_Mailer_Common_Settings
  • Inbound_Mailer_Customizer
  • Inbound_Mailer_Direct_Email_Leads
  • Inbound_Mailer_Enqueues
  • Inbound_Mailer_Forms_Integration
  • Inbound_Mailer_Load_Templates
  • Inbound_Mailer_Menus
  • Inbound_Mailer_Metaboxes
  • Inbound_Mailer_Notifications
  • Inbound_Mailer_Plugin
  • Inbound_Mailer_Post_Type
  • Inbound_Mailer_Scheduling
  • Inbound_Mailer_Settings
  • Inbound_Mailer_SparkPost
  • Inbound_Mailer_Stats_Report
  • Inbound_Mailer_Template_Manager
  • Inbound_Mailer_Template_Manager_List
  • Inbound_Mailer_Tokens
  • Inbound_Mailer_Tracking
  • Inbound_Mailer_Unsubscribe
  • Inbound_Mailer_Variations
  • Inbound_Mailer_WordPress_SEO
  • Inbound_Maintenance_Lists
  • Inbound_Marketing_Button
  • Inbound_Menus_Admin
  • Inbound_Menus_Adminbar
  • Inbound_Metaboxes_Automation
  • Inbound_Metaboxes_Leads
  • Inbound_Notifications
  • Inbound_Now_Store
  • Inbound_Options_API
  • Inbound_Pro_Activation
  • Inbound_Pro_Admin_Ajax_Listeners
  • Inbound_Pro_Automatic_Updates
  • Inbound_Pro_Downloads
  • Inbound_Pro_Notifications
  • Inbound_Pro_Oauth_Engine
  • Inbound_Pro_Plugin
  • Inbound_Pro_Settings
  • Inbound_Quick_View
  • Inbound_Reporting_Templates
  • Inbound_Search_And_Comment_Report
  • Inbound_Shared_ACF_BootStrap
  • Inbound_Shortcodes
  • Inbound_Shortcodes_Cookies
  • Inbound_Shortcodes_Fields
  • Inbound_SparkPost
  • Inbound_SparkPost_Stats
  • Inbound_Template_Utils
  • Inbound_Templating_Engine
  • Inbound_Tracking
  • Inbound_Translation_Updater
  • Inbound_Updater
  • Inbound_Upgrade_For_More_Reports
  • Inbound_Upgrade_Routines
  • Inbound_Visitor_Event_Report
  • Inbound_Visitor_Impressions_Report
  • Inbound_Visitors_Report
  • INBOUNDNOW_EXTEND
  • Landing_Pages_ACF
  • Landing_Pages_Activation
  • Landing_Pages_Activation_Update_Routines
  • Landing_Pages_Admin_Menus
  • Landing_Pages_Admin_Notices
  • Landing_Pages_Install
  • Landing_Pages_Load_Extensions
  • Landing_Pages_Meta
  • Landing_Pages_Metaboxes
  • Landing_Pages_Post_Type
  • Landing_Pages_Row_Actions
  • Landing_Pages_Settings
  • Landing_Pages_Sidebars
  • Landing_Pages_Split_Testing_Stats
  • Landing_Pages_Template_Management
  • Landing_Pages_Template_Switcher
  • Landing_Pages_Templates_List_Table
  • Landing_Pages_Variations
  • LandingPages_Welcome
  • Leads_Activation
  • Leads_Activation_Update_Routines
  • Leads_Admin_Notices
  • Leads_Batch_Processor
  • Leads_Branching
  • Leads_Dashboard
  • Leads_Field_Map
  • Leads_Manager
  • Leads_Post_Type
  • Leads_Settings
  • Leads_Tracking
  • Leads_User_Profile
  • LeadStorage
  • LP_EXTENSION_LICENSENING
  • LP_EXTENSION_UPDATER
  • LP_Variation_Rotation
  • LP_Widget_Conversion_Area

Functions

  • cta_check_active
  • cta_example_template_function
  • cta_load_dynamic_widget
  • CTA_Load_Extensions
  • cta_load_static_widget
  • CTA_Render
  • inbound_add_conversion_to_lead
  • inbound_automation_check_active
  • inbound_automation_load_definitions
  • inbound_automation_metaboxes
  • inbound_automation_processing
  • inbound_color
  • inbound_color_scheme
  • inbound_confirm_email_service_provider
  • inbound_email_kill_ie8
  • inbound_email_load_templates
  • inbound_form_add_lead_list
  • inbound_form_auto_publish
  • inbound_form_delete_transient
  • inbound_form_get_data
  • inbound_form_save
  • inbound_forms_change_columns
  • inbound_forms_cpt
  • inbound_forms_custom_columns
  • inbound_forms_default_content
  • inbound_get_form_names
  • inbound_get_parent_directory
  • inbound_Hex_2_RGB
  • inbound_inbound_email_example_template_function
  • inbound_load_lead_manager
  • inbound_load_token_engine
  • inbound_mailer_acf_integration
  • Inbound_Mailer_Common_Settings
  • Inbound_Mailer_Load_Templates
  • inbound_qtrans_disable
  • inbound_record_log
  • inbound_register_form_role_capabilities
  • inbound_shortcode_alert
  • inbound_shortcode_callout
  • inbound_shortcode_columns
  • inbound_shortcode_content_box
  • inbound_shortcode_divider
  • inbound_shortcode_empty_paragraph_fix
  • inbound_shortcode_four_fifth_columns
  • inbound_shortcode_full_columns
  • inbound_shortcode_gmap
  • inbound_shortcode_icon
  • inbound_shortcode_intro
  • inbound_shortcode_landing_pages
  • inbound_shortcode_leadp
  • inbound_shortcode_list_icons
  • inbound_shortcode_one_fifth_columns
  • inbound_shortcode_one_fourth_columns
  • inbound_shortcode_one_half_columns
  • inbound_shortcode_one_third_columns
  • inbound_shortcode_portfolio
  • inbound_shortcode_pricing
  • inbound_shortcode_profile
  • inbound_shortcode_social_links
  • inbound_shortcode_tabs
  • inbound_shortcode_teaser
  • inbound_shortcode_testimonial
  • inbound_shortcode_three_fifth_columns
  • inbound_shortcode_three_fourth_columns
  • inbound_shortcode_two_fifth_columns
  • inbound_shortcode_two_third_columns
  • inbound_shortcode_video
  • inbound_store_lead
  • inbound_template_brightness
  • inbound_template_color
  • Inbound_Templating_Engine
  • inbound_travis_check
  • inboundnow_add_master_license
  • json_encode_fallback
  • landingpage_fix_known_wp_title_isses
  • landingpages_is_active
  • load_CTA_Settings
  • load_CTA_Template_Manager
  • load_Inbound_API_Keys_Generation
  • load_Inbound_Lead_Statuses
  • load_Inbound_Leads_Custom_fields
  • load_inbound_mail_daemon
  • load_Inbound_Mailer_Settings
  • load_Inbound_Mailer_Template_Manager
  • load_Inbound_Pro_Downloads
  • lp_ab_testing_get_current_variation_id
  • lp_add_option
  • lp_body_class
  • lp_check_active
  • lp_content_area
  • lp_conversion_area
  • lp_discover_important_wrappers
  • lp_footer
  • lp_generate_drowndown
  • lp_get_parent_directory
  • lp_get_value
  • lp_global_config
  • lp_head
  • lp_in_admin_header
  • lp_init
  • lp_list_feature
  • lp_load_widgets
  • lp_main_headline
  • lp_manage_templates
  • lp_move_template_files
  • lp_rebuild_attributes
  • lp_templates_upload
  • mailer_check_active
  • wp_cta_check_active
  • wp_cta_kill_ie8
  • wp_cta_load_calls_to_action
  • wp_leads_get_page_final_id
  • wpl_url_to_postid
  • wpleads_add_lead_to_list
  • wpleads_check_active
  • wpleads_get_lead_lists_as_array
  • Overview
  • Package
  • Class
  1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 
<?php
/**
 * Class Inbound_Mailer_Scheduling provides methods for scheduling emails, generating batches, and other supportive routines
 *
 * @package Mailer
 * @subpackage  Scheduling
 */

class Inbound_Mailer_Scheduling {

    static $email_id; /* placeholder for email id */
    static $settings; /* placeholder for email settings */
    static $batches; /* placeholder for lead batches */
    static $recipients; /* placeholder will allow manually defining recipents */

    /**
     *    Determine batching patterns
     * @param INT $email_id
     */
    public static function create_batches($email_id) {

        $params = array();

        /* get settings */
        $settings = Inbound_Mailer_Scheduling::$settings;

        /* get variations */
        $variations = $settings['variations'];

        /* count variations */
        $variation_count = count($variations);
        if (isset(Inbound_Mailer_Scheduling::$recipients)) {
            $settings['recipients'] = Inbound_Mailer_Scheduling::$recipients;
        }


        /* Prepare leads lookup */
        $params = array(
            'include_lists' => $settings['recipients'],
            'return' => 'ID',
            'results_per_page' => -1,
            'orderby' => 'rand',
            'fields' => 'ids'
        );


        $results = Inbound_API::leads_get($params);
        $leads = $results->posts;

        $chunk_size = round(count($leads) / $variation_count);

        /* sometimes we may have less leads than variations */
        if ($chunk_size>1) {
            $batches = array_chunk($leads, $chunk_size);

            /* if the batch variation id is not already correct then change keys */
            $i = 0;
            foreach ($variations as $vid => $settings) {
                $batch_array[$vid] = $batches[$i];
                $i++;
            }
        } else {
            $batch_array[0] = $leads;
        }




        self::$batches = $batch_array;
        //error_log(print_r(self::$batches,true));
    }

    /**
     * Schedules email
     * @param $email_id Post ID of automated email to send
     * @param array $tokens Tokens belonging to Automation Rule Trigger
     * @param array $action Action information belonging to Automation Rule
     * @return int
     */
    public static function schedule_email($email_id , $tokens = array() , $action = array() , $recipients = null ) {
        global $wpdb;

        /* set recipeints */
        Inbound_Mailer_Scheduling::$recipients = ($recipients ) ?  $recipients : Inbound_Mailer_Scheduling::$recipients;

        /* load email settings into static variable */
        Inbound_Mailer_Scheduling::$settings = Inbound_Email_Meta::get_settings($email_id);

        /* Prepare lead batches */
        Inbound_Mailer_Scheduling::create_batches($email_id);

        /* Set target mysql table name */
        $table_name = $wpdb->prefix . "inbound_email_queue";

        /* Prepare Schedule time */
        $timestamp = Inbound_Mailer_Scheduling::get_timestamp();

        /* prepare rule and action id if none are set */
        if (!isset($action['rule_id'])) {
            $action['rule_id'] = 0;
            $action['job_id'] = 0;
        }

        /* prepare tokens for MySQL */
        $tokens_encoded = str_replace("'", "\\'", json_encode($tokens));

        /* check for a post id inside of tokens */
        $post_id =  (isset($tokens['post_object']) && isset($tokens['post_object']['ID'])) ? $tokens['post_object']['ID'] : 0;

        /* prepare multi insert query string - limit to 1000 inserts at a time */
        $send_count = 0;
        foreach (self::$batches as $vid => $leads) {
            $send_count = $send_count + count($leads);

            $query_values_array = array();
            $query_prefix = "INSERT INTO {$table_name} ( `email_id` , `variation_id` , `lead_id` , `type` , `tokens` ,`status` , `datetime` , `rule_id` , `job_id`, `list_ids`, `post_id` )";
            $query_prefix .= "VALUES";

            foreach ($leads as $ID) {
                $query_values_array[] = "( {$email_id} , {$vid} , {$ID} , '" . Inbound_Mailer_Scheduling::$settings['email_type'] . "' , '".$tokens_encoded."' ,'waiting' , '{$timestamp}' , '{$action['rule_id']}' , '{$action['job_id']}', '".json_encode(Inbound_Mailer_Scheduling::$recipients)."' , '".$post_id."')";
            }

            $value_batches = array_chunk($query_values_array, 500);
            foreach ($value_batches as $values) {
                $query_values = implode(',', $values);
                $query = $query_prefix . $query_values;
                $wpdb->query($query);
            }
        }

        return $send_count;
    }

    /**
     *    Unscheduled email
     */
    public static function unschedule_email( $email_id ) {

        do_action('mailer/unschedule-email' , $email_id );

        /* remove any error flags */
        Inbound_Options_API::update_option('inbound-email', 'errors-detected', false);
    }

    /**
     *    Get timestamp given saved timezone information
     */
    public static function get_timestamp() {
        global $inbound_settings;

        /* Set email service */
        $email_service = (isset($inbound_settings['mailer']['mail-service'])) ? $inbound_settings['mailer']['mail-service'] : 'sparkpost' ;

        $settings = Inbound_Mailer_Scheduling::$settings;

        if ($settings['email_type'] == 'automated') {
            return gmdate("Y-m-d\\TG:i:s\\Z");
        }

        $tz = explode('-UTC', $settings['timezone']);
        $timezone = timezone_name_from_abbr($tz[0], 60 * 60 * intval($tz[1]));

        date_default_timezone_set($timezone);

        switch ($email_service) {
            case "sparkpost":
                $timestamp = date("Y-m-d\\TG:i:s\\Z", strtotime($settings['send_datetime']));
                break;
        }



        return $timestamp;
    }


    /**
     *    Get's current utc timezone offset
     */
    public static function get_current_timezone() {
        $gmt_offset = get_option('gmt_offset');

        $timezone = timezone_name_from_abbr("", $gmt_offset * 60 * 60, 0);
        $timezone = ($timezone) ? $timezone : get_option('timezone_string');
        $timezone = ($timezone) ? $timezone : date_default_timezone_get();

        $dateTime = new DateTime();
        $dateTime->setTimeZone(new DateTimeZone($timezone));

        return array('abbr' => $dateTime->format('T'), 'offset' => $gmt_offset);
    }

    /**
     *    Get array of timezones
     */
    public static function get_timezones() {
        return array(
            array('abbr' => 'NUT', 'name' => __('Niue Time', 'inbound-email'), 'utc' => 'UTC-11'),
            array('abbr' => 'SST', 'name' => __('Samoa Standard Time', 'inbound-email'), 'utc' => 'UTC-11'),
            array('abbr' => 'CKT', 'name' => __('Cook Island Time', 'inbound-email'), 'utc' => 'UTC-10'),
            array('abbr' => 'HAST', 'name' => __('Hawaii-Aleutian Standard Time', 'inbound-email'), 'utc' => 'UTC-10'),
            array('abbr' => 'HST', 'name' => __('Hawaii Standard Time', 'inbound-email'), 'utc' => 'UTC-10'),
            array('abbr' => 'TAHT', 'name' => __('Tahiti Time', 'inbound-email'), 'utc' => 'UTC-10'),
            array('abbr' => 'MART', 'name' => __('Marquesas Islands Time', 'inbound-email'), 'utc' => 'UTC-9:30'),
            array('abbr' => 'MIT', 'name' => __('Marquesas Islands Time', 'inbound-email'), 'utc' => 'UTC-9:30'),
            array('abbr' => 'AKST', 'name' => __('Alaska Standard Time', 'inbound-email'), 'utc' => 'UTC-9'),
            array('abbr' => 'GAMT', 'name' => __('Gambier Islands', 'inbound-email'), 'utc' => 'UTC-9'),
            array('abbr' => 'GIT', 'name' => __('Gambier Island Time', 'inbound-email'), 'utc' => 'UTC-9'),
            array('abbr' => 'HADT', 'name' => __('Hawaii-Aleutian Daylight Time', 'inbound-email'), 'utc' => 'UTC-9'),
            array('abbr' => 'AKDT', 'name' => __('Alaska Daylight Time', 'inbound-email'), 'utc' => 'UTC-8'),
            array('abbr' => 'CIST', 'name' => __('Clipperton Island Standard Time', 'inbound-email'), 'utc' => 'UTC-8'),
            array('abbr' => 'PST', 'name' => __('Pacific Standard Time (North America)', 'inbound-email'), 'utc' => 'UTC-8'),
            array('abbr' => 'MDT', 'name' => __('Mountain Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-7'),
            array('abbr' => 'PDT', 'name' => __('Pacific Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-7'),
            array('abbr' => 'PDT', 'name' => __('Pacific Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-7'),
            array('abbr' => 'CST', 'name' => __('Central Standard Time (North America)', 'inbound-email'), 'utc' => 'UTC-6'),
            array('abbr' => 'EAST', 'name' => __('Easter Island Standard Time', 'inbound-email'), 'utc' => 'UTC-6'),
            array('abbr' => 'GALT', 'name' => __('Galapagos Time', 'inbound-email'), 'utc' => 'UTC-6'),
            array('abbr' => 'MDT', 'name' => __('Mountain Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-6'),
            array('abbr' => 'CDT', 'name' => __('Central Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'COT', 'name' => __('Colombia Time', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'CST', 'name' => __('Cuba Standard Time', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'EASST', 'name' => __('Easter Island Standard Summer Time', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'ECT', 'name' => __('Ecuador Time', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'EST', 'name' => __('Eastern Standard Time (North America)', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'PET', 'name' => __('Peru Time', 'inbound-email'), 'utc' => 'UTC-5'),
            array('abbr' => 'VET', 'name' => __('Venezuelan Standard Time', 'inbound-email'), 'utc' => 'UTC-4:30'),
            array('abbr' => 'AMT', 'name' => __('Amazon Time (Brazil)[2]', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'AST', 'name' => __('Atlantic Standard Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'BOT', 'name' => __('Bolivia Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'CDT', 'name' => __('Cuba Daylight Time[3]', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'CLT', 'name' => __('Chile Standard Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'COST', 'name' => __('Colombia Summer Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'ECT', 'name' => __('Eastern Caribbean Time (does not recognise DST)', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'EDT', 'name' => __('Eastern Daylight Time (North America)', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'FKT', 'name' => __('Falkland Islands Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'GYT', 'name' => __('Guyana Time', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'PYT', 'name' => __('Paraguay Time (Brazil)[7]', 'inbound-email'), 'utc' => 'UTC-4'),
            array('abbr' => 'NST', 'name' => __('Newfoundland Standard Time', 'inbound-email'), 'utc' => 'UTC-3:30'),
            array('abbr' => 'NT', 'name' => __('Newfoundland Time', 'inbound-email'), 'utc' => 'UTC-3:30'),
            array('abbr' => 'ADT', 'name' => __('Atlantic Daylight Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'AMST', 'name' => __('Amazon Summer Time (Brazil)[1]', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'ART', 'name' => __('Argentina Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'BRT', 'name' => __('Brasilia Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'CLST', 'name' => __('Chile Summer Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'FKST', 'name' => __('Falkland Islands Standard Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'FKST', 'name' => __('Falkland Islands Summer Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'GFT', 'name' => __('French Guiana Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'PMST', 'name' => __('Saint Pierre and Miquelon Standard Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'PYST', 'name' => __('Paraguay Summer Time (Brazil)', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'ROTT', 'name' => __('Rothera Research Station Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'SRT', 'name' => __('Suriname Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'UYT', 'name' => __('Uruguay Standard Time', 'inbound-email'), 'utc' => 'UTC-3'),
            array('abbr' => 'NDT', 'name' => __('Newfoundland Daylight Time', 'inbound-email'), 'utc' => 'UTC-2:30'),
            array('abbr' => 'FNT', 'name' => __('Fernando de Noronha Time', 'inbound-email'), 'utc' => 'UTC-2'),
            array('abbr' => 'GST', 'name' => __('South Georgia and the South Sandwich Islands', 'inbound-email'), 'utc' => 'UTC-2'),
            array('abbr' => 'PMDT', 'name' => __('Saint Pierre and Miquelon Daylight time', 'inbound-email'), 'utc' => 'UTC-2'),
            array('abbr' => 'UYST', 'name' => __('Uruguay Summer Time', 'inbound-email'), 'utc' => 'UTC-2'),
            array('abbr' => 'AZOST', 'name' => __('Azores Standard Time', 'inbound-email'), 'utc' => 'UTC-1'),
            array('abbr' => 'CVT', 'name' => __('Cape Verde Time', 'inbound-email'), 'utc' => 'UTC-1'),
            array('abbr' => 'EGT', 'name' => __('Eastern Greenland Time', 'inbound-email'), 'utc' => 'UTC-1'),
            array('abbr' => 'GMT', 'name' => __('Greenwich Mean Time', 'inbound-email'), 'utc' => 'UTC'),
            array('abbr' => 'UCT', 'name' => __('Coordinated Universal Time', 'inbound-email'), 'utc' => 'UTC'),
            array('abbr' => 'UTC', 'name' => __('Coordinated Universal Time', 'inbound-email'), 'utc' => 'UTC'),
            array('abbr' => 'WET', 'name' => __('Western European Time', 'inbound-email'), 'utc' => 'UTC'),
            array('abbr' => 'Z', 'name' => __('Zulu Time (Coordinated Universal Time)', 'inbound-email'), 'utc' => 'UTC'),
            array('abbr' => 'EGST', 'name' => __('Eastern Greenland Summer Time', 'inbound-email'), 'utc' => 'UTC+00'),
            array('abbr' => 'BST', 'name' => __('British Summer Time (British Standard Time from Feb 1968 to Oct 1971)', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'CET', 'name' => __('Central European Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'DFT', 'name' => __('AIX specific equivalent of Central European Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'IST', 'name' => __('Irish Standard Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'MET', 'name' => __('Middle European Time Same zone as CET', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'WAT', 'name' => __('West Africa Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'WEDT', 'name' => __('Western European Daylight Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'WEST', 'name' => __('Western European Summer Time', 'inbound-email'), 'utc' => 'UTC+01'),
            array('abbr' => 'CAT', 'name' => __('Central Africa Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'CEDT', 'name' => __('Central European Daylight Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'CEST', 'name' => __('Central European Summer Time (Cf. HAEC)', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'EET', 'name' => __('Eastern European Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'HAEC', 'name' => __('Heure Avance d\'Europe Centrale francised name for CEST', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'IST', 'name' => __('Israel Standard Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'MEST', 'name' => __('Middle European Saving Time Same zone as CEST', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'SAST', 'name' => __('South African Standard Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'WAST', 'name' => __('West Africa Summer Time', 'inbound-email'), 'utc' => 'UTC+02'),
            array('abbr' => 'AST', 'name' => __('Arabia Standard Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'EAT', 'name' => __('East Africa Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'EEDT', 'name' => __('Eastern European Daylight Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'EEST', 'name' => __('Eastern European Summer Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'FET', 'name' => __('Further-eastern European Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'IDT', 'name' => __('Israel Daylight Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'IOT', 'name' => __('Indian Ocean Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'SYOT', 'name' => __('Showa Station Time', 'inbound-email'), 'utc' => 'UTC+03'),
            array('abbr' => 'IRST', 'name' => __('Iran Standard Time', 'inbound-email'), 'utc' => 'UTC+03:30'),
            array('abbr' => 'AMT', 'name' => __('Armenia Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'AZT', 'name' => __('Azerbaijan Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'GET', 'name' => __('Georgia Standard Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'GST', 'name' => __('Gulf Standard Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'MSK', 'name' => __('Moscow Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'MUT', 'name' => __('Mauritius Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'RET', 'name' => __('R??union Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'SAMT', 'name' => __('Samara Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'SCT', 'name' => __('Seychelles Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'VOLT', 'name' => __('Volgograd Time', 'inbound-email'), 'utc' => 'UTC+04'),
            array('abbr' => 'AFT', 'name' => __('Afghanistan Time', 'inbound-email'), 'utc' => 'UTC+04:30'),
            array('abbr' => 'AMST', 'name' => __('Armenia Summer Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'HMT', 'name' => __('Heard and McDonald Islands Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'MAWT', 'name' => __('Mawson Station Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'MVT', 'name' => __('Maldives Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'ORAT', 'name' => __('Oral Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'PKT', 'name' => __('Pakistan Standard Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'TFT', 'name' => __('Indian/Kerguelen', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'TJT', 'name' => __('Tajikistan Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'TMT', 'name' => __('Turkmenistan Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'UZT', 'name' => __('Uzbekistan Time', 'inbound-email'), 'utc' => 'UTC+05'),
            array('abbr' => 'IST', 'name' => __('Indian Standard Time', 'inbound-email'), 'utc' => 'UTC+05:30'),
            array('abbr' => 'SLST', 'name' => __('Sri Lanka Time', 'inbound-email'), 'utc' => 'UTC+05:30'),
            array('abbr' => 'NPT', 'name' => __('Nepal Time', 'inbound-email'), 'utc' => 'UTC+05:45'),
            array('abbr' => 'BIOT', 'name' => __('British Indian Ocean Time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'BST', 'name' => __('Bangladesh Standard Time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'BTT', 'name' => __('Bhutan Time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'KGT', 'name' => __('Kyrgyzstan time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'VOST', 'name' => __('Vostok Station Time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'YEKT', 'name' => __('Yekaterinburg Time', 'inbound-email'), 'utc' => 'UTC+06'),
            array('abbr' => 'CCT', 'name' => __('Cocos Islands Time', 'inbound-email'), 'utc' => 'UTC+06:30'),
            array('abbr' => 'MMT', 'name' => __('Myanmar Time', 'inbound-email'), 'utc' => 'UTC+06:30'),
            array('abbr' => 'MYST', 'name' => __('Myanmar Standard Time', 'inbound-email'), 'utc' => 'UTC+06:30'),
            array('abbr' => 'CXT', 'name' => __('Christmas Island Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'DAVT', 'name' => __('Davis Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'HOVT', 'name' => __('Khovd Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'ICT', 'name' => __('Indochina Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'KRAT', 'name' => __('Krasnoyarsk Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'OMST', 'name' => __('Omsk Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'THA', 'name' => __('Thailand Standard Time', 'inbound-email'), 'utc' => 'UTC+07'),
            array('abbr' => 'ACT', 'name' => __('ASEAN Common Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'AWST', 'name' => __('Australian Western Standard Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'BDT', 'name' => __('Brunei Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'CHOT', 'name' => __('Choibalsan', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'CIT', 'name' => __('Central Indonesia Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'CST', 'name' => __('China Standard Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'CT', 'name' => __('China time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'HKT', 'name' => __('Hong Kong Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'IRDT', 'name' => __('Iran Daylight Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'MYT', 'name' => __('Malaysia Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'PHT', 'name' => __('Philippine Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'SGT', 'name' => __('Singapore Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'SST', 'name' => __('Singapore Standard Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'ULAT', 'name' => __('Ulaanbaatar Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'WST', 'name' => __('Western Standard Time', 'inbound-email'), 'utc' => 'UTC+08'),
            array('abbr' => 'CWST', 'name' => __('Central Western Standard Time (Australia)', 'inbound-email'), 'utc' => 'UTC+08:45'),
            array('abbr' => 'AWDT', 'name' => __('Australian Western Daylight Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'EIT', 'name' => __('Eastern Indonesian Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'IRKT', 'name' => __('Irkutsk Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'JST', 'name' => __('Japan Standard Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'KST', 'name' => __('Korea Standard Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'TLT', 'name' => __('Timor Leste Time', 'inbound-email'), 'utc' => 'UTC+09'),
            array('abbr' => 'ACST', 'name' => __('Australian Central Standard Time', 'inbound-email'), 'utc' => 'UTC+09:30'),
            array('abbr' => 'CST', 'name' => __('Central Standard Time (Australia)', 'inbound-email'), 'utc' => 'UTC+09:30'),
            array('abbr' => 'AEST', 'name' => __('Australian Eastern Standard Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'ChST', 'name' => __('Chamorro Standard Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'CHUT', 'name' => __('Chuuk Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'DDUT', 'name' => __('Dumont d\'Urville Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'EST', 'name' => __('Eastern Standard Time (Australia)', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'PGT', 'name' => __('Papua New Guinea Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'VLAT', 'name' => __('Vladivostok Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'YAKT', 'name' => __('Yakutsk Time', 'inbound-email'), 'utc' => 'UTC+10'),
            array('abbr' => 'ACDT', 'name' => __('Australian Central Daylight Time', 'inbound-email'), 'utc' => 'UTC+10:30'),
            array('abbr' => 'CST', 'name' => __('Central Summer Time (Australia)', 'inbound-email'), 'utc' => 'UTC+10:30'),
            array('abbr' => 'LHST', 'name' => __('Lord Howe Standard Time', 'inbound-email'), 'utc' => 'UTC+10:30'),
            array('abbr' => 'AEDT', 'name' => __('Australian Eastern Daylight Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'KOST', 'name' => __('Kosrae Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'LHST', 'name' => __('Lord Howe Summer Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'MIST', 'name' => __('Macquarie Island Station Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'NCT', 'name' => __('New Caledonia Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'PONT', 'name' => __('Pohnpei Standard Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'SAKT', 'name' => __('Sakhalin Island time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'SBT', 'name' => __('Solomon Islands Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'VUT', 'name' => __('Vanuatu Time', 'inbound-email'), 'utc' => 'UTC+11'),
            array('abbr' => 'NFT', 'name' => __('Norfolk Time', 'inbound-email'), 'utc' => 'UTC+11:30'),
            array('abbr' => 'FJT', 'name' => __('Fiji Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'GILT', 'name' => __('Gilbert Island Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'MAGT', 'name' => __('Magadan Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'MHT', 'name' => __('Marshall Islands', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'NZST', 'name' => __('New Zealand Standard Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'PETT', 'name' => __('Kamchatka Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'TVT', 'name' => __('Tuvalu Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'WAKT', 'name' => __('Wake Island Time', 'inbound-email'), 'utc' => 'UTC+12'),
            array('abbr' => 'CHAST', 'name' => __('Chatham Standard Time', 'inbound-email'), 'utc' => 'UTC+12:45'),
            array('abbr' => 'NZDT', 'name' => __('New Zealand Daylight Time', 'inbound-email'), 'utc' => 'UTC+13'),
            array('abbr' => 'PHOT', 'name' => __('Phoenix Island Time', 'inbound-email'), 'utc' => 'UTC+13'),
            array('abbr' => 'TOT', 'name' => __('Tonga Time', 'inbound-email'), 'utc' => 'UTC+13'),
            array('abbr' => 'CHADT', 'name' => __('Chatham Daylight Time', 'inbound-email'), 'utc' => 'UTC+13:45'),
            array('abbr' => 'LINT', 'name' => __('Line Islands Time', 'inbound-email'), 'utc' => 'UTC+14'),
            array('abbr' => 'TKT', 'name' => __('Tokelau Time', 'inbound-email'), 'utc' => 'UTC+14'),
        );
    }


}
Inbound Pro Plugin - PHP Codex API documentation generated by ApiGen