"v7mYZmwC%2F3nUAun1mvNlDg%3D%3D", "from" => $from, "to" => $to, "inputFormat" => "plain", //"domainCode" => "Electronics", "text" => $textMe ); //open connection $ch = curl_init(); $timeout = 5; //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($fields)); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json', 'Authorization: LC apiKey=v7mYZmwC%2F3nUAun1mvNlDg%3D%3D')); $data = curl_exec($ch); curl_close($ch); return $data; } public function folder_exist($folder){ // Get canonicalized absolute pathname $path = realpath($folder); // If it exist, check if it's a directory if($path !== false AND is_dir($path)) { // Return canonicalized absolute pathname return $path; } // Path/folder does not exist return false; } public function copyDirectory($settings){ // The script may take some time if there are lots of files ini_set("max_execution_time",3000); // Just do some validation and pre-sets $directory = (isset($settings['src']) && !empty($settings['src']))? $settings['src'] : false; $copyto = (isset($settings['dest']) && !empty($settings['dest']))? $settings['dest'] : false; $filter = (isset($settings['filter']) && !empty($settings['filter']))? $settings['filter'] : false; // Add the copy to destinations not to copy otherwise // you will have an infinite loop of files being copied $filter[] = $copyto; // Stop if the directory is not set if(!$directory) return; // Create a recursive directory iterator $dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory),RecursiveIteratorIterator::CHILD_FIRST); try{ foreach($dir as $file) { $copydest = str_replace("//","/",$copyto."/".str_replace($_SERVER['DOCUMENT_ROOT'],"",$file)); $compare = rtrim($file,"."); if(is_dir($file)) { if(!is_dir($copydest)) { if(!in_array($compare,$filter)) { if(isset($skip) && !preg_match("!".$skip."!",$file) || !isset($skip)) @mkdir($copydest,0755,true); else $record[] = $copydest; } else { $skip = $compare; } } } elseif(is_file($file) && !in_array($file,$filter)) { copy($file,$copydest); } else { if($file != '.' && $file != '..') $record[] = $copydest; } } } // This will catch errors in copying (like permission errors) catch (Exception $e){ $error[] = $e; } } public function IgnorePosTags(){ $ignorePOS = array( # definiere POS Tag Elemente, die nicht verändert werden sollen "ADV", # Adverb -> schon, bald, doch "APPR", # Präposition; Zirkumposition links in [der Stadt], ohne [mich] "APPRART", # Präposition mit Artikel im [Haus], zur [Sache] "APPO", # Postposition [ihm] zufolge, [der Sache] wegen "APZR", # Zirkumposition rechts [von jetzt] an "ART", # bestimmter oder unbestimmter Artikel der, die, das, ein, eine "CARD", # Kardinalzahl zwei [Männer], [im Jahre] 1994 "FM", # Fremdsprachliches Material [Er hat das mit ``] A big fish ['' übersetzt] # FM später übersetzen und ändern zb in Version 2.for "ITJ", # Interjektion mhm, ach, tja "KOUI", # unterordnende Konjunktion mit ``zu'' und Infinitiv um [zu leben], anstatt [zu fragen] "KOUS", # unterordnende Konjunktion mit Satz weil, dass, damit, wenn, ob "KON", # nebenordnende Konjunktion und, oder, aber "KOKOM", # Vergleichskonjunktion als, wie "NE", # Eigennamen Hans, Hamburg, HSV "PDS", # substituierendes Demonstrativpronomen dieser, jener "PDAT", # attribuierendes Demonstrativpronomen jener [Mensch] "PIS", # substituierendes Indefinitpronomen keiner, viele, man, niemand "PIAT", # attribuierendes Indefinitpronomen ohne Determiner kein [Mensch], irgendein [Glas] "PIDAT", # attribuierendes Indefinitpronomen mit Determiner [ein] wenig [Wasser], [die] beiden [Brüder] "PPER", # irreflexives Personalpronomen ich, er, ihm, mich, dir "PPOSS", # substituierendes Possessivpronomen meins, deiner "PPOSAT", # attribuierendes Possessivpronomen mein [Buch], deine [Mutter] "PRELS", # substituierendes Relativpronomen [der Hund ,] der "PRELAT", # attribuierendes Relativpronomen [der Mann ,] dessen [Hund] "PRF", # reflexives Personalpronomen sich, einander, dich, mir "PWS", # substituierendes Interrogativpronomen wer, was "PWAT", # attribuierendes Interrogativpronomen welche[Farbe], wessen [Hut] "PWAV", # adverbiales Interrogativ- oder Relativpronomen warum, wo, wann, worüber, wobei "PAV", # Pronominaladverb dafür, dabei, deswegen, trotzdem "PTKZU", # ``zu'' vor Infinitiv zu [gehen] "PTKNEG", # Negationspartikel nicht "PTKVZ", # abgetrennter Verbzusatz [er kommt] an, [er fährt] rad "PTKANT", # Antwortpartikel ja, nein, danke, bitte "PTKA", # Partikel bei Adjektiv oder Adverb am [schönsten], zu [schnell] "TRUNC", # Kompositions-Erstglied An- [und Abreise] "XY", # Nichtwort, Sonderzeichen enthaltend 3:7, H2O, D2XW3 "$,", # Komma , "$.", # Satzbeendende Interpunktion . ? ! ; : "$(", # sonstige Satzzeichen; satzintern - [,]() ); return $ignorePOS; } public function orthograph($string){ // Suggests possible words in case of misspelling $config_dic = pspell_config_create('de'); // Ignore words under 3 characters pspell_config_ignore($config_dic, 3); // Configure the dictionary pspell_config_mode($config_dic, PSPELL_FAST); $dictionary = pspell_new_config($config_dic); // To find out if a replacement has been suggested $replacement_suggest = false; $string = explode('', trim(str_replace(',', ' ', $string))); foreach ($string as $key => $value) { if(!pspell_check($dictionary, $value)) { $suggestion = pspell_suggest($dictionary, $value); // Suggestions are case sensitive. Grab the first one. if(strtolower($suggestion[0]) != strtolower($value)) { $string[$key] = $suggestion[0]; $replacement_suggest = true; } } } if ($replacement_suggest) { // We have a suggestion, so we return to the data. return implode('', $string); } else { return null; } } public function spellCheckWord($word){ if (strlen($word)<=3){ return $word; } $pspell = pspell_new('de','','','utf-8',PSPELL_FAST); $autocorrect = TRUE; // Ignore ALL CAPS if (preg_match('/^[A-Z]*$/',$word)) return $word; // Return dictionary words if (pspell_check($pspell,$word)) return $word; // Auto-correct with the first suggestion, color green if ($autocorrect && $suggestions = pspell_suggest($pspell,$word)) return ''.current($suggestions).''; // No suggestions, color red return ''.$word.''; } public function array_merge_deep($arrays) { $result = array(); foreach ($arrays as $array) { foreach ($array as $key => $value) { // Renumber integer keys as array_merge_recursive() does. Note that PHP // automatically converts array keys that are integer strings (e.g., '1') // to integers. if (is_integer($key)) { $result[] = $value; } // Recurse when both values are arrays. elseif (isset($result[$key]) && is_array($result[$key]) && is_array($value)) { $result[$key] = array_merge_deep(array($result[$key], $value)); } // Otherwise, use the latter value, overriding any previous value. else { $result[$key] = $value; } } } return $result; } public function getJavaScriptInlineContent(){ // } public function get_html($url) {#new $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch,CURLOPT_USERAGENT,'OneTIPP.COM v/0.1'); $data = curl_exec($ch); curl_close($ch); return $data; } } ?>