HSSWebs   13 Jan, 2013, 11:28 am
#1
Estaba viendo este plugin https://github.com/euantor/User-Info-Anywhere
Se que no es creación mía, pero lo quiero usar & adaptar a mis gustos.

Pero tengo un problema, es que al momento de obtener el usuario no funciona..

Dejo la parte del código donde este obtiene el usuario:

$plugins->add_hook('xmlhttp', 'userInfoAnywhere_xmlhttp');
function userInfoAnywhere_xmlhttp()
{
	global $mybb;

	if ($mybb->input['action'] == 'hovercard' AND $mybb->input['user'])
	{
		global $db, $templates, $lang;

		if (!$lang->userInfoAnywhere)
		{
			$lang->load('userInfoAnywhere');
		}

		$user = get_user((int) $mybb->input['user']);

		$hovercard = array(
			'uid'			=>	$user['uid'],
			'username'		=>	$user['username'],
			'profileLink'	=>	get_profile_link((int) $user['uid']),
			'avatar'		=>	$user['avatar'],
			'posts'			=>	$user['postnum'],
			'registered'	=>	$user['regdate'],
			'online_status'	=>	'online',
			);

		eval("\$hovercardOutput .= \"".$templates->get('userInfoAnywhere_hovercard')."\";");
		echo $hovercardOutput;
	}
}

Pero en esta parte esta fallando algo:

$user = get_user((int) $mybb->input['user']);
..

Les dejo también el código del JS que usa:

Event.observe(window, 'load', function() {
	var uid = 0;
	var hovercardCache = new Object;
	$$('a[href*="member.php?action=profile"]').each(function(elem) {
		Event.observe(elem, 'mouseover', function() {
			uid = elem.getAttribute('href');
			uid = uid.substr(54);

			if (!hovercardCache[uid])
			{
				new Ajax.Request('xmlhttp.php?action=hovercard',
				{
					method: 'get',
					parameters: { user: uid },
					onSuccess: function(transport) {
						hovercardCache[uid] = transport.responseText;

						$$('body')[0].insert({
							bottom: hovercardCache[uid]
						});
					}
				});
			}
			else
			{
				$$('body')[0].insert({
					bottom: hovercardCache[uid]
				});
			}

			Element.clonePosition($('hovercard-user-' + uid), elem, {
				setWidth: false,
				setHeight: false,
				offSetLeft: '10'
			})

			console.log(hovercardCache);
		});
	});
});

Muestra todo, menos los datos de usuario..

De antemano, gracias.
Omar G.   13 Jan, 2013, 11:52 am
#2
¿Usas Google SEO? Yo escribi algo similar y en mi opinion es mejor editar el functions.php en lugar de intentar adivinar la url como lo hace este plugin.
    $$('a[href*="member.php?action=profile"]').each(function(elem) {
        Event.observe(elem, 'mouseover', function() {
            uid = elem.getAttribute('href');
            uid = uid.substr(54);
Última modificación: 13 Jan, 2013, 11:52 am por nicods_20055.

Envía un DM o MP si te interesa patrocinar alguna actualización o complemento a alguno de mis plugins.

[Imagen: signature.png]

Discord omar.gonzalez (Omar G.#6117); Telegram at @omarugc;
HSSWebs   13 Jan, 2013, 3:35 pm
#3
No, no uso Google SEO, bueno en este caso no.
Por eso lo deje de igual manera, solo que no toma los ID de lo usuarios.

Como lo podría hacer en este caso?
Omar G.   13 Jan, 2013, 5:34 pm
#4
Si no usas Google SEO no tengo idea, alguna vez ha funcionado el plugin?

Envía un DM o MP si te interesa patrocinar alguna actualización o complemento a alguno de mis plugins.

[Imagen: signature.png]

Discord omar.gonzalez (Omar G.#6117); Telegram at @omarugc;
HSSWebs   13 Jan, 2013, 5:39 pm
#5
Si funciona, pero no me toma el ID con el cual se supone que obtiene los datos de usuario.

Como sería en el caso de usar Google SEO?
Omar G.   13 Jan, 2013, 7:38 pm
#6
En caso de usar Google SEO tendría sentido que fallara (por eso fue mi primera pregunta), puesto que no es así no tengo idea el por que falla.

Cual es el valor de href de la tarjeta que falla? Me refiero en el código fuente:
<strong><span class="largetext"><a href="ESTO"><span style="color: #805e91;"><strong>Steeep</strong></span></a></span></strong>
Última modificación: 13 Jan, 2013, 7:39 pm por nicods_20055.

Envía un DM o MP si te interesa patrocinar alguna actualización o complemento a alguno de mis plugins.

[Imagen: signature.png]

Discord omar.gonzalez (Omar G.#6117); Telegram at @omarugc;
HSSWebs   13 Jan, 2013, 8:05 pm
#7
Última modificación: 13 Jan, 2013, 8:07 pm por V1K1NGO.
Omar G.   13 Jan, 2013, 8:54 pm
#8
Intenta cambiar 54 por 24, 24 + "http://example.com/", o un numero, creo que ese 54 es el problema.

No se de JS pero me parece que esta cortando la url para obtener el UID.
http://example.com/member.php?action=profile&amp;uid=1

Envía un DM o MP si te interesa patrocinar alguna actualización o complemento a alguno de mis plugins.

[Imagen: signature.png]

Discord omar.gonzalez (Omar G.#6117); Telegram at @omarugc;
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.