function qs_toobar($content) { // Create Translate Button $content .= ppqtrans_createEditorToolbarButton('translate', 'translate', 'init_qs', __('Translate')); return $content; }
function ppqtrans_modifyRichEditor($old_content) { global $q_config; $init_editor = true; preg_match("/<textarea[^>]*id=\"([^']+)\"/", $old_content, $matches); $id = $matches[1]; preg_match("/cols=\"([^\"]+)\"/", $old_content, $matches); $cols = $matches[1]; // don't do anything if not editing the content if ($id != "content") { return $old_content; } // don't do anything to the editor if it's not rich if (!user_can_richedit()) { //echo '<p class="updated">'.__('The qTranslate Editor could not be loaded because WYSIWYG/TinyMCE is not activated in your profile.').'</p>'; return $old_content; } // remove wpautop if ('html' != wp_default_editor()) { remove_filter('the_editor_content', 'wp_richedit_pre'); } $content = ""; $content_append = ""; // create editing field for selected languages $qt_textarea = '<textarea id="ppqtrans_textarea_' . $id . '" name="ppqtrans_textarea_' . $id . '" tabindex="2" cols="' . $cols . '" style="display:none" onblur="ppqtrans_save(this.value);"></textarea>'; $old_content = preg_replace('#(<textarea[^>]*>.*</textarea>)#', '$1' . $qt_textarea, $old_content); // do some crazy js to alter the admin view $content .= "<script type=\"text/javascript\">\n// <![CDATA[\n"; // include needed js functions $content .= $q_config['js']['ppqtrans_is_array']; $content .= $q_config['js']['ppqtrans_xsplit']; $content .= $q_config['js']['ppqtrans_split']; $content .= $q_config['js']['ppqtrans_integrate']; $content .= $q_config['js']['ppqtrans_use']; $content .= $q_config['js']['ppqtrans_assign']; $content .= $q_config['js']['ppqtrans_save']; $content .= $q_config['js']['ppqtrans_integrate_title']; $content .= $q_config['js']['ppqtrans_get_active_language']; $content .= $q_config['js']['ppqtrans_hook_on_tinyMCE']; $content .= "function ppqtrans_editorInit1() {\n"; $content .= $q_config['js']['ppqtrans_switch']; // insert language, visual and html buttons $el = ppqtrans_getSortedLanguages(); foreach ($el as $language) { $content .= ppqtrans_insertTitleInput($language); } $el = ppqtrans_getSortedLanguages(true); foreach ($el as $language) { $content .= ppqtrans_createEditorToolbarButton($language, $id); } $content = apply_filters('ppqtranslate_toolbar', $content); // hide old title bar $content .= "document.getElementById('titlediv').style.display='none';\n"; $content .= "}\n"; $content .= "// ]]>\n</script>\n"; $content_append .= "<script type=\"text/javascript\">\n// <![CDATA[\n"; $content_append .= "function ppqtrans_editorInit2() {\n"; // show default language tab $content_append .= "document.getElementById('ppqtrans_select_" . $q_config['default_language'] . "').className='wp-switch-editor switch-tmce switch-html';\n"; // show default language $content_append .= "var text = document.getElementById('" . $id . "').value;\n"; $content_append .= "ppqtrans_assign('ppqtrans_textarea_" . $id . "',ppqtrans_use('" . $q_config['default_language'] . "',text));\n"; $content_append .= "}\n"; $content_append .= "function ppqtrans_editorInit3() {\n"; // make tinyMCE and mediauploader get the correct data $content_append .= $q_config['js']['ppqtrans_tinyMCEOverload']; $content_append .= $q_config['js']['ppqtrans_wpActiveEditorOverload']; $content_append .= "}\n"; $content_append .= $q_config['js']['ppqtrans_editorInit']; if ($init_editor) { $content_append .= $q_config['js']['ppqtrans_wpOnload']; } else { $content_append .= "var qtmsg = document.getElementById('ppqtrans_imsg');\n"; $content_append .= "var et = document.getElementById('wp-" . $id . "-editor-tools');\n"; $content_append .= "et.parentNode.insertBefore(qtmsg, et);\n"; } $content_append = apply_filters('ppqtranslate_modify_editor_js', $content_append); $content_append .= "// ]]>\n</script>\n"; return $content . $old_content . $content_append; }