Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/mybb-es.com/html/inc/plugins/avatarep.php on line 1102

Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/mybb-es.com/html/inc/class_language.php on line 201
Integrar Myalerts y Profile commets
Páginas (3): 1 2 3   
Juliens   22 Dec, 2012, 8:12 am
#1
Pues estaba intentando integrar los dos plugins pero no pude :/ quiero recibir las notificaciones de nuevos comentarios utilizando ese sistema, para evitar tener la barrita y centralizar las notificaciones en un solo lugar.

Espero que se pueda hacer, se los agradecería mucho.
Cluster   22 Dec, 2012, 8:54 pm
#2
Tambien lo intente y no lo logre, estoy a la espera de algún valiente xd

:)
Juliens   23 Dec, 2012, 7:09 am
#3
El valiente podría ser Sama o Edson xd que son los que mejor programan por acá xD
Omar G.   23 Dec, 2012, 12:38 pm
#4
Abran ./inc/plugins/profilecomments.php y busquen:
Código PHP:
<?php 
public function comment_new($uid, $who, $text)
{
global
$mybb, $db;

$data = array(
'user' => $uid,
'sender' => $who,
'text' => $db->escape_string($text),
'date' => time()
);

$db->insert_query('profilecomments', $data);

return
TRUE;
}

Cambien por:
Código PHP:
<?php 
public function comment_new($uid, $who, $text)
{
global
$mybb, $db, $Alerts;

$data = array(
'user' => $uid,
'sender' => $who,
'text' => $db->escape_string($text),
'date' => time()
);

$cid = $db->insert_query('profilecomments', $data);

if(!empty(
$Alerts) && is_object($Alerts))
{
$Alerts->addAlert($uid, 'profile_comment', $cid, $who);
}
return
TRUE;
}

Abran ./inc/plugins/myalerts.php y busquen:
Código PHP:
<?php 
$plugins
->run_hooks('myalerts_alerts_output_end', $alert);

Agreguen antes:
Código PHP:
<?php 
elseif ($alert['alert_type'] == 'profile_comment')
{
$alert['threadLink'] = $mybb->settings['bburl'].'/'.get_profile_link($mybb->user['uid']);
$alert['message'] = 'You have a new profile comment.';
if(
$user = get_user($alert['from_id']))
{
$alert['message'] = $lang->sprintf('You have a new profile comment from {1}.', htmlspecialchars_uni($user['username']));
}
$alert['rowType'] = 'postAlert';
}

Busquen en el mismo archivo:
Código PHP:
<?php 
$possible_settings
= array(
'rep',
'pm',
'buddylist',
'quoted',
'post_threadauthor',
);
Agreguen despues:
Código PHP:
<?php 
$possible_settings
[] = 'profile_comment';

Ahora, si les importa actualizar usuario y no tienen muchos, peguen esto al final de global.php y entren a su index como administradores.
Código PHP:
<?php 
if($mybb->usergroup['cancp'])
{
$query = $db->simple_select('users', 'uid, myalerts_settings', 'myalerts_settings!=\'\'');
while(
$user = $db->fetch_array($query))
{
$settings = json_decode($possible_settings, true);
$settings['profile_comment'] = 1;
$settings = json_encode($settings);
$db->update_query('users', array('myalerts_settings' => $db->escape_string($settings)), 'uid=\''.(int)$user['uid'].'\'');
}
}

Esto ultimo no tengo idea de si funciona, igual podrian decirle a sus usuarios que actualizen sus opciones y desactivar las notificaciones del ProfileComments por ocmpleto para presionarlos rapido.
Última modificación: 23 Dec, 2012, 8:12 pm por nicods_20055.

{SIGNATURE_IMAGE}
Cluster   23 Dec, 2012, 3:15 pm
#5
funciono bien, no logre poner el nombre de usuario en "X te ha dejado un mensaje en tu perfil" pero el resto funciono perfecto

:)
Juliens   23 Dec, 2012, 5:18 pm
#6
Realicé todos los cambios que me dices pero no encuentro la forma de activar la alerta para el profile commets ¿Podrías pasarme un archivo editado del myalerts porfavor?
Cluster   23 Dec, 2012, 7:18 pm
#7
El último paso se supone que para eso es, haces el cambio unos segundos, es como ejecutar la SQL query pero con solo entrar al index, ya que entres y cargue el foro, reviertes los cambios en tu global.php y listo

:)
Omar G.   23 Dec, 2012, 8:17 pm
#8
El tercer y penúltimo paso, el código se repite dos veces, por lo tanto es necesario hacerlo dos veces.

@Juliens, no hay archivos editados, todo lo hice así, basándome en un mensaje de MyBB.

@Cluster, para el nombre de usuario hay un problema, el código:
Código PHP:
<?php 
$alert
['message'] = $lang->sprintf('{1} added you to their buddy list. ({2})', htmlspecialchars_uni($user));

Dberia ser:
Código PHP:
<?php 
$alert
['message'] = $lang->sprintf('You have a new profile comment from {1}.', htmlspecialchars_uni($user['username']));

El mensaje que dices no lo veo aquí o.o
Última modificación: 23 Dec, 2012, 8:17 pm por nicods_20055.
Cluster   23 Dec, 2012, 8:27 pm
#9
Lo he dejado como

Código PHP:
<?php 
$alert
['message'] = $lang->sprintf('El usuario <strong>{1}</strong> te ha dejado un comentario en <a href="/member.php?action=profile" title="Leer el comentario">tu perfil</a>.', $alert['user']);
y ha quedado perfecto Wink

:)
Omar G.   23 Dec, 2012, 11:04 pm
#10
Deberias de usar get_profile_link($mybb->user['uid']) .
Páginas (3): 1 2 3   
  
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.