diff --git a/gulliver/bin/tasks/pakeGulliver.php b/gulliver/bin/tasks/pakeGulliver.php index 9c885069c..60e189ebf 100644 --- a/gulliver/bin/tasks/pakeGulliver.php +++ b/gulliver/bin/tasks/pakeGulliver.php @@ -1500,7 +1500,7 @@ function get_infoOnPM($workspace) { if( defined("DB_HOST") ) { - $dbNetView = new NET(DB_HOST); + $dbNetView = new Net(DB_HOST); $dbNetView->loginDbServer(DB_USER, DB_PASS); $dbConns = new DbConnections(''); diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index c54eb927e..6b5f216c9 100644 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -1,29 +1,4 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - * @author Alexandre Rosenfeld - * @package workflow-engine-bin-tasks - */ CLI::taskName('info'); CLI::taskDescription(<<printMetadata(false); - } +/** + * Function run_info + * access public + */ +function run_info($args, $opts) +{ + $workspaces = get_workspaces_from_args($args); + WorkspaceTools::printSysInfo(); + foreach ($workspaces as $workspace) { + echo "\n"; + $workspace->printMetadata(false); + } } -function run_workspace_upgrade($args, $opts) { +function run_workspace_upgrade($args, $opts) +{ + $filter = new InputFilter(); + $opts = $filter->xssFilterHard($opts); + $args = $filter->xssFilterHard($args); + $workspaces = get_workspaces_from_args($args); + $first = true; + $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; + $buildCacheView = array_key_exists('buildACV', $opts); + $flagUpdateXml = !array_key_exists('noxml', $opts); - $filter = new InputFilter(); - $opts = $filter->xssFilterHard($opts); - $args = $filter->xssFilterHard($args); - $workspaces = get_workspaces_from_args($args); - $first = true; - $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; - $buildCacheView = array_key_exists('buildACV', $opts); - $flagUpdateXml = !array_key_exists('noxml', $opts); + foreach ($workspaces as $workspace) { + try { + if (!defined("SYS_SYS")) { + define("SYS_SYS", $workspace->name); + } - foreach ($workspaces as $workspace) { - try { - if (!defined("SYS_SYS")) { - define("SYS_SYS", $workspace->name); - } + if (!defined("PATH_DATA_SITE")) { + define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP); + } - if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP); - } - - $workspace->upgrade($buildCacheView, $workspace->name, false, $lang, ['updateXml' => $flagUpdateXml, 'updateMafe' => $first]); - $first = false; - $flagUpdateXml = false; - } catch (Exception $e) { - G::outRes( "Errors upgrading workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n" ); + $workspace->upgrade($buildCacheView, $workspace->name, false, $lang, ['updateXml' => $flagUpdateXml, 'updateMafe' => $first]); + $first = false; + $flagUpdateXml = false; + } catch (Exception $e) { + G::outRes("Errors upgrading workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n"); + } } - } } /** @@ -410,7 +384,8 @@ function run_workspace_upgrade($args, $opts) { * * @return void */ -function run_translation_upgrade($args, $opts) { +function run_translation_upgrade($args, $opts) +{ $noXml = array_key_exists('noxml', $opts) ? '--no-xml' : ''; $noMafe = array_key_exists('nomafe', $opts) ? '--no-mafe' : ''; if (!empty($noXml)) { @@ -459,43 +434,48 @@ function translation_upgrade($args, $opts) } } -function run_cacheview_upgrade($args, $opts) { - - $filter = new InputFilter(); - $opts = $filter->xssFilterHard($opts); - $args = $filter->xssFilterHard($args); - $workspaces = get_workspaces_from_args($args); - $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; - foreach ($workspaces as $workspace) { - try { - G::outRes( "Upgrading cache view for " . pakeColor::colorize($workspace->name, "INFO") . "\n" ); - $workspace->upgradeCacheView(true, false, $lang); - } catch (Exception $e) { - G::outRes( "Errors upgrading cache view of workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n" ); +function run_cacheview_upgrade($args, $opts) +{ + $filter = new InputFilter(); + $opts = $filter->xssFilterHard($opts); + $args = $filter->xssFilterHard($args); + $workspaces = get_workspaces_from_args($args); + $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; + foreach ($workspaces as $workspace) { + try { + G::outRes("Upgrading cache view for " . pakeColor::colorize($workspace->name, "INFO") . "\n"); + $workspace->upgradeCacheView(true, false, $lang); + } catch (Exception $e) { + G::outRes("Errors upgrading cache view of workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n"); + } } - } } -function run_plugins_database_upgrade($args, $opts) { - $workspaces = get_workspaces_from_args($args); - foreach ($workspaces as $workspace) { - try { - CLI::logging("Upgrading plugins database for " . CLI::info($workspace->name) . "\n"); - $workspace->upgradePluginsDatabase(); - } catch (Exception $e) { - CLI::logging("Errors upgrading plugins database: " . CLI::error($e->getMessage())); + +function run_plugins_database_upgrade($args, $opts) +{ + $workspaces = get_workspaces_from_args($args); + foreach ($workspaces as $workspace) { + try { + CLI::logging("Upgrading plugins database for " . CLI::info($workspace->name) . "\n"); + $workspace->upgradePluginsDatabase(); + } catch (Exception $e) { + CLI::logging("Errors upgrading plugins database: " . CLI::error($e->getMessage())); + } } - } } -function run_database_export($args, $opts) { - if (count($args) < 2) - throw new Exception ("Please provide a workspace name and a directory for export"); - $workspace = new WorkspaceTools($args[0]); - $workspace->exportDatabase($args[1]); +function run_database_export($args, $opts) +{ + if (count($args) < 2) { + throw new Exception("Please provide a workspace name and a directory for export"); + } + $workspace = new WorkspaceTools($args[0]); + $workspace->exportDatabase($args[1]); } -function run_database_import($args, $opts) { - throw new Exception("Not implemented"); +function run_database_import($args, $opts) +{ + throw new Exception("Not implemented"); } /** @@ -505,33 +485,38 @@ function run_database_import($args, $opts) { * @param string $opts * * @return void -*/ -function run_database_upgrade($args, $opts) { + */ +function run_database_upgrade($args, $opts) +{ //Check if the command is executed by a specific workspace if (count($args) === 1) { database_upgrade('upgrade', $args); } else { $workspaces = get_workspaces_from_args($args); foreach ($workspaces as $workspace) { - passthru('./processmaker database-upgrade '.$workspace->name); + passthru('./processmaker database-upgrade ' . $workspace->name); } } } -function run_database_check($args, $opts) { - database_upgrade("check", $args); +function run_database_check($args, $opts) +{ + database_upgrade("check", $args); } -function run_migrate_new_cases_lists($args, $opts) { - migrate_new_cases_lists("migrate", $args, $opts); +function run_migrate_new_cases_lists($args, $opts) +{ + migrate_new_cases_lists("migrate", $args, $opts); } -function run_migrate_counters($args, $opts) { - migrate_counters("migrate", $args); +function run_migrate_counters($args, $opts) +{ + migrate_counters("migrate", $args); } -function run_migrate_list_unassigned($args, $opts) { - migrate_list_unassigned("migrate", $args, $opts); +function run_migrate_list_unassigned($args, $opts) +{ + migrate_list_unassigned("migrate", $args, $opts); } /** @@ -540,139 +525,145 @@ function run_migrate_list_unassigned($args, $opts) { * @param array $args, workspaceName for to apply the database-upgrade * * @return void -*/ -function database_upgrade($command, $args) { + */ +function database_upgrade($command, $args) +{ + $filter = new InputFilter(); + $command = $filter->xssFilterHard($command); + $args = $filter->xssFilterHard($args); + //Load the attributes for the workspace + $workspaces = get_workspaces_from_args($args); + $checkOnly = (strcmp($command, "check") == 0); + //Loop, read all the attributes related to the one workspace + $wsName = $workspaces[key($workspaces)]->name; + Bootstrap::setConstantsRelatedWs($wsName); + if ($checkOnly) { + print_r("Checking database in " . pakeColor::colorize($wsName, "INFO") . "\n"); + } else { + print_r("Upgrading database in " . pakeColor::colorize($wsName, "INFO") . "\n"); + } - $filter = new InputFilter(); - $command = $filter->xssFilterHard($command); - $args = $filter->xssFilterHard($args); - //Load the attributes for the workspace - $workspaces = get_workspaces_from_args($args); - $checkOnly = (strcmp($command, "check") == 0); - //Loop, read all the attributes related to the one workspace - $wsName = $workspaces[key($workspaces)]->name; - Bootstrap::setConstantsRelatedWs($wsName); - if ($checkOnly) { - print_r("Checking database in ".pakeColor::colorize($wsName, "INFO")."\n"); - } else { - print_r("Upgrading database in ".pakeColor::colorize($wsName, "INFO")."\n"); - } - - foreach ($workspaces as $workspace) { - try { - $changes = $workspace->upgradeDatabase($checkOnly); - if ($changes != false) { - if ($checkOnly) { - echo "> ".pakeColor::colorize("Run upgrade", "INFO")."\n"; - echo " Tables (add = " . count($changes['tablesToAdd']); - echo ", alter = " . count($changes['tablesToAlter']) . ") "; - echo "- Indexes (add = " . count($changes['tablesWithNewIndex']).""; - echo ", alter = " . count($changes['tablesToAlterIndex']).")\n"; - } else { - echo "-> Schema fixed\n"; + foreach ($workspaces as $workspace) { + try { + $changes = $workspace->upgradeDatabase($checkOnly); + if ($changes != false) { + if ($checkOnly) { + echo "> " . pakeColor::colorize("Run upgrade", "INFO") . "\n"; + echo " Tables (add = " . count($changes['tablesToAdd']); + echo ", alter = " . count($changes['tablesToAlter']) . ") "; + echo "- Indexes (add = " . count($changes['tablesWithNewIndex']) . ""; + echo ", alter = " . count($changes['tablesToAlterIndex']) . ")\n"; + } else { + echo "-> Schema fixed\n"; + } + } else { + echo "> OK\n"; + } + } catch (Exception $e) { + G::outRes("> Error: " . CLI::error($e->getMessage()) . "\n"); } - } else { - echo "> OK\n"; - } - } catch (Exception $e) { - G::outRes( "> Error: ".CLI::error($e->getMessage()) . "\n" ); } - } } -function delete_app_from_table($con, $tableName, $appUid, $col="APP_UID") { - $stmt = $con->createStatement(); - $sql = "DELETE FROM " . $tableName . " WHERE " . $col . "='" . $appUid . "'"; - $rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_NUM); +function delete_app_from_table($con, $tableName, $appUid, $col = "APP_UID") +{ + $stmt = $con->createStatement(); + $sql = "DELETE FROM " . $tableName . " WHERE " . $col . "='" . $appUid . "'"; + $rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_NUM); } -function run_drafts_clean($args, $opts) { - echo "Cleaning drafts\n"; +function run_drafts_clean($args, $opts) +{ + echo "Cleaning drafts\n"; - if (count($args) < 1) - throw new Exception ("Please specify a workspace name"); - $workspace = $args[0]; - - if (!file_exists(PATH_DB . $workspace . '/db.php')) { - throw new Exception('Could not find workspace ' . $workspace); - } - - $allDrafts = false; - if (count($args) < 2) { - echo "Cases older them this much days will be deleted (ENTER for all): "; - $days = rtrim( fgets( STDIN ), "\n" ); - if ($days == "") { - $allDrafts = true; + if (count($args) < 1) { + throw new Exception("Please specify a workspace name"); } - } else { - $days = $args[1]; - if (strcmp($days, "all") == 0) { - $allDrafts = true; + $workspace = $args[0]; + + if (!file_exists(PATH_DB . $workspace . '/db.php')) { + throw new Exception('Could not find workspace ' . $workspace); } - } - if (!$allDrafts && (!is_numeric($days) || intval($days) <= 0)) { - throw new Exception("Days value is not valid: " . $days); - } - - if ($allDrafts) - echo "Removing all drafts\n"; - else - echo "Removing drafts older than " . $days . " days\n"; - - /* Load the configuration from the workspace */ - require_once( PATH_DB . $workspace . '/db.php' ); - require_once( PATH_THIRDPARTY . 'propel/Propel.php'); - - PROPEL::Init ( PATH_METHODS.'dbConnections/rootDbConnections.php' ); - $con = Propel::getConnection("root"); - - $stmt = $con->createStatement(); - - if (!$allDrafts) - $dateSql = "AND DATE_SUB(CURDATE(),INTERVAL " . $days . " DAY) >= APP_CREATE_DATE"; - else - $dateSql = ""; - /* Search for all the draft cases */ - $sql = "SELECT APP_UID FROM APPLICATION WHERE APP_STATUS='DRAFT'" . $dateSql; - $appRows = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); - - /* Tables to remove the cases from */ - $tables = array( - "APPLICATION", - "APP_DELEGATION", - "APP_CACHE_VIEW", - "APP_THREAD", - "APP_DOCUMENT", - "APP_EVENT", - "APP_HISTORY", - "APP_MESSAGE" - ); - - echo "Found " . $appRows->getRecordCount() . " cases to remove"; - foreach ($appRows as $row) { - echo "."; - $appUid = $row['APP_UID']; - foreach ($tables as $table) { - delete_app_from_table($con, $table, $appUid); + $allDrafts = false; + if (count($args) < 2) { + echo "Cases older them this much days will be deleted (ENTER for all): "; + $days = rtrim(fgets(STDIN), "\n"); + if ($days == "") { + $allDrafts = true; + } + } else { + $days = $args[1]; + if (strcmp($days, "all") == 0) { + $allDrafts = true; + } } - delete_app_from_table($con, "CONTENT", $appUid, "CON_ID"); - if (file_exists(PATH_DB . $workspace . '/files/'. $appUid)) { - echo "\nRemoving files from " . $appUid . "\n"; - G::rm_dir(PATH_DB . $workspace . '/files/'. $appUid); + + if (!$allDrafts && (!is_numeric($days) || intval($days) <= 0)) { + throw new Exception("Days value is not valid: " . $days); } - } - echo "\n"; + + if ($allDrafts) { + echo "Removing all drafts\n"; + } else { + echo "Removing drafts older than " . $days . " days\n"; + } + + /* Load the configuration from the workspace */ + require_once(PATH_DB . $workspace . '/db.php'); + require_once(PATH_THIRDPARTY . 'propel/Propel.php'); + + PROPEL::Init(PATH_METHODS . 'dbConnections/rootDbConnections.php'); + $con = Propel::getConnection("root"); + + $stmt = $con->createStatement(); + + if (!$allDrafts) { + $dateSql = "AND DATE_SUB(CURDATE(),INTERVAL " . $days . " DAY) >= APP_CREATE_DATE"; + } else { + $dateSql = ""; + } + /* Search for all the draft cases */ + $sql = "SELECT APP_UID FROM APPLICATION WHERE APP_STATUS='DRAFT'" . $dateSql; + $appRows = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); + + /* Tables to remove the cases from */ + $tables = array( + "APPLICATION", + "APP_DELEGATION", + "APP_CACHE_VIEW", + "APP_THREAD", + "APP_DOCUMENT", + "APP_EVENT", + "APP_HISTORY", + "APP_MESSAGE" + ); + + echo "Found " . $appRows->getRecordCount() . " cases to remove"; + foreach ($appRows as $row) { + echo "."; + $appUid = $row['APP_UID']; + foreach ($tables as $table) { + delete_app_from_table($con, $table, $appUid); + } + delete_app_from_table($con, "CONTENT", $appUid, "CON_ID"); + if (file_exists(PATH_DB . $workspace . '/files/' . $appUid)) { + echo "\nRemoving files from " . $appUid . "\n"; + G::rm_dir(PATH_DB . $workspace . '/files/' . $appUid); + } + } + echo "\n"; } -function run_workspace_backup($args, $opts) { +function run_workspace_backup($args, $opts) +{ $workspaces = array(); if (sizeof($args) > 2) { $filename = array_pop($args); foreach ($args as $arg) { $workspaces[] = new WorkspaceTools($arg); } - } else if (sizeof($args) > 0) { + } elseif (sizeof($args) > 0) { $workspace = new WorkspaceTools($args[0]); $workspaces[] = $workspace; if (sizeof($args) == 2) { @@ -692,7 +683,7 @@ function run_workspace_backup($args, $opts) { } //If this is a relative path, put the file in the backups directory - if (strpos($filename, "/") === false && strpos($filename, '\\') === false){ + if (strpos($filename, "/") === false && strpos($filename, '\\') === false) { $filename = PATH_DATA . "backups/$filename"; } CLI::logging("Backing up to $filename\n"); @@ -704,7 +695,7 @@ function run_workspace_backup($args, $opts) { CLI::error("This is not a Linux enviroment, cannot use this filesize [-s] feature.\n"); return; } - $multipleBackup = new multipleFilesBackup ($filename,$filesize);//if filesize is 0 the default size will be took + $multipleBackup = new MultipleFilesBackup($filename, $filesize); //if filesize is 0 the default size will be took //using new method foreach ($workspaces as $workspace) { $multipleBackup->addToBackup($workspace); @@ -726,62 +717,62 @@ function run_workspace_backup($args, $opts) { } } -function run_workspace_restore($args, $opts) { - if (sizeof($args) > 0) { +function run_workspace_restore($args, $opts) +{ + if (sizeof($args) > 0) { + $filename = $args[0]; - $filename = $args[0]; + G::verifyPath(PATH_DATA . 'upgrade', true); - G::verifyPath(PATH_DATA . 'upgrade', true); + if (isset($args[1]) && strlen($args[1]) >= 30) { + eprintln("Invalid workspace name, insert a maximum of 30 characters.", 'red'); + return; + } - if(isset($args[1]) && strlen($args[1])>=30){ - eprintln("Invalid workspace name, insert a maximum of 30 characters.", 'red'); - return; - } - - if (strpos($filename, "/") === false && strpos($filename, '\\') === false) { - $filename = PATH_DATA . "backups/$filename"; - if (!file_exists($filename) && substr_compare($filename, ".tar", -4, 4, true) != 0) - $filename .= ".tar"; - } - $info = array_key_exists("info", $opts); - $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; - $port = array_key_exists("port", $opts) ? $opts['port'] : ''; - if ($info) { - WorkspaceTools::getBackupInfo($filename); + if (strpos($filename, "/") === false && strpos($filename, '\\') === false) { + $filename = PATH_DATA . "backups/$filename"; + if (!file_exists($filename) && substr_compare($filename, ".tar", -4, 4, true) != 0) { + $filename .= ".tar"; + } + } + $info = array_key_exists("info", $opts); + $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; + $port = array_key_exists("port", $opts) ? $opts['port'] : ''; + if ($info) { + WorkspaceTools::getBackupInfo($filename); + } else { + CLI::logging("Restoring from $filename\n"); + $workspace = array_key_exists("workspace", $opts) ? $opts['workspace'] : null; + $overwrite = array_key_exists("overwrite", $opts); + $multiple = array_key_exists("multiple", $opts); + $dstWorkspace = isset($args[1]) ? $args[1] : null; + if (!empty($multiple)) { + if (!Bootstrap::isLinuxOs()) { + CLI::error("This is not a Linux enviroment, cannot use this multiple [-m] feature.\n"); + return; + } + MultipleFilesBackup::letsRestore($filename, $workspace, $dstWorkspace, $overwrite); + } else { + $anotherExtention = ".*"; //if there are files with and extra extention: e.g. .tar.number + $multiplefiles = glob($filename . $anotherExtention); // example: //shared/workflow_data/backups/myWorkspace.tar.* + if (count($multiplefiles) > 0) { + CLI::error("Processmaker found these files: .\n"); + foreach ($multiplefiles as $index => $value) { + CLI::logging($value . "\n"); + } + CLI::error("Please, you should use -m parameter to restore them.\n"); + return; + } + WorkspaceTools::restore($filename, $workspace, $dstWorkspace, $overwrite, $lang, $port); + } + } } else { - CLI::logging("Restoring from $filename\n"); - $workspace = array_key_exists("workspace", $opts) ? $opts['workspace'] : NULL; - $overwrite = array_key_exists("overwrite", $opts); - $multiple = array_key_exists("multiple", $opts); - $dstWorkspace = isset($args[1]) ? $args[1] : null; - if(!empty($multiple)){ - if(!Bootstrap::isLinuxOs()){ - CLI::error("This is not a Linux enviroment, cannot use this multiple [-m] feature.\n"); - return; - } - multipleFilesBackup::letsRestore ($filename,$workspace,$dstWorkspace,$overwrite); - } - else{ - $anotherExtention = ".*"; //if there are files with and extra extention: e.g. .tar.number - $multiplefiles = glob($filename . $anotherExtention);// example: //shared/workflow_data/backups/myWorkspace.tar.* - if(count($multiplefiles) > 0) - { - CLI::error("Processmaker found these files: .\n"); - foreach($multiplefiles as $index => $value){ - CLI::logging($value . "\n"); - } - CLI::error("Please, you should use -m parameter to restore them.\n"); - return; - } - WorkspaceTools::restore($filename, $workspace, $dstWorkspace, $overwrite, $lang, $port ); - } - } - } else { throw new Exception("No workspace specified for restore"); - } + } } -function runStructureDirectories($command, $args) { +function runStructureDirectories($command, $args) +{ $workspaces = get_workspaces_from_args($command); $count = count($workspaces); $errors = false; @@ -801,7 +792,6 @@ function runStructureDirectories($command, $args) { function run_database_generate_self_service_by_value($args, $opts) { - $filter = new InputFilter(); $opts = $filter->xssFilterHard($opts); $args = $filter->xssFilterHard($args); @@ -812,10 +802,10 @@ function run_database_generate_self_service_by_value($args, $opts) $workspace = $value; try { - G::outRes( "Generating the table \"self-service by value\" for " . pakeColor::colorize($workspace->name, "INFO") . "\n" ); + G::outRes("Generating the table \"self-service by value\" for " . pakeColor::colorize($workspace->name, "INFO") . "\n"); $workspace->appAssignSelfServiceValueTableGenerateData(); } catch (Exception $e) { - G::outRes( "Errors generating the table \"self-service by value\" of workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n" ); + G::outRes("Errors generating the table \"self-service by value\" of workspace " . CLI::info($workspace->name) . ": " . CLI::error($e->getMessage()) . "\n"); } echo "\n"; @@ -823,82 +813,82 @@ function run_database_generate_self_service_by_value($args, $opts) echo "Done!\n"; } catch (Exception $e) { - G::outRes( CLI::error($e->getMessage()) . "\n" ); + G::outRes(CLI::error($e->getMessage()) . "\n"); } } function run_database_verify_consistency($args, $opts) { - verifyAppCacheConsistency($args); + verifyAppCacheConsistency($args); } function run_database_verify_migration_consistency($args, $opts) { - verifyMigratedDataConsistency($args); + verifyMigratedDataConsistency($args); } function verifyAppCacheConsistency($args) { - $workspaces = get_workspaces_from_args($args); - foreach ($workspaces as $workspace) { - verifyWorkspaceConsistency($workspace); - } + $workspaces = get_workspaces_from_args($args); + foreach ($workspaces as $workspace) { + verifyWorkspaceConsistency($workspace); + } } function verifyWorkspaceConsistency($workspace) { - $isConsistent = true; - print_r("Verifying data in workspace " . pakeColor::colorize($workspace->name, "INFO") . "\n"); - $inconsistentUsers = $workspace->hasMissingUsers(); - $inconsistentTasks = $workspace->hasMissingTasks(); - $inconsistentProcesses = $workspace->hasMissingProcesses(); - $inconsistentDelegations = $workspace->hasMissingAppDelegations(); + $isConsistent = true; + print_r("Verifying data in workspace " . pakeColor::colorize($workspace->name, "INFO") . "\n"); + $inconsistentUsers = $workspace->hasMissingUsers(); + $inconsistentTasks = $workspace->hasMissingTasks(); + $inconsistentProcesses = $workspace->hasMissingProcesses(); + $inconsistentDelegations = $workspace->hasMissingAppDelegations(); - if ($inconsistentUsers || $inconsistentTasks || $inconsistentProcesses || $inconsistentDelegations) { - $isConsistent = false; - } - return $isConsistent; + if ($inconsistentUsers || $inconsistentTasks || $inconsistentProcesses || $inconsistentDelegations) { + $isConsistent = false; + } + return $isConsistent; } function verifyMigratedDataConsistency($args) { - $workspaces = get_workspaces_from_args($args); - $inconsistentRecords = 0; - foreach ($workspaces as $workspace) { - print_r("Verifying data in workspace " . pakeColor::colorize($workspace->name, "INFO") . "\n"); - $lists = array( - 'LIST_CANCELLED', - 'LIST_COMPLETED', - 'LIST_INBOX', - 'LIST_PARTICIPATED_HISTORY', - 'LIST_PARTICIPATED_LAST', - 'LIST_MY_INBOX', - 'LIST_UNASSIGNED', - ); - foreach ($lists as $list) { - $inconsistentRecords += $workspace->verifyListData($list); + $workspaces = get_workspaces_from_args($args); + $inconsistentRecords = 0; + foreach ($workspaces as $workspace) { + print_r("Verifying data in workspace " . pakeColor::colorize($workspace->name, "INFO") . "\n"); + $lists = array( + 'LIST_CANCELLED', + 'LIST_COMPLETED', + 'LIST_INBOX', + 'LIST_PARTICIPATED_HISTORY', + 'LIST_PARTICIPATED_LAST', + 'LIST_MY_INBOX', + 'LIST_UNASSIGNED', + ); + foreach ($lists as $list) { + $inconsistentRecords += $workspace->verifyListData($list); + } } - } - return $inconsistentRecords; + return $inconsistentRecords; } -function run_migrate_itee_to_dummytask($args, $opts){ - - $filter = new InputFilter(); - $opts = $filter->xssFilterHard($opts); - $args = $filter->xssFilterHard($args); - $arrayWorkspace = get_workspaces_from_args($args); - foreach ($arrayWorkspace as $workspace) { - try { - $ws = new WorkspaceTools($workspace->name); - $res = $ws->migrateIteeToDummytask($workspace->name); - } catch (Exception $e) { - G::outRes( "> Error: ".CLI::error($e->getMessage()) . "\n" ); +function run_migrate_itee_to_dummytask($args, $opts) +{ + $filter = new InputFilter(); + $opts = $filter->xssFilterHard($opts); + $args = $filter->xssFilterHard($args); + $arrayWorkspace = get_workspaces_from_args($args); + foreach ($arrayWorkspace as $workspace) { + try { + $ws = new WorkspaceTools($workspace->name); + $res = $ws->migrateIteeToDummytask($workspace->name); + } catch (Exception $e) { + G::outRes("> Error: " . CLI::error($e->getMessage()) . "\n"); + } } - } } +/* ----------------------------------********--------------------------------- */ -/*----------------------------------********---------------------------------*/ /** * Check if we need to execute an external program for each workspace * If we apply the command for all workspaces we will need to execute one by one by redefining the constants @@ -906,8 +896,9 @@ function run_migrate_itee_to_dummytask($args, $opts){ * @param string $opts * * @return void -*/ -function run_check_workspace_disabled_code($args, $opts) { + */ +function run_check_workspace_disabled_code($args, $opts) +{ //Check if the command is executed by a specific workspace if (count($args) === 1) { check_workspace_disabled_code($args, $opts); @@ -918,6 +909,7 @@ function run_check_workspace_disabled_code($args, $opts) { } } } + /** * This function is executed only by one workspace * Code Security Scanner related to the custom blacklist @@ -925,7 +917,7 @@ function run_check_workspace_disabled_code($args, $opts) { * @param array $opts, workspaceName for to apply the database-upgrade * * @return void -*/ + */ function check_workspace_disabled_code($args, $opts) { try { @@ -951,7 +943,7 @@ function check_workspace_disabled_code($args, $opts) foreach ($arrayFoundDisabledCode as $value2) { $arrayProcessData = $value2; - $strFoundDisabledCode .= ($strFoundDisabledCode != "")? "\n" : ""; + $strFoundDisabledCode .= ($strFoundDisabledCode != "") ? "\n" : ""; $strFoundDisabledCode .= " Process: " . $arrayProcessData["processTitle"] . "\n"; $strFoundDisabledCode .= " Triggers:\n"; @@ -960,7 +952,7 @@ function check_workspace_disabled_code($args, $opts) $strCodeAndLine = ""; foreach ($arrayTriggerData["disabledCode"] as $key4 => $value4) { - $strCodeAndLine .= (($strCodeAndLine != "")? ", " : "") . $key4 . " (Lines " . implode(", ", $value4) . ")"; + $strCodeAndLine .= (($strCodeAndLine != "") ? ", " : "") . $key4 . " (Lines " . implode(", ", $value4) . ")"; } $strFoundDisabledCode .= " - " . $arrayTriggerData["triggerTitle"] . ": " . $strCodeAndLine . "\n"; } @@ -970,17 +962,18 @@ function check_workspace_disabled_code($args, $opts) echo "The workspace it's OK\n\n"; } } catch (Exception $e) { - G::outRes( "Errors to check disabled code: " . CLI::error($e->getMessage()) . "\n\n" ); + G::outRes("Errors to check disabled code: " . CLI::error($e->getMessage()) . "\n\n"); } $workspace->close(); } echo "Done!\n\n"; } catch (Exception $e) { - G::outRes( CLI::error($e->getMessage()) . "\n" ); + G::outRes(CLI::error($e->getMessage()) . "\n"); } } -function migrate_new_cases_lists($command, $args, $opts) { +function migrate_new_cases_lists($command, $args, $opts) +{ $filter = new InputFilter(); $opts = $filter->xssFilterHard($opts); $args = $filter->xssFilterHard($args); @@ -992,45 +985,46 @@ function migrate_new_cases_lists($command, $args, $opts) { $workspace->migrateList($workspace->name, true, $lang); echo "> List tables are done\n"; } catch (Exception $e) { - G::outRes( "> Error: ".CLI::error($e->getMessage()) . "\n" ); + G::outRes("> Error: " . CLI::error($e->getMessage()) . "\n"); } } } -function migrate_counters($command, $args) { - $workspaces = get_workspaces_from_args($args); +function migrate_counters($command, $args) +{ + $workspaces = get_workspaces_from_args($args); - foreach ($workspaces as $workspace) { - print_r("Regenerating counters in: " . pakeColor::colorize($workspace->name, "INFO") . "\n"); + foreach ($workspaces as $workspace) { + print_r("Regenerating counters in: " . pakeColor::colorize($workspace->name, "INFO") . "\n"); - try { - $workspace->migrateCounters($workspace->name, true); + try { + $workspace->migrateCounters($workspace->name, true); - echo "> Counters are done\n"; - } catch (Exception $e) { - G::outRes( "> Error: ".CLI::error($e->getMessage()) . "\n" ); + echo "> Counters are done\n"; + } catch (Exception $e) { + G::outRes("> Error: " . CLI::error($e->getMessage()) . "\n"); + } } - } } -function migrate_list_unassigned($command, $args, $opts) { - - $filter = new InputFilter(); - $opts = $filter->xssFilterHard($opts); - $args = $filter->xssFilterHard($args); - $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; - $workspaces = get_workspaces_from_args($args); - foreach ($workspaces as $workspace) { - print_r("Upgrading Unassigned List in" . pakeColor::colorize($workspace->name, "INFO") . "\n"); - try { - $workspace->regenerateListUnassigned(); - echo "> Unassigned List is done\n"; - } catch (Exception $e) { - G::outRes( "> Error: ".CLI::error($e->getMessage()) . "\n" ); +function migrate_list_unassigned($command, $args, $opts) +{ + $filter = new InputFilter(); + $opts = $filter->xssFilterHard($opts); + $args = $filter->xssFilterHard($args); + $lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en'; + $workspaces = get_workspaces_from_args($args); + foreach ($workspaces as $workspace) { + print_r("Upgrading Unassigned List in" . pakeColor::colorize($workspace->name, "INFO") . "\n"); + try { + $workspace->regenerateListUnassigned(); + echo "> Unassigned List is done\n"; + } catch (Exception $e) { + G::outRes("> Error: " . CLI::error($e->getMessage()) . "\n"); + } } - } } -/*----------------------------------********---------------------------------*/ +/* ----------------------------------********--------------------------------- */ /** * Check if we need to execute an external program for each workspace @@ -1039,8 +1033,9 @@ function migrate_list_unassigned($command, $args, $opts) { * @param string $opts, specify the language * * @return void -*/ -function run_migrate_content($args, $opts) { + */ +function run_migrate_content($args, $opts) +{ //Check the additional parameters $lang = array_key_exists("lang", $opts) ? '--lang=' . $opts['lang'] : '--lang=' . SYS_LANG; //Check if the command is executed by a specific workspace @@ -1049,17 +1044,18 @@ function run_migrate_content($args, $opts) { } else { $workspaces = get_workspaces_from_args($args); foreach ($workspaces as $workspace) { - passthru('./processmaker migrate-content ' . $lang . ' '.$workspace->name); + passthru('./processmaker migrate-content ' . $lang . ' ' . $workspace->name); } } } + /** * This function is executed only by one workspace * @param array $args, workspaceName for to apply the migrate-content * @param array $opts, specify the language * * @return void -*/ + */ function migrate_content($args, $opts) { $filter = new InputFilter(); @@ -1081,8 +1077,8 @@ function migrate_content($args, $opts) CLI::logging("<*> Optimizing content data Process took " . ($stop - $start) . " seconds.\n"); } -function run_migrate_self_service_value($args, $opts) { - +function run_migrate_self_service_value($args, $opts) +{ $filter = new InputFilter(); $args = $filter->xssFilterHard($args); $workspaces = get_workspaces_from_args($args); @@ -1097,7 +1093,8 @@ function run_migrate_self_service_value($args, $opts) { CLI::logging("<*> Migrating Self-Service records Process took " . ($stop - $start) . " seconds.\n"); } -function run_migrate_indexing_acv($args, $opts) { +function run_migrate_indexing_acv($args, $opts) +{ $filter = new InputFilter(); $args = $filter->xssFilterHard($args); $workspaces = get_workspaces_from_args($args); @@ -1111,7 +1108,8 @@ function run_migrate_indexing_acv($args, $opts) { CLI::logging("<*> Migrating and populating indexing for avoiding the use of table APP_CACHE_VIEW process took " . ($stop - $start) . " seconds.\n"); } -function run_migrate_plugin($args, $opts) { +function run_migrate_plugin($args, $opts) +{ $workspaces = get_workspaces_from_args($args); //Check if the command is executed by a specific workspace /** @var WorkspaceTools $workspace */ @@ -1124,12 +1122,13 @@ function run_migrate_plugin($args, $opts) { CLI::logging("> Migrating and populating data...\n"); $start = microtime(true); foreach ($workspaces as $workspace) { - passthru('./processmaker migrate-plugins-singleton-information '.$workspace->name); + passthru('./processmaker migrate-plugins-singleton-information ' . $workspace->name); } $stop = microtime(true); CLI::logging("<*> Migrating and populating data Singleton took " . ($stop - $start) . " seconds.\n"); } } + /** * This method recursively finds all PHP files that reference the path PATH_DATA * incorrectly, which is caused by importing processes where the data directory diff --git a/workflow/engine/classes/LdapAdvanced.php b/workflow/engine/classes/LdapAdvanced.php index 890068fa1..95f3ba322 100644 --- a/workflow/engine/classes/LdapAdvanced.php +++ b/workflow/engine/classes/LdapAdvanced.php @@ -1,8 +1,10 @@ "|(objectclass=inetorgperson)(objectclass=organizationalperson)(objectclass=person)(objectclass=user)", @@ -457,14 +459,14 @@ class ldapAdvanced $logFile = PATH_DATA . "log/ldapAdvanced.log"; if (!file_exists($logFile) || is_writable($logFile)) { - $fpt= fopen ($logFile, "a"); + $fpt= fopen($logFile, "a"); $ldapErrorMsg = ""; $ldapErrorNr = 0; if ($link != null) { $ldapErrorNr = ldap_errno($link); - if ( $ldapErrorNr != 0 ) { + if ($ldapErrorNr != 0) { $ldapErrorMsg = ldap_error($link); $text = $ldapErrorMsg . " : " . $text; } @@ -474,7 +476,7 @@ class ldapAdvanced fwrite($fpt, sprintf("%s %s %s %s %s \n", date("Y-m-d H:i:s"), getenv("REMOTE_ADDR"), SYS_SYS, $ldapErrorNr, $text)); fclose($fpt); } else { - error_log ("file $logFile is not writable "); + error_log("file $logFile is not writable "); } } @@ -505,11 +507,11 @@ class ldapAdvanced */ public function ldapConnection($aAuthSource) { - $pass = explode("_",$aAuthSource["AUTH_SOURCE_PASSWORD"]); + $pass = explode("_", $aAuthSource["AUTH_SOURCE_PASSWORD"]); foreach ($pass as $index => $value) { if ($value == "2NnV3ujj3w") { - $aAuthSource["AUTH_SOURCE_PASSWORD"] = G::decrypt($pass[0],$aAuthSource["AUTH_SOURCE_SERVER_NAME"]); + $aAuthSource["AUTH_SOURCE_PASSWORD"] = G::decrypt($pass[0], $aAuthSource["AUTH_SOURCE_SERVER_NAME"]); } } @@ -1045,11 +1047,11 @@ class ldapAdvanced $strUser = trim($strUser); } - if ( $strUser == "" ) { + if ($strUser == "") { return -1; } - if ( strlen( $strPass ) == 0) { + if (strlen($strPass) == 0) { return -2; } @@ -1140,7 +1142,7 @@ class ldapAdvanced $ldapcnn = $this->ldapConnection($arrayAuthSource); $flagUpdate = false; - switch(ldap_errno($ldapcnn)) { + switch (ldap_errno($ldapcnn)) { case '0x00': $flagUpdate = true; $statusRbac = 1; @@ -1195,7 +1197,7 @@ class ldapAdvanced $validUserPass = -5; } - if ( $validUserPass == 1 ) { + if ($validUserPass == 1) { $this->log($ldapcnn, "sucessful login user " . $verifiedUser["sDN"]); } else { $this->log($ldapcnn, "failure authentication for user $strUser"); @@ -1295,7 +1297,7 @@ class ldapAdvanced $entries = ldap_count_entries($ldapcnn, $oSearch); $totalUser = $entries; - if ( $entries > 0) { + if ($entries > 0) { $oEntry = ldap_first_entry($ldapcnn, $oSearch); $countEntries=0; @@ -1546,11 +1548,11 @@ class ldapAdvanced $res = 0; if (!empty($user)) { - if ($this->VerifyLogin( $user['sUsername'], $strPass) === true) { + if ($this->VerifyLogin($user['sUsername'], $strPass) === true) { $res = 1; } - if ($res == 0 && $this->VerifyLogin( $user['sDN'], $strPass) === true) { + if ($res == 0 && $this->VerifyLogin($user['sDN'], $strPass) === true) { $res = 1; } } else { @@ -1583,8 +1585,8 @@ class ldapAdvanced if (!empty($aAttributes)) { foreach ($aAttributes as $value) { - if (isset( $user[$value['attributeUser']] )) { - $aData[$value['attributeUser']] = str_replace( "*", "'", $user[$value['attributeUser']] ); + if (isset($user[$value['attributeUser']])) { + $aData[$value['attributeUser']] = str_replace("*", "'", $user[$value['attributeUser']]); if ($value['attributeUser'] == 'USR_STATUS') { $evalValue = $aData[$value['attributeUser']]; $statusValue = (isset($user['USR_STATUS'])) ? $user['USR_STATUS'] :'ACTIVE'; @@ -1595,7 +1597,7 @@ class ldapAdvanced } //req - accountexpires - if (isset($user["USR_DUE_DATE"]) && $user["USR_DUE_DATE"]!='' ) { + if (isset($user["USR_DUE_DATE"]) && $user["USR_DUE_DATE"]!='') { $aData["USR_DUE_DATE"] = $this->convertDateADtoPM($user["USR_DUE_DATE"]); } //end @@ -1768,12 +1770,12 @@ class ldapAdvanced * @param $currentDN * @return */ - public function getDepUidIfExistsDN ($currentDN) + public function getDepUidIfExistsDN($currentDN) { try { $oCriteria = new Criteria('workflow'); - $oCriteria->add(DepartmentPeer::DEP_STATUS , 'ACTIVE' ); - $oCriteria->add(DepartmentPeer::DEP_LDAP_DN, $currentDN ); + $oCriteria->add(DepartmentPeer::DEP_STATUS, 'ACTIVE'); + $oCriteria->add(DepartmentPeer::DEP_LDAP_DN, $currentDN); $oDataset = DepartmentPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); @@ -1888,7 +1890,7 @@ class ldapAdvanced BasePeer::doUpdate($c1, $c2, $con); } - public function deactivateUser ($userUid) + public function deactivateUser($userUid) { if (!class_exists('RbacUsers')) { require_once(PATH_RBAC.'model/RbacUsers.php'); @@ -2045,7 +2047,7 @@ class ldapAdvanced $criteriaCount = new Criteria('workflow'); $criteriaCount->clearSelectColumns(); - $criteriaCount->addSelectColumn( 'COUNT(*)' ); + $criteriaCount->addSelectColumn('COUNT(*)'); $criteriaCount->add(DepartmentPeer::DEP_PARENT, $oDepartment->getDepUid(), Criteria::EQUAL); $rs = DepartmentPeer::doSelectRS($criteriaCount); $rs->next(); @@ -2054,7 +2056,7 @@ class ldapAdvanced $result[] = $node; } - if ( count($result) >= 1 ) { + if (count($result) >= 1) { $result[ count($result) -1 ]['DEP_LAST'] = 1; } @@ -2108,11 +2110,11 @@ class ldapAdvanced $attributes = $aAuthSource["AUTH_SOURCE_DATA"]; $this->sTerminatedOu = isset($attributes['AUTH_SOURCE_RETIRED_OU'])? trim($attributes['AUTH_SOURCE_RETIRED_OU']) : ''; - if ($this->sTerminatedOu == '' ) { + if ($this->sTerminatedOu == '') { return $aUsers; } - return $this->getUsersFromDepartmentByName( $this->sTerminatedOu ); + return $this->getUsersFromDepartmentByName($this->sTerminatedOu); } /** @@ -2142,8 +2144,8 @@ class ldapAdvanced $con = Propel::getConnection('rbac'); // select set $c1 = new Criteria('rbac'); - $c1->add(RbacUsersPeer::USR_USERNAME, $aUsrUid, Criteria::IN ); - $c1->add(RbacUsersPeer::USR_STATUS, 1 ); + $c1->add(RbacUsersPeer::USR_USERNAME, $aUsrUid, Criteria::IN); + $c1->add(RbacUsersPeer::USR_STATUS, 1); // update set $c2 = new Criteria('rbac'); $c2->add(RbacUsersPeer::USR_STATUS, '0'); @@ -2152,7 +2154,7 @@ class ldapAdvanced $con = Propel::getConnection('workflow'); // select set $c1 = new Criteria('workflow'); - $c1->add(UsersPeer::USR_USERNAME, $aUsrUid, Criteria::IN ); + $c1->add(UsersPeer::USR_USERNAME, $aUsrUid, Criteria::IN); // update set $c2 = new Criteria('workflow'); $c2->add(UsersPeer::USR_STATUS, 'INACTIVE'); @@ -2360,7 +2362,7 @@ class ldapAdvanced { try { $criteria = new Criteria('workflow'); - $criteria->add(GroupwfPeer::GRP_STATUS , 'ACTIVE'); + $criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE'); $criteria->add(GroupwfPeer::GRP_LDAP_DN, $currentDN); $dataset = GroupwfPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); diff --git a/workflow/engine/classes/License_Application.php b/workflow/engine/classes/License_Application.php index 620a7fe1d..c097dc734 100644 --- a/workflow/engine/classes/License_Application.php +++ b/workflow/engine/classes/License_Application.php @@ -1,57 +1,6 @@ - * @history--------------------------------------------- - * see CHANGELOG - */ -/** - * Project: Distrubution License Class - * File: class.license.app.php - * - * Copyright (C) 2005 Oliver Lillie - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * @link http://www.buggedcom.co.uk/ - * @link http://www.phpclasses.org/browse/package/2298.html - * @author Oliver Lillie, buggedcom - * @history--------------------------------------------- - * see CHANGELOG - */class license_application extends padl +class license_application extends padl { /** * The number of allowed differences between the $_SERVER vars and the vars diff --git a/workflow/engine/classes/MultipleFilesBackup.php b/workflow/engine/classes/MultipleFilesBackup.php index 4aabcf517..8dc921cd4 100644 --- a/workflow/engine/classes/MultipleFilesBackup.php +++ b/workflow/engine/classes/MultipleFilesBackup.php @@ -1,236 +1,229 @@ -filename = $filename; - } - if (! empty( $size ) && (int) $size > 0) { - $this->fileSize = $size; - } - } - - /* Gets workspace information enough to make its backup. - * @workspace contains the workspace to be add to the commpression process. - */ - public function addToBackup ($workspace) - { - //verifing if workspace exists. - if (! $workspace->workspaceExists()) { - echo "Workspace {$workspace->name} not found\n"; - return false; - } - //create destination path - if (! file_exists( PATH_DATA . "upgrade/" )) { - mkdir( PATH_DATA . "upgrade/" ); - } - $tempDirectory = PATH_DATA . "upgrade/" . basename( tempnam( __FILE__, '' ) ); - mkdir( $tempDirectory ); - $metadata = $workspace->getMetadata(); - CLI::logging( "Creating temporary files on database...\n" ); - $metadata["databases"] = $workspace->exportDatabase( $tempDirectory ); - $metadata["directories"] = array ("{$workspace->name}"); - $metadata["version"] = 1; - $metaFilename = "$tempDirectory/{$workspace->name}.meta"; - if (! file_put_contents( $metaFilename, str_replace( array (",","{","}"), array (",\n ","{\n ","\n}\n"), G::json_encode( $metadata ) ) )) { - CLI::logging( "Could not create backup metadata" ); - } - CLI::logging( "Adding database to backup...\n" ); - $this->addDirToBackup( $tempDirectory ); - CLI::logging( "Adding files to backup...\n" ); - $this->addDirToBackup( $workspace->path ); - $this->tempDirectories[] = $tempDirectory; - } - - /* Add a directory containing Db files or info files to be commpressed - * @directory the name and path of the directory to be add to the commpression process. - */ - private function addDirToBackup ($directory) - { - if (! empty( $directory )) { - $this->dir_to_compress .= $directory . " "; - } - } - - // Commpress the DB and files into a single or several files with numerical series extentions - - public function letsBackup () - { - // creating command - $CommpressCommand = "tar czv "; - $CommpressCommand .= $this->dir_to_compress; - $CommpressCommand .= "| split -b "; - $CommpressCommand .= $this->fileSize; - $CommpressCommand .= "m -d - "; - $CommpressCommand .= $this->filename . "."; - //executing command to create the files - echo exec( $CommpressCommand ); - //Remove leftovers dirs. - foreach ($this->tempDirectories as $tempDirectory) { - CLI::logging( "Deleting: " . $tempDirectory . "\n" ); - G::rm_dir( $tempDirectory ); - } - } - /* Restore from file(s) commpressed by letsBackup function, into a temporary directory - * @ filename got the name and path of the compressed file(s), if there are many files with file extention as a numerical series, the extention should be discriminated. - * @ srcWorkspace contains the workspace to be restored. - * @ dstWorkspace contains the workspace to be overwriting. - * @ overwrite got the option true if the workspace will be overwrite. - */ - static public function letsRestore ($filename, $srcWorkspace, $dstWorkspace = null, $overwrite = true) - { - // Needed info: - // TEMPDIR /shared/workflow_data/upgrade/ - // BACKUPS /shared/workflow_data/backups/ - // Creating command cat myfiles_split.tgz_* | tar xz - $DecommpressCommand = "cat " . $filename . ".* "; - $DecommpressCommand .= " | tar xzv"; - - $tempDirectory = PATH_DATA . "upgrade/" . basename( tempnam( __FILE__, '' ) ); - $tempDirectoryHelp = $tempDirectory; - - $parentDirectory = PATH_DATA . "upgrade"; - if (is_writable( $parentDirectory )) { - mkdir( $tempDirectory ); - } else { - throw new Exception( "Could not create directory:" . $parentDirectory ); - } - //Extract all backup files, including database scripts and workspace files - CLI::logging( "Restoring into " . $tempDirectory . "\n" ); - chdir( $tempDirectory ); - echo exec( $DecommpressCommand ); - CLI::logging( "\nUncompressed into: " . $tempDirectory . "\n" ); - - //Search for metafiles in the new standard (the old standard would contain meta files. - $decommpressedfile = scandir($tempDirectoryHelp.dirname($tempDirectoryHelp), 1); - $tempDirectory = $tempDirectoryHelp.dirname($tempDirectoryHelp)."/".$decommpressedfile[0]; - - $metaFiles = glob( $tempDirectory . "/*.meta" ); - if (empty( $metaFiles )) { - $metaFiles = glob( $tempDirectory . "/*.txt" ); - if (! empty( $metaFiles )) { - return WorkspaceTools::restoreLegacy( $tempDirectory ); - } else { - throw new Exception( "No metadata found in backup" ); - } - } else { - CLI::logging( "Found " . count( $metaFiles ) . " workspaces in backup:\n" ); - foreach ($metaFiles as $metafile) { - CLI::logging( "-> " . basename( $metafile ) . "\n" ); - } - } - if (count( $metaFiles ) > 1 && (! isset( $srcWorkspace ))) { - throw new Exception( "Multiple workspaces in backup but no workspace specified to restore" ); - } - if (isset( $srcWorkspace ) && ! in_array( "$srcWorkspace.meta", array_map( basename, $metaFiles ) )) { - throw new Exception( "Workspace $srcWorkspace not found in backup" ); - } - foreach ($metaFiles as $metaFile) { - $metadata = G::json_decode( file_get_contents( $metaFile ) ); - if ($metadata->version != 1) { - throw new Exception( "Backup version {$metadata->version} not supported" ); - } - $backupWorkspace = $metadata->WORKSPACE_NAME; - if (isset( $dstWorkspace )) { - $workspaceName = $dstWorkspace; - $createWorkspace = true; - } else { - $workspaceName = $metadata->WORKSPACE_NAME; - $createWorkspace = false; - } - if (isset( $srcWorkspace ) && strcmp( $metadata->WORKSPACE_NAME, $srcWorkspace ) != 0) { - CLI::logging( CLI::warning( "> Workspace $backupWorkspace found, but not restoring." ) . "\n" ); - continue; - } else { - CLI::logging( "> Restoring " . CLI::info( $backupWorkspace ) . " to " . CLI::info( $workspaceName ) . "\n" ); - } - $workspace = new WorkspaceTools( $workspaceName ); - if ($workspace->workspaceExists()) { - if ($overwrite) { - CLI::logging( CLI::warning( "> Workspace $workspaceName already exist, overwriting!" ) . "\n" ); - } else { - throw new Exception( "Destination workspace already exist (use -o to overwrite)" ); - } - } - if (file_exists( $workspace->path )) { - G::rm_dir( $workspace->path ); - } - - $tempDirectorySite = $tempDirectoryHelp.dirname($workspace->path); - - foreach ($metadata->directories as $dir) { - CLI::logging( "+> Restoring directory '$dir'\n" ); - if (! rename( "$tempDirectorySite/$dir", $workspace->path )) { - throw new Exception( "There was an error copying the backup files ($tempDirectory/$dir) to the workspace directory {$workspace->path}." ); - } - } - - CLI::logging( "> Changing file permissions\n" ); - $shared_stat = stat( PATH_DATA ); - if ($shared_stat !== false) { - WorkspaceTools::dirPerms( $workspace->path, $shared_stat['uid'], $shared_stat['gid'], $shared_stat['mode'] ); - } else { - CLI::logging( CLI::error( "Could not get the shared folder permissions, not changing workspace permissions" ) . "\n" ); - } - - list ($dbHost, $dbUser, $dbPass) = @explode( SYSTEM_HASH, G::decrypt( HASH_INSTALLATION, SYSTEM_HASH ) ); - - CLI::logging( "> Connecting to system database in '$dbHost'\n" ); - $link = mysql_connect( $dbHost, $dbUser, $dbPass ); - @mysql_query( "SET NAMES 'utf8';" ); - @mysql_query( "SET FOREIGN_KEY_CHECKS=0;" ); - if (! $link) { - throw new Exception( 'Could not connect to system database: ' . mysql_error() ); - } - - if (strpos($metadata->DB_RBAC_NAME, 'rb_') === false) { - $onedb = true; - } else { - $onedb = false; - } - - $newDBNames = $workspace->resetDBInfo( $dbHost, $createWorkspace, $onedb ); - $aParameters = array('dbHost'=>$dbHost,'dbUser'=>$dbUser,'dbPass'=>$dbPass); - - foreach ($metadata->databases as $db) { - $dbName = $newDBNames[$db->name]; - CLI::logging( "+> Restoring database {$db->name} to $dbName\n" ); - $workspace->executeSQLScript( $dbName, "$tempDirectory/{$db->name}.sql", $aParameters ); - $workspace->createDBUser( $dbName, $db->pass, "localhost", $dbName ); - $workspace->createDBUser( $dbName, $db->pass, "%", $dbName ); - } - $workspace->upgradeCacheView( false ); - mysql_close( $link ); - - } - CLI::logging( "Removing temporary files\n" ); - G::rm_dir( $tempDirectory ); - CLI::logging( CLI::info( "Done restoring" ) . "\n" ); - } -} +filename = $filename; + } + if (!empty($size) && (int) $size > 0) { + $this->fileSize = $size; + } + } + + /* Gets workspace information enough to make its backup. + * @workspace contains the workspace to be add to the commpression process. + */ + public function addToBackup($workspace) + { + //verifing if workspace exists. + if (!$workspace->workspaceExists()) { + echo "Workspace {$workspace->name} not found\n"; + return false; + } + //create destination path + if (!file_exists(PATH_DATA . "upgrade/")) { + mkdir(PATH_DATA . "upgrade/"); + } + $tempDirectory = PATH_DATA . "upgrade/" . basename(tempnam(__FILE__, '')); + mkdir($tempDirectory); + $metadata = $workspace->getMetadata(); + CLI::logging("Creating temporary files on database...\n"); + $metadata["databases"] = $workspace->exportDatabase($tempDirectory); + $metadata["directories"] = array("{$workspace->name}"); + $metadata["version"] = 1; + $metaFilename = "$tempDirectory/{$workspace->name}.meta"; + if (!file_put_contents($metaFilename, str_replace(array(",", "{", "}"), array(",\n ", "{\n ", "\n}\n"), G::json_encode($metadata)))) { + CLI::logging("Could not create backup metadata"); + } + CLI::logging("Adding database to backup...\n"); + $this->addDirToBackup($tempDirectory); + CLI::logging("Adding files to backup...\n"); + $this->addDirToBackup($workspace->path); + $this->tempDirectories[] = $tempDirectory; + } + + /* Add a directory containing Db files or info files to be commpressed + * @directory the name and path of the directory to be add to the commpression process. + */ + private function addDirToBackup($directory) + { + if (!empty($directory)) { + $this->dir_to_compress .= $directory . " "; + } + } + + // Commpress the DB and files into a single or several files with numerical series extentions + + public function letsBackup() + { + // creating command + $CommpressCommand = "tar czv "; + $CommpressCommand .= $this->dir_to_compress; + $CommpressCommand .= "| split -b "; + $CommpressCommand .= $this->fileSize; + $CommpressCommand .= "m -d - "; + $CommpressCommand .= $this->filename . "."; + //executing command to create the files + echo exec($CommpressCommand); + //Remove leftovers dirs. + foreach ($this->tempDirectories as $tempDirectory) { + CLI::logging("Deleting: " . $tempDirectory . "\n"); + G::rm_dir($tempDirectory); + } + } + /* Restore from file(s) commpressed by letsBackup function, into a temporary directory + * @ filename got the name and path of the compressed file(s), if there are many files with file extention as a numerical series, the extention should be discriminated. + * @ srcWorkspace contains the workspace to be restored. + * @ dstWorkspace contains the workspace to be overwriting. + * @ overwrite got the option true if the workspace will be overwrite. + */ + public static function letsRestore($filename, $srcWorkspace, $dstWorkspace = null, $overwrite = true) + { + // Needed info: + // TEMPDIR /shared/workflow_data/upgrade/ + // BACKUPS /shared/workflow_data/backups/ + // Creating command cat myfiles_split.tgz_* | tar xz + $DecommpressCommand = "cat " . $filename . ".* "; + $DecommpressCommand .= " | tar xzv"; + + $tempDirectory = PATH_DATA . "upgrade/" . basename(tempnam(__FILE__, '')); + $tempDirectoryHelp = $tempDirectory; + + $parentDirectory = PATH_DATA . "upgrade"; + if (is_writable($parentDirectory)) { + mkdir($tempDirectory); + } else { + throw new Exception("Could not create directory:" . $parentDirectory); + } + //Extract all backup files, including database scripts and workspace files + CLI::logging("Restoring into " . $tempDirectory . "\n"); + chdir($tempDirectory); + echo exec($DecommpressCommand); + CLI::logging("\nUncompressed into: " . $tempDirectory . "\n"); + + //Search for metafiles in the new standard (the old standard would contain meta files. + $decommpressedfile = scandir($tempDirectoryHelp . dirname($tempDirectoryHelp), 1); + $tempDirectory = $tempDirectoryHelp . dirname($tempDirectoryHelp) . "/" . $decommpressedfile[0]; + + $metaFiles = glob($tempDirectory . "/*.meta"); + if (empty($metaFiles)) { + $metaFiles = glob($tempDirectory . "/*.txt"); + if (!empty($metaFiles)) { + return WorkspaceTools::restoreLegacy($tempDirectory); + } else { + throw new Exception("No metadata found in backup"); + } + } else { + CLI::logging("Found " . count($metaFiles) . " workspaces in backup:\n"); + foreach ($metaFiles as $metafile) { + CLI::logging("-> " . basename($metafile) . "\n"); + } + } + if (count($metaFiles) > 1 && (!isset($srcWorkspace))) { + throw new Exception("Multiple workspaces in backup but no workspace specified to restore"); + } + if (isset($srcWorkspace) && !in_array("$srcWorkspace.meta", array_map(basename, $metaFiles))) { + throw new Exception("Workspace $srcWorkspace not found in backup"); + } + foreach ($metaFiles as $metaFile) { + $metadata = G::json_decode(file_get_contents($metaFile)); + if ($metadata->version != 1) { + throw new Exception("Backup version {$metadata->version} not supported"); + } + $backupWorkspace = $metadata->WORKSPACE_NAME; + if (isset($dstWorkspace)) { + $workspaceName = $dstWorkspace; + $createWorkspace = true; + } else { + $workspaceName = $metadata->WORKSPACE_NAME; + $createWorkspace = false; + } + if (isset($srcWorkspace) && strcmp($metadata->WORKSPACE_NAME, $srcWorkspace) != 0) { + CLI::logging(CLI::warning("> Workspace $backupWorkspace found, but not restoring.") . "\n"); + continue; + } else { + CLI::logging("> Restoring " . CLI::info($backupWorkspace) . " to " . CLI::info($workspaceName) . "\n"); + } + $workspace = new WorkspaceTools($workspaceName); + if ($workspace->workspaceExists()) { + if ($overwrite) { + CLI::logging(CLI::warning("> Workspace $workspaceName already exist, overwriting!") . "\n"); + } else { + throw new Exception("Destination workspace already exist (use -o to overwrite)"); + } + } + if (file_exists($workspace->path)) { + G::rm_dir($workspace->path); + } + + $tempDirectorySite = $tempDirectoryHelp . dirname($workspace->path); + + foreach ($metadata->directories as $dir) { + CLI::logging("+> Restoring directory '$dir'\n"); + if (!rename("$tempDirectorySite/$dir", $workspace->path)) { + throw new Exception("There was an error copying the backup files ($tempDirectory/$dir) to the workspace directory {$workspace->path}."); + } + } + + CLI::logging("> Changing file permissions\n"); + $shared_stat = stat(PATH_DATA); + if ($shared_stat !== false) { + WorkspaceTools::dirPerms($workspace->path, $shared_stat['uid'], $shared_stat['gid'], $shared_stat['mode']); + } else { + CLI::logging(CLI::error("Could not get the shared folder permissions, not changing workspace permissions") . "\n"); + } + + list($dbHost, $dbUser, $dbPass) = @explode(SYSTEM_HASH, G::decrypt(HASH_INSTALLATION, SYSTEM_HASH)); + + CLI::logging("> Connecting to system database in '$dbHost'\n"); + $link = mysql_connect($dbHost, $dbUser, $dbPass); + @mysql_query("SET NAMES 'utf8';"); + @mysql_query("SET FOREIGN_KEY_CHECKS=0;"); + if (!$link) { + throw new Exception('Could not connect to system database: ' . mysql_error()); + } + + if (strpos($metadata->DB_RBAC_NAME, 'rb_') === false) { + $onedb = true; + } else { + $onedb = false; + } + + $newDBNames = $workspace->resetDBInfo($dbHost, $createWorkspace, $onedb); + $aParameters = array('dbHost' => $dbHost, 'dbUser' => $dbUser, 'dbPass' => $dbPass); + + foreach ($metadata->databases as $db) { + $dbName = $newDBNames[$db->name]; + CLI::logging("+> Restoring database {$db->name} to $dbName\n"); + $workspace->executeSQLScript($dbName, "$tempDirectory/{$db->name}.sql", $aParameters); + $workspace->createDBUser($dbName, $db->pass, "localhost", $dbName); + $workspace->createDBUser($dbName, $db->pass, "%", $dbName); + } + $workspace->upgradeCacheView(false); + mysql_close($link); + } + CLI::logging("Removing temporary files\n"); + G::rm_dir($tempDirectory); + CLI::logging(CLI::info("Done restoring") . "\n"); + } +} diff --git a/workflow/engine/classes/NET.php b/workflow/engine/classes/Net.php similarity index 78% rename from workflow/engine/classes/NET.php rename to workflow/engine/classes/Net.php index 8eb66b376..cd6569207 100644 --- a/workflow/engine/classes/NET.php +++ b/workflow/engine/classes/Net.php @@ -1,19 +1,6 @@ errstr = ""; $this->db_instance = ""; - unset( $this->db_user ); - unset( $this->db_passwd ); - unset( $this->db_sourcename ); + unset($this->db_user); + unset($this->db_passwd); + unset($this->db_sourcename); #verifing valid param if ($pHost == "") { @@ -72,7 +59,7 @@ $this->errstr = "NET::You must specify a host"; //$this->showMsg(); } - $this->resolv( $pHost ); + $this->resolv($pHost); } /** @@ -81,31 +68,31 @@ * @param string $pHost * @return void */ - public function resolv ($pHost) + public function resolv($pHost) { - $aHost = explode( "\\", $pHost ); - if (count( $aHost ) > 1) { + $aHost = explode("\\", $pHost); + if (count($aHost) > 1) { $ipHost = $aHost[0]; $this->db_instance = $aHost[1]; } else { $ipHost = $pHost; } - if ($this->is_ipaddress( $ipHost )) { + if ($this->is_ipaddress($ipHost)) { $this->ip = $ipHost; - if (! $this->hostname = @gethostbyaddr( $ipHost )) { + if (! $this->hostname = @gethostbyaddr($ipHost)) { $this->errno = 2000; $this->errstr = "NET::Host down"; $this->error = G::loadTranslation('ID_HOST_UNREACHABLE'); } } else { - $ip = @gethostbyname( $ipHost ); - $long = ip2long( $ip ); + $ip = @gethostbyname($ipHost); + $long = ip2long($ip); if ($long == - 1 || $long === false) { $this->errno = 2000; $this->errstr = "NET::Host down"; $this->error = G::loadTranslation('ID_HOST_UNREACHABLE'); } else { - $this->ip = @gethostbyname( $ipHost ); + $this->ip = @gethostbyname($ipHost); $this->hostname = $pHost; } } @@ -117,14 +104,14 @@ * @param string $pPort * @return true */ - public function scannPort ($pPort) + public function scannPort($pPort) { - define( 'TIMEOUT', 5 ); - $hostip = @gethostbyname( $host ); // resloves IP from Hostname returns hostname on failure + define('TIMEOUT', 5); + $hostip = @gethostbyname($host); // resloves IP from Hostname returns hostname on failure // attempt to connect - if (@fsockopen( $this->ip, $pPort, $this->errno, $this->errstr, TIMEOUT )) { + if (@fsockopen($this->ip, $pPort, $this->errno, $this->errstr, TIMEOUT)) { return true; - @fclose( $x ); //close connection (i dont know if this is needed or not). + @fclose($x); //close connection (i dont know if this is needed or not). } else { $this->errno = 9999; $this->errstr = "NET::Port Host Unreachable"; @@ -139,16 +126,16 @@ * @param string $pHost * @return true */ - public function is_ipaddress ($pHost) + public function is_ipaddress($pHost) { $key = true; #verifing if is a ip address - $tmp = explode( ".", $pHost ); + $tmp = explode(".", $pHost); #if have a ip address format - if (count( $tmp ) == 4) { + if (count($tmp) == 4) { #if a correct ip address - for ($i = 0; $i < count( $tmp ); $i ++) { - if (! is_int( $tmp[$i] )) { + for ($i = 0; $i < count($tmp); $i ++) { + if (! is_int($tmp[$i])) { $key = false; break; } @@ -165,12 +152,12 @@ * @param string $pHost * @return true */ - public function ping ($pTTL = 3000) + public function ping($pTTL = 3000) { $cmd = "ping -w $pTTL $this->ip"; - $output = exec( $cmd, $a, $a1 ); + $output = exec($cmd, $a, $a1); $this->errstr = ""; - for ($i = 0; $i < count( $a ); $i ++) { + for ($i = 0; $i < count($a); $i ++) { $this->errstr += $a[$i]; } $this->errno = $a1; @@ -183,7 +170,7 @@ * @param string $pPasswd * @return void */ - public function loginDbServer ($pUser, $pPasswd) + public function loginDbServer($pUser, $pPasswd) { $this->db_user = $pUser; $this->db_passwd = $pPasswd; @@ -196,7 +183,7 @@ * @param string $pPort * @return void */ - public function setDataBase ($pDb, $pPort = '') + public function setDataBase($pDb, $pPort = '') { $this->db_sourcename = $pDb; $this->db_port = $pPort; @@ -212,10 +199,9 @@ */ public function tryConnectServer($pDbDriver, array $arrayServerData = array(), $dbsEncode = "") { - $filter = new InputFilter(); $this->ip = $filter->validateInput($this->ip); - $this->db_port = $filter->validateInput($this->db_port,'int'); + $this->db_port = $filter->validateInput($this->db_port, 'int'); $this->db_user = $filter->validateInput($this->db_user); $this->db_passwd = $filter->validateInput($this->db_passwd); $this->db_sourcename = $filter->validateInput($this->db_sourcename); @@ -227,10 +213,10 @@ if (array_key_exists("connectionType", $arrayServerData) || array_key_exists("DBS_TYPEORACLE", $arrayServerData)) { if ($arrayServerData["connectionType"] == "TNS" || $arrayServerData["DBS_TYPEORACLE"] == "TNS") { $flagTns=1; - }else{ + } else { $flagTns=0; } - }else{ + } else { $flagTns=0; } @@ -238,12 +224,12 @@ switch ($pDbDriver) { case 'mysql': if ($this->db_passwd == '') { - $link = @mysql_connect( $this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user ); + $link = @mysql_connect($this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user); } else { - $link = @mysql_connect( $this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user, $this->db_passwd ); + $link = @mysql_connect($this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user, $this->db_passwd); } if ($link) { - if (@mysql_ping( $link )) { + if (@mysql_ping($link)) { $stat->status = 'SUCCESS'; $this->errstr = ""; $this->errno = 0; @@ -260,7 +246,7 @@ break; case 'pgsql': $this->db_port = ($this->db_port == "") ? "5432" : $this->db_port; - $link = @pg_connect( "host='$this->ip' port='$this->db_port' user='$this->db_user' password='$this->db_passwd' dbname='$this->db_sourcename'" ); + $link = @pg_connect("host='$this->ip' port='$this->db_port' user='$this->db_user' password='$this->db_passwd' dbname='$this->db_sourcename'"); if ($link) { $stat->status = 'SUCCESS'; $this->errstr = ""; @@ -274,10 +260,10 @@ case 'mssql': if ($this->db_instance != "") { $str_port = ""; - $link = @mssql_connect( $this->ip . "\\" . $this->db_instance, $this->db_user, $this->db_passwd ); + $link = @mssql_connect($this->ip . "\\" . $this->db_instance, $this->db_user, $this->db_passwd); } else { $str_port = (($this->db_port == "") || ($this->db_port == 0) || ($this->db_port == 1433)) ? "" : ":" . $this->db_port; - $link = @mssql_connect( $this->ip . $str_port, $this->db_user, $this->db_passwd ); + $link = @mssql_connect($this->ip . $str_port, $this->db_user, $this->db_passwd); } if ($link) { @@ -310,7 +296,7 @@ $this->errno = 30001; } } catch (Exception $e) { - throw new Exception( "[erik] Couldn't connect to Oracle Server! - " . $e->getMessage() ); + throw new Exception("[erik] Couldn't connect to Oracle Server! - " . $e->getMessage()); } break; case 'informix': @@ -319,7 +305,7 @@ break; } } else { - throw new Exception( "CLASS::NET::ERROR: No connections param." ); + throw new Exception("CLASS::NET::ERROR: No connections param."); } return $stat; @@ -335,10 +321,9 @@ */ public function tryOpenDataBase($pDbDriver, array $arrayServerData = array(), $dbsEncode = "") { - $filter = new InputFilter(); $this->ip = $filter->validateInput($this->ip); - $this->db_port = $filter->validateInput($this->db_port,'int'); + $this->db_port = $filter->validateInput($this->db_port, 'int'); $this->db_user = $filter->validateInput($this->db_user); $this->db_passwd = $filter->validateInput($this->db_passwd); $this->db_sourcename = $filter->validateInput($this->db_sourcename); @@ -346,32 +331,32 @@ return 0; } - set_time_limit( 0 ); + set_time_limit(0); $stat = new Stat(); if (array_key_exists("connectionType", $arrayServerData) || array_key_exists("DBS_TYPEORACLE", $arrayServerData)) { if ($arrayServerData["connectionType"] == "TNS" || $arrayServerData["DBS_TYPEORACLE"] == "TNS") { $flagTns=1; - }else{ + } else { $flagTns=0; } - }else{ + } else { $flagTns=0; } if (isset($this->db_user) && (isset($this->db_passwd) || $this->db_passwd == "") && (isset($this->db_sourcename) || $flagTns == 1)) { switch ($pDbDriver) { case 'mysql': - $link = @mysql_connect( $this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user, $this->db_passwd ); - $db = @mysql_select_db( $this->db_sourcename ); + $link = @mysql_connect($this->ip . (($this->db_port != '') && ($this->db_port != 0) ? ':' . $this->db_port : ''), $this->db_user, $this->db_passwd); + $db = @mysql_select_db($this->db_sourcename); if ($link) { if ($db) { - $result = @mysql_query( "show tables;" ); + $result = @mysql_query("show tables;"); if ($result) { $stat->status = 'SUCCESS'; $this->errstr = ""; $this->errno = 0; - @mysql_free_result( $result ); + @mysql_free_result($result); } else { $this->error = "the user $this->db_user doesn't have privileges to run queries!"; $this->errstr = "NET::MYSQL->Test query failed"; @@ -390,9 +375,9 @@ break; case 'pgsql': $this->db_port = (($this->db_port == "") || ($this->db_port == 0)) ? "5432" : $this->db_port; - $link = @pg_connect( "host='$this->ip' port='$this->db_port' user='$this->db_user' password='$this->db_passwd' dbname='$this->db_sourcename'" ); + $link = @pg_connect("host='$this->ip' port='$this->db_port' user='$this->db_user' password='$this->db_passwd' dbname='$this->db_sourcename'"); if ($link) { - if (@pg_ping( $link )) { + if (@pg_ping($link)) { $stat->status = 'SUCCESS'; $this->errstr = ""; $this->errno = 0; @@ -412,13 +397,13 @@ // $link = @mssql_connect($this->ip . $str_port, $this->db_user, $this->db_passwd); if ($this->db_instance != "") { $str_port = ""; - $link = @mssql_connect( $this->ip . "\\" . $this->db_instance, $this->db_user, $this->db_passwd ); + $link = @mssql_connect($this->ip . "\\" . $this->db_instance, $this->db_user, $this->db_passwd); } else { $str_port = (($this->db_port == "") || ($this->db_port == 0) || ($this->db_port == 1433)) ? "" : ":" . $this->db_port; - $link = @mssql_connect( $this->ip . $str_port, $this->db_user, $this->db_passwd ); + $link = @mssql_connect($this->ip . $str_port, $this->db_user, $this->db_passwd); } if ($link) { - $db = @mssql_select_db( $this->db_sourcename, $link ); + $db = @mssql_select_db($this->db_sourcename, $link); if ($db) { $stat->status = 'SUCCESS'; $this->errstr = ""; @@ -445,7 +430,7 @@ if ($cnn) { $stid = @oci_parse($cnn, 'select AUTHENTICATION_TYPE from v$session_connect_info'); - $result = @oci_execute( $stid, OCI_DEFAULT ); + $result = @oci_execute($stid, OCI_DEFAULT); if ($result) { $stat->status = 'SUCCESS'; $this->errstr = ""; @@ -468,7 +453,7 @@ break; } } else { - throw new Exception( "CLASS::NET::ERROR: No connections param." ); + throw new Exception("CLASS::NET::ERROR: No connections param."); } return $stat; } @@ -479,30 +464,29 @@ * @param string $driver * @return void */ - public function getDbServerVersion ($driver) + public function getDbServerVersion($driver) { - if (! isset( $this->ip )) { - $this->ip = getenv( 'HTTP_CLIENT_IP' ); + if (! isset($this->ip)) { + $this->ip = getenv('HTTP_CLIENT_IP'); } - if (isset( $this->ip ) && isset( $this->db_user ) && isset( $this->db_passwd )) { + if (isset($this->ip) && isset($this->db_user) && isset($this->db_passwd)) { try { - if (! isset( $this->db_sourcename )) { + if (! isset($this->db_sourcename)) { $this->db_sourcename = DB_NAME; } $value = 'none'; - $sDataBase = 'database_' . strtolower( DB_ADAPTER ); - if (G::LoadSystemExist( $sDataBase )) { - + $sDataBase = 'database_' . strtolower(DB_ADAPTER); + if (G::LoadSystemExist($sDataBase)) { $oDataBase = new database(); - $value = $oDataBase->getServerVersion( $driver, $this->ip, $this->db_port, $this->db_user, $this->db_passwd, $this->db_sourcename ); + $value = $oDataBase->getServerVersion($driver, $this->ip, $this->db_port, $this->db_user, $this->db_passwd, $this->db_sourcename); } return $value; } catch (Exception $e) { - throw new Exception( $e->getMessage() ); + throw new Exception($e->getMessage()); } } else { - throw new Exception( 'NET::Error->No params for Data Base Server!' ); + throw new Exception('NET::Error->No params for Data Base Server!'); } } @@ -512,7 +496,7 @@ * @param string $pAdapter * @return void */ - public function dbName ($pAdapter) + public function dbName($pAdapter) { switch ($pAdapter) { case 'mysql': @@ -542,7 +526,7 @@ * @param string $pAdapter * @return void */ - public function showMsg () + public function showMsg() { if ($this->errno != 0) { $msg = " @@ -556,7 +540,7 @@
"; - print ($msg) ; + print($msg) ; } } @@ -566,7 +550,7 @@ * * @return string */ - public function getErrno () + public function getErrno() { return $this->errno; } @@ -577,7 +561,7 @@ * * @return string */ - public function getErrmsg () + public function getErrmsg() { return $this->errstr; } diff --git a/workflow/engine/classes/ObjectCellection.php b/workflow/engine/classes/ObjectCollection.php similarity index 58% rename from workflow/engine/classes/ObjectCellection.php rename to workflow/engine/classes/ObjectCollection.php index bfa322df8..3afcff0f0 100644 --- a/workflow/engine/classes/ObjectCellection.php +++ b/workflow/engine/classes/ObjectCollection.php @@ -1,35 +1,11 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - /** * ObjectDocument Collection * * @package workflow.engine.ProcessMaker - */class ObjectCellection + */ +class ObjectCollection { public $num; public $swapc; @@ -40,7 +16,7 @@ */ public function __construct() { - $this->objects = Array(); + $this->objects = array(); $this->num = 0; $this->swapc = $this->num; array_push($this->objects, 'void'); diff --git a/workflow/engine/classes/ServerConf.php b/workflow/engine/classes/ServerConf.php index 99faad879..2d3d8bd08 100644 --- a/workflow/engine/classes/ServerConf.php +++ b/workflow/engine/classes/ServerConf.php @@ -347,7 +347,7 @@ { $sMySQLVersion = '?????'; if (defined("DB_HOST")) { - $dbNetView = new NET(DB_HOST); + $dbNetView = new Net(DB_HOST); $dbNetView->loginDbServer(DB_USER, DB_PASS); $dbConns = new DbConnections(''); diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php index 564f80850..7f8fbfcdf 100644 --- a/workflow/engine/classes/WorkspaceTools.php +++ b/workflow/engine/classes/WorkspaceTools.php @@ -1145,7 +1145,7 @@ class WorkspaceTools $Fields['WORKSPACE_NAME'] = $this->name; if (isset($this->dbHost)) { - $dbNetView = new NET($this->dbHost); + $dbNetView = new Net($this->dbHost); $dbNetView->loginDbServer($this->dbUser, $this->dbPass); try { if (!defined('DB_ADAPTER')) { diff --git a/workflow/engine/controllers/admin.php b/workflow/engine/controllers/admin.php index bba49987b..f7c29b7bf 100644 --- a/workflow/engine/controllers/admin.php +++ b/workflow/engine/controllers/admin.php @@ -230,7 +230,7 @@ class Admin extends Controller $redhat .= " (" . PHP_OS . ")"; if (defined( "DB_HOST" )) { - $dbNetView = new NET( DB_HOST ); + $dbNetView = new Net( DB_HOST ); $dbNetView->loginDbServer( DB_USER, DB_PASS ); $dbConns = new DbConnections( '' ); diff --git a/workflow/engine/controllers/adminProxy.php b/workflow/engine/controllers/adminProxy.php index 33fadfae5..80b11394b 100644 --- a/workflow/engine/controllers/adminProxy.php +++ b/workflow/engine/controllers/adminProxy.php @@ -433,7 +433,7 @@ class adminProxy extends HttpProxyController $Mailto = $_POST['eMailto']; $SMTPSecure = $_POST['UseSecureCon']; - $Server = new NET($server); + $Server = new Net($server); $smtp = new SMTP; $timeout = 10; diff --git a/workflow/engine/controllers/main.php b/workflow/engine/controllers/main.php index 5ff4f9e25..7df672d54 100644 --- a/workflow/engine/controllers/main.php +++ b/workflow/engine/controllers/main.php @@ -695,7 +695,7 @@ class Main extends Controller $redhat .= " (" . PHP_OS . ")"; if (defined( "DB_HOST" )) { - $dbNetView = new NET( DB_HOST ); + $dbNetView = new Net( DB_HOST ); $dbNetView->loginDbServer( DB_USER, DB_PASS ); $dbConns = new DbConnections( '' ); diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index 90f5e2786..e013502ec 100644 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -918,7 +918,7 @@ class pmTablesProxy extends HttpProxyController try { $result = new stdClass(); - $net = new NET( G::getIpAddress() ); + $net = new Net( G::getIpAddress() ); $META = " \n-----== ProcessMaker Open Source Private Tables ==-----\n" . " @Ver: 1.0 Oct-2009\n" . " @Processmaker version: " . PmSystem::getVersion() . "\n" . " -------------------------------------------------------\n" . " @Export Date: " . date( "l jS \of F Y h:i:s A" ) . "\n" . " @Server address: " . getenv( 'SERVER_NAME' ) . " (" . getenv( 'SERVER_ADDR' ) . ")\n" . " @Client address: " . $net->hostname . "\n" . " @Workspace: " . SYS_SYS . "\n" . " @Export trace back:\n\n"; diff --git a/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php b/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php index d1f5363fb..f97356c89 100644 --- a/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php +++ b/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php @@ -235,7 +235,7 @@ try { function getLDAPAdvanceInstance($authUid) { $RBAC = &RBAC::getSingleton(); - $ldapAdvanced = new ldapAdvanced(); + $ldapAdvanced = new LdapAdvanced(); $ldapAdvanced->sAuthSource = $authUid; $ldapAdvanced->sSystem = $RBAC->sSystem; diff --git a/workflow/engine/methods/authSources/ldapAdvancedProxy.php b/workflow/engine/methods/authSources/ldapAdvancedProxy.php index cd9d615a3..2800c8825 100644 --- a/workflow/engine/methods/authSources/ldapAdvancedProxy.php +++ b/workflow/engine/methods/authSources/ldapAdvancedProxy.php @@ -152,7 +152,7 @@ switch ($function) { $aFields['AUTH_SOURCE_DATA'] = $aData; //LDAP_PAGE_SIZE_LIMIT - $ldapAdvanced = new ldapAdvanced(); + $ldapAdvanced = new LdapAdvanced(); try { $arrayAuthenticationSourceData = $aFields; @@ -205,7 +205,7 @@ switch ($function) { //Get data $arrayData = array(); - $ldapAdvanced = new ldapAdvanced(); + $ldapAdvanced = new LdapAdvanced(); $ldapAdvanced->sAuthSource = $authenticationSourceUid; $result = $ldapAdvanced->searchUsers($keyword, $start, $limit); @@ -345,7 +345,7 @@ switch ($function) { $arrayAuthenticationSourceData['AUTH_SOURCE_VERSION'] = 3; //Test connection - $ldapAdvanced = new ldapAdvanced(); + $ldapAdvanced = new LdapAdvanced(); $ldapcnn = $ldapAdvanced->ldapConnection($arrayAuthenticationSourceData); diff --git a/workflow/engine/methods/dbConnections/dbConnectionsAjax.php b/workflow/engine/methods/dbConnections/dbConnectionsAjax.php index 44b1dbc84..3f6b043ae 100644 --- a/workflow/engine/methods/dbConnections/dbConnectionsAjax.php +++ b/workflow/engine/methods/dbConnections/dbConnectionsAjax.php @@ -240,7 +240,7 @@ switch ($action) { } } - $Server = new NET($server); + $Server = new Net($server); switch ($step) { case 1: @@ -305,7 +305,7 @@ switch ($action) { $connectionType = $_POST["connectionType"]; $tns = $_POST["tns"]; - $net = new NET(); + $net = new Net(); switch ($step) { case 1: diff --git a/workflow/engine/methods/services/ldapadvanced.php b/workflow/engine/methods/services/ldapadvanced.php index 7ee2bb43c..a37594dd4 100644 --- a/workflow/engine/methods/services/ldapadvanced.php +++ b/workflow/engine/methods/services/ldapadvanced.php @@ -48,7 +48,7 @@ class ldapadvancedClassCron $rbac->authSourcesObj = new AuthenticationSource(); } - $plugin = new ldapAdvanced(); + $plugin = new LdapAdvanced(); $plugin->sSystem = $rbac->sSystem; $plugin->setFrontEnd(true); diff --git a/workflow/engine/methods/setup/appCacheViewAjax.php b/workflow/engine/methods/setup/appCacheViewAjax.php index 1e1f5042d..77c86bb6e 100644 --- a/workflow/engine/methods/setup/appCacheViewAjax.php +++ b/workflow/engine/methods/setup/appCacheViewAjax.php @@ -26,7 +26,7 @@ function testConnection($type, $server, $user, $passwd, $port = 'none', $dbName } } - $Server = new NET($server); + $Server = new Net($server); $filter = new InputFilter(); if ($Server->getErrno() == 0) { diff --git a/workflow/engine/methods/setup/emails_Ajax.php b/workflow/engine/methods/setup/emails_Ajax.php index 1d5411532..695ee8611 100644 --- a/workflow/engine/methods/setup/emails_Ajax.php +++ b/workflow/engine/methods/setup/emails_Ajax.php @@ -92,7 +92,7 @@ switch ($request) { $SMTPSecure = $_POST['SMTPSecure']; $timeout = 10; - $Server = new NET( $srv ); + $Server = new Net( $srv ); $smtp = new SMTP(); switch ($step) { diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/BusinessModel/DataBaseConnection.php index 12dfb0afd..ec74705ca 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DataBaseConnection.php @@ -271,7 +271,7 @@ class DataBaseConnection $flagTns = ($dataCon["DBS_TYPE"] == "oracle" && $dataCon["DBS_CONNECTION_TYPE"] == "TNS")? 1 : 0; if ($flagTns == 0) { - $Server = new \NET($dataCon['DBS_SERVER']); + $Server = new \Net($dataCon['DBS_SERVER']); // STEP 1 : Resolving Host Name $respTest['0'] = array(); @@ -356,7 +356,7 @@ class DataBaseConnection } } } else { - $net = new \NET(); + $net = new \Net(); //STEP 0: Trying to open database type TNS $respTest["0"] = array(); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php index 0946e163d..f84a31668 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php @@ -316,7 +316,7 @@ class EmailServer $mailTo = $arrayData["MAIL_TO"]; $smtpSecure = $arrayData["SMTPSECURE"]; - $serverNet = new \NET($server); + $serverNet = new \Net($server); $smtp = new \SMTP(); $timeout = 10; diff --git a/workflow/engine/templates/dbConnections/dbConnections.php b/workflow/engine/templates/dbConnections/dbConnections.php index 185e31e4e..7febee44a 100644 --- a/workflow/engine/templates/dbConnections/dbConnections.php +++ b/workflow/engine/templates/dbConnections/dbConnections.php @@ -47,7 +47,7 @@ $html = ' $flagTns = ($_POST["type"] == "oracle" && $_POST["connectionType"] == "TNS")? 1 : 0; if ($flagTns == 0) { - $host = new NET($_POST["server"]); + $host = new Net($_POST["server"]); $port = $_POST["port"]; diff --git a/workflow/engine/templates/setup/mailConnectiontest.php b/workflow/engine/templates/setup/mailConnectiontest.php index 4d628bae7..6a98f350b 100644 --- a/workflow/engine/templates/setup/mailConnectiontest.php +++ b/workflow/engine/templates/setup/mailConnectiontest.php @@ -1,98 +1,98 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - -/** - * @Description This is the View of all groups from a determinated user - * @author Erik Amaru Ortiz - * @Date 24/04/2008 - * @LastModification 30/05/2008 - * @Updated Nov 6th, 2009 bye Eriknyk - */ - - $host = new net($_POST['srv']); - $host = $filter->xssFilterHard($host); - $width_content = '550px'; - $filter = new InputFilter(); - $_POST = $filter->xssFilterHard($_POST); - $ID_SETUP_MAILCONF_TITLE = $filter->xssFilterHard(G::loadTranslation('ID_SETUP_MAILCONF_TITLE')); - - $html = ' -
-
- - - - -
'.$ID_SETUP_MAILCONF_TITLE.'
-
-
'; - - $tests = Array( - '', - 'Resolve host name '.$_POST['srv'], - 'Checking port '.$_POST['port'].'', - 'Establishing connection to host '.$host->hostname.'' - ); - $tests[] = 'Login as '.$_POST['account'].' on '.$host->hostname.' SMTP Server'; - - - if($_POST['send_test_mail'] == 'yes'){ - $tests[] = 'Sending a test mail from '.$_POST['account'].' to '.$_POST['mail_to'].'...'; - } - $tree->showSign = false; - $n = Array('','uno','dos','tres','cuatro','cinco'); - for($i=1; $i -
-
- - - - -
- '.$html.' -
-
-
- '; - print (""); +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + * + */ + +/** + * @Description This is the View of all groups from a determinated user + * @author Erik Amaru Ortiz + * @Date 24/04/2008 + * @LastModification 30/05/2008 + * @Updated Nov 6th, 2009 bye Eriknyk + */ + + $host = new Net($_POST['srv']); + $host = $filter->xssFilterHard($host); + $width_content = '550px'; + $filter = new InputFilter(); + $_POST = $filter->xssFilterHard($_POST); + $ID_SETUP_MAILCONF_TITLE = $filter->xssFilterHard(G::loadTranslation('ID_SETUP_MAILCONF_TITLE')); + + $html = ' +
+
+ + + + +
'.$ID_SETUP_MAILCONF_TITLE.'
+
+
'; + + $tests = Array( + '', + 'Resolve host name '.$_POST['srv'], + 'Checking port '.$_POST['port'].'', + 'Establishing connection to host '.$host->hostname.'' + ); + $tests[] = 'Login as '.$_POST['account'].' on '.$host->hostname.' SMTP Server'; + + + if($_POST['send_test_mail'] == 'yes'){ + $tests[] = 'Sending a test mail from '.$_POST['account'].' to '.$_POST['mail_to'].'...'; + } + $tree->showSign = false; + $n = Array('','uno','dos','tres','cuatro','cinco'); + for($i=1; $i +
+
+ + + + +
+ '.$html.' +
+
+
+ '; + print ("");