id; } return $maxId; } function info_ingresar_tema( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono ) { $objTema = new Tema(0,0); if ($__hidID == -1 ) { $__hidID = info_obtener_mayor_id() + 1; $resultado = $objTema->ingresar( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono ); if ( $resultado == "" ) { echo ok("Se agregó el Tema '" . $pNombre . "'"); } else { echo warn($resultado); } } else { $resultado = $objTema->modificar( $__hidID, $pNombre, $pAutor, $pDescripcion, $pIcono ); if ( $resultado == "" ) { echo ok("Se modificó el Tema '" . $pNombre . "'"); } else { echo warn($resultado); } } return $__hidID; } function info_listar_temas ($header) { file_log_add($_SESSION['user']->getId(),"Se listaron los temas"); $arrTemas = info_obtener_temas(); info_listador($header,$arrTemas,'Temas',6); } /************** Fin Funciones para Temas ***************/ /************** Funciones para Infos ***************/ function info_obtener_infos($loadPrintData,$simpleSort,$tema) { $arr = array(); $infosCSVConst = 'data/infos.csv'; if (is_file($infosCSVConst)) { $arrFile = fgetallcsv($infosCSVConst); if ($arrFile) { foreach ( $arrFile as $record_info) { $objInfo = new Info($record_info,1); if ($loadPrintData) { $objUsuario = new Usuario($objInfo->autor); $objTema = new Tema($objInfo->tema,0); /* Cargo la foto del usuario */ $objInfo->autor_foto = $objUsuario->getFotoFilename(); $objInfo->autor_apellido = $objUsuario->getApellido(); /* Cargo el icono del Tema */ $objInfo->tema_icono = $objTema->icono; } if ($simpleSort == -1 ) { $arr[] = $objInfo; } else { if (($tema == -1) || ($tema == $objInfo->tema)) { $arr[] = array($objInfo->ranking,$objInfo); } } } } } if ($simpleSort != -1) { rsort($arr); $sortedarr = array(); foreach($arr as $objArr) { $sortedarr[] = $objArr[1]; } return $sortedarr; } else { return $arr; } } function info_obtener_mayor_id_info() { $arrInfos = info_obtener_infos(false, -1, -1); $cantidad_infos = count($arrInfos); $maxId = 0; if ($cantidad_infos != 0) { $objInfo = $arrInfos[$cantidad_infos - 1]; $maxId = $objInfo->id; } return $maxId; } function info_ingresar_info( $__hidID, $pTema, $pURL, $pAutor, $pComentario ) { $objInfo = new Info(0,0); if ($__hidID == -1 ) { $__hidID = info_obtener_mayor_id_info() + 1; $resultado = $objInfo->ingresar( $__hidID, $pTema, $pURL, $pAutor, $pComentario ); if ( $resultado == "" ) { echo ok("Se agregó la información."); } else { echo warn($resultado); } } else { $resultado = $objInfo->modificar( $__hidID, $pTema, $pURL, $pAutor, $pComentario ); if ( $resultado == "" ) { echo ok("Se modificó la información."); } else { echo warn($resultado); } } return $__hidID; } function info_listar_infos ($header, $simpleSort = 1, $tema = -1) { file_log_add($_SESSION['user']->getId(),"Se listaron las informaciones"); $arrInfos = info_obtener_infos(true,$simpleSort,$tema); info_listador($header,$arrInfos,'Informaciones',6); } /************** Fin Funciones para Infos ***************/ /************** Funciones para Comentarios ***************/ function info_obtener_comentarios($pInfo_ID) { $arr = array(); $comentariosCSVConst = 'data/comentarios.' . $pInfo_ID . '.csv'; if (is_file($comentariosCSVConst)) { $arrFile = fgetallcsv($comentariosCSVConst); if ($arrFile) { foreach ( $arrFile as $record_comentario) { $objComentario = new Comentario($record_comentario,$pInfo_ID,1); $objInfo = new Info($pInfo_ID,0); /*Datos del usuario original*/ $objComentario->autor_original = $objInfo->autor; /*Datos del usuario del comentario*/ $objUsuario = new Usuario($objComentario->autor); $objComentario->autor_foto = $objUsuario->getFotoFilename(); $objComentario->autor_apellido = $objUsuario->getApellido(); $arr[] = $objComentario; } } } return $arr; } function info_obtener_mayor_id_comentario($pInfo_ID) { $arrComentarios = info_obtener_comentarios($pInfo_ID); $cantidad_comentarios = count($arrComentarios); $maxId = 0; if ($cantidad_comentarios != 0) { $objComentario = $arrComentarios[$cantidad_comentarios - 1]; $maxId = $objComentario->id; } return $maxId; } function info_ingresar_comentario( $__hidID, $pInfo_ID, $pComentario, $pAutor ) { $objInfo = new Comentario(0,0,0); if ($__hidID == -1 ) { $__hidID = info_obtener_mayor_id_comentario($pInfo_ID) + 1; $resultado = $objInfo->ingresar( $__hidID, $pInfo_ID, $pComentario, $pAutor ); if ( $resultado == "" ) { echo ok("Se agregó el comentario."); } else { echo warn($resultado); } } else { $resultado = $objInfo->modificar( $__hidID, $pInfo_ID, $pComentario, $pAutor ); if ( $resultado == "" ) { echo ok("Se modificó el comentario."); } else { echo warn($resultado); } } return $__hidID; } function info_listar_comentarios( $header, $pInfo_ID ) { file_log_add($_SESSION['user']->getId(),"Se listaron los comentarios (informacion id = " . $pInfo_ID . ")"); $arrComentarios = info_obtener_comentarios($pInfo_ID); info_listador($header, $arrComentarios,'Comentarios',3); } /************** Fin Funciones para Comentarios ***************/ /************** Funciones para Info Generales ***************/ function info_listador($header, $ObjetosAListar, $dataName = 'Items', $colspan = 0, $link = '', $cant = 5) { if ($link == '') { $link = $_SERVER['PHP_SELF']; } // Calculo posiciones $total = count($ObjetosAListar); if (!$total) { echo ''; echo error('No se encontraron ' . $dataName); echo ''; return; } if (isset($_GET["lista_from"])) { $orig_from = intval($_GET["lista_from"]); } else { $orig_from = 0; } $pags = ceil($total / $cant); if ($pags != 1) { // Si tengo una sóla página // Arrastro query string, si corresponde if ( isset($_SERVER['QUERY_STRING'] ) ) { $query = $_SERVER['QUERY_STRING']; } else { $query = ''; } if (($pos = strpos($query, 'lista_from=')) !== false) { if ($pos) $query = substr($query, 0, --$pos); else $query = ''; } echo ''; if (($orig_from - $cant) >= 0) { $from = $orig_from - $cant; $q = $query ? "$query&lista_from=$from" : "lista_from=$from"; printf('< ', $link, $q); } for ($i = 0; $i < $pags; ++$i) { $from = $i * $cant; if ($from == $orig_from) { $data = '' . ($i + 1) . ''; } else { $data = $i + 1; } $q = $query ? "$query&lista_from=$from" : "lista_from=$from"; printf('%s ', $link, $q, $data); } if ( ($orig_from + $cant) <= $total ) { $from = $orig_from + $cant; $q = $query ? "$query&lista_from=$from" : "lista_from=$from"; printf('> ', $link, $q); } echo ''; } //Listo los resultados $from = $orig_from; $c = min($total - $from, $cant); echo $header; while ( $c-- ) { $obj = $ObjetosAListar[$from++]; $obj->toHTML(); } } /************** Fin Funciones para Info Generales ***************/ ?>