[pLog-svn] r3030 - in plog/trunk: class/action/admin class/action/admin/chooser class/controller class/view/admin class/view/admin/chooser js/ui locale templates/admin templates/admin/chooser

oscar at devel.lifetype.net oscar at devel.lifetype.net
Sun Mar 5 23:09:13 GMT 2006


Author: oscar
Date: 2006-03-05 23:09:13 +0000 (Sun, 05 Mar 2006)
New Revision: 3030

Added:
   plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php
   plog/trunk/class/view/admin/chooser/adminblogchooserview.class.php
   plog/trunk/class/view/admin/chooser/adminuserchooserview.class.php
   plog/trunk/templates/admin/chooser/siteblogschooser.template
Modified:
   plog/trunk/class/action/admin/adminaddresourceaction.class.php
   plog/trunk/class/action/admin/adminadduseraction.class.php
   plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php
   plog/trunk/class/action/admin/adminupdateeditblogaction.class.php
   plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php
   plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php
   plog/trunk/class/controller/admincontrollermap.properties.php
   plog/trunk/class/view/admin/adminadduserview.class.php
   plog/trunk/class/view/admin/adminblogtemplatechooserview.class.php
   plog/trunk/class/view/admin/admincreateblogview.class.php
   plog/trunk/class/view/admin/admineditsiteblogview.class.php
   plog/trunk/class/view/admin/adminglobalsettingslistview.class.php
   plog/trunk/class/view/admin/adminsiteblogslistview.class.php
   plog/trunk/js/ui/common.js
   plog/trunk/js/ui/forms.js
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/templates/admin/chooser/header.template
   plog/trunk/templates/admin/chooser/siteuserschooser.template
   plog/trunk/templates/admin/createblog.template
   plog/trunk/templates/admin/createuser.template
   plog/trunk/templates/admin/editblog.template
   plog/trunk/templates/admin/globalsettings_general.template
Log:
some more work regarding these choosers/selectors. This will hopefully speed up all admin actions, since now there is no need to load all users just to show a simple drop-down list to select one (or all blogs just to select one) Quite important when we think that there could be hundreds of thousands of blogs in a site...


