From f81200e6a1a3b42affc72f4287ae9d7f815c7039 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 4 Aug 2017 16:35:26 -0400 Subject: [PATCH] HOR-3621-A The following command works: ./processmaker browser-cache-files-upgrade ./processmaker cacheview-repair ./processmaker change-password-hash-method ./processmaker check-workspace-disabled-code ./processmaker database-generate-self-service-by-value ./processmaker database-upgrade ./processmaker database-verify-consistency ./processmaker database-verify-migration-consistency ./processmaker flush-cache ./processmaker help ./processmaker hotfix-install ./processmaker info ./processmaker list-ids ./processmaker mafe-translation ./processmaker migrate-cases-folders ./processmaker migrate-content ./processmaker migrate-indexing-acv ./processmaker migrate-itee-to-dummytask ./processmaker migrate-list-unassigned ./processmaker migrate-new-cases-lists ./processmaker migrate-self-service-value ./processmaker plugins-database-upgrade ./processmaker translation-repair ./processmaker unify-database ./processmaker upgrade ./processmaker workspace-backup ./processmaker workspace-restore ./processmaker workspace-upgrade --- composer.json | 1 + workflow/engine/bin/cli.php | 120 +++----------------------- workflow/engine/classes/class.cli.php | 2 +- 3 files changed, 16 insertions(+), 107 deletions(-) diff --git a/composer.json b/composer.json index 2e82e7252..fedced978 100644 --- a/composer.json +++ b/composer.json @@ -69,6 +69,7 @@ "thirdparty/pear", "thirdparty/html2ps_pdf", "thirdparty/phing", + "thirdparty/pake", "rbac/engine/classes/" ], "files": [ diff --git a/workflow/engine/bin/cli.php b/workflow/engine/bin/cli.php index 07b634040..7c8879a6e 100644 --- a/workflow/engine/bin/cli.php +++ b/workflow/engine/bin/cli.php @@ -1,108 +1,15 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - * @author Alexandre Rosenfeld - */ -// /* Windows supports both / and \ as path separators, so use the Unix separator -// * for maximum compatibility. -// */ -// define('PATH_SEP', '/'); -// -// define('PATH_HOME', WORKFLOW_PATH ); -// define('PATH_TRUNK', PROCESSMAKER_PATH ); -// define('PATH_OUTTRUNK', realpath(PROCESSMAKER_PATH.'/..') ); -// -///* Most definitions (including the G class) is done in paths.php -// * This mostly simulates a sysGeneric.php call. -// */ -//if (file_exists(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths_installed.php")) { -// require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths_installed.php"); -//} -// -//require_once (PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php"); -// -//require_once (PATH_THIRDPARTY . "pake" . PATH_SEP . "pakeFunction.php"); -//require_once (PATH_THIRDPARTY . "pake" . PATH_SEP . "pakeGetopt.class.php"); -//require_once (PATH_CORE . "config" . PATH_SEP . "environments.php"); -//require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.system.php"); -// -//require_once (PATH_GULLIVER . "class.bootstrap.php"); -// -//spl_autoload_register(array("Bootstrap", "autoloadClass")); -// -//Bootstrap::registerSystemClasses(); -// -//$config = System::getSystemConfiguration(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "env.ini"); -// -// $e_all = defined('E_DEPRECATED') ? E_ALL & ~E_DEPRECATED : E_ALL; -// $e_all = defined('E_STRICT') ? E_ALL & ~E_STRICT : $e_all; -// $e_all = $e_all & E_WARNING; // show warning -// $e_all = $e_all & ~E_NOTICE; // don't notices -// -// // Do not change any of these settings directly, use env.ini instead -// ini_set('display_errors', $config['debug']); -// ini_set('error_reporting', $e_all); -// ini_set('short_open_tag', 'On'); -// ini_set('default_charset', "UTF-8"); -// ini_set('memory_limit', $config['memory_limit']); -// ini_set('soap.wsdl_cache_enabled', $config['wsdl_cache']); -// ini_set('date.timezone', $config['time_zone']); -// -// define ('DEBUG_SQL_LOG', $config['debug_sql']); -// define ('DEBUG_TIME_LOG', $config['debug_time']); -// define ('DEBUG_CALENDAR_LOG', $config['debug_calendar']); -// define ('MEMCACHED_ENABLED', $config['memcached']); -// define ('MEMCACHED_SERVER', $config['memcached_server']); -// define ('TIME_ZONE', $config['time_zone']); - -$rootDir = PROCESSMAKER_PATH; -require $rootDir . "framework/src/Maveriks/Util/ClassLoader.php"; - -$loader = Maveriks\Util\ClassLoader::getInstance(); -$loader->add($rootDir . 'framework/src/', "Maveriks"); -$loader->add($rootDir . 'workflow/engine/src/', "ProcessMaker"); -$loader->add($rootDir . 'workflow/engine/src/'); - -// add vendors to autoloader -$loader->add($rootDir . 'vendor/bshaffer/oauth2-server-php/src/', "OAuth2"); -$loader->addClass("Bootstrap", $rootDir . 'gulliver/system/class.bootstrap.php'); - -$loader->addModelClassPath($rootDir . "workflow/engine/classes/model/"); +require_once(__DIR__ . '/../../../bootstrap/autoload.php'); $app = new Maveriks\WebApplication(); -$app->setRootDir($rootDir); +$app->setRootDir(PROCESSMAKER_PATH); $app->loadEnvironment(); -require PATH_THIRDPARTY . "pake" . PATH_SEP . "pakeFunction.php"; -require PATH_THIRDPARTY . "pake" . PATH_SEP . "pakeGetopt.class.php"; - // trap -V before pake - if (in_array('-v', $argv) || in_array('-V', $argv) || in_array('--version', $argv)) - { - printf("ProcessMaker version %s\n", pakeColor::colorize(trim(file_get_contents( PATH_GULLIVER . 'VERSION')), 'INFO')); - exit(0); + if (in_array('-v', $argv) || in_array('-V', $argv) || in_array('--version', $argv)) { + printf("ProcessMaker version %s\n", pakeColor::colorize(trim(file_get_contents(PATH_GULLIVER . 'VERSION')), 'INFO')); + exit(0); } // register tasks @@ -110,19 +17,20 @@ require PATH_THIRDPARTY . "pake" . PATH_SEP . "pakeGetopt.class.php"; $directories = array(PATH_HOME . 'engine/bin/tasks'); $pluginsDirectories = glob(PATH_PLUGINS . "*"); foreach ($pluginsDirectories as $dir) { - if (!is_dir($dir)) - continue; - if (is_dir("$dir/bin/tasks")) - $directories[] = "$dir/bin/tasks"; + if (!is_dir($dir)) { + continue; + } + if (is_dir("$dir/bin/tasks")) { + $directories[] = "$dir/bin/tasks"; + } } foreach ($directories as $dir) { - foreach (glob("$dir/*.php") as $filename) { - include_once($filename); - } + foreach (glob("$dir/*.php") as $filename) { + include_once($filename); + } } CLI::run(); exit(0); - diff --git a/workflow/engine/classes/class.cli.php b/workflow/engine/classes/class.cli.php index 6c6871981..8a587bfc3 100644 --- a/workflow/engine/classes/class.cli.php +++ b/workflow/engine/classes/class.cli.php @@ -257,7 +257,7 @@ EOT; $short = "h" . $taskData['opt']['short']; $long = array_merge( array ("help" ), $taskData['opt']['long'] ); - $getopt = Console_GetOpt::getopt2( $args, $short, $long ); + $getopt = Console_Getopt::getopt2( $args, $short, $long ); if (! is_array( $getopt )) { echo self::error( "Invalid options (" . $getopt->getMessage() . ")" ) . "\n\n"; self::help( $taskName );