¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, es necesario tener una cuenta activa.
Por favor, regístrate utilizando un correo electrónico válido para completar la activación.

Descarga Risus Nova 2.0   (Ver notas de la versión) (ACT-15/06/2026- 21:00 ESP)

Regístrate Descargar Risus Nova
Últimos temas

Estadísticas del foro
  • Mensajes del foro:1,957
  • Temas del foro:614
  • Miembros:1,036
  • Último miembro:carlos007r


Enviado por: sexyalo32
03-24-2021, 09:42 PM
Foro: Ayuda y Soporte
- Respuestas (8)

hola necesito ayuda he probado varios script que ya son viejo y que el capcha no le funciona..
como el script moovax ex voope.. o el smline el script de versiones antigua de phpost... como se puede hacer para que el capcha quede
otra ves actualizado que codigo hay que tocar.... y que vuelve a verse el capcha en el registro de usuario.... 
todo esto esta relacionado con el capcha de google....

gracias...!!!

Imprimir


Enviado por: Alt98
03-18-2021, 02:04 AM
Foro: Presentaciones
- Respuestas (6)

¡Hola a todos los del foro! 

Me llamo Víctor y soy de México. 
Ya tenía años que no me registraba en ningún foro y pues llegue aquí cuando estaba buscando un script para implementarlo en mi web. No se nada de programación y estoy aprendiendo poco a poco con los tutoriales y los consejos de @ Tronlar 

Recién puse en funcionamiento el sitio y quiero presentarlo aquí al foro para que ustedes los expertos me den su visto bueno, sus comentarios y sugerencias para mejorarlo. 
 


Gracias a los que se tomen la molestia de visitarlo y a los que no, también.  Smile

@ Tronlar Sería un honor para mí que seas mi sponsor  Bow

Imprimir


Enviado por: Chctrpgo
03-10-2021, 11:09 PM
Foro: Diseños Terminados
- Respuestas (4)

Captura
 

[img]Registrate o inicia tu sesión para ver este contenido[/img]

 
Demo
http://Registrate o inicia tu sesión par... contenido

Usercralke
1q2w3e4r5t



Instalación desde cero:
  • Se instala igual que el script Risus, suben los archivos de la carpeta y hacen los paso de la instalación, al terminar la instalación tienes que ejecutar las consultas en tu base de datos que están dentro del archivo que te descargas.


Descargar archivos

Mega
http://Registrate o inicia tu sesión par... contenido

Googe Drive
http://Registrate o inicia tu sesión par... contenido

Mediafire
http://Registrate o inicia tu sesión par... contenido

                  
              
           
                              
Instalación teniendo ya otro tema o la web avanzada:
  • Si tienes mods instalados que hayas tenido que editar los archivos c.borradores.php, c.cuenta.php y c.posts.php tienes que seguir el tutorial para instalarlo, si no has editado esos archivos, dejo esos archivos ya editados y lo puedes sustituir y hacer una instalación normal como cualquier otro tema más ejecutar las consultas.
                
         
Tutorial
  • Imagen de portada en los posts Kmario19

          
Ejecutar estas consultas
 
Código PHP:
ALTER TABLE p_posts ADD post_portada VARCHAR180 NOT NULL
 
Código PHP:
ALTER TABLE p_borradores ADD b_portada VARCHAR180 NOT NULL 
 
  
En c.posts.php --> inc --> class --> c.posts.php

Buscar:
 
Código PHP:
/*
getPreview()
*/
function getPreview(){
global 
$tsCore;
//
$titulo $tsCore->setSecure($_POST['titulo'], true);
$cuerpo $tsCore->setSecure($_POST['cuerpo'], true);
//
return array('titulo' => $titulo'cuerpo' => $tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true));



Reemplazar por:
 
Código PHP:
/*
getPreview()
*/
function getPreview(){
global 
$tsCore;
//
$titulo $tsCore->setSecure($_POST['titulo'], true);
$imagen $tsCore->setSecure($_POST['imagen'], true);
$cuerpo $tsCore->setSecure($_POST['cuerpo'], true);
//
return array('titulo' => $titulo'imagen' => $imagen'cuerpo' => $tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true));

 
  
Buscar:
 
Código PHP:
'title' => $tsCore->parseBadWords($tsCore->setSecure($_POST['titulo'], true)),2
 
  
Debajo agregar:
 
Código PHP:
'portada' => $tsCore->setSecure($_POST['imagen']), 


Buscar:
 
Código PHP:
// CATEGORIAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_nombre, c.c_seo FROM p_categorias AS c WHERE c.cid = \''.$postData['post_category'].'\'');
$postData['categoria'] = db_exec('fetch_assoc'$query); 


Reemplazar por:
 
Código PHP:
// CATEGORIAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_nombre, c.c_img, c.c_seo FROM p_categorias AS c WHERE c.cid = \''.$postData['post_category'].'\'');
$postData['categoria'] = db_exec('fetch_assoc'$query); 
  
 
Buscar:
 
