From 6df35534addfcac9e7d2df1fa63c3e46e93a24d2 Mon Sep 17 00:00:00 2001 From: jennylee Date: Fri, 19 Sep 2014 16:16:24 -0400 Subject: [PATCH] PM-301 Notice al hacer upgrade, problema con la funcion upgradeFilesManager El metodo upgradeFilesManager estaba recuperando los workspaces y haciendo la actualizacion de los files correspondientes de los mismos, siendo q se llamaba a este metodo por cada workspace. La llamada al metodo upgradeFilesManager y el metodo en si se movieron a la clase class.wsTools.php haciendo la llamada a la misma por cada workspace, para que realize la respectiva actualizacion de los files de cada workspace. --- workflow/engine/bin/tasks/cliUpgrade.php | 64 ----------------------- workflow/engine/classes/class.wsTools.php | 57 ++++++++++++++++++++ 2 files changed, 57 insertions(+), 64 deletions(-) diff --git a/workflow/engine/bin/tasks/cliUpgrade.php b/workflow/engine/bin/tasks/cliUpgrade.php index 82b688458..51f65c613 100755 --- a/workflow/engine/bin/tasks/cliUpgrade.php +++ b/workflow/engine/bin/tasks/cliUpgrade.php @@ -168,7 +168,6 @@ function run_upgrade($command, $args) G::browserCacheFilesSetUid(); - upgradeFilesManager($command); //Status if ($errors) { CLI::logging("Upgrade finished but there were errors upgrading workspaces.\n"); @@ -181,69 +180,6 @@ function run_upgrade($command, $args) $flag = G::isPMUnderUpdating(0); } -/** - * Function upgradeFilesManager - * access public - */ - -function upgradeFilesManager($command = "") { - CLI::logging("> Updating Files Manager...\n\n"); - $workspaces = get_workspaces_from_args($command); - foreach ($workspaces as $workspace) { - $name = $workspace->name; - require_once( PATH_DB . $name . '/db.php' ); - require_once( PATH_THIRDPARTY . 'propel/Propel.php'); - PROPEL::Init ( PATH_METHODS.'dbConnections/rootDbConnections.php' ); - $con = Propel::getConnection("root"); - $stmt = $con->createStatement(); - $sDirectory = glob(PATH_DATA . "sites/" . $name . "/" . "mailTemplates/*"); - $sDirectoryPublic = glob(PATH_DATA . "sites/" . $name . "/" . "public/*"); - $files = array(); - foreach($sDirectory as $valor) { - if (is_dir($valor)) { - $inner_files = listFiles($valor); - if (is_array($inner_files)) $files = array_merge($files, $inner_files); - } - if (is_file($valor)) { - array_push($files, $valor); - } - } - foreach($sDirectoryPublic as $valor) { - if (is_dir($valor)) { - $inner_files = listFiles($valor); - if (is_array($inner_files)) $files = array_merge($files, $inner_files); - } - if (is_file($valor)) { - array_push($files, $valor); - } - } - } - $sDir = PATH_DATA . "sites/" . $name . "/" . "mailTemplates/"; - $sDirPublic = PATH_DATA . "sites/" . $name . "/" . "public/"; - foreach ($files as $aFile) { - if (strpos($aFile, $sDir) !== false){ - $processUid = current(explode("/", str_replace($sDir,'',$aFile))); - } else { - $processUid = current(explode("/", str_replace($sDirPublic,'',$aFile))); - } - $sql = "SELECT PROCESS_FILES.PRF_PATH FROM PROCESS_FILES WHERE PROCESS_FILES.PRF_PATH='" . $aFile ."'"; - $appRows = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); - $fileUid = ''; - foreach ($appRows as $row) { - $fileUid = $row["PRF_PATH"]; - } - if ($fileUid !== $aFile) { - $sPkProcessFiles = G::generateUniqueID(); - $sDate = date('Y-m-d H:i:s'); - $sql = "INSERT INTO PROCESS_FILES (PRF_UID, PRO_UID, USR_UID, PRF_UPDATE_USR_UID, - PRF_PATH, PRF_TYPE, PRF_EDITABLE, PRF_CREATE_DATE, PRF_UPDATE_DATE) - VALUES ('".$sPkProcessFiles."', '".$processUid."', '00000000000000000000000000000001', '', - '".$aFile."', 'file', 'true', '".$sDate."', NULL)"; - $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); - } - } -} - function listFiles($dir) { $files = array(); $lista = glob($dir.'/*'); diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 1faa86914..ccf4c842c 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -103,6 +103,63 @@ class workspaceTools $stop = microtime(true); $final = $stop - $start; CLI::logging("<*> Backup log files Process took $final seconds.\n"); + + CLI::logging("> Updating Files Manager...\n\n"); + $this->upgradeFilesManager($workSpace); + } + + /** + * Function upgradeFilesManager + * access public + */ + public function upgradeFilesManager($workSpace) { + $con = Propel::getConnection("root"); + $stmt = $con->createStatement(); + $sDirectory = glob(PATH_DATA . "sites/" . $workSpace . "/" . "mailTemplates/*"); + $sDirectoryPublic = glob(PATH_DATA . "sites/" . $workSpace . "/" . "public/*"); + $files = array(); + foreach($sDirectory as $valor) { + if (is_dir($valor)) { + $inner_files = listFiles($valor); + if (is_array($inner_files)) $files = array_merge($files, $inner_files); + } + if (is_file($valor)) { + array_push($files, $valor); + } + } + foreach($sDirectoryPublic as $valor) { + if (is_dir($valor)) { + $inner_files = listFiles($valor); + if (is_array($inner_files)) $files = array_merge($files, $inner_files); + } + if (is_file($valor)) { + array_push($files, $valor); + } + } + $sDir = PATH_DATA . "sites/" . $workSpace . "/" . "mailTemplates/"; + $sDirPublic = PATH_DATA . "sites/" . $workSpace . "/" . "public/"; + foreach ($files as $aFile) { + if (strpos($aFile, $sDir) !== false){ + $processUid = current(explode("/", str_replace($sDir,'',$aFile))); + } else { + $processUid = current(explode("/", str_replace($sDirPublic,'',$aFile))); + } + $sql = "SELECT PROCESS_FILES.PRF_PATH FROM PROCESS_FILES WHERE PROCESS_FILES.PRF_PATH='" . $aFile ."'"; + $appRows = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); + $fileUid = ''; + foreach ($appRows as $row) { + $fileUid = $row["PRF_PATH"]; + } + if ($fileUid !== $aFile) { + $sPkProcessFiles = G::generateUniqueID(); + $sDate = date('Y-m-d H:i:s'); + $sql = "INSERT INTO PROCESS_FILES (PRF_UID, PRO_UID, USR_UID, PRF_UPDATE_USR_UID, + PRF_PATH, PRF_TYPE, PRF_EDITABLE, PRF_CREATE_DATE, PRF_UPDATE_DATE) + VALUES ('".$sPkProcessFiles."', '".$processUid."', '00000000000000000000000000000001', '', + '".$aFile."', 'file', 'true', '".$sDate."', NULL)"; + $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); + } + } } /**