--- a/wp/wp-content/plugins/option-tree/includes/ot-functions.php Mon Jun 08 16:11:51 2015 +0000
+++ b/wp/wp-content/plugins/option-tree/includes/ot-functions.php Tue Jun 09 03:35:32 2015 +0200
@@ -7,7 +7,61 @@
* @copyright Copyright (c) 2013, Derek Herman
* @since 2.0
*/
-
+
+/**
+ * Theme Options ID
+ *
+ * @return string
+ *
+ * @access public
+ * @since 2.3.0
+ */
+if ( ! function_exists( 'ot_options_id' ) ) {
+
+ function ot_options_id() {
+
+ return apply_filters( 'ot_options_id', 'option_tree' );
+
+ }
+
+}
+
+/**
+ * Theme Settings ID
+ *
+ * @return string
+ *
+ * @access public
+ * @since 2.3.0
+ */
+if ( ! function_exists( 'ot_settings_id' ) ) {
+
+ function ot_settings_id() {
+
+ return apply_filters( 'ot_settings_id', 'option_tree_settings' );
+
+ }
+
+}
+
+/**
+ * Theme Layouts ID
+ *
+ * @return string
+ *
+ * @access public
+ * @since 2.3.0
+ */
+if ( ! function_exists( 'ot_layouts_id' ) ) {
+
+ function ot_layouts_id() {
+
+ return apply_filters( 'ot_layouts_id', 'option_tree_layouts' );
+
+ }
+
+}
+
/**
* Get Option.
*
@@ -26,7 +80,7 @@
function ot_get_option( $option_id, $default = '' ) {
/* get the saved options */
- $options = get_option( 'option_tree' );
+ $options = get_option( ot_options_id() );
/* look for the saved value */
if ( isset( $options[$option_id] ) && '' != $options[$option_id] ) {
@@ -42,6 +96,29 @@
}
/**
+ * Echo Option.
+ *
+ * Helper function to echo the option value.
+ * If no value has been saved, it echos $default.
+ *
+ * @param string The option ID.
+ * @param string The default option value.
+ * @return mixed
+ *
+ * @access public
+ * @since 2.2.0
+ */
+if ( ! function_exists( 'ot_echo_option' ) ) {
+
+ function ot_echo_option( $option_id, $default = '' ) {
+
+ echo ot_get_option( $option_id, $default );
+
+ }
+
+}
+
+/**
* Filter the return values through WPML
*
* @param array $options The current options
@@ -58,7 +135,7 @@
// Return translated strings using WMPL
if ( function_exists('icl_t') ) {
- $settings = get_option( 'option_tree_settings' );
+ $settings = get_option( ot_settings_id() );
if ( isset( $settings['settings'] ) ) {
@@ -84,6 +161,26 @@
}
+ // List Item & Slider
+ } else if ( $option_id == $setting['id'] && $setting['type'] == 'social-links' ) {
+
+ 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' ) ) ) ) {
@@ -122,12 +219,32 @@
function ot_load_dynamic_css() {
/* don't load in the admin */
- if ( is_admin() )
+ if ( is_admin() ) {
return;
-
+ }
+
+ /**
+ * Filter whether or not to enqueue a `dynamic.css` file at the theme level.
+ *
+ * By filtering this to `false` OptionTree will not attempt to enqueue any CSS files.
+ *
+ * Example: add_filter( 'ot_load_dynamic_css', '__return_false' );
+ *
+ * @since 2.5.5
+ *
+ * @param bool $load_dynamic_css Default is `true`.
+ * @return bool
+ */
+ if ( false === (bool) apply_filters( 'ot_load_dynamic_css', true ) ) {
+ return;
+ }
+
/* grab a copy of the paths */
$ot_css_file_paths = get_option( 'ot_css_file_paths', array() );
-
+ if ( is_multisite() ) {
+ $ot_css_file_paths = get_blog_option( get_current_blog_id(), 'ot_css_file_paths', $ot_css_file_paths );
+ }
+
if ( ! empty( $ot_css_file_paths ) ) {
$last_css = '';
@@ -138,10 +255,18 @@
if ( '' != $path && file_exists( $path ) ) {
$parts = explode( '/wp-content', $path );
-
+
if ( isset( $parts[1] ) ) {
+
+ $sub_parts = explode( '/', $parts[1] );
+
+ if ( isset( $sub_parts[1] ) && isset( $sub_parts[2] ) ) {
+ if ( $sub_parts[1] == 'themes' && $sub_parts[2] != get_template() ) {
+ continue;
+ }
+ }
- $css = home_url( '/wp-content' . $parts[1] );
+ $css = set_url_scheme( WP_CONTENT_URL ) . $parts[1];
if ( $last_css !== $css ) {
@@ -165,9 +290,85 @@
}
/**
- * Registers the Theme Option page link for the admin bar.
+ * Enqueue the Google Fonts CSS.
+ *
+ * @return void
*
- * @uses ot_register_settings()
+ * @access public
+ * @since 2.5.0
+ */
+if ( ! function_exists( 'ot_load_google_fonts_css' ) ) {
+
+ function ot_load_google_fonts_css() {
+
+ /* don't load in the admin */
+ if ( is_admin() )
+ return;
+
+ $ot_google_fonts = get_theme_mod( 'ot_google_fonts', array() );
+ $ot_set_google_fonts = get_theme_mod( 'ot_set_google_fonts', array() );
+ $families = array();
+ $subsets = array();
+ $append = '';
+
+ if ( ! empty( $ot_set_google_fonts ) ) {
+
+ foreach( $ot_set_google_fonts as $id => $fonts ) {
+
+ foreach( $fonts as $font ) {
+
+ // Can't find the font, bail!
+ if ( ! isset( $ot_google_fonts[$font['family']]['family'] ) ) {
+ continue;
+ }
+
+ // Set variants & subsets
+ if ( ! empty( $font['variants'] ) && is_array( $font['variants'] ) ) {
+
+ // Variants string
+ $variants = ':' . implode( ',', $font['variants'] );
+
+ // Add subsets to array
+ if ( ! empty( $font['subsets'] ) && is_array( $font['subsets'] ) ) {
+ foreach( $font['subsets'] as $subset ) {
+ $subsets[] = $subset;
+ }
+ }
+
+ }
+
+ // Add family & variants to array
+ if ( isset( $variants ) ) {
+ $families[] = str_replace( ' ', '+', $ot_google_fonts[$font['family']]['family'] ) . $variants;
+ }
+
+ }
+
+ }
+
+ }
+
+ if ( ! empty( $families ) ) {
+
+ $families = array_unique( $families );
+
+ // Append all subsets to the path, unless the only subset is latin.
+ if ( ! empty( $subsets ) ) {
+ $subsets = implode( ',', array_unique( $subsets ) );
+ if ( $subsets != 'latin' ) {
+ $append = '&subset=' . $subsets;
+ }
+ }
+
+ wp_enqueue_style( 'ot-google-fonts', esc_url( '//fonts.googleapis.com/css?family=' . implode( '|', $families ) ) . $append, false, null );
+ }
+
+ }
+
+}
+
+/**
+ * Registers the Theme Option page link for the admin bar.
*
* @return void
*