[pLog-svn] r2907 - in plog/trunk: class/action/admin js/ui locale styles templates/admin

mark at devel.lifetype.net mark at devel.lifetype.net
Mon Feb 6 06:12:46 GMT 2006


Author: mark
Date: 2006-02-06 06:12:45 +0000 (Mon, 06 Feb 2006)
New Revision: 2907

Modified:
   plog/trunk/class/action/admin/adminchangepostscategoryaction.class.php
   plog/trunk/js/ui/plogui.js
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/locale/locale_zh_TW.php
   plog/trunk/styles/admin.css
   plog/trunk/templates/admin/editposts.template
Log:
1. Now, massive change support category multiple selection
2. Add a new show/hide option to make UI eaiser (I guess)
3. Locales implement done.

Modified: plog/trunk/class/action/admin/adminchangepostscategoryaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminchangepostscategoryaction.class.php	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/class/action/admin/adminchangepostscategoryaction.class.php	2006-02-06 06:12:45 UTC (rev 2907)
@@ -5,19 +5,18 @@
     include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
 	include_once( PLOG_CLASS_PATH."class/template/cachecontrol.class.php" );
 	include_once( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
-	include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 
     /**
      * \ingroup Action
      * @private
      *
-     * Massive changes posts category
+     * Massive changes posts categories
      */
     class AdminChangePostsCategoryAction extends AdminAction 
 	{
 
         var $_postIds;
-        var $_postCategory;
+        var $_postCategories;
 
     	/**
          * Constructor. If nothing else, it also has to call the constructor of the parent
@@ -27,7 +26,7 @@
         {
         	$this->AdminAction( $actionInfo, $request );
 			$this->registerFieldValidator( "postIds", new ArrayValidator());
-			$this->registerFieldValidator( "postCategory", new IntegerValidator() );
+			$this->registerFieldValidator( "postCategories", new ArrayValidator() );
 			$view = new AdminPostsListView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_incorrect_article_id"));
 			$this->setValidationErrorView( $view );		
@@ -53,7 +52,7 @@
 					$this->notifyEvent( EVENT_PRE_POST_UPDATE, Array( "article" => &$post ));
 					
 					// update the post category
-					$post->setCategoryIds( array( $this->_postCategory ) );
+					$post->setCategoryIds( $this->_postCategories );
 					$result = $articles->updateArticle( $post );
 					
 					if( !$result ) {
@@ -93,7 +92,7 @@
 			// prepare the parameters.. If there's only one category id, then add it to
 			// an array.
 			$this->_postIds = $this->_request->getValue( "postIds" );
-			$this->_postCategory = $this->_request->getValue( "postCategory" );
+			$this->_postCategories = $this->_request->getValue( "postCategories" );
 				
 			$this->_changePostsCategory();
 		}

Modified: plog/trunk/js/ui/plogui.js
===================================================================
--- plog/trunk/js/ui/plogui.js	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/js/ui/plogui.js	2006-02-06 06:12:45 UTC (rev 2907)
@@ -155,4 +155,39 @@
 				$('optionIconLink').title = msgShowOptionPanel;
 			}} );
 	}
+}
+
+function submitPostsList(op)
+{
+	if ( op == 'changePostsStatus' )
+	{
+		if ( document.getElementById("postsList").postStatus.value == -1 )
+	    	window.alert(errorPostStatusMsg);
+		else
+		{
+			document.getElementById("postsList").op.value = op;
+			document.getElementById("postsList").submit();
+		}
+	}
+	else
+	{
+		document.getElementById("postsList").op.value = op;
+		document.getElementById("postsList").submit();
+	}
+}
+
+function switchMassiveOption()
+{
+	if ( $('massiveChangeOption').style.display == 'none' )
+	{
+		Element.show($('massiveChangeOption'));
+		$('optionIconLink').innerHTML = hideMassiveChangeOption;
+		$('optionIconLink').title = hideMassiveChangeOption;
+	}
+	else
+	{
+		Element.hide($('massiveChangeOption'));
+		$('optionIconLink').innerHTML = showMassiveChangeOption;
+		$('optionIconLink').title = showMassiveChangeOption;
+	}
 }
\ No newline at end of file

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/locale/locale_en_UK.php	2006-02-06 06:12:45 UTC (rev 2907)
@@ -983,4 +983,10 @@
 
 $messages['help_num_blogs_per_user'] = 'Number of blogs that an owner can create through the administration interface';
 
+$messages['messave_change_option'] = 'Massive Change Option';
+$messages['show_massive_change_option'] = 'Show Massive Change Options';
+$messages['hide_massive_change_option'] = 'Hide Massive Change Options';
+$messages['error_post_status'] = 'Please select post status.';
+$messages['change_status'] = 'Change Status';
+$messages['change_category'] = 'Change Category';
 ?>
\ No newline at end of file

Modified: plog/trunk/locale/locale_zh_TW.php
===================================================================
--- plog/trunk/locale/locale_zh_TW.php	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/locale/locale_zh_TW.php	2006-02-06 06:12:45 UTC (rev 2907)
@@ -972,12 +972,21 @@
 $messages['show_in_summary_help'] = 'Include this blog in the summary page of this site.';
 
 $messages['saving_message'] = '儲存中 ...';
-$messages['show_option_panel'] = '顯示選項';
-$messages['hide_option_panel'] = '隱藏選項';
+$messages['show_option_panel'] = '顯示文章選項';
+$messages['hide_option_panel'] = '隱藏文章選項';
 
 $messages['quick_launches'] = '快捷列';
 
 $messages['confirmation_message_resent_ok'] = 'Confirmation message resent successfully.';
 
 $messages['goto_blog_page'] = '打開 %s 首頁';
+
+$messages['help_num_blogs_per_user'] = 'Number of blogs that an owner can create through the administration interface';
+
+$messages['messave_change_option'] = '大量修改選項';
+$messages['show_massive_change_option'] = '顯示大量修改選項';
+$messages['hide_massive_change_option'] = '隱藏大量修改選項';
+$messages['error_post_status'] = '請選擇文章狀態。';
+$messages['change_status'] = '修改狀態';
+$messages['change_category'] = '修改分類';
 ?>
\ No newline at end of file

Modified: plog/trunk/styles/admin.css
===================================================================
--- plog/trunk/styles/admin.css	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/styles/admin.css	2006-02-06 06:12:45 UTC (rev 2907)
@@ -473,6 +473,7 @@
 .optionIcon
 {
 	text-align       : right;
+	font-size        : 12px;
 }
 
 .optionIcon a

Modified: plog/trunk/templates/admin/editposts.template
===================================================================
--- plog/trunk/templates/admin/editposts.template	2006-02-05 20:15:07 UTC (rev 2906)
+++ plog/trunk/templates/admin/editposts.template	2006-02-06 06:12:45 UTC (rev 2907)
@@ -1,38 +1,10 @@
 {include file="$admintemplatepath/header.template"}
 {include file="$admintemplatepath/navigation.template" showOpt=editPosts title=$locale->tr("editPosts")}
+	<script type="text/javascript" src="js/ui/plogui.js"></script>
 	<script type="text/javascript">
-	var errorPostStatusMsg = '{$locale->tr("error_post_status")}';
-	var errorPostCategoryMsg = '{$locale->tr("error_post_category")}';
-	{literal}
-	function submitPostsList(op)
-	{
-		if ( op == 'changePostsStatus' )
-		{
-			if ( document.getElementById("postsList").postStatus.value == -1 )
-		    	window.alert(errorPostStatusMsg);
-			else
-			{
-				document.getElementById("postsList").op.value = op;
-				document.getElementById("postsList").submit();
-			}
-		}
-		else if ( op == 'changePostsCategory' )
-		{
-			if ( document.getElementById("postsList").postCategory.value == -1 )
-		    	window.alert(errorPostCategoryMsg);
-			else
-			{
-				document.getElementById("postsList").op.value = op;
-				document.getElementById("postsList").submit();
-			}
-		}
-		else
-		{
-			document.getElementById("postsList").op.value = op;
-			document.getElementById("postsList").submit();
-		}
-	}
-	{/literal}
+		var errorPostStatusMsg = '{$locale->tr("error_post_status")}';
+		var showMassiveChangeOption = '{$locale->tr("show_massive_change_option")}';
+		var hideMassiveChangeOption = '{$locale->tr("hide_massive_change_option")}';
 	</script>
 		  <div id="list_nav_bar">
             <div id="list_nav_select">
@@ -102,6 +74,9 @@
         </div>
 
         <form id="postsList" action="admin.php" method="post">
+        <div class="optionIcon">
+			<a id="optionIconLink" href="#" title="{$locale->tr("show_massive_change_option")}" onclick="switchMassiveOption()">{$locale->tr("show_massive_change_option")}</a>
+		</div>         
         <div id="list">
   {include file="$admintemplatepath/successmessage.template"}
   {include file="$admintemplatepath/errormessage.template"}
@@ -183,24 +158,28 @@
         </div>
         <div id="list_action_bar">
             {include file="$admintemplatepath/adminpager.template" style=list}
-            <label for="postStatus">{$locale->tr("status")}</label>
-            <select name="postStatus" id="postStatus">
-              <option value="-1">-{$locale->tr("select")}-</option>
-              {foreach from=$poststatusWithoutAll key=name item=status}
-                <option value="{$status}" {if $currentstatus == $status} selected="selected"{/if}>{$locale->tr($name)}</option>
-              {/foreach}
-            </select>
-            <input type="button" name="changePostsStatus" value="{$locale->tr("change_status")}" class="submit" onClick="javascript:submitPostsList('changePostsStatus');" />
-            <label for="postCategory">{$locale->tr("categories")}</label>
-            <select name="postCategory" id="postCategory">
-              <option value="-1">-{$locale->tr("select")}-</option>
-              {foreach from=$categories item=category}
-                <option value="{$category->getId()}" {if $currentcategory == $category->getId()} selected="selected" {/if}>{$category->getName()}</option>
-              {/foreach}
-            </select>
-            <input type="button" name="changePostsCategory" value="{$locale->tr("change_category")}" class="submit" onClick="javascript:submitPostsList('changePostsCategory');" />
             <input type="button" name="delete" value="{$locale->tr("delete")}" class="submit" onClick="javascript:submitPostsList('deletePosts');" />
             <input type="hidden" name="op" value="" />
+            <div id="massiveChangeOption" style="display: none">
+                <fieldset>
+                <legend>{$locale->tr("messave_change_option")}</legend>            
+		            <label for="postStatus">{$locale->tr("status")}</label>
+		            <select name="postStatus" id="postStatus">
+		              <option value="-1">-{$locale->tr("select")}-</option>
+		              {foreach from=$poststatusWithoutAll key=name item=status}
+		                <option value="{$status}">{$locale->tr($name)}</option>
+		              {/foreach}
+		            </select>
+		            <input type="button" name="changePostsStatus" value="{$locale->tr("change_status")}" class="submit" onClick="javascript:submitPostsList('changePostsStatus');" />
+		            <label for="postCategories[]">{$locale->tr("categories")}</label>
+		            <select name="postCategories[]" id="postCategories" size="5" multiple="multiple">
+		              {foreach name=categories from=$categories item=category}
+		                <option value="{$category->getId()}" {if $smarty.foreach.categories.first} selected="selected" {/if}>{$category->getName()}</option>
+		              {/foreach}
+		            </select>
+		            <input type="button" name="changePostsCategory" value="{$locale->tr("change_category")}" class="submit" onClick="javascript:submitPostsList('changePostsCategory');" />
+		        </fieldset>
+			</div>            
         </div>
 
         </form>



More information about the pLog-svn mailing list