¡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) Estable | Actualizado: 16/06/2026

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: Chctrpgo
05-16-2022, 12:27 PM
Foro: Complementos Terminados
- Respuestas (2)

Captura

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



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

Buscar:
 
Código PHP:
/*
        getTopUsers()
    */
    
function getTopUsers($fecha$cat){
        
//
        
$data $this->setTime($fecha);
        
$category = empty($cat) ? '' 'AND post_category = '.$cat;
        
// PUNTOS
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT SUM(p.post_puntos) AS total, u.user_id, u.user_name FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id WHERE p.post_status = 0  AND p.post_date ***** '.$data['start'].' AND '.$data['end'].' '.$category.' GROUP BY p.post_user ORDER BY total DESC LIMIT 10');
        
$array['puntos'] = result_array($query);
        
        
// SEGUIDORES
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(f.follow_id) AS total, u.user_id, u.user_name FROM u_follows AS f LEFT JOIN u_miembros AS u ON f.f_id = u.user_id WHERE f.f_type = 1 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);
        
        
// MEDALLAS
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(m.medal_for) AS total, u.user_id, u.user_name, wm.medal_id FROM w_medallas_assign AS m LEFT JOIN u_miembros AS u ON m.medal_for = u.user_id LEFT JOIN w_medallas AS wm ON wm.medal_id = m.medal_id WHERE wm.m_type = \'1\' AND m.medal_date ***** '.$data['start'].' AND '.$data['end'].' GROUP BY m.medal_for ORDER BY total DESC LIMIT 10');
        
$array['medallas'] = result_array($query);
        
        
//
        
return $array;
    } 
 
 
Arriba de:
 
Código PHP:
//
        
return $array
 
 
Agregar:
 
Código PHP:
// POSTS
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(p.post_id) AS total, u.user_id, u.user_name FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id WHERE p.post_status = 0  AND p.post_date ***** '.$data['start'].' AND '.$data['end'].' '.$category.' GROUP BY p.post_user ORDER BY total DESC LIMIT 10');
        
$array['posts'] = result_array($query); 
 
 
En m.top_users.tpl --> themes --> default --> templates --> modules --> m.top_users.tpl

Buscar:    
 
Código PHP:
<!--MEDALLAS--> 
 
 
Arriba agregar:
 
Código PHP:
<!--POSTS-->
                    <
div class="boxy xtralarge" style="height: 440px">
                        <
div class="boxy-title">
                            <
h3>Top usuario con m&aacute;s posts</h3>
                            <
span class="icon-noti follow-n"></span>
                        </
div>
                        <
div class="boxy-content">
                            {if !
$tsTops.posts}<div class="emptyData">Nada por aqui</div>
                            {else}
                            <
ol>
                                {foreach 
from=$tsTops.posts item=p}
                                <
li class="categoriaUsuario clearfix">
                                    <
img width="16" height="16" src="{$tsConfig.url}/files/avatar/{$p.user_id}_50.jpg"/>
                                    <
a href="{$tsConfig.url}/perfil/{$p.user_name}">{$p.user_name}</a> <span class="qtip" title="tiene un total de {$p.total} Posts">{$p.total}</span>
                                </
li>
                                {/foreach}
                            </
ol>
                            {/if}
                        </
div>
                    </
div




Creditos: Nico

Imprimir


Enviado por: Chctrpgo
05-16-2022, 12:24 PM
Foro: Complementos Terminados
- Sin respuestas

Capturas
 

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



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

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 10:
                 return 
'SELECT f_title, f_url, foto_id, f_user, u.user_name, u.user_id FROM f_fotos AS f LEFT JOIN u_miembros AS u ON f.f_user = u.user_id WHERE foto_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
            break;
            case 
11:
                 return 
'SELECT f_title, f_url, foto_id, f_user, u.user_name, u.user_id FROM f_fotos LEFT JOIN f_comentarios AS c ON c.cid LEFT JOIN u_miembros AS u ON f_user = u.user_id WHERE foto_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
            break; 
 
 
Buscar:
Código PHP:
// PUBLICACION EN MURO
            
case 12:
                
$oracion['text'] = $this->monitor[$no_type]['text'].$txt_extra;
                
