public static function reverseEngineerObjects(WOOOF $wo, $p_database, $p_action, $p_excludeObjectsArray = null) { echo '<h2>' . __CLASS__ . '.' . __FUNCTION__ . '</h2>'; if (!in_array($p_action, array('refresh', 'show', 'indexes', 'ascii'))) { $wo->logError(self::_ECP . "7010 Bad action param value [{$p_action}]"); return false; } $objectResults = $wo->db->query('show tables'); if ($objectResults === FALSE) { return false; } while ($object = $wo->fetchRow($objectResults)) { $name = $object[0]; if (substr($name, 0, 2) == '__') { continue; } if (is_array($p_excludeObjectsArray) && in_array($name, $p_excludeObjectsArray)) { continue; } $succ = self::reverseEngineerObject($wo, $p_database, $name, $p_action); // if ( !$succ ) { return false; } if ($succ === FALSE) { $wo->db->rollback(); $wo->logError(self::_ECP . "7020 Failed to [{$p_action}] for object [{$name}]"); } else { $wo->db->commit(); } } return true; }