acf = $acf; $this->plugin = $plugin; // include compatibility functions require_once ACF_QTRANSLATE_PLUGIN_DIR . 'compatibility/ppqtranslate.php'; $this->monkey_patches(); } /** * Monkey patches. */ public function monkey_patches() { global $q_config; // http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=3497 if (isset($q_config['js']['ppqtrans_switch'])) { if (strpos($q_config['js']['ppqtrans_switch'], '_switchEditors') === false) { $q_config['js']['ppqtrans_switch'] = "var _switchEditors = jQuery.extend(true, {}, switchEditors);\n" . $q_config['js']['ppqtrans_switch']; $q_config['js']['ppqtrans_switch'] = preg_replace("/(var vta = document\.getElementById\('ppqtrans_textarea_' \+ id\);)/", "\$1\nif(!vta)return _switchEditors.go(id, lang);", $q_config['js']['ppqtrans_switch']); } } // https://github.com/funkjedi/acf-qtranslate/issues/2#issuecomment-37612918 if (isset($q_config['js']['ppqtrans_hook_on_tinyMCE'])) { if (strpos($q_config['js']['ppqtrans_hook_on_tinyMCE'], 'ed.id.match(/^ppqtrans_/)') === false) { $q_config['js']['ppqtrans_hook_on_tinyMCE'] = preg_replace("/(ppqtrans_save\(switchEditors\.pre_wpautop\(e\.content\)\);)/", "if (ed.id.match(/^ppqtrans_/)) \$1", $q_config['js']['ppqtrans_hook_on_tinyMCE']); } } } }