function getFullSpot($msgId) { # initialize some variables $spotSigning = new SpotSigning($this->_use_openssl); $spotParser = new SpotParser(); $spot = array('fullxml' => '', 'user-signature' => '', 'user-key' => '', 'verified' => false, 'messageid' => $msgId, 'userid' => '', 'xml-signature' => '', 'moderated' => 0); # Vraag de volledige article header van de spot op $header = $this->getHeader('<' . $msgId . '>'); # Parse de header foreach ($header as $str) { $keys = explode(':', $str); switch ($keys[0]) { case 'X-XML': $spot['fullxml'] .= substr($str, 7); break; case 'X-User-Signature': $spot['user-signature'] = $spotParser->unspecialString(substr($str, 18)); break; case 'X-XML-Signature': $spot['xml-signature'] = substr($str, 17); break; case 'X-User-Key': $xml = simplexml_load_string(substr($str, 12)); if ($xml !== false) { $spot['user-key']['exponent'] = (string) $xml->Exponent; $spot['user-key']['modulo'] = (string) $xml->Modulus; } # if break; # x-user-key } # switch } # foreach # Valideer de signature van de XML, deze is gesigned door de user zelf $spot['verified'] = $spotSigning->verifyFullSpot($spot); # als de spot verified is, toon dan de userid van deze user if ($spot['verified']) { $spot['userid'] = $spotSigning->calculateUserid($spot['user-key']['modulo']); } # if # Parse nu de XML file, alles wat al gedefinieerd is eerder wordt niet overschreven $spot = array_merge($spotParser->parseFull($spot['fullxml']), $spot); return $spot; }
function getFullSpot($msgId) { # initialize some variables $spotSigning = new SpotSigning(); $spot = array('fullxml' => '', 'user-signature' => '', 'user-key' => '', 'verified' => false, 'messageid' => $msgId, 'userid' => '', 'xml-signature' => '', 'moderated' => 0); # Vraag de volledige article header van de spot op $header = $this->getHeader('<' . $msgId . '>'); # Parse de header $spot = array_merge($spot, $this->parseHeader($header, $spot)); # Valideer de signature van de XML, deze is gesigned door de user zelf $spot['verified'] = $spotSigning->verifyFullSpot($spot); # als de spot verified is, toon dan de userid van deze user if ($spot['verified']) { $spot['userid'] = $spotSigning->calculateUserid($spot['user-key']['modulo']); } # if # Parse nu de XML file, alles wat al gedefinieerd is eerder wordt niet overschreven $spot = array_merge($this->_spotParser->parseFull($spot['fullxml']), $spot); return $spot; }