* * @version 1.0 * @date 20 October 2010 * * Copyright (C)2010 MOVIM project * * See COPYING for licensing information. */ class Friends extends Widget { function WidgetLoad() { $this->addcss('friends.css'); $this->addjs('friends.js'); $this->registerEvent('vcardreceived', 'onVcardReceived'); $this->registerEvent('rosterreceived', 'onRosterReceived'); $this->registerEvent('incomeonline', 'onIncomingOnline'); $this->registerEvent('incomeoffline', 'onIncomingOffline'); $this->registerEvent('incomednd', 'onIncomingDND'); $this->registerEvent('incomeaway', 'onIncomingAway'); } function onVcardReceived($vcard) { $img = '' . t('; MovimRPC::call('movim_fill', 'avatar', MovimRPC::cdata($img)); } function onRosterReceived($roster) { $html = ""; MovimRPC::call('movim_fill', 'tinylist', MovimRPC::cdata($html)); } function onIncomingOnline($data) { list($jid, $place) = explode("/",$data['from']); MovimRPC::call('incomingOnline', MovimRPC::cdata($jid)); } function onIncomingOffline($data) { list($jid, $place) = explode("/",$data['from']); MovimRPC::call('incomingOffline', MovimRPC::cdata($jid)); } function onIncomingDND($data) { list($jid, $place) = explode("/",$data['from']); MovimRPC::call('incomingDND', MovimRPC::cdata($jid)); } function onIncomingAway($data) { list($jid, $place) = explode("/",$data['from']); MovimRPC::call('incomingAway', MovimRPC::cdata($jid)); } function ajaxRefreshVcard() { $user = new User(); $xmpp = XMPPConnect::getInstance($user->getLogin()); $xmpp->getVCard(); // We send the vCard request } function ajaxRefreshRoster() { $user = new User(); $xmpp = XMPPConnect::getInstance($user->getLogin()); $xmpp->getRosterList(); } function ajaxConfig() { MovimRPC::call('movim_fill', 'friends' , MovimRPC::cdata('configuration')); MovimRPC::commit(); } function build() { ?>