diff -r 000000000000 -r d970ebf37754 wp/wp-content/plugins/option-tree/includes/ot-functions.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-content/plugins/option-tree/includes/ot-functions.php Wed Nov 06 03:21:17 2013 +0000 @@ -0,0 +1,196 @@ + + * @copyright Copyright (c) 2013, Derek Herman + * @since 2.0 + */ + +/** + * Get Option. + * + * Helper function to return the option value. + * If no value has been saved, it returns $default. + * + * @param string The option ID. + * @param string The default option value. + * @return mixed + * + * @access public + * @since 2.0 + */ +if ( ! function_exists( 'ot_get_option' ) ) { + + function ot_get_option( $option_id, $default = '' ) { + + /* get the saved options */ + $options = get_option( 'option_tree' ); + + /* look for the saved value */ + if ( isset( $options[$option_id] ) && '' != $options[$option_id] ) { + + return ot_wpml_filter( $options, $option_id ); + + } + + return $default; + + } + +} + +/** + * Filter the return values through WPML + * + * @param array $options The current options + * @param string $option_id The option ID + * @return mixed + * + * @access public + * @since 2.1 + */ +if ( ! function_exists( 'ot_wpml_filter' ) ) { + + function ot_wpml_filter( $options, $option_id ) { + + // Return translated strings using WMPL + if ( function_exists('icl_t') ) { + + $settings = get_option( 'option_tree_settings' ); + + if ( isset( $settings['settings'] ) ) { + + foreach( $settings['settings'] as $setting ) { + + // List Item & Slider + if ( $option_id == $setting['id'] && in_array( $setting['type'], array( 'list-item', 'slider' ) ) ) { + + foreach( $options[$option_id] as $key => $value ) { + + foreach( $value as $ckey => $cvalue ) { + + $id = $option_id . '_' . $ckey . '_' . $key; + $_string = icl_t( 'Theme Options', $id, $cvalue ); + + if ( ! empty( $_string ) ) { + + $options[$option_id][$key][$ckey] = $_string; + + } + + } + + } + + // All other acceptable option types + } else if ( $option_id == $setting['id'] && in_array( $setting['type'], apply_filters( 'ot_wpml_option_types', array( 'text', 'textarea', 'textarea-simple' ) ) ) ) { + + $_string = icl_t( 'Theme Options', $option_id, $options[$option_id] ); + + if ( ! empty( $_string ) ) { + + $options[$option_id] = $_string; + + } + + } + + } + + } + + } + + return $options[$option_id]; + + } + +} + +/** + * Enqueue the dynamic CSS. + * + * @return void + * + * @access public + * @since 2.0 + */ +if ( ! function_exists( 'ot_load_dynamic_css' ) ) { + + function ot_load_dynamic_css() { + + /* don't load in the admin */ + if ( is_admin() ) + return; + + /* grab a copy of the paths */ + $ot_css_file_paths = get_option( 'ot_css_file_paths', array() ); + + if ( ! empty( $ot_css_file_paths ) ) { + + $last_css = ''; + + /* loop through paths */ + foreach( $ot_css_file_paths as $key => $path ) { + + if ( '' != $path && file_exists( $path ) ) { + + $parts = explode( '/wp-content', $path ); + + if ( isset( $parts[1] ) ) { + + $css = home_url( '/wp-content' . $parts[1] ); + + if ( $last_css !== $css ) { + + /* enqueue filtered file */ + wp_enqueue_style( 'ot-dynamic-' . $key, $css, false, OT_VERSION ); + + $last_css = $css; + + } + + } + + } + + } + + } + + } + +} + +/** + * Registers the Theme Option page link for the admin bar. + * + * @uses ot_register_settings() + * + * @return void + * + * @access public + * @since 2.1 + */ +if ( ! function_exists( 'ot_register_theme_options_admin_bar_menu' ) ) { + + function ot_register_theme_options_admin_bar_menu( $wp_admin_bar ) { + + if ( ! current_user_can( apply_filters( 'ot_theme_options_capability', 'edit_theme_options' ) ) || ! is_admin_bar_showing() ) + return; + + $wp_admin_bar->add_node( array( + 'parent' => 'appearance', + 'id' => apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ), + 'title' => apply_filters( 'ot_theme_options_page_title', __( 'Theme Options', 'option-tree' ) ), + 'href' => admin_url( apply_filters( 'ot_theme_options_parent_slug', 'themes.php' ) . '?page=' . apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) ) + ) ); + + } + +} + +/* End of file ot-functions.php */ +/* Location: ./includes/ot-functions.php */ \ No newline at end of file