wp/wp-content/plugins/option-tree/includes/ot-functions.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php if ( ! defined( 'OT_VERSION' ) ) exit( 'No direct script access allowed' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * OptionTree functions
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * @package   OptionTree
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * @author    Derek Herman <derek@valendesigns.com>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 * @copyright Copyright (c) 2013, Derek Herman
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 * Get Option.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 * Helper function to return the option value.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * If no value has been saved, it returns $default.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * @param     string    The option ID.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 * @param     string    The default option value.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
if ( ! function_exists( 'ot_get_option' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  function ot_get_option( $option_id, $default = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    /* get the saved options */ 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    $options = get_option( 'option_tree' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    /* look for the saved value */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    if ( isset( $options[$option_id] ) && '' != $options[$option_id] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      return ot_wpml_filter( $options, $option_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    return $default;
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
 * Filter the return values through WPML
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
 * @param     array     $options The current options    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
 * @param     string    $option_id The option ID
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
 * @return    mixed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
if ( ! function_exists( 'ot_wpml_filter' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
  function ot_wpml_filter( $options, $option_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
    // Return translated strings using WMPL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
    if ( function_exists('icl_t') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
      $settings = get_option( 'option_tree_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
      if ( isset( $settings['settings'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        foreach( $settings['settings'] as $setting ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
          // List Item & Slider
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
          if ( $option_id == $setting['id'] && in_array( $setting['type'], array( 'list-item', 'slider' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
            foreach( $options[$option_id] as $key => $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
              foreach( $value as $ckey => $cvalue ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
                $id = $option_id . '_' . $ckey . '_' . $key;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
                $_string = icl_t( 'Theme Options', $id, $cvalue );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
                if ( ! empty( $_string ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
                  $options[$option_id][$key][$ckey] = $_string;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
                  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
                }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
              }
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
          // All other acceptable option types
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
          } else if ( $option_id == $setting['id'] && in_array( $setting['type'], apply_filters( 'ot_wpml_option_types', array( 'text', 'textarea', 'textarea-simple' ) ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
            $_string = icl_t( 'Theme Options', $option_id, $options[$option_id] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
            if ( ! empty( $_string ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
              $options[$option_id] = $_string;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
    return $options[$option_id];
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
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
 * Enqueue the dynamic CSS.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
 * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
if ( ! function_exists( 'ot_load_dynamic_css' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
  function ot_load_dynamic_css() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
    /* don't load in the admin */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
    if ( is_admin() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
      return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
    /* grab a copy of the paths */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
    $ot_css_file_paths = get_option( 'ot_css_file_paths', array() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
    if ( ! empty( $ot_css_file_paths ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
      $last_css = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
      /* loop through paths */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
      foreach( $ot_css_file_paths as $key => $path ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
        if ( '' != $path && file_exists( $path ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
          $parts = explode( '/wp-content', $path );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
          if ( isset( $parts[1] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
            $css = home_url( '/wp-content' . $parts[1] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
            if ( $last_css !== $css ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
              /* enqueue filtered file */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
              wp_enqueue_style( 'ot-dynamic-' . $key, $css, false, OT_VERSION );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
              $last_css = $css;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
 * Registers the Theme Option page link for the admin bar.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
 * @uses      ot_register_settings()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
 * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
 * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
 * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
if ( ! function_exists( 'ot_register_theme_options_admin_bar_menu' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
  function ot_register_theme_options_admin_bar_menu( $wp_admin_bar ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
    if ( ! current_user_can( apply_filters( 'ot_theme_options_capability', 'edit_theme_options' ) ) || ! is_admin_bar_showing() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
      return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
    $wp_admin_bar->add_node( array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
      'parent'  => 'appearance',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
      'id'      => apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
      'title'   => apply_filters( 'ot_theme_options_page_title', __( 'Theme Options', 'option-tree' ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
      'href'    => admin_url( apply_filters( 'ot_theme_options_parent_slug', 'themes.php' ) . '?page=' . apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
    ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
/* End of file ot-functions.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
/* Location: ./includes/ot-functions.php */