Пример #1
0
function qs_toobar($content)
{
    // Create Translate Button
    $content .= ppqtrans_createEditorToolbarButton('translate', 'translate', 'init_qs', __('Translate'));
    return $content;
}
Пример #2
0
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;
}