Modified: plog/trunk/class/action/admin/adminaddresourceaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminaddresourceaction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/adminaddresourceaction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -8,7 +8,7 @@
     include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
 	include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
 	include_once( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
-    include_once( PLOG_CLASS_PATH."class/view/admin/adminsimpleresourceslistview.class.php" );	
+    include_once( PLOG_CLASS_PATH."class/view/admin/chooser/adminsimpleresourceslistview.class.php" );	
     include_once( PLOG_CLASS_PATH."class/file/fileupload.class.php" );
 
     /**

Modified: plog/trunk/class/action/admin/adminadduseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminadduseraction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/adminadduseraction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -38,7 +38,8 @@
         	$this->registerFieldValidator( "userEmail", new EmailValidator());
 			$this->registerFieldValidator( "userStatus", new IntegerValidator());
         	$this->registerField( "userFullName" );
-        	$this->registerField( "userBlog", new IntegerValidator());
+        	$this->registerFieldValidator( "blogId", new IntegerValidator());
+			$this->registerField( "blogName" );
         	$view = new AdminAddUserView( $this->_blogInfo );
         	$this->setValidationErrorView( $view );
         }
@@ -51,7 +52,7 @@
             $this->_userEmail = Textfilter::filterAllHTML($this->_request->getValue( "userEmail" ));
             $this->_userFullName = Textfilter::filterAllHTML($this->_request->getValue( "userFullName" ));
 			$this->_userStatus = $this->_request->getValue( "userStatus" );
-			$this->_userBlog = $this->_request->getValue( "userBlog" );
+			$this->_userBlog = $this->_request->getValue( "blogId" );
 	        
         	// now that we have validated the data, we can proceed to create the user, making
             // sure that it doesn't already exists

Modified: plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -98,7 +98,7 @@
             $this->_blogInfo->setAbout( Textfilter::filterAllHTML(stripslashes($this->_request->getValue( "blogAbout" ))));
             $this->_blogInfo->setBlog( Textfilter::filterAllHTML(stripslashes($this->_request->getValue( "blogName" ))));
             $this->_blogInfo->setSettings( $blogSettings );
-			$this->_blogInfo->setProperties( $this->_blogProperties );			
+			$this->_blogInfo->setProperties( Array());
             $this->_session->setValue( "blogInfo", $this->_blogInfo );
             $this->saveSession();
 

Modified: plog/trunk/class/action/admin/adminupdateeditblogaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateeditblogaction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/adminupdateeditblogaction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -40,12 +40,14 @@
 			
 			// data validation
 			$this->registerFieldValidator( "blogUsers", new ArrayValidator(), true );
+			$this->registerFieldValidator( "blogName", new StringValidator());
 			$this->registerFieldValidator( "blogId", new IntegerValidator());
 			$this->registerFieldValidator( "blogStatus", new IntegerValidator());
 			$this->registerFieldValidator( "blogLocale", new StringValidator());
 			$this->registerFieldValidator( "blogTemplate", new StringValidator());
 			$this->registerFieldValidator( "blogResourcesQuota", new IntegerValidator(), true );
-			$this->registerFieldValidator( "blogOwner", new IntegerValidator());
+			$this->registerFieldValidator( "userId", new IntegerValidator());
+			$this->registerFieldValidator( "userName", new StringValidator());
 			$this->registerField( "blogTimeOffset" );
 			$view = new AdminEditSiteBlogView( $this->_blogInfo );
 			$view->setErrorMessage( $this->_locale->tr("error_updating_blog_settings2" ));
@@ -68,7 +70,8 @@
             $this->_blogQuota = $this->_request->getValue( "blogResourcesQuota" );
             $this->_blogUsers = $this->_request->getValue( "blogUsers" );
             $this->_blogStatus = $this->_request->getValue( "blogStatus" );
-
+			$this->_blogOwner = $this->_request->getValue( "userId" );
+			
             // get the blog we're trying to update
             $blogs = new Blogs();
             $blogInfo = $blogs->getBlogInfo( $this->_editBlogId );

Modified: plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/adminupdateglobalsettingsaction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -42,6 +42,9 @@
             $locales = new Locales();
             $this->_newConfigOpts["locales"] = $locales->getAvailableLocales();
             $this->_newConfigOpts["templates"] = $configOpts["templates"];
+			
+			// the default_blog_id setting is coming from a chooser, so it won't be automatically picked up
+			$this->_newConfigOpts["default_blog_id"] = $this->_request->getValue( "blogId" );
 
             return true;
         }

Added: plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/chooser/adminblogchooseraction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -0,0 +1,23 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/action/admin/siteadminaction.class.php" );
+	include_once( PLOG_CLASS_PATH."class/view/admin/chooser/adminblogchooserview.class.php" );
+
+	class AdminBlogChooserAction extends SiteAdminAction
+	{
+	
+		function AdminBlogChooserAction( $actionInfo, $request )
+		{
+			$this->SiteAdminAction( $actionInfo, $request );
+		}
+		
+		function perform()
+		{
+			// load the view in chooser mode
+			$this->_view = new AdminBlogChooserView( $this->_blogInfo );
+			$this->setCommonData();
+			
+			return true;
+		}
+	}
+?>
\ No newline at end of file

Modified: plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php
===================================================================
--- plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/action/admin/chooser/adminuserchooseraction.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -13,8 +13,14 @@
 		
 		function perform()
 		{
+			// load the mode
+			$mode = $this->_request->getValue( "mode" );
+			if( $mode == "" )
+				$mode = 1;
+		
 			// load the view in chooser mode
 			$this->_view = new AdminUserChooserView( $this->_blogInfo );
+			$this->_view->setValue( "mode", $mode );
 			$this->setCommonData();
 			
 			return true;

Modified: plog/trunk/class/controller/admincontrollermap.properties.php
===================================================================
--- plog/trunk/class/controller/admincontrollermap.properties.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/controller/admincontrollermap.properties.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -289,4 +289,6 @@
 	$actions["adminBlogSelect"] = "AdminAdminBlogSelectAction";
 	// generic user chooser
 	$actions["siteUsersChooser"] = "AdminUserChooserAction";
+	// generic blog chooser
+	$actions["siteBlogsChooser"] = "AdminBlogChooserAction";	
 ?>

Modified: plog/trunk/class/view/admin/adminadduserview.class.php
===================================================================
--- plog/trunk/class/view/admin/adminadduserview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/adminadduserview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -21,13 +21,7 @@
 		
 		function render()
 		{
-			// load the list of blogs
-			$blogs = new Blogs();
-			$siteBlogs = $blogs->getAllBlogs();
-			
-			$this->setValue( 'siteblogs', $siteBlogs );
-			$this->setValue( 'userStatusList', UserStatus::getStatusList());
-		
+			$this->setValue( 'userStatusList', UserStatus::getStatusList());		
 			parent::render();
 		}
 	}

Modified: plog/trunk/class/view/admin/adminblogtemplatechooserview.class.php
===================================================================
--- plog/trunk/class/view/admin/adminblogtemplatechooserview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/adminblogtemplatechooserview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -14,7 +14,7 @@
 	
 		function AdminBlogTemplateChooserView( $blogInfo ) 
 		{
-			$this->AdminTemplatedView( $blogInfo, "blogtemplatechooser" );
+			$this->AdminTemplatedView( $blogInfo, "chooser/blogtemplatechooser" );
 		}
 		
 		function render()

Modified: plog/trunk/class/view/admin/admincreateblogview.class.php
===================================================================
--- plog/trunk/class/view/admin/admincreateblogview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/admincreateblogview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -2,10 +2,10 @@
 
 	include_once( PLOG_CLASS_PATH."class/view/admin/admintemplatedview.class.php" );
 	include_once( PLOG_CLASS_PATH."class/dao/users.class.php" );
-	
-    /**
-     * \ingroup View
-     * @private
+	
+    /**
+     * \ingroup View
+     * @private
      */	
 	class AdminCreateBlogView extends AdminTemplatedView
 	{
@@ -14,16 +14,5 @@
 		{
 			$this->AdminTemplatedView( $blogInfo, "createblog" );
 		}
-		
-		function render()
-		{
-            // get all the users in the site
-            $users = new Users();
-            $siteUsers = $users->getAllUsers();
-			$this->notifyEvent( EVENT_USERS_LOADED, Array( "users" => &$siteUsers ));
-            $this->setValue( "siteusers", $siteUsers );
-            
-            parent::render();		
-		}
 	}
 ?>
\ No newline at end of file

Modified: plog/trunk/class/view/admin/admineditsiteblogview.class.php
===================================================================
--- plog/trunk/class/view/admin/admineditsiteblogview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/admineditsiteblogview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -45,20 +45,14 @@
 				$this->setValue( 'blogStatusList', BlogStatus::getStatusList());
 				$blogSettings = $this->_editBlogInfo->getSettings();
 				$this->setValue( 'blogTimeOffset', $blogSettings->getValue( 'time_offset' ));
-				$this->setValue( 'blogOwner', $this->_editBlogInfo->getOwner());
+				$this->setValue( 'blogOwnerInfo', $this->_editBlogInfo->getOwnerInfo());
 				$this->setValue( 'blogName', $this->_editBlogInfo->getBlog());
 				$this->setValue( 'blogLocale', $blogSettings->getValue( "locale" ));				
 				$this->setValue( 'blogResourcesQuota', $this->_editBlogInfo->getResourcesQuota());
-				// get all the users
-				$users = new Users();
-				$siteUsers = $users->getAllUsers();
-				$this->notifyEvent( EVENT_USERS_LOADED, Array( 'users' => &$siteUsers ));
 				
 				// set the blog users and the available users
-				$blogUsers = $users->getBlogUsers( $this->_editBlogInfo->getId(), false );			
-				$this->setValue( 'availableusers', $this->filterAvailableUsers( $siteUsers, $blogUsers ));
+				$blogUsers = $this->_editBlogInfo->getUsersInfo();
 				$this->setValue( 'blogusers', $blogUsers );
-				$this->setValue( 'siteusers', $siteUsers );				
 			}
 			else {
 				$this->AdminTemplatedView( $blogInfo, 'error' );

Modified: plog/trunk/class/view/admin/adminglobalsettingslistview.class.php
===================================================================
--- plog/trunk/class/view/admin/adminglobalsettingslistview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/adminglobalsettingslistview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -40,7 +40,8 @@
             $this->setValue( "settings", $settings );
             foreach( $settings as $key => $value ) {
             	$this->setValue( $key, $value );
-            }
+            }			
+			$this->setValue( "blogId", $config->getValue( "default_blog_id" ));
 
             // set the section too
             $this->setValue( "section", $this->_section );

