¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Últimos temas

Estadísticas del foro
  • Mensajes del foro:1,505
  • Temas del foro:526
  • Miembros:509
  • Último miembro:Mike Neal


Enviado por: Chctrpgo
02-01-2021, 07:15 PM
Foro: Complementos Terminados
- Sin respuestas

Hola, os dejo el mod de Tutan-kabron fixeado y actualizado a la versión 1.3, lo he instalado y probado en el tema default de risus, pero tiene que funcionar en cualquier tema, lo que cambia es el diseño.

 

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



Ejecutan estas consultas
Código:
ALTER TABLE `u_miembros` ADD `user_referidos` INT( 11 ) NOT NULL DEFAULT '0'

Código:
ALTER TABLE w_configuracion ADD p_p_refs INT(11) NOT NULL;

Código:
CREATE TABLE IF NOT EXISTS `referidos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_referido` varchar(60) CHARACTER SET latin1 NOT NULL,
`user_name` varchar(60) CHARACTER SET latin1 NOT NULL,
`fecha` int(12) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=16 ;


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

Buscar:
Código:
/*
    getNoticias()
    */
    function getNoticias()
    {

 
Arriba agregar:
Código:
/*
    getReferidos()
    */
    function getReferidos()
    {
       //
       $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, r.* from referidos AS r LEFT JOIN u_miembros AS u ON r.user_referido = u.user_name ORDER BY r.id DESC');
       $data = result_array($query);
       //
       return $data;
    }

    /*
    getReferido()
    */
    function getReferido()
    {
        global $tsCore;
        //
        $id = $tsCore->setSecure($_GET['id']);
        //
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id`, `user_name`, `user_referido`, `fecha` FROM referidos WHERE id = \'' .
       (int)$id . '\' LIMIT 1');
        $data = db_exec('fetch_assoc', $query);
        //
        return $data;
    }

    /*
    deReferidos();
    */
    function delReferido()
    {
       $id = $_GET['id'];
       if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id` FROM `referidos` WHERE `id` = \'' .
      (int)$id . '\' LIMIT 1'))) {
      return 'El id ingresado no existe.';
    }
    $query = db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `referidos` WHERE `id` = \'' . (int)$id . '\'');
    }


Buscar:
Código:
'offline_message' => $tsCore->setSecure($tsCore->parseBadWords($_POST['offline_message'])),


Debajo agregar:
Código:
'p_p_refs' => $tsCore->setSecure($_POST['p_p_refs']),


Buscar:
Código:
'\', `offline_message` = \'' . $c['offline_message'] .


Al lado agregar:
Código:
'\', `p_p_refs` = \'' . $c['p_p_refs'] .


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

Buscar:
Código:
/*
        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);


Después de:
Código:
u.user_lastactive,


Agregar
Código:
u.user_referidos,


Código:
/*
        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_referidos, 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);


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

Buscar:
Código:
} else $valid = '0: Faltan datos y no se puede procesar tu solicitud.';
        // retornar valor
        return $valid;
    }


Debajo agregar:
Código:
/**
     * @name referidos by tutan-kabron
     * @access public
     * @param
     * @return string
     */
    public function checkUserEmail2(){
    global $tsCore;
        // Variables
        $referido = strtolower($_POST['referido']);
        $which = empty($referido) ? 'referido' : 'referido';
        // MENSAJE
        $valid = '1: El '.$which.' no existe .'; // DEFAULT
        //
        if(!empty($referido)){
            $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `user_id` FROM `u_miembros` WHERE LOWER(user_name) = \''.$tsCore->setSecure($referido).'\' LIMIT 1');
            if(db_exec('num_rows', $query) > 0) $valid = '0: El '.$which.' si existe.'; // EXISTE
        } else $valid = '0: Este Campo no es obligatorio.';
        // retornar valor
        return $valid;
    }


Buscar:
Código:
/**
     * @name registerUser()
     * @access public
     * @param
     * @return string
     */
    function registerUser(){
        global $tsCore, $tsUser;
        // DATOS NECESARIOS


Debajo agregar:
Código:
$referido=$_POST['referido'];
           if(empty($referido)){
           $referido='1';
        }else{
        $referido= $tsCore->setSecure($_POST['referido']);
        }


Buscar:
Código:
'user_email' => $_POST['email'],


Debajo agregar:
Código:
'user_referido' => $referido,


Buscar:
Código:
// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA


Arriba agregar:
Código:
if($referido != '1'){
               db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_puntos = user_puntos + \''.(int)$tsCore->settings['p_p_refs'].'\' WHERE user_name = \''.$tsData['user_referido'].'\'');
               db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_referidos = user_referidos + 1  WHERE user_name = \''.$tsData['user_referido'].'\'');
               db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `referidos` (`user_referido`, `user_name`, `fecha`) VALUES (\''.$tsData['user_referido'].'\', \''.$tsData['user_nick'].'\', \''.time().'\')');
               $aviso = 'Tu referido <a href="'.$tsCore->settings['url'].'/perfil/'.$tsData['user_nick'].'"><b>'.$tsData['user_nick'].'</b></a>se ha registrado. <br /><br/>  Dale la bienvenida! <br />Obtentienes '.(int)$tsCore->settings['p_p_refs'].' puntos por tu referido';
               db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `u_avisos` (`user_id`, `av_subject`, `av_body`, `av_date`, `av_type`) VALUES (\''.$tsUser->getUserId($tsData['user_referido']).'\', \'Nuevo referido\', \''.$aviso.'\', \''.'\', \''.time().'\', \'4\')');
            }


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