$oracion['link'] = $site_url.'/perfil/'.$tsUser->nick.'/'.$data['obj_uno'];
                
$oracion['ltext'] = ($this->show_type == 1) ? $ln_text $tsUser->nick;
                
$oracion['ltit'] = ($this->show_type == 1) ? $tsUser->nick '';
            break; 
 
 
Arriba agregar:
Código PHP:
case 10:
                 
$oracion['text'] = $this->monitor[$no_type]['text'];
                 
$oracion['link'] = $site_url.'/fotos/'.$data['user_name'].'/'.$data['foto_id'].'/'.$tsCore->setSEO($data['f_title']).'.html';
                 
$oracion['ltext'] = ($this->show_type == 1) ? $ln_text $data['f_title'];
            break;
            case 
11:
                
// CUANTOS
                
$no_total $data['not_total'];
                
// 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->monitor[$no_type]['text'][0].$txt_extra;
                
//
                
$oracion['link'] = $site_url.'/fotos/'.$data['user_name'].'/'.$data['foto_id'].'/'.$tsCore->setSEO($data['f_title']).'.html';
                
$oracion['ltext'] = ($this->show_type == 1) ? $ln_text $data['f_title'];
                
$oracion['ltit'] = ($this->show_type == 1) ? $data['f_title'] : '';
            break; 





Creditos: Nico

Imprimir


Enviado por: Miguel92
05-13-2022, 11:33 PM
Foro: Complementos Terminados
- Respuestas (2)

Instalador automático de themes!

Es completamente básico y no requiere de mucha instalación.

1 - Abren header.php y al final agregan
Código PHP:
include TS_ROOT "/inc/InstallAutomaticTheme.php"

2 - Descargan "InstallAutomaticTheme.php" y lo agregan en inc/

y listo todos los themes que agregues en "themes" y que contengan el archivo "install.php" los va a instalar, primero comprobará si lo tienen instalado en caso que si lo tengan, no lo va a agregar otra vez.

Imprimir


Enviado por: Miguel92
05-09-2022, 12:45 PM
Foro: Complementos Terminados
- Respuestas (7)

Hola a todos, no se si les interesa, pero les dejó este mod! (No sé si era la idea que tenía)

Mod iniciado por: KMario19
Topic: [Desarrollo] BBCode file para archivos

No lo he encontrado terminado, así que supongo que para usar este mod, deben tener:
[SECCIÓN] Archivos V1.2
[SECCIÓN] Archivos V2

[SECCIÓN] Archivos V2.2 (Actualizado a 1.3)
Autor del topic: Chctrpgo 

Iniciamos con la instalación
1 - Buscamos en .htaccess y buscamos
 

Código:
RewriteRule ^mod-history/([A-Za-z0-9_-]+)/ inc/php/mod-history.php?ver=$1 [QSA,L]

debajo agregaremos
 
Código:
# Descargar
RewriteRule ^download/([0-9_-]+)$ inc/php/download.php?id=$1 [QSA,L]

2 - Luego vamos a inc/class/c.core.php y buscamos
 
Código PHP:
public function setMenciones($html) { 

arriba de la función (también puede ir arriba de la última })
 
Código PHP:
# Extraemos el nombre del archivo
public function parseFiles($content) {
    
preg_match_all('/\[file\=(\d+)\]/i'$content$files);
    foreach (
$files[0] as $id => $file) {
        
$dato db_exec('fetch_assoc'db_exec([__FILE____LINE__], 'query'"SELECT file_id, f_nombre, f_descargas, f_ext FROM a_files WHERE file_id = {$files[1][$id]} LIMIT 1"));
        if(
$dato["file_id"] > 0) {
            
$replace "<a href=\"{$this->settings["url"]}/download/{$dato["file_id"]}\">{$dato["f_nombre"]}.{$dato["f_ext"]} <span style=\"color:#aaa\">{$dato["f_descargas"]} descargas</span>";
        } else 
$replace "<span style=\"color:#f00\">Archivo eliminado...</span>";
        
$content str_replace($file$replace$content);
    }
    return 
$content;



3 - Después buscamos en inc/class/c.posts.php
 
Código PHP:
$postData['user_firma'] = $tsCore->parseBadWords($tsCore->parseBBCodeFirma($postData['user_firma']),true); 

arriba agregamos
 
Código PHP:
$postData['post_body'] = $tsCore->parsefiles($postData['post_body'])); 

