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