Phpost

Versión completa: Loguearse anónimamente (Act 1.3)
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Descripción
Este mod da la posibilidad de poder loguearse como oculto sin ser añadido al listado de usuarios online ni mostrar que está online en perfil, posts, etc.
Solo moderadores y administradores podrán ver que está online desde la sección de usuarios online.
 
 
Demo
http://Registrate o inicia tu sesión par... contenido
 
 
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 `u_miembrosADD `user_hiddenENUM'0''1' NOT NULL 
 
 
En c.user.php --> inc --> class --> c.user.php

Buscar:
Código PHP:
// COMPROBAMOS SI TENEMOS QUE ASIGNAR MEDALLAS
                
$this->DarMedalla(); 
 
 
Debajo agregar:                
Código PHP:
db_exec(array(__FILE____LINE__), 'query''UPDATE u_miembros SET user_hidden = \''.($_POST['anon'] == 'true' 0).'\' WHERE user_id = \''.$data['user_id'].'\''); 
        
       
Buscar:
Código PHP:
public function getVCard($user_id){
        
# GLOBALES
        
global $tsCore;
        
# LOCALES
        
$is_online = (time() - ($tsCore->settings['c_last_active'] * 60));
        
$is_inactive = (time() - (($tsCore->settings['c_last_active'] * 60) * 2)); // DOBLE DEL ONLINE
        // INFORMACION GENERAL
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, u.user_lastactive, u.user_baneado, p.user_sexo, p.user_pais, p.p_nombre, p.p_mensaje, p.p_sitio 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);
        
        
//  STATS
        
$query =  db_exec(array(__FILE____LINE__), 'query''SELECT u.user_puntos, r.r_name, r.r_color, r.r_image FROM u_miembros AS u LEFT JOIN u_rangos AS r ON u.user_rango = r.rango_id WHERE user_id = \''.(int)$user_id.'\' LIMIT 1');
        
$data['stats'] = db_exec('fetch_assoc'$query);
        
        
$q1 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(post_id) AS p FROM p_posts WHERE post_user = \''.(int)$user_id.'\' && post_status = \'0\''));;
        
$q2 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(cid) AS c FROM p_comentarios WHERE c_user = \''.(int)$user_id.'\' && c_status = \'0\''));;
        
$q3 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(follow_id) AS s FROM u_follows WHERE f_id = \''.(int)$user_id.'\' && f_type = \'1\''));
        
        
$data['stats']['user_posts'] = $q1[0];
        
$data['stats']['user_comentarios'] = $q2[0];
        
$data['stats']['user_seguidores'] = $q3[0];
        
// STATUS
        
if($data['user_lastactive'] > $is_online$data['status'] = array('t' => 'Online''css' => 'online');
        elseif(
$data['user_lastactive'] > $is_inactive$data['status'] = array('t' => 'Inactivo''css' => 'inactive');
        else 
$data['status'] = array('t' => 'Offline''css' => 'offline');
        
// SIGUIENDO
        
$data['follow'] = $this->iFollow($user_id);
        
//
        
return $data;
    } 
 
 
Reemplazar por:
Código PHP:
public function getVCard($user_id){
        
# GLOBALES
        
global $tsCore;
        
# LOCALES
        
$is_online = (time() - ($tsCore->settings['c_last_active'] * 60));
        
$is_inactive = (time() - (($tsCore->settings['c_last_active'] * 60) * 2)); // DOBLE DEL ONLINE
        // INFORMACION GENERAL
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, u.user_lastactive, u.user_baneado, p.user_sexo, p.user_pais, p.p_nombre, p.p_mensaje, p.p_sitio, u.user_hidden 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);
        
        
//  STATS
        
$query =  db_exec(array(__FILE____LINE__), 'query''SELECT u.user_puntos, r.r_name, r.r_color, r.r_image FROM u_miembros AS u LEFT JOIN u_rangos AS r ON u.user_rango = r.rango_id WHERE user_id = \''.(int)$user_id.'\' LIMIT 1');
        
$data['stats'] = db_exec('fetch_assoc'$query);
        
        
$q1 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(post_id) AS p FROM p_posts WHERE post_user = \''.(int)$user_id.'\' && post_status = \'0\''));;
        
$q2 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(cid) AS c FROM p_comentarios WHERE c_user = \''.(int)$user_id.'\' && c_status = \'0\''));;
        
$q3 db_exec('fetch_row'db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(follow_id) AS s FROM u_follows WHERE f_id = \''.(int)$user_id.'\' && f_type = \'1\''));
        
        
$data['stats']['user_posts'] = $q1[0];
        
$data['stats']['user_comentarios'] = $q2[0];
        
$data['stats']['user_seguidores'] = $q3[0];
        
// STATUS
        
