¡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.
Calificación:
  • 1 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5

COMPLEMENTOS Referidos v1 + Admin (Act 1.3)
#1

5
Mejor respuesta del mensaje Referidos v1 + Admin (Act 1.3)
[img]Registrate o inicia tu sesión para ver este contenido[/img]

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

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



Ejecutar estas consultas

ALTER TABLE `u_miembrosADD `user_referidosINT11 NOT NULL DEFAULT '0' 

CREATE TABLE IF NOT EXISTS `referidos` (
`
idint(11NOT NULL AUTO_INCREMENT,
`
user_referidovarchar(60CHARACTER SET latin1 NOT NULL,
`
user_namevarchar(60CHARACTER SET latin1 NOT NULL,
`
fechaint(12NOT NULL,
PRIMARY KEY (`id`)
ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=16 


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

Buscar:

/*
    getNoticias()
    */
    
function getNoticias()
    { 


Arriba agregar:

/*
     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.';
    }
    
db_exec(array(__FILE____LINE__), 'query''DELETE FROM `referidos` WHERE `id` = \'' . (int)$id '\'');
    } 


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

Buscar:

/*
        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, u.user_referidos, 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:

u.user_baneado


Agregar:

u.user_referidos


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

Buscar:

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


Debajo agregar:

/**
    * @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:

function registerUser(){
        global 
$tsCore$tsUser;
        
// DATOS NECESARIOS 


Debajo agregar:

$referido=$_POST['referido'];
          if(empty(
$referido)){
          
$referido='1';
        }else{
          
$referido$tsCore->setSecure($_POST['referido']);
        } 


Buscar:

'user_email' => $_POST['email'], 


Debajo agregar:

'user_referido' => $referido


Buscar:

// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA 


Arriba agregar:

if($referido != '1'){
              
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().'\')');
            } 


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

Buscar:

/** NOTICIAS **/
    
} elseif($action == 'news'){ 


Arriba agregar:

/** 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 ajax.registro.php --> inc --> php --> ajax --> ajax.registro.php

Buscar:

'registro-check-nick' => array('n' => 1'p' => ''), 


Debajo agregar:

'registro-check-referido' => array('n' => 1'p' => ''), 


Buscar:

case 'registro-geo'


Arriba agregar:

case 'registro-check-referido':

           
//<---
           
               
echo $tsReg->checkUserEmail2();

          
//--->

        
break; 


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

Buscar:

{/if} 


Arriba agregar:

{elseif $tsAction == 'referidos'}
                                {include 
file='admin_mods/referidos.tpl'


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

Buscar:

<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:

<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 registro.js --> themes --> default --> js --> registro.js

Buscar:

//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(elfalsetrue);
                break;
            default:
                $(
el).removeClass('selected');
                
this.check_campo(elfalsetrue);
                break;
        }
    }, 


Reemplazar por:

//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(elfalsetrue);
               break;
           default:
               $(
el).removeClass('selected');
               
this.check_campo(elfalsetrue);
               break;
       }  
   }, 


Buscar:

/* password */
            
case 'password'


Arriba agregar:

/* 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(elthis.datos_status[campo], this.datos_text[campo]) : this.hide_status(elthis.datos_status[campo], this.datos_text[campo]);
                else
                return 
this.show_status(elthis.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',
                
urlglobal_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 */ 


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

Al final agregar:

<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


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

Buscar:

<li>
                                    <
strong>{$tsInfo.stats.user_comentarios}</strong>
                                    <
span>Comentarios</span>
                                </
li


Debajo agregar:

<li>
                                   <
strong>{$tsInfo.user_referidos}</strong>
                                   <
span>Referidos</span>
                                </
li



Y suben esta carpeta

Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...




Creditos: Debes agradecer para ver el contenido...
Responder
#2

0
Gracias
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)