Buscar:
Código:
/** NOTICIAS **/
    } elseif($action == 'news'){


Arriba agregar:
Código:
/** REFERIDOS by tutan-kabron**/
    } elseif($action == 'referidos'){
       if(empty($act)) $smarty->assign("tsReferidos",$tsAdmin->getReferidos());
      elseif($act == 'borrar'){
       if($tsAdmin->delReferido()) $tsCore->redirectTo($tsCore->settings['url'].'/admin/referidos?borrar=true');
    }


En inc --> php --> ajax --> ajax.registro.php

Buscar:
Código:
case 'registro-geo':


Arriba agregar:
Código:
case 'registro-check-referido':

            //<---

                echo $tsReg->checkUserEmail2();

            //--->

        break;


Buscar:
Código:
'registro-check-nick' => array('n' => 1, 'p' => ''),


Debajo agregar:
Código:
'registro-check-referido' => array('n' => 1, 'p' => ''),


En themes --> default --> templates --> t.php_files --> p.registro.form.tpl

Buscar:
Código:
<div class="form-line">
            <label for="email">E-mail</label>

            <input name="email" type="text" id="email" tabindex="4" title="Ingresa tu direcci&oacute;n de email" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> <div class="help"><span><em></em></span></div>
        </div>


Debajo agregar:
Código:
<div class="form-line">
             <label for="referido">Ingresa tu referido (opcional)</label>

             <input name="referido" type="text" id="referido" tabindex="1" title="Ingrese el nick del referido" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> <div class="help"><span><em></em></span></div>
        </div>


En themes --> default --> js --> registro.js

Buscar:
Código:
//Un elemento pierde el foco
    blur: function(el) {
        var name = $(el).attr('name');
        switch (name) {
            case 'nick':
            case 'email':
                this.clear_time(name);
                $(el).removeClass('selected');
                this.check_campo(el, false, true);
                break;
            default:
                $(el).removeClass('selected');
                this.check_campo(el, false, true);
                break;
        }
    },


Reemplazar por:
Código:
//Un elemento pierde el foco
    blur: function(el){
        var name = $(el).attr('name');
        switch(name){
            case 'nick':
            case 'referido':
            case 'email':
                this.clear_time(name);
                $(el).removeClass('selected');
                this.check_campo(el, false, true);
                break;
            default:
                $(el).removeClass('selected');
                this.check_campo(el, false, true);
                break;
        }
    },


Buscar:
Código:
/* password */
            case 'password':


Arriba agregar:
Código:
/* referido by tutan-kabron */
            case 'referido':
               //Si ya paso por aca y no hubieron cambios, devuelvo el mismo status
               if(!force_check && this.datos[campo] === value)
               if(this.datos_status[campo]=='empty')
               return no_empty ? this.show_status(el, this.datos_status[campo], this.datos_text[campo]) : this.hide_status(el, this.datos_status[campo], this.datos_text[campo]);
               else
               return this.show_status(el, this.datos_status[campo], this.datos_text[campo]);
               //Almaceno el dato
               this.datos[campo] = value;
               //Caracteres validos
               if(/[^a-zA-Z0-9_]/.test(value))
               return this.show_status(el, 'error', 'Sólo se permiten letras, nómeros y guiones(_)');
               //Compruebo si ya esta en uso
               //Compruebo el Cache
               var value_lower = value.toLowerCase();
               if(!this.cache[campo]){
               this.cache[campo] = new Array();
               this.cache[campo][value_lower] = new Array();
               }else if(this.cache[campo][value_lower]){
               if(this.cache[campo][value_lower]['status'])
               return registro.show_status(el, 'ok', this.cache[campo][value_lower]['text']);
               else
               return registro.show_status(el, 'error', this.cache[campo][value_lower]['text']);
            }
            this.show_status(el, 'loading', 'Comprobando referido...');    
                $('#loading').fadeIn(250);
                $.ajax({
                type: 'POST',
                url: global_data.url + '/registro-check-referido.php?t=nombre de usuario',
                data: 'referido='+value,
                success: function(h){
                registro.cache[campo][value_lower] = new Array();
                registro.cache[campo][value_lower]['text'] = h.substring(3);
                switch(h.charAt(0)){
                case '0': //Estaba en uso
                registro.cache[campo][value_lower]['status'] = true;
                registro.show_status(el, 'ok', h.substring(3));
                break;
                case '1': //No esta en uso
                registro.cache[campo][value_lower]['status'] = false;
                registro.show_status(el, 'error', h.substring(3));
                break;
            }
            $('#loading').fadeOut(350);
            },
            error: function(){
            registro.show_status(el, 'error', 'Hubo un error al intentar procesar lo solicitado');
            registro.datos[campo] = '';
            }
            });
            break;
            /* termina campo referido */


Buscar:
Código:
/*
    getNoticias()
    */
    function getNoticias()
    {


Arriba agregar:
Código:
/*
    getReferidos()
    */
    function getReferidos()
    {
       //
       $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, r.* from referidos AS r LEFT JOIN u_miembros AS u ON r.user_referido = u.user_name ORDER BY r.id DESC');
       $data = result_array($query);
       //
       return $data;
    }

    /*
    getReferido()
    */
    function getReferido()
    {
        global $tsCore;
        //
        $id = $tsCore->setSecure($_GET['id']);
        //
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id`, `user_name`, `user_referido`, `fecha` FROM referidos WHERE id = \'' .
       (int)$id . '\' LIMIT 1');
        $data = db_exec('fetch_assoc', $query);
        //
        return $data;
    }

    /*
    deReferidos();
    */
    function delReferido()
    {
       $id = $_GET['id'];
       if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id` FROM `referidos` WHERE `id` = \'' .
      (int)$id . '\' LIMIT 1'))) {
      return 'El id ingresado no existe.';
    }
    $query = db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `referidos` WHERE `id` = \'' . (int)$id . '\'');
    }


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

Buscar:
Código:
{/if}


Arriba agregar:
Código:
{elseif $tsAction == 'referidos'}
                                {include file='admin_mods/m.admin_referidos.tpl'}


themes --> default --> templates --> admin_mods --> m.admin_configs.tpl

Buscar:
Código:
<dl>
                <dt>
                    <label for="ai_max_com">Comentarios por post:</label>
                    <br /><span>N&uacute;mero m&aacute;ximo de comentarios por p&aacute;gina en los post.</span></dt>
                <dd>
                    <input type="text" id="ai_max_com" name="max_com" style="width:10%" maxlength="3" value="{$tsConfig.c_max_com}" />
                </dd>
            </dl>


Arriba agregar:
Código:
<dl>
                <dt><label for="p_p_refs">Puntos por referido</label><br /><span>Puntos que recibira como bonificacion un user al subir un posts.</span></dt>
                <dd><input type="text" id="p_p_refs" name="p_p_refs" style="width:10%" maxlength="3" value="{$tsConfig.p_p_refs}" /></dd>
            </dl>


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

Al final agregar esto:
Código:
<h4>Utilidades</h4>
                                    <ul class="cat-list">
                                        <li id="a_users"><span class="cat-title"><a href="{$tsConfig.url}/admin/referidos">Referidos</a></span></li>
                                    </ul>


themes --> default --> templates --> modules --> m.perfil_headinfo.tpl

Buscar:
Código:
<li>
                                    <strong>{$tsInfo.stats.user_comentarios}</strong>
                                    <span>Comentarios</span>
                                </li>


Debajo agregar:
Código:
<li>
                                    <strong>{$tsInfo.user_referidos}</strong>
                                    <span>Referidos</span>
                                </li>



Y suben esta carpeta:

Mega
Debes agradecer para ver el contenido...

Googe drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...



Demo

Us2r3pruebas

sdrfhM?gh567?gbsj




Creditos: Tutan-kabron

Imprimir


Enviado por: Chctrpgo
02-01-2021, 07:11 PM
Foro: Complementos Terminados
- Respuestas (1)

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


Hola, os dejo el mod actualizado para la versión 1.3, el tutorial vale para cualquier tema, probado en la versión default de Risus y la V6.


Crean esta consulta en la BD
Código:
ALTER TABLE `u_perfil` ADD `user_avatar` VARCHAR( 500 ) NOT NULL AFTER `user_firma` ,ADD `user_pavat` int(1) NOT NULL DEFAULT '1' AFTER `user_avatar` ,ADD `user_act` varchar(2) NOT NULL DEFAULT 'no' AFTER `user_pavat`


inc/class/c.admin.php

Buscar:
Código:
'godp' => $_POST['global-darpuntos'],


Agregar debajo:
Código:
'goda' => $_POST['global-avatargif'],


Buscar otra vez:
Código:
'godp' => $_POST['global-darpuntos'],


Agregar debajo:
Código:
'goda' => $_POST['global-avatargif'],


Buscar:
Código:
function setUserFirma($user_id)
    {
        global $tsCore;

        if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `u_perfil` SET user_firma = \'' . $tsCore->setSecure($_POST['firma']) .
            '\' WHERE user_id = \'' . (int)$user_id . '\''))
            return true;

    }


Agregar debajo:
Código:
function setUserAvatar($user_id = NULL)
    {
        global $tsCore;
        
        if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `u_perfil` SET user_avatar = \'' . $tsCore->setSecure($_POST['avatar']) .
            '\' WHERE user_id = \'' . (int)$user_id . '\''))
            return true;
    }
    
    function setUserAct($user_id = NULL)
    {
        
        global $tsCore;
        
        if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `u_perfil` SET user_act = \'' . $tsCore->setSecure($_POST['act']) .
            '\' WHERE user_id = \'' . (int)$user_id . '\''))
            return true;
    }


inc/class/c.cuenta.php

Buscar:
Código:
'firma' => $tsCore->setSecure($tsCore->parseBadWords($_POST['firma']), true),


Agregar debajo:
Código:
'avatar' => $tsCore->setSecure($tsCore->parseBadWords($_POST['avatar']), true),
                    'pavat' => ($_POST['pavat'] == 'n') ? 0 : 1,


Buscar:
Código:
p.p_configs


Agregar al lado:
Código:
, p.user_avatar, p.user_act, p.user_pavat


Buscar:
Código:
user_firma


Agregar al lado:
Código:
, user_avatar, user_act, user_pavat


inc/class/c.posts.php

Buscar:
Código:
p.user_firma


Agregar al lado:
Código:
, p.user_avatar, p.user_act, p.user_pavat


inc/php/admin.php

Buscar:
Código:
case 8:
                   if(!empty($_POST['save'])){
                       $update = $tsAdmin->setUserFirma($user_id);
                       if($update == 'OK') $tsCore->redirectTo($tsCore->settings['url'].'/admin/users?act=show&uid='.$user_id.'&save=true');
                       else $smarty->assign("tsError",$update);
                    }
                    $smarty->assign("tsUserF",$tsAdmin->getUserData());
                break;


