[pLog-svn] r1548 - in plugins/trunk/templateeditor: . class/action templates

mark at devel.plogworld.net mark at devel.plogworld.net
Fri Mar 18 16:54:03 GMT 2005


Author: mark
Date: 2005-03-18 16:54:03 +0000 (Fri, 18 Mar 2005)
New Revision: 1548

Added:
   plugins/trunk/templateeditor/class/action/pluginbloguploadtemplatefileaction.class.php
   plugins/trunk/templateeditor/class/action/pluginsiteuploadtemplatefileaction.class.php
Modified:
   plugins/trunk/templateeditor/plugintemplateeditor.class.php
   plugins/trunk/templateeditor/readme.txt
   plugins/trunk/templateeditor/templates/blogtemplateslist.template
   plugins/trunk/templateeditor/templates/blogtemplatesubfolderlist.template
   plugins/trunk/templateeditor/templates/sitetemplateslist.template
   plugins/trunk/templateeditor/templates/sitetemplatesubfolderlist.template
Log:
Add upload file functionality to template editor. Template editor is complete!!Finally :P

Added: plugins/trunk/templateeditor/class/action/pluginbloguploadtemplatefileaction.class.php
===================================================================
--- plugins/trunk/templateeditor/class/action/pluginbloguploadtemplatefileaction.class.php	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/class/action/pluginbloguploadtemplatefileaction.class.php	2005-03-18 16:54:03 UTC (rev 1548)
@@ -0,0 +1,124 @@
+<?php
+
+    include_once( PLOG_CLASS_PATH."class/action/admin/blogowneradminaction.class.php" );
+	include_once( PLOG_CLASS_PATH."class/template/templatesets/templatesetstorage.class.php" );
+	include_once( PLOG_CLASS_PATH."plugins/templateeditor/class/view/pluginblogtemplateslistview.class.php" );
+	include_once( PLOG_CLASS_PATH."plugins/templateeditor/class/view/pluginblogtemplatesubfolderlistview.class.php" );
+
+	/**
+	 * shows a form with the current configuration
+	 */
+	class PluginBlogUploadTemplateFileAction extends BlogOwnerAdminAction
+	{
+        var $_templateId;
+        var $_subFolderId;
+        var $_files;
+        		
+		function PluginBlogUploadTemplateFileAction( $actionInfo, $request )
+		{
+			$this->BlogOwnerAdminAction( $actionInfo, $request );
+		}
+
+        function validate()
+        {
+        	// make sure that the user is uploading a file
+            $this->_files = HttpVars::getFiles();
+            $this->_templateId = $this->_request->getValue( "templateId" );
+            $this->_subFolderId = $this->_request->getValue( "subFolderId" );            
+
+            // check if there's any file to upload
+            if( count($this->_files) != 1 ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginBlogTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginBlogTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale-tr("error_must_upload_file") );
+                $this->setCommonData();                
+
+                return false;
+            }
+
+            if( !$this->isValidExtension( $this->_files['resourceFile']['name'] ) ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginBlogTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginBlogTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                } 
+                $this->_view->setErrorMessage( $this->_locale->tr("templateeditor_error_templatefile_extension"));
+                $this->setCommonData();
+
+                return false;
+            }               
+
+            return true;
+        }		
+		
+		function perform()
+		{
+        	// uploads the file and moves it to the correct folder
+            $uploads  = new FileUploads( $this->_files );
+            
+            // make sure were it should go
+        	$ts = new TemplateSetStorage();
+
+            $blogId = $this->_blogInfo->getId();
+            $destFolder = $ts->getTemplateFolder($this->_templateId, $blogId);        
+            if ( !empty($this->_subFolderId) ) $destFolder = $destFolder . $this->_subFolderId . "/";
+            
+            // and move it there
+            $processedUploads = $uploads->process( $destFolder );
+            
+            // check for the different error conditions we can have
+            if( $processedUploads == FILE_UPLOADS_NOT_ENABLED ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginBlogTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginBlogTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale->tr("error_uploads_disabled") );
+                $this->setCommonData();  
+
+                return false;
+            }
+
+            $fileResult = $processedUploads[0];
+            if( $fileResult->getError()) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginBlogTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginBlogTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale->tr("error_adding_template_file") );
+                $this->setCommonData();  
+
+                return false;
+            }            
+            
+            if ( empty($this->_subFolderId) ) {
+                $this->_view = new PluginBlogTemplatesListView( $this->_blogInfo, $this->_templateId );
+            } else {
+                $this->_view = new PluginBlogTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+            }
+            $this->_view->setSuccessMessage( $this->_locale->pr("template_file_added_ok", $this->_templateId));
+			$this->setCommonData();
+			
+			return true;
+		}
+
+        function isValidExtension( $name )
+        {
+			$config =& Config::getConfig();
+			$allowedExtension = $config->getValue( "plugin_templateeditor_allowedextension" );
+			$allowedExtension = $allowedExtension . ",jpg,gif,png,bmp";
+		    $extensionList = explode(",", $allowedExtension);            
+            $fileExtension = array_pop(explode('.', $name));
+            foreach ($extensionList as $extension) {
+                if ( $fileExtension == trim($extension) ) {
+                    return true;   
+                }
+            }
+            return false;
+        }		
+	}
+?>
\ No newline at end of file

