[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