-
Cómo funcionan las Mision...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
Ayer, 09:46 PM
» Respuestas: 0
» Vistas: 80 -
V6 Original/Dark/Memes (A...
Foro: Diseños Terminados
Último mensaje por: carlos007r
Ayer, 11:08 AM
» Respuestas: 26
» Vistas: 6,343 -
V5
Foro: Diseños Terminados
Último mensaje por: Aeikox
06-13-2026, 12:16 AM
» Respuestas: 8
» Vistas: 1,449 -
Risus 1.3 Actualizado jQu...
Foro: Risus 1.3
Último mensaje por: Tronlar
06-12-2026, 10:45 PM
» Respuestas: 55
» Vistas: 10,663 -
Preguntas Frecuentes y So...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-12-2026, 06:17 PM
» Respuestas: 0
» Vistas: 64 -
Cómo registrar tu comunid...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-12-2026, 05:32 PM
» Respuestas: 0
» Vistas: 57 -
Cómo monetizar tu comunid...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 07:19 PM
» Respuestas: 0
» Vistas: 56 -
Introducción al SEO para ...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 06:58 PM
» Respuestas: 0
» Vistas: 59 -
Guía completa de SEO para...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 06:48 PM
» Respuestas: 0
» Vistas: 62 -
Diccionario de términos b...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 01:41 PM
» Respuestas: 0
» Vistas: 88
- Mensajes del foro:1,957
- Temas del foro:614
- Miembros:1,036
- Último miembro:carlos007r
Hola saludos.
Estoy en localhost quiero modificar c.comunidades.php para instalar un [mod].
Pero al modificar algo de ese archivo me sale este error en miembros de la comunidad.
Estoy en miembros de mi comunidad y voy a cambiarle el rango a un miembro.
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Antes de modificar c.comunidades.php todo esta bien con la ventana modal.
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Ahora la ventana modal después de modificar c.comunidades.php
[img]Registrate o inicia tu sesión para ver este contenido[/img]
¿Por qué pasa eso?
¿Cómo edito c.comunidades.php sin que me salga ese error?
No se si solo me pase a mi. uso v6dark 1.3.0.0
En centro de moderacion /denuncias de comunidades
Cuando quiero ver la información y detalles del denunciante no la muestra ejemplo:
Cuando le doy a la flecha que indica en la imágen de arriba no me muestra la información, me sale:
Hola tengo una pregunta si me podrian ayudar no creo que sea complemento solo quiero poner algo para que se pueda poner un codigo embed code para poner videos en codigo embed algo asi gracias de antemano saludos
Hola saludos. me gustaría poner otro idioma en la web que estoy por terminar, habrá manera de puedas construír el complemento perfecto para esta petición, y que los visitantes pueden cambiar el idioma.?
-- Agregar otro idioma a tu pagina web. --
Yo por ejemplo solo me viene a la mente usando estos códigos:
{if $tsLang.l_english}Hello welcome!{else}Hola bienvenido!{/if}

[img]Registrate o inicia tu sesión para ver este contenido[/img]
<form action="/index.php">
<label for="idiomas">IDIOMA:</label>
<select name="idiomas" id="idiomas">
<optgroup label="idioma">
<option value="espanol">Español</option>
<option value="english">English</option>
</optgroup>
</select>
<input type="submit" value="Submit">
</form>
[font]Añadir estadísticas de las comunidades al home[/font]
1 - Ejecutan esta consulta (solo si no lo tienen)
ALTER TABLE w_stats ADD `stats_comunidades` int(11) NOT NULL DEFAULT 0, ADD `stats_temas` int(11) NOT NULL DEFAULT 0, ADD `stats_respuestas` int(11) NOT NULL DEFAULT 0;2 - Ir a inc/class/c.tops.php y buscar
$q5 = db_exec('fetch_row', db_exec([__FILE__, __LINE__], 'query', 'SELECT COUNT(cid) AS fc FROM f_comentarios'));
debajo agregar
$q6 = db_exec('fetch_row', db_exec([__FILE__, __LINE__], 'query', 'SELECT COUNT(c_id) AS total FROM c_comunidades WHERE c_estado = \'0\''));
$q7 = db_exec('fetch_row', db_exec([__FILE__, __LINE__], 'query', 'SELECT COUNT(t_id) AS total FROM c_temas LEFT JOIN c_comunidades ON c_id = t_comunidad WHERE t_estado = \'0\' AND c_estado = \'0\''));
$q8 = db_exec('fetch_row', db_exec([__FILE__, __LINE__], 'query', 'SELECT COUNT(r_id) AS total FROM c_respuestas LEFT JOIN c_temas ON t_id = r_tema LEFT JOIN c_comunidades ON c_id = t_id WHERE r_estado = \'0\' AND t_estado = \'0\' AND c_estado = \'0\''));
un poco más abajo buscar
$return['stats_comments'] = $q4[0];
$return['stats_foto_comments'] = $q5[0];
y debajo añadir
$return['stats_comunidades'] = $q6[0];
$return['stats_temas'] = $q7[0];
$return['stats_respuestas'] = $q8[0];
luego deben buscar
stats_foto_comments = \''.$return['stats_foto_comments'].'\'
y a lado agregan lo siguiente
, stats_comunidades = \''.$return['stats_comunidades'].'\', stats_temas = \''.$return['stats_temas'].'\', stats_respuestas = \''.$return['stats_respuestas'].'\'
3 - Luego en themes/TUTHEME/templates/modules/m.home_stats.tpl buscan
</table>
y arriba pegan, pueden poner el icono que deseen...
<tr>
<td style="background-image:url({$tsConfig.images}/icons/details.png);">{$tsStats.stats_temas} temas</td>
<td style="background-image:url({$tsConfig.images}/icons/comment.png);">{$tsStats.stats_respuestas} comentarios en temas</td>
</tr>
No esta comunidades pero si lo quieren solo deben agregar
<tr>
<td style="background-image:url({$tsConfig.images}/icons/details.png);">{$tsStats.stats_comunidades} comunidades</td>
</tr>
Agregar las últimas comunidades y últimos temas en la home
1 - Abrir inc/php/posts.php y buscar
// AFILIADOS
$smarty->assign("tsAfiliados",$tsAfiliado->getAfiliados());
arriba añaden esto
// COMUNIDADES Y TEMAS
include TS_CLASS . "c.comunidades.php";
$tsCom = new tsCom();
$smarty->assign("tsLastComunidades", $tsCom->getComRecentHome());
$smarty->assign("tsLastTemas", $tsCom->getTemasRecentHome());
2 - Luego va a inc/class/c.comunidades.php y buscan
function getComRecentHome() {
y arriba agregan
function getTemasRecentHome() {
global $tsCore, $tsUser;
$query = db_exec([__FILE__, __LINE__], 'query', 'SELECT t_id, t_titulo, t_comunidad, t_autor, t_fecha, t_estado, t_ip, c_nombre, c_nombre_corto FROM c_temas LEFT JOIN c_comunidades ON t_comunidad = c_id LEFT JOIN u_miembros ON user_id = t_autor WHERE t_id > \'0\' '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : '&& user_activo = \'1\' && user_baneado = \'0\' && t_estado = \'0\'').' ORDER BY t_fecha DESC LIMIT 10');
$data = result_array($query);
return $data;
}
3 - Por último ir a themes/TUTHEME/templates/t.home.tpl y lo ubican donde quieren, puede ir debajo de
{include file='modules/m.home_stats.tpl'}y agregan lo siguiente
{include file='modules/m.home_temas.tpl'}4 - Como ese archivo no existe en modules crean un archivo con ese nombre m.home_temas.tpl u otro nombre que deseen y dentro agregan todo esto
<div>
<div class="box_title">
<div class="box_txt estadisticas">Últimas comunidades</div>
</div>
<div class="box_cuerpo" style="padding: 0pt; height: 230px;">
<ol class="filterBy cleanlist" style="display:block;">
{foreach from=$tsLastComunidades key=i item=tema}
<li>
{if $i+1 < 10}0{/if}{$i+1}.
<a href="{$tsConfig.url}/comunidades/{$tema.c_nombre_corto}/">{$tema.c_nombre}</a>
</li>
{/foreach}
</ol>
</div>
<br class="space"/>
</div>
<div>
<div class="box_title">
<div class="box_txt estadisticas">Últimos temas</div>
</div>
<div class="box_cuerpo" style="padding: 0pt; height: 230px;">
<ol class="filterBy cleanlist" style="display:block;">
{foreach from=$tsLastTemas key=i item=tema}
<li>
{if $i+1 < 10}0{/if}{$i+1}.
<a href="{$tsConfig.url}/comunidades/{$tema.c_nombre_corto}/{$tema.t_id}/{$tema.t_titulo|seo}.html"><strong>{$tema.t_titulo}</strong></a>
<!-- Agregar la comunidad
<a href="{$tsConfig.url}/comunidades/{$tema.c_nombre_corto}/">{$tema.c_nombre}</a>
-->
</li>
{/foreach}
</ol>
</div>
<br class="space"/>
</div>Las comunidades que estoy usando es la de KMario19
[MOD] Sitemap Administrable v2
Mod original: Sitemaps Administrables v1 (Act 1.3)
Autor: aperpen
¿Que tiene de nuevo?
- Administración completa (v1)
- Administración modificada (v2)
- Inserción en robots.txt, para google detecte tu sitemap (v1)
# Configuraciones:
- Opción de insertar de forma automática los posts y las fotos que se crean (v1)
- Opción de actualizar la última modificación de una URL al editar un post o una imagen (v1)
# Ver URLs incluídas en el sitemap:
- Agregar, Editar, Borrar URLs (v1)
- Los cambios que realices de URLs no se verán reflejados en el sitemap no se verán reflejados hasta que tu lo desees. (v1)
- Sitemap completo (Url, frecuencia, ultima modificación, prioridad) (v1)
- URLs principales de tu web, incluídas por defecto. (v1)
- Restaurar URLs que vienen por defecto en cualquier momento. (v1)
# Generar la creación de archivos
- Sitemap.xml (v2)
- Robots.txt (v2)
La guía de instalación lo haré desde cero, en caso que ya lo tengas instalados, solo deberás reemplazar los fragmentos de códigos, ya que iran en el mismo lugar!
1 - Realizan la consulta
CREATE TABLE IF NOT EXISTS `w_sitemap` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`url` tinytext NOT NULL DEFAULT '',
`frecuencia` varchar(15) NOT NULL DEFAULT '',
`fecha` int(16) NOT NULL DEFAULT 0,
`prioridad` decimal(2,1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
ALTER TABLE `w_configuracion`
ADD `sm_posts` int(1) NULL DEFAULT '1',
ADD `sm_fotos` int(1) NOT NULL DEFAULT '1',
ADD `sm_update_p` int(1) NOT NULL DEFAULT '1',
ADD `sm_update_f` int(1) NOT NULL DEFAULT '1';2 - Abren el inc/class/c.admin.php y buscan la última llave } que cierra la class tsAdmin
/*
* Sitemap y SEO administrables
*/
public function saveConfigSitemap(){
global $tsCore;
$configuraciones = [
"posts" => empty($_POST['sm_posts']) ? 0 : 1,
"fotos" => empty($_POST['sm_fotos']) ? 0 : 1,
"update_p" => empty($_POST['sm_update_p']) ? 0 : 1,
"update_f" => empty($_POST['sm_update_f']) ? 0 : 1
];
$columns = $tsCore->setUpdate($configuraciones, "sm_");
if (db_exec([__FILE__, __LINE__], 'query', "UPDATE w_configuracion SET {$columns} WHERE tscript_id = 1")) return true;
else exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') );
}
3 - Abren el inc/php/admin.php y buscan:
/** MEDALLAS **/
} elseif($action == 'medals') {
y arriba añaden o reemplazan (solo si lo tienen)
//SITEMAP BY APERPEN
} elseif($action == 'sitemap') {
if(empty($act)) {
// Obtenemos todas las urls de la base de datos
$smarty->assign("tsURLs", $tsSiteMap->getURLsBD());
} elseif($act === 'restaurar') {
// Restauramos el sitemap
if($tsSiteMap->CreateSiteMap()) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
} elseif($act === 'generar') {
// Generamos el sitemap
if($tsSiteMap->generateSiteMap()) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
} elseif($act === 'actual') {
$smarty->assign("tsURLa", $tsSiteMap->getURLsBD());
} elseif($act === 'borrar') {
if($tsSiteMap->removeUrlBD((int)$_GET['id'])) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
} elseif($act === 'editar') {
if(!empty($_POST['url'])) {
if($tsSiteMap->editUrl($_GET['id'], $_POST['url'], $_POST['frecuencia'], $_POST['prioridad'])) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
} else $smarty->assign("tsURL", $tsSiteMap->getUrl((int)$_GET['id']));
} elseif($act === 'nueva') {
if(!empty($_POST['url'])) {
if($tsSiteMap->addURL($_POST['url'], $_POST['frecuencia'], $_POST['prioridad'])) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
}
} elseif($act === 'config') {
if(isset($_POST['sm_posts'])) {
if($tsAdmin->saveConfigSitemap()) {
$tsCore->redirectTo($tsCore->settings['url'].'/admin/sitemap?save=true');
}
}
}
4 - Abren el inc/class/c.posts.php y buscan:
$tsActividad->setActividad(1, $postID);
// SUBIR DE RANGO?
$this->subirRango($tsUser->uid);
y abajo agregan
// Añadimos al sitemap
if($tsCore->settings['sm_posts'] === 1) {
$CatSeo = db_exec('fetch_assoc', db_exec([__FILE__, __LINE__], 'query', 'SELECT c_seo FROM p_categorias WHERE cid = '.(int)$postData['category']))['c_seo'];
$tsSiteMap->addUrlsm($tsCore->settings['url'].'/posts/'.$CatSeo.'/'.$postID.'/'.$tsCore->setSEO($postData['title']).'.html');
}
En el mismo archivo en la funcion savePost() arriba de
// GUARDAR EN EL HISTORIAL DE MODERACION
if(($tsUser->is_admod || $tsUser->permisos['moedpo']) && $tsUser->uid != $data['post_user'] && $_POST['razon']){
añaden esto
// Añadimos al sitemap
if($tsCore->settings['sm_update_p'] === 1) {
$CatSeo = db_exec('fetch_assoc', db_exec([__FILE__, __LINE__], 'query', 'SELECT c_seo FROM p_categorias WHERE cid = '.(int)$postData['category']))['c_seo'];
$tsSiteMap->updateLM($tsCore->settings['url'].'/posts/'.$CatSeo.'/'.$post_id.'/'.$tsCore->setSEO($postData['title']).'.html');
}
5 - Abren el inc/class/c.fotos.php y buscan:
// AGREGAR AL MONITOR DE LOS USUARIOS QUE ME SIGUEN
$tsMonitor->setFollowNotificacion(10, 1, $tsUser->uid, $fid);
// ACTIVIDAD
$tsActividad->setActividad(9, $fid);
y agregan debajo
// Añadimos al sitemap
if($tsCore->settings['sm_fotos'] === 1) {
$tsSiteMap->updateLM($tsCore->settings['url'].'/fotos/'.$tsUser->nick.'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html');
}
y más abajo en la funcion editFoto() buscan
// REDIRIGIMOS
$url = $tsCore->settings['url'].'/fotos/'.$data['user_name'].'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html';
añaden esto
// Añadimos al sitemap
if($tsCore->settings['sm_update_f'] === 1) {
$tsSiteMap->updateLM($tsCore->settings['url'].'/fotos/'.$data['user_name'].'/'.$fid.'/'.$tsCore->setSEO($fData['titulo']).'.html');
}
6 - Abren el header.php que está en la raíz de su web y buscan:
// Mensajes de usuario
include TS_CLASS.'c.mensajes.php'
y debajo agregan
include TS_CLASS.'c.sitemap.php';
$tsSiteMap = new tsSiteMap();
// Instalación automática a través de parámetros
$tsSiteMap->setAuto();
7 - Si quieren lo hacen (PASO 5)
8 - Abren el themes/TUTEMA/templates/t.admin.tpl y buscan:
{elseif $tsAction == 'rangos'}
{include file='admin_mods/m.admin_rangos.tpl'}y abajo agregan
{elseif $tsAction == 'sitemap'}
{include file='admin_mods/m.admin_sitemap.tpl'}9 - Abren el themes/TUTEMA/templates/admin_mods/m.admin_sidemenu.tpl y buscan:
<h4>Control de Usuarios</h4>
<ul class="cat-list">
<li id="a_users"><span class="cat-title"><a href="{$tsConfig.url}/admin/users">Todos los Usuarios</a></span></li>
<li id="a_sesiones"><span class="cat-title"><a href="{$tsConfig.url}/admin/sesiones">Sesiones</a></span></li>
<li id="a_nicks"><span class="cat-title"><a href="{$tsConfig.url}/admin/nicks">Cambios de Nicks</a></span></li>
<li id="a_rangos"><span class="cat-title"><a href="{$tsConfig.url}/admin/rangos">Rangos de Usuarios</a></span></li>
</ul>y debajo añaden
<h4>SEO</h4>
<ul class="cat-list">
<li id="a_cats"><span class="cat-title"><a href="{$tsConfig.url}/admin/sitemap">Sitemap</a></span></li>
</ul>10 - Suben los archivos a sus carpetas correspondientes
c.sitemap.php -> inc/class
m.admin_sitemap.tpl (smarty 3.x) o (smarty 4.x) -> themes/TUTEMA/templates/admin_mods
11 - Para acabar, este paso en la v2 esta cambiado, por lo cual no requiere de crea un archivo en la raíz de su web que se llame install.php
Lo pueden ejecutar de 3 formas, si o si deben poner &uid=1, para que se pueda comprobar que es el administrador
Solo crea el Sitemap.xml
Registrate o inicia tu sesión para ver este contenido?sitemap=true&uid=1
Solo crea el Robots.txt
Registrate o inicia tu sesión para ver este contenido?robots=true&uid=1
Crea el sitemap.xml y Robots.txt
Registrate o inicia tu sesión para ver este contenido?sitemap=true&robots=true&uid=1
- Se han actualizado todas las librerías del sistema, ya que las versiones anteriores tenían riesgos conocidos en la seguridad que ponen en peligro los sitios web con esas versiones al público.
- Se ha creado un nuevo diseño basado en la versión de taringa la cual hemos llamado V7 Taringa el tema será llamado default en el directorio, ya que es en base al default de phpost.
- Se han modificado y reestilizado los esquemas agregando un diseño mejorado, limpio y responsivo, que es lo más importante para un sitio web de actualidad.
- Se han corregido muchísimos errores en la actualización del sistema, ya que la versión anterior Risus 1.3 tenía bastantes errores que ya se han corregido y otros debido a todas las actualizaciones de librerías y repositorios de terceros.
- Funcionalidad completa con php 8 y anteriores, dejando la retrocompatibilidad con todas las versiones de php hasta ahora conocidas.
- Algunas funcionalidades y mejoras fueron agregadas para darle un toque más parecido a lo que buscan los usuarios que usan PHPost.
- Se ha mejorado el sistema en rendimiento y funcionalidad, colocando nuevas rutinas, funciones y correcciones de cosas que no funcionaban según reportes de usuarios.
Actualizado el 06/01/2023
Al final de la instalación entran a Registrate o inicia tu sesión para ver este contenido y tiene que salir un mensaje que diga:
Cita:Sitemap restaurado correctamente
Demo
http://Registrate o inicia tu sesión par... contenido
Captura
Descarga
Mega
http://Registrate o inicia tu sesión par... contenido
Google Drive
http://Registrate o inicia tu sesión par... contenido
Mediafire
http://Registrate o inicia tu sesión par... contenido
Uptobox
http://Registrate o inicia tu sesión par... contenido
4shared
http://Registrate o inicia tu sesión par... contenido
Tema Identi actualizado con comunidades, zona Vip, catálogos y otras mejoras.
Capturas
DEMO
http://Registrate o inicia tu sesión par... contenido
Nota: Ejecutar y subir las consultas que estan en los archivos del tema después de la instalación.
Descarga
Mega
http://Registrate o inicia tu sesión par... contenido
Google Drive
http://Registrate o inicia tu sesión par... contenido
Mediafire
http://Registrate o inicia tu sesión par... contenido
Uptobox
http://Registrate o inicia tu sesión par... contenido
4shared
http://Registrate o inicia tu sesión par... contenido
buenas a todos, queria presentarles mi web. se las dejo por aqui el que quiera registrarse y aportar contenidos sera bienvenido. muchas gracias
telfull.online
Hola, esta es otra sugerencia.
Tanto en inc/class/c.core.php como en inc/smarty/plugins/modifier.hace.php, para reemplazar en el plugin solo deben toma lo que esta dentro de la funcion setHace(...) y usarlo
Función original:
/**
* setHace()
* if ternario
*/
function setHace($fecha, $show = false){
$fecha = $fecha;
$ahora = time();
$tiempo = $ahora-$fecha;
if($fecha <= 0) return 'Nunca';
elseif(round($tiempo / 31536000) <= 0){
if(round($tiempo / 2678400) <= 0) {
if(round($tiempo / 86400) <= 0) {
if(round($tiempo / 3600) <= 0) {
if(round($tiempo / 60) <= 0) {
if($tiempo <= 60) $hace = 'instantes';
} else {
$can = round($tiempo / 60);
$word = ($can <= 1) ? 'minuto' : 'minutos';
$hace = "{$can} {$word}";
}
} else {
$can = round($tiempo / 3600);
$word = ($can <= 1) ? 'hora' : 'horas';
$hace = "{$can} {$word}";
}
} else {
$can = round($tiempo / 86400);
$word = ($can <= 1) ? 'día' : 'días';
$hace = "{$can} {$word}";
}
} else {
$can = round($tiempo / 2678400);
$word = ($can <= 1) ? 'mes' : 'meses';
$hace = "{$can} {$word}";
}
} else {
$can = round($tiempo / 31536000);
$word = ($can <= 1) ? 'año' : 'años';
$hace = "{$can} {$word}";
}
return ($show == true) ? 'Hace '.$hace : $hace;
}
Se puede reducir de esta manera:
/**
* setHace($fecha, $show)
* @access public
* @param int $fecha
* @param bool $show
* @return string
*/
public function setHace(int $fecha = 0, $show = false){
# Creamos
$tiempo = time() - $fecha;
if($fecha <= 0) return 'Nunca';
// Declaración de unidades de tiempo, aunque es un aproximado
// Ya que existe años bisiestos 366 días
$unidades = [
31536000 => 'año',
2678400 => 'mes',
604800 => 'semana',
86400 => 'día',
3600 => 'hora',
60 => 'minuto'
];
foreach($unidades as $segundos => $nombre){
$round = round($tiempo / $segundos);
if($tiempo <= 60) $hace = "instantes";
else {
if($round > 0){
$nes = ($nombre === 'mes') ? 'es' : 's';
$hace = "{$round} {$nombre}" . ($round > 1 ? $nes : '');
break;
}
}
}
// Si se ha establecido la opción $show, se agrega 'Hace' al resultado
return ($show ? "Hace " : "") . $hace;
}

