<?php
// Created by Ardora www.webardora.net
//POLAROID-ardoraAjaxJson
//bajo licencia Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
//para otros usos contacte con el autor
session_cache_limiter("nocache,private");
$_SERVER["HTTP_REFERER"]="introDatos.php";session_start();$slogin_noauthpage = 0;$slogin_pagetitle = "";
define("xmlName","lineaTempo");include_once("para.php");include_once("cfg.php");include_once(profUname."../".uName."/".uName."_lib.php");
$thumb_directory = "../ardoraWorkFiles/".xmlName."/img/thumbs/";
$orig_directory = "../ardoraWorkFiles/".xmlName."/img/original/";
$datos_directory = "../ardoraWorkFiles/".xmlName."/";
$allowed_types=array("jpg","jpeg","gif","png");$file_parts=array();$ext="";$title="";$i=1;$contador=0;
$GLOBALS["normalizeChars"] = array(
"Š"=>"S", "š"=>"s", "Ð"=>"Dj","Ž"=>"Z", "ž"=>"z", "À"=>"A", "Á"=>"A", "Â"=>"A", "Ã"=>"A", "Ä"=>"A",
"Å"=>"A", "Æ"=>"A", "Ç"=>"Cz", "È"=>"E", "É"=>"E", "Ê"=>"E", "Ë"=>"E", "Ì"=>"I", "Í"=>"I", "Î"=>"I",
"Ï"=>"I", "Ñ"=>"Nz", "Ò"=>"O", "Ó"=>"O", "Ô"=>"O", "Õ"=>"O", "Ö"=>"O", "Ø"=>"O", "Ù"=>"U", "Ú"=>"U",
"Û"=>"U", "Ü"=>"U", "Ý"=>"Y", "Þ"=>"B", "ß"=>"Ss","à"=>"a", "á"=>"a", "â"=>"a", "ã"=>"a", "ä"=>"a",
"å"=>"a", "æ"=>"a", "ç"=>"cz", "è"=>"e", "é"=>"e", "ê"=>"e", "ë"=>"e", "ì"=>"i", "í"=>"i", "î"=>"i",
"ï"=>"i", "ð"=>"o", "ñ"=>"nz", "ò"=>"o", "ó"=>"o", "ô"=>"o", "õ"=>"o", "ö"=>"o", "ø"=>"o", "ù"=>"u",
"ú"=>"u", "û"=>"u", "ý"=>"y", "ý"=>"y", "þ"=>"b", "ÿ"=>"y", "ƒ"=>"f"
);
function normaliza($toClean) {
$toClean     =     str_replace("&", "-and-", $toClean);
$toClean     =    trim(preg_replace("/[^\w\d_ -]/si", "", $toClean));
$toClean     =     str_replace(" ", "-", $toClean);
$toClean     =     str_replace("--", "-", $toClean);
return strtr($toClean, $GLOBALS["normalizeChars"]);
}
$dir_handle = @opendir($datos_directory) or die("There is an error with your image directory!");
if($_POST["action"]=="all"){
while ($file = readdir($dir_handle)){
if (!is_dir($file)) {if($file=="." || $file == "..") continue;$file_parts = explode(".",$file);if (end($file_parts)=="txt"){
$title = implode(".",$file_parts);$title = htmlspecialchars($title);$nome_arquivo[$contador]["arquivo"] =$datos_directory.$title;$datos_arquivo = file($nome_arquivo[$contador]["arquivo"]);
$nome_arquivo[$contador]["autor"]=$datos_arquivo[0];$nome_arquivo[$contador]["palabra"]=$datos_arquivo[1];$nome_arquivo[$contador]["url"]=$datos_arquivo[2];$nome_arquivo[$contador]["arquiIma"]=$datos_arquivo[17];
$totalArray=count($datos_arquivo);for ( $i = 19 ; $i <= $totalArray ; $i ++) {$textoCom=$textoCom.$datos_arquivo[$i];}
$nome_arquivo[$contador]["describe"]=$textoCom;$nome_arquivo[$contador]["txt"]=$title;$contador++;$textoCom="";}}}
if ($contador>0){
foreach ($nome_arquivo as $llave => $fila){$autor_[$llave]=$fila["autor"];$palabra_[$llave]=normaliza($fila["palabra"]);
$url_[$llave]=$fila["url"];$arquiIma[$llave]=$fila["arquiIma"];$txt[$llave]=$fila["txt"];}
$palabra_maius = array_map("strtolower", $palabra_);array_multisort($palabra_maius,SORT_ASC,SORT_STRING,  $nome_arquivo);
unset($palabra_,$autor_,$comentario_,$data_,$palabra_maius);$contador=0;$dataNew = array();
$i=0;
foreach ($nome_arquivo as $llave=> $fila){$autor=$fila["autor"];$palabra=$fila["palabra"];$url=$fila["url"];
$arquiIma=$fila["arquiIma"];$describe=$fila["describe"];$txt=$fila["txt"]; $nome = explode(".", $txt); $pos= strripos($nome[0],"_")+1;$idP = substr($nome[0],$pos,4);
$dataS=array("i"=>$i++, "word"=>$palabra,"url"=>$url,"author"=>$autor,"srcIma"=>$arquiIma, "txt"=>$txt,"describe" => substr($describe,0,35),"idP"=>$idP);array_push($dataNew ,$dataS);}}else{$dataNew=array();}echo json_encode($dataNew);}
if($_POST["action"]=="deleteItem"){$indi=$_POST["item"];$indi=(int)$indi;$indi=$indi-1;$nomeArquivo=$_POST["author"]."_".$indi;$pathTXT="../ardoraWorkFiles/".xmlName."/";$pathImages="../ardoraWorkFiles/".xmlName."/img/original/";$pathThumb="../ardoraWorkFiles/".xmlName."/img/thumbs/";$datos_arquivo=file($pathTXT.$nomeArquivo.".txt");
$nomeThumb=trim($datos_arquivo[4]);$ima1=$pathImages.$nomeThumb;$ima2=$pathThumb.$nomeThumb;$txt1=$pathTXT.$nomeArquivo.".txt";$old = getcwd();chdir($pathImages);chown($nomeThumb,666);unlink($nomeThumb);chdir($old);chdir($pathThumb);chown($nomeThumb,666);unlink($nomeThumb);chdir($old);unlink($txt1);
$file = simplexml_load_file("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");foreach ($file->event as $event) {if ($event["id"]==$nomeArquivo){$dom=dom_import_simplexml($event);$dom->parentNode->removeChild($dom);}};$file->asXML("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");}
if ($_POST["action"]=="getDataUser") {$autor=trim($_POST["author"]);$type=dameValor($autor,"TIP");$userName=dameValor($autor,"NOM");$course=dameValor($autor,"CUR");$group=dameValor($autor,"GRU");echo json_encode(array("type"=>$type, "userName"=>$userName, "course"=>$course, "group"=>$group));}
if($_POST["action"]=="dele"){$indi=$_POST["indi"];$indi=(int)$indi;$indi=$indi-1;$nomeArquivo=$slogin_Username."_".$indi;$pathTXT="../ardoraWorkFiles/".xmlName."/";$datos_arquivo=file($pathTXT.$nomeArquivo.".txt");
$txt1=$pathTXT.$nomeArquivo.".txt";unlink($txt1);$file=simplexml_load_file("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");foreach ($file->event as $event) {if ($event["id"]==$nomeArquivo){$dom=dom_import_simplexml($event);$dom->parentNode->removeChild($dom);}};$file->asXML("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");}
if($_GET["action"]=="saveItem"){$indi=$_GET["indi"];$indi=(int)$indi;$path="../ardoraWorkFiles/".xmlName."/";if ($indi==0){$contador=0;while (file_exists($path.$slogin_Username."_".$contador.".txt")){$contador++;}}else{$contador=$indi-1;}
$anchoPeque=200;$titulo= trim($_POST['titulo']);$url1= trim($_POST['url1']);$anoI= trim($_POST['anoI']);$mesI= trim($_POST['mesI']);$diaI= trim($_POST['diaI']);$horaI= trim($_POST['horaI']);
$minutoI= trim($_POST['minutoI']);$segundoI= trim($_POST['segundoI']);$botonsCor= trim($_POST['bc']);$anoF= trim($_POST['anoF']);
$mesF= trim($_POST['mesF']);$diaF= trim($_POST['diaF']);$horaF= trim($_POST['horaF']);$minutoF= trim($_POST['minutoF']);$segundoF= trim($_POST['segundoF']);
$anchoMAX= trim($_POST['ancho']);$fecha=strftime( "%d/%m/%Y", time() );$comen= trim($_POST["comenta"]);$colorSelector= trim($_POST["cor"]);$ancho= trim($_POST["ancho"]);$nomeArquivo=$slogin_Username."_".$contador;
if ($indi>0){$arquivo=file($path.$nomeArquivo.".txt");$nomeImaxen=$arquivo[17];}else{$nomeImaxen="";}error_reporting(E_ALL);$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png","image/x-png");
$foto_nome = $_FILES["imaxen"]["name"];$foto_tipo = $_FILES["imaxen"]["type"];$foto_tmp = $_FILES["imaxen"]["tmp_name"];$foto_tam = $_FILES["imaxen"]["size"];
if ($foto_nome != "" AND $foto_tam != 0){if(!in_array($foto_tipo, $mimetypes)) die("Foto no válida");switch($foto_tipo) {
case $mimetypes[0]:
case $mimetypes[1]:$img=imagecreatefromjpeg($foto_tmp);break;
case $mimetypes[2]:$img=imagecreatefromgif($foto_tmp);break;
case $mimetypes[3]:
case $mimetypes[4]:$img = imagecreatefrompng($foto_tmp);break;}
$datos=getimagesize($foto_tmp);$altura=round($anchoMAX*$datos[1]/$datos[0]);$imaGrande = imagecreatetruecolor($anchoMAX,$altura);imagecopyresized($imaGrande, $img, 0, 0, 0, 0, $anchoMAX, $altura, $datos[0], $datos[1]);switch($foto_tipo) {
case $mimetypes[0]:
case $mimetypes[1]:imagejpeg($imaGrande,$path."img/original/".$nomeArquivo.".jpg");$nomeImaxen=$nomeArquivo.".jpg";break;
case $mimetypes[2]:imagegif($imaGrande,$path."img/original/".$nomeArquivo.".gif");$nomeImaxen=$nomeArquivo.".gif";break;
case $mimetypes[3]:imagepng($imaGrande,$path."img/original/".$nomeArquivo.".png");$nomeImaxen=$nomeArquivo.".png";break;}
$altura=round($anchoPeque*$datos[1]/$datos[0]);$imaPeque=imagecreatetruecolor($anchoPeque,$altura);imagecopyresized($imaPeque, $img, 0, 0, 0, 0, $anchoPeque, $altura, $datos[0], $datos[1]);
switch($foto_tipo) {case $mimetypes[0]:
case $mimetypes[1]:imagejpeg($imaPeque,$path."img/thumbs/".$nomeArquivo.".jpg");break;
case $mimetypes[2]:imagegif($imaPeque,$path."img/thumbs/".$nomeArquivo.".gif");break;
case $mimetypes[3]:imagepng($imaPeque,$path."img/thumbs/".$nomeArquivo.".png");break;}
@unlink($foto_tmp);@unlink($imaGrande);@unlink($imaPeque);}
$ar=fopen($path.$nomeArquivo.".txt","w") or die("non se pudo crear o arquivo");fputs($ar,$slogin_Username); fputs($ar,"\n");fputs($ar,trim($titulo)); fputs($ar,"\n");fputs($ar,trim($url1)); fputs($ar,"\n");fputs($ar,$anoI); fputs($ar,"\n");
fputs($ar,$mesI); fputs($ar,"\n");fputs($ar,$diaI); fputs($ar,"\n");fputs($ar,$horaI); fputs($ar,"\n");fputs($ar,$minutoI); fputs($ar,"\n");fputs($ar,$segundoI); fputs($ar,"\n");fputs($ar,$botonsCor); fputs($ar,"\n");fputs($ar,$anoF); fputs($ar,"\n");
fputs($ar,$mesF); fputs($ar,"\n");fputs($ar,$diaF); fputs($ar,"\n");fputs($ar,$horaF); fputs($ar,"\n");fputs($ar,$minutoF); fputs($ar,"\n");fputs($ar,$segundoF); fputs($ar,"\n");fputs($ar,$colorSelector); fputs($ar,"\n");fputs($ar,trim($nomeImaxen)); fputs($ar,"\n");fputs($ar,trim($ancho)); fputs($ar,"\n");fputs($ar,trim($comen)); fclose($ar);
$file=simplexml_load_file("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");foreach ($file->event as $event) {if ($event["id"]==$nomeArquivo){$dom=dom_import_simplexml($event);$dom->parentNode->removeChild($dom);$file->asXML("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");}}
$file = new SimpleXMLElement("../ardoraWorkFiles/".xmlName."/".xmlName.".xml", null, true);
$event = $file->addChild("event",trim($comen));if  ($mesI=="" and $diaI==""){$event->addAttribute("start",$anoI);if ($anoF!=""){if ($botonsCor=="none"){$event->addAttribute("durationEvent","true");}else{$event->addAttribute("durationEvent","false");};$event->addAttribute("end",$anoF);}}
else{if ($anoI==""){$anoI="0";};switch($mesI){
case "1":
case "01":$mesI="Jan";break;
case "2":
case "02":$mesI="Feb";break;
case "3":
case "03":$mesI="Mar";break;
case "4":
case "04":$mesI="Apr";break;
case "5":
case "05":$mesI="May";break;
case "6":
case "06":$mesI="Jun";break;
case "7":
case "07":$mesI="Jul";break;
case "8":
case "08":$mesI="Aug";break;
case "9":
case "09":$mesI="Sep";break;
case "10":$mesI="Oct";break;
case "11":$mesI="Nov";break;
case "12":$mesI="Dec";break;
default:$mesI="Jan";break;};if ($diaI=="" or $diaI>31){$diaI="01";}else{if (strlen($diaI)==1){$diaI="0".$diaI;}};if ($horaI=="" or $horaI>23){$event->addAttribute("start",$mesI." ".$diaI." ".$anoI." 00:00:00 GMT");}else{
if ($horaI<10){$horaI="0".$horaI;};if ($minutoI=="" or $minutoI>59){$minutoI="00";$segundoI="00";}else{if ($minutoI<10){$minutoI="0".$minutoI;};if ($segundoI=="" or $segundoI>59){$segundoI=="00";}else{if ($segundoI<10){$segundoI="0".$segundoI;}}};$event->addAttribute("start",$mesI." ".$diaI." ".$anoI." ".$horaI.":".$minutoI.":".$segundoI." GMT");}
if ($anoF!=""){if ($botonsCor=="none"){$event->addAttribute("durationEvent","true");}else{$event->addAttribute("durationEvent","false");};switch($mesF){
case "1":
case "01":$mesF="Jan";break;
case "2":
case "02":$mesF="Feb";break;
case "3":
case "03":$mesF="Mar";break;
case "4":
case "04":$mesF="Apr";break;
case "5":
case "05":$mesF="May";break;
case "6":
case "06":$mesF="Jun";break;
case "7":
case "07":$mesF="Jul";break;
case "8":
case "08":$mesF="Aug";break;
case "9":
case "09":$mesF="Sep";break;
case "10":$mesF="Oct";break;
case "11":$mesF="Nov";break;
case "12":$mesF="Dec";break;
default:$mesF="Jan";break;}
if ($diaF=="" or $diaF>31){$diaF="01";}else{if (strlen($diaF)==1){$diaF="0".$diaF;}};if ($horaF=="" or $horaF>23){$event->addAttribute("end",$mesF." ".$diaF." ".$anoF." 00:00:00 GMT");}
else{if ($horaF<10){$horaF="0".$horaF;};if ($minutoF=="" or $minutoF>59){$minutoF="00";$segundoF="00";}else{if ($minutoF<10){$minutoF="0".$minutoF;}if ($segundoF=="" or $segundoF>59){$segundoF=="00";}else{if ($segundoF<10){$segundoF="0".$segundoF;}}};$event->addAttribute("end",$mesF." ".$diaF." ".$anoF." ".$horaF.":".$minutoF.":".$segundoF." GMT");}}}
$event->addAttribute("id",$nomeArquivo);$event->addAttribute("autor",$slogin_Username);$event->addAttribute("title",$titulo);if ($botonsCor=="red") {$event->addAttribute("icon","images/red-circle.png");}if ($botonsCor=="green") {$event->addAttribute("icon","images/green-circle.png");}if ($botonsCor=="blue") {$event->addAttribute("icon","images/blue-circle.png");}
if ($nomeImaxen!=""){$event->addAttribute("image","img/original/".$nomeImaxen);}if ($url1!=""){$event->addAttribute("link",$url1);}if ($anoF!=""){$event->addAttribute("color",$colorSelector);}$file->asXML("../ardoraWorkFiles/".xmlName."/".xmlName.".xml");header ("Location: ../index.php");}
function dameTitulo($num, $slogin_Username){global $dameDescricion, $corlinea, $url,$textoCom, $gAnoI, $gMesI, $gDiaI, $gHoraI, $gMinutoI, $gSegundoI, $gAnoF, $gMesF, $gDiaF, $gHoraF, $gMinutoF, $gSegundoF, $corBoton, $nomeThumb, $ancho;$dameDescricion="";$url="";$textoCom="";
$gAnoI=""; $gMesI=""; $gDiaI=""; $gHoraI=""; $gMinutoI=""; $gSegundoI="";$gAnoF=""; $gMesF=""; $gDiaF=""; $gHoraF=""; $gMinutoF=""; $gSegundoF="";$corBoton="red";$corlinea="#ff2600";$nomeThumb="";$ancho=75;$num=(int)$num;if ($num==0){$resultado="";}else{
$path = "../ardoraWorkFiles/".xmlName."/";$dir2=opendir($path);while ($arquivo = readdir($dir2)){$extensiones = explode(".",$arquivo);$nome = $extensiones[0];if (strpos($nome,$slogin_Username)>-1){$indice=trim(substr($nome, strlen($slogin_Username)+1));
$indice=(int)$indice;if ($indice==$num-1){$datos_arquivo = file($path.$arquivo);$resultado=$datos_arquivo[1];$url=$datos_arquivo[2];$gAnoI=trim($datos_arquivo[3]);$gMesI=trim($datos_arquivo[4]);$gDiaI=trim($datos_arquivo[5]);$gHoraI=trim($datos_arquivo[6]);$gMinutoI=trim($datos_arquivo[7]);$gSegundoI=trim($datos_arquivo[8]);
$corBoton=trim($datos_arquivo[9]);$gAnoF=trim($datos_arquivo[10]);$gMesF=trim($datos_arquivo[11]);$gDiaF=trim($datos_arquivo[12]);$gHoraF=trim($datos_arquivo[13]);$gMinutoF=trim($datos_arquivo[14]);$gSegundoF=trim($datos_arquivo[15]);$corlinea=trim($datos_arquivo[16]);$nomeThumb=trim($datos_arquivo[17]);$ancho=trim($datos_arquivo[18]);$totalArray=count($datos_arquivo);
for ( $i=19 ; $i <= $totalArray ; $i ++) {$textoCom=$textoCom.$datos_arquivo[$i];}}}};closedir($dir2);};return($resultado);}
closedir($dir_handle);
?>