4 - Subimos este archivo "download.php" en inc/php

5 - Luego en tema/js/wysibb.js buscan
 
Código:
smilebox: "Emoticonos",

y debajo pegan
 
Código:
file: "Descargar archivo",

un poco más abajo buscan
 
Código:
modal_link_title: "Insertar enlace",

y arriba agregan
 
Código:
modal_link_id: "Inserta el ID del archivo",

luego buscan
 
Código:
strike,sup,sub,|

y a lado agregan
 
Código:
,file

más abajo buscan
 
Código:
img : {

y arriba pegan (en buttonHTML lo pueden definir ustedes)
 
Código:
file : {
    title: CURLANG.file,
    buttonHTML: '<span class="fa-solid fa-paperclip"></span>',
    modal: {
        title: CURLANG.modal_link_id,
        width: "500px",
        tabs: [
            {
                input: [
                    {param: "FILE",title:CURLANG.modal_link_id}
                ]
            }
        ]
    },
    transform : {
        '<a href="{FILE}">{FILE}</a>':"[file={FILE}]"
    }
},


bueno, eso todo... espero no olvidarme de nada!

Imprimir


Enviado por: Chctrpgo
04-24-2022, 10:55 AM
Foro: Complementos Terminados
- Respuestas (1)

Capturas

[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]




Ejecutar esta consulta
Código PHP:
ALTER TABLE p_posts ADD  post_destacados 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);
        
$destacados $tsCore->setSecure($_POST['imagen'], true);
        
$cuerpo $tsCore->setSecure($_POST['cuerpo'], true);
        
//
        
return array('titulo' => $titulo'destacados' => $destacados'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:
'destacados' => $tsCore->setSecure($_POST['destacados']), 
 
  
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_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status, post_destacados) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\',  \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$postData['destacados'].'\', \''.$_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'); 

                
Agregado:            
Código PHP:
post_destacados 
Código PHP:
\''.$postData['destacados'].'\', 
 
 
Buscar:
Código PHP:
'title' => $tsCore->parseBadWords($_POST['titulo'], true), 
 
 
Debajo agregar:
Código PHP:
'destacados' => $tsCore->setSecure($_POST['destacados'], 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&iacute;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_destacados = \''.$postData['destacados'].'\', 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&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') )) { 
           
           
Agregado:
Código PHP:
post_destacados = \''.$postData['destacados'].'\' 
    
 
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_destacados, 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); 
 
 
Buscar:
Código PHP:
/*
        getComentarios()
    */ 

   
Arriba agregar:
Código PHP:
/*
         Destacados
    */
    
function getLastDestacados(){
        global 
$tsCore;
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT post_id, post_user, post_category, post_title, post_date, post_puntos, post_comments, post_private, post_status, post_destacados, c_nombre, c_seo, c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = post_category WHERE post_status = 0 ORDER BY post_puntos < 60 || 80  && post_comments < 15  DESC LIMIT 10');
        
$data result_array($query);
        
        
//
        
return $data;
    } 
 
     
En posts.php  --> inc --> php --> posts.php

Buscar:
Código PHP:
// AFILIADOS
$smarty->assign("tsAfiliados",$tsAfiliado->getAfiliados()); 
 
 
Debajo agregar:
Código PHP:
// DESTACADOS
        
$smarty->assign("tsDestacados",$tsPosts->getLastDestacados()); 
 
 
En m.agregar_from.tpl --> themes --> default --> templates --> modules --> m.agregar_from.tpl

Buscar:    
Código PHP:
<li>
                                    <
label>Tags</label>
                                    <
span style="display: none;" class="errormsg"></span>
                                    <
input type="text" tabindex="4" name="tags" maxlength="128" class="text-inp required" value="{$tsDraft.b_tags}"/>
                                    
Una lista separada por comasque describa el contenidoEjemplo: <b>golinglesesCopa OrofutbolChicharitoM&eacute;xico</b>
                                    </
