diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa
index ace236ae48befbb608990b2b8adcf192093c23c2..2e54a2aa91df52e7754e3796cd2081bbfb45c1cb 100755 (executable)
--- a/gosa-core/update-gosa
+++ b/gosa-core/update-gosa
// We're only interested in png files
$indexPath= substr($fileInfo->getPathname(), $baseLength + 1);
$path= $fileInfo->getPathname();
- if (preg_match('/\.png$/', $indexPath) && !preg_match('/\.svn/', $path) && !preg_match('/themes\/[^\/]+\/img.png$/', $path)){
+ if (preg_match('/\.png$/', $indexPath) && !preg_match('/\.svn/', $path) && !preg_match('/themes\/[^\/]+\/images\/img.png$/', $path)){
// Grey image if it is not already one
if (preg_match('/grey/', $indexPath)) {
echo "!";
- $warnings[]= "Warning: skipped possible grey image $path";
+ $warnings[]= "Warning: skipped possible *grey* image $path";
flush();
continue;
}
- // Grey image if it is not already one
- if (preg_match('/new/', $indexPath)) {
+ // New image if it is not already one
+ if (preg_match('/new/', $indexPath) && !preg_match('/new\.png$/', $indexPath)) {
echo "!";
- $warnings[]= "Warning: skipped possible grey image $path";
+ $warnings[]= "Warning: skipped possible *new* image $path";
flush();
continue;
}
$warnings[]= "Warning: images $indexPath seems to be a duplicate of ".array_search($checksum, $checksums);
$duplicates[$indexPath]= array_search($checksum, $checksums);
$duplicates[$greyIndexPath]= preg_replace('/\.png$/', '-grey.png', array_search($checksum, $checksums));
+ continue;
} else {
$checksums[$indexPath]= $checksum;
}
// Move X cursor to the next position
$cursorX+= $imageWidth;
- $maxX=($colX > $maxX)?$colX:$maxX;
+ $maxX=($colX+$imageWidth > $maxX)?$colX+$imageWidth:$maxX;
}
// Print maximum dimensions
// Insert source image...
- // Duplicate?
- if (isset($duplicates[$imagePath])){
- $imageHeight= $heights[$duplicates[$imagePath]];
- $imageWidth= $widths[$duplicates[$imagePath]];
- $x= $posX[$duplicates[$imagePath]];
- $y= $posY[$duplicates[$imagePath]];
- } else {
-
- // Eventually convert it to grey before
- if (preg_match('/-grey\.png$/', $imagePath)) {
- if (!function_exists("imageFilter")){
- exec("convert ".$paths[$imagePath]." -colorspace Gray /tmp/grey-converted.png");
- $src= imageCreateFromPng("/tmp/grey-converted.png");
- } else {
- $src= imageCreateFromPng($paths[$imagePath]);
- imageFilter($src, IMG_FILTER_GRAYSCALE);
- }
+ // Eventually convert it to grey before
+ if (preg_match('/-grey\.png$/', $imagePath)) {
+ if (!function_exists("imageFilter")){
+ exec("convert ".$paths[$imagePath]." -colorspace Gray /tmp/grey-converted.png");
+ $src= imageCreateFromPng("/tmp/grey-converted.png");
} else {
$src= imageCreateFromPng($paths[$imagePath]);
+ imageFilter($src, IMG_FILTER_GRAYSCALE);
}
-
- // Merge image
- imageCopyResampled($dst, $src, $x, $y, 0, 0, $imageWidth, $imageHeight, $imageWidth, $imageHeight);
- imageDestroy($src);
+ } else {
+ $src= imageCreateFromPng($paths[$imagePath]);
}
+ // Merge image
+ imageCopyResampled($dst, $src, $x, $y, 0, 0, $imageWidth, $imageHeight, $imageWidth, $imageHeight);
+ imageDestroy($src);
+
// Store style
$styles[$imagePath]= "background-position:-".$x."px -".$y."px;width:".$imageWidth."px;height:".$imageHeight."px";
flush();
}
- imagePNG($dst, "html/themes/$theme/img.png", 9);
+ /* Add duplicates */
+ foreach ($duplicates as $imagePath => $realPath) {
+ $styles[$imagePath]= $styles[$realPath];
+ }
+
+ imagePNG($dst, "html/themes/$theme/images/img.png", 9);
imageDestroy($dst);
// Show warnings images