Merged in jennydmz/processmaker/PM-301 (pull request #804)
PM-301 Notice al hacer upgrade, problema con la funcion upgradeFilesManager
This commit is contained in:
@@ -168,7 +168,6 @@ function run_upgrade($command, $args)
|
|||||||
|
|
||||||
G::browserCacheFilesSetUid();
|
G::browserCacheFilesSetUid();
|
||||||
|
|
||||||
upgradeFilesManager($command);
|
|
||||||
//Status
|
//Status
|
||||||
if ($errors) {
|
if ($errors) {
|
||||||
CLI::logging("Upgrade finished but there were errors upgrading workspaces.\n");
|
CLI::logging("Upgrade finished but there were errors upgrading workspaces.\n");
|
||||||
@@ -181,69 +180,6 @@ function run_upgrade($command, $args)
|
|||||||
$flag = G::isPMUnderUpdating(0);
|
$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) {
|
function listFiles($dir) {
|
||||||
$files = array();
|
$files = array();
|
||||||
$lista = glob($dir.'/*');
|
$lista = glob($dir.'/*');
|
||||||
|
|||||||
@@ -103,6 +103,64 @@ class workspaceTools
|
|||||||
$stop = microtime(true);
|
$stop = microtime(true);
|
||||||
$final = $stop - $start;
|
$final = $stop - $start;
|
||||||
CLI::logging("<*> Backup log files Process took $final seconds.\n");
|
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) {
|
||||||
|
$this->initPropel(true);
|
||||||
|
$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 $mailTemplate) {
|
||||||
|
if (is_dir($mailTemplate)) {
|
||||||
|
$inner_files = listFiles($mailTemplate);
|
||||||
|
if (is_array($inner_files)) $files = array_merge($files, $inner_files);
|
||||||
|
}
|
||||||
|
if (is_file($mailTemplate)) {
|
||||||
|
array_push($files, $mailTemplate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach($sDirectoryPublic as $publicFile) {
|
||||||
|
if (is_dir($publicFile)) {
|
||||||
|
$inner_files = listFiles($publicFile);
|
||||||
|
if (is_array($inner_files)) $files = array_merge($files, $inner_files);
|
||||||
|
}
|
||||||
|
if (is_file($publicFile)) {
|
||||||
|
array_push($files, $publicFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user