From 64a70f0a297ab9e72f42179606c98711df6048f9 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Tue, 22 Oct 2013 12:34:08 -0400 Subject: [PATCH] BUG-13398 La restauracion de workspace en windows... SOLVED MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - El problema empieza cuando se quiere hacer un workspace-restore sobre windows no se pueden cambiar los permisos de los files, dando como consecuencia que no se restaure el backup o se hacia parcialmente. - Se aƱadio en la class.wstools.php la funcion dirPerms la validacion para permitir cambiar permisos en windows. - al ejecutar la consola se requiere que este en modo administrador para permitir a "icacls" ejecutarse normalmente. --- workflow/engine/classes/class.wsTools.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 01ef1b53b..c464d3aed 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -1162,7 +1162,11 @@ class workspaceTools $chgrp = @chgrp($filename, $group); $chmod = @chmod($filename, $perms); if ($chgrp === false || $chmod === false || $chown === false) { - CLI::logging(CLI::error("Failed to set permissions for $filename") . "\n"); + if (strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN') { + exec( 'icacls ' . $dirNameWin . '/grant Administrador:(D,WDAC) /T', $res ); + } else { + CLI::logging(CLI::error("Failed to set permissions for $filename") . "\n"); + } } if (is_dir($filename)) { foreach (array_merge(glob($filename . "/*"), glob($filename . "/.*")) as $item) {