Denunciante Popular | Respuesta: Smline - 2 Buenos Mod Chat estilo a facebook Primero ejecutan este sql en su base de datos:
[code]
CREATE TABLE `chat` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`from` VARCHAR(255) NOT NULL DEFAULT '',
`to` VARCHAR(255) NOT NULL DEFAULT '',
`message` TEXT NOT NULL,
`sent` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`recd` INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
)
[/code] ahora tienen que ir a el archivo post.php en PHP/pages/
y arriba de:
[code]
$smarty->assign('last_posts', $posts->last_posts(0, false, $cat));
[/code]ponen esto:
[code]
if($user->uid==true){
session_start();
$_SESSION['username'] = $user->nick;
$variable1 = $_SESSION['username'];}
$smarty->assign("datos_chat",$variable1);
[/code]En themes/TUTEMA/Templates/ buscan home.tpl y debajo de:
[code]
<div class="home_right">
[/code]Agregan:
[code]
{include file='i_home/chat_users.tpl'}
[/code]
En esa misma carpeta buscan el archivo members.tpl y remplazan todo su contenido por:
[code]
{include file='includes/header.tpl'}
<div id="main-col" style="margin-right:5px;">
<div class="filterBy filterFull clearfix ui-corner-all">
<div class="floatL xResults">
Mostrando <strong>{$get_users.start} - {if $get_users.end < $get_users.total}{$get_users.end}{else}{$get_users.total}{/if}</strong> resultados de <strong>{$get_users.total}</strong> </div>
<ul class="floatR">
<li class="orderTxt">Ordenar por</li>
<li{if $order == 'nombre'} class="here"{/if}><a href="{$web.url}/miembros?order=nombre">Nombre de usuario</a></li>
<li{if $order == 'actividad' || $order == ''} class="here"{/if}><a href="{$web.url}/miembros?order=actividad">Última actividad</a></li>
<li{if $order == 'online'} class="here"{/if}><a href="{$web.url}/miembros?order=online">Registro</a></li>
</ul>
<div class="clearBoth"></div>
</div>
<div id="showResult" class="resultFull mis-comunidades">
<ul class="clearfix">
{foreach from=$get_users.list item=u}
<li class="resultBox clearfix">
<div class="floatL avatarBox">
<a href="{$web.url}/{$u.u_nick}" class="img-ava{if $user->is_online($u.u_id)} online{/if}">
<img class="avatar-2" src="{$web.url}/avatar/{$u.u_id}_120.jpg?{$u.u_last_avatar}" alt="Avatar de {$u.u_nick}" title="{$u.u_nick} - {if $user->is_online($u.u_id)}Online{else}Offline{/if}">
</a>
</div>
<div class="floatL infoBox">
<h4>
<img src="{$web.icons}/ranks/{$u.r_image}" alt="Imagen del rango" title="{$u.r_name}" class="stip" />
<a href="{$web.url}/{$u.u_nick}">{$u.u_nick}</a>
</h4>
<ul>
<li>Registro: <strong>{$u.u_date|date_format:"%d/%m/%Y"}</strong></li>
<li>Última actividad: <strong>{$u.u_last_active|hace}</strong></li>
<li>Posts: <strong>{$u.u_posts}</strong> - Puntos: <strong>{$u.u_points}</strong></li>
<li>País: <strong>{$array_paises[$u.u_country]}</strong></li>
<li>Usuario: {if $user->is_online($u.u_id)}<strong style=" color: #2B9B00; ">Conectado</strong> {else}<strong>Desconectado</strong>{/if}</li>
{if $user->uid}<li>{if $user->is_online($u.u_id)}Chat: <a class="u_nick" href="javascript:void(0)" onclick="javascript:chatWith('{$u.u_nick}')">Click aca</a>{/if}</li>{/if}
</ul>
</div>
</li>
{/foreach}
</ul>
</div>
{$get_users.pages}
</div>
<div id="sidebar">
<div class="box">
<div class="box_title">Usuarios recomendados</div>
<div class="box_body last_members list_element">
{if !$get_users.recomendados}<div class="emptyData">No hay usuarios recomendados</div>{/if}
{foreach from=$get_users.recomendados item=u}
<div class="list-element">
<a href="{$web.url}/{$u.u_nick}">
<img src="{$web.url}/avatar/{$u.u_id}_32.jpg?{$u.u_last_avatar}" alt="Avatar de {$u.u_nick}" title="Avatar de {$u.u_nick}" />
</a>
<a class="u_nick" href="{$web.url}/{$u.u_nick}">{$u.u_nick}</a>
</div>
{/foreach}
</div>
</div>
</div>
{include file='includes/footer.tpl'}
[/code]Ahora van a themes/TUTEMA/Templates/i_home y suben este archivo: chat_users.rar
Ahora van a themes/TUTEMA/Templates/includes y buscan el archivo header.tpl
y antes de:
[code]
</head>
[/code]Agregan:
[code]
{if $user->uid}
<link href="{$web.css}/live.css" rel="stylesheet" type="text/css">{/if}
<link href="{$web.css}/chat.css" rel="stylesheet" type="text/css">
<script src="{$web.js}/chat.js" type="text/javascript"></script>
{/if}
[/code]Suben a la raiz de su web (en donde se encuentra el .htaccess ) este archivo: chat.rar
En ese archivo buscan y ponen sus datos :
[code]
define ('DBPATH','Servidor');
define ('DBUSER','usuario');
define ('DBPASS','Contraseña');
define ('DBNAME','Base de datos');
[/code]Por ultimo suben este archivo a themes/TUTEMA/js/ chat js.rar
Y este archivo a themes/TUTEMA/css/ chat-css.rar
Ejecutan esta funcion sql en su phpmyadmin:
[code]
ALTER TABLE `users` ADD `u_chat` INT(1) NOT NULL DEFAULT '1'
[/code]Van a su archivo posts.php que esta en PHP/pages y debajo de
[code]
$smarty->assign('last_members', $posts->last_members());
[/code]Agregan:
[code]
if($user->uid==true){
session_start();
$_SESSION['username'] = $user->nick;
}
$smarty->assign("datos_chat",$_SESSION['username']);
[/code]En el mismo archivo buscan:
[code]
$smarty->assign('cats', $posts->cats());
$smarty->assign('page', $page);
?>
[/code]Agregan arriba:
[code]
// Datos para el chat
require_once'PHP/libs/datos.php';
$smarty->assign('get_users', $user->get_users());
[/code]Ahora van a user_class.php que esta en PHP/class/ y buscan:
[code]
if($data){
$query = $mysqli->query('SELECT u.u_id, u.u_nick, u.u_rank, u.u_status, u.u_points_ava, u.u_update_points, u.u_last_avatar, s.*, ac.u_options FROM users AS u LEFT JOIN users_stats AS s ON u.u_id = s.u_id LEFT JOIN users_accounts AS ac ON ac.u_id = u.u_id WHERE u.u_id = \''.$data['s_user'].'\' LIMIT 1');
[/code]lo remplazan por:
[code]
if($data){
$query = $mysqli->query('SELECT u.u_id, u.u_chat, u.u_nick, u.u_rank, u.u_status, u.u_points_ava, u.u_update_points, u.u_last_avatar, s.*, ac.u_options FROM users AS u LEFT JOIN users_stats AS s ON u.u_id = s.u_id LEFT JOIN users_accounts AS ac ON ac.u_id = u.u_id WHERE u.u_id = \''.$data['s_user'].'\' LIMIT 1');
[/code]Mas abajo buscan:
[code]
$this->nick = $data['u_nick'];
[/code]Y abajo agregan:
[code]
$this->chat = $data['u_chat'];
[/code]En el mismo archivo buscan:
[code]
// SQL PRINCIPAL
$query = $mysqli->query('SELECT u.u_id, u.u_nick, u.u_last_avatar, u.u_country, u.u_last_active, u.u_date, u.u_sex, s.u_posts, s.u_points, ac.u_bio, r.r_image, r.r_name FROM users AS u LEFT JOIN users_stats AS s ON s.u_id = u.u_id LEFT JOIN users_accounts AS ac ON ac.u_id = u.u_id LEFT JOIN users_ranks AS r ON r.r_id = u.u_rank WHERE u.u_status = \'1\' '.$order.' LIMIT '.$start.', '.$limit) or die($mysqli->error);
[/code]y lo remplazan por:
[code]
// SQL PRINCIPAL
$query = $mysqli->query('SELECT u.u_id, u.u_chat, u.u_nick, u.u_last_avatar, u.u_country, u.u_last_active, u.u_date, u.u_sex, s.u_posts, s.u_points, ac.u_bio, r.r_image, r.r_name FROM users AS u LEFT JOIN users_stats AS s ON s.u_id = u.u_id LEFT JOIN users_accounts AS ac ON ac.u_id = u.u_id LEFT JOIN users_ranks AS r ON r.r_id = u.u_rank WHERE u.u_status = \'1\' '.$order.' LIMIT '.$start.', '.$limit) or die($mysqli->error);
[/code]Ahora van a account_class que esta en PHP/class y buscan:
[code]
$u_sex = intval($_POST['u_sex']) ? 1 : 0;
[/code]Abajo agregan:
[code]
$u_chat = secure($_POST['u_chat']);
[/code]Mas abajo buscan:
[code]
$mysqli->query('UPDATE users SET u_sex = \''.$u_sex.'\', u_country = \''.$require['country'].'\' WHERE u_id = \''.$user->uid.'\'');
return '1: SMline.NET';
break;
[/code]y lo remplazan por:
[code]
$mysqli->query('UPDATE users SET u_chat = \''.$u_chat.'\', u_sex = \''.$u_sex.'\', u_country = \''.$require['country'].'\' WHERE u_id = \''.$user->uid.'\'');
return '1: SMline.NET';
break;
[/code]Ahora van al archivo main.tpl que esta en themes/TUTEMA/Templates/i_account y buscan:
[code]
<li class="list_item">
<label for="u_sex">Sexo</label>
<select class="inp_text" name="u_sexo" id="u_sex" style="width: 262px;">
<option value="-1">Seleccionar Sexo</option>
<option value="1"{if $u_info.u_sex == 1} selected="selected"{/if}>Mujer</option>
<option value="0"{if $u_info.u_sex == 0} selected="selected"{/if}>Hombre</option>
</select>
</li>
[/code]Abajo agregan:
[code]
<li class="list_item">
<label for="u_chat">Activar chat</label>
<select class="inp_text" name="u_chat" id="u_chat" style="width: 262px;">
<option value="1"{if $u_info.u_chat == 1} selected="selected"{/if}>Conectado</option>
<option value="2"{if $u_info.u_chat == 2} selected="selected"{/if}>Desconectado</option>
</select>
<p>Desconectado: Podras ver a los usuarios conectados en el chat, pero ellos a vos no<p/>
<p>Conectado: Podras ver a los usuarios conectados en el chat y ellos a vos<p/>
</li>
[/code]Si instalaron la v2 hacen esto:
Van a themes/TUTEMA/Templates/i_profile y en el archivo sidebar.tpl buscan (y borran):
[code]
{if $user->uid}
{include file='i_profile/chat_disponible.tpl'}
{/if }
[/code]Ahora van a themes/TUTEMA/Templates/i_profile buscan el archivo chat_disponible.tpl (y lo borran) ------------ hasta aca lo de la v2----------------
Por ultimo descargan esto: Chat facebook v3.rar
Y hacen lo siguente:
La carpeta chat la suben a la raiz del host (en donde esta el .htaccess)
Remplazan el archivo chat.js que esta en themes/TUTEMA/js/
Remplazan el archivo chat.css themes/TUTEMA/css/
Remplazan el archivo chat.users.tpl themes/TUTEMA/Templates/i_home
Remplazan el archivo members.tpl themes/TUTEMA/Templates/
Remplazan el archivo chat.php que esta en la raiz del host (en donde esta el .htaccess) Importante:
No se olviden de remplazar estos datos del archivo chat.php
[code]
define ('DBPATH','localhost');
define ('DBUSER','root');
define ('DBPASS','lokura16');
define ('DBNAME','db_tot');
[/code]Localhost (Por tu sevidor mysql)
root (Por tu usuario mysql)
lokura16 (Por tu contraseña mysql)
db_tot (Por tu base de datos mysql)
Última edición por commodore128; 06-04-2015 a las 13:03:15 |