Added: plugins/trunk/templateeditor/class/action/pluginsiteuploadtemplatefileaction.class.php
===================================================================
--- plugins/trunk/templateeditor/class/action/pluginsiteuploadtemplatefileaction.class.php	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/class/action/pluginsiteuploadtemplatefileaction.class.php	2005-03-18 16:54:03 UTC (rev 1548)
@@ -0,0 +1,124 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	include_once( PLOG_CLASS_PATH."class/template/templatesets/templatesetstorage.class.php" );
+	include_once( PLOG_CLASS_PATH."plugins/templateeditor/class/view/pluginsitetemplateslistview.class.php" );
+	include_once( PLOG_CLASS_PATH."plugins/templateeditor/class/view/pluginsitetemplatesubfolderlistview.class.php" );
+
+	/**
+	 * shows a form with the current configuration
+	 */
+	class PluginSiteUploadTemplateFileAction extends SiteAdminAction
+	{
+        var $_templateId;
+        var $_subFolderId;
+        var $_files;
+        		
+		function PluginSiteUploadTemplateFileAction( $actionInfo, $request )
+		{
+			$this->SiteAdminAction( $actionInfo, $request );
+		}
+
+        function validate()
+        {
+        	// make sure that the user is uploading a file
+            $this->_files = HttpVars::getFiles();
+            $this->_templateId = $this->_request->getValue( "templateId" );
+            $this->_subFolderId = $this->_request->getValue( "subFolderId" );            
+
+            // check if there's any file to upload
+            if( count($this->_files) != 1 ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginSiteTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginSiteTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale-tr("error_must_upload_file") );
+                $this->setCommonData();                
+
+                return false;
+            }
+
+            if( !$this->isValidExtension( $this->_files['resourceFile']['name'] ) ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginSiteTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginSiteTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                } 
+                $this->_view->setErrorMessage( $this->_locale->tr("templateeditor_error_templatefile_extension"));
+                $this->setCommonData();
+
+                return false;
+            }               
+
+            return true;
+        }		
+		
+		function perform()
+		{
+        	// uploads the file and moves it to the correct folder
+            $uploads  = new FileUploads( $this->_files );
+            
+            // make sure were it should go
+        	$ts = new TemplateSetStorage();
+            
+            $blogId = $this->_blogInfo->getId();
+            $destFolder = $ts->getTemplateFolder( $this->_templateId );            
+            if ( !empty($this->_subFolderId) ) $destFolder = $destFolder . $this->_subFolderId . "/";
+            
+            // and move it there
+            $processedUploads = $uploads->process( $destFolder );
+            
+            // check for the different error conditions we can have
+            if( $processedUploads == FILE_UPLOADS_NOT_ENABLED ) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginSiteTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginSiteTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale->tr("error_uploads_disabled") );
+                $this->setCommonData();  
+
+                return false;
+            }
+
+            $fileResult = $processedUploads[0];
+            if( $fileResult->getError()) {
+                if ( empty($this->_subFolderId) ) {
+                    $this->_view = new PluginSiteTemplatesListView( $this->_blogInfo, $this->_templateId );
+                } else {
+                    $this->_view = new PluginSiteTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+                }
+    			$this->_view->setErrorMessage( $this->_locale->tr("error_adding_template_file") );
+                $this->setCommonData();  
+
+                return false;
+            }            
+            
+            if ( empty($this->_subFolderId) ) {
+                $this->_view = new PluginSiteTemplatesListView( $this->_blogInfo, $this->_templateId );
+            } else {
+                $this->_view = new PluginSiteTemplateSubFolderListView( $this->_blogInfo, $this->_templateId, $this->_subFolderId );
+            }
+            $this->_view->setSuccessMessage( $this->_locale->pr("template_file_added_ok", $this->_templateId));
+			$this->setCommonData();
+			
+			return true;
+		}
+
+        function isValidExtension( $name )
+        {
+			$config =& Config::getConfig();
+			$allowedExtension = $config->getValue( "plugin_templateeditor_allowedextension" );
+			$allowedExtension = $allowedExtension . ",jpg,gif,png,bmp";
+		    $extensionList = explode(",", $allowedExtension);            
+            $fileExtension = array_pop(explode('.', $name));
+            foreach ($extensionList as $extension) {
+                if ( $fileExtension == trim($extension) ) {
+                    return true;   
+                }
+            }
+            return false;
+        }		
+	}
+?>
\ No newline at end of file

