wp/wp-content/themes/IN-MOTION-package-u1/option-tree/includes/ot-functions-admin.php
author ymh <ymh.work@gmail.com>
Mon, 14 Oct 2019 17:39:30 +0200
changeset 7 cf61fcea0001
parent 0 d970ebf37754
permissions -rwxr-xr-x
resynchronize code repo with production
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) 2012, 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
 * Runs directly after the Theme Options are save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
if ( ! function_exists( 'ot_after_theme_options_save' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
  function ot_after_theme_options_save() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    $page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    $updated = isset( $_REQUEST['settings-updated'] ) && $_REQUEST['settings-updated'] == 'true' ? true : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    /* only execute after the theme options are saved */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    if ( 'ot-theme-options' == $page && $updated ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
      /* grab a copy of the theme options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
      $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
      /* execute the action hook and pass the theme options to it */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
      do_action( 'ot_after_theme_options_save', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
 * Validate the options by type before saving.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
 * This function will run on only some of the option types
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
 * as all of them don't need to be validated, just the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
 * ones users are going to input data into; because they
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
 * can't be trusted.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
 * @param     mixed     Setting value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
 * @param     string    Setting type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
 * @param     string    Setting field ID
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
if ( ! function_exists( 'ot_validate_setting' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
  function ot_validate_setting( $input, $type, $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
    /* exit early if missing data */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    if ( ! $input || ! $type || ! $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
      return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
    $input = apply_filters( 'ot_validate_setting', $input, $type, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
    if ( 'background' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
      $input['background-color'] = ot_validate_setting( $input['background-color'], 'colorpicker', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
      $input['background-image'] = ot_validate_setting( $input['background-image'], 'upload', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
    } else if ( 'colorpicker' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
      /* return empty & set error */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
      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
    80
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        $input = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
        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
    84
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
    } else if ( in_array( $type, array( 'css', 'text', 'textarea', 'textarea-simple' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
      if ( ! current_user_can( 'unfiltered_html' ) && OT_ALLOW_UNFILTERED_HTML == false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
        $input = wp_kses_post( $input );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
    } else if ( 'measurement' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
      $input[0] = sanitize_text_field( $input[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
    } else if ( 'typography' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
      $input['font-color'] = ot_validate_setting( $input['font-color'], 'colorpicker', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
    } else if ( 'upload' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
      $input = sanitize_text_field( $input );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
         
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
    $input = apply_filters( 'ot_after_validate_setting', $input, $type, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
    return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
 * Setup the default admin styles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
if ( ! function_exists( 'ot_admin_styles' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
  function ot_admin_styles() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
    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
   130
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
}
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
 * Setup the default admin scripts
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
 * @uses      add_thickbox()          Include Thickbox for file uploads
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
 * @uses      wp_enqueue_script()     Add OptionTree scripts
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
 * @uses      wp_localize_script()    Used to include arbitrary Javascript data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
if ( ! function_exists( 'ot_admin_scripts' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
  function ot_admin_scripts() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
    /* enqueue admin scripts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
    add_thickbox();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
    /* load the colorpicker */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
    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
   156
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    /* load all the required scripts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
    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
   159
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
    /* create localized JS array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
    $localized_array = array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
      'ajax'                  => admin_url( 'admin-ajax.php' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
      'upload_text'           => __( 'Send to OptionTree', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
      'remove_media_text'     => __( 'Remove Media', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
      '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
   166
      '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
   167
      'remove_agree'          => __( 'Are you sure you want to remove this?', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
      '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
   169
      'setting_limit'         => __( 'Sorry, you can\'t have settings three levels deep.', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
    /* localized script attached to 'option_tree' */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
    wp_localize_script( 'ot-admin-js', 'option_tree', $localized_array );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
 * Returns the ID of a custom post type by post_name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
 * @uses        get_results()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
 * @return      int
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
if ( ! function_exists( 'ot_get_media_post_ID' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
  function ot_get_media_post_ID() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
    global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
    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
   195
    
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
 * Register custom post type & create the media post used to attach images.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
 * @uses        get_results()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
 * @return      void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
if ( ! function_exists( 'ot_create_media_post' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
  function ot_create_media_post() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
    register_post_type( 'option-tree', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
      'labels'              => array( 'name' => __( 'Option Tree', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
      'public'              => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
      'show_ui'             => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
      'capability_type'     => 'post',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
      'exclude_from_search' => true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
      'hierarchical'        => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
      'rewrite'             => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
      'supports'            => array( 'title', 'editor' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
      'can_export'          => true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
      'show_in_nav_menus'   => false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
    ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
    /* look for custom page */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
    $post_id = ot_get_media_post_ID();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
    /* no post exists */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
    if ( $post_id == 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
      /* create post object */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
      $_p = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
      $_p['post_title']     = 'Media';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
      $_p['post_status']    = 'private';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
      $_p['post_type']      = 'option-tree';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
      $_p['comment_status'] = 'closed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
      $_p['ping_status']    = 'closed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
      /* insert the post into the database */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
      wp_insert_post( $_p );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
 * Setup default settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
if ( ! function_exists( 'ot_default_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
  function ot_default_settings() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
    global $wpdb, $table_prefix;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
    if ( ! get_option( 'option_tree_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
      $section_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
      $settings_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
      $settings = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
      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
   270
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
        foreach ( $old_settings as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
          /* heading is a section now */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
          if ( $setting->item_type == 'heading' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
            /* add section to the sections array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
            $settings['sections'][$section_count]['id'] = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
            $settings['sections'][$section_count]['title'] = $setting->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
            /* save the last section id to use in creating settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
            $section = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
            /* increment the section count */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
            $section_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
            /* add setting to the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
            $settings['settings'][$settings_count]['id'] = $setting->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
            $settings['settings'][$settings_count]['label'] = $setting->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
            $settings['settings'][$settings_count]['desc'] = $setting->item_desc;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
            $settings['settings'][$settings_count]['section'] = $section;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
            $settings['settings'][$settings_count]['type'] = ot_map_old_option_types( $setting->item_type );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
            $settings['settings'][$settings_count]['std'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
            $settings['settings'][$settings_count]['class'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
            /* textarea rows */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
            $rows = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
            if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
              if ( (int) $setting->item_options > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
                $rows = (int) $setting->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
              } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
                $rows = 15;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
            $settings['settings'][$settings_count]['rows'] = $rows;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
            /* post type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
            $post_type = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
            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
   311
              if ( '' != $setting->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
                $post_type = $setting->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
              } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
                $post_type = 'post';
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
            $settings['settings'][$settings_count]['post_type'] = $post_type;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
            /* choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
            $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
            if ( in_array( $settings['settings'][$settings_count]['type'], array( 'checkbox', 'radio', 'select' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
              if ( '' != $setting->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
                $choices = ot_convert_string_to_array( $setting->item_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
            $settings['settings'][$settings_count]['choices'] = $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
            $settings_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
        /* make sure each setting has a section just incase */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
        if ( isset( $settings['sections'] ) && isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
          foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
            if ( '' == $setting['section'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
              $settings['settings'][$k]['section'] = $settings['sections'][0]['id'];
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
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
      /* if array if not properly formed create fallback settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
      if ( ! isset( $settings['sections'] ) || ! isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
        $settings = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
          'sections' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
            array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
              'id'        => 'general',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
              'title'     => __( 'General', 'option-tree' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
            )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
          ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
          'settings' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
            array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
              'id'        => 'sample_text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
              'label'     => __( 'Sample Text Field Label', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
              'desc'      => __( 'Description for the sample text field.', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
              'section'   => 'general',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
              'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
              'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
              'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
              'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
              'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
              'choices'   => array()
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
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
      /* update the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
      update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
      /* get option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
      $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
      /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
      if ( is_array( $options ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
        foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
          if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
            $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
            $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
        update_option( 'option_tree', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
 * Helper function to update the CSS option type after save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
if ( ! function_exists( 'ot_save_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
  function ot_save_css( $options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
    /* grab a copy of the settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
    $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
    /* has settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
    if ( isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
      /* loop through sections and insert CSS when needed */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
      foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
        /* is the CSS option type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
        if ( isset( $setting['type'] ) && 'css' == $setting['type'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
          /* insert CSS into dynamic.css */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
          if ( isset( $options[$setting['id']] ) && '' !== $options[$setting['id']] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
            ot_insert_css_with_markers( $setting['id'], $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
          /* remove old CSS from dynamic.css */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
            ot_remove_old_css( $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
 * Helper function to load filters for XML mime type.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
if ( ! function_exists( 'ot_add_xml_to_upload_filetypes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
  function ot_add_xml_to_upload_filetypes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
    add_filter( 'upload_mimes', 'ot_upload_mimes' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
    add_filter( 'wp_mime_type_icon', 'ot_xml_mime_type_icon', 10, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
 * Filter 'upload_mimes' and add xml. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
 * @param     array     $mimes An array of valid upload mime types
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
if ( ! function_exists( 'ot_upload_mimes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
  function ot_upload_mimes( $mimes ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
    $mimes['xml'] = 'application/xml';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
    return $mimes;
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
 * Filters 'wp_mime_type_icon' and have xml display as a document.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
 * @param     string    $icon The mime icon
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
 * @param     string    $mime The mime type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
if ( ! function_exists( 'ot_xml_mime_type_icon' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
  function ot_xml_mime_type_icon( $icon, $mime ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
    if ( $mime == 'application/xml' || $mime == 'text/xml' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
      return wp_mime_type_icon( 'document' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
    return $icon;
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
 * Import before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
if ( ! function_exists( 'ot_import' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
  function ot_import() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
    /* check and verify import xml nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
    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
   527
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
      /* import input value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
      $file = isset( $_POST['import_xml'] ) ? esc_url( $_POST['import_xml'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
      /* validate xml file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
      if ( preg_match( "/(.xml)$/i", $file ) && class_exists( 'SimpleXMLElement' ) && function_exists( 'file_get_contents' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
        $settings = ot_import_xml( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
      /* cleanup, save, & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
      if ( isset( $settings ) && ! empty( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
        /* delete file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
        if ( $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
          global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
          $attachmentid = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid='$file'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
          wp_delete_attachment( $attachmentid, true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
        /* update settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
        update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
        /* set message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
      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
   561
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
    /* check and verify import settings nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
    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
   567
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
      $textarea = isset( $_POST['import_settings'] ) ? unserialize( base64_decode( $_POST['import_settings'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
      if ( is_array( $textarea ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
        update_option( 'option_tree_settings', $textarea );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
        $message = 'success';
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
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
      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
   582
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
    /* check and verify import theme options data nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
    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
   588
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
      $options = isset( $_POST['import_data'] ) ? unserialize( base64_decode( $_POST['import_data'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
      /* get settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
      $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
      /* has options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
      if ( is_array( $options ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
        /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
        if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
          foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
            if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
              $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
              $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
        update_option( 'option_tree', $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
      /* redirect accordingly */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
      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
   627
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
    /* check and verify import layouts nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
    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
   633
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
      /* textarea value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
      $layouts = isset( $_POST['import_layouts'] ) ? unserialize( base64_decode( $_POST['import_layouts'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
      /* get settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
      $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
      /* has layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
      if ( is_array( $layouts ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
        /* validate options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
        if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
          foreach( $layouts as $key => $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
            if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
              continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
            $options = unserialize( base64_decode( $value ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
            foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
              if ( isset( $options[$setting['id']] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
                $content = ot_stripslashes( $options[$setting['id']] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
                $options[$setting['id']] = ot_validate_setting( $content, $setting['type'], $setting['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
            $layouts[$key] = base64_encode( serialize( $options ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
        /* update the option tree array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
        if ( isset( $layouts['active_layout'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
          update_option( 'option_tree', unserialize( base64_decode( $layouts[$layouts['active_layout']] ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
        /* update the option tree layouts array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
        update_option( 'option_tree_layouts', $layouts );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
      /* redirect accordingly */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
      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
   690
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
 * Export before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
if ( ! function_exists( 'ot_export' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
  function ot_export() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
    /* check and verify export settings file nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
    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
   714
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
      ot_export_php_settings_array();
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
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
 * Reusable XMl import helper function.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
 * @param     string    $file The path to the file.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
 * @return    mixed     False or an array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
if ( ! function_exists( 'ot_import_xml' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
  function ot_import_xml( $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
    if ( $rawdata = @file_get_contents( $file ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
      $section_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
      $settings_count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
      $section = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
      $settings = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
      $xml = new SimpleXMLElement( $rawdata );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
      foreach ( $xml->row as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
        /* heading is a section now */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
        if ( $value->item_type == 'heading' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
          /* add section to the sections array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
          $settings['sections'][$section_count]['id'] = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
          $settings['sections'][$section_count]['title'] = (string) $value->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
          /* save the last section id to use in creating settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
          $section = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
          /* increment the section count */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
          $section_count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
          /* add setting to the settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
          $settings['settings'][$settings_count]['id'] = (string) $value->item_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
          $settings['settings'][$settings_count]['label'] = (string) $value->item_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
          $settings['settings'][$settings_count]['desc'] = (string) $value->item_desc;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
          $settings['settings'][$settings_count]['section'] = $section;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
          $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
   769
          $settings['settings'][$settings_count]['std'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
          $settings['settings'][$settings_count]['class'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
          /* textarea rows */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
          $rows = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
          if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
            if ( (int) $value->item_options > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
              $rows = (int) $value->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
              $rows = 15;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
          $settings['settings'][$settings_count]['rows'] = $rows;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
          /* post type */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
          $post_type = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
          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
   786
            if ( '' != (string) $value->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
              $post_type = (string) $value->item_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
              $post_type = 'post';
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
          $settings['settings'][$settings_count]['post_type'] = $post_type;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
          /* choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
          $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
          if ( in_array( $settings['settings'][$settings_count]['type'], array( 'checkbox', 'radio', 'select' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
            if ( '' != (string) $value->item_options ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
              $choices = ot_convert_string_to_array( (string) $value->item_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
          $settings['settings'][$settings_count]['choices'] = $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
          $settings_count++;
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
      /* make sure each setting has a section just incase */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
      if ( isset( $settings['sections'] ) && isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
        foreach( $settings['settings'] as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
          if ( '' == $setting['section'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
            $settings['settings'][$k]['section'] = $settings['sections'][0]['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
      return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
 * Export the Theme Mode theme-options.php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
 * @return    attachment
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
 * @since     2.0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
if ( ! function_exists( 'ot_export_php_settings_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
  function ot_export_php_settings_array() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
    $content              = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
    $build_settings       = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
    $contextual_help      = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
    $sections             = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
    $settings             = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
    $option_tree_settings = get_option( 'option_tree_settings', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
    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
   846
    header( "Pragma: no-cache ");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
    header( "Content-Description: File Transfer" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
    header( 'Content-Disposition: attachment; filename="theme-options.php"');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
    header( "Content-Type: application/octet-stream");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
    header( "Content-Transfer-Encoding: binary" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
    /* build contextual help content */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
    if ( isset( $option_tree_settings['contextual_help']['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
      $help = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
      foreach( $option_tree_settings['contextual_help']['content'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
        $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
        $_content = isset( $value['content'] ) ? html_entity_decode(  str_replace( "'", "\'", $value['content'] ) ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
        $help.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
        array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
          'id'        => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
          'title'     => '$_title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
          'content'   => '$_content'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
        ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
      $help = substr_replace( $help, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
      $contextual_help = "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
      'content'       => array( $help
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
    /* build contextual help sidebar */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
    if ( isset( $option_tree_settings['contextual_help']['sidebar'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
      $contextual_help.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
      'sidebar'       => '" . html_entity_decode(  str_replace( "'", "\'", $option_tree_settings['contextual_help']['sidebar'] ) ) . "'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
    /* check that $contexual_help has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
    if ( '' != $contextual_help ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
      $build_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
    'contextual_help' => array( $contextual_help
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
    ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
    /* build sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
    if ( isset( $option_tree_settings['sections'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
      foreach( $option_tree_settings['sections'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
        $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
        $sections.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
        'id'          => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
        'title'       => '$_title'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
      ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
      $sections = substr_replace( $sections, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
    /* check that $sections has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
    if ( '' != $sections ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
      $build_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
    'sections'        => array( $sections
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
    )";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
    /* build settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
    if ( isset( $option_tree_settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
      foreach( $option_tree_settings['settings'] as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
        $_id = isset( $value['id'] ) ? $value['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
        $_label = isset( $value['label'] ) ? str_replace( "'", "\'", $value['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
        $_desc = isset( $value['desc'] ) ? str_replace( "'", "\'", $value['desc'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
        $_std = isset( $value['std'] ) ? $value['std'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
        $_type = isset( $value['type'] ) ? $value['type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
        $_section = isset( $value['section'] ) ? $value['section'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
        $_rows = isset( $value['rows'] ) ? $value['rows'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
        $_post_type = isset( $value['post_type'] ) ? $value['post_type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
        $_taxonomy = isset( $value['taxonomy'] ) ? $value['taxonomy'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
        $_class = isset( $value['class'] ) ? $value['class'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
        $choices = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
        if ( isset( $value['choices'] ) && ! empty( $value['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
          foreach( $value['choices'] as $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
            $_choice_value = isset( $choice['value'] ) ? $choice['value'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
            $_choice_label = isset( $choice['label'] ) ? str_replace( "'", "\'", $choice['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
            $_choice_src = isset( $choice['src'] ) ? str_replace( "'", "\'", $choice['src'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
            $choices.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
            'value'       => '$_choice_value',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
            'label'       => '$_choice_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
            'src'         => '$_choice_src'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
          ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
          $choices = substr_replace( $choices, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
          $choices = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
        'choices'     => array( $choices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
        ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
        $setting_settings = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
        if ( isset( $value['settings'] ) && ! empty( $value['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
          foreach( $value['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
            $_setting_id = isset( $setting['id'] ) ? $setting['id'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
            $_setting_label = isset( $setting['label'] ) ? str_replace( "'", "\'", $setting['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
            $_setting_desc = isset( $setting['desc'] ) ? str_replace( "'", "\'", $setting['desc'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
            $_setting_std = isset( $setting['std'] ) ? $setting['std'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   946
            $_setting_type = isset( $setting['type'] ) ? $setting['type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   947
            $_setting_rows = isset( $setting['rows'] ) ? $setting['rows'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
            $_setting_post_type = isset( $setting['post_type'] ) ? $setting['post_type'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
            $_setting_taxonomy = isset( $setting['taxonomy'] ) ? $setting['taxonomy'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
            $_setting_class = isset( $setting['class'] ) ? $setting['class'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
            $setting_choices = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
            if ( isset( $setting['choices'] ) && ! empty( $setting['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
              foreach( $setting['choices'] as $setting_choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
                $_setting_choice_value = isset( $setting_choice['value'] ) ? $setting_choice['value'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
                $_setting_choice_label = isset( $setting_choice['label'] ) ? str_replace( "'", "\'", $setting_choice['label'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
                $_setting_choice_src = isset( $setting_choice['src'] ) ? str_replace( "'", "\'", $setting_choice['src'] ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
                $setting_choices.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
              array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
                'value'       => '$_setting_choice_value',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   961
                'label'       => '$_setting_choice_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
                'src'         => '$_setting_choice_src'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
              ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   965
              $setting_choices = substr_replace( $setting_choices, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   966
              $setting_choices = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
            'choices'     => array( $setting_choices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
            ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
            $setting_settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
          array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
            'id'          => '$_setting_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
            'label'       => '$_setting_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
            'desc'        => '$_setting_desc',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
            'std'         => '$_setting_std',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
            'type'        => '$_setting_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
            'rows'        => '$_setting_rows',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
            'post_type'   => '$_setting_post_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
            'taxonomy'    => '$_setting_taxonomy',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
            'class'       => '$_setting_class'$setting_choices
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
          $setting_settings = substr_replace( $setting_settings, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   985
          $setting_settings = ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   986
        'settings'    => array( $setting_settings
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
        $settings.= "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   991
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   992
        'id'          => '$_id',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   993
        'label'       => '$_label',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   994
        'desc'        => '$_desc',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   995
        'std'         => '$_std',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   996
        'type'        => '$_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   997
        'section'     => '$_section',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   998
        'rows'        => '$_rows',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   999
        'post_type'   => '$_post_type',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1000
        'taxonomy'    => '$_taxonomy',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1001
        'class'       => '$_class'$choices$setting_settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1002
      ),";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1003
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1004
      $settings = substr_replace( $settings, '' , -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1005
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1006
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1007
    /* check that $sections has a value and add to $build_settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1008
    if ( '' != $settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1009
      $build_settings.= ",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1010
    'settings'        => array( $settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1011
    )";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1012
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1013
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1014
    $content.= "<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1015
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1016
 * Initialize the options before anything else.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1017
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1018
add_action( 'admin_init', 'custom_theme_options', 1 );
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
 * Build the custom settings & update OptionTree.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1022
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1023
function custom_theme_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
   * Get a copy of the saved settings array. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1026
   */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1027
  \$saved_settings = get_option( 'option_tree_settings', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1028
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1029
  /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1030
   * Custom settings array that will eventually be 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1031
   * passes to the OptionTree Settings API Class.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1032
   */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1033
  \$custom_settings = array( $build_settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1034
  );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1035
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1036
  /* allow settings to be filtered before saving */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1037
  \$custom_settings = apply_filters( 'option_tree_settings_args', \$custom_settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1038
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1039
  /* settings are not the same update the DB */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1040
  if ( \$saved_settings !== \$custom_settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1041
    update_option( 'option_tree_settings', \$custom_settings ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1042
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1043
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1044
}";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1045
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1046
    echo $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1047
    die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1048
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1049
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1050
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1051
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1052
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1053
 * Save settings array before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1054
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1055
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1056
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1057
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1058
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1059
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1060
if ( ! function_exists( 'ot_save_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1061
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1062
  function ot_save_settings() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1063
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1064
    /* check and verify import settings nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1065
    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
  1066
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1067
      /* settings value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1068
      $settings = isset( $_POST['option_tree_settings'] ) ? $_POST['option_tree_settings'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1069
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1070
      /* validate sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1071
      if ( isset( $settings['sections'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1072
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1073
        /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1074
        $settings['sections'] = array_values( $settings['sections'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1075
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1076
        /* loop through sections */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1077
        foreach( $settings['sections'] as $k => $section ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1078
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1079
          /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1080
          if ( ! $section['title'] && ! $section['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1081
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1082
            unset( $settings['sections'][$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1083
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1084
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1085
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1086
            /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1087
            if ( '' != $section['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1088
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1089
             $settings['sections'][$k]['title'] = wp_kses_post( $section['title'] );
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
            /* missing title set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1094
            if ( ! $section['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1095
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1096
              $settings['sections'][$k]['title'] = wp_kses_post( $section['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1097
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1098
            /* missing ID set to title */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1099
            } else if ( ! $section['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1100
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1101
              $section['id'] = wp_kses_post( $section['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1102
              
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
            /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1106
            $settings['sections'][$k]['id'] = ot_sanitize_option_id( wp_kses_post( $section['id'] ) );
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
        $settings['sections'] = ot_stripslashes( $settings['sections'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1113
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1114
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1115
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1116
      /* validate settings by looping over array as many times as it takes */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1117
      if ( isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1118
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1119
        $settings['settings'] = ot_validate_settings_array( $settings['settings'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1120
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1121
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1122
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1123
      /* validate contextual_help */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1124
      if ( isset( $settings['contextual_help']['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1125
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1126
        /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1127
        $settings['contextual_help']['content'] = array_values( $settings['contextual_help']['content'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1128
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1129
        /* loop through content */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1130
        foreach( $settings['contextual_help']['content'] as $k => $content ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1131
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1132
          /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1133
          if ( ! $content['title'] && ! $content['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1134
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1135
            unset( $settings['contextual_help']['content'][$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1136
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1137
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1138
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1139
            /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1140
            if ( '' != $content['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1141
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1142
             $settings['contextual_help']['content'][$k]['title'] = wp_kses_post( $content['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1143
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1144
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1145
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1146
            /* missing title set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1147
            if ( ! $content['title'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1148
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1149
              $settings['contextual_help']['content'][$k]['title'] = wp_kses_post( $content['id'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1150
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1151
            /* missing ID set to title */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1152
            } else if ( ! $content['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1153
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1154
              $content['id'] = wp_kses_post( $content['title'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1155
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1156
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1157
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1158
            /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1159
            $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
  1160
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1161
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1162
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1163
          /* validate textarea description */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1164
          if ( isset( $content['content'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1165
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1166
            $settings['contextual_help']['content'][$k]['content'] = wp_kses_post( $content['content'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1167
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1168
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1169
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1170
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1171
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1172
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1173
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1174
      /* validate contextual_help sidebar */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1175
      if ( isset( $settings['contextual_help']['sidebar'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1176
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1177
        $settings['contextual_help']['sidebar'] = wp_kses_post( $settings['contextual_help']['sidebar'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1178
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1179
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1180
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1181
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1182
      $settings['contextual_help'] = ot_stripslashes( $settings['contextual_help'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1183
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1184
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1185
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1186
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1187
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1188
      if ( is_array( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1189
        update_option( 'option_tree_settings', $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1190
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1191
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1192
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1193
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1194
      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
  1195
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1196
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1197
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1198
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1199
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1200
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1201
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1202
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1203
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1204
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1205
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1206
 * Validate the settings array before save.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1207
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1208
 * This function will loop over the settings array as many 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1209
 * times as it takes to validate every sub setting.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1210
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1211
 * @param     array     $settings The array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1212
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1213
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1214
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1215
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1216
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1217
if ( ! function_exists( 'ot_validate_settings_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1218
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1219
  function ot_validate_settings_array( $settings = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1220
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1221
    /* validate settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1222
    if ( count( $settings ) > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1223
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1224
      /* fix numeric keys since drag & drop will change them */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1225
      $settings = array_values( $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1226
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1227
      /* loop through settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1228
      foreach( $settings as $k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1229
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1230
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1231
        /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1232
        if ( ! $setting['label'] && ! $setting['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1233
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1234
          unset( $settings[$k] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1235
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1236
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1237
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1238
          /* validate label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1239
          if ( '' != $setting['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1240
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1241
            $settings[$k]['label'] = wp_kses_post( $setting['label'] );
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
          /* missing label set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1246
          if ( ! $setting['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1247
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1248
            $settings[$k]['label'] = $setting['id'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1249
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1250
          /* missing ID set to label */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1251
          } else if ( ! $setting['id'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1252
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1253
            $setting['id'] = wp_kses_post( $setting['label'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1254
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1255
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1256
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1257
          /* sanitize ID once everything has been checked first */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1258
          $settings[$k]['id'] = ot_sanitize_option_id( wp_kses_post( $setting['id'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1259
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1260
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1261
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1262
        /* validate description */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1263
        if ( '' != $setting['desc']  ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1264
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1265
          $settings[$k]['desc'] = wp_kses_post( $setting['desc'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1266
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1267
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1268
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1269
        /* validate choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1270
        if ( isset( $setting['choices'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1271
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1272
          /* loop through choices */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1273
          foreach( $setting['choices'] as $ck => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1274
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1275
            /* remove from array if missing values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1276
            if ( ! $choice['label'] && ! $choice['value'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1277
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1278
              unset( $setting['choices'][$ck] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1279
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1280
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1281
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1282
              /* missing label set to unfiltered ID */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1283
              if ( ! $choice['label'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1284
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1285
                $setting['choices'][$ck]['label'] = wp_kses_post( $choice['value'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1286
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1287
              /* missing value set to label */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1288
              } else if ( ! $choice['value'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1289
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1290
                $setting['choices'][$ck]['value'] = ot_sanitize_option_id( wp_kses_post( $choice['label'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1291
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1292
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1293
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1294
            }
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
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1298
          /* update keys and push new array values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1299
          $settings[$k]['choices'] = array_values( $setting['choices'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1300
          
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
        /* validate sub settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1304
        if ( isset( $setting['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1305
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1306
          $settings[$k]['settings'] = ot_validate_settings_array( $setting['settings'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1307
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1308
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1309
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1310
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1311
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1312
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1313
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1314
    /* return array but strip those damn slashes out first!!! */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1315
    return ot_stripslashes( $settings );
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1319
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1320
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1321
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1322
 * Save layouts array before the screen is displayed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1323
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1324
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1325
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1326
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1327
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1328
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1329
if ( ! function_exists( 'ot_modify_layouts' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1330
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1331
  function ot_modify_layouts() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1332
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1333
    /* check and verify modify layouts nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1334
    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
  1335
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1336
      /* previous layouts value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1337
      $option_tree_layouts = get_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1338
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1339
      /* new layouts value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1340
      $layouts = isset( $_POST['option_tree_layouts'] ) ? $_POST['option_tree_layouts'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1341
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1342
      /* rebuild layout array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1343
      $rebuild = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1344
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1345
      /* validate layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1346
      if ( is_array( $layouts ) && ! empty( $layouts ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1347
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1348
        /* setup active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1349
        if ( isset( $layouts['active_layout'] ) && '' != $layouts['active_layout'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1350
          $rebuild['active_layout'] = $layouts['active_layout'];
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
        /* add new and overwrite active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1354
        if ( isset( $layouts['_add_new_layout_'] ) && '' != $layouts['_add_new_layout_'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1355
          $rebuild['active_layout'] = ot_sanitize_layout_id( $layouts['_add_new_layout_'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1356
          $rebuild[$rebuild['active_layout']] = base64_encode( serialize( get_option( 'option_tree' ) ) );
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
        $first_layout = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1360
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1361
        /* loop through layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1362
        foreach( $layouts as $key => $layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1363
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1364
          /* skip over active layout key */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1365
          if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1366
            continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1367
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1368
          /* check if the key exists then set value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1369
          if ( isset( $option_tree_layouts[$key] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1370
            $rebuild[$key] = $option_tree_layouts[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1371
            if ( '' == $first_layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1372
              $first_layout = $key;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1373
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1374
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1375
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1376
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1377
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1378
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1379
        if ( ! isset( $rebuild[$rebuild['active_layout']] ) && '' != $first_layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1380
          $rebuild['active_layout'] = $first_layout;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1381
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1382
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1383
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1384
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1385
      /* default message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1386
      $message = 'failed';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1387
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1388
      /* is array: save & show success message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1389
      if ( count( $rebuild ) > 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1390
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1391
        /* rebuild the theme options */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1392
        $rebuild_option_tree = unserialize( base64_decode( $rebuild[$rebuild['active_layout']] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1393
        if ( is_array( $rebuild_option_tree ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1394
          update_option( 'option_tree', $rebuild_option_tree );
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
        /* rebuild the layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1398
        update_option( 'option_tree_layouts', $rebuild );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1399
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1400
        /* change message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1401
        $message = 'success';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1402
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1403
      } else if ( count( $rebuild ) <= 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1404
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1405
        /* delete layouts option */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1406
        delete_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1407
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1408
        /* change message */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1409
        $message = 'deleted';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1410
        
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
      /* redirect */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1414
      if ( isset( $_REQUEST['page'] ) && $_REQUEST['page'] == 'ot-theme-options' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1415
        $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
  1416
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1417
        $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
  1418
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1419
      wp_redirect( $query_args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1420
      exit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1421
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1422
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1423
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1424
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1425
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1429
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1430
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1431
 * Helper function to display alert messages.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1432
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1433
 * @param     array     Page array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1434
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1435
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1436
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1437
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1438
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1439
if ( ! function_exists( 'ot_alert_message' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1440
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1441
  function ot_alert_message( $page = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1442
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1443
    if ( empty( $page ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1444
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1445
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1446
    $current_page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1447
    $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1448
    $message = isset( $_REQUEST['message'] ) ? $_REQUEST['message'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1449
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1450
    /* theme options messages */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1451
    if ( $current_page == 'ot-theme-options' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1452
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1453
      if ( isset( $_POST['action'] ) && $_POST['action'] == 'reset' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1454
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1455
        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
  1456
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1457
      } else if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == 'true' ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1458
       
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1459
        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
  1460
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1461
      } else if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == 'layout' ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1462
       
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1463
        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
  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
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1467
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1468
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1469
    /* settings messages */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1470
    if ( $current_page == 'ot-settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1471
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1472
      if ( $action == 'save-settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1473
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1474
        if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1475
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1476
          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
  1477
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1478
        } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1479
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1480
          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
  1481
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1482
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1483
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1484
      } else if ( $action == 'import-xml' || $action == 'import-settings' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1485
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1486
        if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1487
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1488
          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
  1489
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1490
        } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1491
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1492
          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
  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
      } else if ( $action == 'import-data' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1496
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1497
        if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1498
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1499
          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
  1500
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1501
        } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1502
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1503
          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
  1504
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1505
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1506
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1507
      } else if ( $action == 'import-layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1508
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1509
        if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1510
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1511
          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
  1512
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1513
        } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1514
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1515
          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
  1516
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1517
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1518
             
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1519
      } else if ( $action == 'save-layouts' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1520
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1521
        if ( $message == 'success' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1522
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1523
          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
  1524
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1525
        } else if ( $message == 'failed' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1526
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1527
          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
  1528
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1529
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1530
             
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1531
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1532
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1533
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1534
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1535
    return false;
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1539
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1540
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1541
 * Setup the default option types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1542
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1543
 * The returned option types are filterable so you can add your own.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1544
 * 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
  1545
 * that displays the option to the user and validate the saved data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1546
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1547
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1548
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1549
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1550
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1551
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1552
if ( ! function_exists( 'ot_option_types_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1553
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1554
  function ot_option_types_array() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1555
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1556
    return apply_filters( 'ot_option_types_array', array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1557
      'background'                => 'Background',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1558
      'category-checkbox'         => 'Category Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1559
      'category-select'           => 'Category Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1560
      'checkbox'                  => 'Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1561
      'colorpicker'               => 'Colorpicker',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1562
      'css'                       => 'CSS',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1563
      'custom-post-type-checkbox' => 'Custom Post Type Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1564
      'custom-post-type-select'   => 'Custom Post Type Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1565
      'list-item'                 => 'List Item',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1566
      'measurement'               => 'Measurement',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1567
      'page-checkbox'             => 'Page Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1568
      'page-select'               => 'Page Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1569
      'post-checkbox'             => 'Post Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1570
      'post-select'               => 'Post Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1571
      'radio'                     => 'Radio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1572
      'radio-image'               => 'Radio Image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1573
      'select'                    => 'Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1574
      'slider'                    => 'Slider',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1575
      'tag-checkbox'              => 'Tag Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1576
      'tag-select'                => 'Tag Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1577
      'taxonomy-checkbox'         => 'Taxonomy Checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1578
      'taxonomy-select'           => 'Taxonomy Select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1579
      'text'                      => 'Text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1580
      'textarea'                  => 'Textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1581
      'textarea-simple'           => 'Textarea Simple',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1582
      'textblock'                 => 'Textblock',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1583
      'textblock-titled'          => 'Textblock Titled',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1584
      'typography'                => 'Typography',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1585
      'upload'                    => 'Upload'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1586
    ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1587
    
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
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1592
 * Map old option types for rebuilding XML and Table data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1593
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1594
 * @param     string      $type The old option type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1595
 * @return    string      The new option type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1596
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1597
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1598
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1599
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1600
if ( ! function_exists( 'ot_map_old_option_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1601
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1602
  function ot_map_old_option_types( $type = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1603
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1604
    if ( ! $type ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1605
      return 'text';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1606
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1607
    $types = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1608
      'background'	      => 'background',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1609
      'category'          => 'category-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1610
      'categories'        => 'category-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1611
      'checkbox'          => 'checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1612
      'colorpicker'       => 'colorpicker',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1613
      'css'	              => 'css',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1614
      'custom_post'       => 'custom-post-type-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1615
      'custom_posts'      => 'custom-post-type-checkbox',                     
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1616
      'input'             => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1617
      'image'             => 'upload',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1618
      'measurement'       => 'measurement',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1619
      'page'              => 'page-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1620
      'pages'             => 'page-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1621
      'post'              => 'post-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1622
      'posts'             => 'post-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1623
      'radio'             => 'radio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1624
      'select'            => 'select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1625
      'slider'            => 'slider',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1626
      'tag'               => 'tag-select',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1627
      'tags'              => 'tag-checkbox',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1628
      'textarea'          => 'textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1629
      'textblock'         => 'textblock',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1630
      'typography'	      => 'typography',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1631
      'upload'            => 'upload'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1632
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1633
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1634
    if ( isset( $types[$type] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1635
      return $types[$type];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1636
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1637
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1638
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1639
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1640
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1641
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1642
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1643
 * Recognized font families
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1644
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1645
 * Returns an array of all recognized font families.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1646
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1647
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1648
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1649
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1650
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1651
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1652
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1653
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1654
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1655
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1656
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1657
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1658
if ( ! function_exists( 'ot_recognized_font_families' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1659
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1660
  function ot_recognized_font_families( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1661
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1662
    return apply_filters( 'ot_recognized_font_families', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1663
      'arial'     => 'Arial',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1664
      'georgia'   => 'Georgia',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1665
      'helvetica' => 'Helvetica',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1666
      'palatino'  => 'Palatino',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1667
      'tahoma'    => 'Tahoma',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1668
      'times'     => '"Times New Roman", sans-serif',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1669
      'trebuchet' => 'Trebuchet',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1670
      'verdana'   => 'Verdana'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1671
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1672
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1673
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1674
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1675
}
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
 * Recognized font sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1679
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1680
 * Returns an array of all recognized font sizes.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1681
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1682
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1683
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1684
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1685
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1686
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1687
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1688
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1689
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1690
if ( ! function_exists( 'ot_recognized_font_sizes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1691
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1692
  function ot_recognized_font_sizes( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1693
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1694
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1695
      apply_filters( 'ot_font_size_low_range', 0, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1696
      apply_filters( 'ot_font_size_high_range', 150, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1697
      apply_filters( 'ot_font_size_range_interval', 1, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1698
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1699
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1700
    $unit = apply_filters( 'ot_font_size_unit_type', 'px', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1701
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1702
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1703
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1704
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1705
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1706
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1707
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1708
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1709
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1710
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1711
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1712
 * Recognized font styles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1713
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1714
 * Returns an array of all recognized font styles.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1715
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1716
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1717
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1718
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1719
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1720
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1721
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1722
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1723
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1724
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1725
if ( ! function_exists( 'ot_recognized_font_styles' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1726
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1727
  function ot_recognized_font_styles( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1728
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1729
    return apply_filters( 'ot_recognized_font_styles', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1730
      'normal'  => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1731
      'italic'  => 'Italic',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1732
      'oblique' => 'Oblique',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1733
      'inherit' => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1734
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1735
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1736
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1737
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1738
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1739
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1740
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1741
 * Recognized font variants
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1742
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1743
 * Returns an array of all recognized font variants.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1744
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1745
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1746
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1747
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1748
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1749
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1750
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1751
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1752
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1753
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1754
if ( ! function_exists( 'ot_recognized_font_variants' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1755
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1756
  function ot_recognized_font_variants( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1757
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1758
    return apply_filters( 'ot_recognized_font_variants', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1759
      'normal'      => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1760
      'small-caps'  => 'Small Caps',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1761
      'inherit'     => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1762
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1763
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1764
  }
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
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1769
 * Recognized font weights
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1770
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1771
 * Returns an array of all recognized font weights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1772
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1773
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1774
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1775
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1776
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1777
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1778
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1779
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1780
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1781
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1782
if ( ! function_exists( 'ot_recognized_font_weights' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1783
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1784
  function ot_recognized_font_weights( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1785
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1786
    return apply_filters( 'ot_recognized_font_weights', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1787
      'normal'    => 'Normal',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1788
      'bold'      => 'Bold',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1789
      'bolder'    => 'Bolder',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1790
      'lighter'   => 'Lighter',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1791
      '100'       => '100',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1792
      '200'       => '200',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1793
      '300'       => '300',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1794
      '400'       => '400',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1795
      '500'       => '500',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1796
      '600'       => '600',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1797
      '700'       => '700',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1798
      '800'       => '800',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1799
      '900'       => '900',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1800
      'inherit'   => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1801
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1802
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1803
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1804
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1805
}
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
 * Recognized letter spacing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1809
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1810
 * Returns an array of all recognized line heights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1811
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1812
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1813
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1814
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1815
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1816
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1817
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1818
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1819
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1820
if ( ! function_exists( 'ot_recognized_letter_spacing' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1821
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1822
  function ot_recognized_letter_spacing( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1823
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1824
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1825
      apply_filters( 'ot_letter_spacing_low_range', -0.1, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1826
      apply_filters( 'ot_letter_spacing_high_range', 0.1, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1827
      apply_filters( 'ot_letter_spacing_range_interval', 0.01, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1828
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1829
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1830
    $unit = apply_filters( 'ot_letter_spacing_unit_type', 'em', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1831
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1832
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1833
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1834
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1835
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1836
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1837
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1838
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1839
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1840
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1841
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1842
 * Recognized line heights
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1843
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1844
 * Returns an array of all recognized line heights.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1845
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1846
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1847
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1848
 * @param     string  $field_id ID that's passed to the filters.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1849
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1850
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1851
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1852
 * @since     2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1853
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1854
if ( ! function_exists( 'ot_recognized_line_heights' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1855
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1856
  function ot_recognized_line_heights( $field_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1857
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1858
    $range = ot_range( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1859
      apply_filters( 'ot_line_height_low_range', 0, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1860
      apply_filters( 'ot_line_height_high_range', 150, $field_id ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1861
      apply_filters( 'ot_line_height_unit_type', 1, $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1862
    );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1863
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1864
    $unit = apply_filters( 'ot_line_height_unit_type', 'px', $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1865
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1866
    foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1867
      $range[$k] = $v . $unit;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1868
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1869
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1870
    return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1871
  }
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
 * Recognized text decorations
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1877
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1878
 * Returns an array of all recognized text decorations.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1879
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1880
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1881
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1882
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1883
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1884
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1885
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1886
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1887
 * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1888
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1889
if ( ! function_exists( 'ot_recognized_text_decorations' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1890
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1891
  function ot_recognized_text_decorations( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1892
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1893
    return apply_filters( 'ot_recognized_text_decorations', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1894
      'blink'         => 'Blink',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1895
      'inherit'       => 'Inherit',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1896
      'line-through'  => 'Line Through',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1897
      'none'          => 'None',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1898
      'overline'      => 'Overline',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1899
      'underline'     => 'Underline'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1900
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1901
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1902
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1903
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1904
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1906
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1907
 * Recognized text transformations
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1908
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1909
 * Returns an array of all recognized text transformations.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1910
 * Keys are intended to be stored in the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1911
 * while values are ready for display in html.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1912
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1913
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1914
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1915
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1916
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1917
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1918
 * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1919
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1920
if ( ! function_exists( 'ot_recognized_text_transformations' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1921
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1922
  function ot_recognized_text_transformations( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1923
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1924
    return apply_filters( 'ot_recognized_text_transformations', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1925
      'capitalize'  => 'Capitalize',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1926
      'inherit'     => 'Inherit',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1927
      'lowercase'   => 'Lowercase',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1928
      'none'        => 'None',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1929
      'uppercase'   => 'Uppercase'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1930
    ), $field_id );
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1935
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1936
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1937
 * Recognized background repeat
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1938
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1939
 * Returns an array of all recognized background repeat values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1940
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1941
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1942
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1943
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1944
 * @return    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
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1947
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1948
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1949
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1950
if ( ! function_exists( 'ot_recognized_background_repeat' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1951
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1952
  function ot_recognized_background_repeat( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1953
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1954
    return apply_filters( 'ot_recognized_background_repeat', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1955
      'no-repeat' => 'No Repeat',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1956
      'repeat' 		=> 'Repeat All',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1957
      'repeat-x'  => 'Repeat Horizontally',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1958
      'repeat-y' 	=> 'Repeat Vertically',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1959
      'inherit'   => 'Inherit'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1960
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1961
    
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1966
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1967
 * Recognized background attachment
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1968
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1969
 * Returns an array of all recognized background attachment values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1970
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1971
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1972
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1973
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1974
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1975
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1976
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1977
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1978
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1979
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1980
if ( ! function_exists( 'ot_recognized_background_attachment' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1981
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1982
  function ot_recognized_background_attachment( $field_id = '' ) {
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 apply_filters( 'ot_recognized_background_attachment', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1985
      "fixed"   => "Fixed",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1986
      "scroll"  => "Scroll",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1987
      "inherit" => "Inherit"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1988
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1989
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1990
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1991
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1992
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1993
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1994
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1995
 * Recognized background position
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1996
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1997
 * Returns an array of all recognized background position values.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1998
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1999
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2000
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2001
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2002
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2003
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2004
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2005
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2006
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2007
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2008
if ( ! function_exists( 'ot_recognized_background_position' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2009
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2010
  function ot_recognized_background_position( $field_id = '' ) {
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 apply_filters( 'ot_recognized_background_position', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2013
      "left top"      => "Left Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2014
      "left center"   => "Left Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2015
      "left bottom"   => "Left Bottom",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2016
      "center top"    => "Center Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2017
      "center center" => "Center Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2018
      "center bottom" => "Center Bottom",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2019
      "right top"     => "Right Top",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2020
      "right center"  => "Right Center",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2021
      "right bottom"  => "Right Bottom"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2022
    ), $field_id );
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
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2027
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2028
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2029
 * Measurement Units
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2030
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2031
 * Returns an array of all available unit types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2032
 * Renamed in version 2.0 to avoid name collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2033
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2034
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2035
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2036
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2037
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2038
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2039
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2040
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2041
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2042
if ( ! function_exists( 'ot_measurement_unit_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2043
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2044
  function ot_measurement_unit_types( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2045
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2046
    return apply_filters( 'ot_measurement_unit_types', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2047
      'px' => 'px',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2048
      '%'  => '%',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2049
      'em' => 'em',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2050
      'pt' => 'pt'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2051
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2052
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2053
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2054
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2055
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2056
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2057
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2058
 * Radio Images default array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2059
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2060
 * Returns an array of all available radio images.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2061
 * You can filter this function to change the images
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2062
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2063
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2064
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2065
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2066
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2067
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2068
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2069
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2070
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2071
if ( ! function_exists( 'ot_radio_images' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2072
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2073
  function ot_radio_images( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2074
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2075
    return apply_filters( 'ot_radio_images', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2076
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2077
        'value'   => 'left-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2078
        'label'   => __( 'Left Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2079
        'src'     => OT_URL . 'assets/images/layout/left-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2080
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2081
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2082
        'value'   => 'right-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2083
        'label'   => __( 'Right Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2084
        'src'     => OT_URL . 'assets/images/layout/right-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2085
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2086
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2087
        'value'   => 'full-width',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2088
        'label'   => __( 'Full Width (no sidebar)', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2089
        'src'     => OT_URL . 'assets/images/layout/full-width.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2090
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2091
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2092
        'value'   => 'dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2093
        'label'   => __( 'Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2094
        'src'     => OT_URL . 'assets/images/layout/dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2095
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2096
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2097
        'value'   => 'left-dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2098
        'label'   => __( 'Left Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2099
        'src'     => OT_URL . 'assets/images/layout/left-dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2100
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2101
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2102
        'value'   => 'right-dual-sidebar',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2103
        'label'   => __( 'Right Dual Sidebar', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2104
        'src'     => OT_URL . 'assets/images/layout/right-dual-sidebar.png'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2105
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2106
    ), $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2107
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2108
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2109
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2110
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2111
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2112
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2113
 * Default List Item Settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2114
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2115
 * Returns an array of the default list item settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2116
 * You can filter this function to change the settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2117
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2118
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2119
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2120
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2121
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2122
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2123
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2124
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2125
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2126
if ( ! function_exists( 'ot_list_item_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2127
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2128
  function ot_list_item_settings( $id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2129
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2130
    $settings = apply_filters( 'ot_list_item_settings', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2131
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2132
        'id'        => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2133
        'label'     => __( 'Image', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2134
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2135
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2136
        'type'      => 'upload',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2137
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2138
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2139
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2140
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2141
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2142
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2143
        'id'        => 'link',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2144
        'label'     => __( 'Link', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2145
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2146
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2147
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2148
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2149
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2150
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2151
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2152
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2153
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2154
        'id'        => 'description',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2155
        'label'     => __( 'Description', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2156
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2157
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2158
        'type'      => 'textarea-simple',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2159
        'rows'      => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2160
        'class'     => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2161
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2162
        'choices'   => array()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2163
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2164
    ), $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2165
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2166
    return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2167
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2168
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2169
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2170
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2171
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2172
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2173
 * Default Slider Settings array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2174
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2175
 * Returns an array of the default slider settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2176
 * You can filter this function to change the settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2177
 * on a per option basis.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2178
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2179
 * @uses      apply_filters()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2180
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2181
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2182
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2183
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2184
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2185
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2186
if ( ! function_exists( 'ot_slider_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2187
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2188
  function ot_slider_settings( $id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2189
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2190
    $settings = apply_filters( 'image_slider_fields', array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2191
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2192
        'name'      => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2193
        'type'      => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2194
        'label'     => __( 'Image', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2195
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2196
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2197
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2198
        'name'      => 'link',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2199
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2200
        'label'     => __( 'Link', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2201
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2202
      ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2203
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2204
        'name'      => 'description',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2205
        'type'      => 'textarea',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2206
        'label'     => __( 'Description', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2207
        'class'     => ''
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2208
      )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2209
    ), $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2210
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2211
    /* fix the array keys, values, and just get it 2.0 ready */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2212
    foreach( $settings as $_k => $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2213
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2214
      foreach( $setting as $s_key => $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2215
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2216
        if ( 'name' == $s_key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2217
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2218
          $settings[$_k]['id'] = $s_value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2219
          unset($settings[$_k]['name']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2220
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2221
        } else if ( 'type' == $s_key ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2222
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2223
          if ( 'input' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2224
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2225
            $settings[$_k]['type'] = 'text';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2226
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2227
          } else if ( 'textarea' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2228
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2229
            $settings[$_k]['type'] = 'textarea-simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2230
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2231
          } else if ( 'image' == $s_value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2232
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2233
            $settings[$_k]['type'] = 'upload';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2234
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2235
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2236
          
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
    return $settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2244
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2245
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2246
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2247
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2248
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2249
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2250
 * Inserts CSS with field_id markers.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2251
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2252
 * Inserts CSS into a dynamic.css file, placing it between
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2253
 * BEGIN and END field_id markers. Replaces existing marked info, 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2254
 * but still retains surrounding data.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2255
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2256
 * @param     string  $field_id The CSS option field ID.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2257
 * @param     array   $options The current option_tree array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2258
 * @return    bool    True on write success, false on failure.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2259
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2260
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2261
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2262
 * @updated   2.0.12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2263
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2264
if ( ! function_exists( 'ot_insert_css_with_markers' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2265
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2266
  function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2267
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2268
    /* missing $field_id or $insertion exit early */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2269
    if ( '' == $field_id || '' == $insertion )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2270
      return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2271
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2272
    /* path to the dynamic.css file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2273
    $filepath = get_stylesheet_directory() . '/dynamic.css';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2274
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2275
    /* allow filter on path */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2276
    $filepath = apply_filters( 'css_option_file_path', $filepath, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2277
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2278
    /* grab a copy of the paths array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2279
    $ot_css_file_paths = get_option( 'ot_css_file_paths', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2280
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2281
    /* set the path for this field */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2282
    $ot_css_file_paths[$field_id] = $filepath;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2283
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2284
    /* update the paths */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2285
    update_option( 'ot_css_file_paths', $ot_css_file_paths );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2286
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2287
    /* insert CSS into file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2288
    if ( file_exists( $filepath ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2289
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2290
      $insertion   = ot_normalize_css( $insertion );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2291
      $regex       = "/{{([a-zA-Z0-9\_\-\#\|\=]+)}}/";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2292
      $marker      = $field_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2293
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2294
      /* Match custom CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2295
      preg_match_all( $regex, $insertion, $matches );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2296
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2297
      /* Loop through CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2298
      foreach( $matches[0] as $option ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2299
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2300
        $value        = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2301
        $option_id    = str_replace( array( '{{', '}}' ), '', $option );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2302
        $option_array = explode( '|', $option_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2303
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2304
        /* get the array value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2305
        if ( $meta ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2306
          global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2307
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2308
          $value = get_post_meta( $post->ID, $option_array[0], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2309
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2310
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2311
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2312
          $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2313
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2314
          if ( isset( $options[$option_array[0]] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2315
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2316
            $value = $options[$option_array[0]];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2317
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2318
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2319
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2320
        }
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 ( is_array( $value ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2323
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2324
          if ( ! isset( $option_array[1] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2325
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2326
            /* Measurement */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2327
            if ( isset( $value[0] ) && isset( $value[1] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2328
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2329
              /* set $value with measurement properties */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2330
              $value = $value[0].$value[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2331
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2332
            /* typography */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2333
            } 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
  2334
              $font = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2335
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2336
              if ( ! empty( $value['font-color'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2337
                $font[] = "color: " . $value['font-color'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2338
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2339
              if ( ! empty( $value['font-family'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2340
                foreach ( ot_recognized_font_families( $marker ) as $key => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2341
                  if ( $key == $value['font-family'] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2342
                    $font[] = "font-family: " . $v . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2343
                  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2344
                }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2345
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2346
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2347
              if ( ! empty( $value['font-size'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2348
                $font[] = "font-size: " . $value['font-size'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2349
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2350
              if ( ! empty( $value['font-style'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2351
                $font[] = "font-style: " . $value['font-style'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2352
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2353
              if ( ! empty( $value['font-variant'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2354
                $font[] = "font-variant: " . $value['font-variant'] . ";";
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 ( ! empty( $value['font-weight'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2357
                $font[] = "font-weight: " . $value['font-weight'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2358
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2359
              if ( ! empty( $value['letter-spacing'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2360
                $font[] = "letter-spacing: " . $value['letter-spacing'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2361
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2362
              if ( ! empty( $value['line-height'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2363
                $font[] = "line-height: " . $value['line-height'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2364
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2365
              if ( ! empty( $value['text-decoration'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2366
                $font[] = "text-decoration: " . $value['text-decoration'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2367
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2368
              if ( ! empty( $value['text-transform'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2369
                $font[] = "text-transform: " . $value['text-transform'] . ";";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2370
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2371
              /* set $value with font properties or empty string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2372
              $value = ! empty( $font ) ? implode( "\n", $font ) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2373
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2374
            /* background */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2375
            } 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
  2376
              $bg = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2377
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2378
              if ( ! empty( $value['background-color'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2379
                $bg[] = $value['background-color'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2380
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2381
              if ( ! empty( $value['background-image'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2382
                $bg[] = 'url("' . $value['background-image'] . '")';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2383
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2384
              if ( ! empty( $value['background-repeat'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2385
                $bg[] = $value['background-repeat'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2386
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2387
              if ( ! empty( $value['background-attachment'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2388
                $bg[] = $value['background-attachment'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2389
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2390
              if ( ! empty( $value['background-position'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2391
                $bg[] = $value['background-position'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2392
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2393
              /* set $value with background properties or empty string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2394
              $value = ! empty( $bg ) ? 'background: ' . implode( " ", $bg ) . ';' : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2395
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2396
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2397
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2398
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2399
            $value = $value[$option_array[1]];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2400
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2401
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2402
         
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
        /* insert CSS, even if the value is empty */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2406
       	$insertion = stripslashes( str_replace( $option, $value, $insertion ) );
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
  	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2410
      /* create array from the lines of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2411
      $markerdata = explode( "\n", implode( '', file( $filepath ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2412
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2413
      /* can't write to the file return false */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2414
      if ( ! $f = @fopen( $filepath, 'w' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2415
        return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2416
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2417
      $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2418
      $foundit = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2419
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2420
      /* has array of lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2421
      if ( ! empty( $markerdata ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2422
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2423
        /* foreach line of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2424
        foreach( $markerdata as $n => $markerline ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2425
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2426
          /* found begining of marker, set $searching to false  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2427
          if ( $markerline == "/* BEGIN {$marker} */" )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2428
            $searching = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2429
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2430
          /* keep rewrite each line of CSS  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2431
          if ( $searching == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2432
            if ( $n + 1 < count( $markerdata ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2433
              fwrite( $f, "{$markerline}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2434
            else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2435
              fwrite( $f, "{$markerline}" );
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
          /* found end marker write code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2439
          if ( $markerline == "/* END {$marker} */" ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2440
            fwrite( $f, "/* BEGIN {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2441
            fwrite( $f, "{$insertion}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2442
            fwrite( $f, "/* END {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2443
            $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2444
            $foundit = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2445
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2446
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2447
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2448
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2449
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2450
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2451
      /* nothing inserted, write code. DO IT, DO IT! */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2452
      if ( ! $foundit ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2453
        fwrite( $f, "/* BEGIN {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2454
        fwrite( $f, "{$insertion}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2455
        fwrite( $f, "/* END {$marker} */\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2456
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2457
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2458
      /* close file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2459
      fclose( $f );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2460
      return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2461
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2462
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2463
    return false;
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
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2470
 * Remove old CSS.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2471
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2472
 * Removes CSS when the textarea is empty, but still retains surrounding styles.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2473
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2474
 * @param     string  $field_id The CSS option field ID.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2475
 * @return    bool    True on write success, false on failure.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2476
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2477
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2478
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2479
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2480
if ( ! function_exists( 'ot_remove_old_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2481
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2482
  function ot_remove_old_css( $field_id = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2483
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2484
    /* missing $field_id string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2485
    if ( '' == $field_id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2486
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2487
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2488
    /* path to the dynamic.css file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2489
    $filepath = get_stylesheet_directory() . '/dynamic.css';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2490
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2491
    /* allow filter on path */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2492
    $filepath = apply_filters( 'css_option_file_path', $filepath, $field_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2493
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2494
    /* remove CSS from file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2495
    if ( is_writeable( $filepath ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2496
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2497
      /* get each line in the file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2498
      $markerdata = explode( "\n", implode( '', file( $filepath ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2499
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2500
      /* can't write to the file return false */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2501
      if ( ! $f = @fopen( $filepath, 'w' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2502
        return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2503
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2504
      $searching = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2505
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2506
      /* has array of lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2507
      if ( ! empty( $markerdata ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2508
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2509
        /* foreach line of code */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2510
        foreach ( $markerdata as $n => $markerline ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2511
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2512
          /* found begining of marker, set $searching to false  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2513
          if ( $markerline == "/* BEGIN {$field_id} */" )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2514
            $searching = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2515
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2516
          /* $searching is true, keep rewrite each line of CSS  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2517
          if ( $searching == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2518
            if ( $n + 1 < count( $markerdata ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2519
              fwrite( $f, "{$markerline}\n" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2520
            else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2521
              fwrite( $f, "{$markerline}" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2522
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2523
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2524
          /* found end marker delete old CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2525
          if ( $markerline == "/* END {$field_id} */" ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2526
            fwrite( $f, "" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2527
            $searching = true;
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
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2532
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2533
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2534
      /* close file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2535
      fclose( $f );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2536
      return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2537
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2538
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2539
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2540
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2541
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2542
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2543
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2544
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2545
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2546
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2547
 * Normalize CSS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2548
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2549
 * Normalize & Convert all line-endings to UNIX format.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2550
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2551
 * @param     string    $css
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2552
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2553
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2554
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2555
 * @since     1.1.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2556
 * @updated   2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2557
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2558
if ( ! function_exists( 'ot_normalize_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2559
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2560
  function ot_normalize_css( $css ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2561
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2562
    /* Normalize & Convert */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2563
    $css = str_replace( "\r\n", "\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2564
    $css = str_replace( "\r", "\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2565
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2566
    /* Don't allow out-of-control blank lines */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2567
    $css = preg_replace( "/\n{2,}/", "\n\n", $css );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2568
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2569
    return $css;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2570
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2571
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2572
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2573
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2574
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2575
 * Helper function to loop over the option types.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2576
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2577
 * @param    array    $type The current option type.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2578
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2579
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2580
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2581
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2582
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2583
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2584
if ( ! function_exists( 'ot_loop_through_option_types' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2585
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2586
  function ot_loop_through_option_types( $type = '', $child = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2587
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2588
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2589
    $types = ot_option_types_array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2590
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2591
    if ( $child )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2592
      unset($types['list-item']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2593
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2594
    foreach( $types as $key => $value )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2595
      $content.= '<option value="' . $key . '" ' . selected( $type, $key, false ) . '>'  . $value . '</option>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2596
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2597
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2598
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2599
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2600
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2601
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2602
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2603
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2604
 * Helper function to loop over choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2605
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2606
 * @param    string     $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2607
 * @param    array      $choices The array of choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2608
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2609
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2610
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2611
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2612
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2613
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2614
if ( ! function_exists( 'ot_loop_through_choices' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2615
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2616
  function ot_loop_through_choices( $name, $choices = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2617
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2618
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2619
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2620
    foreach( $choices as $key => $choice )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2621
      $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
  2622
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2623
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2624
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2625
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2626
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2627
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2628
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2629
 * Helper function to loop over sub settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2630
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2631
 * @param    string     $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2632
 * @param    array      $settings The array of settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2633
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2634
 * @return   string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2635
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2636
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2637
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2638
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2639
if ( ! function_exists( 'ot_loop_through_sub_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2640
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2641
  function ot_loop_through_sub_settings( $name, $settings = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2642
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2643
    $content = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2644
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2645
    foreach( $settings as $key => $setting )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2646
      $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
  2647
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2648
    return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2649
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2650
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2651
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2652
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2653
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2654
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2655
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2656
 * This function is used in AJAX to add a new section
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2657
 * and when section have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2658
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2659
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2660
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2661
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2662
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2663
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2664
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2665
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2666
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2667
if ( ! function_exists( 'ot_sections_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2668
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2669
  function ot_sections_view( $name, $key, $section = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2670
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2671
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2672
    <div class="option-tree-setting is-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2673
      <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
  2674
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2675
        <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
  2676
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2677
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2678
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2679
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2680
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2681
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2682
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2683
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2684
          <div class="format-setting type-text">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2685
            <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
  2686
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2687
              <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
  2688
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2689
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2690
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2691
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2692
          <div class="format-setting type-text">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2693
            <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
  2694
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2695
              <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
  2696
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2697
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2698
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2699
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2700
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2701
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2702
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2703
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2704
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2705
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2706
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2707
 * Helper function to display settings.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2708
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2709
 * This function is used in AJAX to add a new setting
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2710
 * and when settings have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2711
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2712
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2713
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2714
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2715
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2716
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2717
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2718
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2719
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2720
if ( ! function_exists( 'ot_settings_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2721
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2722
  function ot_settings_view( $name, $key, $setting = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2723
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2724
    $child = ( strpos( $name, '][settings]') !== false ) ? true : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2725
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2726
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2727
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2728
      <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
  2729
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2730
        <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
  2731
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2732
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2733
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2734
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2735
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2736
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2737
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2738
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2739
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2740
            <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
  2741
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2742
              <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
  2743
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2744
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2745
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2746
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2747
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2748
            <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
  2749
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2750
              <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
  2751
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2752
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2753
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2754
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2755
          <div class="format-setting type-select wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2756
            <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
  2757
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2758
              <select name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][type]" value="' . ( isset( $setting['type'] ) ? esc_attr( $setting['type'] ) : '' ) . '" class="option-tree-ui-select">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2759
              ' . ( isset( $setting['type'] ) ? ot_loop_through_option_types( $setting['type'], $child ) : ot_loop_through_option_types( '', $child ) ) . '                     
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2760
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2761
              </select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2762
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2763
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2764
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2765
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2766
          <div class="format-setting type-textarea wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2767
            <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
  2768
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2769
              <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
  2770
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2771
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2772
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2773
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2774
          <div class="format-setting type-textblock wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2775
            <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
  2776
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2777
              <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
  2778
                ' . ( isset( $setting['choices'] ) ? ot_loop_through_choices( $name . '[' . $key . ']', $setting['choices'] ) : '' ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2779
              </ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2780
              <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
  2781
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2782
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2783
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2784
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2785
          <div class="format-setting type-textblock wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2786
            <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
  2787
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2788
              <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
  2789
                ' . ( isset( $setting['settings'] ) ? ot_loop_through_sub_settings( $name . '[' . $key . '][settings]', $setting['settings'] ) : '' ) . '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2790
              </ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2791
              <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
  2792
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2793
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2794
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2795
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2796
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2797
            <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
  2798
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2799
              <input type="text" name="' . esc_attr( $name ) . '[' . esc_attr( $key ) . '][std]" value="' . ( isset( $setting['std'] ) ? esc_attr( $setting['std'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2800
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2801
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2802
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2803
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2804
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2805
            <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
  2806
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2807
              <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
  2808
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2809
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2810
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2811
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2812
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2813
            <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
  2814
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2815
              <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
  2816
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2817
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2818
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2819
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2820
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2821
            <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
  2822
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2823
              <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
  2824
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2825
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2826
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2827
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2828
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2829
            <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
  2830
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2831
              <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
  2832
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2833
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2834
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2835
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2836
    </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2837
    ' . ( ! $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
  2838
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2839
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2840
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2841
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2842
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2843
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2844
 * Helper function to display setting choices.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2845
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2846
 * This function is used in AJAX to add a new choice
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2847
 * and when choices have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2848
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2849
 * @param    string   $name The form element name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2850
 * @param    array    $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2851
 * @param    array    An array of values for the current choice.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2852
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2853
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2854
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2855
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2856
 * @since    2.0
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 ( ! function_exists( 'ot_choices_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2859
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2860
  function ot_choices_view( $name, $key, $choice = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2861
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2862
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2863
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2864
      <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
  2865
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2866
        <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
  2867
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2868
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2869
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2870
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2871
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2872
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2873
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2874
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2875
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2876
            <h5>' . __( 'Label', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2877
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2878
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2879
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2880
              <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
  2881
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2882
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2883
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2884
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2885
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2886
            <h5>' . __( 'Value', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2887
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2888
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2889
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2890
              <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
  2891
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2892
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2893
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2894
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2895
          <div class="format-setting-label">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2896
            <h5>' . __( 'Image Source (Radio Image only)', 'option-tree' ) . '</h5>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2897
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2898
          <div class="format-setting type-text wide-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2899
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2900
              <input type="text" name="' . esc_attr( $name ) . '[choices][' . esc_attr( $key ) . '][src]" value="' . ( isset( $choice['src'] ) ? esc_url( $choice['src'] ) : '' ) . '" class="widefat option-tree-ui-input" autocomplete="off" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2901
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2902
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2903
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2904
    </div>';
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2908
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2909
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2910
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2911
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2912
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2913
 * This function is used in AJAX to add a new section
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2914
 * and when section have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2915
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2916
 * @param    int      $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2917
 * @param    array    An array of values for the current section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2918
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2919
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2920
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2921
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2922
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2923
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2924
if ( ! function_exists( 'ot_contextual_help_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2925
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2926
  function ot_contextual_help_view( $name, $key, $content = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2927
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2928
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2929
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2930
      <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
  2931
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2932
        <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
  2933
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2934
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2935
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2936
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2937
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2938
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2939
      <div class="option-tree-setting-body">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2940
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2941
          <div class="format-setting type-text no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2942
            <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
  2943
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2944
              <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
  2945
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2946
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2947
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2948
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2949
          <div class="format-setting type-text no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2950
            <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
  2951
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2952
              <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
  2953
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2954
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2955
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2956
        <div class="format-settings">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2957
          <div class="format-setting type-textarea no-desc">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2958
            <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
  2959
            <div class="format-setting-inner">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2960
              <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
  2961
            </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2962
          </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2963
        </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2964
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2965
    </div>';
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
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
 * Helper function to display sections.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2973
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2974
 * @param     string      $key
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2975
 * @param     string      $data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2976
 * @param     string      $active_layout
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2977
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2978
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2979
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2980
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2981
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2982
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2983
if ( ! function_exists( 'ot_layouts_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2984
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2985
  function ot_layout_view( $key, $data, $active_layout ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2986
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2987
    return '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2988
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2989
      <div class="open">' . ( isset( $key ) ? esc_attr( $key ) : __( 'Layout', 'option-tree' ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2990
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2991
        <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
  2992
          <span class="icon check">' . __( 'Activate', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2993
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2994
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="'. __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2995
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2996
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2997
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2998
      <input type="hidden" name="option_tree_layouts[' . esc_attr( $key ) . ']" value="' . ( isset( $data ) ? $data : '' ) . '" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2999
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3000
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3001
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3002
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3003
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3004
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3005
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3006
 * Helper function to display list items.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3007
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3008
 * This function is used in AJAX to add a new list items
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3009
 * and when they have already been added and saved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3010
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3011
 * @param     string    $name The form field name.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3012
 * @param     int       $key The array key for the current element.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3013
 * @param     array     An array of values for the current list item.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3014
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3015
 * @return   void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3016
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3017
 * @access   public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3018
 * @since    2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3019
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3020
if ( ! function_exists( 'ot_list_item_view' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3021
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3022
  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
  3023
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3024
    /* required title setting */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3025
    $required_setting = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3026
      array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3027
        'id'        => 'title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3028
        'label'     => __( 'Title', 'option-tree' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3029
        'desc'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3030
        'std'       => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3031
        'type'      => 'text',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3032
        'rows'      => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3033
        'class'     => 'option-tree-setting-title',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3034
        'post_type' => '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3035
        'choices'   => array()
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
    /* load the old filterable slider settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3040
    if ( 'slider' == $type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3041
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3042
      $settings = ot_slider_settings( $name );
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
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3046
    /* if no settings array load the filterable list item settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3047
    if ( empty( $settings ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3048
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3049
      $settings = ot_list_item_settings( $name );
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
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3053
    /* merge the two settings array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3054
    $settings = array_merge( $required_setting, $settings );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3055
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3056
    echo '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3057
    <div class="option-tree-setting">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3058
      <div class="open">' . ( isset( $list_item['title'] ) ? esc_attr( $list_item['title'] ) : 'Item ' . ( $key + 1 ) ) . '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3059
      <div class="button-section">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3060
        <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
  3061
          <span class="icon pencil">' . __( 'Edit', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3062
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3063
        <a href="javascript:void(0);" class="option-tree-setting-remove option-tree-ui-button right-item" title="' . __( 'Delete', 'option-tree' ) . '">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3064
          <span class="icon trash-can">' . __( 'Delete', 'option-tree' ) . '</span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3065
        </a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3066
      </div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3067
      <div class="option-tree-setting-body">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3068
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3069
      foreach( $settings as $field ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3070
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3071
        /* set default to standard value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3072
        if ( ! isset( $list_item[$field['id']] ) && isset( $field['std'] ) ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3073
          $list_item[$field['id']] = trim( $field['std'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3074
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3075
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3076
        /* make life easier */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3077
        $_field_name = $get_option ? $get_option . '[' . $name . ']' : $name;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3078
             
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3079
        /* build the arguments array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3080
        $_args = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3081
          'type'              => $field['type'],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3082
          'field_id'          => $name . '_' . $field['id'] . '_' . $key,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3083
          'field_name'        => $_field_name . '[' . $key . '][' . $field['id'] . ']',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3084
          'field_value'       => isset( $list_item[$field['id']] ) ? $list_item[$field['id']] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3085
          'field_desc'        => isset( $field['desc'] ) ? $field['desc'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3086
          'field_std'         => isset( $field['std'] ) ? $field['std'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3087
          'field_rows'        => isset( $field['rows'] ) ? $field['rows'] : 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3088
          '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
  3089
          'field_taxonomy'    => isset( $field['taxonomy'] ) && ! empty( $field['taxonomy'] ) ? $field['taxonomy'] : 'category',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3090
          'field_class'       => isset( $field['class'] ) ? $field['class'] : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3091
          'field_choices'     => isset( $field['choices'] ) && ! empty( $field['choices'] ) ? $field['choices'] : array(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3092
          'field_settings'    => isset( $field['settings'] ) && ! empty( $field['settings'] ) ? $field['settings'] : array(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3093
          'post_id'           => $post_id,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3094
          'get_option'        => $get_option
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3095
        );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3096
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3097
        /* option label */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3098
        echo '<div class="format-settings">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3099
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3100
        /* don't show title with textblocks */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3101
        if ( $_args['type'] != 'textblock' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3102
          echo '<div class="format-setting-label">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3103
            echo '<h3 class="label">' . esc_attr( $field['label'] ) . '</h3>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3104
          echo '</div>';
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
        /* 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
  3108
        if ( $_args['type'] == 'textarea' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3109
          $_args['type'] = 'textarea-simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3110
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3111
        /* option body, list-item is not allowed inside another list-item */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3112
        if ( $_args['type'] !== 'list-item' && $_args['type'] !== 'slider' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3113
          echo ot_display_by_type( $_args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3114
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3115
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3116
        echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3117
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3118
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3119
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3120
    echo
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3121
      '</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3122
    </div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3123
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3124
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3125
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3126
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3127
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3128
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3129
 * Helper function to display Theme Options layouts form.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3130
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3131
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3132
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3133
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3134
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3135
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3136
if ( ! function_exists( 'ot_theme_options_layouts_form' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3137
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3138
  function ot_theme_options_layouts_form() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3139
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3140
    echo '<form method="post" id="option-tree-options-layouts-form">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3141
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3142
      /* form nonce */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3143
      wp_nonce_field( 'option_tree_modify_layouts_form', 'option_tree_modify_layouts_nonce' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3144
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3145
      /* get the saved layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3146
      $layouts = get_option( 'option_tree_layouts' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3147
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3148
      /* set active layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3149
      $active_layout = isset( $layouts['active_layout'] ) ? $layouts['active_layout'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3150
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3151
      /* new layout wrapper */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3152
      echo '<div class="option-tree-save-layout">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3153
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3154
        /* add new layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3155
        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
  3156
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3157
        echo '<button type="submit" class="option-tree-ui-button blue light save-layout" title="' . __( 'New Layout', 'option-tree' ) . '">' . __( 'New Layout', 'option-tree' ) . '</button>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3158
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3159
      echo '</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3160
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3161
      if ( is_array( $layouts ) && count( $layouts ) > 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3162
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3163
        $active_layout = esc_attr( $layouts['active_layout'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3164
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3165
        echo '<input type="hidden" id="the_current_layout" value="' . $active_layout . '" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3166
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3167
        echo '<select name="option_tree_layouts[active_layout]" class="option-tree-ui-select option-tree-active-layout">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3168
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3169
          foreach( $layouts as $key => $data ) { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3170
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3171
            if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3172
              continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3173
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3174
            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
  3175
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3176
     		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3177
        echo '</select>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3178
     		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3179
        foreach( $layouts as $key => $data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3180
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3181
          if ( $key == 'active_layout' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3182
              continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3183
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3184
          echo '<input type="hidden" name="option_tree_layouts[' . $key . ']" value="' . ( isset( $data ) ? $data : '' ) . '" />';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3185
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3186
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3187
   		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3188
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3189
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3190
    echo '</form>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3191
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3192
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3194
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3195
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3196
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3197
 * Helper function to validate option ID's
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3198
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3199
 * @param     string      $input The string to sanitize.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3200
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3201
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3202
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3203
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3204
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3205
if ( ! function_exists( 'ot_sanitize_option_id' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3206
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3207
  function ot_sanitize_option_id( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3208
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3209
    return preg_replace( '/[^a-z0-9]/', '_', trim( strtolower( $input ) ) );
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3213
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3214
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3215
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3216
 * Helper function to validate layout ID's
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3217
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3218
 * @param     string      $input The string to sanitize.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3219
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3220
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3221
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3222
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3223
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3224
if ( ! function_exists( 'ot_sanitize_layout_id' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3225
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3226
  function ot_sanitize_layout_id( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3227
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3228
    return preg_replace( '/[^a-z0-9]/', '-', trim( strtolower( $input ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3229
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3230
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3231
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3232
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3233
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3234
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3235
 * Convert choices array to string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3236
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3237
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3238
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3239
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3240
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3241
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3242
if ( ! function_exists( 'ot_convert_array_to_string' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3243
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3244
  function ot_convert_array_to_string( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3245
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3246
    if ( is_array( $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3247
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3248
      foreach( $input as $k => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3249
        $choices[$k] = $choice['value'] . '|' . $choice['label'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3250
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3251
        if ( isset( $choice['src'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3252
          $choices[$k].= '|' . $choice['src'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3253
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3254
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3255
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3256
      return implode( ',', $choices );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3257
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3258
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3259
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3260
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3261
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3262
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3263
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3264
 * Convert choices string to array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3265
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3266
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3267
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3268
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3269
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3270
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3271
if ( ! function_exists( 'ot_convert_string_to_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3272
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3273
  function ot_convert_string_to_array( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3274
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3275
    if ( '' !== $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3276
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3277
      /* empty choices array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3278
      $choices = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3279
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3280
      /* exlode the string into an array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3281
      foreach( explode( ',', $input ) as $k => $choice ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3282
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3283
        /* if ":" is splitting the string go deeper */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3284
        if ( preg_match( '/\|/', $choice ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3285
          $split = explode( '|', $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3286
          $choices[$k]['value'] = trim( $split[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3287
          $choices[$k]['label'] = trim( $split[1] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3288
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3289
          /* if radio image there are three values */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3290
          if ( isset( $split[2] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3291
            $choices[$k]['src'] = trim( $split[2] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3292
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3293
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3294
          $choices[$k]['value'] = trim( $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3295
          $choices[$k]['label'] = trim( $choice );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3296
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3297
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3298
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3299
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3300
      /* return a formated choices array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3301
      return $choices;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3302
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3303
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3304
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3305
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3306
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3307
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3308
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3309
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3310
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3311
 * Helper function - strpos() with arrays.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3312
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3313
 * @param     string    $haystack
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3314
 * @param     array     $needles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3315
 * @return    bool
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3316
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3317
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3318
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3319
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3320
if ( ! function_exists( 'ot_strpos_array' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3321
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3322
  function ot_strpos_array( $haystack, $needles = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3323
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3324
    foreach( $needles as $needle ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3325
      $pos = strpos( $haystack, $needle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3326
      if ( $pos !== false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3327
        return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3328
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3329
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3330
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3331
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3332
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3333
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3334
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3335
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3336
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3337
 * Helper function - strpos() with arrays.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3338
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3339
 * @param     string    $haystack
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3340
 * @param     array     $needles
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3341
 * @return    bool
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3342
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3343
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3344
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3345
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3346
if ( ! function_exists( 'ot_array_keys_exists' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3347
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3348
  function ot_array_keys_exists( $array, $keys ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3349
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3350
    foreach($keys as $k) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3351
      if ( isset($array[$k]) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3352
        return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3353
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3354
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3355
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3356
    return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3357
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3358
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3359
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3360
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3361
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3362
 * Custom stripslashes from single value or array.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3363
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3364
 * @param       mixed   $input
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3365
 * @return      mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3366
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3367
 * @access      public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3368
 * @since       2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3369
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3370
if ( ! function_exists( 'ot_stripslashes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3371
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3372
  function ot_stripslashes( $input ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3373
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3374
    if ( is_array( $input ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3375
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3376
      foreach( $input as &$val ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3377
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3378
        if ( is_array( $val ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3379
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3380
          $val = ot_stripslashes( $val );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3381
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3382
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3383
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3384
          $val = stripslashes( trim( $val ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3385
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3386
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3387
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3388
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3389
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3390
    } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3391
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3392
      $input = stripslashes( trim( $input ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3393
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3394
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3395
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3396
    return $input;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3397
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3398
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3399
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3400
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3401
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3402
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3403
 * Reverse wpautop.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3404
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3405
 * @param     string    $string The string to be filtered
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3406
 * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3407
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3408
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3409
 * @since     2.0.9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3410
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3411
if ( ! function_exists( 'ot_reverse_wpautop' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3412
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3413
  function ot_reverse_wpautop( $string = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3414
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3415
    /* return if string is empty */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3416
    if ( trim( $string ) === '' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3417
  		return '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3418
  		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3419
    /* remove all new lines & <p> tags */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3420
    $string = str_replace( array( "\n", "<p>" ), "", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3421
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3422
    /* replace <br /> with \r */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3423
    $string = str_replace( array( "<br />", "<br>", "<br/>" ), "\r", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3424
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3425
    /* replace </p> with \r\n */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3426
    $string = str_replace( "</p>", "\r\n", $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3427
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3428
    /* return clean string */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3429
    return trim( $string );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3430
                
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
 * Returns an array of elements from start to limit, inclusive.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3437
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3438
 * Occasionally zero will be some impossibly large number to 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3439
 * the "E" power when creating a range from negative to positive.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3440
 * This function attempts to fix that by setting that number back to "0".
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     string    $start First value of the sequence.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3443
 * @param     string    $limit The sequence is ended upon reaching the limit value.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3444
 * @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
  3445
 *                      between elements in the sequence. step should be given as a 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3446
 *                      positive number. If not specified, step will default to 1.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3447
 * @return    array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3448
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3449
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3450
 * @since     2.0.12
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_range( $start, $limit, $step = 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3453
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3454
  if ( $step < 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3455
    $step = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3456
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3457
  $range = range( $start, $limit, $step );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3458
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3459
  foreach( $range as $k => $v ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3460
    if ( strpos( $v, 'E' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3461
      $range[$k] = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3462
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3463
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3464
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3465
  return $range;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3466
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3467
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3468
/* End of file ot-functions-admin.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3469
/* Location: ./includes/ot-functions-admin.php */