From 045e02c78488ce2ce8b9d4053960c8f231a7b015 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Wed, 4 May 2016 16:34:40 -0400 Subject: [PATCH] HOR-916 --- workflow/engine/classes/class.processes.php | 1 + .../BusinessModel/FilesManager.php | 27 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index b02039d85..11b11699f 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -4213,6 +4213,7 @@ class Processes $filesManager = new \ProcessMaker\BusinessModel\FilesManager(); foreach ($arrayData as $value) { + $value['PRF_PATH'] = str_replace("\\","/" , $value['PRF_PATH']); $filesManager->addProcessFilesManagerInDb($value); } } catch (Exception $e) { diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php index e6870b289..aa8cd56a1 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php @@ -259,14 +259,10 @@ class FilesManager $oProcessFiles->fromArray($aData, \BasePeer::TYPE_FIELDNAME); $path = $aData['PRF_PATH']; - $backPointer = 3; - if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $backPointer = 5; - $path = str_replace("/", DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR, $path); - } - $path = explode(DIRECTORY_SEPARATOR,$path); - $fileDirectory = $path[count($path)-$backPointer]; + $allDirectories = pathinfo($path); + $path = explode('/',$allDirectories['dirname']); + $fileDirectory = $path[count($path)-2]; switch ($fileDirectory) { case 'mailTemplates': @@ -276,7 +272,10 @@ class FilesManager $sDirectory = PATH_DATA_PUBLIC . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']); break; default: - throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($aData['PRF_PATH']))); + if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') { + error_log(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($aData['PRF_PATH']))); + } + return; break; } @@ -501,10 +500,10 @@ class FilesManager { try { $path = ''; - $criteria = new \Criteria("workflow"); - $criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH); - $criteria->add(\ProcessFilesPeer::PRF_UID, $prfUid, \Criteria::EQUAL); - $rsCriteria = \ProcessFilesPeer::doSelectRS($criteria); + $criteriaPf = new \Criteria("workflow"); + $criteriaPf->addSelectColumn(\ProcessFilesPeer::PRF_PATH); + $criteriaPf->add(\ProcessFilesPeer::PRF_UID, $prfUid, \Criteria::EQUAL); + $rsCriteria = \ProcessFilesPeer::doSelectRS($criteriaPf); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); while ($aRow = $rsCriteria->getRow()) { @@ -542,9 +541,9 @@ class FilesManager if (file_exists($path) && !is_dir($path)) { unlink($path); } - } + } - $rs = \ProcessFilesPeer::doDelete($criteria); + $rs = \ProcessFilesPeer::doDelete($criteriaPf); } catch (Exception $e) { throw $e; }