/** * Repair HTML/XML and return array * @param string $xml XML for processing * @return array|boolean Array on success, false on failure */ public static function htmlFixXmlToArray($xml) { $xmltoarray = new xmltoarray_parser_htmlfix(); //create instance of class $xmltoarray->xmlparser_setoption(XML_OPTION_SKIP_WHITE, 1); //set options same as xml_parser_set_option $xmltoarray->xmlparser_setoption(XML_OPTION_CASE_FOLDING, 0); $xmltoarray->xmlparser_fix_into_struct(base64_decode($xml)); //fixes html values for XML $array = $xmltoarray->createArray(); //creates an array with fixed html values foreach ($array as $key => $value) { $array[$key] = $xmltoarray->fix_html_entities($value); //returns proper html values } if (array_key_exists('NewDataSet', $array) && array_key_exists('Table', $array['NewDataSet'])) { $array = $array['NewDataSet']['Table']; } else { $array = false; } return $array; }
$xml1_0['prescriptionHistoryRequest']['PrescriptionArchiveStatus'] = 'N'; $user_details = sqlQuery("SELECT * FROM users WHERE id = ?", array($_SESSION['authUserID'])); $xml1_0['patientInformationRequester']['UserType'] = 'D'; $xml1_0['patientInformationRequester']['UserId'] = $user_details['id']; $xml1_0['patientIdType'] = ''; $xml1_0['includeSchema'] = ''; $xml = $client->GetPatientFullMedicationHistory6($xml1_0); $xml_response = $xml->GetPatientFullMedicationHistory6Result->XmlResponse; $xml_response_count = $xml->GetPatientFullMedicationHistory6Result->RowCount; $xml_response = base64_decode($xml_response); $xmltoarray = new xmltoarray_parser_htmlfix(); //create instance of class $xmltoarray->xmlparser_setoption(XML_OPTION_SKIP_WHITE, 1); //set options same as xml_parser_set_option $xmltoarray->xmlparser_setoption(XML_OPTION_CASE_FOLDING, 0); $xmltoarray->xmlparser_fix_into_struct($xml_response); //fixes html values for XML $array = $xmltoarray->createArray(); //creates an array with fixed html values foreach ($array as $key => $value) { $array[$key] = $xmltoarray->fix_html_entities($value); //returns proper html values } $medArray = $array['NewDataSet']['Table']; //print_r($medArray);die; sqlQuery("update prescriptions set active=0 where patient_id=? and erx_source='1'", array($patientid)); $j = 0; for ($i = 0; $i < sizeof($medArray); $i++) { $provider = sqlQuery("select id from users where username=?", array($medArray[$i]['ExternalPhysicianID'])); if ($medArray[$i]['DosageForm']) { $qin = sqlStatement("SELECT option_id FROM list_options WHERE list_id='drug_form' AND title = ?", array($medArray[$i]['DosageForm']));