////spl_autoload_register( array( 'autoloadHelper', 'autoload' ) ); $cli = eZCLI::instance(); $script = eZScript::instance(array('description' => "Generate FK definition from eZPersistentObjects", 'use-session' => false, 'use-modules' => true, 'use-extensions' => true)); $script->startup(); $options = $script->getOptions('[schemaformat:][extensions]', '[schemafile]', array('schemafile' => 'Name of file with db schema checks to create', 'schemaformat' => 'Format of db schema checks definition file (ini by default)', 'extensions' => 'Also parse classes from extensions')); $script->initialize(); $parser = new ezdbiPersistentObjectFormat(); $checks = new ezdbiSchemaChecks(); $cli->output('Checking classes from kernel autoloads...'); $classes = (include 'autoload/ezp_kernel.php'); ksort($classes); foreach ($classes as $class => $file) { if (is_subclass_of($class, 'eZPersistentObject')) { $classChecks = $parser->parseFile($class); $cli->output("Class: {$class}, found " . count($classChecks->getForeignKeys()) . " keys"); $checks->merge($classChecks); } } if ($options['extensions']) { $cli->output('Checking classes from extension autoloads...'); $classes = (include 'var/autoload/ezp_extension.php'); ksort($classes); foreach ($classes as $class => $file) { if (is_subclass_of($class, 'eZPersistentObject')) { $classChecks = $parser->parseFile($class); $cli->output("Class: {$class}, found " . count($classChecks->getForeignKeys()) . " keys"); $checks->merge($classChecks); } } } if (!count($options['arguments'])) {