La mareadora - Tisselli, Eugenio

<?
function ObtenMaxFecha($dbh) {
$query="SELECT MAX(frase_id) AS ultima FROM frase";
$result = mysql_query($query,$dbh);
$row = mysql_fetch_array($result,MYSQL_NUM);
$id = $row[0];
$query="SELECT fecha FROM frase WHERE frase_id = $id";
$result = mysql_query($query,$dbh);
$row = mysql_fetch_array($result,MYSQL_NUM);
return $row[0];
}

function LimpiaFecha($fecha) {
$partes = explode(" ",$fecha);
$regreso = $partes[1]." ".$partes[2]." ".$partes[3];
return $regreso;
}

function getSynonym($word) {
$synonym = "";
$thesaurus="http://thesaurus.reference.com/search?q=$word";
$fd = fopen($thesaurus,"r");
while(!feof($fd)) {
stream_set_timeout($fd, 20);
$pgdata .= fread($fd, 5000) or die("me estoy cansando, por favor aprieta el botón de refresco...");
}
fclose($fd);
$start = strpos($pgdata, "Synonyms:");
$end = strpos($pgdata, "Source:");
$size= $end-$start;
$synonym = strip_tags(substr($pgdata, $start, $size));
$synonym = ereg_replace ("Synonyms:", "", $synonym);
$words = explode(",",$synonym);
if (sizeof($words)>0) {
$synonym = $words[rand(0,sizeof($words)-1)];
} else {
$synonym = "";
}
if (strpos($synonym,"Antonyms:") > 0) {
$synonym = "";
}
return $synonym;
}

function GuardaBD($nueva,$pubdate,$dbh) {
$query = "INSERT INTO frase(frase,fecha) VALUES ('$nueva','$pubdate')";
$result = mysql_query($query,$dbh);
}

$si = rand(0,1);
if ($si == 1) {

$dbh=mysql_connect ("localhost", "xxxx", "xxxx");
mysql_select_db ("xxxx");

$fd = fopen("http://www.proverbia.net/qotd.asp","r"); //abrimos la pagina deseada
while(!feof($fd)) {
stream_set_timeout($fd, 20);
$pgdata .= fread($fd, 5000);
}
fclose($fd);

$item = strpos($pgdata,"<item>");
$inifecha = strpos($pgdata,"<pubDate>",$item)+9;
$finfecha = strpos($pgdata,"</pubDate>",$inifecha);
$lenfecha = $finfecha - $inifecha;
$pubdate = LimpiaFecha(substr($pgdata,$inifecha,$lenfecha));
$maxfecha = ObtenMaxFecha($dbh);
if ($pubdate != $maxfecha) {
$inifrase = strpos($pgdata,"<description>",$item)+13;
$finfrase = strpos($pgdata,"</description>",$inifrase);
$lenfrase = $finfrase - $inifrase;
$frase = trim(substr($pgdata,$inifrase,$lenfrase));

if ($frase != "") {
$veces = rand(0,2);
for($repite=0;$repite<=$veces;$repite++) {

$nueva = "";
$source = "http://ets.freetranslation.com/?srctext=".urlencode($frase)."&language=Spanish/English&sequence=core&format=html";
$pgdata = "";
$fd = fopen($source,"r");
while(!feof($fd)) {
stream_set_timeout($fd, 1);
$pgdata .= fread($fd, 5000);
}
fclose($fd);
$primerafase = $pgdata;
$words_eng = explode(" ",$primerafase);
for ($i=0; $i<sizeof($words_eng); $i++) {
$words_eng[$i] = stripslashes($words_eng[$i]);
if ((strlen($words_eng[$i]) > 2) && ($words_eng[$i] != "for") && ($words_eng[$i] != "the") && ($words_eng[$i] != "and") && ($words_eng[$i] != "but") && ($words_eng[$i] != "from") && ($words_eng[$i] != "with") && ($words_eng[$i] != "had") && ($words_eng[$i] != "was") && ($words_eng[$i] != "out") && ($words_eng[$i] != "not") && ($words_eng[$i] != "may") && ($words_eng[$i] != "has") && ($words_eng[$i] != "let") && ($words_eng[$i] != "yet") && ($words_eng[$i] != "more") && ($words_eng[$i] != "into") && ($words_eng[$i] != "over") && ($words_eng[$i] != "his") && ($words_eng[$i] != "her") && ($words_eng[$i] != "its" && (strtolower($words_eng[$i]) != "bush"))) {
$synonym = trim(getSynonym($words_eng[$i]));
if ($synonym != "") {
$words_eng[$i] = eregi_replace("&nbsp;","",$synonym);
}
}
}
$primerafase = implode(" ",$words_eng);
$source = "http://ets.freetranslation.com/?srctext=".urlencode($primerafase)."&language=English/Spanish&sequence=core&format=html";
$pgdata = "";
$fd = fopen($source,"r");
while(!feof($fd)) {
stream_set_timeout($fd, 1);
$pgdata .= fread($fd, 5000);
}
fclose($fd);
$nueva = $pgdata;
$frase = $nueva;
}
$nueva = urlencode(trim(ucfirst(strtolower($nueva))));
$nueva = str_replace("%26quot%3B","",$nueva);
$nueva = str_replace(".","",$nueva);
GuardaBD($nueva,$pubdate,$dbh);
}
}
}
?>

Barcelona, 2005

<<<