01-25-2021, 01:55 PM
[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]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
¿Que contiene?
- Enviar peticiones de amistado
- Aceptar/rechazar peticiones
- Avisos en el monitor
- Ver lista de amigo
- Perfiles privados configurables.
- Moderadores y administradores pueden ver los perfiles aun que sean privados.
Ejecutar estas consultas
Código PHP:
CREATE TABLE IF NOT EXISTS `u_amigos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_1` varchar(3) NOT NULL,
`user_2` varchar(3) NOT NULL,
`fecha` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Código PHP:
CREATE TABLE IF NOT EXISTS `u_peticiones` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`de` int(3) NOT NULL,
`para` int(3) NOT NULL,
`fecha` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Código PHP:
ALTER TABLE `u_perfil` ADD `user_priv` INT( 1 ) NOT NULL DEFAULT '0'
En header.php
Buscar:
Código PHP:
// Controlador de usuarios
include TS_CLASS.'c.user.php';
Debajo agregar:
Código PHP:
//Amigos
include TS_CLASS.'c.amigos.php';
Buscar:
Código PHP:
// Mensajes
$tsMP = new tsMensajes();
Debajo agregar:
Código PHP:
//Amigos
$tsAmigos = new tsAmigos();
En c.cuenta.php --> inc --> class --> c.cuenta.php
Buscar:
Código PHP:
'firma' => $tsCore->setSecure($tsCore->parseBadWords($_POST['firma']), true),
Debajo agregar:
Código PHP:
'priv' => ($_POST['priv'] == 'n') ? 0 : 1,
Buscar:
Código PHP:
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_dia, user_mes, user_ano, user_pais, user_estado, user_sexo, user_firma FROM U_perfil WHERE user_id = \''.$tsUser->uid.'\' LIMIT 1');
$info = db_exec('fetch_assoc', $query);
Reemplazar por:
Código PHP:
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT user_dia, user_mes, user_ano, user_pais, user_estado, user_sexo, user_firma, user_priv FROM U_perfil WHERE user_id = \''.$tsUser->uid.'\' LIMIT 1');
$info = db_exec('fetch_assoc', $query);
Buscar:
Código PHP:
elseif(empty($perfilData['estado'])){
$msg_return = array('error' => 'Por favor, especifica tu estado.'.$_POST['estado']);
$perfilData['estado'] = $info['user_estado'];
}
Debajo agregar:
Código PHP:
elseif($perfilData['priv'] > 2){
$msg_return = array('error' => 'Por favor, indica la privacidad de tu perfil');
$perfilData['priv'] = $info['user_priv'];
}
Buscar:
Código PHP:
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);
Reemplazar por:
Código PHP:
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, p.user_priv 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 c.monitor.php --> inc --> class --> c.monitor.php
Buscar:
Código PHP:
17 => array('text' => 'Tu foto recibió una medalla', 'css' => 'medal'),
Debajo agregar:
Código PHP:
30 => array('text' => 'aceptó tu petición de amistad.', 'css' => 'acept'),
31 => array('text' => 'rechazó tu petición de amistad.', 'css' => 'rec'),
32 => array('text' => 'te envió una petición de amistad.', 'css' => 'new'),
Buscar:
Código PHP:
case 1:
case 2:
case 3:
case 5:
case 6:
case 7:
case 8:
case 9:
return 'SELECT p.post_id, p.post_user, p.post_title, c.c_seo FROM p_posts AS p LEFT JOIN p_categorias AS c ON p.post_category = c.cid WHERE p.post_id = \''.(int)$data['obj_uno'].'\' LIMIT 1';
break;
Arriba agregar:
Código PHP:
case 30:
return 'SELECT user_name FROM u_miembros WHERE user_id = \''.(int)$data['obj_user'].'\' LIMIT 1';
break;
case 31:
return 'SELECT user_name FROM u_miembros WHERE user_id = \''.(int)$data['obj_user'].'\' LIMIT 1';
break;
case 32:
return 'SELECT user_name FROM u_miembros WHERE user_id = \''.(int)$data['obj_user'].'\' LIMIT 1';
break;
Buscar:
Código PHP:
case 17:
$oracion['text'] = 'Tu <a href="'.$site_url.'/fotos/'.$data['user_name'].'/'.$data['foto_id'].'/'.$tsCore->setSEO($data['f_title']).'.html" title="'.$data['f_title'].'"><b>foto</b></a> tiene una nueva <span class="qtip" title="'.$data['m_title'].'"><b>medalla</b> <img src="'.$site_url.'/themes/default/images/icons/med/'.$data['m_image'].'_16.png"/></span>';
break;
Arriba agregar:
Código PHP:
case 30:
$oracion['text'] = $this->monitor[$no_type]['text'];
break;
case 31:
$oracion['text'] = $this->monitor[$no_type]['text'];
break;
case 32:
$oracion['text'] = $this->monitor[$no_type]['text'];
break;
En perfil.php --> inc --> php --> perfil.php
Buscar:
Código PHP:
$smarty->assign("tsPrivacidad",$priv);
Debajo agregar:
Código PHP:
$smarty->assign("is_amigo",$tsAmigos->is_amigo($tsInfo['nick'], 'all'));
En phpost.css --> themes --> default --> phpost.css
Buscar:
Código PHP:
span.ma_medal{ background: url(images/icons/med/blue_bronze_16.png);}
Debajo agregar:
Código PHP:
span.ma_acept{ background: url(images/icons/yes.png) no-repeat;}
span.ma_rec{ background: url(images/icons/close.png) no-repeat;}
span.ma_new{ background: url(images/icons/users.png) no-repeat;}
En t.perfil.tpl --> themes --> default --> templates --> t.perfil.tpl
Buscar:
Código PHP:
{include file='sections/main_header.tpl'}
Reemplazar por:
Código PHP:
{include file='sections/main_header.tpl'}
{if $tsInfo.user_priv == 0}
<script type="text/javascript" src="{$tsConfig.default}/js/perfil.js"></script>
{include file='modules/m.perfil_headinfo.tpl'}
<div class="perfil-main clearfix {$tsGeneral.stats.user_rango.1}">
<div class="perfil-content general">
<div id="info" pid="{$tsInfo.uid}"></div>
<div id="perfil_content">
{if $tsPrivacidad.m.v == false}
<div id="perfil_wall" status="activo" class="widget">
<div class="emptyData">{$tsPrivacidad.m.m}</div>
<script type="text/javascript">
perfil.load_tab('info', $('#informacion'));
</script>
</div>
{elseif $tsType == 'story'}
{include file='modules/m.perfil_story.tpl'}
{elseif $tsType == 'news'}
{include file='modules/m.perfil_noticias.tpl'}
{else}
{include file='modules/m.perfil_muro.tpl'}
{/if}
</div>
<div style="width:100%;text-align:center;display:none" id="perfil_load"><img src="{$tsConfig.images}/fb-loading.gif" /></div>
</div>
<div class="perfil-sidebar">
{include file='modules/m.perfil_sidebar.tpl'}
</div>
</div>
{elseif $is_amigo}
Buscar:
Código PHP:
<div class="perfil-sidebar">
{include file='modules/m.perfil_sidebar.tpl'}
</div>
</div>
Debajo agregar:
Código PHP:
{else}
<div class="emptyData"> Este perfil es privado y solo los amigos de este usuario pueden verlo.</br>
<a href="{$tsConfig.url}/amigos/?user={$tsInfo.uid}"> Envía una petición de amistad a este usuario</a></div>
{/if}
En head_menu.tpl --> themes --> default --> templates --> sections --> head_menu.tpl
Buscar:
Código PHP:
$tsPage != 'fotos'
Reemplazar por:
Código PHP:
$tsPage != 'fotos' && $tsPage != 'amigos'
Buscar:
Código PHP:
{if $tsConfig.c_fotos_private == '1' && !$tsUser->is_member}{else}
<li class="tabbed {if $tsPage == 'fotos'}here{/if}" id="tabbedfotos">
<a title="Ir a Fotos" onclick="menu('fotos', this.href); return false;" href="{$tsConfig.url}/fotos/">Fotos <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
</li>
{/if}
Debajo agregar:
Código PHP:
{if $tsUser->is_member}
<li class="tabbed {if $tsPage == 'amigos'}here{/if}" id="tabbedtops">
<a title="Ir a amigos" href="{$tsConfig.url}/amigos/">Amigos <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
</li>
{/if}
En head_submenu.tpl --> themes --> default --> templates --> sections --> head_submenu.tpl
Buscar:
Código PHP:
<div id="subMenuFotos" class="subMenu {if $tsPage == 'fotos'}here{/if}">
<ul class="floatL tabsMenu">
<li{if $tsAction == '' && $tsAction != 'agregar' && $tsAction != 'album' && $tsAction != 'favoritas' || $tsAction == 'ver'} class="here"{/if}><a href="{$tsConfig.url}/fotos/">Inicio</a></li>
{if $tsAction == 'album' && $tsFUser.0 != $tsUser->uid}<li class="here"><a href="{$tsConfig.url}/fotos/{$tsFUser.1}">Álbum de {$tsFUser.1}</a></li>{/if}
{if $tsUser->is_admod || $tsUser->permisos.gopf}<li{if $tsAction == 'agregar'} class="here"{/if}><a href="{$tsConfig.url}/fotos/agregar.php">Agregar Foto</a></li>{/if}
<li{if $tsAction == 'album' && $tsFUser.0 == $tsUser->uid} class="here"{/if}><a href="{$tsConfig.url}/fotos/{$tsUser->nick}">Mis Fotos</a></li>
</ul>
<div class="clearBoth"></div>
</div>
Debajo agregar:
Código PHP:
<div id="subMenuAmigos" class="subMenu {if $tsPage == 'amigos'}here{/if}">
<ul class="floatL tabsMenu">
<li><a href="{$tsConfig.url}/amigos/">Inicio</a></li>
<li ><a href="{$tsConfig.url}/amigos/?pet=1">Peticiones</a></li>
</ul>
<div class="clearBoth"></div>
</div>
En m.cuenta_cuenta.tpl --> themes --> default --> templates --> modules --> m.cuenta_cuenta.tpl
Buscar:
Código PHP:
{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}
Debajo agregar:
Código PHP:
<div class="field">
<label>Perfil solo para tus amigos</label>
<ul class="fields">
<li>
<label><input type="radio" value="s" name="priv" class="radio cuenta-save-1" {if $tsPerfil.user_priv == '1'}checked="checked"{/if}/>Si</label>
</li>
<li>
<label><input type="radio" value="n" name="priv" class="radio cuenta-save-1" {if $tsPerfil.user_priv == '0'}checked="checked"{/if}/>No</label>
</li>
</ul>
</div>
En m.perfil_headinfo.tpl --> themes --> default --> templates --> modules --> m.perfil_headinfo.tpl
Buscar:
Código PHP:
<a class="btn_g unfollow_user_post" onclick="notifica.unfollow('user', {$tsInfo.uid}, notifica.userInPostHandle, $(this).children('span'))" {if $tsInfo.follow == 0}style="display: none;"{/if}><span class="icons unfollow">Dejar de seguir</span></a>
<a class="btn_g follow_user_post" onclick="notifica.follow('user', {$tsInfo.uid}, notifica.userInPostHandle, $(this).children('span'))" {if $tsInfo.follow == 1}style="display: none;"{/if}><span class="icons follow">Seguir Usuario</span></a>
{/if}
Debajo agregar:
Código PHP:
{if $tsUser->is_admod}
</br><a href="{$tsConfig.url}/amigos/?user={$tsInfo.uid}"> Envía una petición de amistad a este usuario</a>
{elseif $is_amigo}
{elseif $tsUser->is_member}
</br><a href="{$tsConfig.url}/amigos/?user={$tsInfo.uid}"> Envía una petición de amistad a este usuario</a>
{/if}
Y subir esta carpeta
Mega
http://Registrate o inicia tu sesión par... contenido
Google Drive
http://Registrate o inicia tu sesión par... contenido
Mediafire
http://Registrate o inicia tu sesión par... contenido
Creditos: aperpen