[pLog-svn] r2149 - in plugins/trunk: . galleryimages

oscar at devel.plogworld.net oscar at devel.plogworld.net
Tue May 31 21:46:39 GMT 2005


Author: oscar
Date: 2005-05-31 21:46:38 +0000 (Tue, 31 May 2005)
New Revision: 2149

Added:
   plugins/trunk/galleryimages/
Modified:
   plugins/trunk/galleryimages/plugingalleryimages.class.php
Log:
somebody requested this plugin in the forums and I thought I could fix it... I almost did it, I don't
know why the thing doesn't work when passing two parameters but I need to look into it. Do not
include this plugin when releasing new packages to sf.net!


Copied: plugins/trunk/galleryimages (from rev 2087, plugins/trunk/unported/galleryimages)

Modified: plugins/trunk/galleryimages/plugingalleryimages.class.php
===================================================================
--- plugins/trunk/unported/galleryimages/plugingalleryimages.class.php	2005-05-27 19:07:42 UTC (rev 2087)
+++ plugins/trunk/galleryimages/plugingalleryimages.class.php	2005-05-31 21:46:38 UTC (rev 2149)
@@ -1,7 +1,6 @@
 <?php
 
     include_once( PLOG_CLASS_PATH."class/plugin/pluginbase.class.php" );
-    include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
     include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
     
     /**
@@ -14,15 +13,20 @@
         function PluginGalleryImages()
         {
             $this->author = "The pLog Team";
-            $this->desc = "This plugin offers two methods, one for fetching the most recently uploaded image and another one for retrieving a random image from our collection. Needless to say, this plugin only returns images and not any other type of resource. Only images that belong to public albums will be used. <br /><br />You can use the following snippet of template code to show the latest uploaded image in your templates:<br /><br /><b>{assign var=latestImage value=\$galleryimages-&gt;latestImage(8)}<br />&lt;a href=&quot;{\$url-&gt;resourceLink(\$latestImage)}&quot;&gt;<br />&lt;img style=&quot;border:0px;&quot; src=&quot;{\$url-&gt;resourcePreviewLink(\$latestImage)}&quot; alt=&quot;{\$latestImage-&gt;getDescription()}&quot; /&gt;<br />&lt;/a&gt;</b> <br /><br />To show a random image from your collection, you can use the following snippet: <br /><br /><b>{assign var=randomImage value=\$galleryimages-&gt;randomImage(9)}<br />&lt;a href=&quot;{\$url-&gt;resourceLink(\$randomImage)}&quot;&gt;<br />&lt;img style=&quot;border:0px;&quot; src=&quot;{\$url-&gt;resourcePreviewLink(\$randomImage)}&quot; alt=&quot;{\$randomImage-&gt;getDescription()}&quot; /&gt;<br />&lt;/a&gt;</b></p><p>And, you can use <br /><br /><strong>{\$galleryimages-&gt;randomImage(8)}</strong> to get 1 random image from album id=8, or use <br /><strong>{\$galleryimages-&gt;randomImage(10,3)}</strong> to get the 3 random images from album id=10 </p><p>Or, you also can use</p><p><strong>{\$galleryimages-&gt;lastImage(8)}</strong> to get last 1 upload image from album id=8, or use <br /><strong>{\$galleryimages-&gt;lastImage(10,3)}</strong> to get last 3 upload images from album id=10 <br /><br />";
+            $this->desc = "This plugin offers two methods, one for fetching the most recently uploaded image and another one for retrieving a random image from our collection. Needless to say, this plugin only returns images and not any other type of resource. Only images that belong to public albums will be used. <br /><br />You can use the following snippet of template code to show the latest uploaded image in your templates:<br /><br /><b>{assign var=latestImage value=\$galleryimages-&gt;latestImage()}<br />&lt;a href=&quot;{\$url-&gt;resourceLink(\$latestImage)}&quot;&gt;<br />&lt;img style=&quot;border:0px;&quot; src=&quot;{\$url-&gt;resourcePreviewLink(\$latestImage)}&quot; alt=&quot;{\$latestImage-&gt;getDescription()}&quot; /&gt;<br />&lt;/a&gt;</b> <br /><br />To show a random image from your collection, you can use the following snippet: <br /><br /><b>{assign var=randomImage value=\$galleryimages-&gt;randomImage(9)}<br />&lt;a href=&quot;{\$url-&gt;resourceLink(\$randomImage)}&quot;&gt;<br />&lt;img style=&quot;border:0px;&quot; src=&quot;{\$url-&gt;resourcePreviewLink(\$randomImage)}&quot; alt=&quot;{\$randomImage-&gt;getDescription()}&quot; /&gt;<br />&lt;/a&gt;</b></p><p>And, you can use <br /><br /><strong>{\$galleryimages-&gt;randomImage(8)}</strong> to get 1 random image from album id=8, or use <br /><strong>{\$galleryimages-&gt;randomImage(10,3)}</strong> to get the 3 random images from album id=10 </p><p>Or, you also can use</p><p><strong>{\$galleryimages-&gt;lastImage(8)}</strong> to get last 1 upload image from album id=8, or use <br /><strong>{\$galleryimages-&gt;lastImage(10,3)}</strong> to get last 3 upload images from album id=10 <br /><br />";
+            $this->id = "galleryimages";
+            $this->locales = Array();
             
             $this->PluginBase();
+            
+            // register an extra action that will serve the images
+            
         }
  
         /**
          * Returns the GalleryResource object of the latest image uploaded to the database
          */