Agregar debajo:
Código:
case 9:
                   if(!empty($_POST['save'])){
                       $update = $tsAdmin->setUserAvatar($user_id);
                       if($update == 'OK') $tsCore->redirectTo($tsCore->settings['url'].'/admin/users?act=show&uid='.$user_id.'&save=true');
                       else $smarty->assign("tsError",$update);
                   }
                   $smarty->assign("tsUserF",$tsAdmin->getUserData());
                break;
                case 10:
                   if(!empty($_POST['save'])){
                       $update = $tsAdmin->setUserAct($user_id);
                       if($update == 'OK') $tsCore->redirectTo($tsCore->settings['url'].'/admin/users?act=show&uid='.$user_id.'&save=true');
                       else $smarty->assign("tsError",$update);
                       }
                       $smarty->assign("tsUserF",$tsAdmin->getUserData());
                break;


themes/default/templates/modules/m.cuenta_cuenta.tpl

Buscar:
Código:
{if $tsConfig.c_allow_firma}
                                <div class="field">
                                    <label for="firma">Firma:<br /> <small style="font-weight:normal">(Acepta BBCode) Max. 300 car.</small></label>
                                    <textarea name="firma" id="firma" class="cuenta-save-1">{$tsPerfil.user_firma}</textarea>
                                </div>
                                {/if}


Agregar debajo:
Código:
{if $tsPerfil.user_act== 'si'}{else}
                                {if $tsUser->is_admod || $tsUser->permisos.goda}
                                <div class="field">
                                     <label for="avatar">Avatar:<br /> <small style="font-weight:normal">(Podes usar formato <b>gif</b>)</small></label>
                                     <textarea style="height:16px;" name="avatar" id="avatar" value="{$tsPerfil.user_avatar}" class="cuenta-save-1" >{$tsPerfil.user_avatar}</textarea>
                                </div>
                                <div class="field">
                                     <label>Activar</label>
                                     <ul class="fields" style="margin-top:7px;">
                                     <li>
                                     <label><input type="radio" value="s" name="pavat" class="radio cuenta-save-1" {if $tsPerfil.user_pavat == '1'}checked="checked"{/if}/>Si</label>
                                     </li>
                                     <li>
                                     <label><input type="radio" value="n" name="pavat" class="radio cuenta-save-1" {if $tsPerfil.user_pavat == '0'}checked="checked"{/if}/>No</label>
                                     </li>
                                     </ul>
                                </div>
                                <div class="field">
                                     <img src="{if $tsPerfil.user_avatar==''}{$tsConfig.url}/files/avatar/{$tsPerfil.user_id}_50.jpg{else}{$tsPerfil.user_avatar}{/if}" style="width:50px; height:50px; margin-left:160px;"/>
                                </div>
                                {/if}
                                {/if}


themes/default/templates/modules/m.perfil_headinfo.tpl

Buscar:
Código:
{$tsConfig.url}/files/avatar/{if $tsInfo.p_avatar}{$tsInfo.uid}_120{else}avatar{/if}.jpg


Cambiar por:
Código:
{if $tsInfo.user_act== 'no' && $tsInfo.user_avatar!='' && $tsInfo.user_pavat=='1' && $tsUser->permisos.goda || $tsInfo.user_act== 'no' && $tsUser->uid != $tsInfo.uid && $tsInfo.user_avatar!='' && $tsInfo.user_pavat== '1'|| $tsUser->is_member== false && $tsInfo.user_act== 'no' && $tsInfo.user_avatar!='' && $tsInfo.user_act== '1' }{$tsInfo.user_avatar}{else}{$tsConfig.url}/files/avatar/{if $tsInfo.p_avatar}{$tsInfo.uid}_120{else}avatar{/if}.jpg{/if}


themes/default/templates/modules/m.posts_autor.tpl

Buscar:
Código:
{$tsConfig.url}/files/avatar/{$tsAutor.user_id}_120.jpg


Cambiar por:
Código:
{if $tsAutor.user_act== 'no' && $tsAutor.user_avatar!='' && $tsAutor.user_pavat=='1' && $tsUser->permisos.goda || $tsAutor.user_act== 'no' && $tsAutor.user_id != $tsUser->uid && $tsAutor.user_avatar!='' && $tsAutor.user_pavat== '1'|| $tsUser->is_member== false && $tsAutor.user_act== 'no' && $tsAutor.user_avatar!='' && $tsAutor.user_act== '1' }{$tsAutor.user_avatar}{else}{$tsConfig.url}/files/avatar/{$tsAutor.user_id}_120.jpg{/if}


themes/default/templates/admin_mods/m.admin_users.tpl

Buscar:
Código:
<option value="8"{if $tsType == 8} selected="true"{/if}>Firma</option>


Agregar debajo:
Código:
<option value="9"{if $tsType == 9} selected="true"{/if}>Editar Avatar</option>
                                        <option value="10"{if $tsType == 10} selected="true"{/if}>Desactivar Avatar</option>


Buscar:
Código:
{elseif $tsType == 8}
                                    <legend>Modificar firma de usuario</legend>
                                    <textarea name="firma" rows="3" cols="50">{$tsUserF.user_firma}</textarea>


Agregar debajo:
Código:
{elseif $tsType == 9}
                                    <legend>Modificar Avatar</legend>
                                    <input type="text" name="avatar" class="inp-v" value="{$tsUserF.user_avatar}">
                                    {elseif $tsType == 10}
                                    <legend>Desactivar Avatar Permanentemente</legend>
                                    (Ingresar <b>si</b> o <b>no</b> para desactivar avatar)
                                    <br/><br/>
                                    <input type="text" name="act" id="act" value="{$tsUserF.user_act}" class="inp-va" />


themes/default/templates/admin_mods/m.admin_rangos.tpl

Buscar:
Código:
<legend>Global</legend>
                                        <input type="checkbox" id="godp" name="global-darpuntos" {if $tsRango.permisos.godp}checked{/if} /><label style="font-weight:bold;" for="godp">Puntuar Posts</label><label for="godp">   Podrán puntuar posts.</label>
                                        <br /><hr>


Agregar debajo:
Código:
<input type="checkbox" id="goda" name="global-avatargif" {if $tsRango.permisos.goda}checked{/if} /><label style="font-weight:bold;" for="goda">Avatar Gif</label><label for="goda"> Podrán usar avatar gif.</label>
                                        <br /><hr>



themes/default/estilo.css

