Ejemplo n.º 1
0
function putEvents($params)
{
    global $config, $db, $repository;
    $events = xmlrpc_decoder($params->getParam(0));
    foreach ($events as $event) {
        debug("PORTAL EVENT", $event);
        $progId = $event['prog_id'];
        if ($progId) {
            if ($repository->looksLikeId($progId)) {
                $prg =& $repository->getObject($progId);
            }
            if (!$prg) {
                debug("Invalid prog_id arrived in portal event", $progId);
                continue;
            }
            $nodeId = $prg->getNodeId();
            //$nodeId = $repository->getNodeId($progId);
            if ($nodeId != $config['nodeId']) {
                // event for remote object
                sotf_NodeObject::createForwardObject('event', $event, $progId, $nodeId);
                continue;
            }
        }
        $repository->processPortalEvent($event);
    }
    $retval = xmlrpc_encoder(count($events));
    return new xmlrpcresp($retval);
}