// Generate Image Resources $hasIcon = is_readable($iconPath = "{$projDir}/{$project['icon']}"); $hasSplash = is_readable($splashPath = "{$projDir}/{$project['splash']}"); if ($hasIcon || $hasSplash) { IO::STDOUT("Processing image resources...\n"); foreach ($config->children as $_confElement) { if ($_confElement->name !== "platform") { continue; } foreach ($_confElement->children as $_config) { @mkdir(dirname($_config->attr('src')), 0755, TRUE); if ($hasIcon && $_config->name == "icon") { ConvertImage($iconPath, $_config->attr('src'), $_config->attr('width'), $_config->attr('height')); } else { if ($hasSplash && $_config->name == "splash") { ConvertImage($splashPath, $_config->attr('src'), $_config->attr('width'), $_config->attr('height')); } } } } } // Copy project specified resources if (is_array($project['files'])) { IO::STDOUT("Processing project dependent files...\n"); foreach ($project['files'] as $file) { if ($file['op'] == "copy") { $sourcePath = "{$projDir}/{$file['src']}"; $destPath = "{$projDir}/{$file['dest']}"; $destDir = dirname($destPath); if (!is_file($sourcePath)) { continue;
/** * Makes thumbnail image by ImageMagick * Use ConvertImage() */ function Thumbnail($Source, $Attributes, &$OutData = Null) { $OutData = Null; $Width = ArrayValue('width', $Attributes); $Height = ArrayValue('height', $Attributes); $Crop = GetValue('Crop', $Attributes, False, True); $Geometry = GetValue('Geometry', $Attributes, False, True); $TargetFolder = GetValue('TargetFolder', $Attributes, 'uploads/cached', True); $ImageQuality = GetValue('ImageQuality', $Attributes, False, True); // ^ option since 6.3.8-2 if ($Crop === True) { $Geometry = "\"{$Width}x{$Height}^\" -crop {$Width}x{$Height}+0+0 +repage"; } if (!$Geometry) { $Geometry = $Width . 'x' . $Height; } if (is_numeric($ImageQuality)) { $ImageQuality = '-quality ' . Clamp($ImageQuality, 1, 100); } $Options['Options'] = "-thumbnail {$Geometry} {$ImageQuality}"; $Options['TargetFolder'] = $TargetFolder; if (substr($Source, 0, 9) == '/uploads/') { $Source = substr($Source, 1); } $ResultImage = ConvertImage($Source, $Options); if (ArrayValue('OutOriginalImageSize', $Attributes, False, True)) { $Return = array(); $OutData['ImageSize'] = GetImageSize($Source); } if (array_key_exists('alt', $Attributes) || GetValue('Img', $Attributes, False, True)) { TouchValue('alt', $Attributes, pathinfo($ResultImage, PATHINFO_FILENAME)); $ResultImage = Img($ResultImage, $Attributes); } return $ResultImage; }