Modified: plog/trunk/class/view/admin/adminsiteblogslistview.class.php
===================================================================
--- plog/trunk/class/view/admin/adminsiteblogslistview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/adminsiteblogslistview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -15,10 +15,14 @@
 		var $_page;
 		var $_status;
 		var $_searchTerms;
+		var $_pagerUrl;
 		
 		function AdminSiteBlogsListView( $blogInfo )
 		{
-			$this->AdminTemplatedView( $blogInfo, "siteblogs" );
+			$this->_pagerUrl = "";
+			if( $this->_templateName == "" )
+				$this->_templateName = "siteblogs";
+			$this->AdminTemplatedView( $blogInfo, $this->_templateName );
 			
 			$this->_page = $this->getCurrentPageFromRequest();
 		}
@@ -62,7 +66,7 @@
 			$this->notifyEvent( EVENT_BLOGS_LOADED, Array( "blogs" => &$siteBlogs ));            
             
 			// calculate the links to the different pages
-			$pager = new Pager( "?op=editSiteBlogs&amp;searchTerms=".$this->_searchTerms."&amp;status=".$this->_status."&amp;page=",
+			$pager = new Pager( $this->_pagerUrl."&amp;searchTerms=".$this->_searchTerms."&amp;status=".$this->_status."&amp;page=",
 			                    $this->_page, 
 								$numBlogs, 
 								DEFAULT_ITEMS_PER_PAGE );

Added: plog/trunk/class/view/admin/chooser/adminblogchooserview.class.php
===================================================================
--- plog/trunk/class/view/admin/chooser/adminblogchooserview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/chooser/adminblogchooserview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -0,0 +1,23 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/view/admin/adminsiteblogslistview.class.php" );
+	
+    /**
+     * \ingroup View
+     * @private
+     */	
+	class AdminBlogChooserView extends AdminSiteBlogsListView
+	{
+		function AdminBlogChooserView( $blogInfo, $params = Array())
+		{
+			$this->_templateName = "chooser/siteblogschooser";
+			$this->AdminSiteBlogsListView( $blogInfo, $params );
+		}
+		
+		function render()
+		{
+			$this->_pagerUrl = "?op=siteBlogChooser";
+			parent::render();
+		}
+	}
+?>
\ No newline at end of file

Added: plog/trunk/class/view/admin/chooser/adminuserchooserview.class.php
===================================================================
--- plog/trunk/class/view/admin/chooser/adminuserchooserview.class.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/class/view/admin/chooser/adminuserchooserview.class.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -0,0 +1,23 @@
+<?php
+
+	include_once( PLOG_CLASS_PATH."class/view/admin/adminsiteuserslistview.class.php" );
+	
+    /**
+     * \ingroup View
+     * @private
+     */	
+	class AdminUserChooserView extends AdminSiteUsersListView
+	{
+		function AdminUserChooserView( $blogInfo, $params = Array())
+		{
+			$this->_templateName = "chooser/siteuserschooser";
+			$this->AdminSiteUsersListView( $blogInfo, $params );
+		}
+		
+		function render()
+		{
+			$this->_pagerUrl = "?op=siteUserChooser";
+			parent::render();
+		}
+	}
+?>
\ No newline at end of file

Modified: plog/trunk/js/ui/common.js
===================================================================
--- plog/trunk/js/ui/common.js	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/js/ui/common.js	2006-03-05 23:09:13 UTC (rev 3030)
@@ -416,31 +416,6 @@
 }
 
 /**
- * moves one user from the list of avialable users to the list of users
- * that belong to this blog
- */
-function removeUserFromBlog()
-{
-	// find the lists in the page
-	siteUsersList = document.getElementById( "availableUsersList" );
-	blogUsersList = document.getElementById( "blogUsersList" );
-	
-	moveElement( siteUsersList, blogUsersList );
-}
-
-/**
- * the same as above but the other way around...
- */
-function addUserToBlog()
-{
-	// find the lists in the page
-	siteUsersList = document.getElementById( "availableUsersList" );
-	blogUsersList = document.getElementById( "blogUsersList" );
-	
-	moveElement( blogUsersList, siteUsersList );
-}
-
-/**
  * automatically selects all the elements of a list
  */
 function listSelectAll(listId)
