AddTrace("\t[" . $objectName . "]"); if (!TestRelationsPreRequisites($instance, $objectNameList, $objectName, $ignoreObjects)) { $errors++; } if ($objectCount != sizeof($objects)) { AddTrace("\t***"); } } $objectCount++; } } if ($errors == 0 && isset($_POST['pog_test']) && $_POST['pog_test'] == 'yes') { AddTrace("\nPOG Relations"); $objectCount = 1; foreach ($objects as $object) { $objectName = GetObjectName("../objects/" . $object); if (isset($objectName) && array_search($objectName, $ignoreObjects) === false) { eval('$instance = new ' . $objectName . '();'); AddTrace("\t[" . $objectName . "]"); if (!TestRelations($instance, $objectNameList, $ignoreObjects)) { $errors++; AddError("Object {$objectName} failed relations tests"); } if ($objectCount != sizeof($objects)) { AddTrace("\t***"); } } $objectCount++; } } if ($errors == 0) {
/** * Creates the table to store objects * */ function TestCreateStorage($objectFilePath, $databaseType = "mysql") { if ($databaseType == "firebird") { AddError("POG Setup doesn't support automatic table creation for Firebird databases yet. Therefore, your objects/tables may be misaligned. If POG Essential tests failed, this may very well be the case. Create the tables manually and re-run setup."); return true; } $objectName = GetObjectName($objectFilePath); //extract sql $content = file_get_contents($objectFilePath); $contentParts = split("<b>", $content); if (isset($contentParts[1])) { $contentParts2 = split("</b>", $contentParts[1]); } if (isset($contentParts2[0])) { $className = trim($contentParts2[0]); } if (isset($className)) { $sqlParts = split(";", $contentParts[0]); $sqlPart = split("CREATE", $sqlParts[0]); $sql = "CREATE " . $sqlPart[1] . ";"; //execute sql $connection = Database::Connect(); if (Database::NonQuery($sql, $connection) !== false) { return true; } } AddError("Query failed: {$sql}"); return false; }