li
 
 
Debajo agregar:
Código PHP:
<li class="Thumbnail">
                                    <
label>Thumbnail</label>
                                    <
span style="display: none;" class="errormsg"></span>
                                    <
input type="text" tabindex="4" name="destacados" maxlength="500" class="text-inp required" value="{$tsDraft.b_destacados}"/>
                                    <
span class="toup-ta">
                                    <
b>Agrega la url de una imagen para agregar el Thumbnail. </b>
                                    </
span>
                                    <
div class="thumb-control">
                                    <
img src="{$tsDraft.b_destacados}class="thumbnail-preview">
                                    </
li
 
 
En t.home.tpl --> themes --> default --> templates --> t.home.tpl

Buscar:    
Código PHP:
<div id="derecha"
 
 
Debajo agregar:
Código PHP:
{include file='modules/m.home_destacados.tpl'
 
 
En estilo.css --> themes --> default --> estilo.css

Al final agregar:    
Código PHP:
.destacate{width:200px;height:70px;border-bottom:solid 1px #e0e0e0;display:block;background-color:#f8f8f8;margin-bottom:3px}.destacate a{color:#006595;background:0 0;border:none;font-size:11px;text-decoration:none;font-weight:700;cursor:pointer;width:100px;margin:-9px}.post-cat{color:#adadad;font-size:9px;line-height:14px;display:block;padding:0 5px;text-transform:uppercase}.post-image{float:left;/*! margin-right: 10px; */width:90px;height:68px;background:#eee}.post-title{color:#006595;font-size:13px;line-height:16px;font-weight:700;display:block;max-height:48px;overflow:hidden}.view-more-list{color:#006595;text-decoration:none;font-weight:700;cursor:pointer;padding:3px;border-top:1px solid #cfe9f4;border-radius:0 0 5px 5px;text-align:center;background:#eff9fd}.Thumbnail{padding:10px;background:#ddd;border-right:solid 30px #eee;position:relative;min-height:220px;margin-bottom:15px;width:320px}.Thumbnail>input{width:300px!important}.Thumbnail .thumbnail-preview{width:154px;height:116px;background:url(images/camera-big.png) #eee no-repeat center;margin:20px auto 10px;display:block;border:solid 4px #fff;outline:solid 1px #CCC}.Thumbnail label{color:#333;font-size:18px;text-shadow:1px 1px 0 #fff;padding:2px;text-align:left;margin-right:5px}#lastDestacado .wMod-h{background:url(images/icons/posts.png) no-repeat left center}.destacados-data{padding:0;text-align:center;position:relative;height:auto;overflow:hidden} 

 
 
Y subir esta carpeta

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

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

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

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

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





Creditos: Oficialphp

Imprimir


Enviado por: Miguel92
04-22-2022, 01:20 AM
Foro: Jquery y JS
- Respuestas (1)

Hola a todos esto lo pueden aplicar si lo desean, es una modificación completa del mydialog que trae en tema/js/acciones.js, es bastante "viejo"(por decirlo de alguna forma), lo que hice fue quitar el código que tenía y que no hacía nada, mejore la parte del footer del modal al agregar los botones, ahora se puede entender mejor...
 
Algunas capturas de como va a quedar... (Esto puede llegar a cambiar si es que exista un elemento css que modifique el existente)
 
El modal es sus 3 versiones "Default", "Pequeño" y "Grande"
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Modal alerta
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Modal reintentar y error
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Bueno, a lo que vinieron jajaja

1 - Buscan en js/acciones.js 

Código:
var mydialog = {
... TODO EL CODIGO ..
}
document.onkeydown = function(e){
   key = (e==null)?event.keyCode:e.which;
   if(key == 27) mydialog.close();
};

y lo reemplazan por
Código:
/* MyDialog 1.0 */
var mydialog = new function() {
   // Opciones por defecto
   this.options = {
      fixed: true,
      size: ''
   },
   this.close_button = true,
   this.mask_close = true,
   this.class_aux = '',
   // Generamos la plantilla
   this.template = `<div id="dialog">
      <div id="title"></div>
      <div id="cuerpo">
         <div id="procesando"><div id="mensaje"></div></div>
         <div id="modalBody"></div>
      </div>
      <div id="buttons"></div>
   </div>`,
   // Iniciamos
   this.show = () => {
      // Agregamos al body
      $("#mydialog").html(this.template);
      // Agregamos clases, si contiene
      if(!empty(this.class_aux) || !empty(this.options.size)) {
          $('#mydialog').addClass(this.class_aux + ' ' + this.options.size)
      }
      // Opciones de la mascara
      $("#mydialog").prepend('<div id="mask"></div>')
      if(this.mask_close) $("#mydialog > #mask").click(() => this.close())
      // Agregamos los extras
      if(this.options.fixed) $("body").attr("modal-open", true)
      $('#mydialog #dialog').fadeIn('fast');
      // Botón cerrar
      if(this.close_button) {
         $('#mydialog #dialog').append('<span class="close_dialog" onclick="mydialog.close()">&times;</span>');
      }
   },
   this.close = () => {
      $('#mydialog #dialog, #mydialog #mask').fadeOut('fast', () => $(this).remove());
      if(this.options.fixed) $("body").removeAttr("modal-open")
      this.procesando_fin();
   },
   this.center = () => {
      var centrado = $("#dialog");
      centrado.css({
         'left': Math.round($(window).width() / 2) - Math.round(centrado.width() / 2),
         'top': Math.round($(window).height() / 2) - Math.round(centrado.height() / 2)
      })
   },
   this.title = string => $("#title").html(string)
   this.body = string => $("#modalBody").html(string),
   this.buttons = (all, display1, val1, action1, enabled1, focus1, display2, val2, action2, enabled2, focus2) => {
      var buttons_add = $("#buttons")
      // Con este mostramos los botones
      if(all === true) {
         // Accion close"
         var close = 'mydialog.close()'
         if(action1 === 'close') action1 = close;
         if(action2 === 'close' || !val2) action2 = close;
         if(!val2) {
            val2 = 'Cancelar';
            enabled2 = true;
         }
         // Mostramos boton 1
         if(display1) buttons_add.append(`<input type="button" class="mBtn btnOk" onclick="${action1}" value="${val1}"` + (enabled1 ? '' : ' disabled') + `>`)
         // Mostramos boton 2
         if(display2) buttons_add.append(`<input type="button" class="mBtn btnCancel" onclick="${action2}" value="${val2}"` + (enabled2 ? '' : ' disabled') + `>`)
         // Enfocamos
         if(focus1) $('#mydialog #buttons .mBtn.btnOk').focus();
         else if(focus2) $('#mydialog #buttons .mBtn.btnCancel').focus();

      } else buttons_add.remove()
   },
   this.alert = (title, body, reload) => {
      this.class_aux = 'modal-alert'
      this.close_button = false
      this.show();
      this.title(title);
      this.body(body);
      this.buttons(true, true, 'Aceptar', 'mydialog.close();' + (reload ? 'location.reload();' : ''), true, true, false);
      this.center();
   },
   this.error_500 = fun_reintentar => {
      mydialog.procesando_inicio('Procesando...', 'Reintentando');
      setTimeout(() => {
         mydialog.procesando_fin();
         mydialog.show();
         mydialog.title('Error');
         mydialog.body('Error al intentar procesar lo solicitado');
         mydialog.buttons(true, true, 'Reintentar', 'mydialog.close();'+fun_reintentar, true, true, true, 'Cancelar', 'close', true, false);
         mydialog.center();
      }, 2000);
   },
   this.procesando_inicio = (value, title) => {
      if(!this.is_show){
         this.show();
         this.title(title);
         this.buttons(false);
         this.center();
      }
      $('#mydialog #procesando #mensaje').html('<img src="'+global_data.img+'images/loading_bar.gif" />');
      $('#mydialog #procesando').fadeIn('fast');
   },
   this.procesando_fin = () => $('#mydialog #procesando').fadeOut('fast')
}
document.onkeydown = function(e){
   key = (e==null)?event.keyCode:e.which;
   if(key == 27) mydialog.close();
}; 


2 - En estilo.css buscan todos los #mask, #mydialog que existan y lo borran, ya que puede interferir con el nuevo estilo... Pero si quieren evitarlo pueden incluirlo directamente en extras.css o phpost.css
Código:
body[modal-open=true] {
    overflow: hidden;
}
#mydialog #mask {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: rgba(50, 50, 50, .7);
}
#mydialog #dialog {
    --radius: 0.375rem;
    --shadow: 0 0 .5rem rgba(49, 49, 49, .3);
    --bordermodal: 1px solid rgba(150, 150, 150, .3);
    background-color: var(--base-color-body);
    color: var(--base-color-texto);
    border: var(--bordermodal);
    z-index: 99;
    position: fixed;
    width: 560px;
    box-shadow: var(--shadow);
    border-radius: var(--radius)!important;
}
#mydialog.small #dialog {
    width: 300px;
}
#mydialog.large #dialog {
    width: 700px;
}
#mydialog #dialog .close_dialog {
    --whlh: 1.2rem;
   position: absolute;
   top: 0.76rem;
   right: 0.66rem;
   display: grid;
   width: var(--whlh);
   height: var(--whlh);
   color: white;
   background-color: red;
   place-items: center;
   line-height: 1rem;
   font-size: var(--whlh);
   cursor: pointer;
   border-radius: .32rem;
}
#mydialog #dialog #title {
    display: block;
    padding: 0.82rem 1rem;
    font-weight: 600;
    border-bottom: var(--bordermodal);
    position: relative;
}
#mydialog #dialog #mensaje img {
    position: relative;
    margin: 1rem auto;
    display: block;
}
#mydialog #dialog #modalBody {
    padding: 1rem;
    max-height: 320px;
    overflow-y: auto;
}
#mydialog #dialog #buttons {
    display: flex;
   justify-content: space-around;
   align-items: center;
    padding: .654rem 0;
    border-top: var(--bordermodal);
    width: 100%;
}
#mydialog #dialog #buttons .mBtn {
    padding: .6rem 1.4rem;
}
#mydialog.modal-alert #dialog #title,
#mydialog.modal-alert #dialog #buttons {
    border: none;
    padding: 1rem;
}
#mydialog.modal-alert #dialog #modalBody {
    padding: 0.4rem 1rem;
}
#mydialog.modal-alert #dialog #buttons {
    display: block;
    text-align: right;


