function qtranxf_add_admin_footer_js($enqueue_script = false) { global $q_config; $post_type = qtranxf_post_type(); $page_config = qtranxf_get_admin_page_config_post_type($post_type); //qtranxf_dbg_log('qtranxf_add_admin_footer_js: $page_config: ',$page_config); if (empty($page_config)) { return; } wp_dequeue_script('autosave'); wp_deregister_script('autosave'); //autosave script saves the active language only and messes it up later in a hard way $config = array(); // since 3.2.9.9.0 'enabled_languages' is replaced with 'language_config' structure $keys = array('default_language', 'language', 'url_mode', 'lsb_style_wrap_class', 'lsb_style_active_class', 'hide_default_language'); // ,'term_name' foreach ($keys as $key) { $config[$key] = $q_config[$key]; } $config['custom_fields'] = apply_filters('qtranslate_custom_fields', $q_config['custom_fields']); $config['custom_field_classes'] = apply_filters('qtranslate_custom_field_classes', $q_config['custom_field_classes']); if ($q_config['url_mode'] == QTX_URL_DOMAINS) { $config['domains'] = $q_config['domains']; } $homeinfo = qtranxf_get_home_info(); $config['homeinfo_path'] = trailingslashit($homeinfo['path']); $config['home_url_path'] = parse_url(home_url('/'), PHP_URL_PATH); //todo optimize $config['flag_location'] = qtranxf_flag_location(); $config['js'] = array(); //$config['flag']=array();//deprecated since 3.2.9.9.0 //$config['language_name']=array();//deprecated since 3.2.9.9.0 $config['language_config'] = array(); foreach ($q_config['enabled_languages'] as $lang) { //$config['flag'][$lang]=$q_config['flag'][$lang]; //$config['language_name'][$lang]=$q_config['language_name'][$lang]; $config['language_config'][$lang] = array(); $config['language_config'][$lang]['flag'] = $q_config['flag'][$lang]; $config['language_config'][$lang]['name'] = $q_config['language_name'][$lang]; $config['language_config'][$lang]['locale'] = $q_config['locale'][$lang]; $config['language_config'][$lang]['locale_html'] = !empty($q_config['locale_html'][$lang]) ? $q_config['locale_html'][$lang] : $lang; } if (!empty($page_config)) { $config['page_config'] = $page_config; //no need for javascript: unset($config['page_config']['js']); //unset($config['page_config']['js-conf']); //unset($config['page_config']['js-exec']); } $config['LSB'] = $q_config['editor_mode'] == QTX_EDITOR_MODE_LSB; /** * Last chance to customize Java script variable qTranslateConfig. */ $config = apply_filters('qtranslate_admin_page_config', $config); ?> <script type="text/javascript"> // <![CDATA[ <?php echo 'var qTranslateConfig=' . json_encode($config) . ';' . PHP_EOL; qtranxf_loadfiles_js($page_config['js'], $enqueue_script); if ($q_config['qtrans_compatibility']) { echo 'qtrans_use = function(lang, text) { var result = qtranxj_split(text); return result[lang]; }' . PHP_EOL; } do_action('qtranslate_add_admin_footer_js'); ?> //]]> </script> <?php }
function qtranxf_add_meta_box_LSB($post_type, $post) { global $q_config, $pagenow; if ($q_config['editor_mode'] != QTX_EDITOR_MODE_LSB) { return; } switch ($pagenow) { case 'post-new.php': case 'post.php': break; default: return; } if (empty($post_type)) { if (isset($post->post_type)) { $post_type = $post->post_type; } else { return; } } //qtranxf_dbg_log('qtranxf_add_meta_box_LSB: $post_type: ', $post_type);//, true); $page_config = qtranxf_get_admin_page_config_post_type($post_type); if (empty($page_config)) { return; } add_meta_box('qtranxs-meta-box-lsb', __('Language', 'qtranslate'), 'qtranxf_meta_box_LSB', $post_type, 'normal', 'low'); }