Agregar al final:
Código:
.inp-v,.inp-van{border:1px solid #999}.inp-v{width:40%;box-shadow:inset 0 0 5px #CCC;-moz-box-shadow:inset 0 0 5px #CCC;-webkit-box-shadow:inset 0 0 5px #CCC;-o-box-shadow:inset 0 0 5px #CCC;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px}
.inp-van,.inp-vas{color:#FFF;width:5%;text-align:center;font-size:18px;font-weight:700}.inp-van{background:#0F0;box-shadow:inset 0 0 10px green;-moz-box-shadow:inset 0 0 10px green;-webkit-box-shadow:inset 0 0 10px green;-o-box-shadow:inset 0 0 10px green;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px}
.inp-vas{background:#900;box-shadow:inset 0 0 10px red;-moz-box-shadow:inset 0 0 10px red;-webkit-box-shadow:inset 0 0 10px #FFO000;-o-box-shadow:inset 0 0 10px red;border:1px solid #999;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px}




Creditos: Vellenger

Imprimir


Enviado por: Chctrpgo
02-01-2021, 07:07 PM
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]



Ejecutar las siguientes consultas (una por una):
 
Código:
ALTER TABLE `u_miembros` ADD `user_karma` TINYINT( 4 ) NOT NULL

Código:
ALTER TABLE `w_configuracion` ADD `c_karma_settings` ENUM( '1', '2' ) NOT NULL

Código:
CREATE TABLE IF NOT EXISTS `u_karma_votes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`vote` enum('1','2') NOT NULL,
`ip` varchar(16) NOT NULL,
`user` int(10) unsigned NOT NULL,
`user_to` int(10) unsigned NOT NULL,
`time` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Abrir c.admin en inc/class

Buscar:
 
Código:
'sump' => empty($_POST['sump']) ? 0 : 1,


Debajo agregar:
 
Código:
'karma' => ($_POST['karma_opt'] != '1' && $_POST['karma_opt'] != '2' ? '1' : $_POST['karma_opt']),


Buscar:
 
Código:
, `offline_message` = \'' . $c['offline_message'] . '\'


Al lado agregar:
 
Código:
, `c_karma_settings` = \'' . $c['karma'] . '\'


Abrir c.user.php en inc/class

Buscar:
 
Código:
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
                            // MANEJAR SESSIONES \\


Arriba agregar:
 
Código:
function userKarma()
    {
        global $tsCore;
       // sólo usuarios logueados
        if (!$this->uid)
        return false;
        // comprobación de variables
        if (!ctype_digit($_POST['karma']) || ($_POST['karma'] != '1' && $_POST['karma'] != '2') || !ctype_digit($_POST['uid']))
        return 'Error provocado';
        // comprobamos que no se de karma a sí mismo
        if ($_POST['uid'] == $this->uid)
        return 'No es posible darte puntos de karma a ti mismo';
        //si está la opción 2 en la configuración del karma, no se podrá dar votos negativos, comprobamos eso:
        if ($_POST['karma'] == '2' && $tsCore->settings['c_karma_settings'] == '2')
        return 'Sólo votos positivos';
        // el usuario existe?
        if(db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_id FROM u_miembros WHERE user_id = \'' . $_POST['uid'] . '\'')))
        return 'El usuario no existe';
        // comprobamos clones
        if(db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT id FROM u_karma_votes WHERE (user = \''.$this->uid.'\' || ip = \''.$tsCore->getIP().'\') && time > \''.(time() - 3600).'\' && user_to = \''.$_POST['uid'].'\'')))
        return 'Debes esperar una hora para poder volver a votar a ese usuario';
        // pasó por acá y todo bien? actualizamos karma y guardamos voto
        db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_karma = user_karma ' . ($_POST['karma'] == '2' ? '-' : '+') . ' 1 WHERE user_id = \'' . $_POST['uid'] . '\' LIMIT 1');
        db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO u_karma_votes (user, ip, user_to, vote, time) VALUES (\'' . $this->uid . '\', \'' . $tsCore->getIP() . '\', \'' . $_POST['uid'] . '\', ' . ($_POST['karma'] == '2' ? '2' : '1') . ', \'' . time() . '\')');
        //
        return '1';
    }


Abrir c.posts.php en inc/class

Buscar:
 
Código:
// DATOS DEL AUTOR
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, u.user_rango, u.user_puntos, u.user_lastactive, u.user_last_ip, u.user_activo, u.user_baneado, p.user_pais, p.user_sexo, p.user_firma FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id WHERE u.user_id = \''.(int)$user_id.'\' LIMIT 1');


reemplazar por
 
Código:
// DATOS DEL AUTOR
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, u.user_rango, u.user_puntos, u.user_lastactive, u.user_last_ip, u.user_activo, u.user_baneado, p.user_pais, p.user_sexo, p.user_firma, u.user_karma FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id WHERE u.user_id = \''.(int)$user_id.'\' LIMIT 1');


Añadido:
 
Código:
, u.user_karma


Abrir c.cuenta.php en inc/class

Buscar:
 
Código:
// 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.'\'');


reemplazar por:
 
Código:
// INFORMACION GENERAL
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, u.user_registro, u.user_lastactive, u.user_karma, 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.'\'');


Añadido:
 
Código:
, u.user_karma


Abrir ajax-posts.php que está en inc/php/ajax

Buscar:
 
Código:
case 'posts-last-comentarios':
            //<--
                $smarty->assign("tsComments",$tsPosts->getLastComentarios());
            //-->
        break;


Debajo agregar:
 
Código:
case 'posts-user-karma':
           //<!--
                echo $tsUser->userKarma();
           //<--
        break;



Abrir m.perfil_headinfo.tpl que está en themes/tutheme/templates/modules

Buscar:
 
Código:
<li>
                                    <strong>{$tsInfo.stats.user_fotos}</strong>
                                    <span>Fotos</span>
                                </li>


Debajo agregar:
 
Código:
<li>
                                    <strong>{$tsInfo.user_karma}</strong>
                                    <span>Karma</span>
                                </li>


Abrir m.posts_autor.tpl que está en themes/tutheme/templates/modules

Buscar:
 
Código:
<span style="color: #456c00" class="nData">{$tsAutor.user_comentarios}</span>
                                <span class="txtData">Comentarios</span>
                            </div>


Debajo agregar:
 
Código:
<hr class="divider"/>
                            Karma: <b><div id="uKarma">{$tsAutor.user_karma}</div></b>
                            <div id="karmaOpts" style="display:inline;">
                                <a onclick="users_karma({$tsAutor.user_id}, 1)" title="Dar voto positivo"><img src="{$tsConfig.tema.t_url}/images/rep_up.png"></a>
                                {if $tsConfig.c_karma_settings == 1}
                                <a onclick="users_karma({$tsAutor.user_id}, 2)" title="Dar voto negativo"><img src="{$tsConfig.tema.t_url}/images/rep_down.png"></a>
                                {/if}
                            </div>


Abrir acciones.js que está en /themes/tutheme/js/

Buscar:
 
Código:
function actualizar_comentarios(cat, nov){
    $('#loading').fadeIn(250);
    $('#ult_comm, #ult_comm > ol').slideUp(150);
    $.ajax({
        type: 'GET',
        url: global_data.url + '/posts-last-comentarios.php',
        cache: false,
        data: 'cat='+cat+'&nov='+nov,
        success: function(h){
            $('#ult_comm').html(h);
            $('#ult_comm > ol').hide();
            $('#ult_comm, #ult_comm > ol:first').slideDown( 1500, 'easeInOutElastic');
            $('#loading').fadeOut(350);
            //$('#ult_comm, #ult_comm > ol:first').slideDown({duration: 'slow', easing: 'easeOutBack'});
            // La animación easeOutBack me pareció buena, la otra también o.O aunque easeInOutElastic se ve raro con tantas letras.
        },
        error: function(){
            $('#ult_comm, #ult_comm > ol:first').slideDown({duration: 1000, easing: 'easeOutBounce'});
            $('#loading').fadeOut(350);
            // Esta animación se usaba anteriormente en caso de que saliese bien, puede volver a utilizarse.
        }
    });
}


Debajo agregar:
 
Código:
/* Karma V1 - By Alan - phpost.net */
function users_karma(uid, vote){
    if(!uid || !vote) return false;
    $('#loading').fadeIn(250);
    $.post(global_data.url + '/posts-user-karma.php', 'uid=' + uid + '&karma=' + vote, function(olakease){
    if(olakease != '1'){
    mydialog.alert('Error', olakease);
    } else {
    var uKarma = parseInt($('#uKarma').text());
    if(vote == '1'){
    $('#uKarma').text(++uKarma);
    } else {
    $('#uKarma').text(--uKarma);
    }
    $('#karmaOpts').fadeOut('slow');
    $('#loading').fadeOut(350);
    }
    });
}


Abrir m.admin_configs.tpl en themes/default/templates/admin_mods

Buscar:


Código:
<dl>
                <dt>
                    <label for="ai_met_welcome">Mensaje de Bienvenida:</label>
                    <br /><span id="desc_message_welcome" {if $tsConfig.c_met_welcome==0 }style="display:none;" {/if}> <br /> [usuario] => Nombre del registrado <br /> [welcome] => Bienvenido/a depende del sexo <br /> [web] => Nombre de esta web <br /> <br />(Se aceptan BBCodes y Smileys)</span></dt>
                <dd>
                    <select id="ai_met_welcome" name="met_welcome" style="width: 266px;" class="select" {if $tsConfig.c_met_welcome==0 } onchange="if($('#ai_met_welcome').val() != 0) $('textarea[name=message_welcome]').slideDown(); $('#desc_message_welcome').slideDown();" {/if}>
                        <option value="0" {if $tsConfig.c_met_welcome==0 }selected{/if}>No dar bienvenida</option>
                        <option value="1" {if $tsConfig.c_met_welcome==1 }selected{/if}>Muro</option>
                        <option value="2" {if $tsConfig.c_met_welcome==2 }selected{/if}>Mensaje privado</option>
                        <option value="3" {if $tsConfig.c_met_welcome==3 }selected{/if}>Aviso</option>
                    </select>
                    <br />
                    <textarea name="message_welcome" id="ai_met_welcome" style="width: 260px; height: 100px; {if $tsConfig.c_met_welcome == 0} display:none; {/if}">{$tsConfig.c_message_welcome}</textarea>
                </dd>
            </dl>


Debajo agregar:
 
Código:
<dl>
                <dt>
                    <label for="ai_karma_opt">Mod Karma:</label><br /><span> <br /> [Mostrar ambas opciones] => Permite dar karma positivo y negativo <br /> [Sólo karma positivo] => Sólo se podrá dar karma positivo</span>
                </dt>
                <dd>
                    <select id="ai_karma_opt" name="karma_opt" style="width: 266px;" class="select">
                    <option value="1"{if $tsConfig.c_karma_settings == 1} selected{/if} >Mostrar ambas opciones</option>
                    <option value="2"{if $tsConfig.c_karma_settings == 2} selected{/if} >Sólo karma positivo</option>
                    </select>
                </dd>
            </dl>



Y subir imágenes rep_up.png y rep_down.png a themes/tutheme/images/

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

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




Creditos: Alan

Imprimir


Enviado por: Chctrpgo
02-01-2021, 07:06 PM
Foro: Complementos Terminados
- Respuestas (5)

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


En c.posts.php --> inc --> class --> c.posts.php antes de:
 
Código:
}


Agregar arriba:
 
Código:
/*
        getUltreg()
        */
        function getUltreg(){
        global $tsCore;
        //
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, u.user_registro, u.user_baneado, p.user_id, p.user_pais, v.pid, v.p_opcion, v.p_prefijo, v.p_img FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id LEFT JOIN u_paises AS v ON v.p_prefijo = p.user_pais WHERE u.user_baneado = 0 AND v.pid > 0 ORDER BY u.user_id DESC LIMIT 10');
        if(!$query) exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.', 'db') );
        $data = result_array($query);
        //
        return $data;
}


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

Buscar:
 
Código:
// DO <= PARA EL MENU
        $smarty->assign("tsDo",$_GET['do']);


Debajo agregar:
 
Código:
// ULTIMOS REGISTRADOS
        $smarty->assign("tsUltreg",$tsPosts->getUltreg());


extras --> themes --> default --> extras.css al final agregar:
 
Código:
#ultregvell{width:198px;height:auto;margin-bottom:5px;overflow:hidden}
ul.ultregvell{background:#fff;border:1px solid #ccc;border-top:none;padding-bottom:10px}
ul.ultregvell li{display:block;border-bottom:1px dashed #ccc;padding:5px 0 5px 5px}
ul.ultregvell li:hover{background:#f8f8f8}
ul.ultregvell li a{color:#666;text-decoration:none;position:absolute;margin:-3px 5px 2px 5px}
ul.ultregvell li span{color:#666;position:absolute;margin:-12px 0 0 24px}
.regpais{float:right;margin-right:10px;cursor:pointer}
.regimg{width:20px;height:20px}


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

Buscar:
 
Código:
{if $tsConfig.c_fotos_private == 1 && !$tsUser->is_member}
                   {else}
                    {include file='modules/m.home_fotos.tpl'}
                  {/if}


Agregar arriba:
 
Código:
{include file='modules/m.home_ultimos_registrados.tpl'}



Importar la tabla tabla u_paises a la base de datos y subir la 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: Vellenger

Imprimir


Enviado por: Chctrpgo
02-01-2021, 07:04 PM
Foro: Complementos Terminados
- Sin respuestas

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


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

Buscar:

Código:
// INSERTAMOS EL PERFIL
            db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `u_perfil` (`user_id`, `user_dia`, `user_mes`, `user_ano`, `user_pais`, `user_estado`, `user_sexo`) VALUES (\''.(int)$tsData['user_id'].'\', \''.(int)$tsData['user_dia'].'\', \''.(int)$tsData['user_mes'].'\', \''.(int)$tsData['user_anio'].'\', \''.$tsCore->setSecure($tsData['user_pais']).'\', \''.$tsCore->setSecure($tsData['user_estado']).'\', \''.(int)$tsData['user_sexo'].'\')');
            db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `u_portal` (`user_id`) VALUES (\''.$tsData['user_id'].'\')');


Debajo agregar:

Código:
/////////////////////AVATAR ALEATORIO/////////////////////
            $number=rand(1,22);
            $name=$number.'.jpg';
            $namemini=$number.'_50.jpg';
            copy('../../files/avatar/avatarregistro/'.$name.'','../../files/avatar/'.$tsData['user_id'].'_120.jpg');
            copy('../../files/avatar/avatarregistro/mini/'.$namemini.'','../../files/avatar/'.$tsData['user_id'].'_50.jpg');
            db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_perfil SET p_avatar= 1 WHERE user_id = \''.$tsData['user_id'].'\'');
            ////////////////FIN ALEATORIO/////////////


En c.posts.php --> inc --> class --> c.posts.php al final antes de la ultima:

Código:
}


Agregar arriba:

Código:
/*
        Últimos Usuarios Live
        */
        function getLastUS(){
        global $tsCore;
        //
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_id, user_name, user_registro, user_activo FROM u_miembros WHERE user_activo= \'1\' AND user_baneado= \'0\' ORDER BY user_id DESC LIMIT 5');
        if(!$query) exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.', 'db') );
        $data = result_array($query);

        //
        return $data;
        }

        function lastRegistered(){
        global $tsCore;
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_registro, user_name, user_id FROM u_miembros WHERE user_baneado = 0 AND user_activo = 1 ORDER BY user_id DESC LIMIT 1');
        $data = db_exec('fetch_assoc', $query);
        $data['new_user'] = '<ul class="ult-reg"><li><a href="/perfil/'.$data['user_name'].'"><img class="hovercard" uid="'.$data['user_id'].'" src="/files/avatar/'.$data['user_id'].'_50.jpg"/></a><a class="lreg" href="/perfil/'.$data['user_name'].'">'.$data['user_name'].'</a> <b>Hace unos segundos</b></li></ul>';
        return json_encode($data);
        }


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

Buscar:

Código:
// DO <= PARA EL MENU
$smarty->assign("tsDo",$_GET['do']);


Debajo agregar:

Código:
$smarty->assign("tsUlt",$tsPosts->getLastUs());


En ajax.comentario.php --> inc --> php --> ajax --> ajax.comentario.php

Buscar:

Código:
case 'comentario-pages':


Arriba agregar:

Código:
case 'comentario-last-registered':
            echo $tsPosts->lastRegistered();
        break;
        //-->


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

Buscar:

Código:
{if $tsConfig.c_fotos_private == 1 && !$tsUser->is_member}
{else}
{include file='modules/m.home_fotos.tpl'}
{/if}


Arriba agregar:

Código:
{include file='modules/m.home_ultimos_registrados.tpl'}


En extras --> themes --> default --> extras.css al final agregar:

Código:
.lastregvell{height:auto;padding:5px;margin-bottom:10px;border:1px solid #ccc;border-radius:5px;overflow:hidden}
.lastregvell h2{margin:10px;font-size:12px;border-bottom:1px dashed #ccc;background:url(images/status.png) no-repeat;background-position:155px 0}
.lastregvell b{font-weight:300;margin:20px 0 0 5px;position:absolute;color:#666;float:left}
.lreg{position:absolute;float:left;margin-left:5px}
ul.ult-reg li{display:block;border-bottom:1px solid #ccc;padding:5px 0 2px 5px;cursor:pointer;background:#f8f8f8}
ul.ult-reg li a{font-weight:700}ul.ult-reg li a img{padding:1px;border:1px solid #eee;width:38px;height:38px}
ul.ult-reg li:hover{background:#eee}
ul.ult-reg li b{font-weight:300;margin:20px 0 0 5px;position:absolute;color:#666;float:left}



Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...



Greditos: Vellenger

Imprimir


Enviado por: Chctrpgo
02-01-2021, 07:03 PM
Foro: Complementos Terminados
- Respuestas (2)

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



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

Buscar:
 
Código:
/*
        getRelated()
    */



Arriba agregar:
 
Código:
/*
        Postautor($user_id)
    */
    function Postautor($user_id = NULL){
        global $tsUser;
        $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_title, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_status = \'0\' AND p.post_user = \''.(int)$user_id.'\' AND p.post_id <> \''.(int)intval($_GET['post_id']).'\' ORDER BY p.post_date DESC LIMIT 10');
        $data['posts'] = result_array($query);      
        return $data;
    }


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

Buscar:
 
Código:
// DATOS DEL AUTOR
            $smarty->assign("tsAutor",$tsPosts->getAutor($tsPost['post_user']));



Debajo agregar:
 
Código:
$smarty->assign("tsPostautor",$tsPosts->Postautor($tsPost['post_user']));


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

Buscar:
 
Código:
{include file='modules/m.posts_banner.tpl'}


Reemplazar por:
 
Código:
{include file='modules/m.posts_mas_autor.tpl'}


En m.posts_related.tpl --> themes --> default --> templates --> modules --> m.posts_related.tpl
 
Código:
<div class="post-relacionados">


Por:
 
Código:
<div class="post-relacionados" style="width:370px;">


Y subir esta carpeta



Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...



Greditos: Kmario19

Imprimir


Enviado por: Chctrpgo
01-31-2021, 08:31 AM
Foro: Complementos Terminados
- Respuestas (4)

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]
 
[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 w_configuracion ADD `puntosxrint(1NOT NULL DEFAULT '0'


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

Buscar:
 
Código PHP:
'offline_message' => $tsCore->setSecure($tsCore->parseBadWords($_POST['offline_message'])), 


Debajo agregar:
 
Código PHP:
'puntosxr' => empty($_POST['puntosxr']) ? 1


Buscar:
 
Código PHP:
'\', `offline_message` = \'' $c['offline_message'] . 


Al lado agregar:
 
Código PHP:
'\', `puntosxr` = \'' $c['puntosxr'] . 


Buscar:
 
Código PHP:
'gopfd' => $_POST['global-pointsforday']); 


Arriba agregar:
 
Código PHP:
'gopxr' => $_POST['global-poinxrangos'], 


Buscar otra vez:
 
Código PHP:
'gopfd' => $_POST['global-pointsforday']); 


Arriba agregar:
 
Código PHP:
'gopxr' => $_POST['global-poinxrangos'], 


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

Buscar:
 
Código PHP:
$postID db_exec('insert_id'); 


Debajo agregar:
 
Código PHP:
if($tsCore->settings['puntosxr'] == 1db_exec(array(__FILE____LINE__), 'query''UPDATE u_miembros SET user_puntos = user_puntos + \''.(int)$postData['puntosx'].'\' WHERE user_id = \''.(int)$tsUser->uid.'\''); 


Buscar:
 
Código PHP:
'category' => intval($_POST['categoria']), 


Debajo agregar:
 
Código PHP:
'puntosx' => $tsCore->setSecure($_POST['puntosx']), 


En agregar.php --> inc --> php --> agregar.php

Buscar:
 
Código PHP:
if($tsPost 0) { 


Debajo agregar:
 
Código PHP:
$tsPtsx = (int)$_POST['puntosx']; 


Buscar:
 
Código PHP:
$smarty->assign("tsAviso",array('titulo' => 'Bien!''mensaje' => 'El post <b>'.$_POST['titulo'].'</b> fue agregado. '.(!$tsUser->is_admod && ($tsUser->permisos['gorpap'] == true || $tsCore->settings['c_desapprove_post'] == 1) ? 'Deber&aacute; esperar su aprobaci&oacute;n' '').' ''but' => 'Acceder al post''link' => "{$tsCore->settings['url']}/posts/{$tsCat['c_seo']}/$tsPost/{$tsCore->setSEO($_POST['titulo'])}.html")); 


Reemplazar por:
 
Código PHP:
if ($tsCore->settings['puntosxr'] ==0){$smarty->assign("tsAviso",array('titulo' => 'Bien!''mensaje' => 'El post <b>'.$_POST['titulo'].'</b> fue agregado. '.(!$tsUser->is_admod && ($tsUser->permisos['gorpap'] == true || $tsCore->settings['c_desapprove_posts'] == 1) ? 'Deber&aacute; esperar su aprobaci&oacute;n' '').' ''but' => 'Acceder al post''link' => "{$tsCore->settings['url']}/posts/{$tsCat['c_seo']}/$tsPost/{$tsCore->setSEO($_POST['titulo'])}.html"));}
else{
$smarty->assign("tsAviso",array('titulo' => 'Bien!''mensaje' => "El post <b>".$_POST['titulo']."</b> fue agregado.<br/> <i>Has recibido una bonificación de: <blink><b style='color:#00CCFF;'>$tsPtsx</b></blink> Puntos.</i>".(!$tsUser->is_admod && ($tsUser->permisos['gorpap'] == true || $tsCore->settings['c_desapprove_posts'] == 1) ? 'Deber&aacute; esperar su aprobaci&oacute;n' '').' ''but' => 'Acceder al post''link' => "{$tsCore->settings['url']}/posts/{$tsCat['c_seo']}/$tsPost/{$tsCore->setSEO($_POST['titulo'])}.html"));} 


En m.agregar_form.tpl --> themes --> default --> templates --> modules --> m.agregar_form.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><input type="hidden" tabindex="4" name="puntosx" maxlength="4" value="{$tsUser->permisos.gopxr}"/></li


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

Buscar:
 
Código PHP:
<dl>
<
dt>
<
label for="ai_chat">Chatango ID:</label>
<
br /><span>Por defecto puedes agregar un chat de <a href="Registrate o inicia tu sesión para ver este contenido">Chatango</apara tu websolo crea tu grupo he ingresa el nombre. (Dejar vac&iacute;o para usar xat)</span></dt>
<
dd>
<
input type="text" id="ai_chat" name="chat" maxlength="20" value="{$tsConfig.chat_id}/> </dd>
</
dl


Arriba agregar:
 
Código PHP:
<dl>
<
dt><label for="ai_puntosxr">Activar Puntos por posts:</label><br /><span>Aquí podrás activar o desactivar bonificaciones de puntos por posts.</span></dt>
<
dd>
<
label><input name="puntosxr" type="radio" id="puntosxr" value="1" {if $tsConfig.puntosxr == 1}checked="checked"{/if} class="radio"/>S&iacute;</label>
<
label><input name="puntosxr" type="radio" id="puntosxr" value="0" {if $tsConfig.puntosxr != 1}checked="checked"{/if} class="radio"/>No</label>
</
dd>
</
dl


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

Buscar:
 
Código PHP:
<dl>
<
dt><label for="goaf">Anti-flood</label><br /><span>Tiempo que deben esperar entre acci&oacute;n.</span></dt>
<
dd><input type="text" id="goaf" name="global-antiflood" value="{$tsRango.permisos.goaf}style="width:30%"/></dd>
</
dl


Debajo agregar:
 
Código PHP:
<dl>
<
dt><label for="gopxr">Puntos adicionales.</label><br /><span>Puntos de bonificaci&oacute;n en cada post.</span></dt>
<
dd><input type="text" id="gopxr" name="global-poinxrangos" value="{$tsRango.permisos.gopxr}style="width:30%"/></dd>
</
dl



Importante....!!!!
  • Si desactivan la opción en la admin en configuraciones no sumaran valores.
  • Deben de darle valores a cada rango en admin/rangos por separado.
  • NO deberán dejar campo vacío o de valor " 0 ".
  • Valor mínimo " 1 ".



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

Imprimir


Enviado por: Chctrpgo
01-26-2021, 09:18 AM
Foro: Complementos Terminados
- Sin respuestas

Default

 

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




V5


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




V6
 
[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:
ALTER TABLE `p_posts` ADD `p_fuente` VARCHAR( 255 ) NOT NULL


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

Buscar:
Código PHP:
$postData['private'] = empty($_POST['privado']) ? 1


Debajo agregar:
Código PHP:
$postData['fuente'] = isset($_POST['font']) ? 'author' $tsCore->setSecure($_POST['fuente']); 


Buscar:
Código PHP:
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 (\''.$postData['portada'].'\', \''.$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\'').')')) { 


Reemplazar por:
Código PHP:
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, p_fuente) 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\'').',\''.$postData['fuente'].'\')')) { 


Añadido:
Código PHP:
p_fuente 

Código PHP:
',\''.$postData['fuente'].'\ 


Buscar:
Código PHP:
$postData['private'] = empty($_POST['privado']) ? 1


Debajo agregar:
Código PHP:
$postData['fuente'] = isset($_POST['font']) ? 'author' $tsCore->setSecure($_POST['fuente']); 


Buscar:
Código PHP:
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:
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'].'\', p_fuente = \''.$postData['fuente'].'\' WHERE post_id = \''.(int)$post_id.'\'') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') )) { 


