wp/wp-content/plugins/option-tree/includes/ot-functions-admin.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php if ( ! defined( 'OT_VERSION' ) ) exit( 'No direct script access allowed' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * Functions used only while viewing the admin UI.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Limit loading these function only when needed 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * and not in the front end.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * @package   OptionTree
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * @author    Derek Herman <derek@valendesigns.com>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 * @copyright Copyright (c) 2013, Derek Herman
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * Registers the Theme Option page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * @uses      ot_register_settings()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
if ( ! function_exists( 'ot_register_theme_options_page' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  function ot_register_theme_options_page() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    /* get the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    $get_settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    /* sections array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    $sections = isset( $get_settings['sections'] ) ? $get_settings['sections'] : array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    /* settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    $settings = isset( $get_settings['settings'] ) ? $get_settings['settings'] : array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    /* contexual_help array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    $contextual_help = isset( $get_settings['contextual_help'] ) ? $get_settings['contextual_help'] : array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    /* build the Theme Options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    if ( function_exists( 'ot_register_settings' ) && OT_USE_THEME_OPTIONS ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
      ot_register_settings( array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
            'id'                  => 'option_tree',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
            'pages'               => array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
              array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
                'id'              => 'ot_theme_options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
                'parent_slug'     => apply_filters( 'ot_theme_options_parent_slug', 'themes.php' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
                'page_title'      => apply_filters( 'ot_theme_options_page_title', __( 'Theme Options', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                'menu_title'      => apply_filters( 'ot_theme_options_menu_title', __( 'Theme Options', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
                'capability'      => $caps = apply_filters( 'ot_theme_options_capability', 'edit_theme_options' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
                'menu_slug'       => apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
                'icon_url'        => apply_filters( 'ot_theme_options_icon_url', null ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
                'position'        => apply_filters( 'ot_theme_options_position', null ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
                'updated_message' => apply_filters( 'ot_theme_options_updated_message', __( 'Theme Options updated.', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
                'reset_message'   => apply_filters( 'ot_theme_options_reset_message', __( 'Theme Options reset.', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
                'button_text'     => apply_filters( 'ot_theme_options_button_text', __( 'Save Changes', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
                'screen_icon'     => 'themes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
                'contextual_help' => $contextual_help,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
                'sections'        => $sections,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
                'settings'        => $settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
              )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
            )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
      );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
      // Filters the options.php to add the minimum user capabilities.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
      add_filter( 'option_page_capability_option_tree', create_function( '$caps', "return '$caps';" ), 999 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
 * Registers the Settings page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
 * @uses      ot_register_settings()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
if ( ! function_exists( 'ot_register_settings_page' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
  function ot_register_settings_page() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
    // Create the filterable pages array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
    $ot_register_pages_array =  array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
      array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
        'id'              => 'ot',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
        'page_title'      => __( 'OptionTree', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
        'menu_title'      => __( 'OptionTree', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
        'capability'      => 'edit_theme_options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        'menu_slug'       => 'ot-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
        'icon_url'        => OT_URL . '/assets/images/ot-logo-mini.png',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
        'position'        => 61,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
        'hidden_page'     => true
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
        'id'              => 'settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
        'parent_slug'     => 'ot-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
        'page_title'      => __( 'Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        'menu_title'      => __( 'Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
        'capability'      => 'edit_theme_options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
        'menu_slug'       => 'ot-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
        'icon_url'        => null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        'position'        => null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        'updated_message' => __( 'Theme Options updated.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
        'reset_message'   => __( 'Theme Options reset.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
        'button_text'     => __( 'Save Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
        'show_buttons'    => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
        'screen_icon'     => 'themes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
        'sections'        => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
            'id'          => 'create_setting',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
            'title'       => __( 'Theme Options UI', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
            'id'          => 'import',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
            'title'       => __( 'Import', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
            'id'          => 'export',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
            'title'       => __( 'Export', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
            'id'          => 'layouts',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
            'title'       => __( 'Layouts', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
        ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
        'settings'        => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
            'id'          => 'theme_options_ui_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
            'label'       => __( 'Theme Options UI Builder', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
            'type'        => 'theme_options_ui',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
            'section'     => 'create_setting'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
            'id'          => 'import_xml_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
            'label'       => __( 'Settings XML', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
            'type'        => 'import-xml',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
            'section'     => 'import'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
            'id'          => 'import_settings_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
            'label'       => __( 'Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
            'type'        => 'import-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
            'section'     => 'import'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
            'id'          => 'import_data_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
            'label'       => __( 'Theme Options', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
            'type'        => 'import-data',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
            'section'     => 'import'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
            'id'          => 'import_layouts_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
            'label'       => __( 'Layouts', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
            'type'        => 'import-layouts',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
            'section'     => 'import'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
            'id'          => 'export_settings_file_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
            'label'       => __( 'Settings PHP File', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
            'type'        => 'export-settings-file',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
            'section'     => 'export'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
            'id'          => 'export_settings_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
            'label'       => __( 'Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
            'type'        => 'export-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
            'section'     => 'export'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
            'id'          => 'export_data_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
            'label'       => __( 'Theme Options', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
            'type'        => 'export-data',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
            'section'     => 'export'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
            'id'          => 'export_layout_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
            'label'       => __( 'Layouts', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
            'type'        => 'export-layouts',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
            'section'     => 'export'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
            'id'          => 'modify_layouts_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
            'label'       => __( 'Layout Management', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
            'type'        => 'modify-layouts',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
            'section'     => 'layouts'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
        )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
        'id'              => 'documentation',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
        'parent_slug'     => 'ot-settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
        'page_title'      => __( 'Documentation', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
        'menu_title'      => __( 'Documentation', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
        'capability'      => 'edit_theme_options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
        'menu_slug'       => 'ot-documentation',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
        'icon_url'        => null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
        'position'        => null,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
        'updated_message' => __( 'Theme Options updated.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
        'reset_message'   => __( 'Theme Options reset.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
        'button_text'     => __( 'Save Settings', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
        'show_buttons'    => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
        'screen_icon'     => 'themes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
        'sections'        => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
            'id'          => 'creating_options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
            'title'       => __( 'Creating Options', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
            'id'          => 'option_types',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
            'title'       => __( 'Option Types', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
            'id'          => 'functions',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
            'title'       => __( 'Function References', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
            'id'          => 'theme_mode',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
            'title'       => __( 'Theme Mode', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
            'id'          => 'meta_boxes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
            'title'       => __( 'Meta Boxes', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
            'id'          => 'examples',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
            'title'       => __( 'Code Examples', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
            'id'          => 'layouts_overview',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
            'title'       => __( 'Layouts Overview', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
        ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
        'settings'        => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
            'id'          => 'creating_options_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
            'label'       => __( 'Overview of available Theme Option fields.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
            'type'        => 'creating-options',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
            'section'     => 'creating_options'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
            'id'          => 'option_types_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
            'label'       => __( 'Option types in alphabetical order & hooks to filter them.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
            'type'        => 'option-types',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
            'section'     => 'option_types'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
            'id'          => 'functions_ot_get_option',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
            'label'       => __( 'Function Reference:ot_get_option()', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
            'type'        => 'ot-get-option',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
            'section'     => 'functions'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
            'id'          => 'functions_get_option_tree',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
            'label'       => __( 'Function Reference:get_option_tree()', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
            'type'        => 'get-option-tree',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
            'section'     => 'functions'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
            'id'          => 'theme_mode_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
            'label'       => __( 'Theme Mode', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
            'type'        => 'theme-mode',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
            'section'     => 'theme_mode'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
            'id'          => 'meta_boxes_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
            'label'       => __( 'Meta Boxes', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
            'type'        => 'meta-boxes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
            'section'     => 'meta_boxes'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
            'id'          => 'example_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
            'label'       => __( 'Code examples for front-end development.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
            'type'        => 'examples',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
            'section'     => 'examples'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
            'id'          => 'layouts_overview_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
            'label'       => __( 'What\'s a layout anyhow?', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
            'type'        => 'layouts-overview',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
            'section'     => 'layouts_overview'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
        )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
    // Loop over the settings and remove as needed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
    foreach( $ot_register_pages_array as $key => $page ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
      // Remove various options from the Settings UI.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
      if ( $page['id'] == 'settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
        // Remove the Theme Options UI
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
        if ( OT_SHOW_OPTIONS_UI == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
          foreach( $page['sections'] as $section_key => $section ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
            if ( $section['id'] == 'create_setting' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
              unset($ot_register_pages_array[$key]['sections'][$section_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
          foreach( $page['settings'] as $setting_key => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
            if ( $setting['section'] == 'create_setting' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
              unset($ot_register_pages_array[$key]['settings'][$setting_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
        // Remove parts of the Imports UI
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
        if ( OT_SHOW_SETTINGS_IMPORT == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
          foreach( $page['settings'] as $setting_key => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
            if ( $setting['section'] == 'import' && in_array( $setting['id'], array('import_xml_text', 'import_settings_text' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
              unset($ot_register_pages_array[$key]['settings'][$setting_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
        // Remove parts of the Export UI
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
        if ( OT_SHOW_SETTINGS_EXPORT == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
          foreach( $page['settings'] as $setting_key => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
            if ( $setting['section'] == 'export' && in_array( $setting['id'], array('export_settings_file_text', 'export_settings_text' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
              unset($ot_register_pages_array[$key]['settings'][$setting_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
        // Remove the Layouts UI
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
        if ( OT_SHOW_NEW_LAYOUT == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
          foreach( $page['sections'] as $section_key => $section ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
            if ( $section['id'] == 'layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
              unset($ot_register_pages_array[$key]['sections'][$section_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
          foreach( $page['settings'] as $setting_key => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
            if ( $setting['section'] == 'layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
              unset($ot_register_pages_array[$key]['settings'][$setting_key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
      // Remove the Documentation UI.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
      if ( OT_SHOW_DOCS == false && $page['id'] == 'documentation' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
        unset( $ot_register_pages_array[$key] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
    $ot_register_pages_array = apply_filters( 'ot_register_pages_array', $ot_register_pages_array );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
    // Register the pages.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
    ot_register_settings( array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
        array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
          'id'              => 'option_tree_settings',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
          'pages'           => $ot_register_pages_array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
        )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
 * Runs directly after the Theme Options are save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
if ( ! function_exists( 'ot_after_theme_options_save' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
  function ot_after_theme_options_save() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
    $page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
    $updated = isset( $_REQUEST['settings-updated'] ) && $_REQUEST['settings-updated'] == 'true' ? true : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
    /* only execute after the theme options are saved */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
    if ( apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) == $page && $updated ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
      /* grab a copy of the theme options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
      $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
      /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
      do_action( 'ot_after_theme_options_save', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
 * Validate the options by type before saving.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
 * This function will run on only some of the option types
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
 * as all of them don't need to be validated, just the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
 * ones users are going to input data into; because they
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
 * can't be trusted.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
 * @param     mixed     Setting value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
 * @param     string    Setting type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
 * @param     string    Setting field ID
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
 * @param     string    WPML field ID
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
if ( ! function_exists( 'ot_validate_setting' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
  function ot_validate_setting( $input, $type, $field_id, $wmpl_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
    /* exit early if missing data */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
    if ( ! $input || ! $type || ! $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
      return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
    $input = apply_filters( 'ot_validate_setting', $input, $type, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
    /* WPML Register and Unregister strings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
    if ( ! empty( $wmpl_id ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
      /* Allow filtering on the WPML option types */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
      $single_string_types = apply_filters( 'ot_wpml_option_types', array( 'text', 'textarea', 'textarea-simple' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
      if ( in_array( $type, $single_string_types ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
        if ( ! empty( $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
          ot_wpml_register_string( $wmpl_id, $input );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
          ot_wpml_unregister_string( $wmpl_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
    if ( 'background' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
      $input['background-color'] = ot_validate_setting( $input['background-color'], 'colorpicker', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
      $input['background-image'] = ot_validate_setting( $input['background-image'], 'upload', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
    } else if ( 'colorpicker' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
      /* return empty & set error */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
      if ( 0 === preg_match( '/^#([a-f0-9]{6}|[a-f0-9]{3})$/i', $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
        $input = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
        add_settings_error( 'option-tree', 'invalid_hex', __( 'The Colorpicker only allows valid hexadecimal values.', 'option-tree' ), 'error' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
    } else if ( in_array( $type, array( 'css', 'text', 'textarea', 'textarea-simple' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
      if ( ! current_user_can( 'unfiltered_html' ) && OT_ALLOW_UNFILTERED_HTML == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
        $input = wp_kses_post( $input );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
    } else if ( 'measurement' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
      $input[0] = sanitize_text_field( $input[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
    } else if ( 'typography' == $type && isset( $input['font-color'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
      $input['font-color'] = ot_validate_setting( $input['font-color'], 'colorpicker', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
    } else if ( 'upload' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
      $input = sanitize_text_field( $input );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
    $input = apply_filters( 'ot_after_validate_setting', $input, $type, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
    return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
 * Setup the default admin styles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
if ( ! function_exists( 'ot_admin_styles' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
  function ot_admin_styles() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
    wp_enqueue_style( 'ot-admin-css', OT_URL . 'assets/css/ot-admin.css', false, OT_VERSION );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
 * Setup the default admin scripts
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
 * @uses      add_thickbox()          Include Thickbox for file uploads
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
 * @uses      wp_enqueue_script()     Add OptionTree scripts
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
 * @uses      wp_localize_script()    Used to include arbitrary Javascript data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
if ( ! function_exists( 'ot_admin_scripts' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
  function ot_admin_scripts() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
    if ( function_exists( 'wp_enqueue_media' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
      /* WP 3.5 Media Uploader */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
      wp_enqueue_media();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
    } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
      /* Legacy Thickbox */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
      add_thickbox();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
    /* load the colorpicker */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
    wp_enqueue_script( 'ot-colorpicker-js', OT_URL . 'assets/js/ot-colorpicker.js', array( 'jquery' ), OT_VERSION );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
    /* load jQuery-ui slider */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
    wp_enqueue_script( 'jquery-ui-slider' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
    /* load all the required scripts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
    wp_enqueue_script( 'ot-admin-js', OT_URL . 'assets/js/ot-admin.js', array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-sortable', 'media-upload', 'thickbox' ), OT_VERSION );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
    /* create localized JS array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
    $localized_array = array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
      'ajax'                  => admin_url( 'admin-ajax.php' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
      'upload_text'           => __( 'Send to OptionTree', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
      'remove_media_text'     => __( 'Remove Media', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
      'reset_agree'           => __( 'Are you sure you want to reset back to the defaults?', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
      'remove_no'             => __( 'You can\'t remove this! But you can edit the values.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
      'remove_agree'          => __( 'Are you sure you want to remove this?', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
      'activate_layout_agree' => __( 'Are you sure you want to activate this layout?', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
      'setting_limit'         => __( 'Sorry, you can\'t have settings three levels deep.', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
    /* localized script attached to 'option_tree' */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
    wp_localize_script( 'ot-admin-js', 'option_tree', $localized_array );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
 * Returns the ID of a custom post type by post_name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
 * @uses        get_results()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
 * @return      int
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
if ( ! function_exists( 'ot_get_media_post_ID' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
  function ot_get_media_post_ID() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
    global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
    return $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE `post_name` = 'media' AND `post_type` = 'option-tree' AND `post_status` = 'private'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
 * Register custom post type & create the media post used to attach images.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
 * @uses        get_results()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
 * @return      void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
if ( ! function_exists( 'ot_create_media_post' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
  function ot_create_media_post() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
    register_post_type( 'option-tree', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
      'labels'              => array( 'name' => __( 'Option Tree', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
      'public'              => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
      'show_ui'             => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
      'capability_type'     => 'post',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
      'exclude_from_search' => true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
      'hierarchical'        => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
      'rewrite'             => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
      'supports'            => array( 'title', 'editor' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
      'can_export'          => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
      'show_in_nav_menus'   => false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
    ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
    /* look for custom page */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
    $post_id = ot_get_media_post_ID();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
    /* no post exists */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
    if ( $post_id == 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
      /* create post object */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
      $_p = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
      $_p['post_title']     = 'Media';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
      $_p['post_status']    = 'private';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
      $_p['post_type']      = 'option-tree';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
      $_p['comment_status'] = 'closed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
      $_p['ping_status']    = 'closed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
      /* insert the post into the database */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
      wp_insert_post( $_p );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
 * Setup default settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
if ( ! function_exists( 'ot_default_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
  function ot_default_settings() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
    global $wpdb, $table_prefix;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
    if ( ! get_option( 'option_tree_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
      $section_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
      $settings_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
      $settings = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
      if ( mysql_num_rows( mysql_query( "SHOW TABLES LIKE '{$table_prefix}option_tree'" ) ) == 1 && $old_settings = $wpdb->get_results( "SELECT * FROM {$table_prefix}option_tree ORDER BY item_sort ASC" ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
        foreach ( $old_settings as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
          /* heading is a section now */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
          if ( $setting->item_type == 'heading' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
            /* add section to the sections array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
            $settings['sections'][$section_count]['id'] = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
            $settings['sections'][$section_count]['title'] = $setting->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
            /* save the last section id to use in creating settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
            $section = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
            /* increment the section count */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
            $section_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
            /* add setting to the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
            $settings['settings'][$settings_count]['id'] = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
            $settings['settings'][$settings_count]['label'] = $setting->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
            $settings['settings'][$settings_count]['desc'] = $setting->item_desc;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
            $settings['settings'][$settings_count]['section'] = $section;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
            $settings['settings'][$settings_count]['type'] = ot_map_old_option_types( $setting->item_type );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
            $settings['settings'][$settings_count]['std'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
            $settings['settings'][$settings_count]['class'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
            /* textarea rows */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
            $rows = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
            if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
              if ( (int) $setting->item_options > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
                $rows = (int) $setting->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
              } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
                $rows = 15;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
            $settings['settings'][$settings_count]['rows'] = $rows;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
            /* post type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
            $post_type = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
            if ( in_array( $settings['settings'][$settings_count]['type'], array( 'custom-post-type-select', 'custom-post-type-checkbox' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
              if ( '' != $setting->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
                $post_type = $setting->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
              } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
                $post_type = 'post';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
            $settings['settings'][$settings_count]['post_type'] = $post_type;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
            /* choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
            $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
            if ( in_array( $settings['settings'][$settings_count]['type'], array( 'checkbox', 'radio', 'select' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
              if ( '' != $setting->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
                $choices = ot_convert_string_to_array( $setting->item_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
            $settings['settings'][$settings_count]['choices'] = $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
            $settings_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
        /* make sure each setting has a section just incase */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
        if ( isset( $settings['sections'] ) && isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
          foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
            if ( '' == $setting['section'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
              $settings['settings'][$k]['section'] = $settings['sections'][0]['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
      /* if array if not properly formed create fallback settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
      if ( ! isset( $settings['sections'] ) || ! isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
        $settings = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
          'sections' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
            array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
              'id'        => 'general',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
              'title'     => __( 'General', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
            )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
          'settings' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
            array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
              'id'        => 'sample_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
              'label'     => __( 'Sample Text Field Label', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
              'desc'      => __( 'Description for the sample text field.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
              'section'   => 'general',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
              'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
              'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
              'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
              'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
              'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
              'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
            )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
          )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
        );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
      /* update the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
      update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
      /* get option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
      $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
      /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
      if ( is_array( $options ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
        foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
          if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
            $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
            $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
        /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
        do_action( 'ot_before_theme_options_save', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
        update_option( 'option_tree', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
 * Helper function to update the CSS option type after save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
if ( ! function_exists( 'ot_save_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
  function ot_save_css( $options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
    /* grab a copy of the settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
    $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
    /* has settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
    if ( isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
      /* loop through sections and insert CSS when needed */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
      foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
        /* is the CSS option type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
        if ( isset( $setting['type'] ) && 'css' == $setting['type'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
          /* insert CSS into dynamic.css */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
          if ( isset( $options[$setting['id']] ) && '' !== $options[$setting['id']] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
            ot_insert_css_with_markers( $setting['id'], $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
          /* remove old CSS from dynamic.css */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
            ot_remove_old_css( $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
 * Helper function to load filters for XML mime type.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
if ( ! function_exists( 'ot_add_xml_to_upload_filetypes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
  function ot_add_xml_to_upload_filetypes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
    add_filter( 'upload_mimes', 'ot_upload_mimes' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
    add_filter( 'wp_mime_type_icon', 'ot_xml_mime_type_icon', 10, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
 * Filter 'upload_mimes' and add xml. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
 * @param     array     $mimes An array of valid upload mime types
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
if ( ! function_exists( 'ot_upload_mimes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
  function ot_upload_mimes( $mimes ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
    $mimes['xml'] = 'application/xml';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
    return $mimes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
 * Filters 'wp_mime_type_icon' and have xml display as a document.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
 * @param     string    $icon The mime icon
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
 * @param     string    $mime The mime type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
if ( ! function_exists( 'ot_xml_mime_type_icon' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
  function ot_xml_mime_type_icon( $icon, $mime ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
    if ( $mime == 'application/xml' || $mime == 'text/xml' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
      return wp_mime_type_icon( 'document' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
    return $icon;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
 * Import before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
if ( ! function_exists( 'ot_import' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
  function ot_import() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
    /* check and verify import xml nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
    if ( isset( $_POST['import_xml_nonce'] ) && wp_verify_nonce( $_POST['import_xml_nonce'], 'import_xml_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
      /* import input value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
      $file = isset( $_POST['import_xml'] ) ? esc_url( $_POST['import_xml'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
      /* validate xml file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
      if ( preg_match( "/(.xml)$/i", $file ) && class_exists( 'SimpleXMLElement' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
        $settings = ot_import_xml( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
      /* cleanup, save, & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   946
      if ( isset( $settings ) && ! empty( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   947
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
        /* delete file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
        if ( $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
          global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
          $attachmentid = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid='$file'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
          wp_delete_attachment( $attachmentid, true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
        /* update settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
        update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
        /* set message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   961
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
      wp_redirect( add_query_arg( array( 'action' => 'import-xml', 'message' => $message ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   965
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   966
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
    /* check and verify import settings nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
    if ( isset( $_POST['import_settings_nonce'] ) && wp_verify_nonce( $_POST['import_settings_nonce'], 'import_settings_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
      $textarea = isset( $_POST['import_settings'] ) ? unserialize( ot_decode( $_POST['import_settings'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
      if ( is_array( $textarea ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
        update_option( 'option_tree_settings', $textarea );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   982
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   983
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   984
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   985
      wp_redirect( add_query_arg( array( 'action' => 'import-settings', 'message' => $message ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   986
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   987
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   988
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   989
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   990
    /* check and verify import theme options data nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   991
    if ( isset( $_POST['import_data_nonce'] ) && wp_verify_nonce( $_POST['import_data_nonce'], 'import_data_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   992
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   993
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   994
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   995
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   996
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   997
      $options = isset( $_POST['import_data'] ) ? unserialize( ot_decode( $_POST['import_data'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   998
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   999
      /* get settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1000
      $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1001
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1002
      /* has options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1003
      if ( is_array( $options ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1004
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1005
        /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1006
        if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1007
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1008
          foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1009
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1010
            if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1011
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1012
              $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1013
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1014
              $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1015
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1016
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1017
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1018
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1019
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1020
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1021
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1022
        /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1023
        do_action( 'ot_before_theme_options_save', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1024
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1025
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1026
        update_option( 'option_tree', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1027
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1028
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1029
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1030
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1031
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1032
      /* redirect accordingly */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1033
      wp_redirect( add_query_arg( array( 'action' => 'import-data', 'message' => $message ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1034
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1035
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1036
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1037
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1038
    /* check and verify import layouts nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1039
    if ( isset( $_POST['import_layouts_nonce'] ) && wp_verify_nonce( $_POST['import_layouts_nonce'], 'import_layouts_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1040
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1041
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1042
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1043
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1044
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1045
      $layouts = isset( $_POST['import_layouts'] ) ? unserialize( ot_decode( $_POST['import_layouts'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1046
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1047
      /* get settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1048
      $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1049
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1050
      /* has layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1051
      if ( is_array( $layouts ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1052
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1053
        /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1054
        if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1055
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1056
          foreach( $layouts as $key => $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1057
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1058
            if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1059
              continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1060
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1061
            $options = unserialize( ot_decode( $value ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1062
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1063
            foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1064
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1065
              if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1066
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1067
                $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1068
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1069
                $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1070
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1071
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1072
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1073
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1074
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1075
            $layouts[$key] = ot_encode( serialize( $options ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1076
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1077
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1078
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1079
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1080
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1081
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1082
        if ( isset( $layouts['active_layout'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1083
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1084
          $new_options = unserialize( ot_decode( $layouts[$layouts['active_layout']] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1085
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1086
          /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1087
          do_action( 'ot_before_theme_options_save', $new_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1088
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1089
          update_option( 'option_tree', $new_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1090
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1091
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1092
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1093
        /* update the option tree layouts array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1094
        update_option( 'option_tree_layouts', $layouts );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1095
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1096
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1097
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1098
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1099
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1100
      /* redirect accordingly */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1101
      wp_redirect( add_query_arg( array( 'action' => 'import-layouts', 'message' => $message ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1102
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1103
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1104
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1105
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1106
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1107
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1108
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1109
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1110
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1111
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1112
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1113
 * Export before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1114
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1115
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1116
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1117
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1118
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1119
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1120
if ( ! function_exists( 'ot_export' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1121
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1122
  function ot_export() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1123
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1124
    /* check and verify export settings file nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1125
    if ( isset( $_POST['export_settings_file_nonce'] ) && wp_verify_nonce( $_POST['export_settings_file_nonce'], 'export_settings_file_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1126
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1127
      ot_export_php_settings_array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1128
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1129
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1130
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1131
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1132
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1133
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1134
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1135
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1136
 * Reusable XMl import helper function.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1137
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1138
 * @param     string    $file The path to the file.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1139
 * @return    mixed     False or an array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1140
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1141
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1142
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1143
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1144
if ( ! function_exists( 'ot_import_xml' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1145
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1146
  function ot_import_xml( $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1147
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1148
    $get_data = wp_remote_get( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1149
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1150
    if ( is_wp_error( $get_data ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1151
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1152
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1153
    $rawdata = isset( $get_data['body'] ) ? $get_data['body'] : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1154
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1155
    if ( $rawdata ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1156
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1157
      $section_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1158
      $settings_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1159
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1160
      $section = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1161
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1162
      $settings = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1163
      $xml = new SimpleXMLElement( $rawdata );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1164
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1165
      foreach ( $xml->row as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1166
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1167
        /* heading is a section now */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1168
        if ( $value->item_type == 'heading' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1169
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1170
          /* add section to the sections array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1171
          $settings['sections'][$section_count]['id'] = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1172
          $settings['sections'][$section_count]['title'] = (string) $value->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1173
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1174
          /* save the last section id to use in creating settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1175
          $section = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1176
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1177
          /* increment the section count */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1178
          $section_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1179
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1180
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1181
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1182
          /* add setting to the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1183
          $settings['settings'][$settings_count]['id'] = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1184
          $settings['settings'][$settings_count]['label'] = (string) $value->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1185
          $settings['settings'][$settings_count]['desc'] = (string) $value->item_desc;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1186
          $settings['settings'][$settings_count]['section'] = $section;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1187
          $settings['settings'][$settings_count]['type'] = ot_map_old_option_types( (string) $value->item_type );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1188
          $settings['settings'][$settings_count]['std'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1189
          $settings['settings'][$settings_count]['class'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1190
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1191
          /* textarea rows */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1192
          $rows = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1193
          if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1194
            if ( (int) $value->item_options > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1195
              $rows = (int) $value->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1196
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1197
              $rows = 15;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1198
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1199
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1200
          $settings['settings'][$settings_count]['rows'] = $rows;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1201
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1202
          /* post type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1203
          $post_type = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1204
          if ( in_array( $settings['settings'][$settings_count]['type'], array( 'custom-post-type-select', 'custom-post-type-checkbox' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1205
            if ( '' != (string) $value->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1206
              $post_type = (string) $value->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1207
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1208
              $post_type = 'post';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1209
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1210
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1211
          $settings['settings'][$settings_count]['post_type'] = $post_type;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1212
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1213
          /* choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1214
          $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1215
          if ( in_array( $settings['settings'][$settings_count]['type'], array( 'checkbox', 'radio', 'select' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1216
            if ( '' != (string) $value->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1217
              $choices = ot_convert_string_to_array( (string) $value->item_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1218
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1219
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1220
          $settings['settings'][$settings_count]['choices'] = $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1221
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1222
          $settings_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1223
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1224
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1225
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1226
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1227
      /* make sure each setting has a section just incase */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1228
      if ( isset( $settings['sections'] ) && isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1229
        foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1230
          if ( '' == $setting['section'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1231
            $settings['settings'][$k]['section'] = $settings['sections'][0]['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1232
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1233
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1234
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1235
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1236
      return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1237
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1238
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1239
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1240
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1241
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1242
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1243
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1244
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1245
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1246
 * Export the Theme Mode theme-options.php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1247
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1248
 * @return    attachment
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1249
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1250
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1251
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1252
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1253
if ( ! function_exists( 'ot_export_php_settings_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1254
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1255
  function ot_export_php_settings_array() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1256
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1257
    $content              = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1258
    $build_settings       = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1259
    $contextual_help      = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1260
    $sections             = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1261
    $settings             = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1262
    $option_tree_settings = get_option( 'option_tree_settings', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1263
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1264
    header( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1265
    header( "Pragma: no-cache ");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1266
    header( "Content-Description: File Transfer" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1267
    header( 'Content-Disposition: attachment; filename="theme-options.php"');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1268
    header( "Content-Type: application/octet-stream");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1269
    header( "Content-Transfer-Encoding: binary" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1270
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1271
    /* build contextual help content */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1272
    if ( isset( $option_tree_settings['contextual_help']['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1273
      $help = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1274
      foreach( $option_tree_settings['contextual_help']['content'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1275
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1276
        $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1277
        $_content = isset( $value['content'] ) ? html_entity_decode(  str_replace( "'", "\'", $value['content'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1278
        $help.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1279
        array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1280
          'id'        => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1281
          'title'     => '$_title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1282
          'content'   => '$_content'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1283
        ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1284
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1285
      $help = substr_replace( $help, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1286
      $contextual_help = "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1287
      'content'       => array( $help
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1288
      ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1289
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1290
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1291
    /* build contextual help sidebar */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1292
    if ( isset( $option_tree_settings['contextual_help']['sidebar'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1293
      $contextual_help.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1294
      'sidebar'       => '" . html_entity_decode(  str_replace( "'", "\'", $option_tree_settings['contextual_help']['sidebar'] ) ) . "'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1295
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1296
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1297
    /* check that $contexual_help has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1298
    if ( '' != $contextual_help ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1299
      $build_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1300
    'contextual_help' => array( $contextual_help
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1301
    ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1302
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1303
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1304
    /* build sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1305
    if ( isset( $option_tree_settings['sections'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1306
      foreach( $option_tree_settings['sections'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1307
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1308
        $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1309
        $sections.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1310
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1311
        'id'          => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1312
        'title'       => '$_title'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1313
      ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1314
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1315
      $sections = substr_replace( $sections, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1316
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1317
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1318
    /* check that $sections has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1319
    if ( '' != $sections ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1320
      $build_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1321
    'sections'        => array( $sections
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1322
    )";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1323
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1324
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1325
    /* build settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1326
    if ( isset( $option_tree_settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1327
      foreach( $option_tree_settings['settings'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1328
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1329
        $_label = isset( $value['label'] ) ? str_replace( "'", "\'", $value['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1330
        $_desc = isset( $value['desc'] ) ? str_replace( "'", "\'", $value['desc'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1331
        $_std = isset( $value['std'] ) ? str_replace( "'", "\'", $value['std'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1332
        $_type = isset( $value['type'] ) ? $value['type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1333
        $_section = isset( $value['section'] ) ? $value['section'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1334
        $_rows = isset( $value['rows'] ) ? $value['rows'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1335
        $_post_type = isset( $value['post_type'] ) ? $value['post_type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1336
        $_taxonomy = isset( $value['taxonomy'] ) ? $value['taxonomy'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1337
        $_min_max_step = isset( $value['min_max_step'] ) ? $value['min_max_step'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1338
        $_class = isset( $value['class'] ) ? $value['class'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1339
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1340
        $choices = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1341
        if ( isset( $value['choices'] ) && ! empty( $value['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1342
          foreach( $value['choices'] as $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1343
            $_choice_value = isset( $choice['value'] ) ? str_replace( "'", "\'", $choice['value'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1344
            $_choice_label = isset( $choice['label'] ) ? str_replace( "'", "\'", $choice['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1345
            $_choice_src = isset( $choice['src'] ) ? str_replace( "'", "\'", $choice['src'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1346
            $choices.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1347
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1348
            'value'       => '$_choice_value',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1349
            'label'       => '$_choice_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1350
            'src'         => '$_choice_src'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1351
          ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1352
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1353
          $choices = substr_replace( $choices, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1354
          $choices = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1355
        'choices'     => array( $choices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1356
        ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1357
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1358
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1359
        $std = "'$_std'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1360
        if ( is_array( $_std ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1361
          $std_array = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1362
          foreach( $_std as $_sk => $_sv ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1363
            $std_array[] = "'$_sk' => '$_sv'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1364
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1365
          $std = 'array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1366
' . implode( ",\n", $std_array ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1367
          )';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1368
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1369
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1370
        $setting_settings = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1371
        if ( isset( $value['settings'] ) && ! empty( $value['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1372
          foreach( $value['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1373
            $_setting_id = isset( $setting['id'] ) ? $setting['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1374
            $_setting_label = isset( $setting['label'] ) ? str_replace( "'", "\'", $setting['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1375
            $_setting_desc = isset( $setting['desc'] ) ? str_replace( "'", "\'", $setting['desc'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1376
            $_setting_std = isset( $setting['std'] ) ? $setting['std'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1377
            $_setting_type = isset( $setting['type'] ) ? $setting['type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1378
            $_setting_rows = isset( $setting['rows'] ) ? $setting['rows'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1379
            $_setting_post_type = isset( $setting['post_type'] ) ? $setting['post_type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1380
            $_setting_taxonomy = isset( $setting['taxonomy'] ) ? $setting['taxonomy'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1381
            $_setting_min_max_step = isset( $setting['min_max_step'] ) ? $setting['min_max_step'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1382
            $_setting_class = isset( $setting['class'] ) ? $setting['class'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1383
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1384
            $setting_choices = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1385
            if ( isset( $setting['choices'] ) && ! empty( $setting['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1386
              foreach( $setting['choices'] as $setting_choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1387
                $_setting_choice_value = isset( $setting_choice['value'] ) ? $setting_choice['value'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1388
                $_setting_choice_label = isset( $setting_choice['label'] ) ? str_replace( "'", "\'", $setting_choice['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1389
                $_setting_choice_src = isset( $setting_choice['src'] ) ? str_replace( "'", "\'", $setting_choice['src'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1390
                $setting_choices.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1391
              array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1392
                'value'       => '$_setting_choice_value',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1393
                'label'       => '$_setting_choice_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1394
                'src'         => '$_setting_choice_src'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1395
              ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1396
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1397
              $setting_choices = substr_replace( $setting_choices, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1398
              $setting_choices = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1399
            'choices'     => array( $setting_choices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1400
            ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1401
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1402
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1403
            $setting_std = "'$_setting_std'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1404
            if ( is_array( $_setting_std ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1405
              $setting_std_array = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1406
              foreach( $_setting_std as $_ssk => $_ssv ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1407
                $setting_std_array[] = "'$_ssk' => '$_ssv'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1408
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1409
              $setting_std = 'array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1410
' . implode( ",\n", $setting_std_array ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1411
              )';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1412
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1413
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1414
            $setting_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1415
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1416
            'id'          => '$_setting_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1417
            'label'       => '$_setting_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1418
            'desc'        => '$_setting_desc',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1419
            'std'         => $setting_std,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1420
            'type'        => '$_setting_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1421
            'rows'        => '$_setting_rows',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1422
            'post_type'   => '$_setting_post_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1423
            'taxonomy'    => '$_setting_taxonomy',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1424
            'min_max_step'=> '$_setting_min_max_step',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1425
            'class'       => '$_setting_class'$setting_choices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1426
          ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1427
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1428
          $setting_settings = substr_replace( $setting_settings, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1429
          $setting_settings = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1430
        'settings'    => array( $setting_settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1431
        )";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1432
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1433
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1434
        $settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1435
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1436
        'id'          => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1437
        'label'       => '$_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1438
        'desc'        => '$_desc',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1439
        'std'         => $std,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1440
        'type'        => '$_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1441
        'section'     => '$_section',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1442
        'rows'        => '$_rows',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1443
        'post_type'   => '$_post_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1444
        'taxonomy'    => '$_taxonomy',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1445
        'min_max_step'=> '$_min_max_step',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1446
        'class'       => '$_class'$choices$setting_settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1447
      ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1448
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1449
      $settings = substr_replace( $settings, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1450
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1451
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1452
    /* check that $sections has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1453
    if ( '' != $settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1454
      $build_settings.= ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1455
    'settings'        => array( $settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1456
    )";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1457
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1458
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1459
    $content.= "<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1460
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1461
 * Initialize the custom theme options.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1462
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1463
add_action( 'admin_init', 'custom_theme_options' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1464
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1465
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1466
 * Build the custom settings & update OptionTree.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1467
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1468
function custom_theme_options() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1469
  /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1470
   * Get a copy of the saved settings array. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1471
   */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1472
  \$saved_settings = get_option( 'option_tree_settings', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1473
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1474
  /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1475
   * Custom settings array that will eventually be 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1476
   * passes to the OptionTree Settings API Class.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1477
   */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1478
  \$custom_settings = array( $build_settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1479
  );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1480
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1481
  /* allow settings to be filtered before saving */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1482
  \$custom_settings = apply_filters( 'option_tree_settings_args', \$custom_settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1483
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1484
  /* settings are not the same update the DB */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1485
  if ( \$saved_settings !== \$custom_settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1486
    update_option( 'option_tree_settings', \$custom_settings ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1487
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1488
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1489
}";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1490
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1491
    echo $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1492
    die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1493
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1494
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1495
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1496
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1497
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1498
 * Save settings array before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1499
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1500
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1501
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1502
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1503
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1504
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1505
if ( ! function_exists( 'ot_save_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1506
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1507
  function ot_save_settings() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1508
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1509
    /* check and verify import settings nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1510
    if ( isset( $_POST['option_tree_settings_nonce'] ) && wp_verify_nonce( $_POST['option_tree_settings_nonce'], 'option_tree_settings_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1511
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1512
      /* settings value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1513
      $settings = isset( $_POST['option_tree_settings'] ) ? $_POST['option_tree_settings'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1514
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1515
      /* validate sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1516
      if ( isset( $settings['sections'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1517
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1518
        /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1519
        $settings['sections'] = array_values( $settings['sections'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1520
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1521
        /* loop through sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1522
        foreach( $settings['sections'] as $k => $section ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1523
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1524
          /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1525
          if ( ( ! isset( $section['title'] ) && ! isset( $section['id'] ) ) || ( '' == $section['title'] && '' == $section['id'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1526
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1527
            unset( $settings['sections'][$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1528
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1529
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1530
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1531
            /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1532
            if ( '' != $section['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1533
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1534
             $settings['sections'][$k]['title'] = wp_kses_post( $section['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1535
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1536
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1537
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1538
            /* missing title set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1539
            if ( ! isset( $section['title'] ) || '' == $section['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1540
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1541
              $settings['sections'][$k]['title'] = wp_kses_post( $section['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1542
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1543
            /* missing ID set to title */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1544
            } else if ( ! isset( $section['id'] ) || '' == $section['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1545
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1546
              $section['id'] = wp_kses_post( $section['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1547
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1548
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1549
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1550
            /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1551
            $settings['sections'][$k]['id'] = ot_sanitize_option_id( wp_kses_post( $section['id'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1552
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1553
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1554
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1555
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1556
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1557
        $settings['sections'] = ot_stripslashes( $settings['sections'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1558
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1559
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1560
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1561
      /* validate settings by looping over array as many times as it takes */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1562
      if ( isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1563
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1564
        $settings['settings'] = ot_validate_settings_array( $settings['settings'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1565
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1566
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1567
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1568
      /* validate contextual_help */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1569
      if ( isset( $settings['contextual_help']['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1570
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1571
        /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1572
        $settings['contextual_help']['content'] = array_values( $settings['contextual_help']['content'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1573
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1574
        /* loop through content */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1575
        foreach( $settings['contextual_help']['content'] as $k => $content ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1576
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1577
          /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1578
          if ( ( ! isset( $content['title'] ) && ! isset( $content['id'] ) ) || ( '' == $content['title'] && '' == $content['id'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1579
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1580
            unset( $settings['contextual_help']['content'][$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1581
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1582
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1583
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1584
            /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1585
            if ( '' != $content['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1586
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1587
             $settings['contextual_help']['content'][$k]['title'] = wp_kses_post( $content['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1588
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1589
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1590
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1591
            /* missing title set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1592
            if ( ! isset( $content['title'] ) || '' == $content['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1593
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1594
              $settings['contextual_help']['content'][$k]['title'] = wp_kses_post( $content['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1595
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1596
            /* missing ID set to title */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1597
            } else if ( ! isset( $content['id'] ) || '' == $content['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1598
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1599
              $content['id'] = wp_kses_post( $content['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1600
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1601
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1602
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1603
            /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1604
            $settings['contextual_help']['content'][$k]['id'] = ot_sanitize_option_id( wp_kses_post( $content['id'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1605
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1606
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1607
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1608
          /* validate textarea description */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1609
          if ( isset( $content['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1610
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1611
            $settings['contextual_help']['content'][$k]['content'] = wp_kses_post( $content['content'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1612
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1613
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1614
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1615
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1616
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1617
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1618
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1619
      /* validate contextual_help sidebar */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1620
      if ( isset( $settings['contextual_help']['sidebar'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1621
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1622
        $settings['contextual_help']['sidebar'] = wp_kses_post( $settings['contextual_help']['sidebar'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1623
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1624
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1625
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1626
      $settings['contextual_help'] = ot_stripslashes( $settings['contextual_help'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1627
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1628
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1629
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1630
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1631
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1632
      if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1633
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1634
        /* WPML unregister ID's that have been removed */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1635
        if ( function_exists( 'icl_unregister_string' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1636
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1637
          $current = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1638
          $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1639
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1640
          if ( isset( $current['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1641
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1642
            /* Empty ID array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1643
            $new_ids = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1644
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1645
            /* Build the WPML IDs array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1646
            foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1647
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1648
              if ( $setting['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1649
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1650
                $new_ids[] = $setting['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1651
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1652
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1653
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1654
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1655
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1656
            /* Remove missing IDs from WPML */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1657
            foreach( $current['settings'] as $current_setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1658
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1659
              if ( ! in_array( $current_setting['id'], $new_ids ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1660
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1661
                if ( ! empty( $options[$current_setting['id']] ) && in_array( $current_setting['type'], array( 'list-item', 'slider' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1662
                  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1663
                  foreach( $options[$current_setting['id']] as $key => $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1664
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1665
                    foreach( $value as $ckey => $cvalue ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1666
                      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1667
                      ot_wpml_unregister_string( $current_setting['id'] . '_' . $ckey . '_' . $key );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1668
                      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1669
                    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1670
                  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1671
                  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1672
                  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1673
                } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1674
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1675
                  ot_wpml_unregister_string( $current_setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1676
                  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1677
                }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1678
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1679
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1680
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1681
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1682
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1683
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1684
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1685
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1686
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1687
        update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1688
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1689
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1690
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1691
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1692
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1693
      wp_redirect( add_query_arg( array( 'action' => 'save-settings', 'message' => $message ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1694
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1695
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1696
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1697
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1698
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1699
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1700
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1701
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1702
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1703
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1704
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1705
 * Validate the settings array before save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1706
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1707
 * This function will loop over the settings array as many 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1708
 * times as it takes to validate every sub setting.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1709
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1710
 * @param     array     $settings The array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1711
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1712
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1713
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1714
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1715
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1716
if ( ! function_exists( 'ot_validate_settings_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1717
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1718
  function ot_validate_settings_array( $settings = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1719
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1720
    /* validate settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1721
    if ( count( $settings ) > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1722
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1723
      /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1724
      $settings = array_values( $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1725
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1726
      /* loop through settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1727
      foreach( $settings as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1728
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1729
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1730
        /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1731
        if ( ( ! isset( $setting['label'] ) && ! isset( $setting['id'] ) ) || ( '' == $setting['label'] && '' == $setting['id'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1732
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1733
          unset( $settings[$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1734
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1735
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1736
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1737
          /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1738
          if ( '' != $setting['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1739
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1740
            $settings[$k]['label'] = wp_kses_post( $setting['label'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1741
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1742
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1743
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1744
          /* missing label set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1745
          if ( ! isset( $setting['label'] ) || '' == $setting['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1746
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1747
            $settings[$k]['label'] = $setting['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1748
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1749
          /* missing ID set to label */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1750
          } else if ( ! isset( $setting['id'] ) || '' == $setting['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1751
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1752
            $setting['id'] = wp_kses_post( $setting['label'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1753
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1754
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1755
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1756
          /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1757
          $settings[$k]['id'] = ot_sanitize_option_id( wp_kses_post( $setting['id'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1758
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1759
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1760
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1761
        /* validate description */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1762
        if ( '' != $setting['desc']  ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1763
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1764
          $settings[$k]['desc'] = wp_kses_post( $setting['desc'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1765
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1766
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1767
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1768
        /* validate choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1769
        if ( isset( $setting['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1770
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1771
          /* loop through choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1772
          foreach( $setting['choices'] as $ck => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1773
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1774
            /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1775
            if ( ( ! isset( $choice['label'] ) && ! isset( $choice['value'] ) ) || ( '' == $choice['label'] && '' == $choice['value'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1776
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1777
              unset( $setting['choices'][$ck] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1778
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1779
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1780
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1781
              /* missing label set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1782
              if ( ! isset( $choice['label'] ) || '' == $choice['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1783
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1784
                $setting['choices'][$ck]['label'] = wp_kses_post( $choice['value'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1785
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1786
              /* missing value set to label */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1787
              } else if ( ! isset( $choice['value'] ) || '' == $choice['value'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1788
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1789
                $setting['choices'][$ck]['value'] = ot_sanitize_option_id( wp_kses_post( $choice['label'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1790
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1791
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1792
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1793
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1794
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1795
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1796
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1797
          /* update keys and push new array values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1798
          $settings[$k]['choices'] = array_values( $setting['choices'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1799
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1800
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1801
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1802
        /* validate sub settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1803
        if ( isset( $setting['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1804
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1805
          $settings[$k]['settings'] = ot_validate_settings_array( $setting['settings'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1806
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1807
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1808
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1809
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1810
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1811
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1812
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1813
    /* return array but strip those damn slashes out first!!! */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1814
    return ot_stripslashes( $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1815
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1816
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1817
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1818
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1819
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1820
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1821
 * Save layouts array before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1822
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1823
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1824
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1825
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1826
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1827
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1828
if ( ! function_exists( 'ot_modify_layouts' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1829
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1830
  function ot_modify_layouts() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1831
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1832
    /* check and verify modify layouts nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1833
    if ( isset( $_POST['option_tree_modify_layouts_nonce'] ) && wp_verify_nonce( $_POST['option_tree_modify_layouts_nonce'], 'option_tree_modify_layouts_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1834
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1835
      /* previous layouts value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1836
      $option_tree_layouts = get_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1837
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1838
      /* new layouts value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1839
      $layouts = isset( $_POST['option_tree_layouts'] ) ? $_POST['option_tree_layouts'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1840
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1841
      /* rebuild layout array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1842
      $rebuild = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1843
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1844
      /* validate layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1845
      if ( is_array( $layouts ) && ! empty( $layouts ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1846
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1847
        /* setup active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1848
        if ( isset( $layouts['active_layout'] ) && ! empty( $layouts['active_layout'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1849
          $rebuild['active_layout'] = $layouts['active_layout'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1850
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1851
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1852
        /* add new and overwrite active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1853
        if ( isset( $layouts['_add_new_layout_'] ) && ! empty( $layouts['_add_new_layout_'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1854
          $rebuild['active_layout'] = ot_sanitize_layout_id( $layouts['_add_new_layout_'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1855
          $rebuild[$rebuild['active_layout']] = ot_encode( serialize( get_option( 'option_tree' ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1856
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1857
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1858
        $first_layout = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1859
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1860
        /* loop through layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1861
        foreach( $layouts as $key => $layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1862
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1863
          /* skip over active layout key */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1864
          if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1865
            continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1866
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1867
          /* check if the key exists then set value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1868
          if ( isset( $option_tree_layouts[$key] ) && ! empty( $option_tree_layouts[$key] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1869
            $rebuild[$key] = $option_tree_layouts[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1870
            if ( '' == $first_layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1871
              $first_layout = $key;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1872
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1873
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1874
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1875
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1876
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1877
        if ( isset( $rebuild['active_layout'] ) && ! isset( $rebuild[$rebuild['active_layout']] ) && ! empty( $first_layout ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1878
          $rebuild['active_layout'] = $first_layout;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1879
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1880
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1881
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1882
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1883
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1884
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1885
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1886
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1887
      if ( count( $rebuild ) > 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1888
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1889
        /* rebuild the theme options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1890
        $rebuild_option_tree = unserialize( ot_decode( $rebuild[$rebuild['active_layout']] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1891
        if ( is_array( $rebuild_option_tree ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1892
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1893
          /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1894
          do_action( 'ot_before_theme_options_save', $rebuild_option_tree );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1895
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1896
          update_option( 'option_tree', $rebuild_option_tree );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1897
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1898
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1899
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1900
        /* rebuild the layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1901
        update_option( 'option_tree_layouts', $rebuild );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1902
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1903
        /* change message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1904
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1905
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1906
      } else if ( count( $rebuild ) <= 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1907
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1908
        /* delete layouts option */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1909
        delete_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1910
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1911
        /* change message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1912
        $message = 'deleted';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1913
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1914
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1915
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1916
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1917
      if ( isset( $_REQUEST['page'] ) && $_REQUEST['page'] == apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1918
        $query_args = add_query_arg( array( 'settings-updated' => 'layout' ), remove_query_arg( array( 'action', 'message' ), $_POST['_wp_http_referer'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1919
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1920
        $query_args = add_query_arg( array( 'action' => 'save-layouts', 'message' => $message ), $_POST['_wp_http_referer'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1921
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1922
      wp_redirect( $query_args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1923
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1924
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1925
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1926
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1927
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1928
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1929
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1930
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1931
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1932
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1933
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1934
 * Helper function to display alert messages.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1935
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1936
 * @param     array     Page array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1937
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1938
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1939
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1940
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1941
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1942
if ( ! function_exists( 'ot_alert_message' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1943
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1944
  function ot_alert_message( $page = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1945
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1946
    if ( empty( $page ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1947
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1948
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1949
    $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1950
    $message = isset( $_REQUEST['message'] ) ? $_REQUEST['message'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1951
    $updated = isset( $_REQUEST['settings-updated'] ) ? $_REQUEST['settings-updated'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1952
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1953
    if ( $action == 'save-settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1954
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1955
      if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1956
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1957
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Settings updated.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1958
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1959
      } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1960
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1961
        return '<div id="message" class="error fade below-h2"><p>' . __( 'Settings could not be saved.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1962
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1963
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1964
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1965
    } else if ( $action == 'import-xml' || $action == 'import-settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1966
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1967
      if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1968
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1969
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Settings Imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1970
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1971
      } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1972
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1973
        return '<div id="message" class="error fade below-h2"><p>' . __( 'Settings could not be imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1974
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1975
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1976
    } else if ( $action == 'import-data' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1977
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1978
      if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1979
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1980
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Data Imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1981
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1982
      } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1983
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1984
        return '<div id="message" class="error fade below-h2"><p>' . __( 'Data could not be imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1985
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1986
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1987
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1988
    } else if ( $action == 'import-layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1989
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1990
      if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1991
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1992
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Layouts Imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1993
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1994
      } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1995
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1996
        return '<div id="message" class="error fade below-h2"><p>' . __( 'Layouts could not be imported.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1997
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1998
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1999
           
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2000
    } else if ( $action == 'save-layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2001
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2002
      if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2003
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2004
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Layouts Updated.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2005
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2006
      } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2007
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2008
        return '<div id="message" class="error fade below-h2"><p>' . __( 'Layouts could not be updated.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2009
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2010
      } else if ( $message == 'deleted' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2011
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2012
        return '<div id="message" class="updated fade below-h2"><p>' . __( 'Layouts have been deleted.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2013
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2014
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2015
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2016
    } else if ( $updated == 'layout' ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2017
       
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2018
      return '<div id="message" class="updated fade below-h2"><p>' . __( 'Layout activated.', 'option-tree' ) . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2019
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2020
    } else if ( $action == 'reset' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2021
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2022
      return '<div id="message" class="updated fade below-h2"><p>' . $page['reset_message'] . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2023
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2024
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2025
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2026
    do_action( 'ot_custom_page_messages' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2027
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2028
    if ( $updated == 'true' ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2029
       
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2030
      return '<div id="message" class="updated fade below-h2"><p>' . $page['updated_message'] . '</p></div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2031
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2032
    } 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2033
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2034
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2035
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2036
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2037
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2038
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2039
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2040
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2041
 * Setup the default option types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2042
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2043
 * The returned option types are filterable so you can add your own.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2044
 * This is not a task for a beginner as you'll need to add the function
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2045
 * that displays the option to the user and validate the saved data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2046
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2047
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2048
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2049
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2050
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2051
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2052
if ( ! function_exists( 'ot_option_types_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2053
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2054
  function ot_option_types_array() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2055
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2056
    return apply_filters( 'ot_option_types_array', array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2057
      'background'                => 'Background',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2058
      'category-checkbox'         => 'Category Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2059
      'category-select'           => 'Category Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2060
      'checkbox'                  => 'Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2061
      'colorpicker'               => 'Colorpicker',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2062
      'css'                       => 'CSS',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2063
      'custom-post-type-checkbox' => 'Custom Post Type Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2064
      'custom-post-type-select'   => 'Custom Post Type Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2065
      'list-item'                 => 'List Item',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2066
      'measurement'               => 'Measurement',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2067
      'numeric-slider'            => 'Numeric Slider',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2068
      'page-checkbox'             => 'Page Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2069
      'page-select'               => 'Page Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2070
      'post-checkbox'             => 'Post Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2071
      'post-select'               => 'Post Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2072
      'radio'                     => 'Radio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2073
      'radio-image'               => 'Radio Image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2074
      'select'                    => 'Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2075
      'sidebar-select'            => 'Sidebar Select', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2076
      'slider'                    => 'Slider',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2077
      'tag-checkbox'              => 'Tag Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2078
      'tag-select'                => 'Tag Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2079
      'taxonomy-checkbox'         => 'Taxonomy Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2080
      'taxonomy-select'           => 'Taxonomy Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2081
      'text'                      => 'Text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2082
      'textarea'                  => 'Textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2083
      'textarea-simple'           => 'Textarea Simple',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2084
      'textblock'                 => 'Textblock',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2085
      'textblock-titled'          => 'Textblock Titled',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2086
      'typography'                => 'Typography',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2087
      'upload'                    => 'Upload'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2088
    ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2089
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2090
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2091
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2092
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2093
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2094
 * Map old option types for rebuilding XML and Table data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2095
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2096
 * @param     string      $type The old option type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2097
 * @return    string      The new option type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2098
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2099
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2100
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2101
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2102
if ( ! function_exists( 'ot_map_old_option_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2103
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2104
  function ot_map_old_option_types( $type = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2105
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2106
    if ( ! $type ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2107
      return 'text';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2108
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2109
    $types = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2110
      'background'        => 'background',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2111
      'category'          => 'category-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2112
      'categories'        => 'category-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2113
      'checkbox'          => 'checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2114
      'colorpicker'       => 'colorpicker',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2115
      'css'               => 'css',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2116
      'custom_post'       => 'custom-post-type-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2117
      'custom_posts'      => 'custom-post-type-checkbox',                     
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2118
      'input'             => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2119
      'image'             => 'upload',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2120
      'measurement'       => 'measurement',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2121
      'page'              => 'page-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2122
      'pages'             => 'page-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2123
      'post'              => 'post-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2124
      'posts'             => 'post-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2125
      'radio'             => 'radio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2126
      'select'            => 'select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2127
      'slider'            => 'slider',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2128
      'tag'               => 'tag-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2129
      'tags'              => 'tag-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2130
      'textarea'          => 'textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2131
      'textblock'         => 'textblock',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2132
      'typography'        => 'typography',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2133
      'upload'            => 'upload'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2134
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2135
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2136
    if ( isset( $types[$type] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2137
      return $types[$type];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2138
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2139
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2140
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2141
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2142
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2143
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2144
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2145
 * Recognized font families
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2146
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2147
 * Returns an array of all recognized font families.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2148
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2149
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2150
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2151
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2152
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2153
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2154
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2155
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2156
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2157
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2158
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2159
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2160
if ( ! function_exists( 'ot_recognized_font_families' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2161
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2162
  function ot_recognized_font_families( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2163
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2164
    return apply_filters( 'ot_recognized_font_families', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2165
      'arial'     => 'Arial',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2166
      'georgia'   => 'Georgia',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2167
      'helvetica' => 'Helvetica',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2168
      'palatino'  => 'Palatino',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2169
      'tahoma'    => 'Tahoma',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2170
      'times'     => '"Times New Roman", sans-serif',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2171
      'trebuchet' => 'Trebuchet',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2172
      'verdana'   => 'Verdana'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2173
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2174
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2175
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2176
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2177
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2178
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2179
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2180
 * Recognized font sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2181
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2182
 * Returns an array of all recognized font sizes.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2183
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2184
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2185
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2186
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2187
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2188
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2189
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2190
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2191
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2192
if ( ! function_exists( 'ot_recognized_font_sizes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2194
  function ot_recognized_font_sizes( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2195
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2196
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2197
      apply_filters( 'ot_font_size_low_range', 0, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2198
      apply_filters( 'ot_font_size_high_range', 150, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2199
      apply_filters( 'ot_font_size_range_interval', 1, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2200
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2201
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2202
    $unit = apply_filters( 'ot_font_size_unit_type', 'px', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2203
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2204
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2205
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2206
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2207
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2208
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2209
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2210
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2211
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2212
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2213
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2214
 * Recognized font styles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2215
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2216
 * Returns an array of all recognized font styles.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2217
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2218
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2219
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2220
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2221
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2222
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2223
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2224
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2225
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2226
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2227
if ( ! function_exists( 'ot_recognized_font_styles' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2228
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2229
  function ot_recognized_font_styles( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2230
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2231
    return apply_filters( 'ot_recognized_font_styles', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2232
      'normal'  => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2233
      'italic'  => 'Italic',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2234
      'oblique' => 'Oblique',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2235
      'inherit' => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2236
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2237
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2238
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2239
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2240
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2241
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2242
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2243
 * Recognized font variants
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2244
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2245
 * Returns an array of all recognized font variants.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2246
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2247
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2248
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2249
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2250
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2251
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2252
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2253
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2254
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2255
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2256
if ( ! function_exists( 'ot_recognized_font_variants' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2257
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2258
  function ot_recognized_font_variants( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2259
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2260
    return apply_filters( 'ot_recognized_font_variants', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2261
      'normal'      => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2262
      'small-caps'  => 'Small Caps',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2263
      'inherit'     => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2264
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2265
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2266
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2267
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2268
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2269
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2270
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2271
 * Recognized font weights
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2272
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2273
 * Returns an array of all recognized font weights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2274
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2275
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2276
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2277
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2278
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2279
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2280
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2281
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2282
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2283
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2284
if ( ! function_exists( 'ot_recognized_font_weights' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2285
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2286
  function ot_recognized_font_weights( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2287
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2288
    return apply_filters( 'ot_recognized_font_weights', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2289
      'normal'    => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2290
      'bold'      => 'Bold',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2291
      'bolder'    => 'Bolder',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2292
      'lighter'   => 'Lighter',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2293
      '100'       => '100',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2294
      '200'       => '200',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2295
      '300'       => '300',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2296
      '400'       => '400',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2297
      '500'       => '500',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2298
      '600'       => '600',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2299
      '700'       => '700',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2300
      '800'       => '800',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2301
      '900'       => '900',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2302
      'inherit'   => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2303
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2304
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2305
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2306
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2307
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2308
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2309
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2310
 * Recognized letter spacing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2311
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2312
 * Returns an array of all recognized line heights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2313
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2314
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2315
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2316
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2317
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2318
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2319
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2320
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2321
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2322
if ( ! function_exists( 'ot_recognized_letter_spacing' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2323
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2324
  function ot_recognized_letter_spacing( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2325
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2326
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2327
      apply_filters( 'ot_letter_spacing_low_range', -0.1, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2328
      apply_filters( 'ot_letter_spacing_high_range', 0.1, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2329
      apply_filters( 'ot_letter_spacing_range_interval', 0.01, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2330
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2331
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2332
    $unit = apply_filters( 'ot_letter_spacing_unit_type', 'em', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2333
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2334
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2335
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2336
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2337
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2338
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2339
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2340
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2341
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2342
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2343
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2344
 * Recognized line heights
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2345
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2346
 * Returns an array of all recognized line heights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2347
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2348
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2349
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2350
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2351
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2352
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2353
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2354
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2355
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2356
if ( ! function_exists( 'ot_recognized_line_heights' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2357
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2358
  function ot_recognized_line_heights( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2359
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2360
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2361
      apply_filters( 'ot_line_height_low_range', 0, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2362
      apply_filters( 'ot_line_height_high_range', 150, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2363
      apply_filters( 'ot_line_height_unit_type', 1, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2364
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2365
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2366
    $unit = apply_filters( 'ot_line_height_unit_type', 'px', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2367
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2368
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2369
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2370
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2371
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2372
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2373
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2374
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2375
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2376
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2377
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2378
 * Recognized text decorations
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2379
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2380
 * Returns an array of all recognized text decorations.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2381
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2382
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2383
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2384
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2385
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2386
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2387
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2388
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2389
 * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2390
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2391
if ( ! function_exists( 'ot_recognized_text_decorations' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2392
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2393
  function ot_recognized_text_decorations( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2394
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2395
    return apply_filters( 'ot_recognized_text_decorations', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2396
      'blink'         => 'Blink',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2397
      'inherit'       => 'Inherit',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2398
      'line-through'  => 'Line Through',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2399
      'none'          => 'None',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2400
      'overline'      => 'Overline',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2401
      'underline'     => 'Underline'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2402
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2403
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2404
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2405
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2406
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2407
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2408
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2409
 * Recognized text transformations
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2410
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2411
 * Returns an array of all recognized text transformations.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2412
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2413
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2414
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2415
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2416
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2417
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2418
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2419
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2420
 * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2421
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2422
if ( ! function_exists( 'ot_recognized_text_transformations' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2423
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2424
  function ot_recognized_text_transformations( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2425
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2426
    return apply_filters( 'ot_recognized_text_transformations', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2427
      'capitalize'  => 'Capitalize',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2428
      'inherit'     => 'Inherit',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2429
      'lowercase'   => 'Lowercase',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2430
      'none'        => 'None',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2431
      'uppercase'   => 'Uppercase'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2432
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2433
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2434
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2435
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2436
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2437
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2438
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2439
 * Recognized background repeat
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2440
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2441
 * Returns an array of all recognized background repeat values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2442
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2443
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2444
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2445
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2446
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2447
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2448
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2449
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2450
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2451
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2452
if ( ! function_exists( 'ot_recognized_background_repeat' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2453
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2454
  function ot_recognized_background_repeat( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2455
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2456
    return apply_filters( 'ot_recognized_background_repeat', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2457
      'no-repeat' => 'No Repeat',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2458
      'repeat'    => 'Repeat All',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2459
      'repeat-x'  => 'Repeat Horizontally',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2460
      'repeat-y'  => 'Repeat Vertically',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2461
      'inherit'   => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2462
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2463
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2464
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2465
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2466
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2467
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2468
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2469
 * Recognized background attachment
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2470
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2471
 * Returns an array of all recognized background attachment values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2472
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2473
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2474
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2475
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2476
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2477
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2478
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2479
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2480
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2481
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2482
if ( ! function_exists( 'ot_recognized_background_attachment' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2483
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2484
  function ot_recognized_background_attachment( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2485
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2486
    return apply_filters( 'ot_recognized_background_attachment', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2487
      "fixed"   => "Fixed",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2488
      "scroll"  => "Scroll",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2489
      "inherit" => "Inherit"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2490
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2491
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2492
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2493
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2494
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2495
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2496
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2497
 * Recognized background position
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2498
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2499
 * Returns an array of all recognized background position values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2500
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2501
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2502
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2503
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2504
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2505
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2506
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2507
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2508
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2509
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2510
if ( ! function_exists( 'ot_recognized_background_position' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2511
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2512
  function ot_recognized_background_position( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2513
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2514
    return apply_filters( 'ot_recognized_background_position', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2515
      "left top"      => "Left Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2516
      "left center"   => "Left Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2517
      "left bottom"   => "Left Bottom",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2518
      "center top"    => "Center Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2519
      "center center" => "Center Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2520
      "center bottom" => "Center Bottom",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2521
      "right top"     => "Right Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2522
      "right center"  => "Right Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2523
      "right bottom"  => "Right Bottom"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2524
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2525
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2526
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2527
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2528
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2529
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2530
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2531
 * Measurement Units
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2532
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2533
 * Returns an array of all available unit types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2534
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2535
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2536
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2537
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2538
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2539
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2540
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2541
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2542
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2543
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2544
if ( ! function_exists( 'ot_measurement_unit_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2545
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2546
  function ot_measurement_unit_types( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2547
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2548
    return apply_filters( 'ot_measurement_unit_types', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2549
      'px' => 'px',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2550
      '%'  => '%',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2551
      'em' => 'em',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2552
      'pt' => 'pt'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2553
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2554
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2555
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2556
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2557
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2558
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2559
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2560
 * Radio Images default array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2561
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2562
 * Returns an array of all available radio images.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2563
 * You can filter this function to change the images
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2564
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2565
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2566
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2567
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2568
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2569
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2570
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2571
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2572
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2573
if ( ! function_exists( 'ot_radio_images' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2574
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2575
  function ot_radio_images( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2576
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2577
    return apply_filters( 'ot_radio_images', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2578
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2579
        'value'   => 'left-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2580
        'label'   => __( 'Left Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2581
        'src'     => OT_URL . 'assets/images/layout/left-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2582
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2583
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2584
        'value'   => 'right-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2585
        'label'   => __( 'Right Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2586
        'src'     => OT_URL . 'assets/images/layout/right-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2587
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2588
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2589
        'value'   => 'full-width',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2590
        'label'   => __( 'Full Width (no sidebar)', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2591
        'src'     => OT_URL . 'assets/images/layout/full-width.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2592
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2593
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2594
        'value'   => 'dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2595
        'label'   => __( 'Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2596
        'src'     => OT_URL . 'assets/images/layout/dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2597
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2598
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2599
        'value'   => 'left-dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2600
        'label'   => __( 'Left Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2601
        'src'     => OT_URL . 'assets/images/layout/left-dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2602
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2603
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2604
        'value'   => 'right-dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2605
        'label'   => __( 'Right Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2606
        'src'     => OT_URL . 'assets/images/layout/right-dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2607
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2608
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2609
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2610
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2611
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2612
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2613
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2614
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2615
 * Default List Item Settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2616
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2617
 * Returns an array of the default list item settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2618
 * You can filter this function to change the settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2619
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2620
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2621
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2622
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2623
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2624
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2625
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2626
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2627
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2628
if ( ! function_exists( 'ot_list_item_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2629
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2630
  function ot_list_item_settings( $id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2631
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2632
    $settings = apply_filters( 'ot_list_item_settings', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2633
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2634
        'id'        => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2635
        'label'     => __( 'Image', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2636
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2637
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2638
        'type'      => 'upload',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2639
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2640
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2641
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2642
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2643
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2644
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2645
        'id'        => 'link',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2646
        'label'     => __( 'Link', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2647
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2648
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2649
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2650
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2651
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2652
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2653
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2654
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2655
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2656
        'id'        => 'description',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2657
        'label'     => __( 'Description', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2658
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2659
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2660
        'type'      => 'textarea-simple',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2661
        'rows'      => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2662
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2663
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2664
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2665
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2666
    ), $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2667
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2668
    return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2669
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2670
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2671
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2672
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2673
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2674
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2675
 * Default Slider Settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2676
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2677
 * Returns an array of the default slider settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2678
 * You can filter this function to change the settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2679
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2680
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2681
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2682
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2683
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2684
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2685
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2686
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2687
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2688
if ( ! function_exists( 'ot_slider_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2689
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2690
  function ot_slider_settings( $id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2691
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2692
    $settings = apply_filters( 'image_slider_fields', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2693
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2694
        'name'      => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2695
        'type'      => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2696
        'label'     => __( 'Image', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2697
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2698
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2699
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2700
        'name'      => 'link',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2701
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2702
        'label'     => __( 'Link', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2703
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2704
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2705
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2706
        'name'      => 'description',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2707
        'type'      => 'textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2708
        'label'     => __( 'Description', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2709
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2710
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2711
    ), $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2712
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2713
    /* fix the array keys, values, and just get it 2.0 ready */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2714
    foreach( $settings as $_k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2715
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2716
      foreach( $setting as $s_key => $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2717
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2718
        if ( 'name' == $s_key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2719
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2720
          $settings[$_k]['id'] = $s_value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2721
          unset($settings[$_k]['name']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2722
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2723
        } else if ( 'type' == $s_key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2724
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2725
          if ( 'input' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2726
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2727
            $settings[$_k]['type'] = 'text';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2728
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2729
          } else if ( 'textarea' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2730
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2731
            $settings[$_k]['type'] = 'textarea-simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2732
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2733
          } else if ( 'image' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2734
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2735
            $settings[$_k]['type'] = 'upload';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2736
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2737
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2738
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2739
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2740
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2741
      } 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2742
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2743
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2744
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2745
    return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2746
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2747
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2748
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2749
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2750
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2751
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2752
 * Inserts CSS with field_id markers.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2753
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2754
 * Inserts CSS into a dynamic.css file, placing it between
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2755
 * BEGIN and END field_id markers. Replaces existing marked info, 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2756
 * but still retains surrounding data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2757
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2758
 * @param     string  $field_id The CSS option field ID.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2759
 * @param     array   $options The current option_tree array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2760
 * @return    bool    True on write success, false on failure.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2761
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2762
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2763
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2764
 * @updated   2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2765
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2766
if ( ! function_exists( 'ot_insert_css_with_markers' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2767
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2768
  function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2769
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2770
    /* missing $field_id or $insertion exit early */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2771
    if ( '' == $field_id || '' == $insertion )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2772
      return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2773
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2774
    /* path to the dynamic.css file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2775
    $filepath = get_stylesheet_directory() . '/dynamic.css';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2776
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2777
    /* allow filter on path */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2778
    $filepath = apply_filters( 'css_option_file_path', $filepath, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2779
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2780
    /* grab a copy of the paths array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2781
    $ot_css_file_paths = get_option( 'ot_css_file_paths', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2782
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2783
    /* set the path for this field */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2784
    $ot_css_file_paths[$field_id] = $filepath;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2785
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2786
    /* update the paths */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2787
    update_option( 'ot_css_file_paths', $ot_css_file_paths );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2788
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2789
    /* insert CSS into file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2790
    if ( file_exists( $filepath ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2791
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2792
      $insertion   = ot_normalize_css( $insertion );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2793
      $regex       = "/{{([a-zA-Z0-9\_\-\#\|\=]+)}}/";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2794
      $marker      = $field_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2795
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2796
      /* Match custom CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2797
      preg_match_all( $regex, $insertion, $matches );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2798
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2799
      /* Loop through CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2800
      foreach( $matches[0] as $option ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2801
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2802
        $value        = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2803
        $option_id    = str_replace( array( '{{', '}}' ), '', $option );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2804
        $option_array = explode( '|', $option_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2805
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2806
        /* get the array value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2807
        if ( $meta ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2808
          global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2809
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2810
          $value = get_post_meta( $post->ID, $option_array[0], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2811
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2812
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2813
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2814
          $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2815
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2816
          if ( isset( $options[$option_array[0]] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2817
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2818
            $value = $options[$option_array[0]];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2819
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2820
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2821
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2822
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2823
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2824
        if ( is_array( $value ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2825
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2826
          if ( ! isset( $option_array[1] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2827
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2828
            /* Measurement */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2829
            if ( isset( $value[0] ) && isset( $value[1] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2830
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2831
              /* set $value with measurement properties */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2832
              $value = $value[0].$value[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2833
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2834
            /* typography */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2835
            } else if ( ot_array_keys_exists( $value, array( 'font-color', 'font-family', 'font-size', 'font-style', 'font-variant', 'font-weight', 'letter-spacing', 'line-height', 'text-decoration', 'text-transform' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2836
              $font = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2837
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2838
              if ( ! empty( $value['font-color'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2839
                $font[] = "color: " . $value['font-color'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2840
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2841
              if ( ! empty( $value['font-family'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2842
                foreach ( ot_recognized_font_families( $marker ) as $key => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2843
                  if ( $key == $value['font-family'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2844
                    $font[] = "font-family: " . $v . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2845
                  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2846
                }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2847
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2848
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2849
              if ( ! empty( $value['font-size'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2850
                $font[] = "font-size: " . $value['font-size'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2851
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2852
              if ( ! empty( $value['font-style'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2853
                $font[] = "font-style: " . $value['font-style'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2854
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2855
              if ( ! empty( $value['font-variant'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2856
                $font[] = "font-variant: " . $value['font-variant'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2857
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2858
              if ( ! empty( $value['font-weight'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2859
                $font[] = "font-weight: " . $value['font-weight'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2860
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2861
              if ( ! empty( $value['letter-spacing'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2862
                $font[] = "letter-spacing: " . $value['letter-spacing'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2863
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2864
              if ( ! empty( $value['line-height'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2865
                $font[] = "line-height: " . $value['line-height'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2866
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2867
              if ( ! empty( $value['text-decoration'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2868
                $font[] = "text-decoration: " . $value['text-decoration'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2869
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2870
              if ( ! empty( $value['text-transform'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2871
                $font[] = "text-transform: " . $value['text-transform'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2872
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2873
              /* set $value with font properties or empty string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2874
              $value = ! empty( $font ) ? implode( "\n", $font ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2875
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2876
            /* background */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2877
            } else if ( ot_array_keys_exists( $value, array( 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2878
              $bg = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2879
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2880
              if ( ! empty( $value['background-color'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2881
                $bg[] = $value['background-color'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2882
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2883
              if ( ! empty( $value['background-image'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2884
                $bg[] = 'url("' . $value['background-image'] . '")';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2885
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2886
              if ( ! empty( $value['background-repeat'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2887
                $bg[] = $value['background-repeat'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2888
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2889
              if ( ! empty( $value['background-attachment'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2890
                $bg[] = $value['background-attachment'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2891
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2892
              if ( ! empty( $value['background-position'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2893
                $bg[] = $value['background-position'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2894
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2895
              /* set $value with background properties or empty string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2896
              $value = ! empty( $bg ) ? 'background: ' . implode( " ", $bg ) . ';' : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2897
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2898
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2899
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2900
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2901
            $value = $value[$option_array[1]];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2902
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2903
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2904
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2905
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2906
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2907
        // Filter the CSS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2908
         $value = apply_filters( 'ot_insert_css_with_markers_value', $value, $option_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2909
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2910
        /* insert CSS, even if the value is empty */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2911
         $insertion = stripslashes( str_replace( $option, $value, $insertion ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2912
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2913
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2914
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2915
      /* create array from the lines of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2916
      $markerdata = explode( "\n", implode( '', file( $filepath ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2917
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2918
      /* can't write to the file return false */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2919
      if ( ! $f = ot_file_open( $filepath, 'w' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2920
        return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2921
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2922
      $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2923
      $foundit = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2924
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2925
      /* has array of lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2926
      if ( ! empty( $markerdata ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2927
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2928
        /* foreach line of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2929
        foreach( $markerdata as $n => $markerline ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2930
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2931
          /* found begining of marker, set $searching to false  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2932
          if ( $markerline == "/* BEGIN {$marker} */" )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2933
            $searching = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2934
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2935
          /* keep rewrite each line of CSS  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2936
          if ( $searching == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2937
            if ( $n + 1 < count( $markerdata ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2938
              ot_file_write( $f, "{$markerline}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2939
            else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2940
              ot_file_write( $f, "{$markerline}" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2941
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2942
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2943
          /* found end marker write code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2944
          if ( $markerline == "/* END {$marker} */" ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2945
            ot_file_write( $f, "/* BEGIN {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2946
            ot_file_write( $f, "{$insertion}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2947
            ot_file_write( $f, "/* END {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2948
            $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2949
            $foundit = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2950
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2951
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2952
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2953
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2954
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2955
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2956
      /* nothing inserted, write code. DO IT, DO IT! */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2957
      if ( ! $foundit ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2958
        ot_file_write( $f, "/* BEGIN {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2959
        ot_file_write( $f, "{$insertion}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2960
        ot_file_write( $f, "/* END {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2961
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2962
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2963
      /* close file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2964
      ot_file_close( $f );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2965
      return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2966
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2967
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2968
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2969
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2970
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2971
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2972
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2973
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2974
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2975
 * Remove old CSS.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2976
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2977
 * Removes CSS when the textarea is empty, but still retains surrounding styles.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2978
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2979
 * @param     string  $field_id The CSS option field ID.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2980
 * @return    bool    True on write success, false on failure.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2981
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2982
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2983
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2984
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2985
if ( ! function_exists( 'ot_remove_old_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2986
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2987
  function ot_remove_old_css( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2988
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2989
    /* missing $field_id string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2990
    if ( '' == $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2991
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2992
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2993
    /* path to the dynamic.css file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2994
    $filepath = get_stylesheet_directory() . '/dynamic.css';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2995
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2996
    /* allow filter on path */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2997
    $filepath = apply_filters( 'css_option_file_path', $filepath, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2998
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2999
    /* remove CSS from file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3000
    if ( is_writeable( $filepath ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3001
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3002
      /* get each line in the file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3003
      $markerdata = explode( "\n", implode( '', file( $filepath ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3004
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3005
      /* can't write to the file return false */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3006
      if ( ! $f = ot_file_open( $filepath, 'w' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3007
        return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3008
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3009
      $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3010
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3011
      /* has array of lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3012
      if ( ! empty( $markerdata ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3013
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3014
        /* foreach line of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3015
        foreach ( $markerdata as $n => $markerline ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3016
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3017
          /* found begining of marker, set $searching to false  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3018
          if ( $markerline == "/* BEGIN {$field_id} */" )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3019
            $searching = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3020
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3021
          /* $searching is true, keep rewrite each line of CSS  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3022
          if ( $searching == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3023
            if ( $n + 1 < count( $markerdata ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3024
              ot_file_write( $f, "{$markerline}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3025
            else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3026
              ot_file_write( $f, "{$markerline}" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3027
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3028
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3029
          /* found end marker delete old CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3030
          if ( $markerline == "/* END {$field_id} */" ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3031
            ot_file_write( $f, "" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3032
            $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3033
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3034
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3035
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3036
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3037
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3038
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3039
      /* close file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3040
      ot_file_close( $f );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3041
      return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3042
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3043
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3044
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3045
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3046
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3047
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3048
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3049
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3050
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3051
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3052
 * Normalize CSS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3053
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3054
 * Normalize & Convert all line-endings to UNIX format.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3055
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3056
 * @param     string    $css
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3057
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3058
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3059
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3060
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3061
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3062
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3063
if ( ! function_exists( 'ot_normalize_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3064
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3065
  function ot_normalize_css( $css ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3066
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3067
    /* Normalize & Convert */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3068
    $css = str_replace( "\r\n", "\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3069
    $css = str_replace( "\r", "\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3070
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3071
    /* Don't allow out-of-control blank lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3072
    $css = preg_replace( "/\n{2,}/", "\n\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3073
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3074
    return $css;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3075
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3076
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3077
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3078
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3079
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3080
 * Helper function to loop over the option types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3081
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3082
 * @param    array    $type The current option type.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3083
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3084
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3085
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3086
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3087
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3088
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3089
if ( ! function_exists( 'ot_loop_through_option_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3090
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3091
  function ot_loop_through_option_types( $type = '', $child = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3092
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3093
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3094
    $types = ot_option_types_array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3095
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3096
    if ( $child )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3097
      unset($types['list-item']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3098
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3099
    foreach( $types as $key => $value )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3100
      $content.= '<option value="' . $key . '" ' . selected( $type, $key, false ) . '>'  . $value . '</option>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3101
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3102
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3103
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3104
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3105
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3106
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3107
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3108
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3109
 * Helper function to loop over choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3110
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3111
 * @param    string     $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3112
 * @param    array      $choices The array of choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3113
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3114
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3115
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3116
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3117
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3118
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3119
if ( ! function_exists( 'ot_loop_through_choices' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3120
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3121
  function ot_loop_through_choices( $name, $choices = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3122
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3123
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3124
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3125
    foreach( $choices as $key => $choice )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3126
      $content.= '<li class="ui-state-default list-choice">' . ot_choices_view( $name, $key, $choice ) . '</li>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3127
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3128
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3129
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3130
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3131
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3132
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3133
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3134
 * Helper function to loop over sub settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3135
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3136
 * @param    string     $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3137
 * @param    array      $settings The array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3138
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3139
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3140
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3141
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3142
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3143
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3144
if ( ! function_exists( 'ot_loop_through_sub_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3145
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3146
  function ot_loop_through_sub_settings( $name, $settings = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3147
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3148
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3149
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3150
    foreach( $settings as $key => $setting )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3151
      $content.= '<li class="ui-state-default list-sub-setting">' . ot_settings_view( $name, $key, $setting ) . '</li>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3152
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3153
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3154
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3155
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3156
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3157
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3158
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3159
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3160
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3161
 * This function is used in AJAX to add a new section
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3162
 * and when section have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3163
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3164
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3165
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3166
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3167
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3168
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3169
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3170
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3171
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3172
if ( ! function_exists( 'ot_sections_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3173
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3174
  function ot_sections_view( $name, $key, $section = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3175
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3176
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3177
    <div class="option-tree-setting is-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3178
      <div class="open">' . ( isset( $section['title'] ) ? esc_attr( $section['title'] ) : 'Section ' . ( $key + 1 ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3179
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3180
        <a href="javascript:void(0);" class="option-tree-setting-edit option-tree-ui-button left-item" title="' . __( 'edit', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3181
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span> 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3182
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3183
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3184
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3185
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3186
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3187
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3188
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3189
          <div class="format-setting type-text">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3190
            <div class="description">' . __( '<strong>Section Title</strong>: Displayed as a menu item on the Theme Options page.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3191
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3192
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][title]" value="' . ( isset( $section['title'] ) ? esc_attr( $section['title'] ) : '' ) . '" class="widefat option-tree-ui-input option-tree-setting-title section-title" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3193
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3194
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3195
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3196
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3197
          <div class="format-setting type-text">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3198
            <div class="description">' . __( '<strong>Section ID</strong>: A unique lower case alphanumeric string, underscores allowed.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3199
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3200
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][id]" value="' . ( isset( $section['id'] ) ? esc_attr( $section['id'] ) : '' ) . '" class="widefat option-tree-ui-input section-id" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3201
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3202
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3203
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3204
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3205
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3206
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3207
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3208
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3209
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3210
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3211
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3212
 * Helper function to display settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3213
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3214
 * This function is used in AJAX to add a new setting
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3215
 * and when settings have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3216
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3217
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3218
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3219
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3220
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3221
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3222
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3223
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3224
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3225
if ( ! function_exists( 'ot_settings_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3226
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3227
  function ot_settings_view( $name, $key, $setting = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3228
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3229
    $child = ( strpos( $name, '][settings]') !== false ) ? true : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3230
    $type = isset( $setting['type'] ) ? $setting['type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3231
    $std = isset( $setting['std'] ) ? $setting['std'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3232
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3233
    // Serialize the standard value just incase
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3234
    if ( is_array( $std ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3235
      $std = maybe_serialize( $std );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3236
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3237
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3238
    if ( in_array( $type, array( 'textarea', 'textarea-simple', 'css' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3239
      $std_form_element = '<textarea class="textarea" rows="10" cols="40" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][std]">' . esc_html( $std ) . '</textarea>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3240
    } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3241
      $std_form_element = '<input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][std]" value="' . esc_attr( $std ) . '" class="widefat option-tree-ui-input" autocomplete="off" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3242
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3243
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3244
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3245
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3246
      <div class="open">' . ( isset( $setting['label'] ) ? esc_attr( $setting['label'] ) : 'Setting ' . ( $key + 1 ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3247
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3248
        <a href="javascript:void(0);" class="option-tree-setting-edit option-tree-ui-button left-item" title="' . __( 'Edit', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3249
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3250
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3251
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3252
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3253
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3254
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3255
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3256
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3257
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3258
            <div class="description">' . __( '<strong>Label</strong>: Displayed as the label of a form element on the Theme Options page.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3259
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3260
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][label]" value="' . ( isset( $setting['label'] ) ? esc_attr( $setting['label'] ) : '' ) . '" class="widefat option-tree-ui-input option-tree-setting-title" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3261
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3262
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3263
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3264
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3265
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3266
            <div class="description">' . __( '<strong>ID</strong>: A unique lower case alphanumeric string, underscores allowed.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3267
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3268
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][id]" value="' . ( isset( $setting['id'] ) ? esc_attr( $setting['id'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3269
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3270
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3271
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3272
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3273
          <div class="format-setting type-select wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3274
            <div class="description">' . __( '<strong>Type</strong>: Choose one of the available option types from the dropdown.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3275
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3276
              <select name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][type]" value="' . esc_attr( $type ) . '" class="option-tree-ui-select">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3277
              ' . ot_loop_through_option_types( $type, $child ) . '                     
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3278
               
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3279
              </select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3280
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3281
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3282
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3283
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3284
          <div class="format-setting type-textarea wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3285
            <div class="description">' . __( '<strong>Description</strong>: Enter a detailed description for the users to read on the Theme Options page, HTML is allowed. This is also where you enter content for both the Textblock & Textblock Titled option types.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3286
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3287
              <textarea class="textarea" rows="10" cols="40" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][desc]">' . ( isset( $setting['desc'] ) ? esc_html( $setting['desc'] ) : '' ) . '</textarea>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3288
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3289
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3290
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3291
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3292
          <div class="format-setting type-textblock wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3293
            <div class="description">' . __( '<strong>Choices</strong>: This will only affect the following option types: Checkbox, Radio, Select & Select Image.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3294
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3295
              <ul class="option-tree-setting-wrap option-tree-sortable" data-name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . ']">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3296
                ' . ( isset( $setting['choices'] ) ? ot_loop_through_choices( $name . '[' . $key . ']', $setting['choices'] ) : '' ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3297
              </ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3298
              <a href="javascript:void(0);" class="option-tree-choice-add option-tree-ui-button hug-left">' . __( 'Add Choice', 'option-tree' ) . '</a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3299
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3300
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3301
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3302
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3303
          <div class="format-setting type-textblock wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3304
            <div class="description">' . __( '<strong>Settings</strong>: This will only affect the List Item option type.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3305
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3306
              <ul class="option-tree-setting-wrap option-tree-sortable" data-name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . ']">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3307
                ' . ( isset( $setting['settings'] ) ? ot_loop_through_sub_settings( $name . '[' . $key . '][settings]', $setting['settings'] ) : '' ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3308
              </ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3309
              <a href="javascript:void(0);" class="option-tree-list-item-setting-add option-tree-ui-button hug-left">' . __( 'Add Setting', 'option-tree' ) . '</a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3310
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3311
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3312
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3313
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3314
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3315
            <div class="description">' . __( '<strong>Standard</strong>: Setting the standard value for your option only works for some option types. Read the <code>OptionTree->Documentation</code> for more information on which ones.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3316
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3317
              ' . $std_form_element . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3318
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3319
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3320
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3321
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3322
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3323
            <div class="description">' . __( '<strong>Rows</strong>: Enter a numeric value for the number of rows in your textarea. This will only affect the following option types: CSS, Textarea, & Textarea Simple.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3324
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3325
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][rows]" value="' . ( isset( $setting['rows'] ) ? esc_attr( $setting['rows'] ) : '' ) . '" class="widefat option-tree-ui-input" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3326
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3327
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3328
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3329
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3330
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3331
            <div class="description">' . __( '<strong>Post Type</strong>: Add a comma separated list of post type like \'post,page\'. This will only affect the following option types: Custom Post Type Checkbox, & Custom Post Type Select.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3332
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3333
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][post_type]" value="' . ( isset( $setting['post_type'] ) ? esc_attr( $setting['post_type'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3334
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3335
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3336
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3337
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3338
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3339
            <div class="description">' . __( '<strong>Taxonomy</strong>: Add a comma separated list of any registered taxonomy like \'category,post_tag\'. This will only affect the following option types: Taxonomy Checkbox, & Taxonomy Select.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3340
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3341
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][taxonomy]" value="' . ( isset( $setting['taxonomy'] ) ? esc_attr( $setting['taxonomy'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3342
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3343
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3344
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3345
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3346
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3347
            <div class="description">' . __( '<strong>Min, Max, & Step</strong>: Add a comma separated list of options in the following format <code>0,100,1</code> (slide from <code>0-100</code> in intervals of <code>1</code>). The three values represent the minimum, maximum, and step options and will only affect the Numeric Slider option type.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3348
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3349
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][min_max_step]" value="' . ( isset( $setting['min_max_step'] ) ? esc_attr( $setting['min_max_step'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3350
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3351
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3352
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3353
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3354
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3355
            <div class="description">' . __( '<strong>CSS Class</strong>: Add and optional class to this option type.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3356
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3357
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][class]" value="' . ( isset( $setting['class'] ) ? esc_attr( $setting['class'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3358
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3359
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3360
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3361
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3362
    </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3363
    ' . ( ! $child ? '<input type="hidden" class="hidden-section" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][section]" value="' . ( isset( $setting['section'] ) ? esc_attr( $setting['section'] ) : '' ) . '" />' : '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3364
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3365
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3366
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3367
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3368
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3369
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3370
 * Helper function to display setting choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3371
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3372
 * This function is used in AJAX to add a new choice
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3373
 * and when choices have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3374
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3375
 * @param    string   $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3376
 * @param    array    $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3377
 * @param    array    An array of values for the current choice.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3378
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3379
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3380
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3381
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3382
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3383
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3384
if ( ! function_exists( 'ot_choices_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3385
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3386
  function ot_choices_view( $name, $key, $choice = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3387
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3388
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3389
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3390
      <div class="open">' . ( isset( $choice['label'] ) ? esc_attr( $choice['label'] ) : 'Choice ' . ( $key + 1 ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3391
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3392
        <a href="javascript:void(0);" class="option-tree-setting-edit option-tree-ui-button left-item" title="' . __( 'Edit', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3393
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3394
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3395
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3396
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3397
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3398
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3399
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3400
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3401
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3402
            <h5>' . __( 'Label', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3403
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3404
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3405
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3406
              <input type="text" name="' . esc_attr( $name ) . '[choices][' . esc_attr( $key ) . '][label]" value="' . ( isset( $choice['label'] ) ? esc_attr( $choice['label'] ) : '' ) . '" class="widefat option-tree-ui-input option-tree-setting-title" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3407
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3408
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3409
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3410
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3411
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3412
            <h5>' . __( 'Value', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3413
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3414
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3415
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3416
              <input type="text" name="' . esc_attr( $name ) . '[choices][' . esc_attr( $key ) . '][value]" value="' . ( isset( $choice['value'] ) ? esc_attr( $choice['value'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3417
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3418
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3419
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3420
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3421
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3422
            <h5>' . __( 'Image Source (Radio Image only)', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3423
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3424
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3425
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3426
              <input type="text" name="' . esc_attr( $name ) . '[choices][' . esc_attr( $key ) . '][src]" value="' . ( isset( $choice['src'] ) ? esc_attr( $choice['src'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3427
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3428
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3429
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3430
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3431
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3432
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3433
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3434
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3435
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3436
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3437
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3438
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3439
 * This function is used in AJAX to add a new section
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3440
 * and when section have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3441
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3442
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3443
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3444
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3445
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3446
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3447
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3448
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3449
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3450
if ( ! function_exists( 'ot_contextual_help_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3451
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3452
  function ot_contextual_help_view( $name, $key, $content = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3453
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3454
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3455
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3456
      <div class="open">' . ( isset( $content['title'] ) ? esc_attr( $content['title'] ) : 'Content ' . ( $key + 1 ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3457
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3458
        <a href="javascript:void(0);" class="option-tree-setting-edit option-tree-ui-button left-item" title="' . __( 'Edit', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3459
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3460
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3461
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3462
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3463
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3464
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3465
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3466
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3467
          <div class="format-setting type-text no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3468
            <div class="description">' . __( '<strong>Title</strong>: Displayed as a contextual help menu item on the Theme Options page.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3469
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3470
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][title]" value="' . ( isset( $content['title'] ) ? esc_attr( $content['title'] ) : '' ) . '" class="widefat option-tree-ui-input option-tree-setting-title" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3471
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3472
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3473
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3474
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3475
          <div class="format-setting type-text no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3476
            <div class="description">' . __( '<strong>ID</strong>: A unique lower case alphanumeric string, underscores allowed.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3477
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3478
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][id]" value="' . ( isset( $content['id'] ) ? esc_attr( $content['id'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3479
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3480
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3481
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3482
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3483
          <div class="format-setting type-textarea no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3484
            <div class="description">' . __( '<strong>Content</strong>: Enter the HTML content about this contextual help item displayed on the Theme Option page for end users to read.', 'option-tree' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3485
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3486
              <textarea class="textarea" rows="15" cols="40" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][content]">' . ( isset( $content['content'] ) ? esc_html( $content['content'] ) : '' ) . '</textarea>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3487
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3488
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3489
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3490
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3491
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3492
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3493
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3494
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3495
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3496
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3497
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3498
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3499
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3500
 * @param     string      $key
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3501
 * @param     string      $data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3502
 * @param     string      $active_layout
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3503
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3504
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3505
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3506
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3507
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3508
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3509
if ( ! function_exists( 'ot_layouts_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3510
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3511
  function ot_layout_view( $key, $data = '', $active_layout = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3512
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3513
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3514
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3515
      <div class="open">' . ( isset( $key ) ? esc_attr( $key ) : __( 'Layout', 'option-tree' ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3516
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3517
        <a href="javascript:void(0);" class="option-tree-layout-activate option-tree-ui-button left-item' . ( $active_layout == $key ? ' active' : '' ) . '" title="' . __( 'Activate', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3518
          <span class="icon check">' . __( 'Activate', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3519
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3520
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="'. __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3521
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3522
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3523
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3524
      <input type="hidden" name="option_tree_layouts[' . esc_attr( $key ) . ']" value="' . $data . '" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3525
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3526
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3527
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3528
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3529
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3530
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3531
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3532
 * Helper function to display list items.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3533
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3534
 * This function is used in AJAX to add a new list items
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3535
 * and when they have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3536
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3537
 * @param     string    $name The form field name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3538
 * @param     int       $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3539
 * @param     array     An array of values for the current list item.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3540
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3541
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3542
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3543
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3544
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3545
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3546
if ( ! function_exists( 'ot_list_item_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3547
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3548
  function ot_list_item_view( $name, $key, $list_item = array(), $post_id = 0, $get_option = '', $settings = array(), $type = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3549
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3550
    /* required title setting */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3551
    $required_setting = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3552
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3553
        'id'        => 'title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3554
        'label'     => __( 'Title', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3555
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3556
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3557
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3558
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3559
        'class'     => 'option-tree-setting-title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3560
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3561
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3562
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3563
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3564
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3565
    /* load the old filterable slider settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3566
    if ( 'slider' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3567
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3568
      $settings = ot_slider_settings( $name );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3569
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3570
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3571
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3572
    /* if no settings array load the filterable list item settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3573
    if ( empty( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3574
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3575
      $settings = ot_list_item_settings( $name );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3576
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3577
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3578
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3579
    /* merge the two settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3580
    $settings = array_merge( $required_setting, $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3581
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3582
    echo '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3583
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3584
      <div class="open">' . ( isset( $list_item['title'] ) ? esc_attr( $list_item['title'] ) : '' ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3585
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3586
        <a href="javascript:void(0);" class="option-tree-setting-edit option-tree-ui-button left-item" title="' . __( 'Edit', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3587
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3588
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3589
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button red light right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3590
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3591
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3592
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3593
      <div class="option-tree-setting-body">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3594
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3595
      foreach( $settings as $field ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3596
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3597
        // Set field value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3598
        $field_value = isset( $list_item[$field['id']] ) ? $list_item[$field['id']] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3599
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3600
        /* set default to standard value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3601
        if ( isset( $field['std'] ) ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3602
          $field_value = ot_filter_std_value( $field_value, $field['std'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3603
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3604
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3605
        /* make life easier */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3606
        $_field_name = $get_option ? $get_option . '[' . $name . ']' : $name;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3607
             
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3608
        /* build the arguments array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3609
        $_args = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3610
          'type'              => $field['type'],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3611
          'field_id'          => $name . '_' . $field['id'] . '_' . $key,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3612
          'field_name'        => $_field_name . '[' . $key . '][' . $field['id'] . ']',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3613
          'field_value'       => $field_value,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3614
          'field_desc'        => isset( $field['desc'] ) ? $field['desc'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3615
          'field_std'         => isset( $field['std'] ) ? $field['std'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3616
          'field_rows'        => isset( $field['rows'] ) ? $field['rows'] : 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3617
          'field_post_type'   => isset( $field['post_type'] ) && ! empty( $field['post_type'] ) ? $field['post_type'] : 'post',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3618
          'field_taxonomy'    => isset( $field['taxonomy'] ) && ! empty( $field['taxonomy'] ) ? $field['taxonomy'] : 'category',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3619
          'field_min_max_step'=> isset( $field['min_max_step'] ) && ! empty( $field['min_max_step'] ) ? $field['min_max_step'] : '0,100,1',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3620
          'field_class'       => isset( $field['class'] ) ? $field['class'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3621
          'field_choices'     => isset( $field['choices'] ) && ! empty( $field['choices'] ) ? $field['choices'] : array(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3622
          'field_settings'    => isset( $field['settings'] ) && ! empty( $field['settings'] ) ? $field['settings'] : array(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3623
          'post_id'           => $post_id,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3624
          'get_option'        => $get_option
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3625
        );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3626
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3627
        /* option label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3628
        echo '<div class="format-settings">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3629
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3630
        /* don't show title with textblocks */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3631
        if ( $_args['type'] != 'textblock' && ! empty( $field['label'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3632
          echo '<div class="format-setting-label">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3633
            echo '<h3 class="label">' . esc_attr( $field['label'] ) . '</h3>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3634
          echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3635
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3636
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3637
        /* only allow simple textarea inside a list-item due to known DOM issues with wp_editor() */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3638
        if ( $_args['type'] == 'textarea' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3639
          $_args['type'] = 'textarea-simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3640
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3641
        /* option body, list-item is not allowed inside another list-item */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3642
        if ( $_args['type'] !== 'list-item' && $_args['type'] !== 'slider' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3643
          echo ot_display_by_type( $_args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3644
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3645
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3646
        echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3647
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3648
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3649
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3650
    echo
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3651
      '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3652
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3653
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3654
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3655
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3656
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3657
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3658
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3659
 * Helper function to display Theme Options layouts form.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3660
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3661
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3662
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3663
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3664
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3665
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3666
if ( ! function_exists( 'ot_theme_options_layouts_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3667
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3668
  function ot_theme_options_layouts_form( $active = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3669
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3670
    echo '<form method="post" id="option-tree-options-layouts-form">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3671
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3672
      /* form nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3673
      wp_nonce_field( 'option_tree_modify_layouts_form', 'option_tree_modify_layouts_nonce' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3674
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3675
      /* get the saved layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3676
      $layouts = get_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3677
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3678
      /* set active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3679
      $active_layout = isset( $layouts['active_layout'] ) ? $layouts['active_layout'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3680
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3681
      if ( is_array( $layouts ) && count( $layouts ) > 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3682
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3683
        $active_layout = esc_attr( $layouts['active_layout'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3684
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3685
        echo '<input type="hidden" id="the_current_layout" value="' . $active_layout . '" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3686
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3687
        echo '<div class="option-tree-active-layout">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3688
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3689
          echo '<select name="option_tree_layouts[active_layout]" class="option-tree-ui-select">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3690
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3691
            foreach( $layouts as $key => $data ) { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3692
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3693
              if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3694
                continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3695
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3696
              echo '<option' . selected( $key, $active_layout, false ) . ' value="' . esc_attr( $key ) . '">' . esc_attr( $key ) . '</option>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3697
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3698
           
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3699
          echo '</select>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3700
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3701
        echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3702
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3703
        foreach( $layouts as $key => $data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3704
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3705
          if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3706
              continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3707
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3708
          echo '<input type="hidden" name="option_tree_layouts[' . $key . ']" value="' . ( isset( $data ) ? $data : '' ) . '" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3709
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3710
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3711
       
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3712
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3713
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3714
      /* new layout wrapper */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3715
      echo '<div class="option-tree-save-layout' . ( ! empty( $active_layout ) ? ' active-layout' : '' ) . '">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3716
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3717
        /* add new layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3718
        echo '<input type="text" name="option_tree_layouts[_add_new_layout_]" value="" class="widefat option-tree-ui-input" autocomplete="off" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3719
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3720
        echo '<button type="submit" class="option-tree-ui-button blue save-layout" title="' . __( 'New Layout', 'option-tree' ) . '">' . __( 'New Layout', 'option-tree' ) . '</button>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3721
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3722
      echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3723
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3724
    echo '</form>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3725
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3726
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3727
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3728
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3729
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3730
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3731
 * Helper function to validate option ID's
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3732
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3733
 * @param     string      $input The string to sanitize.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3734
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3735
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3736
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3737
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3738
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3739
if ( ! function_exists( 'ot_sanitize_option_id' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3740
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3741
  function ot_sanitize_option_id( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3742
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3743
    return preg_replace( '/[^a-z0-9]/', '_', trim( strtolower( $input ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3744
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3745
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3746
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3747
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3748
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3749
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3750
 * Helper function to validate layout ID's
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3751
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3752
 * @param     string      $input The string to sanitize.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3753
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3754
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3755
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3756
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3757
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3758
if ( ! function_exists( 'ot_sanitize_layout_id' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3759
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3760
  function ot_sanitize_layout_id( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3761
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3762
    return preg_replace( '/[^a-z0-9]/', '-', trim( strtolower( $input ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3763
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3764
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3765
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3766
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3767
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3768
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3769
 * Convert choices array to string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3770
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3771
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3772
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3773
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3774
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3775
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3776
if ( ! function_exists( 'ot_convert_array_to_string' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3777
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3778
  function ot_convert_array_to_string( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3779
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3780
    if ( is_array( $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3781
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3782
      foreach( $input as $k => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3783
        $choices[$k] = $choice['value'] . '|' . $choice['label'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3784
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3785
        if ( isset( $choice['src'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3786
          $choices[$k].= '|' . $choice['src'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3787
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3788
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3789
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3790
      return implode( ',', $choices );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3791
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3792
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3793
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3794
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3795
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3796
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3797
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3798
 * Convert choices string to array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3799
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3800
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3801
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3802
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3803
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3804
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3805
if ( ! function_exists( 'ot_convert_string_to_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3806
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3807
  function ot_convert_string_to_array( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3808
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3809
    if ( '' !== $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3810
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3811
      /* empty choices array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3812
      $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3813
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3814
      /* exlode the string into an array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3815
      foreach( explode( ',', $input ) as $k => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3816
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3817
        /* if ":" is splitting the string go deeper */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3818
        if ( preg_match( '/\|/', $choice ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3819
          $split = explode( '|', $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3820
          $choices[$k]['value'] = trim( $split[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3821
          $choices[$k]['label'] = trim( $split[1] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3822
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3823
          /* if radio image there are three values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3824
          if ( isset( $split[2] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3825
            $choices[$k]['src'] = trim( $split[2] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3826
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3827
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3828
          $choices[$k]['value'] = trim( $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3829
          $choices[$k]['label'] = trim( $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3830
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3831
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3832
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3833
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3834
      /* return a formated choices array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3835
      return $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3836
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3837
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3838
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3839
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3840
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3841
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3842
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3843
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3844
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3845
 * Helper function - strpos() with arrays.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3846
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3847
 * @param     string    $haystack
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3848
 * @param     array     $needles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3849
 * @return    bool
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3850
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3851
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3852
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3853
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3854
if ( ! function_exists( 'ot_strpos_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3855
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3856
  function ot_strpos_array( $haystack, $needles = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3857
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3858
    foreach( $needles as $needle ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3859
      $pos = strpos( $haystack, $needle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3860
      if ( $pos !== false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3861
        return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3862
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3863
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3864
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3865
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3866
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3867
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3868
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3869
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3870
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3871
 * Helper function - strpos() with arrays.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3872
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3873
 * @param     string    $haystack
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3874
 * @param     array     $needles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3875
 * @return    bool
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3876
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3877
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3878
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3879
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3880
if ( ! function_exists( 'ot_array_keys_exists' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3881
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3882
  function ot_array_keys_exists( $array, $keys ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3883
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3884
    foreach($keys as $k) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3885
      if ( isset($array[$k]) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3886
        return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3887
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3888
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3889
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3890
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3891
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3892
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3893
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3894
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3895
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3896
 * Custom stripslashes from single value or array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3897
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3898
 * @param       mixed   $input
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3899
 * @return      mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3900
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3901
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3902
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3903
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3904
if ( ! function_exists( 'ot_stripslashes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3906
  function ot_stripslashes( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3907
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3908
    if ( is_array( $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3909
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3910
      foreach( $input as &$val ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3911
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3912
        if ( is_array( $val ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3913
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3914
          $val = ot_stripslashes( $val );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3915
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3916
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3917
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3918
          $val = stripslashes( trim( $val ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3919
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3920
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3921
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3922
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3923
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3924
    } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3925
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3926
      $input = stripslashes( trim( $input ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3927
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3928
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3929
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3930
    return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3931
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3932
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3933
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3934
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3935
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3936
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3937
 * Reverse wpautop.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3938
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3939
 * @param     string    $string The string to be filtered
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3940
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3941
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3942
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3943
 * @since     2.0.9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3944
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3945
if ( ! function_exists( 'ot_reverse_wpautop' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3946
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3947
  function ot_reverse_wpautop( $string = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3948
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3949
    /* return if string is empty */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3950
    if ( trim( $string ) === '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3951
      return '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3952
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3953
    /* remove all new lines & <p> tags */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3954
    $string = str_replace( array( "\n", "<p>" ), "", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3955
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3956
    /* replace <br /> with \r */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3957
    $string = str_replace( array( "<br />", "<br>", "<br/>" ), "\r", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3958
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3959
    /* replace </p> with \r\n */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3960
    $string = str_replace( "</p>", "\r\n", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3961
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3962
    /* return clean string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3963
    return trim( $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3964
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3965
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3966
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3967
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3968
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3969
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3970
 * Returns an array of elements from start to limit, inclusive.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3971
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3972
 * Occasionally zero will be some impossibly large number to 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3973
 * the "E" power when creating a range from negative to positive.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3974
 * This function attempts to fix that by setting that number back to "0".
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3975
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3976
 * @param     string    $start First value of the sequence.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3977
 * @param     string    $limit The sequence is ended upon reaching the limit value.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3978
 * @param     string    $step If a step value is given, it will be used as the increment 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3979
 *                      between elements in the sequence. step should be given as a 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3980
 *                      positive number. If not specified, step will default to 1.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3981
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3982
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3983
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3984
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3985
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3986
function ot_range( $start, $limit, $step = 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3987
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3988
  if ( $step < 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3989
    $step = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3990
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3991
  $range = range( $start, $limit, $step );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3992
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3993
  foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3994
    if ( strpos( $v, 'E' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3995
      $range[$k] = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3996
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3997
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3998
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3999
  return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4000
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4001
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4002
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4003
 * Helper function to return encoded strings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4004
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4005
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4006
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4007
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4008
 * @since     2.0.13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4009
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4010
function ot_encode( $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4011
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4012
  $func = 'base64' . '_encode';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4013
  return $func( $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4014
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4015
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4016
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4017
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4018
 * Helper function to return decoded strings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4019
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4020
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4021
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4022
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4023
 * @since     2.0.13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4024
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4025
function ot_decode( $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4026
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4027
  $func = 'base64' . '_decode';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4028
  return $func( $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4029
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4030
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4031
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4032
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4033
 * Helper function to open a file
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4034
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4035
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4036
 * @since     2.0.13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4037
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4038
function ot_file_open( $handle, $mode ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4039
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4040
  $func = 'f' . 'open';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4041
  return @$func( $handle, $mode );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4042
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4043
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4044
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4045
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4046
 * Helper function to close a file
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4047
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4048
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4049
 * @since     2.0.13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4050
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4051
function ot_file_close( $handle ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4052
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4053
  $func = 'f' . 'close';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4054
  return $func( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4055
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4056
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4057
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4058
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4059
 * Helper function to write to an open file
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4060
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4061
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4062
 * @since     2.0.13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4063
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4064
function ot_file_write( $handle, $string ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4065
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4066
  $func = 'f' . 'write';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4067
  return $func( $handle, $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4068
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4069
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4070
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4071
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4072
 * Helper function to filter standard option values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4073
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4074
 * @param     mixed     $value Saved string or array value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4075
 * @param     mixed     $std Standard string or array value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4076
 * @return    mixed     String or array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4077
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4078
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4079
 * @since     2.0.15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4080
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4081
function ot_filter_std_value( $value = '', $std = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4082
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4083
  $std = maybe_unserialize( $std );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4084
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4085
  if ( is_array( $value ) && is_array( $std ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4086
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4087
    foreach( $value as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4088
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4089
      if ( '' == $value[$k] && isset( $std[$k] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4090
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4091
        $value[$k] = $std[$k];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4092
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4093
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4094
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4095
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4096
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4097
  } else if ( '' == $value && ! empty( $std ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4098
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4099
    $value = $std;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4100
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4101
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4102
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4103
  return $value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4104
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4105
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4106
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4107
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4108
 * Helper function to register a WPML string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4109
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4110
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4111
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4112
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4113
function ot_wpml_register_string( $id, $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4114
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4115
  if ( function_exists( 'icl_register_string' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4116
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4117
    icl_register_string( 'Theme Options', $id, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4118
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4119
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4120
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4121
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4122
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4123
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4124
 * Helper function to unregister a WPML string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4125
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4126
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4127
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4128
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4129
function ot_wpml_unregister_string( $id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4130
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4131
  if ( function_exists( 'icl_unregister_string' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4132
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4133
    icl_unregister_string( 'Theme Options', $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4134
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4135
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4136
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4137
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4138
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4139
/* End of file ot-functions-admin.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4140
/* Location: ./includes/ot-functions-admin.php */