當前位置: 首頁>>代碼示例>>PHP>>正文


PHP I2CE::RaiseError方法代碼示例

本文整理匯總了PHP中I2CE::RaiseError方法的典型用法代碼示例。如果您正苦於以下問題:PHP I2CE::RaiseError方法的具體用法?PHP I2CE::RaiseError怎麽用?PHP I2CE::RaiseError使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在I2CE的用法示例。


在下文中一共展示了I2CE::RaiseError方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: process_transform

 protected function process_transform($form, $endpoint, $transform, $message, $as_string)
 {
     if (is_string($message)) {
         $document = new DOMDocument();
         $document->loadXML($message);
     } else {
         if ($message instanceof DOMDocument) {
             $document = $message;
         } else {
             if ($message instanceof DOMNode) {
                 $document = $message->ownerDocument;
             } else {
                 I2CE::raiseError("Invalid object sent to transformer");
                 return false;
             }
         }
     }
     if (!$document instanceof DOMDocument) {
         I2CE::RaiseError("Could not load message as XML Doc");
         return false;
     }
     if (array_key_exists($endpoint, $this->services[$form]) && is_array($this->services[$form][$endpoint]) && array_key_exists('transforms', $this->services[$form][$endpoint]) && is_array($this->services[$form][$endpoint]['transforms'])) {
         $transforms = $this->services[$form][$endpoint]['transforms'];
     } else {
         $transforms = array();
     }
     $error_on_src_file = true;
     if (array_key_exists($transform, $transforms) && is_string($transforms[$transform])) {
         $transform_src = $transforms[$transform];
     } else {
         $transform_src = '@' . $form . DIRECTORY_SEPARATOR . $endpoint . '_' . $transform . '.xsl';
         $error_on_src_file = false;
     }
     if ($transform_src == '0') {
         //no outgoing message
         return '';
     }
     if ($transform_src[0] == '@') {
         //it's a file.  search for it.
         $file = substr($transform_src, 1);
         if (!($transform_file = I2CE::getFileSearch()->search('XSLTS', $file)) || !($transform_src = file_get_contents($transform_file))) {
             if ($error_on_src_file) {
                 I2CE::raiseError("Invalid transform file at {$file} => {$transform_file}\n" . print_r(I2CE::getFileSearch()->getSearchPath('XSLTS'), true));
                 return false;
             } else {
                 $transform_src = false;
             }
         }
     }
     if (!$transform_src) {
         if ($as_string) {
             return $document->saveXML();
         } else {
             return $document;
         }
     }
     //try to do the transofmr
     $proc = new XSLTProcessor();
     $xslDoc = new DOMDocument();
     if (!$xslDoc->loadXML($transform_src)) {
         I2CE::raiseError("Invalid XSLT document form {$form}/{$endpoint}/{$transform}");
         $errors = libxml_get_errors();
         foreach ($errors as $error) {
             echo display_xml_error($error, $xml);
         }
         return false;
     }
     if (!@$proc->importStylesheet($xslDoc)) {
         I2CE::raiseError("Could not import style sheet");
         return false;
     }
     if (($out = @$proc->transformToXML($document)) === false) {
         I2CE::raiseError("Could not transform accoring to xsl");
         return false;
     }
     I2CE::raiseError("Transformed to:\n{$out}");
     if ($as_string) {
         return $out;
     } else {
         $out_doc = new DOMDocument();
         if (!$out || !$out_doc->loadXML($out)) {
             return false;
         }
         return $out_doc;
     }
 }
開發者ID:apelon-ohie,項目名稱:ihris-site,代碼行數:86,代碼來源:I2CE_FormStorage_XMLDB.php


注:本文中的I2CE::RaiseError方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。