Example #1
0
 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;
 }
Example #2
0
 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;
 }