@@ -452,3 +427,13 @@
 
 	return true;
 }
+
+function editBlogRemoveSelected()
+{
+	userList = document.getElementById( 'userList' );
+	for( i = 0; i < userList.options.length; i++ ) {
+		if( userList.options[i].selected )
+			userList.options[i] = null;
+	}
+	return( true );
+}
\ No newline at end of file

Modified: plog/trunk/js/ui/forms.js
===================================================================
--- plog/trunk/js/ui/forms.js	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/js/ui/forms.js	2006-03-05 23:09:13 UTC (rev 3030)
@@ -81,4 +81,38 @@
     removeField (form, fieldName);
   else
     addField (form, 'hidden', fieldName, value);
+}
+
+/**
+ * sets a field in the given document (like 'document' or 'parent.opener.document')
+ * This function is useful to set a field regardless of in which form it is located
+ */
+function setDocumentField(dest, fieldName, value )
+{
+	element = dest.getElementById( fieldName );
+	element.value = value;
+}
+
+function appendDocumentList(dest, fieldName, value, item )
+{
+	dstList = dest.getElementById( fieldName );
+	
+	// check if the element is already there
+	found = false;
+	j = 0;
+	while( j < dstList.options.length && !found ) {
+		if( dstList.options[j].text == item && dstList.options[j].value == value ) {
+			// element found!
+			found = true;
+		}
+		j++;
+	}
+	
+	// add the element only if not found
+	if( !found ) {
+		newOpt = new Option( item, value );
+		dstList.options[dstList.options.length] = newOpt;
+	}
+	
+	return true;
 }
