[pLog-svn] r1975 - in plugins/trunk: . gallery gallery/class
gallery/class/action gallery/class/gallery gallery/class/view
gallery/locale gallery/templates
oscar at devel.plogworld.net
oscar at devel.plogworld.net
Mon May 9 19:25:51 GMT 2005
Author: oscar
Date: 2005-05-09 19:25:50 +0000 (Mon, 09 May 2005)
New Revision: 1975
Added:
plugins/trunk/gallery/
plugins/trunk/gallery/README
plugins/trunk/gallery/class/
plugins/trunk/gallery/class/action/
plugins/trunk/gallery/class/action/plugingalleryconfigaction.class.php
plugins/trunk/gallery/class/action/plugingalleryshowaction.class.php
plugins/trunk/gallery/class/action/plugingalleryupdateconfigaction.class.php
plugins/trunk/gallery/class/gallery/
plugins/trunk/gallery/class/gallery/galleryhelper.class.php
plugins/trunk/gallery/class/view/
plugins/trunk/gallery/class/view/plugingalleryconfigview.class.php
plugins/trunk/gallery/class/view/plugingalleryshowview.class.php
plugins/trunk/gallery/locale/
plugins/trunk/gallery/locale/locale_en_UK.php
plugins/trunk/gallery/plugingallery.class.php
plugins/trunk/gallery/templates/
plugins/trunk/gallery/templates/galleryAdmin.template
plugins/trunk/gallery/templates/galleryShow.template
Log:
added a new plugin to integrate Gallery2 with plog's own public side. Quite cool if you ask me :)
Added: plugins/trunk/gallery/README
===================================================================
--- plugins/trunk/gallery/README 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/README 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,23 @@
+PLUGIN: Embbeded Gallery
+AUTHOR: Laurent Vauthrin
+
+1. Download Gallery2 from http://gallery.menalto.com/ and install it.
+2. Copy this plugin to the plugins directory and configure it.
+3. Add the following to your template so that it adds the link.
+ {if $gallery->isEnabled()}
+ <a title="My Photos" href="index.php?op=gallery">
+ {$locale->tr("gallery")}
+ </a>
+ {/if}
+4. Optionally add the following for image blocks
+ {if $gallery->isEnabled()}{$gallery->getImageBlock()}{/if}
+
+Once it is all done, you may want to change the template that is used to display the
+gallery. The template file (galleryShow.template) is located in the plugin's templates folder.
+More information is available in that file. You should also modify your template's css
+(if you don't plan on using the one returned by gallery) so that the albums look better.
+
+There is room for improvement. For example, no user/session information is passed between
+Gallery and pLog even though the capability is there.
+
+Gallery2 is in beta so there are likely to be changes.
Added: plugins/trunk/gallery/class/action/plugingalleryconfigaction.class.php
===================================================================
--- plugins/trunk/gallery/class/action/plugingalleryconfigaction.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/action/plugingalleryconfigaction.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,39 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+include_once( PLOG_CLASS_PATH."plugins/gallery/class/view/plugingalleryconfigview.class.php" );
+
+/**
+ * This class is responsible for processing the gallery plugin config action.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGalleryConfigAction extends AdminAction
+{
+ /**
+ * Constructor.
+ *
+ * @param $actionInfo The action information.
+ * @param $request The HTTP request information.
+ * @return Returns the value passed back by AdminAction.
+ */
+ function PluginGalleryConfigAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ }
+
+ /**
+ * This function performs the action.
+ *
+ * @param None.
+ * @return Returns true
+ */
+ function perform()
+ {
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->setCommonData();
+
+ return true;
+ }
+}
+?>
Added: plugins/trunk/gallery/class/action/plugingalleryshowaction.class.php
===================================================================
--- plugins/trunk/gallery/class/action/plugingalleryshowaction.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/action/plugingalleryshowaction.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,39 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
+include_once( PLOG_CLASS_PATH."plugins/gallery/class/view/plugingalleryshowview.class.php" );
+
+/**
+ * This class is responsible for performing the show gallery action.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGalleryShowAction extends BlogAction
+{
+ /**
+ * Constructor.
+ *
+ * @param $actionInfo The action information.
+ * @param $request The HTTP request information.
+ * @return Returns the value passed back by AdminAction.
+ */
+ function PluginGalleryShowAction( $actionInfo, $request )
+ {
+ return $this->BlogAction( $actionInfo, $request );
+ }
+
+ /**
+ * This function performs the action.
+ *
+ * @param None.
+ * @return Returns true.
+ */
+ function perform()
+ {
+ $this->_view = new PluginGalleryShowView( $this->_blogInfo );
+ $this->setCommonData();
+
+ return true;
+ }
+}
+?>
Added: plugins/trunk/gallery/class/action/plugingalleryupdateconfigaction.class.php
===================================================================
--- plugins/trunk/gallery/class/action/plugingalleryupdateconfigaction.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/action/plugingalleryupdateconfigaction.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,159 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+include_once( PLOG_CLASS_PATH."plugins/gallery/class/view/plugingalleryconfigview.class.php" );
+
+/**
+ * This class is responsible for updating the gallery plugin settings.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGalleryUpdateConfigAction extends AdminAction
+{
+ /**
+ * @private
+ */
+ var $_pluginEnabled;
+ var $_sidebarEnabled;
+ var $_sidebarGreetingEnabled;
+ var $_pathbarEnabled;
+ var $_absolutePath;
+ var $_embedUri;
+ var $_embedPath;
+ var $_relativPath;
+ var $_blocks;
+ var $_show;
+ var $_itemid;
+
+ /**
+ * Constructor.
+ *
+ * @param $actionInfo The action information.
+ * @param $request The HTTP request information.
+ * @return Returns the value passed back by AdminAction.
+ */
+ function PluginGalleryUpdateConfigAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ }
+
+ /**
+ * This function validates the form inputs.
+ *
+ * @param None.
+ * @return Returns true.
+ */
+ function validate()
+ {
+ $this->_pluginEnabled = $this->_request->getValue( "pluginEnabled" );
+ $this->_pluginEnabled = ( $this->_pluginEnabled != "" );
+
+ $this->_sidebarEnabled = $this->_request->getValue( "sidebarEnabled" );
+ $this->_sidebarEnabled = ( $this->_sidebarEnabled != "" );
+
+ $this->_sidebarGreetingEnabled = $this->_request->getValue( "sidebarGreetingEnabled" );
+ $this->_sidebarGreetingEnabled = ( $this->_sidebarGreetingEnabled != "" );
+
+ $this->_pathbarEnabled = $this->_request->getValue( "pathbarEnabled" );
+ $this->_pathbarEnabled = ( $this->_pathbarEnabled != "" );
+
+ $this->_absolutePath = $this->_request->getValue( "absolutePath" );
+ $this->_embedUri = $this->_request->getValue( "embedUri" );
+ $this->_embedPath = $this->_request->getValue( "embedPath" );
+ $this->_relativePath = $this->_request->getValue( "relativePath" );
+
+ $this->_blocks = $this->_request->getValue( "blocks" );
+ $this->_show = $this->_request->getValue( "show" );
+ $this->_itemid = $this->_request->getValue( "itemid" );
+
+ if ( $this->_embedUri == "" || $this->_absolutePath == "" ||
+ $this->_embedPath == "" || $this->_relativePath == "" ) {
+
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr( "error_required_missing" ) );
+ $this->setCommonData();
+
+ return false;
+ }
+
+ // TODO: run checks to make sure that blocks and show have valid values
+
+ if ( $this->_blocks == "specificItem" && $this->_itemid == "" ) {
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr( "error_itemid" ) );
+ $this->setCommonData();
+
+ return false;
+ }
+
+ if ( $this->_blocks != "specificItem" ) {
+ $this->_itemid = "";
+ }
+
+ if ( !file_exists( $this->_absolutePath ) ) {
+
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr( "error_absolute_path" ) );
+ $this->setCommonData();
+
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * This function performs the action.
+ *
+ * @param None.
+ * @return Returns true if the update was successful; otherwise returns false.
+ */
+ function perform()
+ {
+ // Get the blog settings
+ $blogSettings = $this->_blogInfo->getSettings();
+
+ // Update the relevant values with the form inputs
+ $blogSettings->setValue( "plugin_gallery_enabled", $this->_pluginEnabled );
+ $blogSettings->setValue( "gallery_sidebar_enabled", $this->_sidebarEnabled );
+ $blogSettings->setValue( "gallery_sidebarGreeting_enabled",
+ $this->_sidebarGreetingEnabled );
+ $blogSettings->setValue( "gallery_pathbar_enabled", $this->_pathbarEnabled );
+ $blogSettings->setValue( "gallery_absolute_path", $this->_absolutePath );
+ $blogSettings->setValue( "gallery_embed_uri", $this->_embedUri );
+ $blogSettings->setValue( "gallery_embed_path", $this->_embedPath );
+ $blogSettings->setValue( "gallery_relative_path", $this->_relativePath );
+ $blogSettings->setValue( "gallery_blocks", $this->_blocks );
+ $blogSettings->setValue( "gallery_show", $this->_show );
+ $blogSettings->setValue( "gallery_itemid", $this->_itemid );
+
+ // Set and save the new blog settings
+ $this->_blogInfo->setSettings( $blogSettings );
+ $blogs = new Blogs();
+
+ // Display an error message if there was a problem with the update
+ if( !$blogs->updateBlog( $this->_blogInfo->getId(), $this->_blogInfo ) ) {
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr( "error_updating_settings" ) );
+ $this->setCommonData();
+
+ return false;
+ }
+
+ // If things went well, save the session...
+ $this->_blogInfo->setSettings( $blogSettings );
+ $this->_session->setValue( "blogInfo", $this->_blogInfo );
+ $this->saveSession();
+
+ // and show the success message
+ $this->_view = new PluginGalleryConfigView( $this->_blogInfo );
+ $this->_view->setSuccessMessage( $this->_locale->tr( "gallery_settings_saved_ok" ) );
+ $this->setCommonData();
+
+ // clear the cache
+ CacheControl::resetBlogCache( $this->_blogInfo->getId() );
+
+ return true;
+ }
+}
+?>
Added: plugins/trunk/gallery/class/gallery/galleryhelper.class.php
===================================================================
--- plugins/trunk/gallery/class/gallery/galleryhelper.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/gallery/galleryhelper.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,212 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/object/object.class.php" );
+
+/**
+ * This class calls the gallery embedding functions.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class GalleryHelper extends Object
+{
+ /**
+ * @private
+ */
+ var $_absolutePath;
+ var $_embedUri;
+ var $_embedPath;
+ var $_relativePath;
+ var $_title;
+ var $_css;
+ var $_javascript;
+ var $_body;
+ var $_error;
+
+ /**
+ * Constructor used to make a request to Gallery
+ *
+ * @param $absolutePath Path to the gallery application
+ * @param $embedUri File to plog main file
+ * @param $embedPath Path to document root from pLog
+ * @param $relativePath Path to gallery from pLog
+ * @return None.
+ */
+ function GalleryHelper( $absolutePath,
+ $embedUri,
+ $embedPath,
+ $relativePath )
+ {
+
+ $this->_absolutePath = $absolutePath;
+ $this->_embedUri = $embedUri;
+ $this->_embedPath = $embedPath;
+ $this->_relativePath = $relativePath;
+ }
+
+ /**
+ * Function which retrieves your galleries
+ *
+ * @param $sidebarEnabled Boolean used to show/hide the side bar
+ * @param $sidebarGreetingEnabled Boolean used to show/hide the side greeting
+ * @param $pathbarEnabled Boolean used to show/hide the path bar
+ * @return Error object or Gallery HTML.
+ */
+ function getGallery( $sidebarEnabled,
+ $sidebarGreetingEnabled,
+ $pathbarEnabled )
+ {
+ require_once( $this->_absolutePath );
+
+ // Set up the gallery call
+ $ret = GalleryEmbed::init( array( 'embedUri' => $this->_embedUri,
+ 'embedPath' => $this->_embedPath,
+ 'relativeG2Path' => $this->_relativePath,
+ 'activeUserId' => '' ) );
+
+ // Return error details if there is a problem
+ if ($ret->isError()) {
+ $this->_error = $ret->getAsHtml();
+ return;
+ }
+
+ // Set gallery options
+ GalleryCapabilities::set( 'showSidebar', $sidebarEnabled );
+ GalleryCapabilities::set( 'showSidebarGreeting', $sidebarGreetingEnabled );
+ GalleryCapabilities::set( 'showPathbar', $pathbarEnabled );
+
+ // Process the request
+ $g2data = GalleryEmbed::handleRequest();
+
+ // Gallery has already sent output (redirect or binary data)
+ if ( $g2data['isDone'] ) {
+ return;
+ }
+
+ // Retrieve the html head
+ if ( isset( $g2data['headHtml'] ) ) {
+ list( $title, $css, $javascript ) = GalleryEmbed::parseHead( $g2data['headHtml'] );
+ $this->_title = $title;
+ $this->_css = $css;
+ $this->_javascript = $javascript;
+ }
+
+ // Tell gallery that you are done
+ $ret = GalleryEmbed::done();
+
+ // Check for errors
+ if ($ret->isError()) {
+ return $ret->getAsHtml();
+ }
+
+ // Retrieve the html body
+ $this->_body = $g2data['bodyHtml'];
+ }
+
+ /**
+ * Function which retrieve's Gallery's image block
+ *
+ * @param $blocks Identifies what image you want to see.
+ * @param $show Identifies what to display with the image.
+ * @param $itemid The Itemd ID of the image to be shown (must specify in blocks).
+ * @return Error object or image block HTML.
+ */
+ function getImageBlock( $blocks,
+ $show,
+ $itemid)
+
+ {
+ require_once($this->_absolutePath);
+
+ // Set up the gallery call
+
+ $ret = GalleryEmbed::init( array( 'embedUri' => $this->_embedUri,
+ 'embedPath' => $this->_embedPath,
+ 'relativeG2Path' => $this->_relativePath,
+ 'activeUserId' => '' ) );
+
+ // Check for errors
+ if ($ret->isError()) {
+ return $ret->getAsHtml();
+ }
+
+ // Get the image block
+ if ( $itemid != "" ) {
+ list($ret, $g2data) = GalleryEmbed::getImageBlock( array( 'blocks' => $blocks,
+ 'show' => $show,
+ 'itemId' => $itemid) );
+ } else {
+ list($ret, $g2data) = GalleryEmbed::getImageBlock( array( 'blocks' => $blocks,
+ 'show' => $show ) );
+ }
+
+ // Check for errors
+ if ($ret->isError()) {
+ return $ret->getAsHtml();
+ }
+
+ // Tell gallery that you are done
+ $ret = GalleryEmbed::done();
+
+ // Check for errors
+ if ($ret->isError()) {
+ return $ret->getAsHtml();
+ }
+
+ return $g2data;
+ }
+
+ /**
+ * Accessor function used to retrieve the gallery title
+ *
+ * @param None.
+ * @return Gallery title.
+ */
+ function getTitle()
+ {
+ return $this->_title;
+ }
+
+ /**
+ * Accessor function used to retrieve the gallery style sheet
+ *
+ * @param None.
+ * @return Gallery style sheet.
+ */
+ function getCSS()
+ {
+ return $this->_css;
+ }
+
+ /**
+ * Accessor function used to retrieve the gallery javascript
+ *
+ * @param None.
+ * @return Gallery javascript.
+ */
+ function getJavascript()
+ {
+ return $this->_javascript;
+ }
+
+ /**
+ * Accessor function used to retrieve the actual gallery
+ *
+ * @param None.
+ * @return Gallery body.
+ */
+ function getBody()
+ {
+ return $this->_body;
+ }
+
+ /**
+ * Accessor function used to retrieve error messages
+ *
+ * @param None.
+ * @return Gallery error message.
+ */
+ function getError()
+ {
+ return $this->_error;
+ }
+}
Added: plugins/trunk/gallery/class/view/plugingalleryconfigview.class.php
===================================================================
--- plugins/trunk/gallery/class/view/plugingalleryconfigview.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/view/plugingalleryconfigview.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,63 @@
+<?php
+
+include_once( PLOG_CLASS_PATH."class/view/admin/adminplugintemplatedview.class.php" );
+
+/**
+ * Implements the config view for the gallery plugin
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGalleryConfigView extends AdminPluginTemplatedView {
+
+ /**
+ * Constructor
+ *
+ * @param $blogInfo Blog specific information.
+ * @return None.
+ */
+ function PluginGalleryConfigView( $blogInfo ) {
+ $this->AdminPluginTemplatedView( $blogInfo, "gallery", "galleryAdmin" );
+ }
+
+ /**
+ * This function renders the admin view
+ *
+ * @param None.
+ * @return Returns true.
+ */
+ function render() {
+
+ // Get the current gallery plugin settings
+ $blogSettings = $this->_blogInfo->getSettings();
+ $pluginEnabled = $blogSettings->getValue( "plugin_gallery_enabled" );
+ $sidebarEnabled = $blogSettings->getValue( "gallery_sidebar_enabled" );
+ $sidebarGreetingEnabled = $blogSettings->getValue( "gallery_sidebarGreeting_enabled" );
+ $pathbarEnabled = $blogSettings->getValue( "gallery_pathbar_enabled" );
+ $absolutePath = $blogSettings->getValue( "gallery_absolute_path" );
+ $embedUri = $blogSettings->getValue( "gallery_embed_uri" );
+ $embedPath = $blogSettings->getValue( "gallery_embed_path" );
+ $relativePath = $blogSettings->getValue( "gallery_relative_path" );
+ $blocks = $blogSettings->getValue( "gallery_blocks" );
+ $show = $blogSettings->getValue( "gallery_show" );
+ $itemid = $blogSettings->getValue( "gallery_itemid" );
+
+ // Export the settings to the template
+ $this->setValue( "pluginEnabled", $pluginEnabled );
+ $this->setValue( "sidebarEnabled", $sidebarEnabled );
+ $this->setValue( "sidebarGreetingEnabled", $sidebarGreetingEnabled );
+ $this->setValue( "pathbarEnabled", $pathbarEnabled );
+ $this->setValue( "absolutePath", $absolutePath );
+ $this->setValue( "embedUri", $embedUri );
+ $this->setValue( "embedPath", $embedPath );
+ $this->setValue( "relativePath", $relativePath );
+ $this->setValue( "blocks", $blocks );
+ $this->setValue( "show", $show );
+ $this->setValue( "itemid", $itemid );
+
+ parent::render();
+
+ return true;
+ }
+}
+?>
Added: plugins/trunk/gallery/class/view/plugingalleryshowview.class.php
===================================================================
--- plugins/trunk/gallery/class/view/plugingalleryshowview.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/class/view/plugingalleryshowview.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,70 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/view/plugintemplatedview.class.php" );
+include_once( PLOG_CLASS_PATH."plugins/gallery/class/gallery/galleryhelper.class.php" );
+
+/**
+ * This class creates the view for the embedded gallery.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGalleryShowView extends PluginTemplatedView
+{
+
+ /**
+ * Constructor to create a non-cached view
+ *
+ * @param $blogInfo Blog specific information.
+ * @return None.
+ */
+ function PluginGalleryShowView( $blogInfo )
+ {
+ $this->PluginTemplatedView( $blogInfo,
+ "gallery",
+ "galleryShow",
+ SMARTY_VIEW_CACHE_DISABLED );
+ }
+
+ /**
+ * This function renders the gallery view
+ *
+ * @param None.
+ * @return Returns true.
+ */
+ function render()
+ {
+ // Get the current gallery settings
+ $blogSettings = $this->_blogInfo->getSettings();
+ $pluginEnabled = $blogSettings->getValue( "plugin_gallery_enabled" );
+ $sidebarEnabled = $blogSettings->getValue( "gallery_sidebar_enabled" );
+ $sidebarGreetingEnabled = $blogSettings->getValue( "gallery_sidebarGreeting_enabled" );
+ $pathbarEnabled = $blogSettings->getValue( "gallery_pathbar_enabled" );
+ $absolutePath = $blogSettings->getValue( "gallery_absolute_path" );
+ $embedUri = $blogSettings->getValue( "gallery_embed_uri" );
+ $embedPath = $blogSettings->getValue( "gallery_embed_path" );
+ $relativePath = $blogSettings->getValue( "gallery_relative_path" );
+
+ // Create a gallery helper object to interact with gallery
+ $gallery = new GalleryHelper( $absolutePath,
+ $embedUri,
+ $embedPath,
+ $relativePath);
+
+ $gallery->getGallery($sidebarEnabled,
+ $sidebarGreetingEnabled,
+ $pathbarEnabled);
+
+ // Export values to the template
+ $this->setValue( "pluginEnabled", $pluginEnabled );
+ $this->setValue( "galleryTitle", $gallery->getTitle() );
+ $this->setValue( "galleryCSS", $gallery->getCSS() );
+ $this->setValue( "galleryJavascript", $gallery->getJavascript() );
+ $this->setValue( "galleryBody", $gallery->getBody() );
+ $this->setValue( "galleryError", $gallery->getError() );
+
+ parent::render();
+
+ return true;
+ }
+}
+?>
Added: plugins/trunk/gallery/locale/locale_en_UK.php
===================================================================
--- plugins/trunk/gallery/locale/locale_en_UK.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/locale/locale_en_UK.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,52 @@
+<?php
+$messages["embeddedApps"] = "Embedded Applications";
+$messages["Gallery"] = "Gallery";
+$messages["gallery_plugin"] = "Gallery Plugin";
+
+$messages["gallery_sidebar_enabled"] = "Show sidebar";
+$messages["gallery_sidebarGreeting_enabled"] = "Show sidebar greeting";
+$messages["gallery_pathbar_enabled"] = "Show pathbar";
+
+$messages["error_gallery_not_enabled"] = "Please enable Gallery plugin first.";
+$messages["error_required_missing"] = "Please fill in all required values.";
+$messages["error_absolute_path"] = "Absolute path doesn't seem to be correct.";
+$messages["error_itemid"] = "You must fill in Item Id if you choose 'specificItem' in blocks";
+$messages["gallery_settings_saved_ok"] = "Gallery settings saved successfully!";
+
+$messages["label_configuration"] = "Configuration";
+$messages["label_enable"] = "Enable this plugin";
+$messages["label_default"] = "Default";
+$messages["label_sidebar"] = "Enable side bar";
+$messages["label_sidebar_greeting"] = "Enable side bar greeting";
+$messages["label_sidepath"] = "Enable side path";
+$messages["label_absolute_path"] = "Absolute path";
+$messages["label_embed_uri"] = "Embed uri";
+$messages["label_embed_path"] = "Embed path";
+$messages["label_relative_path"] = "Relative path";
+$messages["label_example"] = "Example:";
+$messages["label_blocks"] = "Blocks";
+$messages["label_show"] = "Show";
+$messages["label_itemid"] = "Item ID";
+
+$messages["help_enable"] = "Enables the gallery plugin";
+$messages["help_sidebar"] = "Enable the Gallery side bar. This allows for extended functionality.";
+$messages["help_sidebar_greeting"] = "Displays a welcome message to the user.";
+$messages["help_sidepath"] = "Displays a navigation path to the user.";
+$messages["help_absolute_path"] = "Path to Gallery's embed.php file (ex. /var/www/gallery2/embed.php).";
+$messages["help_embed_uri"] = "Filename (and query parameters, but no path) of pLog.";
+$messages["help_embed_path"] = "URL path from document root to pLog directory.";
+$messages["help_relative_path"] = "Path from pLog directory to Gallery base directory.";
+$messages["help_example"] = "<pre> __ access point __ __ G2 base dir __<br/>".
+" a) plog/index.php plog/gallery2<br/>".
+" b) index.php?page=gallery albums<br/>".
+"For the above examples these settings are:<br/>".
+" __ embedURI __ __ embedPath __ __ relativeG2Path __<br/>".
+" a) index.php /plog gallery2<br/>".
+" d) index.php?page=gallery / albums</pre>";
+$messages["help_blocks"] = "A pipe (|) separated list, of one or more possible blocks which are:<br/>".
+" * randomImage|recentImage|viewedImage|randomAlbum|recentAlbum|viewedAlbum|specificItem<br/>".
+" * dailyImage|weeklyImage|monthlyImage|dailyAlbum|weeklyAlbum|monthlyAlbum";
+$messages["help_show"] = "A pipe (|) separated list of one or more possible choices which are:<br/>".
+" * title|date|views|owner|heading|fullSize or just 'none'";
+$messages["help_itemid"] = "If you choose 'blocks' = 'specificItem', you have to specify this field.";
+?>
\ No newline at end of file
Added: plugins/trunk/gallery/plugingallery.class.php
===================================================================
--- plugins/trunk/gallery/plugingallery.class.php 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/plugingallery.class.php 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,113 @@
+<?php
+include_once( PLOG_CLASS_PATH."class/plugin/pluginbase.class.php" );
+include_once( PLOG_CLASS_PATH."plugins/gallery/class/gallery/galleryhelper.class.php" );
+
+/**
+ * This class is responsible for initializing the gallery plugin. The gallery plugin
+ * creates one blog action (to display the photo gallery) and two admin actions to change
+ * the plugin's settings. This class also sets up an menu option in the control center.
+ *
+ * @version 0.1
+ * @author Laurent Vauthrin
+ */
+class PluginGallery extends PluginBase
+{
+ /**
+ * @private
+ */
+ var $_pluginEnabled;
+
+ /**
+ * Constructor.
+ *
+ * @param None.
+ * @return None.
+ */
+ function Plugingallery()
+ {
+ $this->PluginBase();
+
+ // Setup the plugin information
+ $this->id = "gallery";
+ $this->author = "Laurent Vauthrin";
+ $this->desc = "Integrates gallery into plog.";
+
+ // Setup the locale
+ $this->locales = Array( "en_UK" );
+
+ // Register the actions
+ $this->registerBlogAction( "gallery", "PluginGalleryShowAction" );
+ $this->registerAdminAction( "gallery", "PluginGalleryConfigAction" );
+ $this->registerAdminAction( "updateGalleryConfig", "PluginGalleryUpdateConfigAction" );
+
+ // Set up the Admin menu options
+ $menu =& Menu::getMenu();
+ if( !$menu->entryExists( "/menu/controlCenter/embeddedApps" ) ) {
+ $this->addMenuEntry( "/menu/controlCenter", "embeddedApps", "", "", true, false );
+ }
+ $this->addMenuEntry( "/menu/controlCenter/embeddedApps", "Gallery", "?op=gallery", "" );
+ }
+
+ /**
+ * This function initialites the plugin's default values
+ *
+ * @param None.
+ * @return Returns true.
+ */
+ function register()
+ {
+ $blogSettings = $this->blogInfo->getSettings();
+ $this->_pluginEnabled = $blogSettings->getValue( "plugin_gallery_enabled" );
+
+ return true;
+ }
+
+ /**
+ * This function gets Gallery's image block
+ *
+ * @param
+ * @return Returns error or image block.
+ */
+ function getImageBlock()
+ {
+ // Get the necessary blog settings
+ $blogSettings = $this->blogInfo->getSettings();
+ $absolutePath = $blogSettings->getValue( "gallery_absolute_path" );
+ $embedUri = $blogSettings->getValue( "gallery_embed_uri" );
+ $embedPath = $blogSettings->getValue( "gallery_embed_path" );
+ $relativePath = $blogSettings->getValue( "gallery_relative_path" );
+ $blocks = $blogSettings->getValue( "gallery_blocks" );
+ $show = $blogSettings->getValue( "gallery_show" );
+ $itemid = $blogSettings->getValue( "gallery_itemid" );
+
+ // Create a gallery helper object to interact with gallery
+ $gallery = new GalleryHelper( $absolutePath,
+ $embedUri,
+ $embedPath,
+ $relativePath);
+
+ if ( $blocks == "" ) {
+ $blocks = "randomImage";
+ }
+ if ( $show == "" ) {
+ $show = "none";
+ }
+
+ // Get the image block
+ return $gallery->getImageBlock($blocks,
+ $show,
+ $itemid);
+ }
+
+ /**
+ * Accessor function used to determine if the plugin is enabled.
+ *
+ * @param None.
+ * @return A boolean value that tells whether the plugin is enabled or disabled.
+ */
+ function isEnabled()
+ {
+ return $this->_pluginEnabled;
+ }
+}
+?>
Added: plugins/trunk/gallery/templates/galleryAdmin.template
===================================================================
--- plugins/trunk/gallery/templates/galleryAdmin.template 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/templates/galleryAdmin.template 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,104 @@
+{include file="$admintemplatepath/header.template"}
+{include file="$admintemplatepath/navigation.template" showOpt=Gallery title=$locale->tr("gallery_plugin")}
+<form name="galleryPluginConfig" method="post">
+ <fieldset class="inputField">
+ <legend>{$locale->tr("label_configuration")}</legend>
+ {include file="$admintemplatepath/successmessage.template"}
+ {include file="$admintemplatepath/errormessage.template"}
+ <div class="field">
+ <span class="required"></span>
+ <label for="pluginEnabled">{$locale->tr("label_enable")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" name="pluginEnabled" id="pluginEnabled"
+ {if $pluginEnabled} checked="checked" {/if} value="1"/>{$locale->tr("help_enable")}
+ </div>
+ </div>
+
+ <div class="field">
+ <label for="absolutePath">{$locale->tr("label_absolute_path")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("help_absolute_path")}
+ <input class="text" type="text" name="absolutePath" id="absolutePath" value="{$absolutePath}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label for="embedUri">{$locale->tr("label_embed_uri")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("help_embed_uri")}
+ <input class="text" type="text" name="embedUri" id="embedUri" value="{$embedUri}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label for="embedPath">{$locale->tr("label_embed_path")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("help_embed_path")}
+ <input class="text" type="text" name="embedPath" id="embedPath" value="{$embedPath}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label for="relativePath">{$locale->tr("label_relative_path")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("help_relative_path")}
+ <input class="text" type="text" name="relativePath" id="relativePath" value="{$relativePath}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label>{$locale->tr("label_example")}</label>
+ <div class="formHelp">{$locale->tr("help_example")}</div>
+ </div>
+
+ <div class="field">
+ <label for="blocks">{$locale->tr("label_blocks")}</label>
+ <span class="required"></span>
+ <div class="formHelp">{$locale->tr("help_blocks")}
+ <input class="text" type="text" name="blocks" id="blocks" value="{$blocks}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label for="show">{$locale->tr("label_show")}</label>
+ <span class="required"></span>
+ <div class="formHelp">{$locale->tr("help_show")}
+ <input class="text" type="text" name="show" id="show" value="{$show}"/>
+ </div>
+ </div>
+ <div class="field">
+ <label for="itemid">{$locale->tr("label_itemid")}</label>
+ <span class="required"></span>
+ <div class="formHelp">{$locale->tr("help_itemid")}
+ <input class="text" type="text" name="itemid" id="itemid" value="{$itemid}"/>
+ </div>
+ </div>
+
+ <div class="field">
+ <span class="required"></span>
+ <label for="pluginEnabled">{$locale->tr("label_sidebar")}</label><br/>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" name="sidebarEnabled" id="sidebarEnabled"
+ {if $sidebarEnabled} checked="checked" {/if} value="1" />{$locale->tr("help_sidebar")}
+ </div>
+ </div>
+ <div class="field">
+ <span class="required"></span>
+ <label for="pluginEnabled">{$locale->tr("label_sidebar_greeting")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" name="sidebarGreetingEnabled" id="sidebarGreetingEnabled"
+ {if $sidebarGreetingEnabled} checked="checked" {/if} value="1" />{$locale->tr("help_sidebar_greeting")}
+ </div>
+ </div>
+ <div class="field">
+ <span class="required"></span>
+ <label for="pluginEnabled">{$locale->tr("label_sidepath")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" name="pathbarEnabled" id="pathbarEnabled"
+ {if $pathbarEnabled} checked="checked" {/if} value="1" />{$locale->tr("help_sidepath")}
+ </div>
+ </div>
+ </fieldset>
+ <div class="buttons">
+ <input type="hidden" name="op" value="updateGalleryConfig" />
+ <input type="reset" name="{$locale->tr("reset")}" />
+ <input type="submit" name="{$locale->tr("update_settings")}" value="{$locale->tr("update")}" />
+ </div>
+</form>
+{include file="$admintemplatepath/footernavigation.template"}
+{include file="$admintemplatepath/footer.template"}
Added: plugins/trunk/gallery/templates/galleryShow.template
===================================================================
--- plugins/trunk/gallery/templates/galleryShow.template 2005-05-09 07:31:58 UTC (rev 1974)
+++ plugins/trunk/gallery/templates/galleryShow.template 2005-05-09 19:25:50 UTC (rev 1975)
@@ -0,0 +1,26 @@
+{include file="$blogtemplate/header.template"}
+
+<!--
+You should modify this template to suit your needs.
+The variables exported to Smarty are:
+
+"pluginEnabled" - Tells you if the plugin is enabled or not.
+"galleryTitle" - The title of the gallery page.
+"galleryCSS" - The CSS for the gallery page (array).
+"galleryJavascript" - The javascript for the gallery page (array).
+"galleryBody" - The actual content of the gallery page.
+"galleryError" - Error message sent back from gallery.
+-->
+
+{if $galleryError}
+ {$galleryError}
+{else}
+<!-- -->
+ {section name=cssSection loop=$galleryCSS}
+ {$galleryCSS[cssSection]}
+ {/section}
+
+ {$galleryBody}
+{/if}
+
+{include file="$blogtemplate/footer.template"}
More information about the pLog-svn
mailing list