diff --git a/workflow/engine/methods/setup/skin_Ajax.php b/workflow/engine/methods/setup/skin_Ajax.php index 4297d325b..58cacc255 100755 --- a/workflow/engine/methods/setup/skin_Ajax.php +++ b/workflow/engine/methods/setup/skin_Ajax.php @@ -1,5 +1,4 @@ result['skinConfiguration']['__CONTENT__']['information']['__CONTENT__']; + + $xmlConfigurationObj = G::xmlParser($xmlConfiguration); + $skinInformationArray = $xmlConfigurationObj->result["skinConfiguration"]["__CONTENT__"]["information"]["__CONTENT__"]; + $xmlConfiguration = preg_replace( '/()(.+?)(<\/id>)/i', '' . G::generateUniqueID() . '', $xmlConfiguration ); - if (isset( $skinInformationArray['workspace'] )) { - $workspace = ($skinInformationArray['workspace'] != '') ? ($skinInformationArray['workspace']."|".$workspace) : $workspace; - $xmlConfiguration = preg_replace( "/()(.+?)(<\/modifiedDate>)/i", "" . $workspace . "", $xmlConfiguration ); - $xmlConfiguration = preg_replace( "/()(.+?)(<\/name>)/i", "" . $skinName . "", $xmlConfiguration ); + + if ($workspace != "" && isset($skinInformationArray["workspace"]["__VALUE__"])) { + $workspace = (!empty($skinInformationArray["workspace"]["__VALUE__"]))? $skinInformationArray["workspace"]["__VALUE__"] . "|" . $workspace : $workspace; + + $xmlConfiguration = preg_replace("/()(.*)(<\/workspace>)/i", "" . $workspace . "", $xmlConfiguration); + $xmlConfiguration = preg_replace("/()(.*)(<\/name>)/i", "" . $skinName . "", $xmlConfiguration); } else { - $xmlConfiguration = preg_replace( "/()(.+?)(<\/name>)/i", "" . $skinName . " - " . $workspace . "", $xmlConfiguration ); + $xmlConfiguration = preg_replace("/()(.*)(<\/name>)/i", "" . $skinName . "\n" . $workspace . "", $xmlConfiguration); } $xmlConfiguration = preg_replace( "/()(.+?)(<\/description>)/i", "" . $skinDescription . "", $xmlConfiguration ); @@ -245,14 +248,16 @@ function importSkin () $xmlConfiguration = file_get_contents( $configFileOriginal ); $workspace = ($_REQUEST['workspace'] == 'global') ? '' : SYS_SYS; - $xmlConfigurationObj = G::xmlParser( $xmlConfiguration ); - $skinInformationArray = $skinFilesArray = $xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['information']['__CONTENT__']; - if (isset( $skinInformationArray['workspace'] )) { - $workspace = ($skinInformationArray['workspace'] != '') ? ($skinInformationArray['workspace']."|".$workspace) : $workspace; - $xmlConfiguration = preg_replace( "/()(.+?)(<\/modifiedDate>)/i", "" . $workspace . "", $xmlConfiguration ); + + $xmlConfigurationObj = G::xmlParser($xmlConfiguration); + $skinInformationArray = $xmlConfigurationObj->result["skinConfiguration"]["__CONTENT__"]["information"]["__CONTENT__"]; + + if ($workspace != "" && isset($skinInformationArray["workspace"]["__VALUE__"])) { + $workspace = (!empty($skinInformationArray["workspace"]["__VALUE__"]))? $skinInformationArray["workspace"]["__VALUE__"] . "|" . $workspace : $workspace; + + $xmlConfiguration = preg_replace("/()(.*)(<\/workspace>)/i", "" . $workspace . "", $xmlConfiguration); } else { - $xmlConfiguration = preg_replace( "/()(.+?)(<\/name>)/i", "".$skinName." - " . $workspace . "", $xmlConfiguration ); + $xmlConfiguration = preg_replace("/()(.*)(<\/name>)/i", "" . $skinName . "\n" . $workspace . "", $xmlConfiguration); } file_put_contents( $configFileFinal, $xmlConfiguration );