summaryrefslogtreecommitdiff
path: root/program/js/tiny_mce
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-08-15 22:00:33 +0000
committerthomascube <thomas@roundcube.net>2008-08-15 22:00:33 +0000
commitded713982e3f2e73b50ba2b5589cdd82cc68b749 (patch)
tree8041e46c0337776aae5508b42ef7175e728ea591 /program/js/tiny_mce
parent4ca10b8d511d85a4d575af355b0a6739d5a05958 (diff)
Respect spellcheck_uri in tinyMCE spellchecker (#1484196)
Diffstat (limited to 'program/js/tiny_mce')
-rwxr-xr-xprogram/js/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php16
-rwxr-xr-xprogram/js/tiny_mce/plugins/spellchecker/config.php1
2 files changed, 13 insertions, 4 deletions
diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php b/program/js/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php
index 53d4300e3..73479844b 100755
--- a/program/js/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php
+++ b/program/js/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php
@@ -53,8 +53,16 @@ class GoogleSpell extends SpellChecker {
$server = "www.google.com";
$port = 443;
$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
- $host = "www.google.com";
- $url = "https://" . $server;
+ $ssl = true;
+
+ // spell check uri is configured (added by RoundCube)
+ if (!empty($this->_config['rpc_uri'])) {
+ $a_uri = parse_url($this->_config['rpc_uri']);
+ $ssl = ($a_uri['scheme']=='https' || $a_uri['scheme']=='ssl');
+ $port = $a_uri['port'] ? $a_uri['port'] : ($ssl ? 443 : 80);
+ $server = $a_uri['host'];
+ $path = $a_uri['path'] . ($a_uri['query'] ? '?'.$a_uri['query'] : '') . $lang;
+ }
// Setup XML request
$xml = '<?xml version="1.0" encoding="utf-8" ?><spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><text>' . $str . '</text></spellrequest>';
@@ -74,7 +82,7 @@ class GoogleSpell extends SpellChecker {
if (function_exists('curl_init')) {
// Use curl
$ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,$url);
+ curl_setopt($ch, CURLOPT_URL, ($ssl ? "https://" : "http://") . $server);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
@@ -82,7 +90,7 @@ class GoogleSpell extends SpellChecker {
curl_close($ch);
} else {
// Use raw sockets
- $fp = fsockopen("ssl://" . $server, $port, $errno, $errstr, 30);
+ $fp = fsockopen(($ssl ? "ssl://" : "") . $server, $port, $errno, $errstr, 30);
if ($fp) {
// Send request
fwrite($fp, $header);
diff --git a/program/js/tiny_mce/plugins/spellchecker/config.php b/program/js/tiny_mce/plugins/spellchecker/config.php
index 827749e48..53e6e469f 100755
--- a/program/js/tiny_mce/plugins/spellchecker/config.php
+++ b/program/js/tiny_mce/plugins/spellchecker/config.php
@@ -7,6 +7,7 @@
$rcmail_config = new rcube_config();
$config['general.engine'] = $rcmail_config->get('spellcheck_engine') == 'pspell' ? 'PSpell' : 'GoogleSpell';
+ $config['GoogleSpell.rpc_uri'] = $rcmail_config->get('spellcheck_uri');
/** end RoundCube specific code */