\ No newline at end of file

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/locale/locale_en_UK.php	2006-03-05 23:09:13 UTC (rev 3030)
@@ -998,4 +998,5 @@
 $messages['error_trackback_status'] = 'Please select a valid status';
 $messages['error_incorrect_user'] = 'User is not valid';
 $messages['select'] = 'Select';
+$messages['remove_selected'] = 'Remove Selected';
 ?>
\ No newline at end of file

Modified: plog/trunk/templates/admin/chooser/header.template
===================================================================
--- plog/trunk/templates/admin/chooser/header.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/chooser/header.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -7,6 +7,7 @@
   <link rel="stylesheet" href="styles/admin.css" type="text/css" />
   <title>LifeType Admin</title>
   <script type="text/javascript" src="js/ui/common.js"></script>
+  <script type="text/javascript" src="js/ui/forms.js"></script>  
   <script type="text/javascript">
    var plogBaseUrl = '{$baseurl}';
   </script>

Added: plog/trunk/templates/admin/chooser/siteblogschooser.template
===================================================================
--- plog/trunk/templates/admin/chooser/siteblogschooser.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/chooser/siteblogschooser.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -0,0 +1,90 @@
+{include file="$admintemplatepath/chooser/header.template"}
+        <div id="list_nav_bar">
+            <div id="list_nav_select">
+            
+<form id="viewBlogs" action="admin.php" method="post">
+ <fieldset>
+  <legend>{$locale->tr("show_by")}</legend>
+   <div class="list_nav_option">
+    <label for="status">{$locale->tr("status")}</label>
+	<br />
+    <select name="status" id="status">
+    {foreach from=$blogstatus key=name item=status}
+      <option value="{$status}" {if $currentstatus == $status} selected="selected"{/if}>{$locale->tr($name)}</option>
+    {/foreach}
+    </select>
+   </div>
+   
+   <div class="list_nav_option">
+   <label for="search">{$locale->tr("search_terms")}</label>
+   <br />
+   <input type="text" name="searchTerms" value="{$searchTerms}" size="15" id="search" />
+   </div>   
+   
+   <div class="list_nav_option">
+    <br />
+    <input type="hidden" name="op" value="siteBlogsChooser" />
+    <input type="submit" name="Show" value="{$locale->tr("show")}" />
+   </div>
+  </fieldset> 
+ </form> 
+ </div>
+ <br style="clear:both" />
+ </div> 
+ 
+ <form id="editBlogs" method="post" action="admin.php">
+  <div id="list"> 
+  {include file="$admintemplatepath/successmessage.template"}
+  {include file="$admintemplatepath/errormessage.template"}
+   <table class="info">
+    <thead>
+     <tr>
+      <th style="width:10px;"><input class="checkbox" type="checkbox" name="all" id="all" value="1" onclick="toggleAllChecks('editBlogs');" /></th>
+      <th style="width:390px;">{$locale->tr("blog")}</th>
+      <th style="width:115px;">{$locale->tr("owner")}</th>
+      <th style="width:60px;">{$locale->tr("status")}</th>
+	  <th style="width:100px;">{$locale->tr("quota")}</th> 
+      <th style="width:95px;">{$locale->tr("actions")}</th>
+     </tr>
+    </thead>
+    <tbody>
+     {foreach from=$siteblogs item=siteblog}
+      <tr>
+       <td><input class="checkbox" type="checkbox" name="blogIds[{counter}]" value="{$siteblog->getId()}"/></td>
+       <td class="col_highlighted">
+        <a href="#" onclick="setDocumentField(parent.opener.document,'blogName','{$siteblog->getBlog()|escape:javascript}');setDocumentField(parent.opener.document,'blogId','{$siteblog->getId()}');window.close()">
+		  {$siteblog->getBlog()}
+		</a>
+       </td>
+       <td>
+	    {assign var=ownerInfo value=$siteblog->getOwnerInfo()}
+	    <a href="?op=editUser&amp;userId={$ownerInfo->getId()}">{$ownerInfo->getUsername()}</a>
+	   </td>
+       <td>
+        {foreach from=$blogstatus key=name item=status}
+          {if $siteblog->getStatus() == $status}
+          {if $status == 2}<span style="color:red">{$locale->tr($name)}</span>
+		  {else}{$locale->tr($name)}{/if}
+		  {/if}
+        {/foreach}        
+       </td>       
+	   <td>
+		{$siteblog->getResourcesQuota()|round}
+	   </td>
+       <td>
+        <div class="list_action_button">
+         <a href="#" onclick="setDocumentField(parent.opener.document,'blogName','{$siteblog->getBlog()|escape:javascript}');setDocumentField(parent.opener.document,'blogId','{$siteblog->getId()}');window.close()">
+		  <img src="imgs/admin/icon_arrow-16.png" alt="{$locale->tr("select_user")}" />
+		 </a>
+        </div>
+      </tr>
+     {/foreach}
+    </tbody> 
+   </table>
+  </div>
+  <div id="list_action_bar">
+	<a href="javascript:window.close()">{$locale->tr("close")}</a>  
+   {include file="$admintemplatepath/adminpager.template"}<br/>  
+  </div> 
+ </form>
+{include file="$admintemplatepath/chooser/footer.template"}

