?
wp-contentVIp/plugins/js_composer/include/classes/vendors/plugins/class-vc-vendor-qtranslate-x.php 0000666 00000005004 15126407643 0032441 0 ustar 00 home/cideo/www <?php
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/**
* Class Vc_Vendor_QtranslateX
* @since 4.12
*/
class Vc_Vendor_QtranslateX implements Vc_Vendor_Interface {
public function load() {
add_action( 'vc_backend_editor_render', array( $this, 'enqueueJsBackend' ) );
add_action( 'vc_frontend_editor_render', array( $this, 'enqueueJsFrontend' ) );
add_filter( 'vc_frontend_editor_iframe_url',
array(
$this,
'appendLangToUrl',
) );
add_filter( 'vc_nav_front_controls',
array(
$this,
'vcNavControlsFrontend',
) );
if ( ! vc_is_frontend_editor() ) {
add_filter( 'vc_get_inline_url',
array(
$this,
'vcRenderEditButtonLink',
) );
}
}
public function enqueueJsBackend() {
wp_enqueue_script( 'vc_vendor_qtranslatex_backend',
vc_asset_url( 'js/vendors/qtranslatex_backend.js' ),
array( 'vc-backend-min-js', 'jquery' ),
'1.0',
true );
}
public function appendLangToUrl( $link ) {
global $q_config;
if ( $q_config && isset( $q_config['language'] ) ) {
return add_query_arg( array( 'lang' => ( $q_config['language'] ) ), $link );
}
return $link;
}
public function enqueueJsFrontend() {
wp_enqueue_script( 'vc_vendor_qtranslatex_frontend',
vc_asset_url( 'js/vendors/qtranslatex_frontend.js' ),
array( 'vc-frontend-editor-min-js', 'jquery' ),
'1.0',
true );
}
/**
* @return string
*/
public function generateSelectFrontend() {
global $q_config;
$output = '';
$output .= '<select id="vc_vendor_qtranslatex_langs_front" class="vc_select vc_select-navbar">';
$inline_url = vc_frontend_editor()->getInlineUrl();
$activeLanguage = $q_config['language'];
$availableLanguages = $q_config['enabled_languages'];
foreach ( $availableLanguages as $lang ) {
$output .= '<option value="' . add_query_arg( array( 'lang' => $lang ),
$inline_url ) . '"' . ( $activeLanguage == $lang ? ' selected' : '' ) . ' > ' . qtranxf_getLanguageNameNative( $lang ) . '</option > ';
}
$output .= '</select > ';
return $output;
}
/**
* @param $list
*
* @return array
*/
public function vcNavControlsFrontend( $list ) {
if ( is_array( $list ) ) {
$list[] = array(
'qtranslatex',
'<li class="vc_pull-right" > ' . $this->generateSelectFrontend() . '</li > ',
);
}
return $list;
}
/**
* @param $link
*
* @return string
*/
public function vcRenderEditButtonLink( $link ) {
global $q_config;
$activeLanguage = $q_config['language'];
return add_query_arg( array( 'lang' => $activeLanguage ), $link );
}
}