[pLog-svn] r2615 - in plog/trunk: class/gallery/dao
class/gallery/resizers locale templates/admin
Oscar Renalias
oscar at renalias.net
Tue Nov 22 22:06:39 GMT 2005
But a preview is a preview, right? That feature only regenerates the
previews, it doesn't say that it will regenerate anything else...
Oscar
On 22 Nov 2005, at 20:39, Jon Daley wrote:
> I don't know this resource world all that well. Does your change
> do the right thing if someone hits "regenerate preview" if the
> original image does not exist?
>
> On Tue, 22 Nov 2005, oscar at devel.lifetype.net wrote:
>> Author: oscar
>> Date: 2005-11-22 17:39:25 +0000 (Tue, 22 Nov 2005)
>> New Revision: 2615
>>
>> Modified:
>> plog/trunk/class/gallery/dao/galleryresource.class.php
>> plog/trunk/class/gallery/dao/galleryresources.class.php
>> plog/trunk/class/gallery/resizers/
>> gallerythumbnailgenerator.class.php
>> plog/trunk/locale/locale_en_UK.php
>> plog/trunk/templates/admin/globalsettings_resources.template
>> Log:
>> Added feature request 336 (http://bugs.lifetype.net/view.php?id=336)
>>
>> Modified: plog/trunk/class/gallery/dao/galleryresource.class.php
>> ===================================================================
>> --- plog/trunk/class/gallery/dao/galleryresource.class.php
>> 2005-11-22 17:34:19 UTC (rev 2614)
>> +++ plog/trunk/class/gallery/dao/galleryresource.class.php
>> 2005-11-22 17:39:25 UTC (rev 2615)
>> @@ -148,6 +148,17 @@
>> {
>> return $this->_metadata;
>> }
>> +
>> + /**
>> + * Set the resource metadata to the given array
>> + *
>> + * @param metadata
>> + * @return Nothing
>> + */
>> + function setMetadata( $metadata )
>> + {
>> + $this->_metadata = $metadata;
>> + }
>>
>> /**
>> * @return the flags of the resource object
>>
>> Modified: plog/trunk/class/gallery/dao/galleryresources.class.php
>> ===================================================================
>> --- plog/trunk/class/gallery/dao/galleryresources.class.php
>> 2005-11-22 17:34:19 UTC (rev 2614)
>> +++ plog/trunk/class/gallery/dao/galleryresources.class.php
>> 2005-11-22 17:39:25 UTC (rev 2615)
>> @@ -188,17 +188,20 @@
>> $ownerId,
>> CACHE_RESOURCES_USER,
>> null,
>> - Array( "date" => "ASC" ),
>> - $page,
>> - $itemsPerPage );
>> + Array( "date" => "ASC" ));
>> if( !$resources )
>> - return Array();
>> + return Array();
>>
>> $result = Array();
>> foreach( $resources as $resource ) {
>> - if( $this->check( $resource, $ownerId, $albumId,
>> $resourceType ))
>> + if( $this->check( $resource, $ownerId, $albumId,
>> $resourceType )) {
>> $result[] = $resource;
>> + }
>> }
>> +
>> + // check if we need to do any paging
>> + if( $page > DEFAULT_PAGING_ENABLED && $itemsPerPage >
>> DEFAULT_ITEMS_PER_PAGE )
>> + $result = array_slice( $result, $page, $itemsPerPage );
>>
>> return $result;
>> }
>> @@ -211,6 +214,7 @@
>> $albumId = GALLERY_NO_ALBUM,
>> $resourceType = GALLERY_RESOURCE_ANY )
>> {
>> + //print("check: id = ".$resource->getId()." - owner = $ownerId
>> - album = $albumId - resourceType = $resourceType<br/>");
>> if( $ownerId != -1 ) {
>> if( $resource->getOwnerId() != $ownerId )
>> return false;
>> @@ -223,6 +227,7 @@
>> if( $resource->getResourceType() != $resourceType )
>> return false;
>> }
>> +
>> return( true );
>> }
>>
>> @@ -237,7 +242,7 @@
>> * @see getUserResources
>> * @return the total number of items
>> */
>> - function getNumUserResources( $ownerId, $albumId =
>> GALLERY_NO_ALBUM, $resourceType = GALLEY_RESOURCE_ANY )
>> + function getNumUserResources( $ownerId, $albumId =
>> GALLERY_NO_ALBUM, $resourceType = GALLERY_RESOURCE_ANY )
>> {
>> return( count( $this->getUserResources( $ownerId, $albumId,
>> $resourceType )));
>> }
>> @@ -318,73 +323,9 @@
>> $this->_cache->removeData( $fileName, CACHE_RESOURCES_BY_NAME );
>>
>> return $resourceId;
>> - }
>> -
>> - /**
>> - * generates the thumbnail of a file that we have just added.
>> - *
>> - * @param resFile the resource file from which we're trying to
>> generate the
>> - * thubmail.
>> - * @param fileName The name and path of the new thumbnail we're
>> going to create
>> - */
>> - function generateResourceThumbnail( $resFile, $resourceId,
>> $ownerId )
>> - {
>> - // get some configuration settings regarding the size of the
>> - // thumbnails, and also the default format for thumbnails
>> - $config =& Config::getConfig();
>> - $previewHeight = $config->getValue( "thumbnail_height",
>> GALLERY_DEFAULT_THUMBNAIL_HEIGHT );
>> - $previewWidth = $config->getValue( "thumbnail_width",
>> GALLERY_DEFAULT_THUMBNAIL_WIDTH );
>> - $previewKeepAspectRatio = $config->getValue
>> ( "thumbnails_keep_aspect_ratio" );
>> -
>> - // get the file extension
>> - $fileParts = explode( ".", $resFile );
>> - $fileExt = strtolower($fileParts[count($fileParts)-1]);
>> - $fileName = $ownerId."-".$resourceId.".".$fileExt;
>> -
>> - // and start the resizing process
>> - $resizer = new GalleryResizer( $resFile );
>> - GalleryResourceStorage::checkPreviewsStorageFolder( $ownerId );
>> - $outFile = GalleryResourceStorage::getPreviewsFolder
>> ( $ownerId ).$fileName;
>> -
>> - // and finally, we can generate the preview!
>> - $result = $resizer->generate( $outFile, $previewWidth,
>> $previewHeight, $previewKeepAspectRatio );
>> -
>> - return $result;
>> - }
>> + }
>>
>> /**
>> - * generates the medium-sized thumbnail of a file that we have
>> just added
>> - *
>> - * @param resFile the resource file from which we're trying to
>> generate the
>> - * thubmail.
>> - * @param fileName The name and path of the new thumbnail we're
>> going to create
>> - */
>> - function generateResourceMediumSizeThumbnail( $resFile,
>> $resourceId, $ownerId )
>> - {
>> - // get some configuration settings regarding the size of the
>> - // thumbnails, and also the default format for thumbnails
>> - $config =& Config::getConfig();
>> - $previewHeight = $config->getValue
>> ( "medium_size_thumbnail_height",
>> GALLERY_DEFAULT_MEDIUM_SIZE_THUMBNAIL_HEIGHT );
>> - $previewWidth = $config->getValue
>> ( "medium_size_thumbnail_width",
>> GALLERY_DEFAULT_MEDIUM_SIZE_THUMBNAIL_WIDTH );
>> - $previewKeepAspectRatio = $config->getValue
>> ( "thumbnails_keep_aspect_ratio" );
>> -
>> - // get the file extension
>> - $fileParts = explode( ".", $resFile );
>> - $fileExt = strtolower($fileParts[count($fileParts)-1]);
>> - $fileName = $ownerId."-".$resourceId.".".$fileExt;
>> -
>> - // and start the resizing process
>> - $resizer = new GalleryResizer( $resFile );
>> - GalleryResourceStorage::checkMediumSizePreviewsStorageFolder
>> ( $ownerId );
>> - $outFile = GalleryResourceStorage::getMediumSizePreviewsFolder
>> ( $ownerId ).$fileName;
>> -
>> - // and finally, we can generate the preview!
>> - $result = $resizer->generate( $outFile, $previewWidth,
>> $previewHeight, $previewKeepAspectRatio );
>> -
>> - return $result;
>> - }
>> -
>> - /**
>> * @private
>> * @param fileName
>> * @param metadata
>> @@ -499,6 +440,24 @@
>> include_once( PLOG_CLASS_PATH."class/gallery/resizers/
>> gallerythumbnailgenerator.class.php" );
>>
>> GalleryThumbnailGenerator::generateResourceThumbnail( $resFile,
>> $resourceId, $ownerId );
>> GalleryThumbnailGenerator::generateResourceMediumSizeThumbnail
>> ( $resFile, $resourceId, $ownerId );
>> + // call this method only if the settings are right
>> + include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
>> + $config =& Config::getConfig();
>> + $previewHeight = $config->getValue
>> ( "final_size_thumbnail_height", 0 );
>> + $previewWidth = $config->getValue
>> ( "final_size_thumbnail_width", 0 );
>> + if( $previewHeight != 0 && $previewWidth != 0 ) {
>> + GalleryThumbnailGenerator::generateResourceFinalSizeThumbnail
>> ( $resFile, $resourceId, $ownerId );
>> + // we have to recalculate the metadata because the image
>> could be different... This is a bit cumbersome
>> + // and repeats code. We know, thanks.
>> + $getId3 = new GetID3();
>> + $metadata = $getId3->analyze( $resFile );
>> + getid3_lib::CopyTagsToComments($metadata);
>> + $info = $this->_filterMetadata( $metadata, $resourceType );
>> + // and finally update the resource again
>> + $resource = $this->getResource( $resourceId );
>> + $resource->setMetadata( $info );
>> + $this->updateResource( $resource );
>> + }
>> }
>>
>> // return the id of the resource we just added
>> @@ -608,7 +567,9 @@
>> // move the file to disk
>> include_once( PLOG_CLASS_PATH."class/gallery/dao/
>> galleryresourcestorage.class.php" );
>> $storage = new GalleryResourceStorage();
>> - $resFile = $storage->storeFile( $resourceId,
>> $ownerId, $fullFilePath,
>> + $resFile = $storage->storeFile( $resourceId,
>> + $ownerId,
>> + $fullFilePath,
>>
>> RESOURCE_STORAGE_STORE_MOVE );
>>
>> // if the file cannot be read, we will also remove the
>> record from the
>> @@ -626,9 +587,28 @@
>>
>> // and finally, we can generate the thumbnail only if
>> the file is an image, of course :)
>> if( $resourceType == GALLERY_RESOURCE_IMAGE ) {
>> - include_once( PLOG_CLASS_PATH."class/gallery/
>> resizers/gallerythumbnailgenerator.class.php" );
>> + include_once( PLOG_CLASS_PATH."class/gallery/
>> resizers/gallerythumbnailgenerator.class.php" );
>>
>> GalleryThumbnailGenerator::generateResourceThumbnail( $resFile,
>> $resourceId, $ownerId );
>> - }
>> + GalleryThumbnailGenerator::generateResourceMediumSizeThumbnail
>> ( $resFile, $resourceId, $ownerId );
>> + // call this method only if the settings are right
>> + include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
>> + $config =& Config::getConfig();
>> + $previewHeight = $config->getValue
>> ( "final_size_thumbnail_height", 0 );
>> + $previewWidth = $config->getValue
>> ( "final_size_thumbnail_width", 0 );
>> + if( $previewHeight != 0 && $previewWidth != 0 ) {
>> + GalleryThumbnailGenerator::generateResourceFinalSizeThumbnail
>> ( $resFile, $resourceId, $ownerId );
>> + // we have to recalculate the metadata because the image
>> could be different... This is a bit cumbersome
>> + // and repeats code. We know, thanks.
>> + $getId3 = new GetID3();
>> + $metadata = $getId3->analyze( $resFile );
>> + getid3_lib::CopyTagsToComments($metadata);
>> + $info = $this->_filterMetadata( $metadata, $resourceType );
>> + // and finally update the resource again
>> + $resource = $this->getResource( $resourceId );
>> + $resource->setMetadata( $info );
>> + $this->updateResource( $resource );
>> + }
>> + }
>>
>> // return the id of the resource we just added
>> return $resourceId;
>>
>> Modified: plog/trunk/class/gallery/resizers/
>> gallerythumbnailgenerator.class.php
>> ===================================================================
>> --- plog/trunk/class/gallery/resizers/
>> gallerythumbnailgenerator.class.php 2005-11-22 17:34:19 UTC (rev
>> 2614)
>> +++ plog/trunk/class/gallery/resizers/
>> gallerythumbnailgenerator.class.php 2005-11-22 17:39:25 UTC (rev
>> 2615)
>> @@ -1,7 +1,5 @@
>> -<?php
>> -
>> +<?php
>>
>> -
>> class GalleryThumbnailGenerator
>> {
>>
>> @@ -75,6 +73,44 @@
>> $result = $resizer->generate( $outFile, $previewWidth,
>> $previewHeight, $previewKeepAspectRatio );
>>
>> return $result;
>> - }
>> + }
>> +
>> + /**
>> + * generates the final version of an image
>> + *
>> + * @param resFile the resource file from which we're trying to
>> generate the
>> + * thubmail.
>> + * @param fileName The name and path of the new thumbnail we're
>> going to create
>> + * @static
>> + */
>> + function generateResourceFinalSizeThumbnail( $resFile,
>> $resourceId, $ownerId )
>> + {
>> + // get some configuration settings regarding the size of the
>> + // thumbnails, and also the default format for thumbnails
>> + include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
>> + $config =& Config::getConfig();
>> + $previewHeight = $config->getValue
>> ( "final_size_thumbnail_height", 0 );
>> + $previewWidth = $config->getValue
>> ( "final_size_thumbnail_width", 0 );
>> + $previewKeepAspectRatio = $config->getValue
>> ( "thumbnails_keep_aspect_ratio" );
>> +
>> + // get the file extension
>> + $fileParts = explode( ".", $resFile );
>> + $fileExt = strtolower($fileParts[count($fileParts)-1]);
>> + $fileName = $ownerId."-".$resourceId.".".$fileExt;
>> +
>> + print("final size = $previewHeight x $previewWidth - file =
>> $fileName<br/>");
>> +
>> + // and start the resizing process
>> + include_once( PLOG_CLASS_PATH."class/gallery/resizers/
>> galleryresizer.class.php" );
>> + $resizer = new GalleryResizer( $resFile );
>> + include_once( PLOG_CLASS_PATH."class/gallery/dao/
>> galleryresourcestorage.class.php" );
>> + GalleryResourceStorage::checkUserStorageFolder( $ownerId );
>> + $outFile = GalleryResourceStorage::getUserFolder( $ownerId ).
>> $fileName;
>> +
>> + // and finally, we can generate the preview!
>> + $result = $resizer->generate( $outFile, $previewWidth,
>> $previewHeight, $previewKeepAspectRatio );
>> +
>> + return $result;
>> + }
>> }
>> ?>
>> \ No newline at end of file
>>
>> Modified: plog/trunk/locale/locale_en_UK.php
>> ===================================================================
>> --- plog/trunk/locale/locale_en_UK.php 2005-11-22 17:34:19 UTC
>> (rev 2614)
>> +++ plog/trunk/locale/locale_en_UK.php 2005-11-22 17:39:25 UTC
>> (rev 2615)
>> @@ -956,6 +956,8 @@
>>
>> $messages['help_page_suffix_format'] = 'Suffix that will be
>> appended to URLs that support paging';
>>
>> +$messages['help_final_size_thumbnail_width'] = 'Final width of
>> uploaded images. Leave empty or as zero to store the full size
>> image';
>> +$messages['help_final_size_thumbnail_height'] = 'Final height of
>> uploaded images. Leave empty or as zero to store the full size
>> image';
>> $messages['error_comment_too_big'] = 'The comment is too big';
>> $messages['error_you_have_been_blocked'] = 'Blocked: this request
>> was not completed.';
>> $messages['created'] = 'Created';
>>
>> Modified: plog/trunk/templates/admin/
>> globalsettings_resources.template
>> ===================================================================
>> --- plog/trunk/templates/admin/globalsettings_resources.template
>> 2005-11-22 17:34:19 UTC (rev 2614)
>> +++ plog/trunk/templates/admin/globalsettings_resources.template
>> 2005-11-22 17:39:25 UTC (rev 2615)
>> @@ -51,18 +51,30 @@
>> <div class="formHelp">{$locale->tr("help_thumbnail_width")}</div>
>> <input style="width:100%" type="text" name="config
>> [thumbnail_width]" value="{$thumbnail_width}"/>
>> </div>
>> + <!-- medium_size_thumbnail_width -->
>> + <div class="field">
>> + <label for="config
>> [medium_size_thumbnail_width]">medium_size_thumbnail_width</label>
>> + <div class="formHelp">{$locale->tr
>> ("help_medium_size_thumbnail_width")}</div>
>> + <input style="width:100%" type="text" name="config
>> [medium_size_thumbnail_width]"
>> value="{$medium_size_thumbnail_width}"/>
>> + </div>
>> <!-- medium_size_thumbnail_height -->
>> <div class="field">
>> <label for="config
>> [medium_size_thumbnail_height]">medium_size_thumbnail_height</label>
>> <div class="formHelp">{$locale->tr
>> ("help_medium_size_thumbnail_height")}</div>
>> <input style="width:100%" type="text" name="config
>> [medium_size_thumbnail_height]"
>> value="{$medium_size_thumbnail_height}"/>
>> - </div>
>> - <!-- medium_size_thumbnail_width -->
>> + </div>
>> + <!-- final_size_thumbnail_width -->
>> <div class="field">
>> - <label for="config
>> [medium_size_thumbnail_width]">medium_size_thumbnail_width</label>
>> - <div class="formHelp">{$locale->tr
>> ("help_medium_size_thumbnail_width")}</div>
>> - <input style="width:100%" type="text" name="config
>> [medium_size_thumbnail_width]"
>> value="{$medium_size_thumbnail_width}"/>
>> + <label for="config
>> [final_size_thumbnail_width]">final_size_thumbnail_width</label>
>> + <div class="formHelp">{$locale->tr
>> ("help_final_size_thumbnail_width")}</div>
>> + <input style="width:100%" type="text" name="config
>> [final_size_thumbnail_width]" value="{$final_size_thumbnail_width}"/>
>> </div>
>> + <!-- final_size_thumbnail_height -->
>> + <div class="field">
>> + <label for="config
>> [final_size_thumbnail_height]">final_size_thumbnail_height</label>
>> + <div class="formHelp">{$locale->tr
>> ("help_final_size_thumbnail_height")}</div>
>> + <input style="width:100%" type="text" name="config
>> [final_size_thumbnail_height]"
>> value="{$final_size_thumbnail_height}"/>
>> + </div>
>> <!-- thumbnails_keep_aspect_ratio -->
>> <div class="field">
>> <label for="config
>> [thumbnails_keep_aspect_ratio]">thumbnails_keep_aspect_ratio</label>
>>
>> _______________________________________________
>> pLog-svn mailing list
>> pLog-svn at devel.lifetype.net
>> http://devel.plogworld.net/mailman/listinfo/plog-svn
>>
>
> **************************************
> Jon Daley
> http://jon.limedaley.com/
>
> Never mess up an apology with an excuse.
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://devel.plogworld.net/mailman/listinfo/plog-svn
>
More information about the pLog-svn
mailing list