Modified: plog/trunk/templates/admin/chooser/siteuserschooser.template
===================================================================
--- plog/trunk/templates/admin/chooser/siteuserschooser.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/chooser/siteuserschooser.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -53,8 +53,12 @@
                             {$siteuser->getId()}
                         </td>
                         <td class="col_highlighted">
-                            <a href="javascript:parent.opener.userName.value='{$siteuser->getUsername()}';parent.opener.userId.value='{$siteuser->getId()}';window.close()">
-							{$siteuser->getUsername()}
+						    {if $mode=="1"}
+                              <a href="javascript:setDocumentField(parent.opener.document, 'userName','{$siteuser->getUsername()}');setDocumentField(parent.opener.document,'userId','{$siteuser->getId()}');window.close()">
+							{else}
+							  <a href="javascript:appendDocumentList(parent.opener.document, 'userList','{$siteuser->getId()}','{$siteuser->getUsername()}');window.close()">
+							{/if}
+							  {$siteuser->getUsername()}
 							</a>
                         </td>
                         <td>
@@ -75,7 +79,13 @@
                         </td>
 						<td>
                           <div class="list_action_button">
-                            <a href="javascript:parent.opener.userName.value='{$siteuser->getUsername()}';parent.opener.userId.value='{$siteuser->getId()}';window.close()"><img src="imgs/admin/icon_arrow-16.png" alt="{$locale->tr("select_user")}" /></a>
+						    {if $mode=="1"}
+                              <a href="javascript:setDocumentField(parent.opener.document, 'userName','{$siteuser->getUsername()}');setDocumentField(parent.opener.document,'userId','{$siteuser->getId()}');window.close()">
+							{else}
+							  <a href="javascript:appendDocumentList(parent.opener.document, 'userList','{$siteuser->getId()}','{$siteuser->getUsername()}');window.close()">
+							{/if}
+							  <img src="imgs/admin/icon_arrow-16.png" alt="{$locale->tr("select_user")}" />
+							</a>
                           </div>						   
 						</td>
                     </tr>

