Пример #1
0
 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;
 }