wp_normalize_path( $basename ), 'dir' => wp_normalize_path( $dir ), 'uri' => $uri ) ); } } /** * * Framework set paths * * @since 1.0.0 * @version 1.0.0 * * */ $get_path = dtm_get_path_locate(); defined( 'DTM_BASENAME' ) or define( 'DTM_BASENAME', $get_path['basename'] ); defined( 'DTM_DIR' ) or define( 'DTM_DIR', $get_path['dir'] ); defined( 'DTM_URI' ) or define( 'DTM_URI', $get_path['uri'] ); /** * * Framework locate template and override files * * @since 1.0.0 * @version 1.0.0 * */ if( ! function_exists( 'dtm_locate_template' ) ) { function dtm_locate_template( $template_name ) { $located = ''; $override = apply_filters( 'dtm_framework_override', 'inc/metabox/dtm-framework-override' ); $dir_plugin = wp_normalize_path( WP_PLUGIN_DIR ); $dir_theme = get_template_directory(); $dir_child = get_stylesheet_directory(); $dir_override = '/'. $override .'/'. $template_name; $dir_template = DTM_BASENAME .'/'. $template_name; // child theme override $child_force_overide = $dir_child . $dir_override; $child_normal_override = $dir_child . $dir_template; // theme override paths $theme_force_override = $dir_theme . $dir_override; $theme_normal_override = $dir_theme . $dir_template; // plugin override $plugin_force_override = $dir_plugin .'/dt-metabox'. $dir_override; $plugin_normal_override = $dir_plugin . $dir_template; if ( file_exists( $child_force_overide ) ) { $located = $child_force_overide; } else if ( file_exists( $child_normal_override ) ) { $located = $child_normal_override; } else if ( file_exists( $theme_force_override ) ) { $located = $theme_force_override; } else if ( file_exists( $theme_normal_override ) ) { $located = $theme_normal_override; } else if ( file_exists( $plugin_force_override ) ) { $located = $plugin_force_override; } else if ( file_exists( $plugin_normal_override ) ) { $located = $plugin_normal_override; } $located = apply_filters( 'dtm_locate_template', $located, $template_name ); if ( ! empty( $located ) ) { load_template( $located, true ); } return $located; } } /** * * Multi language option * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_get_multilang_option' ) ) { function dtm_get_multilang_option( $option_name = '', $default = '' ) { $value = dtm_get_option( $option_name, $default ); $languages = dtm_language_defaults(); $default = $languages['default']; $current = $languages['current']; if ( is_array( $value ) && is_array( $languages ) && isset( $value[$current] ) ) { return $value[$current]; } else if ( $default != $current ) { return ''; } return $value; } } /** * * Multi language value * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_get_multilang_value' ) ) { function dtm_get_multilang_value( $value = '', $default = '' ) { $languages = dtm_language_defaults(); $default = $languages['default']; $current = $languages['current']; if ( is_array( $value ) && is_array( $languages ) && isset( $value[$current] ) ) { return $value[$current]; } else if ( $default != $current ) { return ''; } return $value; } } /** * * WPML plugin is activated * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_is_wpml_activated' ) ) { function dtm_is_wpml_activated() { if ( class_exists( 'SitePress' ) ) { return true; } else { return false; } } } /** * * qTranslate plugin is activated * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_is_qtranslate_activated' ) ) { function dtm_is_qtranslate_activated() { if ( function_exists( 'qtrans_getSortedLanguages' ) ) { return true; } else { return false; } } } /** * * Polylang plugin is activated * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_is_polylang_activated' ) ) { function dtm_is_polylang_activated() { if ( class_exists( 'Polylang' ) ) { return true; } else { return false; } } } /** * * Get language defaults * * @since 1.0.0 * @version 1.0.0 * */ if ( ! function_exists( 'dtm_language_defaults' ) ) { function dtm_language_defaults() { $multilang = array(); if( dtm_is_wpml_activated() || dtm_is_qtranslate_activated() || dtm_is_polylang_activated() ) { if( dtm_is_wpml_activated() ) { global $sitepress; $multilang['default'] = $sitepress->get_default_language(); $multilang['current'] = $sitepress->get_current_language(); $multilang['languages'] = $sitepress->get_active_languages(); } else if( dtm_is_polylang_activated() ) { global $polylang; $current = pll_current_language(); $default = pll_default_language(); $current = ( empty( $current ) ) ? $default : $current; $poly_langs = $polylang->model->get_languages_list(); $languages = array(); foreach ( $poly_langs as $p_lang ) { $languages[$p_lang->slug] = $p_lang->slug; } $multilang['default'] = $default; $multilang['current'] = $current; $multilang['languages'] = $languages; } else if( dtm_is_qtranslate_activated() ) { global $q_config; $multilang['default'] = $q_config['default_language']; $multilang['current'] = $q_config['language']; $multilang['languages'] = array_flip( qtrans_getSortedLanguages() ); } } $multilang = apply_filters( 'dtm_language_defaults', $multilang ); return ( ! empty( $multilang ) ) ? $multilang : false; } } /** * * Framework load text domain * * @since 1.0.0 * @version 1.0.0 * */ load_textdomain( 'alagu', DTM_DIR .'/languages/'. get_locale() .'.mo' );