"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;
}
}
?>