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: 
<?php

/**
 * Adds Mailer Component settings to Inbound Pro Setting Area
 *
 * @package Mailer
 * @subpackage  Settings
*/

if ( !class_exists('Inbound_Mailer_Settings') ) {

    class Inbound_Mailer_Settings {

        static $core_settings;
        static $active_tab;

        /**
        *   Initializes class
        */
        public function __construct() {
            self::add_hooks();
        }

        /**
        *   Loads hooks and filters
        */
        public static function add_hooks() {
            /*  Add settings to inbound pro  */
            add_filter('inbound_settings/extend', array( __CLASS__  , 'define_pro_settings' ) );
        }

        /**
        *  Adds pro admin settings
        */
        public static function define_pro_settings( $settings ) {
            global $inbound_settings;

            $service = (isset($inbound_settings['mailer']['mail-service'])) ? $inbound_settings['mailer']['mail-service'] : 'sparkpost';
            $inbound_settings['mailer']['mail-service'] = $service;

            $settings['inbound-pro-setup'][] = array(
                'group_name' => INBOUND_EMAIL_SLUG ,
                'keywords' => __('email,mailer,marketing automation' , 'inbound-pro'),
                'fields' => array (
                    array(
                        'id'  => 'header-mailer',
                        'type'  => 'header',
                        'default'  => __('Inbound Mailer Settings', 'inbound-pro' ),
                        'options' => null
                    ),
                    array(
                        'id'  => 'subheader-unsubscribe',
                        'type'  => 'sub-header',
                        'default'  => __('Unsubscribe Page', 'inbound-pro' ),
                        'options' => null
                    ),
                    array(
                        'id'  => 'unsubscribe-shortcode',
                        'label'  => __('Shortcode:', 'inbound-pro' ),
                        'description'  => __( 'This shortcode can be used to produce an unsubscribe form. Inbound Now automatically creates an Unsubscribe page with this shortcode on activation.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'readonly'  => true,
                        'default'  => '[inbound-email-unsubscribe]',
                    ),
                    array(
                        'id'  => 'unsubscribe-page',
                        'label'  => __('Unsubscribe Location', 'inbound-pro' ),
                        'description'  => __( 'Where to send readers to unsubscribe. We auto create an unsubscribe page on activation, but you can use our shortcode on any page [inbound-email-unsubscribe]. ' , 'inbound-pro' ),
                        'type'  => 'dropdown',
                        'default'  => '',
                        'options' => Inbound_Mailer_Settings::get_pages_array()
                    ),
                    array(
                        'id'  => 'unsubscribe-show-lists',
                        'label'  => __('Show Lists', 'inbound-pro' ),
                        'description'  => __( 'Leave this set to on to give the reader the option to unsubscribe from individual lists.' , 'inbound-pro' ),
                        'type'  => 'dropdown',
                        'default'  => 'on',
                        'options' => array(
                            'on' => __('On' , 'inbound-pro'),
                            'off' => __('Off' , 'inbound-pro'),
                        )
                    ),
                    array(
                        'id'  => 'subheader-language',
                        'type'  => 'sub-header',
                        'default'  => __('Unsubscribe Labels', 'inbound-pro' ),
                        'options' => null
                    ),
                    array(
                        'id'  => 'unsubscribe-header-text',
                        'label'  => __('Unsubscribe Header', 'inbound-pro' ),
                        'description'  => __( 'This text will display inside the unsubscribe button' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __('Unsubscribe:','inbound-pro')

                    ),
                    array(
                        'id'  => 'unsubscribe-button-text',
                        'label'  => __('Unsubscribe Button', 'inbound-pro' ),
                        'description'  => __( 'This text will display inside the unsubscribe button' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __('Unsubscribe','inbound-pro')

                    ),
                    array(
                        'id'  => 'mute-header-text',
                        'label'  => __('Mute Section Header', 'inbound-pro' ),
                        'description'  => __( 'This text will display inside the mute button' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __('Mute:','inbound-pro')

                    ),
                    array(
                        'id'  => 'unsubscribe-confirmation-message',
                        'label'  => __('Confirmation Message #1', 'inbound-pro' ),
                        'description'  => __( 'This message will show after a reader has unsubscribed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __('Thank you!','inbound-pro')

                    ),
                    array(
                        'id'  => 'automation-unsubscribe-confirmation-message',
                        'label'  => __('Confirmation Message #2', 'inbound-pro' ),
                        'description'  => __( 'This message will show after a reader has clicked unsubscribe from an automated email series.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( 'You have been unsubscribed from this series!' , 'inbound-pro' )
                    ),
                    /*
                    array(
                        'id'  => 'unsubscribe-notice-automation-series',
                        'label'  => __('Confirmation Message #2', 'inbound-pro' ),
                        'description'  => __( 'This message will show after a reader has clicked unsubscribe within an email automated series.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( 'You have unsubscribed!<br>Additional options below.', 'inbound-pro')

                    ),*/
                    array(
                        'id'  => 'unsubscribe-comments-header-1',
                        'label'  => __('Comment Prompt', 'inbound-pro' ),
                        'description'  => __( 'This message is meant to encourage the reader to leave an unsubscribe comments.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( 'Please help us improve by providing us with feedback.' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-comments-header-2',
                        'label'  => __('Comment Area Header', 'inbound-pro' ),
                        'description'  => __( 'This is a general header denoting the comment textarea below.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( 'Comments' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-all-lists-label',
                        'label'  => __('"All Lists" label', 'inbound-pro' ),
                        'description'  => __( 'When readers are given the option to unsubscribe from all lists, this label is displayed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( 'All Lists' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-1-months',
                        'label'  => __('1 Month Label', 'inbound-pro' ),
                        'description'  => __( 'When readers are given the option to unsubscribe for 1 month, this label is displayed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( '1 Month' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-3-months',
                        'label'  => __('3 Months Label', 'inbound-pro' ),
                        'description'  => __( 'When readers are given the option to unsubscribe for 3 months, this label is displayed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( '3 Months' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-6-months',
                        'label'  => __('6 Months Label', 'inbound-pro' ),
                        'description'  => __( 'When readers are given the option to unsubscribe for 6 months, this label is displayed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( '6 Months' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'unsubscribe-12-months',
                        'label'  => __('12 Months Label', 'inbound-pro' ),
                        'description'  => __( 'When readers are given the option to unsubscribe for 12 months, this label is displayed.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => __( '12 Months' , 'inbound-pro' )
                    ),
                    array(
                        'id'  => 'subheader-unsubscribe',
                        'type'  => 'sub-header',
                        'default'  => __('Processing Engine', 'inbound-pro' ),
                        'options' => null
                    ),
                    array(
                        'id'  => 'processing-limit',
                        'label'  => __('Processing Limit', 'inbound-pro' ),
                        'description'  => __( 'We will schedule/process this many emails to be sent to your email service every two minutes. If your server is having trouble handling 30 emails per cycle, please try reducing the number. Note that this will slow down the send process. To make up for delayed sends please schedule your email to be sent in the future. ' , 'inbound-pro' ),
                        'type'  => 'number',
                        'default'  => '30'
                    ),
                    array(
                        'id'  => 'processing-threads',
                        'label'  => __('Processing Threads', 'inbound-pro' ),
                        'description'  => __( '(Inactive) We can increase this number to multiply our processing powers. Be very careful though, this could cause your server to overwork and damage your sending efforts. If you\'re not sure what you are doing leave this to 1.' , 'inbound-pro' ),
                        'type'  => 'number',
                        'default'  => '1'
                    ),

                    array(
                        'id'  => 'subheader-unsubscribe',
                        'type'  => 'sub-header',
                        'default'  => __('Mail Service Setup', 'inbound-pro' ),
                        'options' => null
                    ),
                    array(
                        'id'  => 'mail-service',
                        'label'  => __('Mail Service', 'inbound-pro' ),
                        'description'  => __( 'Choose which email service will power the email component.' , 'inbound-pro' ),
                        'type'  => 'dropdown',
                        'default'  => 'none',
                        'options' => array(
                            'none' => __( 'none' ),
                            'sparkpost' => __( 'SparkPost' , 'inbound-pro' )
                        ),
                        'hidden' => false,
                        'reveal' => array(
                            'selector' => null ,
                            'value' => null
                        )
                    ),
                    array(
                        'id'  => 'sparkpost-key',
                        'label'  => __('SparkPost API Key', 'inbound-pro' ),
                        'description'  => __( 'Enter in your SparkPost API Key here.' , 'inbound-pro' ),
                        'type'  => 'text',
                        'default'  => '',
                        'options' => null,
                        'hidden' =>  ( $service == 'sparkpost' ? false : true ) ,
                        'reveal' => array(
                            'selector' => '#mail-service' ,
                            'value' => 'sparkpost'
                        )
                    ),
                    array(
                        'id'  => 'sparkpost-status-display',
                        'type'  => 'html',
                        'label' => __( 'Status:' , 'inbound-pro' ),
                        'value' => '',
                        'callback' => array( 'Inbound_SparkPost_Stats' , 'display_api_status' ),
                        'hidden' => ( $service == 'sparkpost' ? false : true ) ,
                        'reveal' => array(
                            'selector' => '#mail-service' ,
                            'value' => 'sparkpost'
                        )
                    ),
                    array(
                        'id'  => 'sparkpost-setup-instructions',
                        'type'  => 'ol',
                        'label' => __( 'Setup Instructions:' , 'inbound-pro' ),
                        'options' => array(
                            '<a href="https://app.sparkpost.com/account/credentials" target="_blank">'.__('Create an API Key','inbound-pro').'</a>'
                        ),
                        'hidden' => ( $service == 'sparkpost' ? false : true ) ,
                        'reveal' => array(
                            'selector' => '#mail-service' ,
                            'value' => 'sparkpost'
                        )
                    )
                )

            );


            return $settings;

        }

        /**
        *  Gets array of pages with ID => Label format
        *
        */
        public static function get_pages_array() {
            $pages = get_pages();

            $pages_array = array() ;

            foreach ($pages as $page) {
                $pages_array[ $page->ID ] = $page->post_title;
            }

            return $pages_array;
        }



        /**
        *  Gets settings value depending on if Inbound Pro or single installation.
        */
        public static function get_settings() {
            global $inbound_settings;

            $keys['unsubscribe_page'] = (isset($inbound_settings['mailer']['unsubscribe-page'])) ? $inbound_settings['mailer']['unsubscribe-page'] : null;
            $keys['sparkpost-key'] = (isset($inbound_settings['mailer']['sparkpost-key'])) ? $inbound_settings['mailer']['sparkpost-key'] : null;
            $keys['mail-service'] = (isset($inbound_settings['mailer']['mail-service'])) ? $inbound_settings['mailer']['mail-service'] : null;

            return $keys;

        }

        /**
        *  Get Settings URL
        */
        public static function get_settings_url() {

            if (!defined('INBOUND_PRO_CURRENT_VERSION')) {
                $settings_url = admin_url('edit.php?post_type=inbound-email&page=inbound_email_global_settings');
            } else {
                $settings_url = admin_url('admin.php?page=inbound-pro&setting=email');
            }

            return $settings_url;
        }
    }



    /**
    *   Loads Inbound_Mailer_Settings on admin_init
    */
    function load_Inbound_Mailer_Settings() {
        $Inbound_Mailer_Settings = new Inbound_Mailer_Settings;
    }
    add_action( 'admin_init' , 'load_Inbound_Mailer_Settings' );

}

Inbound Pro Plugin - PHP Codex API documentation generated by ApiGen