Nota:
Para activar el modal "pequeño" o "grande" deben buscar el modal que quieren modificar y buscan 
Código:
mydialog.show(true);

y arriba agregan
Código:
mydialog.options = {
    size: 'tipo del modal' // Tipos: small o large

Eso sería todo!

Imprimir


Enviado por: Chctrpgo
03-23-2022, 10:27 AM
Foro: Complementos Terminados
- Sin respuestas

Capturas

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




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

Buscar:
Código PHP:
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `u_portal` (`user_id`) VALUES (\''.$tsData['user_id'].'\')'); 


Debajo agregar:
Código PHP:
// COMPROBAMOS CLONES
            
$realip = ($_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : $_SERVER['X_FORWARDED_FOR']);
            if(
$f db_exec('num_rows'$q db_exec(array(__FILE____LINE__), 'query''SELECT user_name FROM u_miembros WHERE user_last_ip = \''.$tsCore->setSecure($realip).'\'')) || db_exec('num_rows'$qq db_exec(array(__FILE____LINE__), 'query''SELECT u.user_name FROM u_sessions AS s LEFT JOIN u_miembros AS u ON s.session_user_id = u.user_id WHERE s.session_ip = \''.$tsCore->setSecure($realip).'\' && s.session_user_id != \'0\''))){
              
$q db_exec('fetch_row'$f $q $qq);
              
$ms db_exec(array(__FILE____LINE__), 'query''SELECT user_id FROM u_miembros WHERE user_rango = \'1\' || user_rango = \'2\'');
              while(
$row db_exec('fetch_row'$ms)){
                
db_exec(array(__FILE____LINE__), 'query''INSERT INTO u_avisos (user_id, av_subject, av_body, av_date, av_type) VALUES (\''.$row[0].'\', \'Posibles clones\', \'Posibles clones: @'.$q[0].' y @'.$tsCore->setSecure($tsData['user_nick']).'\', \''.time().'\', \'2\')') or die('0__'.show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db'));
              }
            } 

            



Creditos: Alan

Imprimir


Enviado por: Chctrpgo
03-22-2022, 09:57 AM
Foro: Complementos Terminados
- Sin respuestas

Capturas

[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]



Administrador

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:
function getPreview(){
        global 
$tsCore$tsUser;
        
//
        
$titulo $tsCore->setSecure($_POST['titulo'], true);
        
$cuerpo $tsCore->setSecure($_POST['cuerpo'], true);
        
//
        
return array('titulo' => $titulo'cuerpo' => ($tsUser->is_admod == 1) ? html_entity_decode($tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true)) : $tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true));
    } 