if($data['user_lastactive'] > $is_online && $data['user_hidden'] != '1'$data['status'] = array('t' => 'Online''css' => 'online');
        elseif(
$data['user_lastactive'] > $is_inactive && $data['user_hidden'] != '1'$data['status'] = array('t' => 'Inactivo''css' => 'inactive');
        else 
$data['status'] = array('t' => 'Offline''css' => 'offline');
        
// SIGUIENDO
        
$data['follow'] = $this->iFollow($user_id);
        
//
        
return $data;
    } 
 
 
Buscar:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, p.user_pais, p.user_sexo, p.p_avatar, p.p_mensaje, u.user_rango, u.user_puntos, u.user_comentarios, u.user_posts, u.user_lastactive, u.user_baneado, r.r_name, r.r_color, r.r_image FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id LEFT JOIN u_rangos AS r ON r.rango_id = u.user_rango WHERE u.user_activo = \'1\' && u.user_baneado = \'0\' '.$w_online.' '.$w_avatar.' '.$w_sex.' '.$w_pais.' '.$w_rango.'  ORDER BY u.user_id DESC LIMIT '.$pages['limit']); 
 
 
Reemplazar por:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, p.user_pais, p.user_sexo, p.p_avatar, p.p_mensaje, u.user_rango, u.user_puntos, u.user_comentarios, u.user_posts, u.user_lastactive, u.user_baneado, r.r_name, r.r_color, r.r_image, u.user_hidden FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id LEFT JOIN u_rangos AS r ON r.rango_id = u.user_rango WHERE u.user_activo = \'1\' && u.user_baneado = \'0\' '.$w_online.' '.$w_avatar.' '.$w_sex.' '.$w_pais.' '.$w_rango.' '.($this->is_admod != '1' '&& u.user_hidden = \'0\'' '').' ORDER BY u.user_id DESC LIMIT '.$pages['limit']); 
 
 
En c.posts.php --> inc --> class --> c.posts.php

Buscar:
Código PHP:
$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 PHP:
$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_hidden 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'); 
 
 
Buscar:
Código PHP:
if($data['user_lastactive'] > $is_online$data['status'] = array('t' => 'Usuario Online''css' => 'online');
        elseif(
$data['user_lastactive'] > $is_inactive$data['status'] = array('t' => 'Usuario Inactivo''css' => 'inactive'); 
 
 
Reemplazar por:
Código PHP:
if($data['user_lastactive'] > $is_online && $data['user_hidden'] != '1'$data['status'] = array('t' => 'Usuario Online''css' => 'online');
        elseif(
$data['user_lastactive'] > $is_inactive && $data['user_hidden'] != '1'$data['status'] = array('t' => 'Usuario Inactivo''css' => 'inactive'); 
 
 
En c.user.php --> inc --> class --> c.user.php

Buscar:
Código PHP:
$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 PHP:
$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, u.user_hidden FROM u_miembros AS u, u_perfil AS p WHERE u.user_id = \''.(int)$user_id.'\' AND p.user_id = \''.(int)$user_id.'\''); 
 
 
En perfil.php --> inc --> php --> perfil.php

Buscar:
Código PHP:
if($tsInfo['user_lastactive'] > $is_online$tsInfo['status'] = array('t' => 'Online''css' => 'online');
    elseif(
$tsInfo['user_lastactive'] > $is_inactive$tsInfo['status'] = array('t' => 'Inactivo''css' => 'inactive'); 
 
 
Reemplazar por:
Código PHP:
if($tsInfo['user_lastactive'] > $is_online && $tsInfo['user_hidden'] != '1'$tsInfo['status'] = array('t' => 'Online''css' => 'online');
    elseif(
$tsInfo['user_lastactive'] > $is_inactive && $tsInfo['user_hidden'] != '1'$tsInfo['status'] = array('t' => 'Inactivo''css' => 'inactive'); 
 
 
En acciones.js --> themes --> default --> js --> acciones.js

Buscar:
Código PHP:
var remember = ($('#rem').is(':checked')) ? 'true' 'false';
        
params 'nick='+encodeURIComponent($(el['nick']).val())+'&pass='+encodeURIComponent($(el['pass']).val())+'&rem='+remember
 
 
Reemplazar por:
Código PHP:
var remember = ($('#rem').is(':checked')) ? 'true' 'false';
        var 
anon = ($('#anon').is(':checked')) ? 'true' 'false';
        
params 'nick='+encodeURIComponent($(el['nick']).val())+'&pass='+encodeURIComponent($(el['pass']).val())+'&rem='+remember+'&anon='+anon
 
  
En t.usuarios.tpl --> themes --> default --> templates --> t.usuarios.tpl

Buscar:
Código PHP:
<h4 style="padding:0"><span class="rango qtip" style="background-image:url({$tsConfig.default}/images/icons/ran/{$u.rango.image});" title="{$u.rango.title}"> </span> <a href="{$tsConfig.url}/perfil/{$u.user_name}style="color:#{$u.rango.color}>{$u.user_name}</a></h4
 
 
Reemplazar por:
Código PHP:
<h4 style="padding:0"><span class="rango qtip" style="background-image:url({$tsConfig.default}/images/icons/ran/{$u.rango.image});" title="{$u.rango.title}"> </span> <a href="{$tsConfig.url}/perfil/{$u.user_name}style="color:#{$u.rango.color}>{$u.user_name}{if $u.user_hidden == '1'} (an&oacute;nimo){/if}</a></h4
 
 
En p.perfil_info.tpl --> themes --> default --> templates --> t.php_files --> p.perfil_info.tpl

Buscar:
Código PHP:
<li><label>&Uacute;ltima vez activo</label><strong>{$tsPerfil.user_lastactive|fecha}</strong></li
 
 
Reemplazar por:
Código PHP:
{if $tsInfo.user_hidden == '0'}
            <
li><label>&Uacute;ltima vez activo</label><strong>{$tsPerfil.user_lastactive|fecha}</strong></li>
            {/if} 
 
 
En head_menu.tpl --> themes --> default --> templates --> sections --> head_menu.tpl

Buscar:
Código PHP:
<input type="checkbox" id="rem" name="rem" value="true" checked="checked" /> <label for="rem">Recordar usuario</label
 
 
Debajo agregar:
Código PHP:
<br /><input type="checkbox" id="anon" name="anon" value="false" /> <label for="anon">Loguearse anónimamente</label
 

  
 
Creditos: Alan