Modified: plog/trunk/templates/admin/createblog.template
===================================================================
--- plog/trunk/templates/admin/createblog.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/createblog.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -18,7 +18,7 @@
        <div class="formHelp">{$locale->tr("blog_owner_help")}</div>
        <input type="text" name="userName" id="userName" style="width:40%" value="{$userName}" readonly="readonly" />
 	   <input type="hidden" name="userId" id="userId" value="{$userId}" />
-	   <a href="javascript:window.open('?op=siteUsersChooser','UserChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">
+	   <a href="#" onclick="window.open('?op=siteUsersChooser','UserChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">
 	    {$locale->tr("select")}
 	   </a>	
        {include file="$admintemplatepath/validate.template" field=userId message=$locale->tr("error_incorrect_user")}	   

Modified: plog/trunk/templates/admin/createuser.template
===================================================================
--- plog/trunk/templates/admin/createuser.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/createuser.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -46,13 +46,12 @@
       <label for="userBlog">{$locale->tr("blog")}</label>
       <span class="required"></span>
       <div class="formHelp">{$locale->tr("user_blog_help")}</div>
-      <select name="userBlog" id="userBlog">
-	<option value="0">({$locale->tr("none")})</option>
-	{foreach from=$siteblogs item=blog}
-	 <option value="{$blog->getId()}" {if $blog->getId()==$userBlog}selected="selected"{/if}>{$blog->getBlog()}</option>
-	{/foreach}
-      </select>
-      {include file="$admintemplatepath/validate.template" field=userBlog message=$locale->tr("error_incorrect_blog_id")}
+	  <input type="hidden" name="blogId" id="blogId" value="{$blogId}" />
+	  <input type="text" name="blogName" id="blogName" style="width:50%" readonly="readonly" value="{$blogName}" />
+	  <a href="#" onclick="window.open('?op=siteBlogsChooser','BlogChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">
+	   {$locale->tr("select")}
+	  </a> 
+      {include file="$admintemplatepath/validate.template" field=blogId message=$locale->tr("error_incorrect_blog_id")}
     </div>
   </fieldset>
   <div class="buttons">

Modified: plog/trunk/templates/admin/editblog.template
===================================================================
--- plog/trunk/templates/admin/editblog.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/editblog.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -1,11 +1,10 @@
 {include file="$admintemplatepath/header.template"}
 {include file="$admintemplatepath/navigation.template" showOpt=editSiteBlogs title=$locale->tr("editBlog")}
 
- {include file="$admintemplatepath/formvalidate.template" message=$locale->tr("error_updating_settings")}
  <form name="blogSettings" action="admin.php" method="post" onSubmit="listSelectAll('blogUsersList');">
    <fieldset class="inputField">
     <legend>{$locale->tr("editBlog")}</legend>
-
+	{include file="$admintemplatepath/formvalidate.template" message=$locale->tr("error_updating_settings")}
     <div class="field">
       <label for="blogLink">{$locale->tr("blog_link")}</label>
       <span class="required"></span>
@@ -37,11 +36,11 @@
       <label for="blogOwner">{$locale->tr("owner")}</label>
       <span class="required">*</span>
       <div class="formHelp">{$locale->tr("blog_owner_help")}</div>
