示例#1
0
             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;
}