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:
	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:
	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:
	$plugins->run_hooks('myalerts_alerts_output_end', $alert);

Agreguen antes:
	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:
	$possible_settings = array(
		'rep',
		'pm',
		'buddylist',
		'quoted',
		'post_threadauthor',
		);
Agreguen despues:
$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.
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.
Omar G.
Ú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:
$alert['message'] = $lang->sprintf('{1} added you to their buddy list. ({2})', htmlspecialchars_uni($user));

Dberia ser:
$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
Omar G.
Última modificación: 23 Dec, 2012, 8:17 pm por nicods_20055.
Lo he dejado como

$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
:)
Deberias de usar get_profile_link($mybb->user['uid']) .
Omar G.
Colaboradores
Xpress patrickvp Omar G. InfraWorld hrss Darklium DarkFinder Cluster angeluz
This forum uses Lukasz Tkacz MyBB addons.