Code

Updated trustModes
[gosa.git] / gosa-core / update-gosa
index 0ae8950bbc48ef62b729a2f99c85d67072f42613..2e54a2aa91df52e7754e3796cd2081bbfb45c1cb 100755 (executable)
@@ -551,20 +551,20 @@ function rescan_images($path, $theme)
       // 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;
          }
@@ -687,7 +687,7 @@ function rescan_images($path, $theme)
     // Move X cursor to the next position
     $cursorX+= $imageWidth;
 
-    $maxX=($colX > $maxX)?$colX:$maxX;
+    $maxX=($colX+$imageWidth > $maxX)?$colX+$imageWidth:$maxX;
   }
   
   // Print maximum dimensions
@@ -710,7 +710,7 @@ function rescan_images($path, $theme)
 
     // Insert source image...
 
-    // And eventually convert it to grey before
+    // 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");
@@ -728,21 +728,18 @@ function rescan_images($path, $theme)
     imageDestroy($src);
 
     // Store style
-    if (isset($duplicates[$imagePath])){
-      $imageHeight= $heights[$duplicates[$imagePath]];
-      $imageWidth= $widths[$duplicates[$imagePath]];
-      $x= $posX[$duplicates[$imagePath]];
-      $y= $posY[$duplicates[$imagePath]];
-      $styles[$imagePath]= "background-position:-$x -$y;width:".$imageWidth."px;height:".$imageHeight."px";
-    } else {
-      $styles[$imagePath]= "background-position:-$x -$y;width:".$imageWidth."px;height:".$imageHeight."px";
-    }
+    $styles[$imagePath]= "background-position:-".$x."px -".$y."px;width:".$imageWidth."px;height:".$imageHeight."px";
 
     echo ".";
     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