Integrar Myalerts y Profile commets
Pues estaba intentando integrar los dos plugins pero no pude :/ quiero recibir las notificaciones de nuevos comentarios utilizando ese sistema, para ...

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.
Equipo de Desarrollo de Skylium Network




Tambien lo intente y no lo logre, estoy a la espera de algún valiente xd
:)
Abran ./inc/plugins/profilecomments.php y busquen:
Código 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:
    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:
    $plugins->run_hooks('myalerts_alerts_output_end'$alert); 

Agreguen antes:
Código 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:
    $possible_settings = array(
        
'rep',
        
'pm',
        
'buddylist',
        
'quoted',
        
'post_threadauthor',
        ); 
Agreguen despues:
Código 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:
if($mybb->usergroup['cancp'])
{
    
$query $db->simple_select('users''uid, myalerts_settings''myalerts_settings!=\'\'');
    while(
$user $db->fetch_array($query))
    {
        
$settings json_decode($possible_settingstrue);
        
$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.
{SIGNATURE_IMAGE}
Última modificación: 23 Dec, 2012, 8:12 pm por nicods_20055.
funciono bien, no logre poner el nombre de usuario en "X te ha dejado un mensaje en tu perfil" pero el resto funciono perfecto
:)
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
:)
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:
$alert['message'] = $lang->sprintf('{1} added you to their buddy list. ({2})'htmlspecialchars_uni($user)); 

Dberia ser:
Código 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
{SIGNATURE_IMAGE}
Última modificación: 23 Dec, 2012, 8:17 pm por nicods_20055.
Lo he dejado como

Código 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
:)