<?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
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
+ $__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
- return true;\r
} else {\r
echo warn($resultado);\r
- return false;\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
\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
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
}\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
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
+ $__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
+ 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
+ $objInfo = new Info($pInfo_ID,0);\r
+\r
+ /*Datos del usuario original*/\r
+ $objComentario->autor_original = $objInfo->autor;\r
+\r
+ /*Datos del usuario del comentario*/\r
+ $objUsuario = new Usuario($objComentario->autor);\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
+ $__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
- return false;\r
}\r
+ return $__hidID;\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
+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
+/************** 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"> </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
- $arrInfos[2]->toHTML();\r
- $index--;\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
+ $query = str_replace('&', '&', $query);\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> ', $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
+ $q = $query ? "$query&lista_from=$from" : "lista_from=$from";\r
+ printf('<a href="%s?%s">%s</a> ', $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> ', $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