Como hace unos días que estoy trabajando en esto (porque hablamos de esta posibilidad en el chat), tengo todo listo y probado
Aclaro que este
add-on no es sencillo y su nivel de dificultad es alto por requerir ejecutar una SQL copiar, reemplazar archivos y muchas ediciones, que si se llevan a cabo correctamente funciona muy bien.
Aqui vamos !
SQL: Ver nota 1 al pie
Código: Seleccionar todo
ALTER TABLE `phpbb_mchat` ADD `user_to` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'
Abrir:
Buscar:
Código: Seleccionar todo
$mchat_read_mode = $mchat_archive_mode = $mchat_custom_page = $mchat_no_message = false;
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
$mchat_pm_to = request_var('pm_to', 0);
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
$rows = $db->sql_fetchrowset($result);
foreach($rows as $row)
{
Despues, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
if (($row['user_to'] !=0 ) && ($user->data['user_id'] != $row['user_to'] && $user->data['user_id'] != $row['user_id']))
{
continue;
}
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
'U_VIEWPROFILE' => ($row['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) : '',
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'MCHAT_USER_ID' => ($row['user_id'] != ANONYMOUS) ? $row['user_id'] : 0,
// Add-on: PM message - END
Buscar:
Despues, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
if (($row['user_to'] !=0 ) && ($user->data['user_id'] != $row['user_to'] && $user->data['user_id'] != $row['user_id']))
{
continue;
}
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
'U_VIEWPROFILE' => ($row['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) : '',
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'MCHAT_USER_ID' => ($row['user_id'] != ANONYMOUS) ? $row['user_id'] : 0,
// Add-on: PM message - END
Buscar:
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'user_to' => $mchat_pm_to,
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
'U_VIEWPROFILE' => ($row['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) : '',
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'MCHAT_USER_ID' => ($row['user_id'] != ANONYMOUS) ? $row['user_id'] : 0,
// Add-on: PM message - END
Buscar:
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
if (($row['user_to'] !=0 ) && ($user->data['user_id'] != $row['user_to'] && $user->data['user_id'] != $row['user_id']))
{
continue;
}
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
'U_VIEWPROFILE' => ($row['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) : '',
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'MCHAT_USER_ID' => ($row['user_id'] != ANONYMOUS) ? $row['user_id'] : 0,
// Add-on: PM message - END
Buscar:
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
'L_MCHAT_PM' => addslashes('Privado'),
'MCHAT_USER_ID' => $user->data['user_id'],
// Add-on: PM message - END
Abrir: Ver nota 2 al pie
Buscar:
Despues, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
mChatPrivateMessageTo=false;
// Add-on: PM message - END
Buscar:
Código: Seleccionar todo
$jQ('#submit_button').attr('disabled','disabled');
if (mChatUserTimeout)
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
if (mChatPrivateMessageTo)
{
var re = new RegExp($jQ('#Match').val());
if ($jQ('#mChatMessage').val().match(re))
{
this.data+='&pm_to='+mChatPrivateMessageTo;
} else {
mChatPrivateMessageTo = false;
}
}
// Add-on: PM message - End
Buscar:
Código: Seleccionar todo
// Empty message input
$jQ('#mChatMessage').val('').focus();
Antes, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
mChatPrivateMessageTo=false;
// Add-on: PM message - END
Abrir: Ver nota 3 al pie
Buscar:
Despues, agregar:
Código: Seleccionar todo
// Add-on: PM message - START
var mChatPrivateMessageTo = false;
// Add-on: PM message - END
Buscar:
Antes, agregar:
Código: Seleccionar todo
<input type="hidden" name="Match" id="Match" value="#(\s)\[{L_MCHAT_PM}\]" />
Buscar: (es posible que ya tengas este cambio hecho si instalaste algún otro add-on)
Código: Seleccionar todo
<script type="text/javascript" src="{ROOT_PATH}mchat/mchat_ajax_mini.js"></script>
Reemplazar por:
Código: Seleccionar todo
<script type="text/javascript" src="{ROOT_PATH}mchat/mchat_ajax.js"></script>
Abrir:
Buscar:
Despues, agregar:
Código: Seleccionar todo
<!-- IF S_DISPLAY_PM --><a class="mChatScriptLink" href="#" onclick="insert_text('# [{L_MCHAT_PM}], ', false);mChatPrivateMessageTo={mchatrow.MCHAT_USER_ID};return false;" title="{L_MCHAT_PM}"><span style="color: {mchatrow.MCHAT_USERNAME_COLOR}"><strong>#</strong></span></a> <!-- ENDIF -->
Buscar:
Despues, agregar:
Código: Seleccionar todo
<!-- IF S_DISPLAY_PM --><a href="#" class="mChatScriptLink" onclick="insert_text('# [{L_MCHAT_PM}], ', false);mChatPrivateMessageTo={mchatrow.MCHAT_USER_ID};return false;" title="{L_MCHAT_PM}"><strong>#</strong></a> <!-- ENDIF -->
Buscar:
Despues, agregar:
Código: Seleccionar todo
<!-- IF S_DISPLAY_PM --><a href="#" class="mChatScriptLink" onclick="insert_text('# [{L_MCHAT_PM}], ', false);mChatPrivateMessageTo={mchatrow.MCHAT_USER_ID};return false;" title="{L_MCHAT_RESPOND}">#</a> <!-- ENDIF -->
NOTAS:
1)
SQL Realizar el cambio en la DB con el STK -> HERRAMIENTAS DE ADMINISTRACION -> Ejecutar consulta SQL
2) Si no tienen el archivo
raiz/mchat/mchat_ajax.js viene en el paquete original del MOD dentro de la carpeta
/mchat_new_version_1_3_5/contrib/ y se usa en casos como este, donde se hacen cambios y/o add-ons y deben copiarlo a
raiz/mchat/ para editarlo
3) Si no utilizan avatares en el mChat aplicar los mismos cambios de la plantilla
raiz/styles/prosilver/template/mchat_avatars.html en la plantilla
raiz/styles/prosilver/template/mchat_no_avatars.html