+ var $id;
+
+ /*Extra Data*/
+ var $autor_original;
+ var $autor_foto;
+ var $autor_apellido;
+
+ var $comentarioCSVBaseConst = 'data/comentarios';
+ var $comentarioCSVConst = '';
+ /*
+ Formato en Disco:
+ id | autor | comentario | fecha
+ */
+
+ function Comentario($param, $pInfo_ID, $loadFromRecord) {
+ $this->comentarioCSVConst = $this->comentarioCSVBaseConst . "." . $pInfo_ID . ".csv";
+ if (!$loadFromRecord) {
+ if ($param) {
+ $this->id = $param;
+ $this->reload();
+ }
+ } else {
+ $this->id = $param[0];
+ $this->autor = $param[1];
+ $this->texto = $param[2];
+ $this->fecha = $param[3];
+ }
+ }
+
+ function reload() {
+ if (is_file($this->comentarioCSVConst)) {
+ $record_info = fsearchcsv($this->comentarioCSVConst, $this->id);
+ if ($record_info) {
+ $this->id = $param[0];
+ $this->autor = $param[1];
+ $this->texto = $param[2];
+ $this->fecha = $param[3];
+ }
+ }
+ }
+
+ function saveNew() {
+ return fappendcsv($this->comentarioCSVConst, array( $this->id, $this->autor, $this->texto, $this->fecha ));
+ }
+
+ function saveExisting() {
+ if (($f = fopen($this->comentarioCSVConst, '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->comentarioCSVConst, 'r+')) == false) return false; // error
+ while ($indexSave!=($index-1)) { fgetcsv($f, 4096); $indexSave++; }
+ fputcsv($f, array( $this->id, $this->autor, $this->texto, $this->fecha ));
+ fclose($f);
+ return true;
+ }
+ }
+ fclose($f);
+ return false;
+ }
+
+ function saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor ) {
+ $this->id = $pId;
+ $this->autor = $pAutor;
+ $this->texto = preg_replace('[\n|\r\n]','<br/>',$pComentario);
+ $this->fecha = time();
+ $this->comentarioCSVConst = $this->comentarioCSVBaseConst . "." . $pInfo_ID . ".csv";
+ }
+
+ function ingresar( $pId, $pInfo_ID, $pComentario, $pAutor ) {
+ $this->saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor );
+ $resultado = "";
+ if (!$this->saveNew()) {
+ $resultado = "<strong>ERROR</strong> al agregar el comentario. Revise que los parametros sean los adecuados";
+ file_log_add($pAutor,$resultado);
+ } else {
+ file_log_add($pAutor,"Se agregó el comentario");
+ }
+ return $resultado;
+ }
+
+ function modificar( $pId, $pInfo_ID, $pComentario, $pAutor ) {
+ $this->saveLoadThis( $pId, $pInfo_ID, $pComentario, $pAutor );
+ $resultado = "";
+ if (!$this->saveExisting()) {
+ $resultado = "<strong>ERROR</strong> al modificar el comentario. Revise que los parametros sean los adecuados";
+ file_log_add($pAutor,$resultado);
+ } else {
+ file_log_add($pAutor,"Se modificó el comentario");
+ }
+ return $resultado;
+ }
+
+ function toHTML() {
+ ?><tr>
+ <?php
+ if ($this->autor_original != $this->autor) {
+ ?>
+ <td><img src="<?php echo $this->autor_foto;?>" border="0" alt="icono usuario"/></td>
+ <td><?php echo $this->autor_apellido;?></td><?php
+ } else {
+ ?>
+ <td colspan="2"><?php echo $this->autor_original;?> (autor original)</td><?php
+ }
+ ?>
+ <td><?php echo $this->texto;?></td>
+ </tr>
+ <?php
+ }