Modified: plugins/trunk/templateeditor/plugintemplateeditor.class.php
===================================================================
--- plugins/trunk/templateeditor/plugintemplateeditor.class.php	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/plugintemplateeditor.class.php	2005-03-18 16:54:03 UTC (rev 1548)
@@ -34,6 +34,7 @@
             $this->registerAdminAction( "siteCopyTemplateFile", "PluginSiteCopyTemplateFileAction" );
             $this->registerAdminAction( "siteEditTemplateFile", "PluginSiteEditTemplateFileAction" );
             $this->registerAdminAction( "siteUpdateTemplateFile", "PluginSiteUpdateTemplateFileAction" );
+            $this->registerAdminAction( "siteUploadTemplateFile", "PluginSiteUploadTemplateFileAction" );
 
             $this->registerAdminAction( "blogTemplateSetsList", "PluginBlogTemplateSetsListAction" );
             $this->registerAdminAction( "blogDeleteTemplateSet", "PluginBlogDeleteTemplateSetsAction" );
@@ -45,6 +46,7 @@
             $this->registerAdminAction( "blogCopyTemplateFile", "PluginBlogCopyTemplateFileAction" );
             $this->registerAdminAction( "blogEditTemplateFile", "PluginBlogEditTemplateFileAction" );
             $this->registerAdminAction( "blogUpdateTemplateFile", "PluginBlogUpdateTemplateFileAction" );
+            $this->registerAdminAction( "blogUploadTemplateFile", "PluginBlogUploadTemplateFileAction" );
             
             $this->registerAdminAction( "templateEditorConfig", "PluginTemplateEditorConfigAction" );
             $this->registerAdminAction( "updateTemplateEditorConfig", "PluginTemplateEditorUpdateConfigAction" );

Modified: plugins/trunk/templateeditor/readme.txt
===================================================================
--- plugins/trunk/templateeditor/readme.txt	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/readme.txt	2005-03-18 16:54:03 UTC (rev 1548)
@@ -1,6 +1,6 @@
 Plugin: Template Editor
 Author: Mark Wu
-Release Date: 2005/03/18
+Release Date: 2005/03/19
 Version: 1.1
 
 The plugins offers complete template editor capabilities for pLog. It includes the following features.
@@ -11,8 +11,9 @@
 
 
 History
-1.1 2005/03/18
+1.1 2005/03/19
  Add Smarty Tag to online smarty editor
  Add the capability to browse sub folder under template set (Restrict to 1 level only)
+ Add the upload file fapability (but restrict to the allowed extension and images)
 1.0 2005/03/01
  Basic Template Editor function Ready

Modified: plugins/trunk/templateeditor/templates/blogtemplateslist.template
===================================================================
--- plugins/trunk/templateeditor/templates/blogtemplateslist.template	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/templates/blogtemplateslist.template	2005-03-18 16:54:03 UTC (rev 1548)
@@ -46,6 +46,29 @@
  <br style="clear:both">
 </div>
 
+<div id="list_nav_bar">
+ <div id="list_nav_select">
+  <form name="addResource" action="admin.php" method="post" enctype="multipart/form-data">
+   <fieldset>
+    <legend>{$locale->tr("newResource")}</legend>
+    <div class="list_nav_option">    
+     <label for="resourceFile">{$locale->tr("file")}</label>
+	 <br />
+	 <input style="width:680px;" type="file" name="resourceFile" id="resourceFile" />
+    </div>    
+    <div class="list_nav_option">
+     <br />
+     <input type="hidden" name="op" value="blogUploadTemplateFile">
+     <input type="hidden" name="templateId" value="{$currentTemplate}">
+     <input type="hidden" name="subFolderId" value="{$currentSubFolder}">
+     <input type="submit" name="Add" value="{$locale->tr("add")}">
+    </div>
+   </fieldset> 
+  </form> 
+ </div>
+ <br style="clear:both">
+</div>
+
 <form id="blogTemplatesList" method="post" action="admin.php">
  <div id="list">
   {include file="$admintemplatepath/successmessage.template"}

