#!/usr/bin/php []\n"; $message .= "Use \"{$argv[0]} help\" for possible commands\n"; die($message); } require_once 'mioloadmin.class.php'; if ( $argv[1] == 'configure' ) { MioloAdmin::configure(); $admin = new MioloAdmin(); if ( $argv[2] ) { $admin->setConfig('home.url', $argv[2]); } else { $admin->removeConfig('home.url'); } exit("Created initial configuration file successfully!\n"); } if ( !file_exists('../etc/miolo.conf') ) { MioloAdmin::configure(); $admin = new MioloAdmin(); $admin->removeConfig('home.url'); } else { $admin = new MioloAdmin(); } switch ($argv[1]) { case "setconfig": if ( $argc < 4 ) { $admin->error("setconfig command expects at least two arguments: [module]"); } $admin->setConfig($argv[2], $argv[3], $argv[4]); break; case "getconfig": if ( $argc < 3 ) { $admin->error("getconfig command expects at least one argument: [module]"); } echo $admin->getConfig($argv[2], $argv[3]) . "\n"; break; case "removeconfig": if ( $argc < 3 ) { $admin->error("removeconfig command expects at least one argument: [module]"); } $admin->removeConfig($argv[2], $argv[3]); break; case "createmodule": if ( $argc < 3 ) { $admin->error("createmodule command expects at least one argument: [base_module]"); } $admin->createModule($argv[2], $argv[3]); break; case "createhandler": if ( $argc != 6 ) { $admin->error("createhandler command requires four arguments: <form>"); } $file = $admin->createHandler($argv[2], $argv[3], $argv[4], $argv[5]); echo "Handler $argv[3] successfully created on $argv[2] module!\nCreated file: $file\n"; echo "\nYou can add the following line at modules/$argv[2]/handlers/main.inc.php to put a link in the main handler.\n"; echo "\$panel->addAction(_M('$argv[4]'), \$ui->getImage('example', 'forms.png'), \$module, 'main:$argv[3]');\n"; break; case "createform": if ( $argc != 5 ) { $admin->error("createform command expects three arguments: <module> <form> <title>"); } $file = $admin->createForm($argv[2], $argv[3], $argv[4]); echo "Form $argv[3] successfully created on $argv[2] module!\nCreated file: $file\n"; break; case 'createsearchform': if ( $argc < 7 ) { $admin->error("createsearchform command expects at least five arguments: <module> <form> <title> <grid> <table> [filter1 ... filterN]"); } $filters = array(); for ( $i = 7; $i < $argc; $i++ ) { $filters[] = $argv[$i]; } $file = $admin->createForm($argv[2], $argv[3], $argv[4], $argv[5], $argv[6], $filters); echo "Form $argv[3] successfully created on $argv[2] module!\nCreated file: $file\n"; break; case 'creategrid': if ( $argc < 5 ) { $admin->error("creategrid command expects at least three arguments: <module> <grid> <title> [column1 ... columnN]"); } $columns = array(); for ( $i = 5; $i < $argc; $i++ ) { $columns[] = $argv[$i]; } $file = $admin->createGrid($argv[2], $argv[3], $argv[4], $columns); echo "Grid $argv[3] successfully created on $argv[2] module!\nCreated file: $file\n"; break; case 'createbusiness': if ( $argc != 4 ) { $admin->error("createbusiness command expects two arguments: <module> <table>"); } $file = $admin->createBusiness($argv[2], $argv[3]); echo "Business $argv[3] successfully created on $argv[2] module!\nCreated file: $file\n"; break; case 'createmvc': if ( !$argv[2] ) { $admin->error("createmvc command expects one argument: <module>"); } $admin->createMVC($argv[2]); break; case 'createtheme': if ( $argc != 4 ) { $admin->error("createtheme command expects two arguments: <name> <base_theme>"); } $admin->createTheme($argv[2], $argv[3]); break; case 'start': if ( $argc != 3 ) { $admin->error("start command expects one argument: <path>"); } $admin->start($argv[2]); echo "Installation has been created on $argv[2].\n"; break; case 'translate': switch ( $argv[2] ) { case 'extract': $admin->translateExtract(); break; case 'generate': $admin->translateGenerate(); break; default: $admin->error("translate command expects a sub command: extract | generate"); } break; case 'help': switch ( $argv[2] ) { case 'configure': echo "Create an initial configuration file.\n"; echo "Usage: {$argv[0]} configure [url]\n"; break; case 'setconfig': echo "Sets the given value to the given configuration parameter of miolo.conf (or module.conf if module is given).\n"; echo "Usage: {$argv[0]} setconfig <config> <value> [module]\n"; break; case 'getconfig': echo "Gets the value of the given configuration parameter of miolo.conf (or module.conf if module is given).\n"; echo "Usage: {$argv[0]} getconfig <config> [module]\n"; break; case 'removeconfig': echo "Removes the given configuration parameter of miolo.conf (or module.conf if module is given).\n"; echo "Usage: {$argv[0]} removeconfig <config> [module]\n"; break; case 'createmodule': echo "Creates a module with the given name, creating a initial basic structure.\n"; echo "If base_module is given, it creates a new module based on the given one.\n"; echo "Usage: {$argv[0]} createmodule <module> [base_module]\n"; break; case 'createhandler': echo "Usage: {$argv[0]} createhandler <module> <handler> <title> <form>\n"; break; case 'createform': echo "Usage: {$argv[0]} createform <module> <form> <title>\n"; break; case 'createsearchform': echo "Usage: {$argv[0]} createsearchform <module> <form> <title> <grid> <table> [filter1 ... filterN]\n"; break; case 'creategrid': echo "Usage: {$argv[0]} creategrid <module> <grid> <title> [column1 ... columnN]\n"; break; case 'createbusiness': echo "Usage: {$argv[0]} createbusiness <module> <table>\n"; break; case 'createmvc': echo "Usage: {$argv[0]} createmvc <module>\n"; break; case 'createtheme': echo "Creates a new theme with the given name based on an existing one.\n"; echo "Usage: {$argv[0]} createtheme <name> <base_theme>\n"; break; case 'start': echo "Creates an independent installation for this MIOLO repository.\n"; echo "The installation will be created on <path> directory.\n"; echo "Usage: {$argv[0]} start <path>\n"; echo "Note: If you're calling miolo.php outside bin directory, don't use relative paths.\n"; break; case 'translate': echo "Translation utility:\n"; echo "\textract: extracts used strings.\n"; echo "\tgenerate: generates the translation files.\n"; echo "Usage: {$argv[0]} translate extract | generate\n"; break; default: echo "Usage: {$argv[0]} <command> [<parameters>]\n"; echo "Available commands:\n"; echo " configure\n"; echo " setconfig\n"; echo " getconfig\n"; echo " removeconfig\n"; echo " createmodule\n"; echo " createhandler\n"; echo " createform\n"; echo " createsearchform\n"; echo " creategrid\n"; echo " createbusiness\n"; echo " createmvc\n"; echo " createtheme\n"; echo " start\n"; echo " translate\n"; echo " help\n"; echo "Use \"{$argv[0]} help <command>\" for specific command help.\n"; echo "Note: If you're calling miolo.php outside bin directory, don't use relative paths.\n"; break; } break; default: die("Invalid command\n"); break; } ?>