Exemple #1
0
function xml_unserialize(&$xml, $isnormal = FALSE)
{
    $xml_parser = new XML($isnormal);
    $data = $xml_parser->parse($xml);
    $xml_parser->destruct();
    return $data;
}
Exemple #2
0
function XML_unserialize($xml)
{
    $xml_parser = new XML();
    $data = $xml_parser->parse($xml);
    $xml_parser->destruct();
    return $data;
}
 public static function unserialize($xml, $isnormal = false)
 {
     $xml_parser = new XML($isnormal);
     $data = $xml_parser->parse($xml);
     $xml_parser->destruct();
     return $data;
 }
Exemple #4
0
function xml_unserialize(&$xml)
{
    $xml_parser = new XML();
    $data = $xml_parser->parse($xml);
    $xml_parser->destruct();
    $arr = xml_format_array($data);
    return $arr['root'];
}
Exemple #5
0
function &XML_unserialize(&$xml)
{
    //$xml_parser = &new XML();
    $xml_parser = new XML();
    $data =& $xml_parser->parse($xml);
    $xml_parser->destruct();
    return $data;
}
 function leer($oc)
 {
     session_start();
     //$xml_file="./demo.xml";
     $xml_file = "./OC/Orden_" . $oc . ".xml";
     #$xml_data=implode("",file($xml_file)); //get XML data for alternative direct parsing
     $xml = new XML();
     $xml->file_read($xml_file);
     #$xml->parse($xml_data); //parse direct XML data
     $xml->parse();
     #$xml->debug();
     //Samples...
     //echo $xml->demo->tag1->_param["say"];
     //echo $xml->demo->tag4->item[1]->_value;
     $_SESSION["numoc"] = $oc;
     $fecha = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderDates->PromiseDate->_value;
     $fechaoc = explode("T", $fecha);
     $_SESSION["fechaoc"] = $fechaoc[0];
     $_SESSION["depto"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->BuyerParty->NameAddress->Name1->_value;
     $rut = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->PartyID->Ident->_value;
     $r = explode(".", $rut);
     $rut2 = $r[0] . $r[1] . $r[2];
     $r2 = explode("-", $rut2);
     $_SESSION["rutp1"] = $r2[0];
     $_SESSION["rutp2"] = $r2[1];
     $_SESSION["namep"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->NameAddress->Name1->_value;
     $_SESSION["direccionp"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->NameAddress->District->_value;
     $_SESSION["ciudadp"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->NameAddress->City->_value;
     $_SESSION["contactop"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->PrimaryContact->ContactName->_value;
     $_SESSION["telefonop"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->SellerParty->PrimaryContact->ListOfContactNumber->ContactNumber[1]->ContactNumberValue->_value;
     $_SESSION["solicitante"] = $xml->OrdersResults->OrdersList->Order->OrderHeader->OrderParty->BuyerParty->PrimaryContact->ContactName->_value;
     $_SESSION["Total"] = $xml->OrdersResults->OrdersList->Order->OrderSummary->OrderTotal->MonetaryAmount->_value;
     $_SESSION["neto"] = $xml->OrdersResults->OrdersList->Order->OrderSummary->OrderSubTotal->MonetaryAmount->_value;
     $size = $xml->OrdersResults->OrdersList->Order->OrderSummary->NumberOfLines->_value;
     $_SESSION["size"] = $size;
     $list = array();
     if ($size == 1) {
         $name = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail->BaseItemDetail->ItemIdentifiers->ItemDescription->_value;
         $cantidad = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail->BaseItemDetail->TotalQuantity->QuantityValue->_value;
         $preciou = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail->PricingDetail->ListOfPrice->Price->UnitPrice->UnitPriceValue->_value;
         $preciot = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail->PricingDetail->LineItemTotal->MonetaryAmount->_value;
         $list[0] = array($name, $cantidad, $preciou, $preciot);
     } else {
         for ($i = 0; $i < $size; $i++) {
             $name = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail[$i]->BaseItemDetail->ItemIdentifiers->ItemDescription->_value;
             $cantidad = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail[$i]->BaseItemDetail->TotalQuantity->QuantityValue->_value;
             $preciou = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail[$i]->PricingDetail->ListOfPrice->Price->UnitPrice->UnitPriceValue->_value;
             $preciot = $xml->OrdersResults->OrdersList->Order->OrderDetail->ListOfItemDetail->ItemDetail[$i]->PricingDetail->LineItemTotal->MonetaryAmount->_value;
             $list[$i] = array($name, $cantidad, $preciou, $preciot);
         }
     }
     $_SESSION["list"] = $list;
     /*echo "<hr />";
     foreach($xml->demo->tag2->text as $key=>$value){
     	echo "$key = $value->_value<br />";
     }*/
 }
Exemple #7
0
    /**
     * @covers jarekkozak\kie\XML::parse
     */
    public function testParse()
    {
        $a = '<execution-results>
  <result identifier="response">
    <query-results>
      <identifiers>
        <identifier>r</identifier>
      </identifiers>
      <row>
        <trimetis.heartbeat.Response>
          <output>HeartBeat</output>
          <responseDate>2015-06-01 20:07:01.111 UTC</responseDate>
        </trimetis.heartbeat.Response>
        <fact-handle external-form="0:2:1059301429:1059301429:2:DEFAULT:NON_TRAIT"/>
      </row>
      <row>
        <trimetis.heartbeat.Response>
          <output>I&apos;m alive</output>
          <responseDate>2015-06-01 20:07:01.463 UTC</responseDate>
        </trimetis.heartbeat.Response>
        <fact-handle external-form="0:3:1039683573:1039683573:3:DEFAULT:NON_TRAIT"/>
      </row>
    </query-results>
  </result>
  <result identifier="hb_request">
    <trimetis.heartbeat.Request>
      <message>HeartBeat</message>
      <time reference="../../../result/query-results/row/trimetis.heartbeat.Response/responseDate"/>
      <start>2015-06-01 20:07:01.0 UTC</start>
    </trimetis.heartbeat.Request>
  </result>
  <fact-handle identifier="hb_request" external-form="0:1:1126511283:1126511283:1:DEFAULT:NON_TRAIT"/>
</execution-results>';
        $expected = json_decode(json_encode((array) simplexml_load_string($a)), TRUE);
        self::assertTrue(isset($expected['result'][1]['trimetis.heartbeat.Request']['time']['@attributes']['reference']));
        self::assertEquals("../../../result/query-results/row/trimetis.heartbeat.Response/responseDate", $expected['result'][1]['trimetis.heartbeat.Request']['time']['@attributes']['reference']);
        self::assertEquals(['@attributes' => ['reference' => "../../../result/query-results/row/trimetis.heartbeat.Response/responseDate"]], $expected['result'][1]['trimetis.heartbeat.Request']['time']);
        $parser = new XML();
        $result = $parser->parse($a);
        self::assertFalse(isset($result['result'][1]['trimetis.heartbeat.Request']['time']['@attributes']['reference']));
        self::assertEquals("2015-06-01 20:07:01.111 UTC", $result['result'][1]['trimetis.heartbeat.Request']['time']);
        //"../../../result/query-results/row/trimetis.heartbeat.Response/responseDate"
        //$result[1]['trimetis.heartbeat.Request']['time']
    }
Exemple #8
0
function &XML_unserialize(&$xml)
{
    $xml_parser = new XML();
    $data = $xml_parser->parse(&$xml);
    $xml_parser->destruct();
    $refdata =& $data;
    return $refdata;
}
 /**
  * Gets rule execution results
  * @return boolean
  */
 public function getResults()
 {
     if (!$this->response->isSuccess()) {
         return FALSE;
     }
     $data = $this->response->getData()['results'];
     \Yii::trace("KieContainer get result: {$data}", __METHOD__);
     $parser = new XML();
     return $parser->parse($data);
 }
Exemple #10
0
        exit;
    } else {
        S::gp(array('ymail'), 'P');
        if (!$ymail || !preg_match('/^[a-zA-Z][a-zA-Z0-9_]{3,31}\\@(yahoo\\.com\\.cn|yahoo\\.cn)$/', $ymail)) {
            adminmsg('ystat_ymail_format');
        }
        L::loadClass('xml', 'utility', false);
        $xml = new XML();
        $xml->setEncode('UTF-8');
        $response = PostHost($ystatsUrl . '/reg.html?type=3&key=' . $db_ystats_key . '&unit_id=' . $db_ystats_unit_id . '&ymail=' . $ymail);
        $response && ($response = chunkdecode($response));
        $xml->setXMLData($response);
        if (!$xml->isXMLFile()) {
            adminmsg('ystat_xmldata_error');
        }
        $xml->parse();
        $ystats = array();
        $result = XML::getChild($xml->getXMLRoot());
        foreach ($result as $tag) {
            $tagname = XML::getTagName($tag);
            $ystats[$tagname] = XML::getData($tag);
        }
        if ($ystats['status'] != '0') {
            adminmsg($ystats['info']);
        }
        setConfig('db_ystats_ymail', $ymail);
        updatecache_c();
        adminmsg('operate_success');
    }
} elseif ($action == 'reactivate') {
    $db->update("UPDATE pw_config SET db_value='',vtype='string' WHERE db_name IN('db_ystats_ymail','db_ystats_ifopen','db_ystats_style','db_ystats_unit_id','db_ystats_key')");
Exemple #11
0
 /**
  * 检验消息的真实性,并且获取解密后的明文.
  * <ol>
  *    <li>利用收到的密文生成安全签名,进行签名验证</li>
  *    <li>若验证通过,则提取xml中的加密消息</li>
  *    <li>对消息进行解密</li>
  * </ol>
  *
  * @param string $msgSignature  签名串,对应URL参数的msg_signature
  * @param string $timestamp     时间戳 对应URL参数的timestamp
  * @param string $nonce         随机串,对应URL参数的nonce
  * @param string $postXML       密文,对应POST请求的数据
  * @param string &$msg          解密后的原文,当return返回0时有效
  *
  * @return array
  */
 public function decryptMsg($msgSignature, $nonce, $timestamp, $postXML)
 {
     //提取密文
     $array = XML::parse($postXML);
     if (empty($array)) {
         throw new Exception('Invalid xml.', self::ERROR_PARSE_XML);
     }
     $encrypted = $array['Encrypt'];
     //验证安全签名
     $signature = $this->getSHA1(Wechat::getOption('token'), $timestamp, $nonce, $encrypted);
     if ($signature != $msgSignature) {
         throw new Exception('Invalid Signature.', self::ERROR_INVALID_SIGNATURE);
     }
     return XML::parse($this->decrypt($encrypted, Wechat::getOption('appId')));
 }