Modified: plugins/trunk/templateeditor/templates/blogtemplatesubfolderlist.template
===================================================================
--- plugins/trunk/templateeditor/templates/blogtemplatesubfolderlist.template	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/templates/blogtemplatesubfolderlist.template	2005-03-18 16:54:03 UTC (rev 1548)
@@ -46,6 +46,29 @@
  <br style="clear:both">
 </div>
 
+<div id="list_nav_bar">
+ <div id="list_nav_select">
+  <form name="addResource" action="admin.php" method="post" enctype="multipart/form-data">
+   <fieldset>
+    <legend>{$locale->tr("newResource")}</legend>
+    <div class="list_nav_option">    
+     <label for="resourceFile">{$locale->tr("file")}</label>
+	 <br />
+	 <input style="width:680px;" type="file" name="resourceFile" id="resourceFile" />
+    </div>    
+    <div class="list_nav_option">
+     <br />
+     <input type="hidden" name="op" value="blogUploadTemplateFile">
+     <input type="hidden" name="templateId" value="{$currentTemplate}">
+     <input type="hidden" name="subFolderId" value="{$currentSubFolder}">
+     <input type="submit" name="Add" value="{$locale->tr("add")}">
+    </div>
+   </fieldset> 
+  </form> 
+ </div>
+ <br style="clear:both">
+</div>
+
 <form id="blogTemplatesList" method="post" action="admin.php">
  <div id="list">
   {include file="$admintemplatepath/successmessage.template"}

Modified: plugins/trunk/templateeditor/templates/sitetemplateslist.template
===================================================================
--- plugins/trunk/templateeditor/templates/sitetemplateslist.template	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/templates/sitetemplateslist.template	2005-03-18 16:54:03 UTC (rev 1548)
@@ -46,6 +46,29 @@
  <br style="clear:both">
 </div>
 
+<div id="list_nav_bar">
+ <div id="list_nav_select">
+  <form name="addResource" action="admin.php" method="post" enctype="multipart/form-data">
+   <fieldset>
+    <legend>{$locale->tr("newResource")}</legend>
+    <div class="list_nav_option">    
+     <label for="resourceFile">{$locale->tr("file")}</label>
+	 <br />
+	 <input style="width:680px;" type="file" name="resourceFile" id="resourceFile" />
+    </div>    
+    <div class="list_nav_option">
+     <br />
+     <input type="hidden" name="op" value="siteUploadTemplateFile">
+     <input type="hidden" name="templateId" value="{$currentTemplate}">
+     <input type="hidden" name="subFolderId" value="{$currentSubFolder}">
+     <input type="submit" name="Add" value="{$locale->tr("add")}">
+    </div>
+   </fieldset> 
+  </form> 
+ </div>
+ <br style="clear:both">
+</div>
+
 <form id="siteTemplatesList" method="post" action="admin.php">
  <div id="list">
   {include file="$admintemplatepath/successmessage.template"}

Modified: plugins/trunk/templateeditor/templates/sitetemplatesubfolderlist.template
===================================================================
--- plugins/trunk/templateeditor/templates/sitetemplatesubfolderlist.template	2005-03-18 13:31:10 UTC (rev 1547)
+++ plugins/trunk/templateeditor/templates/sitetemplatesubfolderlist.template	2005-03-18 16:54:03 UTC (rev 1548)
@@ -46,6 +46,29 @@
  <br style="clear:both">
 </div>
 
+<div id="list_nav_bar">
+ <div id="list_nav_select">
+  <form name="addResource" action="admin.php" method="post" enctype="multipart/form-data">
+   <fieldset>
+    <legend>{$locale->tr("newResource")}</legend>
+    <div class="list_nav_option">    
+     <label for="resourceFile">{$locale->tr("file")}</label>
+	 <br />
+	 <input style="width:680px;" type="file" name="resourceFile" id="resourceFile" />
+    </div>    
+    <div class="list_nav_option">
+     <br />
+     <input type="hidden" name="op" value="siteUploadTemplateFile">
+     <input type="hidden" name="templateId" value="{$currentTemplate}">
+     <input type="hidden" name="subFolderId" value="{$currentSubFolder}">
+     <input type="submit" name="Add" value="{$locale->tr("add")}">
+    </div>
+   </fieldset> 
+  </form> 
+ </div>
+ <br style="clear:both">
+</div>
+
 <form id="siteTemplatesList" method="post" action="admin.php">
  <div id="list">
   {include file="$admintemplatepath/successmessage.template"}




More information about the pLog-svn mailing list