X-Git-Url: https://git.llucax.com/z.facultad/75.43/tp1.git/blobdiff_plain/6554fc774c6458cfb1fa451b260047dbcd7ec282..08de4b17e5c06824b84120d67479eef7cfdaba21:/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;