Añadido:
Código PHP:
p_fuente = \''.$postData['fuente'].'\' 


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

Buscar:

Default
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>
                                    <
label>Fuente</label>
                                    <
span style="display: none;" class="errormsg"></span>
                                    <
input type="text" tabindex="4" name="fuente" maxlength="250" class="text-inp required" value="URL de la fuente..."/>
                                    <
input type="checkbox" name="font" checked="checked"><b>Contenido Propio</bLa informaci&oacute;n del post es de mi autor&iacute;ano utilic&eacutecontenido de terceros.
                                    </
li


V5
Código PHP:
<li>
                    <
a name="post"></a>
                    <
div class="titular">
                    <
h2 style="background: #eee;">Contenido del Post</h2>
                    </
div>
                    <
span style="display: none;" class="errormsg"></span>
                    <
textarea id="markItUp" name="cuerpo" tabindex="2" style="min-height:300px;" class="required">{$tsDraft.b_body}</textarea>
                    <
div class="imotin">
                        {include 
file='modules/m.global_emoticons.tpl'}
                    </
div>
                </
li


Debajo agregar:
Código PHP:
<li>
                    <
div class="titular">
                    <
h2 style="background: #eee;">Fuente</h2>
                    </
div>
                    <
span style="display: none;" class="errormsg"></span>
                    <