-      <select name="blogOwner" id="blogOwner">
-      {foreach from=$siteusers item=siteuser}
-       <option value="{$siteuser->getId()}" {if $blogOwner == $siteuser->getId()} selected="selected" {/if}>{$siteuser->getUsername()}</option>
-      {/foreach}
-      </select>
+	  <input type="hidden" id="userId" name="userId" value="{if $userId==""}{$blogOwnerInfo->getId()}{else}{$userId}{/if}" />
+	  <input type="text" id="userName" name="userName" value="{if $userName==""}{$blogOwnerInfo->getUsername()}{else}{$userName}{/if}" style="width:50%"/>
+	  <a href="#" onclick="window.open('?op=siteUsersChooser','UserChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">
+	   {$locale->tr("select")}
+	  </a> 
     </div>
 
     <div class="field">
@@ -67,7 +66,7 @@
         <option value="{$template->getName()}"{if $template->getName() == $blogTemplateSet->getName()} selected="selected" {/if}>{$template->getName()}</option>
        {/foreach}
       </select>
-      <a href="javascript:openTemplateChooserWindow();">{$locale->tr("choose")}...</a>
+      <a href="javascript:openTemplateChooserWindow();">{$locale->tr("select")}</a>
      </div>
 
     <div class="field">
@@ -129,32 +128,16 @@
     <div class="field">
 	<label for="">{$locale->tr("users")}</label>
         <div class="formHelp">{$locale->tr("blog_users_help")}</div>
-         <table>
-          <tr>
-          <td>
-	  <select id="availableUsersList" name="availableUsers[]" size="10">
-	   <option value="-1">-- {$locale->tr("add_or_remove")} --</option>	  
-	   {foreach from=$availableusers item=siteuser}
-	    <option value="{$siteuser->getId()}">{$siteuser->getUsername()}</option>
-	   {/foreach}
-	  </select>
-          </td>
-          <td> 
-	  &nbsp;
-	  <input type="button" value="<<" name="removeUser" onClick="javascript:addUserToBlog()" />
-	  &nbsp;
-	  <input type="button" value=">>" name="addUser" onClick="javascript:removeUserFromBlog()" />	  
-          </td>
-          <td>
-	  <select id="blogUsersList" name="blogUsers[]" size="10" multiple="multiple">
-	   <option value="-1">-- {$locale->tr("add_or_remove")} --</option>
+	  <select id="userList" name="blogUsers" size="10" multiple="multiple" style="width:40%">
 	   {foreach from=$blogusers item=bloguser}
 	    <option value="{$bloguser->getId()}">{$bloguser->getUsername()}</option>
 	   {/foreach}
-	  </select>
-          </td>
-         </tr>
-        </table>
+	  </select><br/>
+	  <a href="#" onclick="window.open('?op=siteUsersChooser&amp;mode=2','BlogChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">{$locale->tr("select")}</a>
+	   | 
+	  <a href="#" onclick="editBlogRemoveSelected()">
+   	    {$locale->tr("remove_selected")}
+	  </a>
        </div>
     </fieldset>
     <div class="buttons">

Modified: plog/trunk/templates/admin/globalsettings_general.template
===================================================================
--- plog/trunk/templates/admin/globalsettings_general.template	2006-03-05 22:21:06 UTC (rev 3029)
+++ plog/trunk/templates/admin/globalsettings_general.template	2006-03-05 23:09:13 UTC (rev 3030)
@@ -90,7 +90,11 @@
    <div class="field">
     <label for="config[default_blog_id]">default_blog_id</label>
     <div class="formHelp">{$locale->tr("help_default_blog_id")}</div>
-	<input type="text" class="text" name="config[default_blog_id]" value="{$default_blog_id}" />
+	<input type="hidden" class="text" id="blogName" />
+	<input type="text" name="blogId" id="blogId" value="{$blogId}" readonly="readonly" />
+	<a href="#" onclick="window.open('?op=siteBlogsChooser','BlogChooser','scrollbars=yes,resizable=yes,toolbar=no,height=450,width=600');">
+	 {$locale->tr("select")}
+	</a>
    </div>
    <!-- default_time_offset -->
    <div class="field">



More information about the pLog-svn mailing list