]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
Update al modulo de info
authorSebastian Arena <seba.arena@gmail.com>
Sun, 8 May 2005 20:39:39 +0000 (20:39 +0000)
committerSebastian Arena <seba.arena@gmail.com>
Sun, 8 May 2005 20:39:39 +0000 (20:39 +0000)
13 files changed:
src/info.ingresarComentario.php [new file with mode: 0644]
src/info.ingresarInfo.php
src/info.ingresarTemas.php
src/info.listarComentarios.php [new file with mode: 0644]
src/info.listarInfo.php
src/info.listarTemas.php
src/info.mencionEspecial.php [new file with mode: 0644]
src/lib/Comentario.php
src/lib/Info.php
src/lib/Tema.php
src/lib/info.forms.php
src/lib/info.functions.php
src/lib/pagina.php

diff --git a/src/info.ingresarComentario.php b/src/info.ingresarComentario.php
new file mode 100644 (file)
index 0000000..6d0f472
--- /dev/null
@@ -0,0 +1,50 @@
+<?php\r
+// Grupo 10\r
+//\r
+// Lucarella, Schein, Arena\r
+//\r
+// Creado: Sebastian Arena\r
+//\r
+require_once 'lib/info.functions.php';\r
+require_once 'lib/info.forms.php';\r
+\r
+\r
+// Chequea que se este logueado\r
+pagina_check_login();\r
+\r
+if (isset($_GET["id"])) {\r
+       $id = $_GET["id"] * 1;\r
+} else {\r
+       if (!isset($_POST['hidSaving'])) {\r
+               Header("Location: admin.log.php");\r
+       }\r
+}\r
+\r
+marco_cabecera('Ingreso de Comentario');\r
+\r
+// Da de alta el comentario\r
+// Verifica que la persona no sea administrador del sistema\r
+if (!$_SESSION['user']->esAdmin()) {\r
+\r
+       //Para modificar los valores\r
+       if (isset($_POST['__hidID'])) {\r
+               $__hidID = $_POST['__hidID'] * 1;\r
+       } else {\r
+               $__hidID = -1;\r
+       }\r
+\r
+       //isset($_POST['hidInfoID']) && \r
+       if (isset($_POST['txtComentario'])) {\r
+        $__hidID = info_ingresar_comentario( $__hidID, $id, $_POST['txtComentario'], $_SESSION['user']->getId() );\r
+               info_form_ingresar_comentario( $__hidID, $id, $_POST['txtComentario'] );\r
+       } else {\r
+               info_form_ingresar_comentario( $__hidID, $id, "" ); \r
+       }\r
+} else {\r
+    echo warn("No esta habilitado para dar de alta comentarios, debe ser socio o asesor");\r
+}\r
+\r
+marco_pie('Sebastian Arena', 'seba@arenanet.com.ar', 'img/sarena.jpg');\r
+\r
+?>\r
+\r
index 09f3911fc4d9de10d025c255c1426b91962118ad..cd71ccd1ad156370a72d8d4e459a35e80746ff77 100644 (file)
@@ -12,20 +12,24 @@ require_once 'lib/info.forms.php';
 // Chequea que se este logueado\r
 pagina_check_login();\r
 \r
-marco_cabecera('Ingreso de Temas');\r
+marco_cabecera('Ingreso de Informacion');\r
 \r