Buscar:
Código PHP:
// SOLO MODERADORES Y ADMINISTRADORES
        
if(empty($tsUser->is_admod)  && $tsUser->permisos['most'] == false) {
            
$postData['sponsored'] = 0;
            
$postData['sticky'] = 0;   
        } else {
            
$postData['sponsored'] = empty($_POST['patrocinado']) ? 1;
            
$postData['sticky'] = empty($_POST['sticky']) ? 1;
        } 


Debajo agregar:
Código PHP:
if($tsUser->is_admod == 1){
        
$postData['body'] = html_entity_decode($postData['body']);
        } 


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&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') )) { 
 
 
Arriba agregar:
Código PHP:
if($tsUser->is_admod == 1){
        
$postData['body'] = html_entity_decode($postData['body']);
        } 
 
 
 
 
Fundador

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:
function getPreview(){
        global 
$tsCore$tsUser;
        
//
        
$titulo $tsCore->setSecure($_POST['titulo'], true);
        
$cuerpo $tsCore->setSecure($_POST['cuerpo'], true);
        
//
        
return array('titulo' => $titulo'cuerpo' => ($tsUser->uid == 1) ? html_entity_decode($tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true)) : $tsCore->parseBadWords($tsCore->parseBBCode($cuerpo), true));
    } 

    
