]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/Comentario.php
Bugfix del password cruzado.
[z.facultad/75.43/tp1.git] / src / lib / Comentario.php
1 <?php
2 // Grupo 10
3 //
4 // Lucarella, Schein, Arena
5 //
6 // Creado: Sebastian Arena
7
8 require_once 'Item.php';
9
10 class Comentario extends Item
11 {
12         var $id;
13     
14         /*Extra Data*/
15         var $autor_original;
16         var $autor_foto;
17         var $autor_apellido;
18     
19         var $comentarioCSVBaseConst = 'data/comentarios';
20         var $comentarioCSVConst = '';
21     /* 
22                 Formato en Disco:
23                         id | autor | comentario | fecha
24         */
25
26         function Comentario($param, $pInfo_ID, $loadFromRecord) {
27                 $this->comentarioCSVConst = $this->comentarioCSVBaseConst . "." . $pInfo_ID . ".csv";
28                 if (!$loadFromRecord) {
29             if ($param) {
30                                 $this->id = $param;
31                 $this->reload();
32                         }
33                 } else {
34                         $this->id                       = $param[0];
35                         $this->autor            = $param[1];
36             $this->texto                = $param[2];
37                         $this->fecha            = $param[3];
38                 }
39     }
40
41         function reload() {
42                 if (is_file($this->comentarioCSVConst)) {
43                         $record_info = fsearchcsv($this->comentarioCSVConst, $this->id);
44             if ($record_info) {
45                                 $this->id                       = $param[0];
46                                 $this->autor            = $param[1];
47                                 $this->texto            = $param[2];
48                                 $this->fecha            = $param[3];
49                         }
50                 }
51         }
52
53         function saveNew() {
54                 return fappendcsv($this->comentarioCSVConst, array( $this->id, $this->autor, $this->texto, $this->fecha ));
55         }
56
57         function saveExisting() {
58                 if (($f = fopen($this->comentarioCSVConst, 'r')) == false) return false; // error
59                 $index = 0;
60                 $indexSave = 0;
61         while (!feof($f))
62                 {
63                         $d = fgetcsv($f, 4096);
64                         $index++;
65                         if ($d[0] == $this->id)
66                         {
67                 fclose($f);
68                                 if (($f = fopen($this->comentarioCSVConst, 'r+')) == false) return false; // error
69                                 while ($indexSave!=($index-1)) { fgetcsv($f, 4096); $indexSave++; }
70                 fputcsv($f, array( $this->id, $this->autor, $this->texto, $this->fecha ));
71                                 fclose($f);
72                                 return true;
73                         }
74                 }
75                 fclose($f);
76                 return false;
77         }
78
79         function saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor ) {
80                 $this->id                       = $pId;
81                 $this->autor            = $pAutor;
82                 $this->texto            = preg_replace('[\n|\r\n]','<br/>',$pComentario);
83                 $this->fecha            = time();
84                 $this->comentarioCSVConst = $this->comentarioCSVBaseConst . "." . $pInfo_ID . ".csv";
85         }
86
87     function ingresar( $pId, $pInfo_ID, $pComentario, $pAutor ) {
88                 $this->saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor );
89                 $resultado = "";
90         if (!$this->saveNew()) {
91                         $resultado = "<strong>ERROR</strong> al agregar el comentario. Revise que los parametros sean los adecuados";
92                         file_log_add($pAutor,$resultado);
93         } else {
94                         file_log_add($pAutor,"Se agregó el comentario");
95                 }
96                 return $resultado;
97         }
98
99         function modificar( $pId, $pInfo_ID, $pComentario, $pAutor ) {
100                 $this->saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor );
101                 $resultado = "";
102         if (!$this->saveExisting()) {
103                         $resultado = "<strong>ERROR</strong> al modificar el comentario. Revise que los parametros sean los adecuados";
104                         file_log_add($pAutor,$resultado);
105         } else {
106                         file_log_add($pAutor,"Se modificó el comentario");
107                 }
108                 return $resultado;
109         }
110
111         function toHTML() {
112         ?><tr>
113                         <?php
114                                 if ($this->autor_original != $this->autor) {
115                         ?>
116                         <td><img src="<?php echo $this->autor_foto;?>" border="0" alt="icono usuario"/></td>
117                         <td><?php echo $this->autor_apellido;?></td><?php
118                                 } else {
119                         ?>
120                         <td colspan="2"><?php echo $this->autor_original;?> (autor original)</td><?php
121                                 }
122                         ?>
123             <td><?php echo $this->texto;?></td>
124                   </tr>
125                 <?php
126         }
127 }
128
129 ?>