From 44d7a1e0eae2fb558c2f64c6b1b6ae8e4677b095 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Fri, 24 Apr 2015 14:09:22 -0400 Subject: [PATCH] PM-2409 "No muestra ningun mensaje de error al ejecutar..." SOLVED Issue: No muestra ningun mensaje de error al ejecutar messageeventcron.php con un workspace inexistente Cause: No se valida el workspace Solution: Se agrega validacion para verificar si el workspace existe, esto para: - cron.php - messageeventcron.php --- workflow/engine/bin/cron.php | 8 ++++++-- workflow/engine/bin/messageeventcron.php | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/workflow/engine/bin/cron.php b/workflow/engine/bin/cron.php index 4e0932e73..9ab67a4ad 100755 --- a/workflow/engine/bin/cron.php +++ b/workflow/engine/bin/cron.php @@ -5,7 +5,7 @@ */ if ( !defined('PATH_SEP') ) { - define('PATH_SEP', ( substr(PHP_OS, 0, 3) == 'WIN' ) ? '\\' : '/'); + define("PATH_SEP", (substr(PHP_OS, 0, 3) == "WIN")? "\\" : "/"); } $docuroot = explode(PATH_SEP, str_replace('engine' . PATH_SEP . 'methods' . PATH_SEP . 'services', '', dirname(__FILE__))); @@ -129,7 +129,7 @@ if ($force || !$bCronIsRunning) { $oDirectory = dir(PATH_DB); $cws = 0; - while($sObject = $oDirectory->read()) { + while (($sObject = $oDirectory->read()) !== false) { if (($sObject != ".") && ($sObject != "..")) { if (is_dir(PATH_DB . $sObject)) { if (file_exists(PATH_DB . $sObject . PATH_SEP . "db.php")) { @@ -141,6 +141,10 @@ if ($force || !$bCronIsRunning) { } } } else { + if (!is_dir(PATH_DB . $ws) || !file_exists(PATH_DB . $ws . PATH_SEP . "db.php")) { + throw new Exception("Error: The workspace \"$ws\" does not exist"); + } + $cws = 1; system("php -f \"" . dirname(__FILE__) . PATH_SEP . "cron_single.php\" $ws \"$sDate\" \"$dateSystem\" $argsx", $retval); diff --git a/workflow/engine/bin/messageeventcron.php b/workflow/engine/bin/messageeventcron.php index e8d1d9a50..4d884768d 100644 --- a/workflow/engine/bin/messageeventcron.php +++ b/workflow/engine/bin/messageeventcron.php @@ -114,6 +114,10 @@ try { } } } else { + if (!is_dir(PATH_DB . $workspace) || !file_exists(PATH_DB . $workspace . PATH_SEP . "db.php")) { + throw new Exception("Error: The workspace \"$workspace\" does not exist"); + } + $countw++; passthru("php -f \"$messageEventCronSinglePath\" $workspace \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");