input type="text" tabindex="4" name="fuente" maxlength="250" class="text-inp required" value="URL de la fuente..."/>
                    <
b style="margin-left: 5px;"><input type="checkbox" name="font" checked="checked"><b>Contenido Propio</bLa informaci&oacute;n del post es de mi autor&iacute;ano utilic&eacutecontenido de terceros.</p>    
                </
li


V6
Código:
<li class="special-right clearbeta">
                <label><span></span>Categor&iacute;a</label>
                <span style="display: none;" class="errormsg"></span>
                <select class="incube required" tabindex="3" name="categoria">
                    <option value="" selected="selected">Seleccionar categor&iacute;a</option>
                    {foreach from=$tsConfig.categorias item=c}
                        <option value="{$c.cid}" {if $tsDraft.b_category == $c.cid}selected="selected"{/if}>{$c.c_nombre}</option>
                    {/foreach}
                </select>                    
            </li>


Debajo agregar:
Código:
<li id="tagsfox">
                <label>Fuente</label>
                <span style="display: none;" class="errormsg"></span>
                <input type="text" tabindex="4" name="fuente" maxlength="250" class="text-inp required" value="URL de la fuente..." style="width: 298px;"/>
                <p><input type="checkbox" name="font" checked="checked"><b style="margin-left: 5px;">Contenido Propio</b> La informaci&oacute;n del post es de mi autor&iacute;a, no utilic&eacute; contenido de terceros.</p>                                
            </li>


