<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[PHPost | Soporte, Descargas y Tutoriales de Risus Nova - Problemas con el Script ]]></title>
		<link>https://phpost.es/</link>
		<description><![CDATA[PHPost | Soporte, Descargas y Tutoriales de Risus Nova - https://phpost.es]]></description>
		<pubDate>Wed, 15 Jul 2026 22:50:16 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Risus Nova 2.1 - Cosas Que eE Visto]]></title>
			<link>https://phpost.es/tema-RESUELTO-Risus-Nova-2-1-Cosas-Que-eE-Visto</link>
			<pubDate>Thu, 09 Jul 2026 20:45:55 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://phpost.es/member.php?action=profile&uid=1547">carlos007r</a>]]></dc:creator>
			<guid isPermaLink="false">https://phpost.es/tema-RESUELTO-Risus-Nova-2-1-Cosas-Que-eE-Visto</guid>
			<description><![CDATA[Hola! estoy corriendo Risus Nova v2.1 en un entorno local con PHP 8.2.12 con ayuda de claude code y fuimos encontrando varios bugs? del core. Los reporto acá con la causa y el fix que aplicamos, por si sirve para una próxima actualización. Los divido por categoría.<br />
<br />
1.<span style="font-weight: bold;" class="mycode_b"> INCOMPATIBILIDADES CON PHP 8.x</span><br />
<br />
- Error 500 al guardar el perfil si se deja un checkbox "Me gustaría" sin marcar: en c.cuenta.php, se accede a &#36;_POST['g_'.&#36;i] sin verificar que exista. Los checkboxes no marcados no viajan en el POST, y en PHP 8.2 pasar null a una función que espera string es un TypeError fatal. Fix: &#36;_POST['g_'.&#36;i] ?? ''.<br />
<br />
- Error 500 al guardar "Sitio Web" con una URL válida: se usa la constante FILTER_FLAG_HOST_REQUIRED en filter_var(), eliminada en PHP 8. Fix: sacar ese tercer argumento.<br />
<br />
2. <span style="font-weight: bold;" class="mycode_b">URLs/REDIRECCIONES ROTAS EN INSTALACIONES EN SUBDIRECTORIO</span><br />
<br />
- Redirecciones de login (setLevel(), redirectTo() en c.core.php) arman la URL a mano sin anteponer &#36;this-&gt;settings['url'], así que en cualquier instalación que NO viva en la raíz del dominio (ej. midominio.com/foro/), termina redirigiendo a midominio.com/login/... (sin el subdirectorio) → 404.<br />
<br />
- Botones "Volver al listado" (/admin/news) y "Mover Posts" (/admin/cats) en el panel de admin usan location.href = '/admin/...' hardcodeado en las plantillas, mismo problema.<br />
<br />
- Ícono de RSS de "Últimos posts" en el home también hardcodea /rss/ultimos-post sin el prefijo.<br />
<br />
3. <span style="font-weight: bold;" class="mycode_b">BUGS DE LÓGICA / FUNCIONES INCOMPLETAS</span><br />
<br />
- /admin/creditos muestra la librería GD como N/A aunque esté instalada y funcionando: el bloque elseif(&#36;action=='creditos') de admin.php nunca asigna &#36;smarty-&gt;assign("tsVersion", &#36;tsAdmin-&gt;getVersions()).<br />
<br />
- Selects de país/estado/mes/año vacíos en /cuenta/perfil: el bloque que asigna esos datos en cuenta.php corre con if(empty(&#36;action)), pero la ruta real entra con &#36;action='perfil', así que nunca se ejecuta.<br />
<br />
- Faltan las provincias/estados de ~80 países en geodata.php (confirmado con República Dominicana, Islandia, Singapur, entre otros): el array &#36;estados[...] simplemente no los tiene cargados.<br />
<br />
- Selects "Fumo" y "Tomo alcohol" vacíos (sección "Cómo soy" del perfil): en datos.php solo existe el array combinado fumo_tomo, pero la plantilla busca fumo y alcohol por separado (no existen).<br />
<br />
- "Me gustaría" (checkboxes) no se mostraba en el perfil: typo en la plantilla, pide &#36;tsPData.gustaria/&#36;tsPerfil.p_gustaria en vez de .gustos/.p_gustos (el nombre real usado en toda la base de datos y el resto del código).<br />
<br />
- /retos/ da "No direct access." y luego error 500: tres bugs apilados. Falta la regla en .htaccess (las páginas hermanas como calendario/misiones/premios sí la tienen), el guard chequea una constante que no existe en ningún lado del código (TSCRIPT en vez de TS_HEADER), y después de rutear bien, llama a &#36;tsCore-&gt;setTitle(), un método que no existe en la clase.<br />
<br />
- muro.load_atta() (JS del muro) está sin terminar: recibe la URL de la foto/video adjunto al hacer click, pero nunca la usa, reemplaza el elemento clickeado por una imagen vacía o un string vacío, haciendo "desaparecer" la foto/video en vez de mostrarla en grande.<br />
<br />
- Avatar GIF animado se queda estático en todo el sitio: imagecreatefromgif() + imagejpeg() de GD solo puede leer/escribir UN cuadro, así que cualquier GIF que pase por el recorte/generación de miniaturas del avatar (c.upload.php) pierde la animación.<br />
<br />
- Imagen de fondo de perfil no se aplicaba nunca: typo de tipo MIME en la plantilla, &lt;style type="text/style"&gt; en vez de text/css. Por spec de HTML5 los navegadores ignoran por completo un &lt;style&gt; con type inválido, así que el background-image nunca se veía aunque la URL fuera correcta.<br />
<br />
- Portada de perfil no se mostraba en /mi/: el controlador (portal.php) solo carga &#36;tsPerfil condicionalmente (para el aviso de bienvenida a cuentas nuevas), nunca de forma incondicional para el resto de la página.<br />
<br />
- Al subir una foto de perfil inválida, el mensaje de error mostraba [object Object] en vez del texto real, porque el callback de éxito solo sabía manejar dos formatos de respuesta distintos y no el de error real del servidor.<br />
<br />
- "Subir por URL" para avatar rechazaba links de imagen con ?token=... (típico en CDNs como Discord/Google): la validación de extensión de archivo no ignoraba el query string de la URL.<br />
<br />
- Videos de YouTube embebidos en el cuerpo de un post se comportaban raro al hacer click: la función que los convierte en miniatura con botón de play (youtube_lazy_load()) reemplazaba la miniatura por el iframe original en el mismo lugar sin definir un tamaño, y el botón de play usaba una clase CSS sin top/left definidos, quedando flotando lejos de la miniatura.<br />
<br />
- El buscador global solo aparecía en páginas de post individual: en la plantilla del header, el include del formulario de búsqueda estaba envuelto en una condición (&#36;tsPage == 'posts' &amp;&amp; &#36;tsPost.post_id) sin ninguna razón aparente (el formulario no depende de esas variables).<br />
<br />
-  Los botones "Olvidé mi contraseña" / "No me llegó el correo de confirmación" en el login llaman a remind_password()/resend_validation() en el onclick, pero esas funciones JS no existen en ningún archivo, parecen quedar de una función que nunca se implementó.<br />
<br />
4. <span style="font-weight: bold;" class="mycode_b">SEGURIDAD</span><br />
<br />
- Inyección SQL en getMyPosts() (c.portal.php): los IDs de categoría guardados (u_portal.last_posts_cats) se concatenan directo en la query con implode() sin sanitizar ni castear a int. Además, si el array de categorías queda con un string vacío adentro, produce IN () (SQL inválido → error 500).<br />
<br />
5. <span style="font-weight: bold;" class="mycode_b">CHECKBOXES/RADIOS QUE NO REFLEJAN LA SELECCIÓN REAL (bug clásico de jQuery)</span><br />
<br />
Encontramos este mismo patrón repetido en al menos 3 lugares distintos del código: se usa &#36;(elem).attr('checked') (o .attr('disabled', '')) para leer/cambiar el estado de un checkbox/radio/input después de que el usuario interactúa con él. El problema es que .attr() refleja el atributo HTML original (con el que se renderizó la página), no el estado real después de un click, para eso hace falta .prop().<br />
<br />
- Checkboxes de "categorías de interés" en /mi/ (portal.js, save_configs()) no se guardaban nunca, por leer con .attr('checked') en vez de .prop('checked').<br />
<br />
- Al suspender a un miembro de una comunidad, el sistema siempre aplicaba "Cambiar rango" en su lugar: en comunidades.js, member_admin_submit() lee .attr('checked') sobre un selector que matchea los dos radios del formulario (mismo name); jQuery devuelve el atributo del primero que encuentra, que queda marcado desde el HTML y nunca se limpia. Resultado: no importa cuál elija el moderador, siempre se interpreta como "Cambiar rango", la suspensión nunca se ejecuta.<br />
<br />
- El campo de URL para adjuntar un enlace/foto/video en el muro queda bloqueado para siempre si la primera URL ingresada es inválida: se deshabilita con .attr('disabled', 'true') y se intenta re-habilitar con .attr('disabled', ''), que en HTML sigue siendo un atributo "presente" (=deshabilitado). Solo se soluciona refrescando toda la página.<br />
<br />
6. <span style="font-weight: bold;" class="mycode_b">DOBLE-ESCAPADO DE HTML EN LOS ADJUNTOS DEL MURO</span><br />
<br />
- El título de un video de YouTube compartido se guarda con las entidades HTML duplicadas (por ejemplo, un "&amp;" termina guardado como "&amp;" en vez de "&amp;", y una comilla como "'" literal en vez de la comilla real en enlaces compartidos): el título llega desde get_meta_tags() ya con las entidades HTML codificadas una vez (así lo entrega YouTube), y el código lo vuelve a pasar por htmlspecialchars() sin decodificar primero. Encontramos el mismo patrón en foto, enlace y video: ajaxCheck(&#36;return=true) ya devuelve los valores escapados, y streamPost() los vuelve a escapar antes del INSERT, doble pasada de escapado sobre el mismo valor.<br />
<br />
7. <span style="font-weight: bold;" class="mycode_b">VISTA PREVIA DE ADJUNTOS EN EL MURO NO SE MOSTRABA</span><br />
<br />
- Al adjuntar una foto o un enlace en el composer del muro, después de dar clic en "Adjuntar" la tarjeta de previsualización (imagen + título + descripción) nunca aparecía visualmente, aunque el AJAX funcionara bien. Causa: una regla CSS muy genérica en el tema, #attaContent div{display:none}, oculta cualquier &lt;div&gt; hijo del composer, y el HTML de la tarjeta no traía display seteado explícito para ganarle a esa regla.<br />
============================================================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">paises que no tienen provincia en el formulario de perfil</span></span><br />
<br />
anguila, ciudad del vaticano, eslovenia, filipinas, groenlandia, guam, hong kong, isla bouvet, isla de man, isla navidad, islandia, islas caiman, islas cocos, islas cook, islas feroe, islas georgias del sur y sandwich del sur, islas heard y mcdonald, islas marianas del norte, islas marshall, islas pitcairn, islas salomon, islas turcas y caicos, islas virgenes britanicas, islas virgenes estadounidenses, islas ultramarinas de estados unidos, jersey, libia, liechtenstein, malta, mayotte, moldavia, nauru, niue, norfolk, nueva caledonia, oman, polinesia francesa, republica centroafricana, republica checa, republica democratica del congo, republica dominicana, republica de macedonia, republica del congo, republica arabe saharaui democratica, reunion, ruanda, saint-martin, samoa, samoa americana, san bartolome, seychelles, singapur, siria, somalia, sri lanka, suazilandia, sudan, surinam, svalbard y jan mayen, tayikistan, territorio britanico del oceano indico, territorio australes franceses, territorios palestinos, timor oriental, tokelau, tonga, turkmenistan, tuvalu, uganda, uzbekistan, vanuatu, wallis y futuna, yemen, yibuti y zimbabue.<br />
<span style="font-weight: bold;" class="mycode_b">si. lo revise uno por uno lol</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">aqui esta un fix rapido que me creo claude del geodata.php:</span><br />
Registrate o inicia tu sesión para ver este contenido<br />
----------------------------------------------------------------------------------------------<br />
<span style="font-weight: bold;" class="mycode_b">9.vulnerabilidad de seguridad real:</span> en el editor de posts (/agregar/), cuando pegás un link solo en una línea, se genera automáticamente una tarjeta de vista previa (link-preview.js). El título, la descripción y el dominio pasaban por un escapeHtml() antes de insertarse en el HTML — pero la imagen (og:image, sacada de un sitio externo cualquiera) y el link se insertaban sin escapar, directo dentro de un atributo src="...".<br />
<br />
Cualquiera podría poner en su propia página un og:image con algo como content='x.jpg" onerror="robar_cookies()"', y si alguien pegaba ese link en un post, ese HTML malicioso quedaba guardado dentro del post — ejecutándose para todos los que lo vieran después (XSS almacenado). fix: agregando el mismo escape a esos dos campos.<br />
<br />
Además revisé:<br />
<br />
Otros lugares con posible inyección SQL (c.actividad.php, c.mensajes.php, c.admin.php, c.sugerencias.php) — todos están bien sanitizados, no encontré más.<br />
El mismo patrón de HTML sin escapar en otros archivos JS — encontré usos similares con datos de TMDB (posters de películas), pero esos vienen de una API/catálogo curado, no de cualquier sitio externo, así que el riesgo es mucho menor y no lo toqué.<br />
========================================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3498db;" class="mycode_color">Actualización — después del post original:</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">10. LLAMADA A MÉTODO INEXISTENTE TRAS UN REFACTOR</span><br />
<br />
Error 500 (fatal) al enviar el formulario de "Olvidé mi contraseña" / "No me llegó el correo de confirmación": en inc/php/ajax/ajax.recover.php (rutas recover-pass / recover-validation) queda una línea residual &#36;tsEmail-&gt;emailHeaders = &#36;tsEmail-&gt;setEmailHeaders();. En algún momento c.emails.php se reescribió para usar SMTP/PHPMailer y el método setEmailHeaders() ya no existe en la clase — la llamada quedó huérfana. Confirmado en el error.log del servidor. Fix: eliminar esa línea (no hace falta, PHPMailer maneja los headers solo).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">11. FEATURE MAL ETIQUETADA / INCOMPLETA [OPCIONAL] </span><br />
<br />
La pestaña "Mis posts" en /mi/ en realidad no muestra los posts que escribió el usuario: muestra "últimos posts de tu interés" (un filtro por categorías guardadas), no posts de autoría propia. El nombre de la pestaña es engañoso — no hay ningún método en el código que filtre por post_user para esta vista. Fix que aplicamos: agregamos un getAuthoredPosts() nuevo (filtra por post_user) como pestaña real "Mis posts", y renombramos la de categorías a "De mi interés".<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">NOTA:</span> esto es generado con inteligencia artificial que comete errores, pero dirigido por mí. Le digo qué hacer y dónde buscar. Pongo esto aquí con fines de ayudar. Gracias.]]></description>
			<content:encoded><![CDATA[Hola! estoy corriendo Risus Nova v2.1 en un entorno local con PHP 8.2.12 con ayuda de claude code y fuimos encontrando varios bugs? del core. Los reporto acá con la causa y el fix que aplicamos, por si sirve para una próxima actualización. Los divido por categoría.<br />
<br />
1.<span style="font-weight: bold;" class="mycode_b"> INCOMPATIBILIDADES CON PHP 8.x</span><br />
<br />
- Error 500 al guardar el perfil si se deja un checkbox "Me gustaría" sin marcar: en c.cuenta.php, se accede a &#36;_POST['g_'.&#36;i] sin verificar que exista. Los checkboxes no marcados no viajan en el POST, y en PHP 8.2 pasar null a una función que espera string es un TypeError fatal. Fix: &#36;_POST['g_'.&#36;i] ?? ''.<br />
<br />
- Error 500 al guardar "Sitio Web" con una URL válida: se usa la constante FILTER_FLAG_HOST_REQUIRED en filter_var(), eliminada en PHP 8. Fix: sacar ese tercer argumento.<br />
<br />
2. <span style="font-weight: bold;" class="mycode_b">URLs/REDIRECCIONES ROTAS EN INSTALACIONES EN SUBDIRECTORIO</span><br />
<br />
- Redirecciones de login (setLevel(), redirectTo() en c.core.php) arman la URL a mano sin anteponer &#36;this-&gt;settings['url'], así que en cualquier instalación que NO viva en la raíz del dominio (ej. midominio.com/foro/), termina redirigiendo a midominio.com/login/... (sin el subdirectorio) → 404.<br />
<br />
- Botones "Volver al listado" (/admin/news) y "Mover Posts" (/admin/cats) en el panel de admin usan location.href = '/admin/...' hardcodeado en las plantillas, mismo problema.<br />
<br />
- Ícono de RSS de "Últimos posts" en el home también hardcodea /rss/ultimos-post sin el prefijo.<br />
<br />
3. <span style="font-weight: bold;" class="mycode_b">BUGS DE LÓGICA / FUNCIONES INCOMPLETAS</span><br />
<br />
- /admin/creditos muestra la librería GD como N/A aunque esté instalada y funcionando: el bloque elseif(&#36;action=='creditos') de admin.php nunca asigna &#36;smarty-&gt;assign("tsVersion", &#36;tsAdmin-&gt;getVersions()).<br />
<br />
- Selects de país/estado/mes/año vacíos en /cuenta/perfil: el bloque que asigna esos datos en cuenta.php corre con if(empty(&#36;action)), pero la ruta real entra con &#36;action='perfil', así que nunca se ejecuta.<br />
<br />
- Faltan las provincias/estados de ~80 países en geodata.php (confirmado con República Dominicana, Islandia, Singapur, entre otros): el array &#36;estados[...] simplemente no los tiene cargados.<br />
<br />
- Selects "Fumo" y "Tomo alcohol" vacíos (sección "Cómo soy" del perfil): en datos.php solo existe el array combinado fumo_tomo, pero la plantilla busca fumo y alcohol por separado (no existen).<br />
<br />
- "Me gustaría" (checkboxes) no se mostraba en el perfil: typo en la plantilla, pide &#36;tsPData.gustaria/&#36;tsPerfil.p_gustaria en vez de .gustos/.p_gustos (el nombre real usado en toda la base de datos y el resto del código).<br />
<br />
- /retos/ da "No direct access." y luego error 500: tres bugs apilados. Falta la regla en .htaccess (las páginas hermanas como calendario/misiones/premios sí la tienen), el guard chequea una constante que no existe en ningún lado del código (TSCRIPT en vez de TS_HEADER), y después de rutear bien, llama a &#36;tsCore-&gt;setTitle(), un método que no existe en la clase.<br />
<br />
- muro.load_atta() (JS del muro) está sin terminar: recibe la URL de la foto/video adjunto al hacer click, pero nunca la usa, reemplaza el elemento clickeado por una imagen vacía o un string vacío, haciendo "desaparecer" la foto/video en vez de mostrarla en grande.<br />
<br />
- Avatar GIF animado se queda estático en todo el sitio: imagecreatefromgif() + imagejpeg() de GD solo puede leer/escribir UN cuadro, así que cualquier GIF que pase por el recorte/generación de miniaturas del avatar (c.upload.php) pierde la animación.<br />
<br />
- Imagen de fondo de perfil no se aplicaba nunca: typo de tipo MIME en la plantilla, &lt;style type="text/style"&gt; en vez de text/css. Por spec de HTML5 los navegadores ignoran por completo un &lt;style&gt; con type inválido, así que el background-image nunca se veía aunque la URL fuera correcta.<br />
<br />
- Portada de perfil no se mostraba en /mi/: el controlador (portal.php) solo carga &#36;tsPerfil condicionalmente (para el aviso de bienvenida a cuentas nuevas), nunca de forma incondicional para el resto de la página.<br />
<br />
- Al subir una foto de perfil inválida, el mensaje de error mostraba [object Object] en vez del texto real, porque el callback de éxito solo sabía manejar dos formatos de respuesta distintos y no el de error real del servidor.<br />
<br />
- "Subir por URL" para avatar rechazaba links de imagen con ?token=... (típico en CDNs como Discord/Google): la validación de extensión de archivo no ignoraba el query string de la URL.<br />
<br />
- Videos de YouTube embebidos en el cuerpo de un post se comportaban raro al hacer click: la función que los convierte en miniatura con botón de play (youtube_lazy_load()) reemplazaba la miniatura por el iframe original en el mismo lugar sin definir un tamaño, y el botón de play usaba una clase CSS sin top/left definidos, quedando flotando lejos de la miniatura.<br />
<br />
- El buscador global solo aparecía en páginas de post individual: en la plantilla del header, el include del formulario de búsqueda estaba envuelto en una condición (&#36;tsPage == 'posts' &amp;&amp; &#36;tsPost.post_id) sin ninguna razón aparente (el formulario no depende de esas variables).<br />
<br />
-  Los botones "Olvidé mi contraseña" / "No me llegó el correo de confirmación" en el login llaman a remind_password()/resend_validation() en el onclick, pero esas funciones JS no existen en ningún archivo, parecen quedar de una función que nunca se implementó.<br />
<br />
4. <span style="font-weight: bold;" class="mycode_b">SEGURIDAD</span><br />
<br />
- Inyección SQL en getMyPosts() (c.portal.php): los IDs de categoría guardados (u_portal.last_posts_cats) se concatenan directo en la query con implode() sin sanitizar ni castear a int. Además, si el array de categorías queda con un string vacío adentro, produce IN () (SQL inválido → error 500).<br />
<br />
5. <span style="font-weight: bold;" class="mycode_b">CHECKBOXES/RADIOS QUE NO REFLEJAN LA SELECCIÓN REAL (bug clásico de jQuery)</span><br />
<br />
Encontramos este mismo patrón repetido en al menos 3 lugares distintos del código: se usa &#36;(elem).attr('checked') (o .attr('disabled', '')) para leer/cambiar el estado de un checkbox/radio/input después de que el usuario interactúa con él. El problema es que .attr() refleja el atributo HTML original (con el que se renderizó la página), no el estado real después de un click, para eso hace falta .prop().<br />
<br />
- Checkboxes de "categorías de interés" en /mi/ (portal.js, save_configs()) no se guardaban nunca, por leer con .attr('checked') en vez de .prop('checked').<br />
<br />
- Al suspender a un miembro de una comunidad, el sistema siempre aplicaba "Cambiar rango" en su lugar: en comunidades.js, member_admin_submit() lee .attr('checked') sobre un selector que matchea los dos radios del formulario (mismo name); jQuery devuelve el atributo del primero que encuentra, que queda marcado desde el HTML y nunca se limpia. Resultado: no importa cuál elija el moderador, siempre se interpreta como "Cambiar rango", la suspensión nunca se ejecuta.<br />
<br />
- El campo de URL para adjuntar un enlace/foto/video en el muro queda bloqueado para siempre si la primera URL ingresada es inválida: se deshabilita con .attr('disabled', 'true') y se intenta re-habilitar con .attr('disabled', ''), que en HTML sigue siendo un atributo "presente" (=deshabilitado). Solo se soluciona refrescando toda la página.<br />
<br />
6. <span style="font-weight: bold;" class="mycode_b">DOBLE-ESCAPADO DE HTML EN LOS ADJUNTOS DEL MURO</span><br />
<br />
- El título de un video de YouTube compartido se guarda con las entidades HTML duplicadas (por ejemplo, un "&amp;" termina guardado como "&amp;" en vez de "&amp;", y una comilla como "'" literal en vez de la comilla real en enlaces compartidos): el título llega desde get_meta_tags() ya con las entidades HTML codificadas una vez (así lo entrega YouTube), y el código lo vuelve a pasar por htmlspecialchars() sin decodificar primero. Encontramos el mismo patrón en foto, enlace y video: ajaxCheck(&#36;return=true) ya devuelve los valores escapados, y streamPost() los vuelve a escapar antes del INSERT, doble pasada de escapado sobre el mismo valor.<br />
<br />
7. <span style="font-weight: bold;" class="mycode_b">VISTA PREVIA DE ADJUNTOS EN EL MURO NO SE MOSTRABA</span><br />
<br />
- Al adjuntar una foto o un enlace en el composer del muro, después de dar clic en "Adjuntar" la tarjeta de previsualización (imagen + título + descripción) nunca aparecía visualmente, aunque el AJAX funcionara bien. Causa: una regla CSS muy genérica en el tema, #attaContent div{display:none}, oculta cualquier &lt;div&gt; hijo del composer, y el HTML de la tarjeta no traía display seteado explícito para ganarle a esa regla.<br />
============================================================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">paises que no tienen provincia en el formulario de perfil</span></span><br />
<br />
anguila, ciudad del vaticano, eslovenia, filipinas, groenlandia, guam, hong kong, isla bouvet, isla de man, isla navidad, islandia, islas caiman, islas cocos, islas cook, islas feroe, islas georgias del sur y sandwich del sur, islas heard y mcdonald, islas marianas del norte, islas marshall, islas pitcairn, islas salomon, islas turcas y caicos, islas virgenes britanicas, islas virgenes estadounidenses, islas ultramarinas de estados unidos, jersey, libia, liechtenstein, malta, mayotte, moldavia, nauru, niue, norfolk, nueva caledonia, oman, polinesia francesa, republica centroafricana, republica checa, republica democratica del congo, republica dominicana, republica de macedonia, republica del congo, republica arabe saharaui democratica, reunion, ruanda, saint-martin, samoa, samoa americana, san bartolome, seychelles, singapur, siria, somalia, sri lanka, suazilandia, sudan, surinam, svalbard y jan mayen, tayikistan, territorio britanico del oceano indico, territorio australes franceses, territorios palestinos, timor oriental, tokelau, tonga, turkmenistan, tuvalu, uganda, uzbekistan, vanuatu, wallis y futuna, yemen, yibuti y zimbabue.<br />
<span style="font-weight: bold;" class="mycode_b">si. lo revise uno por uno lol</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">aqui esta un fix rapido que me creo claude del geodata.php:</span><br />
Registrate o inicia tu sesión para ver este contenido<br />
----------------------------------------------------------------------------------------------<br />
<span style="font-weight: bold;" class="mycode_b">9.vulnerabilidad de seguridad real:</span> en el editor de posts (/agregar/), cuando pegás un link solo en una línea, se genera automáticamente una tarjeta de vista previa (link-preview.js). El título, la descripción y el dominio pasaban por un escapeHtml() antes de insertarse en el HTML — pero la imagen (og:image, sacada de un sitio externo cualquiera) y el link se insertaban sin escapar, directo dentro de un atributo src="...".<br />
<br />
Cualquiera podría poner en su propia página un og:image con algo como content='x.jpg" onerror="robar_cookies()"', y si alguien pegaba ese link en un post, ese HTML malicioso quedaba guardado dentro del post — ejecutándose para todos los que lo vieran después (XSS almacenado). fix: agregando el mismo escape a esos dos campos.<br />
<br />
Además revisé:<br />
<br />
Otros lugares con posible inyección SQL (c.actividad.php, c.mensajes.php, c.admin.php, c.sugerencias.php) — todos están bien sanitizados, no encontré más.<br />
El mismo patrón de HTML sin escapar en otros archivos JS — encontré usos similares con datos de TMDB (posters de películas), pero esos vienen de una API/catálogo curado, no de cualquier sitio externo, así que el riesgo es mucho menor y no lo toqué.<br />
========================================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3498db;" class="mycode_color">Actualización — después del post original:</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">10. LLAMADA A MÉTODO INEXISTENTE TRAS UN REFACTOR</span><br />
<br />
Error 500 (fatal) al enviar el formulario de "Olvidé mi contraseña" / "No me llegó el correo de confirmación": en inc/php/ajax/ajax.recover.php (rutas recover-pass / recover-validation) queda una línea residual &#36;tsEmail-&gt;emailHeaders = &#36;tsEmail-&gt;setEmailHeaders();. En algún momento c.emails.php se reescribió para usar SMTP/PHPMailer y el método setEmailHeaders() ya no existe en la clase — la llamada quedó huérfana. Confirmado en el error.log del servidor. Fix: eliminar esa línea (no hace falta, PHPMailer maneja los headers solo).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">11. FEATURE MAL ETIQUETADA / INCOMPLETA [OPCIONAL] </span><br />
<br />
La pestaña "Mis posts" en /mi/ en realidad no muestra los posts que escribió el usuario: muestra "últimos posts de tu interés" (un filtro por categorías guardadas), no posts de autoría propia. El nombre de la pestaña es engañoso — no hay ningún método en el código que filtre por post_user para esta vista. Fix que aplicamos: agregamos un getAuthoredPosts() nuevo (filtra por post_user) como pestaña real "Mis posts", y renombramos la de categorías a "De mi interés".<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">NOTA:</span> esto es generado con inteligencia artificial que comete errores, pero dirigido por mí. Le digo qué hacer y dónde buscar. Pongo esto aquí con fines de ayudar. Gracias.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Risus Nova 2.0.5 [Pagina monitor]]]></title>
			<link>https://phpost.es/tema-Resuelto-Risus-Nova-2-0-5-Pagina-monitor</link>
			<pubDate>Sat, 20 Jun 2026 05:32:33 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://phpost.es/member.php?action=profile&uid=1547">carlos007r</a>]]></dc:creator>
			<guid isPermaLink="false">https://phpost.es/tema-Resuelto-Risus-Nova-2-0-5-Pagina-monitor</guid>
			<description><![CDATA[<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Problema a resolver:</span></span><br />
<br />
en Registrate o inicia tu sesión para ver este contenido doy click en aviso y me lleva a:<br />
Registrate o inicia tu sesión para ver este contenido<br />
la pagina no carga<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span><br />
Confirmado: la página de<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>/monitor/</code></div></div> está dando <span style="font-weight: bold;" class="mycode_b">500 con respuesta vacía</span> (sin mensaje,<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>Content-Length: 0</code></div></div>). Eso pasa cuando PHP muere de forma fatal antes de poder enviar nada al navegador — necesito el<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>error.log</code></div></div> para ver el error exacto.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">le envio el log:</span><br />
Registrate o inicia tu sesión para ver este contenido<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span>Ya sé cuál es: en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>c.monitor.php</code></div></div> (línea 303), dentro de<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>getNotificaciones()</code></div></div>, hay una consulta SQL que está fallando (probablemente por una tabla que falta o un error de sintaxis SQL), y el código no comprueba si la consulta falló antes de intentar leer el resultado — por eso<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>mysqli_fetch_assoc()</code></div></div> recibe<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>NULL</code></div></div> en vez de un resultado válido y truena.<br />
(De paso: veo que el error del<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array_merge</code></div></div> del muro ya no volvió a aparecer después de las 21:05 — esa corrección sí funcionó. También noto un error nuevo de Smarty en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>t.perfil.tpl</code></div></div> línea 211 con el mismo problema de siempre — JavaScript con llaves<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>{2,3}</code></div></div> sin envolver en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>{literal}</code></div></div> — pero eso es para después, cuando lo necesites.)<br />
¿Puedes subirme<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>C:&#92;xampp&#92;htdocs&#92;nova1&#92;inc&#92;class&#92;c.monitor.php</code></div></div>?<br />
<span style="font-weight: bold;" class="mycode_b">le envio el c.monitor.php</span><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span><br />
Encontrado — es un simple error de tipeo en la línea 303:<br />
&#36;query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c_monitor FROM u_portal ...');<br />
&#36;filtros = db_exec('fetch_assoc', &#36;cuery);   // ← debería ser &#36;query, no &#36;cuery<br />
<br />
La consulta se guarda en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;query</code></div></div>, pero la línea de abajo intenta leer el resultado de una variable que no existe (<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;cuery</code></div></div>, con la "c" y la "u" cambiadas), así que PHP recibe<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>NULL</code></div></div> en vez del resultado real.<br />
<br />
Confirmado, es la única vez que aparece — un typo aislado. La corrección:<br />
Reemplaza tu<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>C:&#92;xampp&#92;htdocs&#92;nova1&#92;inc&#92;class&#92;c.monitor.php</code></div></div> con este (un solo cambio:<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;cuery</code></div></div> →<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;query</code></div></div> en la línea 303). Prueba de nuevo a entrar a<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>/monitor/</code></div></div>.<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">este fue el archivo que claude genero:</span></span><br />
Registrate o inicia tu sesión para ver este contenido<br />
<br />
y con esto la pagina volvio a funcionar  <img src="https://phpost.es/images/smilies/rolleyes.png" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
Nota:<br />
Pongo este tema para ayudar con errores que me pasan y con motivo de informar. Claude code es una inteligencia artificial que comete errores, y los códigos que comparto aquí no son para uso final, sino para ayudar.  <br />
¡Gracias!]]></description>
			<content:encoded><![CDATA[<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Problema a resolver:</span></span><br />
<br />
en Registrate o inicia tu sesión para ver este contenido doy click en aviso y me lleva a:<br />
Registrate o inicia tu sesión para ver este contenido<br />
la pagina no carga<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span><br />
Confirmado: la página de<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>/monitor/</code></div></div> está dando <span style="font-weight: bold;" class="mycode_b">500 con respuesta vacía</span> (sin mensaje,<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>Content-Length: 0</code></div></div>). Eso pasa cuando PHP muere de forma fatal antes de poder enviar nada al navegador — necesito el<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>error.log</code></div></div> para ver el error exacto.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">le envio el log:</span><br />
Registrate o inicia tu sesión para ver este contenido<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span>Ya sé cuál es: en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>c.monitor.php</code></div></div> (línea 303), dentro de<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>getNotificaciones()</code></div></div>, hay una consulta SQL que está fallando (probablemente por una tabla que falta o un error de sintaxis SQL), y el código no comprueba si la consulta falló antes de intentar leer el resultado — por eso<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>mysqli_fetch_assoc()</code></div></div> recibe<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>NULL</code></div></div> en vez de un resultado válido y truena.<br />
(De paso: veo que el error del<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array_merge</code></div></div> del muro ya no volvió a aparecer después de las 21:05 — esa corrección sí funcionó. También noto un error nuevo de Smarty en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>t.perfil.tpl</code></div></div> línea 211 con el mismo problema de siempre — JavaScript con llaves<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>{2,3}</code></div></div> sin envolver en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>{literal}</code></div></div> — pero eso es para después, cuando lo necesites.)<br />
¿Puedes subirme<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>C:&#92;xampp&#92;htdocs&#92;nova1&#92;inc&#92;class&#92;c.monitor.php</code></div></div>?<br />
<span style="font-weight: bold;" class="mycode_b">le envio el c.monitor.php</span><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Claude code responde:</span></span><br />
Encontrado — es un simple error de tipeo en la línea 303:<br />
&#36;query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c_monitor FROM u_portal ...');<br />
&#36;filtros = db_exec('fetch_assoc', &#36;cuery);   // ← debería ser &#36;query, no &#36;cuery<br />
<br />
La consulta se guarda en<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;query</code></div></div>, pero la línea de abajo intenta leer el resultado de una variable que no existe (<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;cuery</code></div></div>, con la "c" y la "u" cambiadas), así que PHP recibe<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>NULL</code></div></div> en vez del resultado real.<br />
<br />
Confirmado, es la única vez que aparece — un typo aislado. La corrección:<br />
Reemplaza tu<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>C:&#92;xampp&#92;htdocs&#92;nova1&#92;inc&#92;class&#92;c.monitor.php</code></div></div> con este (un solo cambio:<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;cuery</code></div></div> →<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&#36;query</code></div></div> en la línea 303). Prueba de nuevo a entrar a<br />
 <br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>/monitor/</code></div></div>.<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">este fue el archivo que claude genero:</span></span><br />
Registrate o inicia tu sesión para ver este contenido<br />
<br />
y con esto la pagina volvio a funcionar  <img src="https://phpost.es/images/smilies/rolleyes.png" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
Nota:<br />
Pongo este tema para ayudar con errores que me pasan y con motivo de informar. Claude code es una inteligencia artificial que comete errores, y los códigos que comparto aquí no son para uso final, sino para ayudar.  <br />
¡Gracias!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Risus Nova 2.0.5 - [Pagina mi/] Errores Y Bugs]]></title>
			<link>https://phpost.es/tema-Resuelto-Risus-Nova-2-0-5-Pagina-mi-Errores-Y-Bugs</link>
			<pubDate>Sat, 20 Jun 2026 02:21:53 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://phpost.es/member.php?action=profile&uid=1547">carlos007r</a>]]></dc:creator>
			<guid isPermaLink="false">https://phpost.es/tema-Resuelto-Risus-Nova-2-0-5-Pagina-mi-Errores-Y-Bugs</guid>
			<description><![CDATA[<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Página mi/.</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Estoy probando el script en el programa XAMPP y en la demo.</span><br />
<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Errores o bugs</span></span><br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1</span>.</span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span><br />
<span style="font-size: medium;" class="mycode_size">Error en muro. </span></span><br />
Lo primero que noté:<br />
Al identificarme con mi cuenta en la demo, todo funcionaba bien. Podía entrar a Registrate o inicia tu sesión para ver este contenido sin problemas.  <br />
Hasta que empecé a probar subir fotos al muro:  <br />
Al poner el enlace de la imagen, en la parte superior aparece la imagen de carga, pero sin mostrar nada más.  <br />
Asumí que estaba bien, así que en el campo de descripción puse "prueba 1" (<span style="font-weight: bold;" class="mycode_b">nota: el campo de descripción se ve cortado a la mitad del cuadro del marco</span>).  <br />
<br />
Luego, le di a "<span style="font-weight: bold;" class="mycode_b">Compartir</span>". El botón se queda en blanco y no pasa nada. Tras varios intentos fallidos, intenté poner un video de YouTube y tampoco funcionó.<br />
<br />
Luego, la página se bloquea mostrando un <span style="font-weight: bold;" class="mycode_b">error 500</span>.<br />
Esto ocurrió tanto en la demo como en la instalación local.<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">======================================</span></span><br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">En perfil/</span> </span><br />
En <span style="font-weight: bold;" class="mycode_b">Registrate o inicia tu sesión para ver este contenido</span> no funciona o dejo de funcionar, se carga la pagina pero la portada dejo de funcionar <br />
Registrate o inicia tu sesión para ver este contenido<br />
=========================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
No se puede eliminar post del muro con la <span style="font-weight: bold;" class="mycode_b">X</span> para eliminar publicacion en muro no hace nada.<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
no se puede subir fotos al muro<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
la pagina de Retos da error dice: No direct access.<br />
====================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">6.</span><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
aveces no se le puede dar like a videos<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
la barra de dar like ocupa la mitad del post en muro : Registrate o inicia tu sesión para ver este contenido<br />
me parece que va debajo<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
boton compartir extrano al dar click se comporta raro y algo anormal<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">9.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
postea un video y luego trata de postear otro y el anterior se queda y no deja poner un nuevo video.<br />
====================================================</div>
 <span style="font-weight: bold;" class="mycode_b">Reportando...<br />
gracias.</span><br />
<div style="text-align: left;" class="mycode_align"> </div>]]></description>
			<content:encoded><![CDATA[<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Página mi/.</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Estoy probando el script en el programa XAMPP y en la demo.</span><br />
<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Errores o bugs</span></span><br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1</span>.</span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span><br />
<span style="font-size: medium;" class="mycode_size">Error en muro. </span></span><br />
Lo primero que noté:<br />
Al identificarme con mi cuenta en la demo, todo funcionaba bien. Podía entrar a Registrate o inicia tu sesión para ver este contenido sin problemas.  <br />
Hasta que empecé a probar subir fotos al muro:  <br />
Al poner el enlace de la imagen, en la parte superior aparece la imagen de carga, pero sin mostrar nada más.  <br />
Asumí que estaba bien, así que en el campo de descripción puse "prueba 1" (<span style="font-weight: bold;" class="mycode_b">nota: el campo de descripción se ve cortado a la mitad del cuadro del marco</span>).  <br />
<br />
Luego, le di a "<span style="font-weight: bold;" class="mycode_b">Compartir</span>". El botón se queda en blanco y no pasa nada. Tras varios intentos fallidos, intenté poner un video de YouTube y tampoco funcionó.<br />
<br />
Luego, la página se bloquea mostrando un <span style="font-weight: bold;" class="mycode_b">error 500</span>.<br />
Esto ocurrió tanto en la demo como en la instalación local.<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">======================================</span></span><br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">En perfil/</span> </span><br />
En <span style="font-weight: bold;" class="mycode_b">Registrate o inicia tu sesión para ver este contenido</span> no funciona o dejo de funcionar, se carga la pagina pero la portada dejo de funcionar <br />
Registrate o inicia tu sesión para ver este contenido<br />
=========================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
No se puede eliminar post del muro con la <span style="font-weight: bold;" class="mycode_b">X</span> para eliminar publicacion en muro no hace nada.<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
no se puede subir fotos al muro<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
la pagina de Retos da error dice: No direct access.<br />
====================================================<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">6.</span><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
aveces no se le puede dar like a videos<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
la barra de dar like ocupa la mitad del post en muro : Registrate o inicia tu sesión para ver este contenido<br />
me parece que va debajo<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
boton compartir extrano al dar click se comporta raro y algo anormal<br />
====================================================<br />
<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">9.</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #27ae60;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">Resuelto</span></span></span><br />
postea un video y luego trata de postear otro y el anterior se queda y no deja poner un nuevo video.<br />
====================================================</div>
 <span style="font-weight: bold;" class="mycode_b">Reportando...<br />
gracias.</span><br />
<div style="text-align: left;" class="mycode_align"> </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problemas para subir imágenes]]></title>
			<link>https://phpost.es/tema-SIN-RESPUESTA-Problemas-para-subir-im%C3%A1genes</link>
			<pubDate>Wed, 10 Jun 2026 03:34:44 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://phpost.es/member.php?action=profile&uid=1527">comandante</a>]]></dc:creator>
			<guid isPermaLink="false">https://phpost.es/tema-SIN-RESPUESTA-Problemas-para-subir-im%C3%A1genes</guid>
			<description><![CDATA[HAY PROBLEMAS PARA SUBIR IMAGENES, AQUI ME MUESTRA UN ARCHIVO PHP, PERO NO EXISTE EN EL SCRIPT?<br />
<img src="https://i.imgur.com/r6HTC3r.png" loading="lazy"  alt="[Imagen: r6HTC3r.png]" class="mycode_img img-responsive" /><img src="https://i.imgur.com/3vUqDuu.png" loading="lazy"  alt="[Imagen: 3vUqDuu.png]" class="mycode_img img-responsive" /><img src="https://i.imgur.com/MT2MqUq.png" loading="lazy"  alt="[Imagen: MT2MqUq.png]" class="mycode_img img-responsive" />]]></description>
			<content:encoded><![CDATA[HAY PROBLEMAS PARA SUBIR IMAGENES, AQUI ME MUESTRA UN ARCHIVO PHP, PERO NO EXISTE EN EL SCRIPT?<br />
<img src="https://i.imgur.com/r6HTC3r.png" loading="lazy"  alt="[Imagen: r6HTC3r.png]" class="mycode_img img-responsive" /><img src="https://i.imgur.com/3vUqDuu.png" loading="lazy"  alt="[Imagen: 3vUqDuu.png]" class="mycode_img img-responsive" /><img src="https://i.imgur.com/MT2MqUq.png" loading="lazy"  alt="[Imagen: MT2MqUq.png]" class="mycode_img img-responsive" />]]></content:encoded>
		</item>
	</channel>
</rss>