09-03-2021, 05:36 PM
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
Ejecutar esta consulta
En c.user.php --> inc --> class --> c.user.php
Buscar:
Debajo agregar:
Buscar:
Reemplazar por:
Buscar:
Reemplazar por:
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
Reemplazar por:
Buscar:
Reemplazar por:
En c.user.php --> inc --> class --> c.user.php
Buscar:
Reemplazar por:
En perfil.php --> inc --> php --> perfil.php
Buscar:
Reemplazar por:
En acciones.js --> themes --> default --> js --> acciones.js
Buscar:
Reemplazar por:
En t.usuarios.tpl --> themes --> default --> templates --> t.usuarios.tpl
Buscar:
Reemplazar por:
En p.perfil_info.tpl --> themes --> default --> templates --> t.php_files --> p.perfil_info.tpl
Buscar:
Reemplazar por:
En head_menu.tpl --> themes --> default --> templates --> sections --> head_menu.tpl
Buscar:
Debajo agregar:
Creditos: Alan
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_miembros` ADD `user_hidden` ENUM( '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' ? 1 : 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ó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>Última vez activo</label><strong>{$tsPerfil.user_lastactive|fecha}</strong></li>
Reemplazar por:
Código PHP:
{if $tsInfo.user_hidden == '0'}
<li><label>Ú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