Buscar:
Código PHP:
// SOLO MODERADORES Y ADMINISTRADORES
        
if(empty($tsUser->is_admod)  && $tsUser->permisos['most'] == false) {
            
$postData['sponsored'] = 0;
            
$postData['sticky'] = 0;   
        } else {
            
$postData['sponsored'] = empty($_POST['patrocinado']) ? 1;
            
$postData['sticky'] = empty($_POST['sticky']) ? 1;
        } 


Debajo agregar:
Código PHP:
if($tsUser->uid == 1){
$postData['body'] = html_entity_decode($postData['body']);



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&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') )) { 
 
 
Arriba agregar:
Código PHP:
if($tsUser->uid == 1){
$postData['body'] = html_entity_decode($postData['body']);







Creditos: aperpen

Imprimir


Enviado por: Chctrpgo
03-21-2022, 08:47 AM
Foro: Complementos Terminados
- Sin respuestas

Captura

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



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

Al final de la última } agregar:
Código PHP:
function getVoto(){
        global 
$tsCore$tsUser;
        
$post_id intval($_GET['post_id']);
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT tid, cant FROM p_votos WHERE tid = \''.(int)$post_id.'\' AND tuser = \''.$tsUser->uid.'\' AND type = \'1\' LIMIT 1');
        
$data db_exec('fetch_assoc'$query);
        return 
$data['cant'];
    } 


En posts.php  --> inc --> php --> posts.php

Buscar:
Código PHP:
// DATOS DEL RANGO DEL PUTEADOR                        
            
$smarty->assign("tsPunteador",$tsPosts->getPunteador()); 


Debajo agregar:
Código PHP:
// VOTOS DEL POSTS
            
$smarty->assign("tsVoto",$tsPosts->getVoto()); 


En m.posts_metadata.tpl --> themes --> default --> templates --> modules --> m.posts_metadata.tpl