-        function latestImage( $album_id, $maxImages = 1)
+        function latestImages( $maxImages = 1, $album_id = 0 )
         {
             $resources = new GalleryResources();
             $prefix = $resources->getPrefix();
@@ -36,12 +40,18 @@
                       r.resource_type AS resource_type, r.file_path AS file_path,
                       r.file_name AS file_name, r.metadata AS metadata, 
                       r.thumbnail_format AS thumbnail_format
-                      FROM {$prefix}gallery_resources r, {$prefix}gallery_albums a
-                      WHERE r.resource_type = 1 AND a.show_album = 1 AND r.album_id = {$album_id} AND a.id = {$album_id}
-                      AND r.owner_id = $blogId
-                      ORDER BY r.date DESC LIMIT 0, {$maxImages}";
+                      FROM {$prefix}gallery_resources r";
+            if( $album_id > 0 )
+                $query .= ", {$prefix}gallery_albums a";
+                
+            $query .= " WHERE r.resource_type = 1 AND r.owner_id = '".Db::qstr($blogId)."'";
+                      
+            if( $album_id > 0 )
+                $query .= " AND a.show_album = 1 AND a.id = '".Db::qstr($album_id)."' AND r.album_id = '".Db::qstr($album_id)."'";
+                
+            $query .= "ORDER BY r.date DESC LIMIT 0, {$maxImages}";
             // just to make things easier, we'll cheat a little here...
-
+            
             $result = $resources->_db->Execute( $query );
 
             if( !$result )
@@ -53,12 +63,38 @@
             } 
             
             return $latestimages;
-        }         
+        }
         
         /**
+         * Returns only the latest image from the givel album id
+         */
+        function latestImage( $album_id = 0 )
+        {
+            $latestImages = $this->latestImages( 1, $album_id );
+            
+            if( $latestImages ) 
+                return( array_pop( $latestImages ));
+            else
+                return( false );
+        }
+        
+        /**
+         * Returns exactly one random image from our collection
+         */
+        function randomImage( $album_id = 0 )
+        {
+            $randomImages = $this->randomImages( $album_id );
+            
+            if( $randomImages )
+                return( array_pop( $randomImage ));
+            else
+                return( false );
+        }
+        
+        /**
          * Returns the GalleryResource object of a random image from one of the public albums
          */
-        function randomImage( $album_id, $maxImages = 1 )
+        function randomImages( $maxImages = 1, $album_id = 0 )
         {
             $resources = new GalleryResources();
             $prefix = $resources->getPrefix();
@@ -69,11 +105,17 @@
                       r.resource_type AS resource_type, r.file_path AS file_path,
                       r.file_name AS file_name, r.metadata AS metadata, 
                       r.thumbnail_format AS thumbnail_format
-                      FROM {$prefix}gallery_resources r, {$prefix}gallery_albums a
-                      WHERE r.resource_type = 1 AND a.show_album = 1 AND r.album_id = {$album_id} AND a.id = {$album_id}
-                      AND r.owner_id = $blogId
-                      ORDER BY RAND() LIMIT 0, {$maxImages}";
-            // just to make things easier, we'll cheat a little here...
+                      FROM {$prefix}gallery_resources r";
+            if( $album_id > 0 ) 
+                $query .= ", {$prefix}gallery_albums a";
+            $query .= " WHERE r.resource_type = 1 AND r.owner_id = $blogId";
+            if( $album_id > 0 ) {
+                $query .=" AND a.show_album = 1 AND r.album_id = '".Db::qstr($album_id)."' AND a.id = '".Db::qstr($album_id)."'";
+            }
+                      
+            $query .=" ORDER BY RAND() LIMIT 0, {$maxImages}";
+            
+            // just to make things easier, we'll cheat a little here...            
             $result = $resources->_db->Execute( $query );
             if( !$result )
                 return false;
@@ -87,6 +129,4 @@
         }
     }
     
-    PluginManager::registerPlugin( "galleryimages", "PluginGalleryImages" );
-
 ?>
\ No newline at end of file




More information about the pLog-svn mailing list