Default

m.post_metadata.tpl --> themes --> default --> templates --> modules --> m.post_metadata.tpl

Buscar:
Código PHP:
{foreach from=$tsPost.post_tags key=i item=tag}
                                <
a rel="tag" href="{$tsConfig.url}/buscador/?q={$tag|seo}&e=tags">{$tag}</a> {if $i $tsPost.n_tags}-{/if}
                                {/foreach} 


Debajo agregar:
Código PHP:
<br /><br /><span class="icons tags_title">Fuente:</span>
                                {if 
$tsPost.p_fuente!='author' && $tsPost.p_fuente}<a rel="tag" href="{$tsPost.p_fuente}">{$tsPost.p_fuente}</a>{else}Este post es de autor&iacute;a propia{/if} 


V5

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

Arriba de:
Código:
<div class="tagbox">


Agregar:
Código PHP:
<div class="fuente">
    <
div class="titular"><h2>Fuente</h2></div>
    <
b>{if $tsPost.p_fuente!='author' && $tsPost.p_fuente}<a rel="tag" href="{$tsPost.p_fuente}">{$tsPost.p_fuente}</a>{else}Este post es de autor&iacute;a propia{/if}</b>
</
div


themes --> default --> taringa.css

Buscar:
Código:
.tagbox {
    padding: 10px;
}


Cambiar por:
Código:
.tagbox, .fuente {
    padding: 10px;
}


V6

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

Arriba de:
Código PHP:
{/if}
{include 
file='modules/m.posts_tags.tpl'


Agregar:
Código PHP:
<fieldset style="margin-top: 15px;padding: 10px;border-radius: 2px;opacity: 0.8;border: none;margin-bottom: 20px;color: #fff;background-image: linear-gradient(to top, #1a1b1f, #212528);text-align: center;">
<
legend style="margin-left: 1.2em;  border: 1px #222 solid;background: #2f2f2f;width: 120px;font-weight: bold;padding: 2px 6px;margin-top: 10px;color: #fff;border-top-left-radius: 50% 25%;border-top-right-radius: 50% 25%;display: inline-block;text-align: center;font-size: 14px;background-image: linear-gradient(to top, #1a1b1f, #212528);"><class="fas fa-external-link-alt" aria-hidden="true" style="color: #25c2f5;"></i>  Fuente</legend>
{if 
$tsPost.p_fuente!='author' && $tsPost.p_fuente}<a rel="tag" href="{$tsPost.p_fuente}">{$tsPost.p_fuente}</a>{else}Este post es de autor&iacute;a propia{/if}
</
fieldset






Creditos: alexander1712

Imprimir


Enviado por: Chctrpgo
01-26-2021, 09:14 AM
Foro: Complementos Terminados
- Sin respuestas

Default

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

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

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


Ejecutar esta consulta
 
Código:
ALTER TABLE `u_miembros` ADD `user_vips` INT( 1 ) NOT NULL DEFAULT '0';


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

Buscar:
Código PHP:
// 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.'\''); 


Al lado de:
 
Código:
u.user_activo,


Agregar:
Código:
u.user_vips,

Código PHP:
// 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_vips, 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.'\''); 


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

Buscar:
Código:
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

}


Arriba agregar:
Código PHP:
function setVip(){
        
$user = (int)$_GET['id'];
        
$vip db_exec('fetch_array'db_exec(array(__FILE____LINE__), 'query''SELECT user_vips FROM u_miembros WHERE user_id = \''.$user.'\''));
        if(
$vip['user_vips'] == 1){
            if(
db_exec(array(__FILE____LINE__), 'query''UPDATE u_miembros SET user_vips = \'0\' WHERE user_id = \''.$user.'\''))
            return 
true;
            else
            return 
'Error: '.show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db');
        }else{
            if(
db_exec(array(__FILE____LINE__), 'query''UPDATE u_miembros SET user_vips = \'1\' WHERE user_id = \''.$user.'\''))
            return 
true;
            else
            return 
'Error: '.show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.''db');
        }
    } 


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