-// Da de alta el tema\r
-// Verifica que la persona sea administrador del sistema\r
+// Da de alta la Informacion\r
+// Verifica que la persona no sea administrador del sistema\r
 if (!$_SESSION['user']->esAdmin()) {\r
 \r
+       //Para modificar los valores\r
+       if (isset($_POST['__hidID'])) {\r
+               $__hidID = $_POST['__hidID'] * 1;\r
+       } else {\r
+               $__hidID = -1;\r
+       }\r
+\r
        if (isset($_POST['txtTema']) && isset($_POST['txtURL']) && isset($_POST['txtComentario'])) {\r
-        if ( info_ingresar_info( $_POST['txtTema'], $_POST['txtURL'], $_SESSION['user']->getId(), $_POST['txtComentario'] ) ) {\r
-                       info_form_ingresar_info( "", "", "" ); \r
-               } else {\r
-                       info_form_ingresar_info( $_POST['txtTema'], $_POST['txtURL'], $_POST['txtComentario'] );\r
-               }\r
+        $__hidID = info_ingresar_info( $__hidID, $_POST['txtTema'], $_POST['txtURL'], $_SESSION['user']->getId(), $_POST['txtComentario'] );\r
+               info_form_ingresar_info( $__hidID, $_POST['txtTema'], $_POST['txtURL'], $_POST['txtComentario'] );\r
        } else {\r
-               info_form_ingresar_info( "", "", "" ); \r
+               info_form_ingresar_info( $__hidID, "", "", "" ); \r
        }\r
 } else {\r
     echo warn("No esta habilitado para dar de alta informacion, debe ser socio o asesor");\r
index 4b336a96ba347bcc2c377c74442635804beccd23..7e8a2772535dbb8e48103565d3dd9be0adcc5f88 100644 (file)
@@ -18,14 +18,18 @@ marco_cabecera('Ingreso de Temas');
 // Verifica que la persona sea administrador del sistema\r
 if ($_SESSION['user']->esAdmin()) {\r
 \r
+       //Para modificar los valores\r
+       if (isset($_POST['__hidID'])) {\r
+               $__hidID = $_POST['__hidID'] * 1;\r
+       } else {\r
+               $__hidID = -1;\r
+       }\r
+\r
        if (isset($_POST['txtNombre']) && isset($_FILES['txtIcono']) && isset($_POST['txtDescripcion'])) {\r
-        if ( info_ingresar_tema( $_POST['txtNombre'], $_SESSION['user']->getId(), $_POST['txtDescripcion'], $_FILES['txtIcono']['tmp_name'] ) ) {\r
-                       info_form_ingresar_tema( "", "", "" ); \r
-               } else {\r
-                       info_form_ingresar_tema( $_POST['txtNombre'], $_FILES['txtIcono'], $_POST['txtDescripcion'] );\r
-               }\r
+        $__hidID = info_ingresar_tema( $__hidID, $_POST['txtNombre'], $_SESSION['user']->getId(), $_POST['txtDescripcion'], $_FILES['txtIcono']['tmp_name'] );\r
+               info_form_ingresar_tema( $__hidID, $_POST['txtNombre'], $_FILES['txtIcono'], $_POST['txtDescripcion'] );\r
        } else {\r
-               info_form_ingresar_tema( "", "", "" ); \r
+               info_form_ingresar_tema( $__hidID, "", "", "" ); \r
        }\r
 } else {\r
        echo warn("No esta habilitado para dar de alta un tema, debe ser administrador del sistema");\r
diff --git a/src/info.listarComentarios.php b/src/info.listarComentarios.php
new file mode 100644 (file)
index 0000000..d5c829d
--- /dev/null
@@ -0,0 +1,41 @@
+<?php\r
+// Grupo 10\r
+//\r
+// Lucarella, Schein, Arena\r
+//\r
+// Creado: Sebastian Arena\r
+//\r
+\r
+require_once 'lib/info.forms.php';\r
+require_once 'lib/info.functions.php';\r
+require_once 'lib/Tema.php';\r
+require_once 'lib/Info.php';\r
+\r
+// Chequea que se este logueado\r
+pagina_check_login();\r
+\r
+if (isset($_GET["id"])) {\r
+       $id = $_GET["id"] * 1;\r
+} else {\r
+       Header("Location: admin.log.php");\r
+}\r
+\r
+$objInfo = new Info($id,0);\r
+$objTema = new Tema($objInfo->id,0);\r
+marco_cabecera('Listado de Comentarios para ' . $objInfo->url);\r
+?>\r
+       <table border="1" cellpadding="2" cellspacing="2" style="border-collapse: collapse">\r
+               <tr>\r
+                       <td colspan="3">Tema:&nbsp;<img src="<?php echo $objTema->icono;?>" border="0" alt="icono tema <?php echo $objTema->id;?>"/></td>\r
+               </tr>\r
+               <?php if (!$_SESSION['user']->esAdmin()) { ?>\r
+               <tr>\r
+                       <td colspan="3"><a href="info.ingresarComentario.php?id=<?echo $id;?>">Ingresar Comentario</a></td>\r
+               </tr>\r
+               <?php } ?>\r
+        <?php info_listar_comentarios('<tr><td colspan="2">Autor</td><td>Comentario</td></tr>',$objInfo->id); ?>\r
+       </table>\r
+<?php\r
+marco_pie('Sebastian Arena', 'seba@arenanet.com.ar', 'img/sarena.jpg');\r
+?>\r
+\r
index c791d0cfb7813e8286d2da0d77792d29a116be58..ffe41e3348bb32304a4953a0a8718b0a535f3c3c 100644 (file)
@@ -15,15 +15,18 @@ pagina_check_login();
 marco_cabecera('Listado de Informacion');\r
 \r
 $simpleSort = 1;\r
-if (isset($_GET["simpleSort"])) {\r
-       $simpleSort = $_GET["simpleSort"] * 1;\r
+$tema = -1;\r
+if (isset($_GET["txtTema"])) {\r
+       if ( $_GET["txtTema"] != '' ) {\r
+               $tema = $_GET["txtTema"] * 1;\r
+       }\r
 }\r
+\r
+$onchangeTema = "location.href = '" . $_SERVER['PHP_SELF'] . "?txtTema=' + this.value;";\r
 ?>\r
+       Ver Tema:&nbsp;<?info_form_printTemaCombo($tema,$onchangeTema)?><br/><br/>\r
        <table border="1" cellpadding="2" cellspacing="2" style="border-collapse: collapse">\r
-               <tr>\r
-                       <td colspan="5"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?simpleSort=1">Ordenar por Ranking</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="<?php echo $_SERVER['PHP_SELF']; ?>?simpleSort=0">Ordenar por Tema/Ranking</a></td>\r
-               </tr>\r
-        <?php info_listar_infos($simpleSort); ?>\r
+       <?php info_listar_infos('<tr><td>Tema</td><td>Autor</td><td>URL</td><td>Descripcion</td><td>Ranking</td><td>Comentarios</td></tr>',$simpleSort,$tema); ?>\r
        </table>\r
 <?php\r
 marco_pie('Sebastian Arena', 'seba@arenanet.com.ar', 'img/sarena.jpg');\r
index 4405d5bafc4cb9ad72d6590aa44d6392d9600aa7..323e5d5caa1bf84d447a371c03ca00f6205b5ce8 100644 (file)
@@ -15,16 +15,8 @@ pagina_check_login();
 marco_cabecera('Listado de Temas');\r
 ?>\r
        <table border="1" cellpadding="2" cellspacing="2" style="border-collapse: collapse">\r
-               <tr>\r
-                       <td>ID</td>\r
-                       <td>Icono</td>\r
-                       <td>Nombre</td>\r
-            <td>Descripcion</td>\r
-                       <td colspan="2">Autor</td>\r
-               </tr>\r
-               <?php info_listar_temas(); ?>\r
+        <?php info_listar_temas('<tr><td>ID</td><td>Icono</td><td>Nombre</td><td>Descripcion</td><td colspan="2">Autor</td></tr>'); ?>\r
        </table>\r
 <?php\r
 marco_pie('Sebastian Arena', 'seba@arenanet.com.ar', 'img/sarena.jpg');\r
 ?>\r
-\r
diff --git a/src/info.mencionEspecial.php b/src/info.mencionEspecial.php
new file mode 100644 (file)
index 0000000..1721d54
--- /dev/null
@@ -0,0 +1,66 @@
+<?php\r
+// Grupo 10\r
+//\r
+// Lucarella, Schein, Arena\r
+//\r
+// Creado: Sebastian Arena\r
+//\r
+require_once 'lib/info.functions.php';\r
+require_once 'lib/info.forms.php';\r
+require_once 'lib/Usuario.php';\r
+\r
+\r
+// Chequea que se este logueado\r
+pagina_check_login();\r
+\r
+marco_cabecera('Mencion Especial:');\r
+\r
+$arrInfos = info_obtener_infos(false,1,-1);\r
+$arrRankingAutor = array();\r
+foreach( $arrInfos as $objInfo ) {\r
+       if ($objInfo->ranking > 0) {\r
+               if (isset($arrRankingAutor[$objInfo->autor])) {\r
+                       $arrRankingAutor[$objInfo->autor] = intval($arrRankingAutor[$objInfo->autor]) + intval($objInfo->ranking);\r
+               } else {\r
+                       $arrRankingAutor[$objInfo->autor] = intval($objInfo->ranking);\r
+               }\r
+       } else {\r
+               break;\r
+       }\r
+}\r
+\r
+$max_ranking = 0;\r
+$max_autores = array();\r
+foreach( $arrRankingAutor as $autor => $ranking ) {\r
+       if ($ranking > $max_ranking) {\r
+               $max_ranking = $ranking;\r
+               $max_autores = array();\r
+        $max_autores[] = $autor;\r
+       } else {\r
+               if ($ranking = $max_ranking) {\r
+                       $max_autores[] = $autor;\r
+               }\r
+       }\r
+}\r
+?>\r
+<table border="0" cellpadding="2" cellspacing="2">\r
+       <tr>\r
+               <td>Usuario(s) que agregó información con mas ranking:</td>\r
+       </tr>\r
+       <tr>\r
+               <td>&nbsp;</td>\r
+       </tr>\r
+<?php\r
+        foreach($max_autores as $autor) {\r
+                $objUser = new Usuario($autor);\r
+                ?><tr>\r
+                        <td><img src="<?php echo $objUser->getFotoFilename();?>" border="0" alt="icono usuario <?php echo $objUser->getId();?>"/></td>\r
+                  </tr>\r
+               <?php\r
+        }\r
+?>\r
+</table>\r
+<?\r
+marco_pie('Sebastian Arena', 'seba@arenanet.com.ar', 'img/sarena.jpg');\r
+?>\r
+\r
index b91d4e51708beaf41b97f1487e0118fd3a3a1d66..9a412ef5548eb5035f3d8dbed724a4cbd396f945 100644 (file)
 <?php
-// vim: set binary noeol et sw=4 sts=4 :
 // Grupo 10
 //
 // Lucarella, Schein, Arena
 //
-// Creado: Leandro Lucarella (sáb abr 30 20:21:30 ART 2005)
-//
-// $Id$
+// Creado: Sebastian Arena
 
 require_once 'Item.php';
 
-/**
- * XXX detailed description
- *
- * @author    XXX
- * @copyright XXX
- */
 class Comentario extends Item
 {
-    // Attributes
-    // Associations
-    // Operations
+       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
+       }
 }
 
 ?>
\ No newline at end of file
index 4579ed52dcae1fa8b3da901310a97e59ec1ca95e..932d99fd06d7102cb98af10c80482082292f92c0 100644 (file)
@@ -1,15 +1,14 @@
 <?php\r
-// vim: set binary noeol et sw=4 sts=4 :\r
 // Grupo 10\r
 //\r
 // Lucarella, Schein, Arena\r
 //\r
-// Creado: Leandro Lucarella (sáb abr 30 20:21:30 ART 2005)\r
+// Creado: Sebastian Arena\r
 //\r
-// $Id: Link.php 9 2005-04-30 23:51:21Z llucare $\r
 \r
 require_once 'Item.php';\r
 require_once 'file.php';\r
+require_once 'file.log.php';\r
 \r
 class Info extends Item\r
 {\r
@@ -65,20 +64,64 @@ class Info extends Item
                }\r
        }\r
 \r
-    function ingresar( $pId, $pTema, $pURL, $pAutor, $pComentario ) {\r
+       function saveNew() {\r
+               return fappendcsv($this->infoCSVConst, array($this->id, $this->tema, $this->url, $this->autor, $this->comentario, $this->ranking, $this->fecha));\r
+       }\r
+\r
+       function saveExisting() {\r
+               if (($f = fopen($this->infoCSVConst, '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->infoCSVConst, 'r+')) == false) return false; // error\r
+                               while ($indexSave!=($index-1)) { fgetcsv($f, 4096); $indexSave++; }\r
+                fputcsv($f, array($this->id, $this->tema, $this->url, $this->autor, $this->comentario, $this->ranking, $this->fecha));\r
+                               fclose($f);\r
+                               return true;\r
+                       }\r
+               }\r
+               fclose($f);\r
+               return false;\r
+       }\r
+\r
+       function saveLoadThis( $pId, $pTema, $pURL, $pAutor, $pComentario ) {\r
                $this->id                       = $pId;\r
                $this->tema                     = $pTema;\r
                $this->url                      = $pURL;\r
                $this->autor            = $pAutor;\r
-               $this->comentario       = $pComentario;\r
+               $this->comentario       = preg_replace('[\n|\r\n]','<br/>',$pComentario);\r
                $this->ranking          = 0;\r
                $this->fecha            = time();\r
                $this->texto            = '';\r
+       }\r
 \r
+    function ingresar( $pId, $pTema, $pURL, $pAutor, $pComentario ) {\r
+        $this->saveLoadThis( $pId, $pTema, $pURL, $pAutor, $pComentario );\r
                $resultado = "";\r
-        if (!fappendcsv($this->infoCSVConst, array($this->id, $this->tema, $this->url, $this->autor, $this->comentario, $this->ranking, $this->fecha))) {\r
+        if (!$this->saveNew()) {\r
                        $resultado = "<strong>ERROR</strong> al agregar la informacion. Revise que los parametros sean los adecuados";\r
-        }\r
+                       file_log_add($pAutor,$resultado);\r
+        } else {\r
+                       file_log_add($pAutor,"Se agregó la información");\r
+               }\r
+               return $resultado;\r
+       }\r
+\r
+       function modificar( $pId, $pTema, $pURL, $pAutor, $pComentario ) {\r
+        $this->saveLoadThis( $pId, $pTema, $pURL, $pAutor, $pComentario );\r
+               $resultado = "";\r
+        if (!$this->saveExisting()) {\r
+                       $resultado = "<strong>ERROR</strong> al modificar la informacion. Revise que los parametros sean los adecuados";\r
+                       file_log_add($pAutor,$resultado);\r
+        } else {\r
+                       file_log_add($pAutor,"Se modificó la información");\r
+               }\r
                return $resultado;\r
        }\r
 \r
@@ -89,32 +132,15 @@ class Info extends Item
             <td><a href="<?php echo $this->url;?>" onclick="location.href='<?php echo $_SERVER['PHP_SELF'] ?>/../info.agregarRanking.php?id=<?php echo $this->id;?>';return false;"><?php echo $this->url;?></a></td>\r
                        <td><?php echo $this->comentario;?></td>\r
                        <td><?php echo $this->ranking;?></td>\r
+                       <td><a href="info.listarComentarios.php?id=<?php echo $this->id; ?>">Ver Comentarios</a></td>\r
                  </tr>\r
                <?php\r
        }\r
 \r
        function incrementarRanking() {\r
+               file_log_add($_SESSION['user']->getId(),"Se visitó " . $this->url);\r
                $this->ranking = $this->ranking + 1;\r
-               if (($f = fopen($this->infoCSVConst, '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
-                               $d[5] = $this->ranking;\r
-                               fclose($f);\r
-                               if (($f = fopen($this->infoCSVConst, 'r+')) == false) return false; // error\r
-                               while ($indexSave!=($index-1)) { fgetcsv($f, 4096); $indexSave++; }\r
-                fputcsv($f, $d);\r
-                               fclose($f);\r
-                               return true;\r
-                       }\r
-               }\r
-               fclose($f);\r
-               return false;\r
+        return $this->saveExisting();\r
        }\r
 }\r
 ?>\r
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
index 8af0c93e6fda0bf8629579bc01851bcf8c45c635..ba3d940e147e5def90c0c2e03c21175800afe624 100644 (file)
@@ -8,18 +8,25 @@
 require_once 'lib/info.functions.php';\r
 require_once 'Tema.php';\r
 \r
-function info_form_ingresar_tema( $nombre, $icono, $descripcion ) {\r
+function info_form_ingresar_tema( $__hidID, $nombre, $icono, $descripcion ) {\r
 ?>\r
        <form name="info_ingresar_tema" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" onSubmit="return info_validar_ingresar_tema(this);" enctype="multipart/form-data">\r
+                       <input type="hidden" name="__hidID" value="<? echo $__hidID; ?>">\r
             <script type="text/javascript" language="JavaScript">\r
                 <!--\r
                 function info_validar_ingresar_tema(f)\r
                 {\r
-                    if (!check_vacio(f.txtNombre, 'Nombre')) return false;\r
-                                       if (!check_vacio(f.txtIcono, 'Icono')) return false;\r
-                                       if (!check_vacio(f.txtDescripcion, 'Descripcion')) return false;\r
+                    if ( (!check_vacio(f.txtNombre, 'Nombre')) || (!check_min_max_cant(f.txtURL, 'URL', 5, 20)) ) return false;\r
+                                       if ( (!check_vacio(f.txtIcono, 'Icono')) ) return false;\r
+                                       if ( (!check_vacio(f.txtDescripcion, 'Descripcion')) || (!check_min_max_cant(f.txtURL, 'URL', 5, 200)) ) return false;\r
                     return true;\r
                 }\r
+\r
+                               function info_blankActual(f) {\r
+                                       if (confirm("Seguro desea perder la posibilidad de modificar?")) {\r
+                                               location.href = "<?php echo $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; ?>";\r
+                                       }\r
+                               }\r
                 -->\r
             </script>\r
                        <table>\r
@@ -36,43 +43,61 @@ function info_form_ingresar_tema( $nombre, $icono, $descripcion ) {
                                        <td><textarea name="txtDescripcion" rows="3" cols="50"><?php echo $descripcion ?></textarea></td>\r
                                </tr>\r
                                <tr>\r
-                    <td colspan="2"><input type="submit" name="btnSubmit" value="Guardar"/></td>\r
+                     <? if ( $__hidID == -1 ) { ?>\r
+                                               <td colspan="2"><input type="submit" name="btnSubmit" value="Guardar Tema"/></td>\r
+                                       <? } else { ?>\r
+                                               <td colspan="2">\r
+                                                       <input type="submit" name="btnSubmit" value="Modificar Tema"/>&nbsp;\r
+                                                       <input type="button" name="btnNew" value="Nuevo Tema" onclick="info_blankActual(this.form);"/>&nbsp;\r
+                                               </td>\r
+                                       <? } ?>\r
                                </tr>\r
                        </table>\r
        </form>\r
 <?php\r
 }\r
 \r
+function info_form_printTemaCombo( $tema , $onchangeTema) {\r
+\r
+       ?>\r
+       <select name="txtTema"<? if ($onchangeTema != '') { echo ' onchange="' . $onchangeTema . '"'; } ?>\r
+               <option value="">Seleccione un Tema...</option>\r
+       <?php\r
+               $arrTemas = info_obtener_temas();\r
+               foreach( $arrTemas as $objTema ) {\r
+               ?><option value="<?php echo $objTema->id; ?>"<?php if ($tema == $objTema->id) { echo " selected"; } ?>><? echo $objTema->nombre; ?></option><?php\r
+               }\r
+       ?>\r
+       </select>\r
+       <?php\r
+}\r
 \r
 \r
-function info_form_ingresar_info( $tema, $url, $comentario ) {\r
+function info_form_ingresar_info( $__hidID, $tema, $url, $comentario ) {\r
 ?>\r
        <form name="info_ingresar_info" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" onSubmit="return info_validar_ingresar_info(this);">\r
+                       <input type="hidden" name="__hidID" value="<? echo $__hidID; ?>">\r
             <script type="text/javascript" language="JavaScript">\r
                 <!--\r
                 function info_validar_ingresar_info(f)\r
                 {\r
-                                       if (!check_vacio(f.txtTema, 'Tema')) return false;\r
-                    if (!check_vacio(f.txtURL, 'URL')) return false;\r
-                    if (!check_vacio(f.txtComentario, 'Comentario')) return false;\r
+                                       if ( (!check_vacio(f.txtTema, 'Tema')) ) return false;\r
+                    if ( (!check_vacio(f.txtURL, 'URL')) || (!check_min_max_cant(f.txtURL, 'URL', 5, 200)) ) return false;\r
+                    if ( (!check_vacio(f.txtComentario, 'Comentario')) || (!check_min_max_cant(f.txtComentario, 'Comentario', 10, 500)) ) return false;\r
                     return true;\r
                 }\r
+\r
+                               function info_blankActual(f) {\r
+                                       if (confirm("Seguro desea perder la posibilidad de modificar?")) {\r
+                                               location.href = "<?php echo $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; ?>";\r
+                                       }\r
+                               }\r
                 -->\r
             </script>\r
                        <table>\r
                                <tr>\r
                                        <td>Tema:</td>\r
-                                       <td>\r
-                                               <select name="txtTema">\r
-                                                       <option value="">Seleccione un Tema...</option>\r
-                                               <?php\r
-                                                       $arrTemas = info_obtener_temas();\r
-                                                       foreach( $arrTemas as $objTema ) {\r
-                                                       ?><option value="<?php echo $objTema->id; ?>"<?php if ($tema == $objTema->id) { echo " selected"; } ?>><? echo $objTema->nombre; ?></option><?php\r
-                                                       }\r
-                                               ?>\r
-                                               </select>\r
-                                       </td>\r
+                                       <td><?info_form_printTemaCombo($tema,'');?></td>\r
                                </tr>\r
                                <tr>\r
                                        <td>URL:</td>\r
@@ -83,7 +108,57 @@ function info_form_ingresar_info( $tema, $url, $comentario ) {
                                        <td><textarea name="txtComentario" rows="3" cols="50"><?php echo $comentario ?></textarea></td>\r
                                </tr>\r
                                <tr>\r
-                    <td colspan="2"><input type="submit" name="btnSubmit" value="Guardar"/></td>\r
+                    <? if ( $__hidID == -1 ) { ?>\r
+                                               <td colspan="2"><input type="submit" name="btnSubmit" value="Guardar Información"/></td>\r
+                                       <? } else { ?>\r
+                                               <td colspan="2">\r
+                                                       <input type="submit" name="btnSubmit" value="Modificar Información"/>&nbsp;\r
+                                                       <input type="button" name="btnNew" value="Nueva Información" onclick="info_blankActual(this.form);"/>&nbsp;\r
+                                               </td>\r
+                                       <? } ?>\r
+                               </tr>\r
+                       </table>\r
+       </form>\r
+<?php\r
+}\r
+\r
+\r
+\r
+\r
+function info_form_ingresar_comentario( $__hidID, $info_id, $comentario ) {\r
+?>\r
+       <form name="info_ingresar_comentario" action="<?php echo $_SERVER['PHP_SELF'] ?>?id=<?echo $info_id;?>" method="post" onSubmit="return info_validar_ingresar_comentario(this);">\r
+            <input type="hidden" name="hidSaving" value="1">\r
+                       <input type="hidden" name="__hidID" value="<? echo $__hidID; ?>">\r
+            <script type="text/javascript" language="JavaScript">\r
+                <!--\r
+                function info_validar_ingresar_comentario(f)\r
+                {\r
+                                       if ( (!check_vacio(f.txtComentario, 'Comentario') || (!check_min_max_cant(f.txtComentario, 'Comentario', 10, 500)) ) ) return false;\r
+                    return true;\r
+                }\r
+\r
+                               function info_blankActual(f) {\r
+                                       if (confirm("Seguro desea perder la posibilidad de modificar?")) {\r
+                                               location.href = "<?php echo $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; ?>";\r
+                                       }\r
+                               }\r
+                -->\r
+            </script>\r
+                       <table>\r
+                               <tr>\r
+                                       <td>Comentario:</td>\r
+                                       <td><textarea name="txtComentario" rows="3" cols="50"><?php echo $comentario ?></textarea></td>\r
+                               </tr>\r
+                               <tr>\r
+                                       <? if ( $__hidID == -1 ) { ?>\r
+                                               <td colspan="2"><input type="submit" name="btnSubmit" value="Guardar Comentario"/></td>\r
+                                       <? } else { ?>\r
+                                               <td colspan="2">\r
+                                                       <input type="submit" name="btnSubmit" value="Modificar Comentario"/>&nbsp;\r
+                                                       <input type="button" name="btnNew" value="Nuevo Comentario" onclick="info_blankActual(this.form);"/>&nbsp;\r
+                                               </td>\r
+                                       <? } ?>\r
                                </tr>\r
                        </table>\r
        </form>\r
index fa9aaba4734f7c1fdaf2d4d1cf4ed2464741d4e0..26db653530ef5d8f0219712e34c51a005c8a8fa5 100644 (file)
@@ -1,8 +1,10 @@
 <?php\r
 require_once 'pagina.php';\r
 require_once 'file.php';\r
+require_once 'file.log.php';\r
 require_once 'Tema.php';\r
 require_once 'Info.php';\r
+require_once 'Comentario.php';\r
 require_once 'Usuario.php';\r
 \r
 /************** Funciones para Temas ***************/\r
@@ -34,25 +36,32 @@ function info_obtener_mayor_id() {
        return $maxId;\r
 }\r
 \r
-function info_ingresar_tema( $pNombre, $pAutor, $pDescripcion, $pIcono ) {\r
+function info_ingresar_tema( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono ) {\r
        $objTema = new Tema(0,0);\r
-       $pId = info_obtener_mayor_id() + 1;\r
-\r
-    $resultado = $objTema->ingresar( $pId, $pNombre, $pAutor, $pDescripcion, $pIcono );\r
-    if ( $resultado == "" ) {\r
-               echo ok("Se agregó el Tema '" . $pNombre . "'");\r
-               return true;\r
+    if ($__hidID == -1 ) {\r
+               $__hidID = info_obtener_mayor_id() + 1;\r
+               $resultado = $objTema->ingresar( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se agregó el Tema '" . $pNombre . "'");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
        } else {\r
-               echo warn($resultado);\r
-               return false;\r
+               $resultado = $objTema->modificar( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se modificó el Tema '" . $pNombre . "'");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
        }\r
+\r
+       return $__hidID;\r
 }\r
 \r
-function info_listar_temas () {\r
+function info_listar_temas ($header) {\r
+       file_log_add($_SESSION['user']->getId(),"Se listaron los temas");\r
        $arrTemas = info_obtener_temas();\r
-       foreach ( $arrTemas as $objTema) {\r
-               $objTema->toHTML();\r
-       }\r
+       info_listador($header,$arrTemas,'Temas',6);\r
 }\r
 /************** Fin Funciones para Temas ***************/\r
 \r
@@ -60,7 +69,7 @@ function info_listar_temas () {
 \r
 \r
 /************** Funciones para Infos ***************/\r
-function info_obtener_infos($loadPrintData,$simpleSort) {\r
+function info_obtener_infos($loadPrintData,$simpleSort,$tema) {\r
     $arr = array();\r
        $infosCSVConst = 'data/infos.csv';\r
 \r
@@ -81,10 +90,8 @@ function info_obtener_infos($loadPrintData,$simpleSort) {
                                if ($simpleSort == -1 ) {\r
                                        $arr[] = $objInfo;\r
                                } else {\r
-                                       if ($simpleSort == 1) {\r
+                    if (($tema == -1) || ($tema == $objInfo->tema)) {\r
                                                $arr[] = array($objInfo->ranking,$objInfo);\r
-                                       } else {\r
-                                               $arr[] = array($objInfo->tema * 1, $objInfo->ranking * -1,$objInfo);\r
                                        }\r
                                }\r
                                \r
@@ -93,12 +100,18 @@ function info_obtener_infos($loadPrintData,$simpleSort) {
        }\r
        if ($simpleSort != -1) {\r
         rsort($arr);\r
+               $sortedarr = array();\r
+               foreach($arr as $objArr) {\r
+                       $sortedarr[] = $objArr[1];\r
+               }\r
+               return $sortedarr;\r
+       } else {\r
+               return $arr;\r
        }\r
-       return $arr;\r
 }\r
 \r
 function info_obtener_mayor_id_info() {\r
-       $arrInfos = info_obtener_infos(false, -1);\r
+       $arrInfos = info_obtener_infos(false, -1, -1);\r
        $cantidad_infos = count($arrInfos);\r
 \r
        $maxId = 0;\r
@@ -109,48 +122,191 @@ function info_obtener_mayor_id_info() {
        return $maxId;\r
 }\r
 \r
-function info_ingresar_info( $pTema, $pURL, $pAutor, $pComentario ) {\r
+function info_ingresar_info( $__hidID, $pTema, $pURL, $pAutor, $pComentario ) {\r
        $objInfo = new Info(0,0);\r
-    $pId = info_obtener_mayor_id_info() + 1;\r
+       if ($__hidID == -1 ) {\r
+               $__hidID = info_obtener_mayor_id_info() + 1;\r
+               $resultado = $objInfo->ingresar( $__hidID, $pTema, $pURL, $pAutor, $pComentario );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se agregó la información.");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
+       } else {\r
+               $resultado = $objInfo->modificar( $__hidID, $pTema, $pURL, $pAutor, $pComentario );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se modificó la información.");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
+       }\r
+       return $__hidID;\r
+}\r
+\r
+function info_listar_infos ($header, $simpleSort = 1, $tema = -1) {\r
+       file_log_add($_SESSION['user']->getId(),"Se listaron las informaciones");\r
+    $arrInfos = info_obtener_infos(true,$simpleSort,$tema);\r
+       info_listador($header,$arrInfos,'Informaciones',6);\r
+}\r
+/************** Fin Funciones para Infos ***************/\r
+\r
+\r
+\r
+\r
+/************** Funciones para Comentarios ***************/\r
+\r
+function info_obtener_comentarios($pInfo_ID) {\r
+    $arr = array();\r
+       $comentariosCSVConst = 'data/comentarios.' . $pInfo_ID . '.csv';\r
+\r
+       if (is_file($comentariosCSVConst)) {\r
+               $arrFile = fgetallcsv($comentariosCSVConst);\r
+        if ($arrFile) {\r
+            foreach ( $arrFile as $record_comentario) {\r
+                               $objComentario = new Comentario($record_comentario,$pInfo_ID,1);\r
+\r
+                               $objInfo = new Info($pInfo_ID,0);\r
+                               $objUsuario = new Usuario($objInfo->autor);\r
+                /* Cargo la foto del usuario */\r
+                               $objComentario->autor_original = $objUsuario->getId();\r
+                               $objComentario->autor_foto = $objUsuario->getFotoFilename();\r
+                               $objComentario->autor_apellido = $objUsuario->getApellido();\r
+\r
+                               $arr[] = $objComentario;\r
+                       }\r
+               }\r
+       }\r
+       return $arr;\r
+}\r
 \r
-       $resultado = $objInfo->ingresar( $pId, $pTema, $pURL, $pAutor, $pComentario );\r
-    if ( $resultado == "" ) {\r
-               echo ok("Se agregó la informacion.");\r
-               return true;\r
+function info_obtener_mayor_id_comentario($pInfo_ID) {\r
+       $arrComentarios = info_obtener_comentarios($pInfo_ID);\r
+       $cantidad_comentarios = count($arrComentarios);\r
+\r
+       $maxId = 0;\r
+       if ($cantidad_comentarios != 0) {\r
+               $objComentario  = $arrComentarios[$cantidad_comentarios - 1];\r
+               $maxId                  = $objComentario->id;\r
+       }\r
+       return $maxId;\r
+}\r
+\r
+\r
+function info_ingresar_comentario( $__hidID, $pInfo_ID, $pComentario, $pAutor ) {\r
+       $objInfo = new Comentario(0,0,0);\r
+\r
+       if ($__hidID == -1 ) {\r
+               $__hidID = info_obtener_mayor_id_comentario($pInfo_ID) + 1;\r
+               $resultado = $objInfo->ingresar( $__hidID, $pInfo_ID, $pComentario, $pAutor );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se agregó el comentario.");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
        } else {\r
-               echo warn($resultado);\r
-               return false;\r
+               $resultado = $objInfo->modificar( $__hidID, $pInfo_ID, $pComentario, $pAutor );\r
+               if ( $resultado == "" ) {\r
+                       echo ok("Se modificó el comentario.");\r
+               } else {\r
+                       echo warn($resultado);\r
+               }\r
        }\r
+       return $__hidID;\r
+}\r
+\r
+function info_listar_comentarios( $header, $pInfo_ID ) {\r
+       file_log_add($_SESSION['user']->getId(),"Se listaron los comentarios (informacion id = " . $pInfo_ID . ")");\r
+       $arrComentarios = info_obtener_comentarios($pInfo_ID);\r
+       info_listador($header, $arrComentarios,'Comentarios',3);\r
 }\r
 \r
-function info_listar_infos ($simpleSort = 1) {\r
-       if ($simpleSort) {\r
-               $arrInfos = info_obtener_infos(true,$simpleSort);\r
-               echo '<tr><td>Tema</td><td>Autor</td><td>URL</td><td>Descripcion</td><td>Ranking</td></tr>';\r
-               foreach ( $arrInfos as $objInfo ) {\r
-                       $objInfo[1]->toHTML();\r
+/************** Fin Funciones para Comentarios ***************/\r
+\r
+\r
+\r
+/************** Funciones para Info Generales ***************/\r
+\r
+function info_listador($header, $ObjetosAListar, $dataName = 'Items', $colspan = 0, $link = '', $cant = 5)\r
+{\r
+       if ($link == '') {\r
+               $link = $_SERVER['PHP_SELF'];\r
+       }\r
+       // Calculo posiciones\r
+    $total = count($ObjetosAListar);\r
+    if (!$total)\r
+    {\r
+        echo '<tr><td';\r
+               if ($colspan) {\r
+                       echo ' colspan="' . $colspan . '"';\r
                }\r
+               echo '>';\r
+               echo error('No se encontraron ' . $dataName);\r
+               echo '</td></tr>';\r
+        return;\r
+    }\r
+\r
+       if (isset($_GET["lista_from"])) {\r
+               $orig_from = intval($_GET["lista_from"]);\r
        } else {\r
-        $mtxInfos = info_obtener_infos(true,$simpleSort);\r
-               $oldTema = 0;\r
-               $newTema = 0;\r
-               $max = count($mtxInfos);\r
-               $index = $max - 1;\r
-        while ($index >= 0) {\r
-                       $arrInfos = $mtxInfos[$index];\r
-            $objTema = new Tema($arrInfos[0],0);\r
-                       $newTema = $objTema->id;\r
-                       if ($oldTema != $newTema ) {\r
-                               if ($oldTema) {\r
-                                       echo '<tr><td colspan="5">&nbsp;</td></tr>';\r
-                               }\r
-                               $oldTema = $newTema;\r
-                               echo '<tr><td colspan="5">"' . $objTema->nombre . '"</td></tr>';\r
-                               echo '<tr><td>Tema</td><td>Autor</td><td>URL</td><td>Descripcion</td><td>Ranking</td></tr>';\r
+               $orig_from = 0;\r
+       }\r
+    $pags = ceil($total / $cant);\r
+    if ($pags != 1) { // Si tengo una sóla página\r
+               // Arrastro query string, si corresponde\r
+               if ( isset($_SERVER['QUERY_STRING'] ) )\r
+                       {\r
+                        $query = $_SERVER['QUERY_STRING'];\r
+                       }\r
+                       else\r
+                       {\r
+                        $query = '';\r
+                       }\r
+               if (($pos = strpos($query, 'lista_from=')) !== false)\r
+               {\r
+                       if ($pos) $query = substr($query, 0, --$pos);\r
+                       else      $query = '';\r
+               }\r
+               echo '<tr><td';\r
+               if ($colspan) {\r
+                       echo ' colspan="' . $colspan . '"';\r
+               }\r
+               echo '>';\r
+       \r
+               if (($orig_from - $cant) >= 0) {\r
+                       $from = $orig_from - $cant;\r
+                       $q = $query ? "$query&lista_from=$from" : "lista_from=$from";\r
+                       printf('<a href="%s?%s"><</a>&nbsp;', $link, $q);\r
+               }\r
+               for ($i = 0; $i < $pags; ++$i)\r
+               {\r
+                       $from = $i * $cant;\r
+                       if ($from == $orig_from) {\r
+                               $data = '<strong>' . ($i + 1) . '</strong>';\r
+                       } else {\r
+                               $data = $i + 1;\r
                        }\r
-            $arrInfos[2]->toHTML();\r
-                       $index--;\r
+                       $q = $query ? "$query&lista_from=$from" : "lista_from=$from";\r
+                       printf('<a href="%s?%s">%s</a>&nbsp;', $link, $q, $data);\r
+               }\r
+               if ( ($orig_from + $cant) <= $total ) {\r
+                       $from = $orig_from + $cant;\r
+                       $q = $query ? "$query&lista_from=$from" : "lista_from=$from";\r
+                       printf('<a href="%s?%s">></a>&nbsp;', $link, $q);\r
                }\r
+               echo '</td></tr>';\r
        }\r
+\r
+       //Listo los resultados\r
+       $from = $orig_from;\r
+    $c = min($total - $from, $cant);\r
+\r
+       echo $header;\r
+       while ( $c-- )\r
+    {\r
+        $obj = $ObjetosAListar[$from++];\r
+               $obj->toHTML();\r
+    }\r
 }\r
+\r
+/************** Fin Funciones para Info Generales ***************/\r
 ?>\r
index dcd934ac64accab7bb2278053123d5eda06fe37b..c0e23ab63fb14628d74473245c178dbaef5b1929 100644 (file)
@@ -96,6 +96,7 @@ function menu_cabecera($titulo = '')
                                                <?php } ?>
                                                <li><a href="info.listarTemas.php">Listar Temas</a></li>
                                                <li><a href="info.listarInfo.php">Listar Informacion</a></li>
+                                               <li><a href="info.mencionEspecial.php">Mención Especial</a></li>
                     </ul>
                 </li>
                 <?php if ($_SESSION['user']->esAdmin()) { ?>