Código PHP:
// INSERTAMOS
$_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'] ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
if(!
filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) { die('0: Su ip no se pudo validar.'); }
if(
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_posts` (post_user, post_category, post_title, post_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\', \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == || $tsUser->permisos['gorpap'] == true) ? '\'3\'' '\'0\'').')')) {
$postID db_exec('insert_id'); 
 
  
Reemplazar por:
 
Código PHP:
// INSERTAMOS
$_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'] ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
if(!
filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) { die('0: Su ip no se pudo validar.'); }
if(
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_posts` (post_user, post_category, post_title, post_portada, post_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\', \''.$postData['portada'].'\', \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == || $tsUser->permisos['gorpap'] == true) ? '\'3\'' '\'0\'').')')) {
$postID db_exec('insert_id'); 
 
 
Buscar:
 
Código PHP:
'title' => $tsCore->parseBadWords($_POST['titulo'], true), 
 
 
Debajo agregar:
 
Código PHP:
'portada' => $tsCore->setSecure($_POST['imagen'], true), 
 
  
Buscar:
 
Código PHP:
// ACTUALIZAMOS
if($tsUser->uid == $data['post_user'] || !empty($tsUser->is_admod) || !empty($tsUser->permisos['moedpo'])){
if(
db_exec(array(__FILE____LINE__), 'query''UPDATE p_posts SET post_title = \''.$postData['title'].'\', post_body = \''.$postData['body'].'\', post_tags = \''.$tsCore->setSecure($postData['tags']).'\', post_category = \''.(int)$postData['category'].'\', post_private = \''.$postData['private'].'\', post_block_comments = \''.$postData['block_comments'].'\', post_sponsored = \''.$postData['sponsored'].'\', post_smileys = \''.$postData['smileys'].'\', post_visitantes = \''.$postData['visitantes'].'\', post_sticky = \''.$postData['sticky'].'\' WHERE post_id = \''.(int)$post_id.'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db') )) { 


Reemplazar por:
 
Código PHP:
// ACTUALIZAMOS
if($tsUser->uid == $data['post_user'] || !empty($tsUser->is_admod) || !empty($tsUser->permisos['moedpo'])){
if(
db_exec(array(__FILE____LINE__), 'query''UPDATE p_posts SET post_title = \''.$postData['title'].'\', post_portada = \''.$postData['portada'].'\', post_body = \''.$postData['body'].'\', post_tags = \''.$tsCore->setSecure($postData['tags']).'\', post_category = \''.(int)$postData['category'].'\', post_private = \''.$postData['private'].'\', post_block_comments = \''.$postData['block_comments'].'\', post_sponsored = \''.$postData['sponsored'].'\', post_smileys = \''.$postData['smileys'].'\', post_visitantes = \''.$postData['visitantes'].'\', post_sticky = \''.$postData['sticky'].'\' WHERE post_id = \''.(int)$post_id.'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db') )) { 


Buscar:
 
Código PHP:
// ES SU POST EL Q INTENTA BORRAR?
$query db_exec(array(__FILE____LINE__), 'query''SELECT post_id, post_title, post_user, post_body, post_category FROM p_posts WHERE post_id = \''.(int)$post_id.'\' AND post_user = \''.$tsUser->uid.'\'');
$data db_exec('fetch_assoc'$query);

db_exec(array(__FILE____LINE__), 'query''UPDATE `w_stats` SET `stats_posts` = stats_posts - \'1\' WHERE `stats_no` = \'1\'');
db_exec(array(__FILE____LINE__), 'query''UPDATE `u_miembros` SET `user_posts` = user_posts - \'1\' WHERE `user_id` = \''.$data['post_user'].'\'');
// ES MIO O SOY MODERADOR/ADMINISTRADOR...
if(!empty($data['post_id']) || !empty($tsUser->is_admod)){
// SI ES MIS POST LO BORRAMOS Y MANDAMOS A BORRADORES
if(db_exec(array(__FILE____LINE__), 'query''DELETE FROM p_posts WHERE post_id = \''.(int)$post_id.'\'')) {
if(
db_exec(array(__FILE____LINE__), 'query''DELETE FROM p_comentarios WHERE c_post_id = \''.(int)$post_id.'\'')) {
if(
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_borradores` (b_user, b_date, b_title, b_body, b_tags, b_category, b_status, b_causa) VALUES (\''.$tsUser->uid.'\', \''.time().'\', \''.$tsCore->setSecure($data['post_title']).'\', \''.$tsCore->setSecure($data['post_body']).'\', \'\', \''.$data['post_category'].'\', \'2\', \'\')'))
return 
"1: El post fue eliminado satisfactoriamente.";



Reemplazar por:
 
Código PHP:
// ES SU POST EL Q INTENTA BORRAR?
$query db_exec(array(__FILE____LINE__), 'query''SELECT post_id, post_title, post_portada, post_user, post_body, post_category FROM p_posts WHERE post_id = \''.(int)$post_id.'\' AND post_user = \''.$tsUser->uid.'\'');
$data db_exec('fetch_assoc'$query);

db_exec(array(__FILE____LINE__), 'query''UPDATE `w_stats` SET `stats_posts` = stats_posts - \'1\' WHERE `stats_no` = \'1\'');
db_exec(array(__FILE____LINE__), 'query''UPDATE `u_miembros` SET `user_posts` = user_posts - \'1\' WHERE `user_id` = \''.$data['post_user'].'\'');
// ES MIO O SOY MODERADOR/ADMINISTRADOR...
if(!empty($data['post_id']) || !empty($tsUser->is_admod)){
// SI ES MIS POST LO BORRAMOS Y MANDAMOS A BORRADORES
if(db_exec(array(__FILE____LINE__), 'query''DELETE FROM p_posts WHERE post_id = \''.(int)$post_id.'\'')) {
if(
db_exec(array(__FILE____LINE__), 'query''DELETE FROM p_comentarios WHERE c_post_id = \''.(int)$post_id.'\'')) {
if(
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_borradores` (b_user, b_date, b_portada, b_title, b_body, b_tags, b_category, b_status, b_causa) VALUES (\''.$tsUser->uid.'\', \''.time().'\', \''.$tsCore->setSecure($data['post_title']).'\', \''.$tsCore->setSecure($data['post_portada']).'\', \''.$tsCore->setSecure($data['post_body']).'\', \'\', \''.$data['post_category'].'\', \'2\', \'\')'))
return 
"1: El post fue eliminado satisfactoriamente.";



Buscar:
 
Código PHP:
/*********/
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_date, p.post_comments, p.post_puntos, p.post_private, p.post_sponsored, p.post_status, p.post_sticky, u.user_id, u.user_name, u.user_activo, u.user_baneado, c.c_nombre, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == '' ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 'p.post_id > 0' 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' '.$c_where.' '.$s_where.' GROUP BY p.post_id ORDER BY '.$s_order.' DESC LIMIT '.$start);
$lastPosts['data'] = result_array($query); 
 
 
Reemplazar por:
 
Código PHP:
/*********/
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_portada, p.post_date, p.post_comments, p.post_puntos, p.post_hits, p.post_private, p.post_sponsored, p.post_status, p.post_sticky, u.user_id, u.user_name, u.user_activo, u.user_baneado, c.c_nombre, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == '' ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 'p.post_id > 0' 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' '.$c_where.' '.$s_where.' GROUP BY p.post_id ORDER BY '.$s_order.' DESC LIMIT '.$start);
$lastPosts['data'] = result_array($query); 


Buscar:
 
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_date, p.post_comments, p.post_favoritos, p.post_puntos, u.user_name, c.c_seo, c.c_nombre, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON u.user_id = p.post_user LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_status = \'0\' '.$where_cat.' '.$w_autor.' '.$w_search.' ORDER BY p.post_date DESC LIMIT '.$data['pages']['limit']);
$data['data'] = result_array($query); 
  
  
Reemplazar por:
 
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_portada, p.post_date, p.post_comments, p.post_favoritos, p.post_puntos, u.user_name, c.c_seo, c.c_nombre, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON u.user_id = p.post_user LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_status = \'0\' '.$where_cat.' '.$w_autor.' '.$w_search.' ORDER BY p.post_date DESC LIMIT '.$data['pages']['limit']);
$data['data'] = result_array($query); 
 
 
En c.borradores.php --> inc --> class --> c.borradores.php
 
Buscar:
 
Código PHP:
'title' => $tsCore->setSecure($tsCore->parseBadWords($_POST['titulo']), true), 
 
 
Debajo agregar:
 
Código PHP:
'portada' => $tsCore->setSecure($_POST['imagen'], true), 
 
 
Buscar:
 
Código PHP:
// INSERT
if(db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_borradores` (`b_user`, `b_date`, `b_title`, `b_body`, `b_tags`, `b_category`, `b_private`, `b_block_comments`, `b_sponsored`, `b_sticky`, `b_smileys`, `b_visitantes`, `b_status`, `b_causa`) VALUES (\''.$tsUser->info['user_id'].'\', \''.$draftData['date'].'\', \''.$draftData['title'].'\', \''.$draftData['body'].'\', \''.$draftData['tags'].'\', \''.$draftData['category'].'\', \''.$draftData['private'].'\', \''.$draftData['block_comments'].'\', \''.$draftData['sponsored'].'\', \''.$draftData['sticky'].'\', \''.$draftData['smileys'].'\', \''.$draftData['visitantes'].'\', \'1\', \'\')')) return '1: '.db_exec('insert_id');
else return 
'0: '.show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db'); 
 
 
Reemplazar por:
 
Código PHP:
// INSERT
if(db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_borradores` (`b_user`, `b_date`, `b_portada`, `b_title`, `b_body`, `b_tags`, `b_category`, `b_private`, `b_block_comments`, `b_sponsored`, `b_sticky`, `b_smileys`, `b_visitantes`, `b_status`, `b_causa`) VALUES (\''.$tsUser->info['user_id'].'\', \''.$draftData['date'].'\', \''.$draftData['title'].'\', \''.$draftData['portada'].'\', \''.$draftData['body'].'\', \''.$draftData['tags'].'\', \''.$draftData['category'].'\', \''.$draftData['private'].'\', \''.$draftData['block_comments'].'\', \''.$draftData['sponsored'].'\', \''.$draftData['sticky'].'\', \''.$draftData['smileys'].'\', \''.$draftData['visitantes'].'\', \'1\', \'\')')) return '1: '.db_exec('insert_id');
else return 
'0: '.show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db'); 
 
 
Buscar:
 
Código PHP:
$bid intval($_GET['action']);
$query db_exec(array(__FILE____LINE__), 'query''SELECT bid, b_user, b_date, b_title, b_body, b_tags, b_category, b_private, b_block_comments, b_sponsored, b_sticky, b_smileys, b_post_id, b_status, b_causa FROM `p_borradores` WHERE `bid` = \''.(int)$bid.'\' AND `b_user` = \''.$tsUser->info['user_id'].'\' AND b_status = \''.$status.'\' LIMIT 1');
// 


Reemplazar por:
 
Código PHP:
$bid intval($_GET['action']);
$query db_exec(array(__FILE____LINE__), 'query''SELECT bid, b_user, b_date, b_portada, b_title, b_body, b_tags, b_category, b_private, b_block_comments, b_sponsored, b_sticky, b_smileys, b_post_id, b_status, b_causa FROM `p_borradores` WHERE `bid` = \''.(int)$bid.'\' AND `b_user` = \''.$tsUser->info['user_id'].'\' AND b_status = \''.$status.'\' LIMIT 1');
// 
  • Fondo de perfil y cabecera tipo facebook tutan-kabron

  
Ejecutar estas consultas
 
Código PHP:
ALTER TABLE `u_perfilADD `p_fondoVARCHAR120 NOT NULL
 
Código PHP:
ALTER TABLE `u_perfilADD `p_fondoperVARCHAR120 NOT NULL 
 
 
En c.cuenta.php --> inc --> class --> c.cuenta.php
 
Buscar:
 
Código PHP:
'sitio' => $tsCore->setSecure($tsCore->parseBadWords($sitio), true), 
 
 
Debajo agregar:
 
Código PHP:
'fondo' => $tsCore->setSecure($_POST['fondo']),
'fondoper' => $tsCore->setSecure($_POST['fondoper']), 
 
  
Buscar:
 
Código PHP:
/*
loadHeadInfo($user_id)
*/
function loadHeadInfo($user_id){
global 
$tsUser$tsCore;
// INFORMACION GENERAL
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, u.user_registro, u.user_lastactive, u.user_activo, u.user_baneado, p.user_sexo, p.user_pais, p.p_nombre, p.p_avatar, p.p_mensaje, p.p_socials, p.p_empresa, p.p_configs FROM u_miembros AS u, u_perfil AS p WHERE u.user_id = \''.(int)$user_id.'\' AND p.user_id = \''.(int)$user_id.'\'');
$data db_exec('fetch_assoc'$query); 
 
 
Reemplazar por:
 
Código PHP:
/*
loadHeadInfo($user_id)
*/
function loadHeadInfo($user_id){
global 
$tsUser$tsCore;
// INFORMACION GENERAL
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, u.user_registro, u.user_lastactive, u.user_activo, u.user_baneado, p.user_sexo, p.p_fondo, p.user_pais, p.p_nombre, p.p_avatar, p.p_mensaje, p.p_socials, p.p_fondoper, p.p_empresa, p.p_configs FROM u_miembros AS u, u_perfil AS p WHERE u.user_id = \''.(int)$user_id.'\' AND p.user_id = \''.(int)$user_id.'\'');
$data db_exec('fetch_assoc'$query); 
  • Imagen de portada en post relacionados airkpo

En c.posts.php --> inc --> class --> c.posts.php
 
Buscar:
 
Código PHP:
/*
getRelated()
*/
function getRelated($tags){
global 
$tsCore$tsUser;
// ES UN ARRAT AHORA A UNA CADENA
if(is_array($tags)) $tags implode(", ",$tags);
else 
str_replace('-',', ',$tags);
//
$query db_exec(array(__FILE____LINE__), 'query'"SELECT DISTINCT p.post_id, p.post_title, p.post_category, p.post_private, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,10");
//
$data result_array($query);

//
return $data;

 
 
Reemplazar por:
 
Código PHP:
/*
getRelated()
*/
function getRelated($tags){
global 
$tsCore$tsUser;
// ES UN ARRAT AHORA A UNA CADENA
if(is_array($tags)) $tags implode(", ",$tags);
else 
str_replace('-',', ',$tags);
//
$query db_exec(array(__FILE____LINE__), 'query'"SELECT DISTINCT p.post_id, p.post_title, p.post_portada, p.post_category, p.post_private, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,10");
//
$data result_array($query);

//
return $data;

  
  
Subir esta carpeta y en la administración istalar con el nombre cralke
 
Descargar archivos
 
Mega
http://Registrate o inicia tu sesión par... contenido

Googe Drive
http://Registrate o inicia tu sesión par... contenido

Mediafire
http://Registrate o inicia tu sesión par... contenido

 
 
 
  1. Archivos c.borradores.php, c.cuenta.php y c.posts.php 1.3 editados.

Descargar archivos
 
Mega
http://Registrate o inicia tu sesión par... contenido

Googe Drive
http://Registrate o inicia tu sesión par... contenido

Mediafire
http://Registrate o inicia tu sesión par... contenido
 
 
 
Creditos: MegaErick

Imprimir


Enviado por: Alt98
03-10-2021, 07:08 AM
Foro: Sugerencias
- Respuestas (1)

Ahora que estoy viendo un poco más el script Act 1.3 note que tardaba en cargar.

Al mirar en el navegador, me percate que estaba tratando de resolver el host: Registrate o inicia tu sesión para ver este contenido 
Hay algunas imágenes que se cargan desde este sitio que ya no está en funcionamiento. Esto provoca que la carga se ralentice al tratar el navegador de resolver dicho host para cargar esas imágenes.

Una de esas la encontré en: themes --> default --> templates --> sections --> main_header.tpl

                <a id="logoi" title="{$tsConfig.titulo}" href="{$tsConfig.url}">
                    <img border="0" align="top" title="{$tsConfig.titulo}" alt="{$tsConfig.titulo}" src="Registrate o inicia tu sesión para ver este contenido">


Y otra en: themes --> default --> templates --> sections --> head_menu.tpl

                <div id="login_box" style="display: none;">
                    <div class="login_header">
                        <img title="Cerrar mensaje" onclick="close_login_box();" class="login_cerrar" src="Registrate o inicia tu sesión para ver este contenido" style="left:220px">
                    </div>

Al cambiarles la ruta hacia imágenes propias (que ya incluye el script) no solo ya se pueden visualizar si no que también el sitio carga a su velocidad normal Thumbsup

Otra cosa por la que quise publicar esto era para saber ¿si los cambios afectan a otra parte o fue correcto el cambio?

Imprimir


Enviado por: Chctrpgo
03-09-2021, 11:38 AM
Foro: Complementos Terminados
- Respuestas (4)

En .htaccess

Buscar:
 

Código PHP:
# POSTS 


Arriba agregar:
 
Código PHP:
# COMUNIDADES
RewriteRule ^comunidades/pagina.([0-9]+)$ inc/php/comunidades.php?action=home&page=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/agregar/([0-9]+)$ inc/php/comunidades.php?action=$1&act=agregar&bid=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/editar-tema/([0-9]+)/$ inc/php/comunidades.php?action=$1&act=editar-tema&temaid=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/miembros.([0-9]+)/$ inc/php/comunidades.php?action=$1&act=miembros&page=$[QSA,L]
RewriteRule ^comunidades/mis-comunidades/([A-Za-z0-9_-]+)$ inc/php/comunidades.php?action=mis-comunidades&orden=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/pagina.([0-9]+)$ inc/php/comunidades.php?action=$1&page=$[QSA,L]
RewriteRule ^comunidades/dir/([A-Za-z0-9_-]+)/$ inc/php/comunidades.php?action=dir&pais=$[QSA,L]
RewriteRule ^comunidades/dir/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ inc/php/comunidades.php?action=dir&pais=$1&c_seo=$[QSA,L]
RewriteRule ^comunidades/dir/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ inc/php/comunidades.php?action=dir&pais=$1&c_seo=$2&s_seo=$[QSA,L]
RewriteRule ^comunidades/dir/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([0-9]+)$ inc/php/comunidades.php?action=dir&pais=$1&c_seo=$2&s_seo=$3&page=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/$ inc/php/comunidades.php?action=$1&act=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/pagina.([0-9]+)$ inc/php/comunidades.php?action=$1&act=$2&page=$[QSA,L]
RewriteRule ^comunidades/([A-Za-z0-9_-]+)/([0-9]+)/([A-Za-z0-9_-]+).htmlinc/php/comunidades.php?action=$1&temaid=$2&act=tema [QSA,L


En c.actividad.php --> inc --> class --> c.actividad.php

Buscar:
 
Código PHP:
11 => array(
'text' => 'Le gusta',
'css' => 'w_like',
=> array('text' => 'su''link' => 'publicaci&oacute;n'),
=> array('text' => 'su comentario'),
=> array('text' => 'la publicaci&oacute;n de'),
=> array('text' => 'el comentario'),



Agregar al lado con la coma (,):
 
Código PHP:
,
// COMUNIDADES
12 => array('text' => 'Cre&oacute; la comunidad''css' => 'post'),
13 => array('text' => 'Cre&oacute; un nuevo tema''css' => 'post'),
14 => array('text' => 'Agreg&oacute; a favoritos el tema''css' => 'star'),
15 => array('text' => 'Recomend&oacute; el tema''css' => 'share'),
16 => array('text' => array('Coment&oacute;''el tema'), 'css' => 'blue_ball'),
17 => array('text' => array('Vot&oacute;''el tema'), 'css' => 'voto_'),
18 => array('text' => array('Vot&oacute;''un comentario en el tema'), 'css' => 'voto_'),
19 => array('text' => 'Est&aacute; siguiendo el tema''css' => 'follow_post'),
20 => array('text' => 'Est&aacute; siguiendo la comunidad''css' => 'follow_post'),
21 => array('text' => 'Se uni&oacute; a la comunidad''css' => 'follow_post'), 
 
 
Buscar:
 
Código PHP:
case 11:
if(
$data['obj_dos'] == || $data['obj_dos'] == 2) {
return 
'SELECT p.pub_id, u.user_name FROM u_muro AS p LEFT JOIN u_miembros AS u ON p.p_user = u.user_id WHERE p.pub_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
} else {
return 
'SELECT c.pub_id, c.c_body, u.user_name FROM u_muro_comentarios AS c LEFT JOIN u_muro AS p ON c.pub_id = p.pub_id LEFT JOIN u_miembros AS u ON p.p_user = u.user_id WHERE cid = \''.(int)$data['obj_uno'].'\' LIMIT 1';
}
break; 
 
 
Debajo agregar:
 
Código PHP:
// COMUNIDADES
case 12:
return 
'SELECT c.c_nombre, c.c_nombre_corto FROM c_comunidades AS c WHERE c.c_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
break;
case 
13:
case 
14:
case 
15:
case 
16:
case 
17:
case 
18:
case 
19:
case 
20:
case 
21:
return 
'SELECT c.c_nombre, c.c_nombre_corto, t.t_id, t.t_titulo, t.t_autor, u.user_name FROM c_temas AS t LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON user_id = t_autor WHERE t.t_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
break; 
 
 
Buscar:
 
Código PHP:
# LIKES
case 11:
// SEC TYPE
$sec_type $data['obj_dos'];
$link_text $this->actividad[$ac_type][$sec_type]['link'];
//
$oracion['text'] = $this->actividad[$ac_type]['text'].' '.$this->actividad[$ac_type][$sec_type]['text'];
$oracion['link'] = $site_url.'/perfil/'.$data['user_name'].'?pid='.$data['pub_id'];
//
if($data['obj_dos'] == || $data['obj_dos'] == 2)
$oracion['ltext'] = empty($link_text) ? $data['user_name'] : $link_text;
else {
$end_text = (strlen($data['c_body']) > 35) ? '...' '';
$oracion['ltext'] = substr($data['c_body'],0,30).$end_text;
}
break; 


Debajo agregar:
 
Código PHP:
# COMUNIDADES
case 12:
case 
13:
case 
14:
case 
15:
case 
19:
case 
20:
case 
21:
$oracion['text'] = $this->actividad[$ac_type]['text'];
$oracion['link'] = ($ac_type == 12) ? $site_url.'/comunidades/'.$data['c_nombre_corto'].'/' $site_url.'/comunidades/'.$data['c_nombre_corto'].'/'.$data['t_id'].'/'.$tsCore->setSEO($data['t_titulo']).'.html';
$oracion['ltext'] = ($ac_type == 12) ? $data['c_nombre'] : $data['t_titulo'];
$oracion['style'] = $this->actividad[$ac_type]['css'];
break;
case 
16:
case 
17:
case 
18:
if(
$ac_type == 16$extra_text = ($data['obj_dos'] == 0) ? '' : ($data['obj_dos']+1).' veces';
else 
$extra_text = ($data['obj_dos'] == 0) ? 'negativo' 'positivo';
$oracion['text'] = $this->actividad[$ac_type]['text'][0]." <b>{$extra_text}</b> ".$this->actividad[$ac_type]['text'][1];
$oracion['link'] = $site_url.'/comunidades/'.$data['c_nombre_corto'].'/'.$data['t_id'].'/'.$tsCore->setSEO($data['t_titulo']).'.html';
$oracion['ltext'] = $data['t_titulo'];
$oracion['style'] = ($ac_type == 16) ? $oracion['style'] : 'voto_'.$extra_text;
break; 

 
En c.admin.php --> inc --> class --> c.admin.php

Buscar:
 
Código PHP:
/****************** ADMINISTRACIÓN DE FOTOS ******************/ 


Arriba agregar:
 
Código PHP:
/****************** ADMINISTRACIÓN DE COMUNIDADES ******************/

function GetAdminComus()
{
global 
$tsCore;
//
$max 20// MAXIMO A MOSTRAR
$limit $tsCore->setPageLimit($maxtrue);
//
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_name, c.* FROM c_comunidades AS c LEFT JOIN u_miembros AS u ON c.c_autor = u.user_id ORDER BY c.c_fecha DESC LIMIT '.$limit);
//
$data['data'] = result_array($query);

// PAGINAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(*) FROM c_comunidades WHERE c_id > \'0\'');
list(
$total) = db_exec('fetch_row'$query);

$data['pages'] = $tsCore->pageIndex($tsCore->settings['url']."/admin/comunidades?"$_GET['s'], $total$max);
//
return $data;
}

// ADMINISTRAR TEMAS POR COMUNIDAD
function GetAdminTemas()
{
global 
$tsCore;
//
$comid $tsCore->setSecure($_GET['comid']);
$max 20// MAXIMO A MOSTRAR
$limit $tsCore->setPageLimit($maxtrue);
//
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_name, c.c_nombre_corto, t.* FROM c_temas AS t LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id WHERE t.t_comunidad = \''.(int)$comid.'\'ORDER BY t.t_fecha DESC LIMIT '.$limit);
//
$data['data'] = result_array($query);
// NOMBRE DE LA COMUNIDAD
$com db_exec('fetch_assoc'db_exec(array(__FILE____LINE__), 'query''SELECT c_nombre FROM c_comunidades WHERE c_id = \''.(int)$comid.'\' LIMIT 1'));
$data['c_nombre'] = $com['c_nombre'];
// PAGINAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(*) FROM c_temas WHERE t_comunidad = \''.(int)$comid.'\'');
list(
$total) = db_exec('fetch_row'$query);

$data['pages'] = $tsCore->pageIndex($tsCore->settings['url']."/admin/comunidades?act=temas&comid=".$_GET['comid'], $_GET['s'], $total$max);
//
return $data;



Buscar:
 
Código PHP:
(SELECT count(cidFROM u_muro_comentarios) AS muro_comentarios 


Reemplazar por:
 
Código PHP:
(SELECT count(cidFROM u_muro_comentarios) AS muro_comentarios,
(
SELECT count(c_idFROM c_comunidades WHERE c_estado = \'0\') AS comunidades_visibles,
(SELECT count(c_id) FROM c_comunidades WHERE c_estado = \'1\') AS comunidades_ocultas,
(SELECT count(t_id) FROM c_temas WHERE t_estado = \'0\') AS temas_visibles,
(SELECT count(t_id) FROM c_temas WHERE t_estado = \'1\') AS temas_ocultos,
(SELECT count(fav_id) FROM c_favoritos) AS temas_favoritos,
(SELECT count(m_id) FROM c_miembros WHERE m_permisos != \'0\') AS miembros_comunidades,
(SELECT count(m_id) FROM c_miembros WHERE m_permisos = \'0\') AS miembros_comunidades_baneados,
(SELECT count(r_id) FROM c_respuestas WHERE r_estado = \'0\') AS respuestas_visibles,
(SELECT count(r_id) FROM c_respuestas WHERE r_estado = \'1\') AS respuestas_ocultas,
(SELECT count(follow_id) FROM u_follows WHERE f_type = \'4\' ) AS comunidades_follows,
(SELECT count(follow_id) FROM u_follows WHERE f_type = \'5\' ) AS temas_follows,
(SELECT count(follow_id) FROM u_follows WHERE f_type = \'6\' ) AS temas_compartidos 

 
En c.core.php --> inc --> class --> c.core.php

Buscar:
 
Código PHP:
function getNovemods()
{
$datos db_exec('fetch_assoc'db_exec(array(__FILE____LINE__), 'query''SELECT (SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts, (SELECT count(cid) FROM p_comentarios WHERE c_status = \'1\' ) as revcomentarios, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'1\') as repposts, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'2\') as repmps, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'3\') as repusers, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'4\') as repfotos, (SELECT count(susp_id) FROM u_suspension) as suspusers, (SELECT count(post_id) FROM p_posts WHERE post_status = \'2\') as pospelera, (SELECT count(foto_id) FROM f_fotos WHERE f_status = \'2\') as fospelera'));
$datos['total'] = $datos['repposts'] + $datos['repfotos'] + $datos['repmps'] + $datos['repusers'] + $datos['revposts'] + $datos['revcomentarios'];
return 
$datos;



Reemplazar por:
 
Código PHP:
function getNovemods()
{
$datos db_exec('fetch_assoc'db_exec(array(__FILE____LINE__), 'query''SELECT (SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts, (SELECT count(cid) FROM p_comentarios WHERE c_status = \'1\' ) as revcomentarios, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'1\') as repposts, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'5\') as repcomunidades, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'6\') as reptemas, (SELECT count(t_id) FROM c_temas WHERE t_estado = \'1\') as tempelera, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'7\') as represpuestas, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'2\') as repmps, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'3\') as repusers, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'4\') as repfotos, (SELECT count(susp_id) FROM u_suspension) as suspusers, (SELECT count(post_id) FROM p_posts WHERE post_status = \'2\') as pospelera, (SELECT count(foto_id) FROM f_fotos WHERE f_status = \'2\') as fospelera'));
$datos['total'] = $datos['repposts'] + $datos['repcomunidades'] + $datos['reptemas'] + $datos['represpuestas'] + $datos['repfotos'] + $datos['repmps'] + $datos['repusers'] + $datos['revposts'] + $datos['revcomentarios'];
return 
$datos;



En c.cuenta.php --> inc --> class --> c.cuenta.php

Buscar:
 
Código PHP:
$data['sigd']['total'] = count($data['sigd']['data']); 


Debajo agregar:
 
Código PHP:
// COMUNIDADES
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_id, c.c_nombre, c.c_nombre_corto, c.c_miembros FROM c_comunidades AS c LEFT JOIN c_miembros AS m ON m.m_comunidad = c.c_id WHERE m.m_user = \''.(int)$user_id.'\' AND c.c_estado = \'0\' ORDER BY m.m_fecha DESC LIMIT 5');
$total db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(c.c_id) AS total FROM c_comunidades AS c LEFT JOIN c_miembros AS m ON m.m_comunidad = c.c_id WHERE m.m_user = \''.(int)$user_id.'\' AND c.c_estado = \'0\''));
$data['comus'] = result_array($query);
$data['comus_total'] = $total[0]; 


Buscar:
 
Código PHP:
/*
loadMedallas($user_id)
*/ 


Arriba agregar:
 
Código PHP:
/*
loadComunidades($user_id)
*/
function loadComunidades($user_id){
//
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_id, c.c_nombre, c.c_descripcion, c.c_nombre_corto, cat.c_nombre AS categoria FROM c_miembros AS m LEFT JOIN c_comunidades AS c ON c.c_id = m.m_comunidad LEFT JOIN c_categorias AS cat ON cat.cid = c.c_categoria WHERE m.m_user = \''.(int)$user_id.'\' AND c.c_estado = \'0\' ORDER BY m.m_fecha DESC');
$data['data'] = result_array($query);
$data['total'] = count($data['data']);

//
return $data;



En c.moderacion.php --> inc --> class --> c.moderacion.php

Buscar:
 
Código PHP:
case 'users'

 
Arriba agregar:
 
Código PHP:
case 'comunidades':
$query db_exec(array(__FILE____LINE__), 'query''SELECT r.*, SUM(d_total) AS total, c.c_id, c.c_nombre, c.c_nombre_corto, c.c_estado, u.user_id, u.user_name FROM w_denuncias AS r LEFT JOIN c_comunidades AS c ON r.obj_id = c.c_id LEFT JOIN u_miembros AS u ON c.c_autor = u.user_id WHERE d_type = \'5\' && c.c_estado < 2 GROUP BY r.obj_id ORDER BY total DESC, r.d_date DESC');
$data result_array($query);
break;
case 
'temas':
$query db_exec(array(__FILE____LINE__), 'query''SELECT r.*, SUM(d_total) AS total, t.t_id, t.t_titulo, t.t_estado, c.c_nombre_corto, u.user_id, u.user_name FROM w_denuncias AS r LEFT JOIN c_temas AS t ON r.obj_id = t.t_id LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id WHERE d_type = \'6\' && t.t_estado < 2 GROUP BY r.obj_id ORDER BY total DESC, r.d_date DESC');
$data result_array($query);
break; 


Buscar:
 
Código PHP:
case 'users'


Agregar arriba:
 
Código PHP:
case 'comunidades':
$d_type 5;
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_id, c.c_nombre, c.c_nombre_corto, c.c_estado, u.user_name FROM c_comunidades AS c LEFT JOIN u_miembros AS u ON c.c_autor = u.user_id WHERE c.c_id = ' .
$obj ' LIMIT 1');
break;
case 
'temas':
$d_type 6;
$query db_exec(array(__FILE____LINE__), 'query''SELECT t.t_id, t.t_titulo, t.t_estado, u.user_name FROM c_temas AS t LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id WHERE t.t_id = ' .
$obj ' LIMIT 1');
break; 


Buscar:
 
Código PHP:
$data['p_total'] = count($data['posts']); 


Debajo agregar:
 
Código PHP:
//
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_id, c.c_autor, c.c_nombre, c.c_nombre_corto, c.c_fecha, c.c_ip, u.user_name FROM c_comunidades AS c LEFT JOIN u_miembros AS u ON c.c_autor = u.user_id WHERE ' .
(
$tipo == 'c.c_ip ' $met '' 'c.c_nombre ' $met));
$data['comunidades'] = result_array($query);
$data['c_total'] = count($data['comunidades']);

//
$query db_exec(array(__FILE____LINE__), 'query''SELECT t.t_id, t.t_autor, t.t_titulo, c.c_nombre_corto, t.t_fecha, t.t_ip, u.user_name FROM c_temas AS t LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id WHERE ' .
(
$tipo == 't.t_ip ' $met '' 't.t_titulo ' $met .
' OR t.t_cuerpo ' $met));
$data['temas'] = result_array($query);
$data['t_total'] = count($data['temas']);

//
$query db_exec(array(__FILE____LINE__), 'query''SELECT r.r_id, r.r_autor, r.r_body, r.r_fecha, r.r_ip, t.t_id, t.t_titulo, c.c_nombre_corto, u.user_name FROM c_respuestas AS r LEFT JOIN c_temas AS t ON t.t_id = r.r_tema LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON r.r_autor = u.user_id WHERE ' .
(
$tipo == 'r.r_ip ' $met '' 'r.r_body ' $met));
$data['respuestas'] = result_array($query);
$data['c_t_total'] = count($data['respuestas']); 


Buscar:
 
Código PHP:
/**
* @name deletePost($pid)
* @access public
* @param int
* @return string
*/ 


Arriba agregar:
 
Código PHP:
function rebootComunidad($comid) {
global 
$tsUser;
if (
$tsUser->is_admod) {
if (
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `w_denuncias` WHERE `obj_id` = \''.(int)$comid.'\' AND `d_type` = \'5\'')) {
db_exec(array(__FILE____LINE__), 'query''UPDATE c_comunidades SET c_estado = \'0\' WHERE c_id = \''.(int)$comid.'\'');
return 
'1: Denuncia eliminada';
} else return 
'0: No se pudo eliminar la denuncia';
} else return 
'0: No contin&uacute;e por aqu&iacute;.';
}
function 
rebootTema($temaid) {
global 
$tsUser;
if (
$tsUser->is_admod) {
if (
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `w_denuncias` WHERE `obj_id` = \''.(int)$temaid.'\' AND `d_type` = \'6\'')) {
db_exec(array(__FILE____LINE__), 'query''UPDATE c_temas SET t_estado = \'0\' WHERE t_id = \''.(int)$temaid.'\'');
return 
'1: Denuncia eliminada';
} else return 
'0: No se pudo eliminar la denuncia';
} else return 
'0: No contin&uacute;e por aqu&iacute;.';
}

public function 
deleteComunidad($comid){
global 
$tsCore$tsMonitor$tsUser;
if (
$tsUser->is_admod == 1) {
// RAZON
$razon $tsCore->setSecure($_POST['razon']);
$razon_desc $tsCore->setSecure($_POST['razon_desc']);
$razon_db = ($razon != 7) ? $razon $razon_desc;
//
if (db_exec(array(__FILE____LINE__), 'query''UPDATE c_comunidades SET c_estado = \'1\' WHERE c_id = \''.$comid.'\'')) {
// ENVIAR AVISO
$query db_exec(array(__FILE____LINE__), 'query''SELECT c.c_autor, c.c_nombre, u.user_name FROM c_comunidades AS c LEFT JOIN u_miembros AS u ON c.c_autor = u.user_id WHERE c.c_id = \''.(int)$comid .'\' LIMIT 1');
$data db_exec('fetch_assoc'$query);
if (
$data['c_autor'] != $tsUser->uid){
// RAZON
if (is_numeric($razon_db)){
include (
TS_EXTRA 'datos.php');
$razon_db $tsDenuncias['comunidades'][$razon_db];
}
// AVISO
$aviso 'Hola <b>' $data['user_name'] . "</b>\n\n Lamento contarte que tu comunidad titulada <b>" .
$data['c_nombre'] . "</b> ha sido eliminada.\n\n Causa: <b>" $razon_db "</b>\n\n Te recomendamos leer el <a href=\"" .
$tsCore->settings['url'] . "/pages/protocolo/\">Protocolo</a> para evitar futuras sanciones.\n\n Muchas gracias por entender!";
$status $tsMonitor->setAviso($data['c_autor'], 'Comunidad eliminada'$aviso1);
}
// ELIMINAR DENUNCIAS
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `w_denuncias` WHERE `obj_id` = \''.$comid.'\' AND `d_type` = \'5\'');
$this->setHistory('borrar''comunidad'$comid);
return 
'1: La comunidad ha sido eliminada.';
} else return 
'0: La comunidad NO pudo ser eliminada.';
} else return 
'0: Solo los administradores pueden borrar una comunidad';
}

public function 
deleteTema($temaid) {
global 
$tsCore$tsMonitor$tsUser;
if (
$tsUser->is_admod) {
// RAZON
$razon $tsCore->setSecure($_POST['razon']);
$razon_desc $tsCore->setSecure($_POST['razon_desc']);
$razon_db = ($razon != 9) ? $razon $razon_desc;
//
if (db_exec(array(__FILE____LINE__), 'query''UPDATE c_temas SET t_estado = \'1\' WHERE t_id = \''.$temaid.'\'')) {
// ENVIAR AVISO
$query db_exec(array(__FILE____LINE__), 'query''SELECT t.t_autor, t.t_titulo, u.user_name FROM c_temas AS t LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id WHERE t.t_id = \''.(int)$temaid.'\' LIMIT 1');
$data db_exec('fetch_assoc'$query);
if (
$data['t_autor'] != $tsUser->uid) {
// RAZON
if (is_numeric($razon_db)) {
include (
TS_EXTRA 'datos.php');
$razon_db $tsDenuncias['temas'][$razon_db];
}
// AVISO
$aviso 'Hola <b>' $data['user_name'] . "</b>\n\n Lamento contarte que tu tema titulado <b>" .
$data['t_titulo'] . "</b> ha sido eliminado.\n\n Causa: <b>" $razon_db "</b>\n\n Te recomendamos leer el <a href=\"" .
$tsCore->settings['url'] . "/pages/protocolo/\">Protocolo</a> para evitar futuras sanciones.\n\n Muchas gracias por entender!";
$status $tsMonitor->setAviso($data['t_autor'], 'Tema eliminado'$aviso1);
}
// ELIMINAR DENUNCIAS
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `w_denuncias` WHERE `obj_id` = \''.$temaid.'\' AND `d_type` = \'6\'');
return 
'1: El tema ha sido eliminado.';
} else return 
'0: El tema NO pudo ser eliminado.';
} else return 
'0: No contin&uacute;e por aqu&iacute;.';
}

public function 
getTempelera() {
global 
$tsUser$tsCore;
//
$max 20// MAXIMO A MOSTRAR
$limit $tsCore->setPageLimit($maxtrue);

// PAGINAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(*) FROM c_temas AS t LEFT JOIN u_miembros AS u ON u.user_id = t.t_autor LEFT JOIN c_historial AS h ON h.h_for = t.t_id WHERE h.h_type = \'2\' AND t.t_estado = \'1\'');

list(
$total) = db_exec('fetch_row'$query);

$data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] .
"/moderacion/tempelera?"$_GET['s'], $total$max);
//

$query db_exec(array(__FILE____LINE__), 'query''SELECT h.*, t.t_id, t.t_autor, t.t_titulo, c.c_nombre_corto, t.t_fecha, t.t_ip, u.user_name FROM c_temas AS t LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON t.t_autor = u.user_id LEFT JOIN c_historial AS h ON h.h_for = t.t_id WHERE h.h_type = \'2\' AND t.t_estado = \'1\' LIMIT ' .
$limit);
//
while ($row db_exec('fetch_assoc'$query))
{
$row['mod_name'] = $tsUser->getUserName($row['h_mod']);
//
$data['datos'][] = $row;
}
//
return $data;



En c.monitor.php --> inc --> class --> c.monitor.php

Buscar:
 
Código PHP:
17 => array('text' => 'Tu foto recibi&oacute; una medalla''css' => 'medal'), 


Debajo agregar:
 
Código PHP:
// COMUNIDADES
50 => array('text' => array('cre&oacute; un nuevo'), 'ln_text' => 'tema''css' => 'post'),
51 => array('text' => array('coment&oacute; tu','_REP_ nuevos comentarios en tu'), 'ln_text' => 'tema''css' => 'comment_post'),
52 => array('text' => array('coment&oacute; en un''_REP_ nuevos comentarios en el'), 'ln_text' => 'tema''extra' => ' que sigues''css' => 'blue_ball'),
53 => array('text' => array('respondi&oacute; tu''_REP_ nuevas respuestas a tu'), 'ln_text' => 'comentario''css' => 'comment_resp'),
54 => array('text' => array('agreg&oacute; a favoritos tu','_REP_ nuevos favoritos a tu'), 'ln_text' => 'tema''css' => 'star'),
55 => array('text' => array('te recomienda un''_REP_ usuarios te recomiendan un'), 'ln_text' => 'tema''css' => 'share'),
56 => array('text' => array('vot&oacute; _REP_ tu''_REP_ nuevos votos a tu'), 'ln_text' => 'tema''css' => 'voto_'),
57 => array('text' => array('vot&oacute; _REP_ tu''_REP_ nuevos votos a tu'), 'ln_text' => 'comentario''css' => 'voto_'),
58 => array('text' => array('est&aacute; siguiendo tu','_REP_ nuevos seguidores a tu'), 'ln_text' => 'tema''css' => 'follow'), 


Buscar:
 
Código PHP:
case 17:
return 
'SELECT f.foto_id, f.f_title, f.f_user, m.medal_id, m.m_title, m.m_image, a.medal_for, u.user_id, u.user_name FROM w_medallas_assign AS a LEFT JOIN f_fotos AS f ON f.foto_id = a.medal_for LEFT JOIN u_miembros AS u ON u.user_id = f.f_user LEFT JOIN w_medallas AS m ON m.medal_id = a.medal_id WHERE m.medal_id = \''.(int)$data['obj_uno'].'\' AND f.foto_id = \''.(int)$data['obj_dos'].'\' LIMIT 1';
break; 


Debajo agregar:
 
Código PHP:
case 50:
case 
51:
case 
52:
case 
53:
case 
54:
case 
55:
case 
56:
case 
57:
case 
58:
return 
'SELECT c.c_nombre, c.c_nombre_corto, t.t_id, t.t_titulo, t.t_autor, u.user_name FROM c_temas AS t LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad LEFT JOIN u_miembros AS u ON user_id = t_autor WHERE t.t_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
break; 


Buscar:
 
Código PHP:
case 17:
$oracion['text'] = 'Tu <a href="'.$site_url.'/fotos/'.$data['user_name'].'/'.$data['foto_id'].'/'.$tsCore->setSEO($data['f_title']).'.html" title="'.$data['f_title'].'"><b>foto</b></a> tiene una nueva <span class="qtip" title="'.$data['m_title'].'"><b>medalla</b> <img src="'.$site_url.'/themes/default/images/icons/med/'.$data['m_image'].'_16.png"/></span>';
break; 


Debajo agregar:
 
Código PHP:
case 50:
case 
51:
case 
52:
case 
53:
case 
54:
case 
55:
case 
56:
case 
57:
case 
58:
// CUANTOS
$no_total $data['not_total'];
$id_comment '';
if(
$no_type == 52$extra $this->monitor[$no_type]['extra'];
// MAS DE UNA ACCION
if($no_total 1) {
$text $this->monitor[$no_type]['text'][1].$txt_extra;
$oracion['text'] = str_replace('_REP_'"<b>{$no_total}</b>"$text);
} else 
$oracion['text'] = ($this->show_type == && $no_type == 52) ? $this->monitor[$no_type]['text'][0].$txt_extra $this->monitor[$no_type]['text'][0].$txt_extra.$extra;
// ID COMMENT
if($no_type == 53 || $no_type == 57){
$id_comment '#coment_id_'.$data['obj_tres'];
}
if(
$no_type == 56 || $no_type == 57){
$voto_type = ($data['obj_dos'] == 0) ? 'negativo' 'positivo';
$oracion['text'] = str_replace('_REP_''<b>'.$voto_type.'</b>'$oracion['text']);
$oracion['style'] = 'voto_'.$voto_type;
}
//
$oracion['link'] = $site_url.'/comunidades/'.$data['c_nombre_corto'].'/'.$data['t_id'].'/'.$tsCore->setSEO($data['t_titulo']).'.html'.$id_comment;
$oracion['ltext'] = ($this->show_type == 1) ? $ln_text $data['t_titulo'];
$oracion['ltit'] = ($this->show_type == 1) ? $data['t_titulo'] : '';
break; 


En c.swat.php --> inc --> class --> c.swat.php

Buscar:
 
Código PHP:
// USUARIOS
case 'usuario'


Arriba agregar:
 
Código PHP:
// COMUNIDADES
case 'comunidad':
// ¿ES MI COMUNIDAD O ESTÁ OCULTA?
$query db_exec(array(__FILE____LINE__), 'query''SELECT c_id, c_autor, c_estado FROM c_comunidades WHERE c_id = \''.(int)$obj_id.'\' LIMIT 1') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
$my_comu db_exec('fetch_assoc'$query);

if(empty(
$my_comu['c_id'])) return '0: Esta comunidad no existe';
if(
$my_comu['c_autor'] == $tsUser->uid) return '0: No puedes denunciar tus propias comunidades.';
if(
$my_comu['c_estado'] == '1') return '0: No puedes denunciar comunidades ocultas.';
// YA HA REPORTADO?
$query db_exec(array(__FILE____LINE__), 'query''SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\' AND `d_user` = '.$tsUser->uid.' AND `d_type` = \'5\'');
$denuncio db_exec('num_rows'$query);

if(!empty(
$denuncio)) return '0: Ya hab&iacute;as denunciado esta comunidad.';
// INSERTAR NUEVA DENUNCIA
if(db_exec(array(__FILE____LINE__), 'query''INSERT INTO `w_denuncias` (`obj_id`, `d_user`, `d_razon`, `d_extra`, `d_type`, `d_date`) VALUES (\''.(int)$obj_id.'\', \''.$tsUser->uid.'\', \''.$razon.'\', \''.$extras.'\', \'5\', \''.$date.'\')')){
return 
'1: La denuncia fue enviada.';
} else return 
'0: Error, int&eacute;ntalo m&aacute;s tarde.';
break;
// TEMAS
case 'tema':
// ¿ES MI TEMA O ESTÁ OCULTO?
$query db_exec(array(__FILE____LINE__), 'query''SELECT t_id, t_autor, t_estado FROM c_temas WHERE t_id = \''.(int)$obj_id.'\' LIMIT 1') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
$my_tema db_exec('fetch_assoc'$query);

if(empty(
$my_tema['t_id'])) return '0: Este tema no existe';
if(
$my_tema['t_autor'] == $tsUser->uid) return '0: No puedes denunciar tus propios temas.';
if(
$my_tema['t_estado'] == '1') return '0: No puedes denunciar temas ocultos.';
// YA HA REPORTADO?
$query db_exec(array(__FILE____LINE__), 'query''SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\' AND `d_user` = '.$tsUser->uid.' AND `d_type` = \'6\'');
$denuncio db_exec('num_rows'$query);
if(!empty(
$denuncio)) return '0: Ya hab&iacute;as denunciado este tema.';
// CUANTAS DENUNCIAS LLEVA?
$denuncias db_exec('num_rows'db_exec(array(__FILE____LINE__), 'query''SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\' AND `d_type` = \'6\''));
// OCULTAMOS EL COMENTARIO SI YA LLEVA MÁS DE 3 DENUNCIAS
if($denuncias >= 2){
db_exec(array(__FILE____LINE__), 'query''UPDATE c_temas SET t_estado = \'2\' WHERE t_id = \''.(int)$obj_id.'\'') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
}
// INSERTAR NUEVA DENUNCIA
if(db_exec(array(__FILE____LINE__), 'query''INSERT INTO `w_denuncias` (`obj_id`, `d_user`, `d_razon`, `d_extra`, `d_type`, `d_date`) VALUES (\''.(int)$obj_id.'\', \''.$tsUser->uid.'\', \''.$razon.'\', \''.$extras.'\', \'6\', \''.$date.'\')')){
return 
'1: La denuncia fue enviada.';
} else return 
'0: Error, int&eacute;ntalo m&aacute;s tarde.';
break; 


En c.tops.php --> inc --> class --> c.tops.php

Buscar:
 
Código PHP:
/*
getTopPosts()
*/ 


Arriba agregar:
 
Código PHP:
/*
getTopComus()
*/
function getTopComus($fecha){
//
$data $this->setTime($fecha);
// MIEMBROS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(m.m_id) AS total, c.c_id, c.c_nombre, c.c_nombre_corto FROM c_miembros AS m LEFT JOIN c_comunidades AS c ON m.m_comunidad = c.c_id WHERE m.m_permisos > \'0\' AND c.c_estado = \'0\' AND m.m_fecha ***** '.$data['start'].' AND '.$data['end'].' GROUP BY m.m_comunidad ORDER BY total DESC LIMIT 10');
$array['miembros'] = result_array($query);

// TEMAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(t.t_id) AS total, c.c_id, c.c_nombre, c.c_nombre_corto FROM c_comunidades AS c LEFT JOIN c_temas AS t ON t.t_comunidad = c.c_id WHERE t.t_estado = \'0\' AND c.c_estado = \'0\' AND c.c_fecha ***** '.$data['start'].' AND '.$data['end'].' GROUP BY t.t_comunidad ORDER BY total DESC LIMIT 10');
$array['temas'] = result_array($query);

// SEGUIDORES
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(f.follow_id) AS total, c.c_id, c.c_nombre, c.c_nombre_corto FROM u_follows AS f LEFT JOIN c_comunidades AS c ON f.f_id = c.c_id WHERE f.f_type = 4 AND f.f_date ***** '.$data['start'].' AND '.$data['end'].' GROUP BY f.f_id ORDER BY total DESC LIMIT 10');
$array['seguidores'] = result_array($query);

//
return $array;
}
/*
getTopTemas()
*/
function getTopTemas($fecha){
//
$data $this->setTime($fecha);
// VOTOS
$query db_exec(array(__FILE____LINE__), 'query''SELECT t.t_votos_pos AS total, t.t_id, t.t_titulo, c.c_id, c.c_nombre, c.c_nombre_corto FROM c_temas AS t LEFT JOIN c_comunidades AS c ON t.t_comunidad = c.c_id WHERE t.t_estado = \'0\' AND c.c_estado = \'0\' AND t.t_fecha ***** '.$data['start'].' AND '.$data['end'].' ORDER BY total DESC LIMIT 10');
$array['votos'] = result_array($query);

// RESPUESTAS
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(r.r_id) AS total, t.t_id, t.t_titulo, c.c_id, c.c_nombre, c.c_nombre_corto FROM c_respuestas AS r LEFT JOIN c_temas AS t ON t.t_id = r.r_tema LEFT JOIN c_comunidades AS c ON c.c_id = t.t_comunidad WHERE t.t_estado = \'0\' AND c.c_estado = \'0\' AND r.r_estado = \'0\' AND c.c_fecha ***** '.$data['start'].' AND '.$data['end'].' GROUP BY r.r_tema ORDER BY total DESC LIMIT 10');
$array['respuestas'] = result_array($query);

// SEGUIDORES
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(f.follow_id) AS total, t.t_id, t.t_titulo, c.c_id, c.c_nombre, c.c_nombre_corto FROM u_follows AS f LEFT JOIN c_temas AS t ON t.t_id = f.f_id LEFT JOIN c_comunidades AS c ON t.t_comunidad = c.c_id WHERE f.f_type = 6 AND f.f_date ***** '.$data['start'].' AND '.$data['end'].' GROUP BY f.f_id ORDER BY total DESC LIMIT 10');
$array['seguidores'] = result_array($query);

//
return $array;



En c.user.php --> inc --> class --> c.user.php

Buscar:
 
Código PHP:
$this->is_banned $this->info['user_baneado']; 


Debajo agregar:
 
Código PHP:
// ESTADO DE BAN EN COMUNIDADES
$this->com_banned(); 


Buscar:
 
Código PHP:
/*
getUserID($tsUsername)
*/ 


Arriba agregar:
 
Código PHP:
/*
com_banned()
*/
function com_banned(){
global 
$tsCore$tsMonitor;
//
$query db_exec(array(__FILE____LINE__), 'query''SELECT *, c_nombre, c_nombre_corto FROM c_baneados LEFT JOIN c_comunidades ON c_id = ban_comunidad WHERE ban_user = \''.$this->uid.'\' LIMIT 1');
$data db_exec('fetch_assoc'$query);
//
$now time();
//
if($data['ban_termina'] > && $data['ban_termina'] < $now){
db_exec(array(__FILE____LINE__), 'query''UPDATE c_miembros SET m_permisos = \'3\' WHERE m_user = \''.$this->uid.'\' AND m_comunidad = \''.$data['ban_comunidad'].'\'');
db_exec(array(__FILE____LINE__), 'query''DELETE FROM c_baneados WHERE ban_id = \''.$data['ban_id'].'\'');
// MANDAR AVISO AL USUARIO
$tsMonitor =& tsMonitor::getInstance();
$aviso 'El tiempo de suspension ha acabado, has sido reactivado de la comunidad <b><a href="'.$tsCore->settings['url'].'/comunidades/'.$data['c_nombre_corto'].'/"><b>'.
$data['c_nombre'].'</b></a> y puedes seguir disfrutando de ella.<br /><br />Disculpe las molestias.';
$tsMonitor->setAviso($this->uid'Usuario reactivado'$aviso2);
}
return 
true;



En datos.php --> inc --> ext --> datos.php

Buscar:
 
Código PHP:
'fotos' => array( 


Arriba agregar:
 
Código PHP:
'comunidades' => array(
'',
'Se hace Spam',
'Es racista o irrespetuosa',
'Contiene informaci&oacute;n personal',
'Contiene pedofilia',
'Es gore o asquerosa',
'No cumple con el protocolo',
'Otra raz&oacute;n (especificar)'
),
'temas' => array(
'',
'Re-post',
'Se hace Spam',
'Es racista o irrespetuoso',
'Contiene informaci&oacute;n personal',
'El t&iacute;tulo esta en may&uacute;scula',
'Contiene pedofilia',
'Es gore o asqueroso',
'No cumple con el protocolo',
'Otra raz&oacute;n (especificar)'
), 


En admin.php --> inc --> php --> admin.php

Buscar:
 
Código PHP:
//FOTOS
} elseif($action == 'fotos'){ 


Arriba agregar:
 
Código PHP:
// COMUNIDADES
} elseif($action == 'comunidades'){
if(!
$act) {
$smarty->assign("tsAdminComus",$tsAdmin->GetAdminComus());
} elseif(
$act == 'temas') {
$smarty->assign("tsAdminTemas",$tsAdmin->GetAdminTemas());



En moderacion.php --> inc --> php --> moderacion.php

Buscar:
 
Código PHP:
elseif($action == 'fopelera'){
$smarty->assign("tsFopelera",$tsMod->getFopelera());



Debajo agregar:
 
Código PHP:
elseif($action == 'tempelera'){
$smarty->assign("tsTempelera",$tsMod->getTempelera());



En top.php --> inc --> php --> top.php

Buscar:
 
Código PHP:
case 'usuarios':
$smarty->assign("tsTops",$tsTops->getTopUsers($fecha$cat));
break; 


Debajo agregar:
 
Código PHP:
case 'comunidades':
$smarty->assign("tsTops",$tsTops->getTopComus($fecha));
break;
case 
'temas':
$smarty->assign("tsTops",$tsTops->getTopTemas($fecha));
break; 


En ajax.denuncia.php --> inc --> php --> ajax --> ajax.denuncia.php

Buscar:
 
Código PHP:
'denuncia-usuario' => array('n' => 2'p' => 'form'), 


Debajo agregar:
 
Código PHP:
'denuncia-comunidad' => array('n' => 2'p' => 'form'),
'denuncia-tema' => array('n' => 2'p' => 'form'), 


Buscar:
 
Código PHP:
}
// ACCION
$smarty->assign("tsAction",$action); 


Arriba agregar:
 
Código PHP:
case 'denuncia-comunidad':
// CREAR DENUNCIA
if($_POST['razon']){
$tsAjax 1;
echo 
$tsSwat->setDenuncia($obj_id'comunidad');
// FORMULARIO DE DENUNCIA
} else {
// VARS
$tsData = array(
'obj_id' => $obj_id,
'obj_title' => $tsCore->setSecure($_POST['obj_title']),
'obj_user' => $tsCore->setSecure($_POST['obj_user']),
);
// DATOS
include("../ext/datos.php");
$smarty->assign("tsData",$tsData);
$smarty->assign("tsDenuncias",$tsDenuncias['comunidades']);
}
break;
case 
'denuncia-tema':
// CREAR DENUNCIA
if($_POST['razon']){
$tsAjax 1;
echo 
$tsSwat->setDenuncia($obj_id'tema');
// FORMULARIO DE DENUNCIA
} else {
// VARS
$tsData = array(
'obj_id' => $obj_id,
'obj_title' => $tsCore->setSecure($_POST['obj_title']),
'obj_user' => $tsCore->setSecure($_POST['obj_user']),
);
// DATOS
include("../ext/datos.php");
$smarty->assign("tsData",$tsData);
$smarty->assign("tsDenuncias",$tsDenuncias['temas']);
}
break; 


En ajax.moderacion.php --> inc --> php --> ajax --> ajax.moderacion.php

Buscar:
 
Código PHP:
'moderacion-users' => array('n' => 3'p' => 'main'), 


Debajo agregar:
 
Código PHP:
'moderacion-comunidades' => array('n' => 3'p' => 'comunidad'),
'moderacion-temas' => array('n' => 3'p' => 'tema'), 


Buscar:
 
Código PHP:
case 'moderacion-mps'


Arriba agregar:
 
Código PHP:
case 'moderacion-comunidades':
//<--
$comid = (int)$_POST['comid'];
// ACCIONES SECUNDARIAS
switch($do){
case 
'reboot':
$tsAjax 1;
echo 
$tsMod->rebootComunidad($_POST['id']);
break;
case 
'borrar':
if(
$_POST['razon']){
$tsAjax 1;
echo 
$tsMod->deleteComunidad($comid);
}else {
include(
'../ext/datos.php');
$smarty->assign("tsDenuncias",$tsDenuncias['comunidades']);
}
break;
}
//-->
break;
case 
'moderacion-temas':
//<--
switch($do){
case 
'reboot':
$tsAjax 1;
echo 
$tsMod->rebootTema($_POST['id']);
break;
case 
'borrar':
if(
$_POST['razon']){
$tsAjax 1;
echo 
$tsMod->deleteTema($_POST['temaid']);
}else {
include(
'../ext/datos.php');
$smarty->assign("tsDenuncias",$tsDenuncias['temas']);
}
break;
}
//-->
break; 


En ajax.perfil.php --> inc --> php --> ajax --> ajax.perfil.php

Buscar:
 
Código PHP:
'perfil-posts' => array('n' => 0'p' => 'posts'), 


Debajo agregar:
 
Código PHP:
'perfil-comunidades' => array('n' => 0'p' => 'comunidades'), 


Buscar:
 
Código PHP:
case 'perfil-seguidores'


Arriba agregar:
 
Código PHP:
case 'perfil-comunidades':
//<---
$smarty->assign("tsComunidades",$tsCuenta->loadComunidades($user_id));
//--->
break; 


En admin.css --> themes --> default --> css --> admin.css

Buscar:  
 
Código PHP:
li#a_users {background-image: url(../images/icons/users.png);} 


Reemplazar por:
 
Código PHP:
li#a_users, li#a_comunidades {background-image: url(../images/icons/users.png);}
li#a_temas {background-image: url(../images/icons/details.png);}
li#a_tempelera {background-image: url(../images/icons/posts.png);} 


En t.admin.tpl --> themes --> default --> templates --> t.admin.tpl

Buscar:  
 
Código PHP:
{include file='admin_mods/m.admin_posts.tpl'
                                

Debajo agregar:
 
Código PHP:
{elseif $tsAction == 'comunidades'}
                                {include 
file='admin_mods/m.admin_comunidades.tpl'

                               
En t.moderacion.tpl --> themes --> default --> templates --> t.moderacion.tpl

Buscar:   
Código PHP:
{include file='admin_mods/m.mod_report_posts.tpl} 

                                     
Debajo agregar:
 
Código PHP:
{elseif $tsAction == 'comunidades'}
                                {include 
file='admin_mods/m.mod_report_comunidades.tpl'}
                                {elseif 
$tsAction == 'temas'}
                                {include 
file='admin_mods/m.mod_report_temas.tpl'}
                                {elseif 
$tsAction == 'tempelera'}
                                {include 
file='admin_mods/m.mod_papelera_temas.tpl'
                               
                                    
En t.tops.php --> themes --> default --> templates --> t.tops.php

Buscar:  
 
Código PHP:
{include file='modules/m.top_users.tpl'
 
               
Debajo agregar:
 
Código PHP:
{elseif $tsAction == 'comunidades'}
                {include 
file='modules/m.top_comunidades.tpl'}
                {elseif 
$tsAction == 'temas'}
                {include 
file='modules/m.top_temas.tpl'

               
En m.admin_sidemenu.tpl --> themes --> default --> templates --> admin_mods --> m.admin_sidemenu.tpl

Buscar:  
 
Código PHP:
<li id="a_posts"><span class="cat-title"><a href="{$tsConfig.url}/admin/posts">Todos los Posts</a></span></li
                                      

Debajo agregar:
 
Código PHP:
<li id="a_users"><span class="cat-title"><a href="{$tsConfig.url}/admin/comunidades">Comunidades</a></span></li
                                       
                                                             
En m.mod_sidemenu.tpl --> themes --> default --> templates --> admin_mods --> m.mod_sidemenu.tpl

Buscar:  
 
Código PHP:
<li id="a_posts"><span class="cat-title"><a onclick="$('#a_posts').addClass('active');" href="{$tsConfig.url}/moderacion/posts">Post <span class="cadGe cadGe_{if $tsConfig.novemods.repposts > 15}red{elseif $tsConfig.novemods.repposts > 5}purple{else}green{/if}">{$tsConfig.novemods.repposts}</span></a></span></li
                                       
                                         
Debajo agregar:
 
Código PHP:
<li id="a_comunidades"><span class="cat-title"><a onclick="$('#a_comunidades').addClass('active');" href="{$tsConfig.url}/moderacion/comunidades">Comunidades <span class="cadGe cadGe_{if $tsConfig.novemods.repcomunidades > 15}red{elseif $tsConfig.novemods.repcomunidades > 5}purple{else}green{/if}">{$tsConfig.novemods.repcomunidades}</span></a></span></li>
                                        <
li id="a_temas"><span class="cat-title"><a onclick="$('#a_temas').addClass('active');" href="{$tsConfig.url}/moderacion/temas">Temas <span class="cadGe cadGe_{if $tsConfig.novemods.reptemas > 15}red{elseif $tsConfig.novemods.reptemas > 5}purple{else}green{/if}">{$tsConfig.novemods.reptemas}</span></a></span></li
                                      
                                                  
Buscar:  
Código PHP:
{if $tsUser->is_admod || $tsUser->permisos.morp}<li id="a_pospelera"><span class="cat-title"><a onclick="$('#a_pospelera').addClass('active');" href="{$tsConfig.url}/moderacion/pospelera">Post eliminados <span class="cadGe cadGe_{if $tsConfig.novemods.pospelera > 15}red{elseif $tsConfig.novemods.pospelera > 5}purple{else}green{/if}">{$tsConfig.novemods.pospelera}</span></a></span></li>{/if} 
                                       
                                        
                                        
Debajo agregar:
 
Código PHP:
{if $tsUser->is_admod}<li id="a_tempelera"><span class="cat-title"><a onclick="$('#a_tempelera').addClass('active');" href="{$tsConfig.url}/moderacion/tempelera">Temas eliminados <span class="cadGe cadGe_{if $tsConfig.novemods.tempelera > 15}red{elseif $tsConfig.novemods.tempelera > 5}purple{else}green{/if}">{$tsConfig.novemods.tempelera}</span></a></span></li>{/if} 
                                       
                                                   
En m.perfil_sidebar.tpl --> themes --> default --> templates --> modules --> m.perfil_sidebar.tpl

Buscar:  
 
Código PHP:
{if $tsInfo.can_hits
                      
              
Arriba agregar:
 
Código PHP:
<div class="widget w-comunidades clearfix">
                            <
div class="title-w clearfix">
                              <
h3>Comunidades</h3>
                              <
span>{$tsGeneral.comus_total}</span>
                            </
div>
                            {if 
$tsGeneral.comus}
                            <
ul class="clearfix">
                                {foreach 
from=$tsGeneral.comus item=c}
                                <
li style="width: 100%;margin-bottom: 5px;">
                                <
a href="{$tsConfig.url}/comunidades/{$c.c_nombre_corto}/" class="floatL" style="margin-right: 3px;"><img src="{$tsConfig.url}/files/uploads/c_{$c.c_id}.jpg" width="32" height="32"/></a>
                                <
a href="{$tsConfig.url}/comunidades/{$c.c_nombre_corto}/" style="color:#006595;font-weight:bold;font-size:12px;">{$c.c_nombre}</a>
                                <
span style="display: block;font-size: 11px;color: #999;">{$c.c_miembrosMiembros</span>
                                </
li>
                                {/foreach}
                            </
ul>
                            <
a href="#comunidades" onclick="perfil.load_tab('comunidades', $('#comunidades'));" class="see-more">Ver todas &raquo;</a>
                            {else}
                            <
div class="emptyData">No participa en ninguna comunidad</div>
                            {/if}
                        </
div
                       
                       
En m.top_sidebar.tpl --> themes --> default --> templates --> modules --> m.top_sidebar.tpl

Buscar:  
 
Default
 
Código PHP:
<div class="boxy-content"


V5 y V6
 
Código PHP:
<div class="ccontenido"


Arriba agregar:
 
Código PHP:
{if $tsAction == 'posts' || $tsAction == 'usuarios'


Buscar:
 
Default
 
Código PHP:
<ul


V5 y V6
 
Código PHP:
<div class="boxy"

   
Arriba agregar:
 
Código PHP:
{/if} 
   

En head_menu.tpl --> themes --> default --> templates --> sections --> head_menu.tpl

Buscar:  
 
Código PHP:
<li class="tabbed {if $tsPage == 'posts' || $tsPage == 'home'}here{/if}" id="{if $tsConfig.c_allow_portal && $tsUser->is_member}tabbedposts{else}tabbedhome{/if}">
                    <
a title="Ir a Posts" onclick="menu('posts', this.href); return false;" href="{$tsConfig.url}/posts/">Posts <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
                </
li
               
               
Debajo agregar:
 
Código PHP:
<li class="tabbed {if $tsPage == 'comunidades'}here{/if}" id="tabbedcomunidades">
                    <
a title="Ir a Comunidades" onclick="menu('comunidades', this.href); return false;" href="{$tsConfig.url}/comunidades/">Comunidades <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
                </
li
              
               
En head_submenu.tpl --> themes --> default --> templates --> sections --> head_submenu.tpl

Buscar:  
 
Código PHP:
<div id="subMenuTops" class="subMenu {if $tsPage == 'tops'}here{/if}"
          
           
Arriba agregar:
 
Código PHP:
<div id="subMenuComunidades" class="subMenu {if $tsPage == 'comunidades'}here{/if}">
                <
ul class="floatL tabsMenu">
                    <
li{if $tsAction == '' || $tsAction == 'home' && $tsAction != 'mis-comunidades' && $tsAction != 'dir' && $tsAction != 'mod-history' && $tsAction != 'buscar' && $tsAction != 'favoritos' && $tsAction != 'borradores'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/">Inicio</a></li>
                    {if 
$tsUser->is_member}<li {if $tsAction == 'mis-comunidades'}class="here"{/if}><a href="{$tsConfig.url}/comunidades/mis-comunidades/">Mis Comunidades</a></li>{/if}
                    <
li{if $tsAction == 'dir'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/dir/">Directorio</a></li>
                    <
li{if $tsAction == 'buscar'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/buscar/">Buscar</a></li>
                    {if 
$tsUser->is_member}
                    <
li{if $tsAction == 'favoritos'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/favoritos/">Favoritos</a></li>
                    <
li{if $tsAction == 'borradores'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/borradores/">Borradores</a></li>
                    {/if}
                    <
li{if $tsAction == 'mod-history'} class="here"{/if}><a href="{$tsConfig.url}/comunidades/mod-history/">Historial</a></li>
                </
ul>
                <
div class="clearBoth"></div>
            </
div
           
           
Buscar:
 
Código PHP:
<li{if $tsAction == 'usuarios'} class="here"{/if}><a href="{$tsConfig.url}/top/usuarios/">Usuarios</a></li
                  

Debajo agregar:
 
Código PHP:
<li{if $tsAction == 'comunidades'} class="here"{/if}><a href="{$tsConfig.url}/top/comunidades/">Comunidades</a></li>
                    <
li{if $tsAction == 'temas'} class="here"{/if}><a href="{$tsConfig.url}/top/temas/">Temas</a></li
                   
           
En p.denuncia.form.tpl --> themes --> default --> templates --> t.php_files --> p.denuncia.form.tpl

Buscar:  
 
Código PHP:
{elseif $tsAction == 'denuncia-mensaje'


Arriba agregar:
 
Código PHP:
{elseif $tsAction == 'denuncia-comunidad'}
<
div align="center" style="padding:10px 10px 0">
    <
b>Denunciar comunidad:</b><br />
    {
$tsData.obj_title}<br /><br />
    <
b>Raz&oacute;n de la denuncia:</b><br />
    <
select name="razon">
    {foreach 
from=$tsDenuncias key=i item=denuncia}
        {if 
$denuncia}<option value="{$i}">{$denuncia}</option>{/if}
    {/foreach}
    </
select><br />
    <
b>Aclaraci&oacute;n y comentarios:</b><br />
    <
textarea tabindex="6" rows="5" cols="40" name="extras"></textarea><br />
    <
span class="size9">Para atender tu caso r&aacute;pidamenteadjunta pruevas de tu denuncia.<br /> (capturas de pantalla)</span>
</
div>
{elseif 
$tsAction == 'denuncia-tema'}
<
div align="center" style="padding:10px 10px 0">
    <
b>Denunciar tema:</b><br />
    {
$tsData.obj_title}<br /><br />
    <
b>Autor:</b><br />
    {
$tsData.obj_user}<br /><br />
    <
b>Raz&oacute;n de la denuncia:</b><br />
    <
select name="razon">
    {foreach 
from=$tsDenuncias key=i item=denuncia}
        {if 
$denuncia}<option value="{$i}">{$denuncia}</option>{/if}
    {/foreach}
    </
select><br />
    <
b>Aclaraci&oacute;n y comentarios:</b><br />
    <
textarea tabindex="6" rows="5" cols="40" name="extras"></textarea><br />
    <
span class="size9">Para atender tu caso r&aacute;pidamenteadjunta pruevas de tu denuncia.<br /> (capturas de pantalla)</span>
</
div

  
Y subir esta carpeta

Mega
http://Registrate o inicia tu sesión par... contenido

Googe Drive
http://Registrate o inicia tu sesión par... contenido

Mediafire
http://Registrate o inicia tu sesión par... contenido

Demo
http://Registrate o inicia tu sesión par... contenido





Creditos: Kmario19 y koruitch

Imprimir


Enviado por: Chctrpgo
03-01-2021, 10:44 AM
Foro: Complementos Terminados
- Respuestas (3)

[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]



Hacer la consulta en la base de datos:
 
Código:
ALTER TABLE `w_configuracion` ADD `c_desapprove_foto` INT(1) NOT NULL DEFAULT '0' AFTER `c_desapprove_post`;


En el archivo c.admin.php y buscar:
 
Código:
'desapprove_post' => empty($_POST['desapprove_post']) ? 0 : 1,


Debajo de eso agregar:
 
Código:
'desapprove_foto' => empty($_POST['desapprove_foto']) ? 0 : 1,


Luego de eso buscamos:
 
Código:
$c['desapprove_post'] . '\'


Al lado de eso agregar:
 
Código:
, `c_desapprove_foto` = \'' . $c['desapprove_foto'] . '\'



Luego buscar dos veces:
 
Código:
'mocp' => $_POST['mod-contenidoposts'],


Y debajo de cada uno agregar:
 
Código:
'mocf' => $_POST['mod-contenidofotos'],


Casi al final del archivo buscar:
 
Código:
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'0\') as fotos_visibles,


Y agregar debajo esto:
 
Código:
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'3\') as fotos_revision,


Un poco mas abajo buscar:
 
Código:
+ $num['fotos_eliminadas']


Agregar al lado:
 
Código PHP:
$num['fotos_revision'


En el archivo c.core.php buscar:
 
Código:
(SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts,


Al lado de eso agregar:
 
Código:
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'3\') as revfotos,


Y una línea abajo buscar:
 
Código:
+ $datos['revposts']


Agregar al lado:
 
Código:
+ $datos['revfotos']



En el archivo c.moderacion.php buscar:
 
Código:
/**
    * @name getHistory()


Arriba de eso agregar:
 
Código:
public function getFotosD()
    {
        global $tsUser, $tsCore;
        //
        $max = 20; // MAXIMO A MOSTRAR
        $limit = $tsCore->setPageLimit($max, true);

        // PAGINAS
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(*) FROM f_fotos AS f LEFT JOIN u_miembros AS u ON u.user_id = f.f_user WHERE f.f_status = \'3\'');

        list($total) = db_exec('fetch_row', $query);
        
        $data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] .
            "/moderacion/revfotos?", $_GET['s'], $total, $max);
        //
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, h.*, f.foto_id, f.f_title FROM f_fotos AS f LEFT JOIN w_historial AS h ON h.pofid = f.foto_id LEFT JOIN u_miembros AS u ON u.user_id = h.mod  WHERE h.type = \'2\' AND h.action = \'3\' AND f.f_status = \'3\' LIMIT ' .
            $limit);
        $data['datos'] = result_array($query);
        
        //
        return $data;
    }


Buscar la función:
 
Código:
function rebootFoto($fid)


Y reemplazarla por esta:
 
Código:
function rebootFoto($fid)
    {
        global $tsUser;
        if ($tsUser->is_admod || $tsUser->permisos['mocdf'])
        {
// PRIMERO COMPROBAMOS SI ESTÁ OCULTO
            $datos = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT foto_id, f_status FROM f_fotos WHERE foto_id = \'' .
                (int)$fid . '\' LIMIT 1'));
            if ($datos['f_status'] == 3)
            {
                if (!db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `w_historial` WHERE `pofid` = \'' . (int) $fid . '\' && `type` = \'2\' && `action` = \'3\''))
                    return '0: No se pudo restaurar la foto.';
            } else
            {
                //BORRAMOS LA DENUNCIAS
                if (!db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `w_denuncias` WHERE `obj_id` = \'' . (int) $fid . '\' AND `d_type` = \'4\''))
                    return '0: No se pudo eliminar la denuncia.';
            }
            // REGRESAMOS EL POST
            if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `f_fotos` SET `f_status` = \'0\' WHERE `foto_id` = \'' .
                $fid . '\''))
            {
                return '1: La foto ha sido restaurada.';
            } else
                return '0: No se pudo restaurar la foto.';
        } else
            return '0: No contin&uacute;e por aqu&iacute;.';
    }


En c.fotos.php buscar:
 
Código:
if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `f_fotos` (f_title, f_date, f_description, f_url, f_user, f_closed, f_visitas, f_last, f_ip) VALUES (\''.$fData['titulo'].'\', \''.time().'\', \''.$fData['desc'].'\',  \''.$img_url.'\', \''.$tsUser->uid.'\', \''.$fData['closed'].'\', \''.$fData['visitas'].'\', \'1\', \''.$_SERVER['REMOTE_ADDR'].'\')')) {
                $fid = db_exec('insert_id');


Y reemplazarlo por:
 
Código:
if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `f_fotos` (f_title, f_date, f_description, f_url, f_user, f_closed, f_visitas, f_status, f_last, f_ip) VALUES (\''.$fData['titulo'].'\', \''.time().'\', \''.$fData['desc'].'\',  \''.$img_url.'\', \''.$tsUser->uid.'\', \''.$fData['closed'].'\', \''.$fData['visitas'].'\', '.((!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1) ? '\'3\'' : '\'0\'').', \'1\', \''.$_SERVER['REMOTE_ADDR'].'\')')) {
$fid = db_exec('insert_id');
// Si está oculto, lo creamos en el historial e.e
if(!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1) db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `w_historial` (`pofid`, `action`, `type`, `mod`, `reason`, `date`, `mod_ip`) VALUES (\''.(int)$fid.'\', \'3\', \'2\', \''.$tsUser->uid.'\', \'Revisi&oacute;n al publicar\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');


Buscar y eliminar la línea:
 
Código:
$data['foto']['exist'] = db_exec('num_rows', $query);


Buscar un poco arriba de eso:
 
Código:
$data['foto'] = db_exec('fetch_assoc', $query);


Y debajo agregar:
 
Código:
if(empty($data['foto']['foto_id'])) return 'La foto fue eliminada!';
        elseif($data['foto']['f_status'] == 1 && (!$tsUser->is_admod && $tsUser->permisos['morf'] == false)) return 'La foto est&aacute; en revisi&oacute;n por acumulaci&oacute;n de denuncias.';
        elseif($data['foto']['f_status'] == 3 && (!$tsUser->is_admod && $tsUser->permisos['mocf'] == false)) return 'La foto se encuentra en revisi&oacute;n, a la espera de su publicaci&oacute;n.';


Un poco mas arriba en la consulta buscar y eliminar
 
Código:
AND f.f_status = \'0\'


En fotos.php al lado de:
 
Código:
"La imagen <b>".$titulo."</b> fue agregada."


Agregar:
 
Código:
.(!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1 ? ' Deber&aacute; esperar su aprobaci&oacute;n' : '')


Un poco abajo buscar el contenido del case "ver":
 
Código:
$tsFoto = $tsFotos->getFoto();
            // TITULO
            $tsTitle = $tsFoto['foto']['f_title'].' - '.$tsFoto['foto']['user_name'].' - '.$tsCore->settings['titulo'];
            
            if($tsFoto['foto']['f_status'] == 1 && (!$tsUser->is_admod && $tsUser->permisos['moacp'] == false)) {
            $tsPage = 'aviso';
            $smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => 'Esta foto se encuentra en revisi&oacute;n por acumulaci&oacute;n de denuncias', 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
            }elseif($tsFoto['foto']['exist'] == 0){
            $tsPage = 'aviso';
            $smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => 'Esta foto no existe', 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
            }else{
            $smarty->assign("tsFoto", $tsFoto['foto']);
            $smarty->assign("tsUFotos", $tsFoto['last']);
            $smarty->assign("tsFFotos", $tsFoto['amigos']);
            $smarty->assign("tsFComments", $tsFoto['comments']);
            $smarty->assign("tsFVisitas", $tsFoto['visitas']);
            $smarty->assign("tsFMedallas", $tsFoto['medallas']);
            $smarty->assign("tsTMedallas", $tsFoto['m_total']);
            }


Y todo eso Reemplazarlo por:
 
Código:
$tsFoto = $tsFotos->getFoto();            
            if(is_array($tsFoto)) {
                // TITULO
                $tsTitle = $tsFoto['foto']['f_title'].' - '.$tsFoto['foto']['user_name'].' - '.$tsCore->settings['titulo'];
    $smarty->assign("tsFoto", $tsFoto['foto']);
                $smarty->assign("tsUFotos", $tsFoto['last']);
                $smarty->assign("tsFFotos", $tsFoto['amigos']);
                $smarty->assign("tsFComments", $tsFoto['comments']);
    $smarty->assign("tsFVisitas", $tsFoto['visitas']);
    $smarty->assign("tsFMedallas", $tsFoto['medallas']);
    $smarty->assign("tsTMedallas", $tsFoto['m_total']);
} else {
                $tsPage = 'aviso';
                $smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => $tsFoto, 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
            }



En moderacion.php buscar:
 
Código:
elseif($action == 'revposts'){
        $smarty->assign("tsPosts",$tsMod->getPostsD());
    }


Debajo de eso agregar:
 
Código:
elseif($action == 'revfotos'){
        $smarty->assign("tsFotos",$tsMod->getFotosD());
    }



En templates/admin_mods/m.admin_configs.tpl debajo de:
 
Código:
<dl>
    <dt><label for="ai_desapprove_post">Revisi&oacute;n de posts tras su publicaci&oacute;n</label><br /><span>Si est&aacute; activado, el equipo de moderaci&oacute;n deber&aacute; aprobar un post antes de que &eacute;ste sea publicado.</span></dt>                                            
                                            <dd>
      <label><input name="desapprove_post" type="radio" id="ai_desapprove_post" value="1" {if $tsConfig.c_desapprove_post == 1}checked="checked"{/if} class="radio"/>S&iacute;</label>                                              
      <label><input name="desapprove_post" type="radio" id="ai_desapprove_post" value="0" {if $tsConfig.c_desapprove_post != 1}checked="checked"{/if} class="radio"/>No</label>                                            
                                            </dd>
                                        </dl>


Agregar:
 
Código:
<dl>
                                            <dt><label for="ai_desapprove_foto">Revisi&oacute;n de fotos tras su publicaci&oacute;n</label><br /><span>Si est&aacute; activado, el equipo de moderaci&oacute;n deber&aacute; aprobar una foto antes de que &eacute;sta sea publicada.</span></dt>                                            
                                            <dd>
                                              <label><input name="desapprove_foto" type="radio" id="ai_desapprove_foto" value="1" {if $tsConfig.c_desapprove_foto == 1}checked="checked"{/if} class="radio"/>S&iacute;</label>                                              
                                              <label><input name="desapprove_foto" type="radio" id="ai_desapprove_foto" value="0" {if $tsConfig.c_desapprove_foto != 1}checked="checked"{/if} class="radio"/>No</label>                                            
                                            </dd>
                                        </dl>



En templates/admin_mods/m.admin_rangos.tpl debajo de:
 
Código:
<input type="checkbox" id="mocp" name="mod-contenidoposts" {if $tsRango.permisos.mocp}checked{/if} /><label style="font-weight:bold;" for="mocp">Posts desaprobados. </label><label for="mocp">   Podr&aacute;n ver la secci&oacute;n y los posts ocultos.</label>
<br /><hr>


Agregar:
 
Código:
<input type="checkbox" id="mocf" name="mod-contenidofotos" {if $tsRango.permisos.mocf}checked{/if} /><label style="font-weight:bold;" for="mocf">Fotos desaprobadas. </label><label for="mocf">   Podr&aacute;n ver la secci&oacute;n y las fotos ocultas.</label>
<br /><hr>


En esa carpeta crear el archivo templates/admin_mods/m.mod_revision_fotos.tpl y en su contenido agregar:
 
Código:
<div class="boxy-title">
   <h3>Fotos desaprobadas</h3>
</div>
<div id="res" class="boxy-content" style="position:relative">                          
{if !$tsFotos.datos}
<div class="phpostAlfa">No hay fotos esperando aprobaci&oacute;n</div>
{else}
<table cellpadding="0" cellspacing="0" border="0" class="admin_table" width="100%" align="center">
    <thead>
        <th>ID</th>
        <th>Foto</th>
        <th>Moderador</th>                            
        <th>Raz&oacute;n</th>                                        
        <th>Fecha</th>                                                          
        <th>IP</th>
        <th>Acciones</th>
    </thead>
    <tbody>
        {foreach from=$tsFotos.datos item=f}
        <tr id="report_{$f.foto_id}">                                            
            <td>{$f.foto_id}</td>
            <td><a href="{$tsConfig.url}/fotos/{$f.user_name}/{$f.foto_id}/{$f.f_title|seo}.html" target="_blank" title="{$f.f_title}"><img src="{$f.f_url}" width="50" height="50" /></a></td>
            <td><a href="{$tsConfig.url}/perfil/{$f.user_name}" class="hovercard" uid="{$f.user_id}">{$f.user_name}</a></td>
            <td>{$f.reason}</td>
            <td>{$f.date|hace:true}</td>
            <td>{$f.mod_ip}</td>                                    
            <td class="admin_actions">
                    <a href="#" onclick="mod.reboot({$f.foto_id}, 'fotos', 'reboot', false); return false;"><img src="{$tsConfig.default}/images/icons/reboot.png" title="Reactivar Foto" /></a>
                    <a href="{$tsConfig.url}/fotos/editar.php?id={$f.foto_id}" target="_blank"><img src="{$tsConfig.default}/images/icons/edit.png" title="Editar Foto" /></a>
                    <a href="#" onclick="mod.fotos.borrar({$f.foto_id}, false); return false"><img src="{$tsConfig.default}/images/icons/close.png" title="Borrar Foto" /></a>
            </td>
        </tr>
        {/foreach}
    </tbody>
    <tfoot>
        <td colspan="8">P&aacute;ginas: {$tsFotos.pages}</td>
    </tfoot>
</table>
{/if}                                
</div>


En el archivo templates/admin_mods/m.mods_sidemenu.tpl en la misma carpeta, buscar:
 
Código:
{if $tsUser->is_admod || $tsUser->permisos.mocp}<li id="a_revposts"><span class="cat-title"><a onclick="$('#a_revposts').addClass('active');" href="{$tsConfig.url}/moderacion/revposts">Posts <span class="cadGe cadGe_{if $tsConfig.novemods.revposts > 15}red{elseif $tsConfig.novemods.revposts > 5}purple{else}green{/if}">{$tsConfig.novemods.revposts}</span></a></span></li>{/if}


Debajo agregar:
 
Código:
{if $tsUser->is_admod || $tsUser->permisos.mocf}<li id="a_revfotos"><span class="cat-title"><a onclick="$('#a_revfotos').addClass('active');" href="{$tsConfig.url}/moderacion/revfotos">Fotos <span class="cadGe cadGe_{if $tsConfig.novemods.revfotos > 15}red{elseif $tsConfig.novemods.revfotos > 5}purple{else}green{/if}">{$tsConfig.novemods.revfotos}</span></a></span></li>{/if}


En el archivo templates/admin_mods/m.admin_fotos.tpl al lado de:
 
Código:
if $f.f_status == 1


Agregar:
 
Código:
|| $f.f_status == 3


En el archivo templates/admin_mods/m.admin_stats.tpl buscar:
 
Código:
<li class="clearfix"><span class="floatL">  En revisi&oacute;n</span><span class="floatR number">{$tsAdminStats.fotos_ocultas}  </span></li>


Reemplazar por:
 
Código:
<li class="clearfix"><span class="floatL">  En revisi&oacute;n</span><span class="floatR number">{$tsAdminStats.fotos_revision}  </span></li>
        <li class="clearfix"><span class="floatL">  Inactivas</span><span class="floatR number">{$tsAdminStats.fotos_ocultas}  </span></li>


En el archivo templates/t.moderacion.tpl debajo de:
 
Código:
{if $tsUser->is_admod || $tsUser->permisos.mocp}{include file='admin_mods/m.mod_revision_posts.tpl'}{/if}


Agregar:
 
Código:
{elseif $tsAction == 'revfotos'}
                                {if $tsUser->is_admod || $tsUser->permisos.mocf}{include file='admin_mods/m.mod_revision_fotos.tpl'}{/if}



Por último en css/moderacion.css al lado de:
 
Código:
li#a_revposts


Agregar:
 
Código:
, li#a_revfotos




Dejo el script con la instalación echa.

Mega
http://Registrate o inicia tu sesión par... contenido




Creditos: Kmario19

Imprimir


Enviado por: Chctrpgo
02-28-2021, 10:50 AM
Foro: Herramientas web
- Sin respuestas

Logaster
 

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generador gratuito de nombre de empresa

Web
http://Registrate o inicia tu sesión par... contenido



The Name App
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Tienes una idea brillante. Incluso se le ocurrió un nombre único. ¡Ahora veamos si tiene dominios y nombres de usuario disponibles en las principales plataformas!

Web
http://Registrate o inicia tu sesión par... contenido



Namelix
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generador de nombres comerciales
Genera un nombre comercial corto y de marca utilizando inteligencia artificial

Web
http://Registrate o inicia tu sesión par... contenido



Naminum
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Naminum es el generador de nombres comerciales gratuito líder en la web. Genere cantidades ilimitadas de nombres únicos que sean realmente buenos.

Web
http://Registrate o inicia tu sesión par... contenido



Shopify
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Busca el generador de nombre de empresa de Shopify para la disponibilidad de dominio al instante.
Selecciona dominios para empresas a partir de ideas de nombre generadas de manera automática.


Web
http://Registrate o inicia tu sesión par... contenido



Wordoid
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Nombres inventados para marcas de productos, empresas emergentes, blogs y sitios web. Elija el nombre perfecto entre docenas de ideas con nuestro generador de nombres inteligente.

Web
http://Registrate o inicia tu sesión par... contenido



Hipster Business
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generador de nombres de dominio hipster

Web
http://Registrate o inicia tu sesión par... contenido



NameMesh
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Obtenga sugerencias inteligentes de nombres de dominio utilizando sinónimos, sufijos, prefijos, url corta, nuevos gtlds para encontrar el nombre de dominio perfecto.

Web
http://Registrate o inicia tu sesión par... contenido



Impossibility
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Encuentre nombres de dominio increíbles con nuestro generador de nombres de dominio ultrarrápido.

Web
http://Registrate o inicia tu sesión par... contenido



Panabee
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Panabee es una forma sencilla de buscar nombres de dominio, nombres de aplicaciones, nombres de sitios web y nombres comerciales.

Web
http://Registrate o inicia tu sesión par... contenido



Business Name Generator
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Ingrese palabras relacionadas con su empresa, producto o servicio en nuestro generador de nombres de empresas de IA y generaremos cientos de ideas de nombres para que empiece el proceso de selección.

Web
http://Registrate o inicia tu sesión par... contenido



NameStation
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Encuentre excelentes nombres de dominio disponibles.
Búsqueda inteligente de dominios, verificación instantánea, concursos de nombres de colaboración colectiva, sugerencias de palabras clave.

Web
http://Registrate o inicia tu sesión par... contenido



Novanym
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Simplemente explore cientos de dominios .com brillantes y encuentre uno que funcione como el nombre de su empresa. Con una simple compra única, es tuyo. Encuentre su nuevo nombre comercial hoy.

Web
http://Registrate o inicia tu sesión par... contenido



Names4Brands
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Nuestro generador de nombres de marca ayuda a obtener un nombre de empresa único, con un solo clic en nuestro generador de nombres comerciales aleatorios, encuentre marcas geniales. El nombre comercial único es la clave para una empresa exitosa. Aquí puede encontrar la forma más rápida de obtener un nombre de dominio y una marca comercial disponibles para marcas geniales, utilice nuestro generador aleatorio de nombres de marcas para obtener sugerencias de nombres comerciales únicos para su empresa. Marcas de nombres que utilizan nuestro generador de nombres aleatorios, utiliza palabras de prefijos y sufijos populares para generar nombres de empresas. El generador de nombres aleatorios para marcas geniales, nombres para marcas, será gratuito para los buscadores de marcas para siempre con nuestro generador de nombres.

Web
http://Registrate o inicia tu sesión par... contenido



Dot-O-Mator
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Utilice Dot-o-mator para crear sugerencias de nombres de dominio. Cómo funciona: ingrese una palabra (o palabras) en el cuadro de la izquierda, luego elija algunas terminaciones (o escriba las suyas propias).
Haga clic para combinarlos. Si ve un nombre que le gusta, puede verificar su disponibilidad o guardarlo en su scratchboard.

Web
http://Registrate o inicia tu sesión par... contenido

Imprimir


Enviado por: Chctrpgo
02-28-2021, 10:49 AM
Foro: Herramientas web
- Sin respuestas

Title Maker
 

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
El Generador de ideas de contenido de Portent le permite crear títulos atractivos para su próxima publicación de blog, podcast o video.
Simplemente escriba su tema y el generador de ideas generará un título creativo y consejos para llevarlo al siguiente nivel.

Web
http://Registrate o inicia tu sesión par... contenido



Google Trends
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Tendencias de búsqueda de Google es una función de tendencias de búsqueda que muestra la frecuencia con la que se ingresa un término de búsqueda determinado en el motor de búsqueda de Google en relación con el volumen de búsqueda total del sitio durante un período de tiempo determinado.
Google Trends se puede utilizar para la investigación comparativa de palabras clave y para descubrir picos desencadenados por eventos en el volumen de búsqueda de palabras clave.
Google Trends proporciona datos relacionados con palabras clave, incluido el índice de volumen de búsqueda y la información geográfica sobre los usuarios de los motores de búsqueda.

Web
http://Registrate o inicia tu sesión par... contenido



Buzz Sumo
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Encuentre el contenido con el mejor rendimiento.
Colabora con los influencers que importan.
Utilice nuestra información de contenido para generar ideas, crear contenido de alto rendimiento, supervisar su rendimiento e identificar personas influyentes.

Web
http://Registrate o inicia tu sesión par... contenido



Topic Generator
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
La herramienta gratuita Blog Ideas Generator de HubSpot te ofrece un año de ideas para publicaciones de blog en cuestión de segundos.

Web
http://Registrate o inicia tu sesión par... contenido



Trends 24
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Las tendencias de Twitter son bastante reveladoras, capturando pensamientos y emociones de la población de Twitter en un momento dado. Pero dado que las tendencias en el sitio web y la aplicación de Twitter siempre cambian, no nos damos cuenta del estado de ánimo general y las tendencias que evolucionan a lo largo del día. Aquí es donde entra en juego Trends24.
Trends24 lo ayuda a realizar un seguimiento de las principales tendencias de Twitter durante las últimas 24 horas para más de 400 ubicaciones en todo el mundo. La línea de tiempo de tendencias le brinda una línea de tiempo hora por hora de los temas de tendencia principales. La nube de etiquetas de tendencias le brinda la nube de etiquetas de los temas de tendencia del día.

Web
http://Registrate o inicia tu sesión par... contenido



Reddit
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Reddit es una red de comunidades basada en los intereses de las personas.

Web
http://Registrate o inicia tu sesión par... contenido



Tagboard
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Tagboard brinda a los productores y narradores del mundo una plataforma para crear narrativas auténticas, atractivas e interactivas.

Web
http://Registrate o inicia tu sesión par... contenido

Imprimir


Enviado por: Chctrpgo
02-28-2021, 10:48 AM
Foro: Herramientas web
- Respuestas (1)

Hipster Logo
 

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generador de iconos hipster.

Web
http://Registrate o inicia tu sesión par... contenido


Square Space
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Logos simples

Web
http://Registrate o inicia tu sesión par... contenido



Tailor
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Tailor Brands es la primera plataforma de marca y diseño de logotipos impulsada por IA del mundo
Empoderamos a millones de clientes en todo el mundo para poner en marcha su negocio con herramientas de diseño y marca fáciles de usar.
Nuestra plataforma de inteligencia artificial ayuda a cualquier persona a lucir profesional desde el principio al hacer que sea simple (¡y divertido!)
Crear una identidad de marca en línea única (logotipo, sitio web y diseños de marca) en minutos y sin experiencia de diseño.

Web
http://Registrate o inicia tu sesión par... contenido



Logaster
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
¡Cree su estilo corporativo al instante con Logaster Creador de Marca! ¡Comience con la creación del logotipo y obtenga otros elementos de diseño en unos pocos clics!

Web
http://Registrate o inicia tu sesión par... contenido


Canva
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Miles de plantillas de logotipos originales y gratuitas. ¡Diseña tu logo en tan solo unos minutos!

Web
http://Registrate o inicia tu sesión par... contenido



Logo Genie
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
¡Obtén la fuente gráfica de tu logotipo en formato para la web y para impresión! Realiza todas las modificaciones que deseas en tus logotipos y productos impresos. Elige entre una gran selección de íconos, fuentes y colores. ¡Conserva todos tus logotipos en tu cuenta y accede a tus archivos online de manera instantánea!

Web
http://Registrate o inicia tu sesión par... contenido


Free Logo Services
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Crea un logo en minutos.

Web
http://Registrate o inicia tu sesión par... contenido



Cool Text
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generador de gráficos gratis para páginas web o cualquier otra cosa donde usted necesite un logo impresionate sin mucho trabajo de diseño. Simplemente escoja que tipo de imagen a usted le gustaría, Luego llene un formulario y usted tendrá su propria imagen creada dinámicamente.

Web
http://Registrate o inicia tu sesión par... contenido



Logo Gratis
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Logos gratis online. Crea y descarga tu logo 100% Gratis y sin registrarte.

Web
http://Registrate o inicia tu sesión par... contenido


Logo Maker
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Web
http://Registrate o inicia tu sesión par... contenido


Online Logo Maker
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Crea un diseño de logotipo increíble para tu marca. Ahora mismo. Gratis.

Web
http://Registrate o inicia tu sesión par... contenido



Crear Logo Gratis Online
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Con CLGO puede diseñar su propia marca en 3 sencillos pasos. Lo único que debe hacer es dejar que nuestro generador de logotipos sepa cuál es su marca. A continuación, seleccione una categoría de diseño de logotipo y, por último, seleccione y edite su logotipo en línea de forma gratuita!
Puede elegir entre miles de plantillas de logotipo que puede personalizar en línea, ¡incluso puede buscar cientos de miles de iconos para combinarlo con su logotipo!
Después de crear su diseño de logotipo, podrá descargar los archivos en el formato que desee. Puede elegir entre: Vector como EPS, PDF, SVG y también JPG, PNG. ¡Incluso tenemos un paquete de redes sociales esperándote!

Web
http://Registrate o inicia tu sesión par... contenido



Mikons
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Comunidad en línea y sitio web social donde las personas se comunican a través de símbolos visuales, logotipos, íconos o avatares.

Web
http://Registrate o inicia tu sesión par... contenido



Logo Factory
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Aplicación sencilla, intuitiva e inmediata que le permite crear una marca marca / logotipo libre en unos pocos minutos.

Web
http://Registrate o inicia tu sesión par... contenido



Designmantic
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Cree un logotipo profesional con nuestra herramienta de creación de logotipos que ofrece cientos de plantillas para personalizar. Edite colores, fuentes, íconos para su marca y siga ajustando hasta que esté satisfecho.

Web
http://Registrate o inicia tu sesión par... contenido



Logosea
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Diseña tu logo gratis o tarjeta de visita con nuestro servicio online sin registrarte. Guarda tu diseño y modifícalo luego. Alta resolución y 100% GRATIS.

Web
http://Registrate o inicia tu sesión par... contenido



Graphicsprings
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Crea tu propio y magnífico logo en minutos con el creador de logos de GraphicSprings GRATIS.

Web
http://Registrate o inicia tu sesión par... contenido



Logo Instant
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Logotipos 100% gratuitos para descargar
Puede utilizar cualquier diseño de logotipo gratuito de LogoInstant.com para su próximo proyecto o incluso para sus clientes. Puede descargar y modificar libremente nuestros logotipos psd gratuitos para adaptarlos a sus necesidades.
Ya no tiene que gastar mucho dinero en un costoso diseñador de logotipos porque nuestros logotipos son 100% gratuitos.

Web
http://Registrate o inicia tu sesión par... contenido

Imprimir


Enviado por: Chctrpgo
02-28-2021, 10:47 AM
Foro: Herramientas web
- Sin respuestas

Tiny

 

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
TinyPNG utiliza técnicas inteligentes de compresión con pérdida para reducir el tamaño de sus archivos PNG. Al disminuir selectivamente el número de colores en la imagen, se requieren menos bytes para almacenar los datos. El efecto es casi invisible, pero hace una gran diferencia en el tamaño del archivo!

Web
Registrate o inicia tu sesión para ver este contenido




Compressor

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Optimice y comprima imágenes JPEG, PNG, SVG, GIF y WEBP en línea. Comprima, cambie el tamaño y cambie el nombre de sus fotos de forma gratuita.

Web
Registrate o inicia tu sesión para ver este contenido




Kraken

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Optimice sus imágenes con una velocidad increíble utilizando una potente API y una interfaz web en línea.

Web
Registrate o inicia tu sesión para ver este contenido




Image Optimizer

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Con este servicio en línea gratuito, puede cambiar el tamaño, comprimir y optimizar sus archivos de imagen. ¡Usar el servicio es tan fácil como hacer clic en un botón! ¡Las imágenes optimizadas son mejores! Son más adecuados para páginas web, archivos adjuntos de correo electrónico o incluso almacenamiento en su disco.

Web
Registrate o inicia tu sesión para ver este contenido




ImageOptim

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Limpia y comprime las imágenes cargadas por el usuario. ImageOptim API elimina metadatos privados y convierte imágenes a formatos y tamaños optimizados para la web.

Web
Registrate o inicia tu sesión para ver este contenido




WP Smush

 
[video=youtube]Registrate o inicia tu sesión para ver este contenido[/video]


Descripción:
Optimice sus imágenes, active la carga diferida, cambie el tamaño, comprima y mejore la velocidad de su página de Google con el increíblemente poderoso y 100% gratuito mezclador / compresor de imágenes de WordPress, ¡presentado por el superequipo de WPMU DEV!

Web
Registrate o inicia tu sesión para ver este contenido




Dunnnk

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Generamos hermosas maquetas de productos. Sube tu diseño y te daremos una maqueta de alta resolución a cambio.

Web
Registrate o inicia tu sesión para ver este contenido




JPEG Optimizer

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
JPEG-Optimizer es una herramienta en línea gratuita para cambiar el tamaño y comprimir sus fotos e imágenes digitales para mostrarlas en la web en foros o blogs, o para enviarlas por correo electrónico. Completamente libre. No hay software para descargar.

Web
Registrate o inicia tu sesión para ver este contenido




Optimizilla

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Este optimizador de imagen en línea utiliza una combinación inteligente de la mejor optimización y algoritmos de compresión con pérdida para reducir el tamaño JPEG y PNG de imágenes lo mínimo posible, manteniendo el nivel de calidad requerido.

Web
Registrate o inicia tu sesión para ver este contenido




Image Recycle

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
ImageRecycle puede optimizar la velocidad de su sitio web mediante la compresión de imágenes y PDF mientras mantiene la calidad de los medios originales.

Web
Registrate o inicia tu sesión para ver este contenido




Compress Now

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Compressnow Ayuda a reducir el peso de las IMÁGENES.

Web
Registrate o inicia tu sesión para ver este contenido




Trimage

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Trimage es una GUI multiplataforma y una interfaz de línea de comandos para optimizar archivos de imagen para sitios web, utilizando optipng, pngcrush, advpng y jpegoptim, según el tipo de archivo (actualmente, se admiten archivos PNG y JPG). Se inspiró en imageoptim. Todos los archivos de imagen se comprimen sin pérdidas en los niveles de compresión más altos disponibles, y se eliminan EXIF y otros metadatos. Trimage le ofrece varias funciones de entrada para adaptarse a su propio flujo de trabajo: un diálogo de archivo normal, arrastrar y soltar y varias opciones de línea de comando.

Web
Registrate o inicia tu sesión para ver este contenido




Resize photos

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Cambio de tamaño de fotos y compresor de imágenes gratuitos para recortar, cambiar el tamaño de las imágenes en formato JPEG | PNG | GIF a los píxeles exactos o la proporción que especificó, comprimirlos para reducir el tamaño de los archivos, lo que facilita su uso como fondo de escritorio, foto de portada de Facebook, Foto de perfil de Twitter, iconos de avatar, etc.

Web
Registrate o inicia tu sesión para ver este contenido




Ezgif

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Herramienta para ajustar la velocidad de la animación GIF en línea. Haz que las imágenes GIF funcionen más lento o más rápido. Acelera o ralentiza la animación GIF o WebP.

Web
Registrate o inicia tu sesión para ver este contenido




Webresizer

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Herramienta en línea gratuita para optimizar imágenes para sitios web y correo electrónico. Recorta, cambia el tamaño, añade un borde y mejora la nitidez de tus fotos fácilmente.

Web
Registrate o inicia tu sesión para ver este contenido



Compress JPEG

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
Comprimir imágenes y fotos JPEG para visualización en páginas web, para compartir en las redes sociales o para enviar por correo electrónico.

Web
Registrate o inicia tu sesión para ver este contenido




ILoveIMG

 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Descripción:
iLoveIMG es una app online para editar y gestionar imágenes completamente gratis y fácil de usar. Puedes comprimir imágenes, cambiarlas de tamaño, recortarlas, convertirlas y mucho más.

Web
Registrate o inicia tu sesión para ver este contenido

Imprimir