Buscar:
Código PHP:
} elseif($action == 'users'){
       if(empty(
$act)){
           
$smarty->assign("tsMembers",$tsAdmin->getUsuarios()); 


Debajo agregar:
Código PHP:
}elseif($act == 'vip' && !empty($_GET['id'])){
                 
$vip $tsAdmin->setVip();
           if(
$vip == true$tsCore->redirectTo($tsCore->settings['url'].'/admin/users?act=show&uid='.(int)$_GET['id'].'&save=true');
else 
$smarty->assign("tsError",$update); 



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

Default y V5

Buscar:
Código:
<dl>
                                            <dt><label>Cambios de nick disponibles:</label></dt>
                                            <dd><input type="text" name="changenicks" id="changenicks" value="{$tsUserD.user_name_changes}" style="width:10%" /></dd>
                                        </dl>


Debajo agregar:
Código:
<hr />
                                        <dl>
                                            <dt><label for="vip">Usuario Verificado:</label></dt>
                                            <dd><a href="{$tsConfig.url}/admin/users?act=vip&id={$tsUserD.user_id}">{if $tsUserD.user_vips}Desverificar usuario{else}Verificar usuario{/if}</a></dd>
                                        </dl>


V6

Buscar:
Código:
<div class="boxblo">                
                <div class="desbox">
                    <label for="changenicks">Cambios de nick disponibles:</label>                    
                </div>
                <input type="text" name="changenicks" id="changenicks" value="{$tsUserD.user_name_changes}"/>
            </div>


Debajo agregar:
Código:
<div class="boxblo">                
                <div class="desbox">
                    <label for="changenicks">Usuario Verificado:</label>                    
                </div>
                <a href="{$tsConfig.url}/admin/users?act=vip&id={$tsUserD.user_id}">{if $tsUserD.user_vips}Desverificar usuario{else}Verificar usuario{/if}</a>
            </div>


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

Default

Buscar:
Código:
<h1 class="nick">{$tsInfo.nick}</h1>


Reemplazar por:
Código:
<h1 class="nick">{$tsInfo.nick}  {if $tsInfo.user_vips}<img src="{$tsConfig.tema.t_url}/images/verificado.png" alt="Usuario verificado" title="Usuario verificado" />{/if}</h1>


V5 y V6

Buscar:
Código:
<h1 class="nick">{if $tsInfo.p_nombre}{$tsInfo.p_nombre}{else}{$tsInfo.nick}{/if} {if $tsInfo.yfollow}<span class="tsigue">&Eacute;sta sigui&eacute;ndote</span>{/if}</h1>


Reemplazar por:
Código:
<h1 class="nick">{if $tsInfo.p_nombre}{$tsInfo.p_nombre}{else}{$tsInfo.nick}{/if} {if $tsInfo.user_vips}<i class="fas fa-user-check" aria-hidden="true" style="font-size: 18px;color: #1dcaff;margin-left: 2px;" alt="Usuario verificado" title="Usuario verificado"></i>{/if} {if $tsInfo.yfollow}<span class="tsigue">&Eacute;sta sigui&eacute;ndote</span>{/if}</h1>


Y subir esta imagen a la carpeta images con el nombre verificado.png

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





Creditos: aperpen

Imprimir


Enviado por: Chctrpgo
01-26-2021, 09:11 AM
Foro: Complementos Terminados
- Sin respuestas

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


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

Buscar 2 veces (Lineas 668 y 748):
 
Código PHP:
'gopfd' => $_POST['global-pointsforday']); 


Arriba agregar:
 
Código PHP:
'gopmen' => $_POST['global-permisomensajes'],
            
'gopmenv' => $_POST['global-permisomensajesv'], 


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

Buscar:
 
Código PHP:
// NOMBRE
$this->nick $this->info['user_name']; 


Arriba agregar:
 
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(m.mp_id) as total, m.mp_from, u.user_id FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON u.user_id = m.mp_from WHERE u.user_id = \''.$this->info['user_id'].'\' GROUP BY u.user_id ');
        
$data db_exec('fetch_assoc'$query);
        
$this->ran =  $this->permisos['gopmen'] <= $data['total']; 


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

Buscar:
 
Código PHP:
$user_id $tsUser->getUserID($para); 


Arriba agregar:
 
Código PHP:
if($tsUser->ran)die('Has alcanzado el m&aacute;ximo de mensajes permitidos por tu Rango.'); 


Al final antes de la ultima
 
Código:
}


Arriba agregar:
 
Código PHP:
// BORRAMOS LOS MENSAJES SIN PERMISOS DEL RECEPTOR XD
    
function delmensaje()
    {
        global 
$tsCore$tsUser;
        
$perm $tsUser->permisos['gopmenv'] || $tsUser->permisos['sumo'] || $tsUser->permisos['suad'] ;
        
//Por si un vivo se quiere pasar por la url ¬¬
        
if(!$perm) die("<SCRIPT language='Javascript'>alert(\"No puedes borrar el mensaje!\");</SCRIPT><SCRIPT language='Javascript'> history.go(-1)</SCRIPT>");
        
$mpid $_GET['id'];
        if(!
db_exec('num_rows'db_exec(array(__FILE____LINE__), 'query''SELECT `mp_id` FROM `u_mensajes` WHERE `mp_id` = \'' .
            (int)
$mpid '\' LIMIT 1')))
        {
            return 
'El id ingresado no existe.';
        }
        
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `u_mensajes` WHERE `mp_id` = \'' . (int)$mpid '\'');
        
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `u_respuestas` WHERE `mp_id` = \'' . (int)$mpid '\'');
    } 


En mensajes.php --> inc --> php --> mensajes.php

Buscar:
 
Código PHP:
case 'leer':
            
$smarty->assign("tsMensajes",$tsMP->readMensaje());
        break; 


Debajo agregar:
 
Código PHP:
case 'borrar':
            
$smarty->assign("tsMensajes",$tsMP->delmensaje());
            if(
$tsMP->delmensaje()) $tsCore->redirectTo($tsCore->settings['url'].'/mensajes/enviados/');
        break; 


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

Buscar:
 
Código PHP:
<dl>
                                        <
dt><label for="goaf">Anti-flood</label><br /><span>Tiempo que deben esperar entre acci&oacute;n.</span></dt>
                                        <
dd><input type="text" id="goaf" name="global-antiflood" value="{$tsRango.permisos.goaf}style="width:30%"/></dd>
                                    </
dl


Debajo agregar:
 
Código PHP:
<dl>
                                        <
dt><label for="gopmen">Mensajes Permitidos</label><br /><span>Cantidad de mensajes permitidos para enviar.</span></dt>
                                        <
dd><input type="text" onkeyup="var no_digito = /\D/g; this.value = this.value.replace(no_digito , '');" id="gopmen" name="global-permisomensajes" value="{$tsRango.permisos.gopmen}style="width:30%"/></dd>
                                    </
dl


Buscar:
 
Código PHP:
<legend>Global</legend>
<
input type="checkbox" id="godp" name="global-darpuntos" {if $tsRango.permisos.godp}checked{/if} /><label style="font-weight:bold;" for="godp">Puntuar Posts</label><label for="godp">   Podr&aacute;n puntuar posts.</label>
<
br /><hr
 
 
Debajo agregar:
Código PHP:
<input type="checkbox" id="gopmenv" name="global-permisomensajesv" {if $tsRango.permisos.gopmenv}checked{/if} /><label style="font-weight:bold;" for="gopmenv">Eliminar Mensajes</label><label for="gopmenv">   Podr&aacute;n eliminar mensajes enviados.</label>
                                        <
br /><hr
 
 
En m.mensajes_list.tpl --> themes --> default --> templates --> modules --> m.mensajes_list.tpl
 
Buscar:
Código PHP:
<td class="pls">
                                                <
a href="#" class="qtip" title="Eliminar" onclick="mensaje.eliminar('{$mp.mp_id}:{$mp.mp_type}',1); return false;"><class="delete"></i></a>
                                            </
td
 
  
Reemplazar por:
Código PHP:
<td class="pls">                                   
                                                {if 
$tsUser->permisos.suad || $tsUser->permisos.sumo || $tsUser->permisos.gopmenv}
                                                <
a href="{$tsConfig.url}/mensajes/borrar?id={$mp.mp_id}"><i title="Eliminar Mensaje" class="delete"></i></a>
                                                {else}
                                                <
a href="#" class="qtip" title="Eliminar" onclick="mensaje.eliminar('{$mp.mp_id}:{$mp.mp_type}',1); return false;"><class="delete"></i></a>                                           
                                                {/if}
</
td
 
 
Importante
Deben de darle la cantidad de mensajes permitidos a cada rango si no, no le dejará enviar mensajes al rango que le falte la cantidad.
 
 
 
Creditos: Vellenger

Imprimir