case 'Russian': $spell_dictionary = 'ru-RU.dic'; break; case 'German': $spell_dictionary = 'de-DE.dic'; break; default: $spell_dictionary = 'en-US.dic'; break; } $sp = new Spellchecker(INI_DIR . '/dictionary/' . $spell_dictionary); if ($sp->_error === '') { $xmlStr = isset($_POST['xml']) ? $_POST['xml'] : '<?xml version="1.0" encoding="utf-8"?><webmail><param name="action" value="spellcheck"/><param name="request" value="spell"/><text><![CDATA[]]></text></webmail>'; $log->WriteLine("<<<[Spellchecker]<<<\r\n" . $xmlStr); $cxml = new XmlDocument(); $cxml->ParseFromString($xmlStr); $response = new XmlDocument(); $response->CreateElement('webmail'); if ($cxml->GetParamValueByName('action') == 'spellcheck') { $req = $cxml->GetParamValueByName('request'); switch ($req) { case 'spell': $text = $cxml->XmlRoot->GetChildValueByTagName('text'); $sp->text = $text; $misspel = $sp->ParseText(); $node = new XmlDomNode('spellcheck'); foreach ($misspel as $misspelNode) { $misp = new XmlDomNode('misp', ''); $misp->AppendAttribute('pos', $misspelNode[0]); $misp->AppendAttribute('len', $misspelNode[1]); $node->AppendChild($misp);
/** * @param string $_string * @return string */ function Qitsra($_string) { $_log =& CLog::CreateInstance(); if ($_log->Enabled && strlen(trim($_string)) > 0) { if (!USE_FULLPARSE_XML_LOG) { $_log->WriteLine('>>>[server_xml]>>>' . "\r\n" . $_string); } else { $_xmlTemp = new XmlDocument(); $_xmlTemp->ParseFromString($_string); $_log->WriteLine('>>>[server_xml]>>>' . "\r\n" . $_xmlTemp->ToString(true)); } } if (USE_PROCESSING_GZIP) { $_string = obStartGzip($_string); } return $_string; }