function updateDatabases($xmlPackage, $workflowId, $formData) { global $db; $db = connect($xmlPackage->getDb()); debug::message("connect to db:" . $xmlPackage->getDb() . '<br>'); $newDataItem = new coreWorkflowDataPacket($workflowId, array()); $tables = $xmlPackage->getTables(); if (sizeof($tables) > 0) { //For each table for ($tableIndex = 0; $tableIndex < sizeof($tables); $tableIndex++) { $table = $tables[$tableIndex]->getTableName(); $valsArray['workflowId'] = $workflowId; $fields = $tables[$tableIndex]->getDbFields(); //The fields specificed for ($index = 0; $index < sizeof($fields); $index++) { $field = $fields[$index]; $valsArray[$field] = addslashes($formData[$field]); } //Does this workflow item already exist in the table $sql_query = "workflowId='{$workflowId}'"; if (dbpear::numRecords($table, "{$sql_query}")) { $keyName = dbs::getprimarykey($table); $keyValue = dbpear::selAttribute($keyName, $table, $sql_query); dbs::updaterecord($table, $valsArray, $keyName, $keyValue); } else { dbs::irrecord($table, $valsArray, false); } $db = connect('iWFMS'); } $xmlParser = new XMLtoArray("jobSpecification.xml"); $xmlTree = $xmlParser->process(); //Package the xml data $xmlPackage = xmlPackage::package($xmlTree); //Display the data as HTML xmlPackage::displayItem($xmlPackage, $workflowId, 'workflow', 'Current workflow item'); //workflowDisplayHTML::html_displayXML($newDataItem); //workflowDisplayHTML::tableMainClose(); } else { workflowDisplayHTML::html_displayXML($newDataItem); workflowDisplayHTML::tableMainClose(); } }
function __testDatabaseFields($workflowIDs, $timeStamps, $xmlPackage, $valueMode) { $workflowIDsSize = sizeof($workflowIDs); for ($workflowIndex = 0; $workflowIndex < $workflowIDsSize; $workflowIndex++) { $newDataItem = new coreWorkflowDataPacket($workflowIDs[$workflowIndex], $timeStamps[$workflowIndex]); $tables = $xmlPackage->getTables(); //For each table $tableSize = sizeof($tables); for ($tableIndex = 0; $tableIndex < $tableSize; $tableIndex++) { $table = $tables[$tableIndex]->getTableName(); $fields = $tables[$tableIndex]->getDbFields(); $fieldsSize = sizeof($fields); //The fields specificed for ($index = 0; $index < $fieldsSize; $index++) { $field = $fields[$index]; $sql_query = "workflowId='{$workflowIDs[$workflowIndex]}'"; $dbvalue = dbpear::selAttribute($field, $table, "{$sql_query}"); $newDataItem->addId($field); //False may be posted from db; if ($dbvalue != 'false' && $dbvalue) { if ($valueMode) { //Store the value rather than presence $newDataItem->addValue($dbvalue); } else { $newDataItem->addValue(true); } } else { //Store the value rather than presence if ($valueMode) { $newDataItem->addValue($dbvalue); } else { $newDataItem->addValue(false); } } } } $db = connect('iWFMS'); switch ($valueMode) { case 'archive': workflowDisplayHTML::html_displayXMLArchive($newDataItem, false); break; case 'archiveView': workflowDisplayHTML::html_displayXMLArchive($newDataItem, true); break; case 'data': workflowDisplayHTML::html_displayXMLData($newDataItem); break; default: workflowDisplayHTML::html_displayXML($newDataItem); break; } $db = connect($xmlPackage->getDb()); } }