Buscar:            
Código PHP:
{if ($tsUser->is_admod || $tsUser->permisos.godp) && $tsUser->is_member == && $tsPost.post_user != $tsUser->uid && $tsUser->info.user_puntosxdar >= 1


Arriba agregar:
Código PHP:
{if $tsVoto==true}
                            <
div class="votod">Ya diste {$tsVotoPuntos en este Post</div><br>
                            {else} 


Buscar:        
Código PHP:
<hr class="divider"/>
                            {/if} 
 
 
Debajo agregar:
Código PHP:
{/if} 


En extras.css --> themes --> default --> extras.css

Al final agregar:        
Código PHP:
.votod{font-family:Arial;background:#c4e19b none repeat scroll 0 0;padding:10px;color:green;font-weight:700;font-size:12px;text-align:center} 






Creditos: Vellenger

Imprimir


Enviado por: Chctrpgo
03-19-2022, 07:18 PM
Foro: Complementos Terminados
- Sin respuestas

Capturas
 

[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]




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

Buscar:
Código PHP:
// NOTIFICAR SI FUE CITADO Y A LOS QUE SIGUEN ESTE POST, DUEÑO
                    
$this->quoteNoti($post_id$data['post_user'], $cid$comentario); 
 
 
Debajo agregar:
Código PHP:
// NOTIFICAR SI FUE MENCIONADO EN UN POST
                    
$this->menTi($post_id$data['post_user'], $cid$comentario); 
 
 
Buscar:
Código PHP:
/*
        editComentario()
    */ 

 
Arriba agregar:
Código PHP:
/*
        menTi()
        :: Menciones notificacion.
    */    
    
function menTi($post_id$post_user$cid$comentario){
        global 
$tsCore$tsUser$tsMonitor;
        
$ids = array();
        
$total 0;
        
//
        
preg_match_all("/\B@([a-zA-Z0-9_-]{4,16}+)\b/",$comentario,$users);
        
//
        
if(!empty($users[1])) {
            foreach(
$users[1] as $user){
                
# DATOS
                
$udata explode('|',$user);
                if(!
is_array($udata)) {
                    
$user $user;   
                    
$lcid $cid;
                }
                else {
                    
$user $udata[0];
                    
$lcid = (int) $udata[1];
                }
                
# COMPROBAR
                
if($user != $tsUser->nick){
                    
$uid $tsUser->getUserID($tsCore->setSecure($user));
                    if(!empty(
$uid) && $uid != $tsUser->uid && !in_array($uid$ids)){
                        
$ids[] = $uid;
                        
$tsMonitor->setNotificacion(18$uid$tsUser->uid$post_id$lcid);
                    }
                    ++
$total;
                }
            }
        }
        
        
//
        
return true;
    } 
 
 
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:
18 => array('text' => array('te mencion&oacute; en un''_REP_ te mencionaron en un'), 'ln_text' => 'comentario''css' => 'blue_ball'), 


Nota: Si ya tiene una notificación con número 18 cámbienlo por otro número.

 
Buscar:
Código PHP:
case 1:
            case 
2:
            case 
3:
            case 
5:
            case 
6:
            case 
7:
            case 
8:
            case 
9
       
 
Debajo agregar:
Código PHP:
case 18
 
 
Buscar:
Código PHP:
// PUEDEN SER MAS DE UNO
            
case 2:
            case 
6:
            case 
7:
            case 
8:
            case 
9

             
Debajo agregar:            
Código PHP:
case 18
            
           
Buscar:            
Código PHP:
if($no_type == || $no_type == 
            
           
Reemplazar por:        
Código PHP:
if($no_type == || $no_type == 9|| $no_type == 18 
            
           
En m.monitor_sidebar.tpl --> themes --> default --> templates --> modules --> m.monitor_sidebar.tpl

Buscar:            
Código PHP:
<li><label><span class="monac_icons ma_comment_resp"></span><input type="checkbox" {if $tsData.filtro.f9 != true}checked="checked"{/if}onclick="notifica.filter('9', this)"/> Respuestas</label></li
            
           
Debajo agregar:        
Código PHP:
<li><label style="font-weight: bold;  color: #006595;"><span class="monac_icons ma_blue_ball"></span><input type="checkbox" {if $tsData.filtro.f18 != true}checked="checked"{/if}onclick="notifica.filter('18', this)"/> Menciones</label></li

            
            
            
Creditos: tutan-kabron

Imprimir