Update of /cvsroot/php-blog/serendipity/include
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv565/include
Modified Files:
functions_images.inc.php
Log Message:
Closing feature request #1056336
Could someone add the images?
Index: functions_images.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/include/functions_images.inc.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- functions_images.inc.php 7 Dec 2004 10:03:14 -0000 1.9
+++ functions_images.inc.php 7 Dec 2004 10:57:11 -0000 1.10
@@ -219,7 +219,7 @@
} else {
$newSize = $size . 'x' . $size;
$cmd = $serendipity['convert'] . " -antialias -flatten -scale $newSize \"$infile\" \"$outfile.png\" 2>&1";
- echo $cmd;
+ echo $cmd;
}
$res = `$cmd`;
}
@@ -261,6 +261,39 @@
}
/**
+ * Rotate an Image
+ **/
+function serendipity_rotateImg($id, $degrees) {
+ global $serendipity;
+
+ $file = serendipity_fetchImageFromDatabase($id);
+
+ $admin = '';
+ if ($serendipity['serendipityUserlevel'] < USERLEVEL_CHIEF && $file['authorid'] != '0' && $file['authorid'] != $serendipity['authorid']) {
+ // A non-admin user may not delete private files from other users.
+ return;
+ }
+
+ $infile = $outfile = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $file['path'] . $file['name'] . '.' . $file['extension'];
+ $infileThumb = $outfileThumb = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $file['path'] . $file['name'] . '.' . $file['thumbnail_name'] . '.'. $file['extension'];
+
+ if ($serendipity['magick'] !== true) {
+ serendipity_rotate_image_gd($infile, $degrees);
+ }
+
+ $cmd = $serendipity['convert'] . ' -rotate ' . $degrees . ' ' . $infile . ' ' . $outfile;
+ $res = `$cmd`;
+ $cmdThumb = $serendipity['convert'] . ' -rotate ' . $degrees . ' ' . $infileThumb . ' ' . $outfileThumb;
+ $resThumb = `$cmdThumb`;
+
+ $fdim = @getimagesize($outfile);
+
+ serendipity_updateImageInDatabase(array('dimensions_width' => $fdim[0], 'dimensions_height' => $fdim[1]), $id);
+ return;
+}
+
+
+/**
* Creates thumbnails for all images in the upload dir
**/
function serendipity_generateThumbs() {
@@ -595,6 +628,63 @@
return $i;
}
+function serendipity_rotate_image_gd($infilename, $outfilename, $degrees)
+{
+ if (!function_exists('imagecopyresampled')) {
+ return false;
+ }
+
+ $inf = pathinfo(strtolower($infilename));
+ switch ($inf['extension']) {
+ case 'gif':
+ $loadfn = 'imagecreatefromgif';
+ $savefn = 'imagegif';
+ break;
+
+ case 'jpeg':
+ case 'jpg':
+ case 'jfif':
+ $loadfn = 'imagecreatefromjpeg';
+ $savefn = 'imagejpeg';
+ break;
+
+ case 'png':
+ $loadfn = 'imagecreatefrompng';
+ $savefn = 'imagepng';
+ break;
+
+ default:
+ return false;
+ }
+
+ /* If our loader does not exist, we are doomed */
+ if (!function_exists($loadfn)) {
+ return false;
+ }
+
+ /* If the save function does not exist (i.e. read-only GIF), we want to output it as PNG */
+ if (!function_exists($savefn)) {
+ if (function_exists('imagepng')) {
+ $savefn = 'imagepng';
+ } else {
+ return false;
+ }
+ }
+
+ $in = $loadfn($infilename);
+
+ $out = imagerotate($in, $degrees, 0);
+ $savefn($out, $outfilename);
+ $out = null;
+ $in = null;
+
+ $newwidth = imagesx($out);
+ $newheight = imagesy($out);
+
+ return array($newwidth, $newheight);
+}
+
+
function serendipity_resize_image_gd($infilename, $outfilename, $newwidth, $newheight=null)
{
if (!function_exists('imagecopyresampled')) {
@@ -851,6 +941,9 @@
<td valign="middle" align="center"><img class="serendipityImageButton" title="<?php echo MEDIA_FULLSIZE; ?>" alt="<?php echo MEDIA_FULLSIZE; ?>" src="<?php echo serendipity_getTemplateFile('img/zoom.png') ?>" border="0" onclick="F1 = window.open('<?php echo $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $file['path'] . $file['name'] . '.'. $file['extension']; ?>','Zoom','height=<?php echo $popupHeight; ?>,width=<?php echo $popupWidth; ?>,top='+ (screen.height-<?php echo $popupHeight ?>)/2 +',left='+ (screen.width-<?php echo $popupWidth ?>)/2 +',toolbar=no,menubar=no,location=no,resize=1,resizable=1<?php echo ($is_image ? '' : ',scrollbars=yes'); ?>');" /></td>
<td valign="middle" align="center"><img class="serendipityImageButton" title="<?php echo MEDIA_RENAME; ?>" alt="<?php echo MEDIA_RENAME; ?>" src="<?php echo serendipity_getTemplateFile('img/rename.png') ?>" border="0" onclick="rename('<?php echo $file['id']; ?>', '<?php echo addslashes($file['name']); ?>')" /></td>
<?php if ($is_image) { ?><td valign="middle" align="center"><img class="serendipityImageButton" title="<?php echo IMAGE_RESIZE; ?>" alt="<?php echo IMAGE_RESIZE; ?>" src="<?php echo serendipity_getTemplateFile('img/scale.png') ?>" border="0" onclick="location.href='?serendipity[adminModule]=images&serendipity[adminAction]=scaleSelect&serendipity[fid]=<?php echo $file['id']; ?>';" /></td><?php } ?>
+ <?php if ($is_image) { ?><td valign="middle" align="center"><a href="?serendipity[adminModule]=images&serendipity[adminAction]=rotateLeft&serendipity[fid]=<?php echo $file['id']; ?>"><img class="serendipityImageButton" title="<?php echo IMAGE_ROTATE_LEFT; ?>" alt="<?php echo IMAGE_ROTATE_LEFT; ?>" src="<?php echo serendipity_getTemplateFile('img/rotate_left.png') ?>" border="0" /></td><?php } ?>
+ <?php if ($is_image) { ?><td valign="middle" align="center"><a href="?serendipity[adminModule]=images&serendipity[adminAction]=rotateRight&serendipity[fid]=<?php echo $file['id']; ?>"><img class="serendipityImageButton" title="<?php echo IMAGE_ROTATE_RIGHT; ?>" alt="<?php echo IMAGE_ROTATE_RIGHT; ?>" src="<?php echo serendipity_getTemplateFile('img/rotate_right.png') ?>" border="0" /></td><?php } ?>
+ <td valign="middle" align="center"><img class="serendipityImageButton" title="<?php echo MEDIA_DELETE; ?>" alt="<?php echo MEDIA_DELETE; ?>" src="<?php echo serendipity_getTemplateFile('img/delete.png') ?>" border="0" onclick="location.href='?serendipity[adminModule]=images&serendipity[adminAction]=delete&serendipity[fid]=<?php echo $file['id']; ?>';" /></td>
<td valign="middle" align="center"><img class="serendipityImageButton" title="<?php echo MEDIA_DELETE; ?>" alt="<?php echo MEDIA_DELETE; ?>" src="<?php echo serendipity_getTemplateFile('img/delete.png') ?>" border="0" onclick="location.href='?serendipity[adminModule]=images&serendipity[adminAction]=delete&serendipity[fid]=<?php echo $file['id']; ?>';" /></td>
<?php
}
|