function arrayKeysSnakeToCamel($array) { foreach (array_keys($array) as $key) { $transformedKey = snakeToCamel($key); $array[$transformedKey] =& $array[$key]; unset($array[$key]); } return $array; }
/** * Loads one concrete event from its table. * */ function fetchEventRow($headerId, $table) { $db = Database::obtain(); $queryId = $db->query("SELECT * FROM {$table} WHERE header_id = '{$headerId}'"); $err = $db->get_error(); $errno = $err["error_code"]; if ($errno != 0) { log::doLog("CASMACAT: fetchEventRow(): " . print_r($err, true)); throw new Exception("CASMACAT: fetchEventRow(): " . print_r($err, true)); // return $errno * -1; } $row = $db->fetch($queryId); return snakeToCamel($row); }
// } //------------------------------------------------------------------------------------------------ //config_event $to_print = $to_print . "Configuration:\n"; $q = "SELECT h.id as id, h.job_id as job_id, h.file_id as file_id, h.element_id as element_id, h.x_path as x_path, h.time as time, h.type as type, " . "c.config" . " FROM log_event_header h, config_event c WHERE h.job_id = '{$jobId}' AND h.file_id = '{$fileId}' AND h.id = c.header_id ORDER BY h.time, h.id ASC"; $queryId = $db->query($q); $err = $db->get_error(); $errno = $err["error_code"]; if ($errno != 0) { log::doLog("CASMACAT: fetchLogChunk(): " . print_r($err, true)); throw new Exception("CASMACAT: fetchLogChunk(): " . print_r($err, true)); } $configRow = null; $configEvents = array(); while (($configRow = $db->fetch($queryId)) != false) { $configRowAsObject = snakeToCamel($configRow); //log::doLog("CASMACAT: fetchLogChunk(): Next headerRow: " . print_r($configRowAsObject, true)); $configEvent = new LogEvent($jobId, $fileId, $configRowAsObject); $configEvent->configData($configRowAsObject); //log::doLog("CASMACAT: fetchLogChunk(): configEvent: " . print_r($configEvent,true)); $configs = explode(",", $configEvent->config); foreach ($configs as $c) { $to_print = $to_print . "{$c}\n"; } //$to_print = $to_print. $configEvent->config."\n"; array_push($configEvents, $configEvent); } if (!empty($configEvents)) { //log::doLog("CASMACAT: configEvents: " . print_r($configEvents, true)); $count_config = 0; $len_config = count($configEvents);
} else { $len_biconcors = 0; } //------------------------------------------------------------------------------------------- //log_event_header $queryId = $db->query("SELECT * FROM log_event_header h WHERE h.job_id = '{$jobId}' AND h.file_id = '{$fileId}'" . " ORDER BY h.time, h.id ASC"); $err = $db->get_error(); $errno = $err["error_code"]; if ($errno != 0) { log::doLog("CASMACAT: fetchLogChunk(): " . print_r($err, true)); throw new Exception("CASMACAT: fetchLogChunk(): " . print_r($err, true)); } $headerRow = null; while (($headerRow = $db->fetch($queryId)) != false) { $found = false; $headerRowAsObject = snakeToCamel($headerRow); $logEvent = new LogEvent($jobId, $fileId, $headerRowAsObject); $writer->startElement($logEvent->type); //log::doLog("CASMACAT: Row config: " . print_r($configEvents[0],true)); if ($len_config != 0 && $headerRowAsObject->id == $configEvents[$count_config]->id) { //print $count_config."\n"; //log::doLog("CASMACAT: Row config: " . print_r($configEvents[$count_config],true)); foreach ($configEvents[$count_config] as $attribute => $val) { if ($attribute != 'jobId' && $attribute != 'fileId' && $attribute != 'type') { $writer->writeAttribute($attribute, $val); } } if ($count_config < $len_config - 1) { $count_config = $count_config + 1; } } elseif ($lenDeletes != 0 && $headerRowAsObject->id == $deleteEvents[$countDeletes]->id) {