X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/6554fc774c6458cfb1fa451b260047dbcd7ec282..765b3c57f081d3863ff59951a67da5874554db42:/src/lib/Tema.php?ds=sidebyside diff --git a/src/lib/Tema.php b/src/lib/Tema.php index 0129489..72ea56d 100644 --- a/src/lib/Tema.php +++ b/src/lib/Tema.php @@ -7,8 +7,9 @@ // require_once 'Item.php'; -require_once 'lib/file.php'; +require_once 'file.php'; require_once 'Usuario.php'; +require_once 'file.log.php'; class Tema extends Item { @@ -52,21 +53,71 @@ class Tema extends Item } } - function ingresar( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ) { + function saveNew() { + return fappendcsv($this->temasCSVConst, array($this->id, $this->autor, $this->nombre, $this->icono, $this->texto, $this->fecha)); + } + + function saveExisting() { + if (($f = fopen($this->temasCSVConst, 'r')) == false) return false; // error + $index = 0; + $indexSave = 0; + while (!feof($f)) + { + $d = fgetcsv($f, 4096); + $index++; + if ($d[0] == $this->id) + { + fclose($f); + if (($f = fopen($this->temasCSVConst, 'r+')) == false) return false; // error + while ($indexSave!=($index-1)) { fgetcsv($f, 4096); $indexSave++; } + fputcsv($f, array($this->id, $this->autor, $this->nombre, $this->icono, $this->texto, $this->fecha)); + fclose($f); + return true; + } + } + fclose($f); + return false; + } + + function saveLoadThis( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ) { $this->id = $pId; $this->autor = $pAutor; $this->nombre = $pNombre; $this->icono = 'temas/' . $pId; - $this->texto = $pDescripcion; + $this->texto = preg_replace('[\n|\r\n]','
',$pDescripcion); $this->fecha = time(); + } + function ingresar( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ) { + $this->saveLoadThis( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ); $resultado = ""; - //Se obtiene el ID mas alto actual - if (!fappendcsv($this->temasCSVConst, array($this->id, $this->autor, $this->nombre, $this->icono, $this->texto, $this->fecha))) { + if (!$this->saveNew()) { $resultado = "ERROR al agregar el Tema '" . $pNombre . "'. Revise que los parametros sean los adecuados"; + file_log_add( $pAutor, $resultado); } else { if (!copy($pIcono, "temas/" . $pId)) { $resultado = "No se pudo copiar la foto."; + file_log_add( $pAutor, $resultado); + } else { + file_log_add( $pAutor, "Se modificó el el '" . $pNombre . "'"); + } + } + return $resultado; + } + + function modificar( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ) { + $this->saveLoadThis( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono ); + $resultado = ""; + //Se obtiene el ID mas alto actual + if (!$this->saveExisting()) { + $resultado = "ERROR al modificar el Tema '" . $pNombre . "'. Revise que los parametros sean los adecuados"; + file_log_add( $pAutor, $resultado); + } else { + if (!copy($pIcono, "temas/" . $pId)) { + $resultado = "No se pudo modificar la foto."; + file_log_add( $pAutor, $resultado); + } else { + file_log_add( $pAutor, "Se modificó el el '" . $pNombre . "'"); } } return $resultado;