source: github/program/steps/mail/spell_googie.inc @ 57837fd

HEADcourier-fixdev-browser-capabilitiespdorelease-0.6release-0.7release-0.8
Last change on this file since 57837fd was 57837fd, checked in by alecpl <alec@…>, 3 years ago
  • Bug in spellchecker suggestions when server charset != UTF8 (#1486406)
  • Property mode set to 100644
File size: 2.3 KB
Line 
1<?php
2
3/*
4 +-----------------------------------------------------------------------+
5 | program/steps/mail/spell.inc                                          |
6 |                                                                       |
7 | This file is part of the RoundCube Webmail client                     |
8 | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland                 |
9 | Licensed under the GNU GPL                                            |
10 |                                                                       |
11 | PURPOSE:                                                              |
12 |   Submit request to Google's spell checking engine                    |
13 |                                                                       |
14 | CREDITS:                                                              |
15 |   Script from GoogieSpell by amix.dk                                  |
16 |                                                                       |
17 +-----------------------------------------------------------------------+
18 | Author: Thomas Bruederli <roundcube@gmail.com>                        |
19 +-----------------------------------------------------------------------+
20
21 $Id$
22
23*/
24
25$REMOTE_REQUEST = TRUE;
26
27// default settings
28$host = "ssl://www.google.com";
29$port = 443;
30$lang = get_input_value('lang', RCUBE_INPUT_GET);
31$path = "/tbproxy/spell?lang=$lang";
32
33// spell check uri is configured
34if (!empty($CONFIG['spellcheck_uri']))
35  {
36  $a_uri = parse_url($CONFIG['spellcheck_uri']);
37  $ssl = ($a_uri['scheme']=='https' || $a_uri['scheme']=='ssl');
38  $port = $a_uri['port'] ? $a_uri['port'] : ($ssl ? 443 : 80);
39  $host = ($ssl ? 'ssl://' : '') . $a_uri['host'];
40  $path = $a_uri['path'] . ($a_uri['query'] ? '?'.$a_uri['query'] : '') . $lang;
41  }
42
43$data = file_get_contents('php://input');
44$store = "";
45
46if ($fp = fsockopen($host, $port, $errno, $errstr, 30))
47  {
48  $out = "POST $path HTTP/1.0\r\n";
49  $out .= "Host: $host\r\n";
50  $out .= "Content-Length: " . strlen($data) . "\r\n";
51  $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
52  $out .= "Connection: Close\r\n\r\n";
53  $out .= $data;
54  fwrite($fp, $out);
55 
56  while (!feof($fp))
57    $store .= fgets($fp, 128);
58  fclose($fp);
59  }
60
61// Don't use server's default Content-Type charset (#1486406)
62header("Content-Type: text/xml; charset=".RCMAIL_CHARSET);
63print $store; 
64exit;
65
66?>
Note: See TracBrowser for help on using the repository browser.