* * @version 1.0 * @date 20 October 2010 * * Copyright (C)2010 MOVIM project * * See COPYING for licensing information. */ class Profile extends WidgetBase { private static $status; function WidgetLoad() { $this->addcss('profile.css'); $this->addjs('profile.js'); $this->registerEvent('myvcard', 'onMyVcardReceived'); } function onMyVcardReceived($vcard = false) { $html = $this->prepareVcard($vcard); RPC::call('movim_fill', 'profile', RPC::cdata($html)); } function ajaxSetStatus($status) { $status = rawurldecode($status); // We update the cache with our status and presence $presence = Cache::c('presence'); Cache::c( 'presence', array( 'status' => $status, 'show' => $presence['show'], ) ); switch($presence['show']) { case 'chat': $p = new moxl\PresenceChat(); $p->setStatus($status)->request(); break; case 'away': $p = new moxl\PresenceAway(); $p->setStatus($status)->request(); break; case 'dnd': $p = new moxl\PresenceDND(); $p->setStatus($status)->request(); break; case 'xa': $p = new moxl\PresenceXA(); $p->setStatus($status)->request(); break; default : $p = new moxl\PresenceChat(); $p->setStatus($status)->request(); break; } } function prepareVcard($vcard = false) { $query = Contact::query()->select() ->where(array( 'key' => $this->user->getLogin(), 'jid' => $this->user->getLogin())); $contact = Contact::run_query($query); $presence = Cache::c('presence'); if(isset($contact[0])) { $me = $contact[0]; $html ='

'.$me->getTrueName().'

'; $html .= '

'; } else { $html .= t('No profile yet ?').'

'; $html .= ''.t("Create my vCard").'

'; } return $html; } function build() { ?>
prepareVcard(); ?>