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.