[pLog-svn] r4287 - in plog/trunk: class/action class/dao class/dao/customfields class/dao/userdata class/data class/gallery/dao class/net class/net/xmlrpc class/security class/summary class/summary/action class/summary/net class/summary/view class/template/menu class/template/smarty/plugins class/test/helpers class/test/tests/dao class/test/tests/net/xmlrpc class/view/admin/chooser install locale locale/unported templates/admin templates/admin/chooser templates/summary templates/wizard tmp

oscar at devel.lifetype.net oscar at devel.lifetype.net
Sun Nov 12 12:29:45 GMT 2006


Author: oscar
Date: 2006-11-12 12:29:45 +0000 (Sun, 12 Nov 2006)
New Revision: 4287

Added:
   plog/trunk/class/dao/userdata/joomlauserdataprovider.class.php
   plog/trunk/class/dao/userdata/vbb3userdataprovider.class.php
   plog/trunk/class/dao/userdata/wbbuserdataprovider.class.php
   plog/trunk/class/summary/net/
   plog/trunk/class/summary/net/summaryrequestgenerator.class.php
   plog/trunk/class/test/tests/dao/articlecategories_test.class.php
   plog/trunk/locale/locale_gl_ES.php
   plog/trunk/templates/wizard/update111.template
Removed:
   plog/trunk/class/summary/net/summaryrequestgenerator.class.php
Modified:
   plog/trunk/class/action/blogaction.class.php
   plog/trunk/class/dao/articlecategories.class.php
   plog/trunk/class/dao/articles.class.php
   plog/trunk/class/dao/blogs.class.php
   plog/trunk/class/dao/customfields/customfieldvalue.class.php
   plog/trunk/class/dao/userdata/lifetypeuserdataprovider.class.php
   plog/trunk/class/data/textfilter.class.php
   plog/trunk/class/gallery/dao/galleryresources.class.php
   plog/trunk/class/net/customrequestgenerator.class.php
   plog/trunk/class/net/xmlrpc/xmlrpcserver.class.php
   plog/trunk/class/security/bayesianfilter.class.php
   plog/trunk/class/summary/action/summarydefaultaction.class.php
   plog/trunk/class/summary/view/summarybloglistview.class.php
   plog/trunk/class/summary/view/summarypostlistview.class.php
   plog/trunk/class/template/menu/menurenderer.class.php
   plog/trunk/class/template/smarty/plugins/function.pager.php
   plog/trunk/class/test/helpers/testtools.class.php
   plog/trunk/class/test/tests/net/xmlrpc/xmlrpcserver_test.class.php
   plog/trunk/class/view/admin/chooser/adminsimpleresourceslistview.class.php
   plog/trunk/install/defaultconfig.properties.php
   plog/trunk/locale/locale_ca_ES.php
   plog/trunk/locale/locale_de_DE.php
   plog/trunk/locale/locale_el_GR.php
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/locale/locale_es_ES.php
   plog/trunk/locale/locale_fr_FR.php
   plog/trunk/locale/locale_ko_KR.php
   plog/trunk/locale/locale_zh_CN.php
   plog/trunk/locale/locale_zh_TW.php
   plog/trunk/locale/unported/locale_eu_ES.php
   plog/trunk/locale/unported/locale_fa_IR.php
   plog/trunk/locale/unported/locale_fi_FI.php
   plog/trunk/locale/unported/locale_gz_ES.php
   plog/trunk/locale/unported/locale_it_IT.php
   plog/trunk/locale/unported/locale_ja_JP.php
   plog/trunk/locale/unported/locale_ja_JP_utf8.php
   plog/trunk/locale/unported/locale_nb_NO.php
   plog/trunk/locale/unported/locale_nl_NL.php
   plog/trunk/locale/unported/locale_pt_BR.php
   plog/trunk/locale/unported/locale_ru_RU.php
   plog/trunk/locale/unported/locale_sv_SE.php
   plog/trunk/locale/unported/locale_tr_TR.php
   plog/trunk/templates/admin/chooser/resourcelist.template
   plog/trunk/templates/admin/editpost.template
   plog/trunk/templates/admin/globalsettings_security.template
   plog/trunk/templates/admin/newpost.template
   plog/trunk/templates/admin/newresource.template
   plog/trunk/templates/summary/registerstep4.template
   plog/trunk/templates/wizard/checks.template
   plog/trunk/templates/wizard/update1.template
   plog/trunk/templates/wizard/update4.template
   plog/trunk/tmp/.htaccess
Log:
merged revisions 4091:4274 (LifeType 1.1.2 to trunk)


Modified: plog/trunk/class/action/blogaction.class.php
===================================================================
--- plog/trunk/class/action/blogaction.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/action/blogaction.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -334,7 +334,12 @@
                 $month = substr( $inDate, 4, 2 );
                 $day = substr( $inDate, 6, 2 );
         		$outDate  = Timestamp::getDateWithOffset( $year.$month.$day."000000", -$serverTimeOffset );
-        		$maxDate = Timestamp::getDateWithOffset( $year.$month.$day."235959", -$serverTimeOffset );
+                //$maxDate = Timestamp::getDateWithOffset( $year.$month.$day."235959", -$serverTimeOffset );                                                             
+                //                                                                                               
+                // Fix for issue http://bugs.lifetype.net/view.php?id=1018
+                // Although I am not sure if this fix will have other consequences...
+				//
+                $maxDate = Timestamp::getDateWithOffset( $year.$month.$day."235959", 0 );
         	}
         	else
         	{

Modified: plog/trunk/class/dao/articlecategories.class.php
===================================================================
--- plog/trunk/class/dao/articlecategories.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/dao/articlecategories.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -293,6 +293,18 @@
          */
         function updateCategory( $category )
         {
+			// set the counter fields
+			$category->setNumArticles( $this->getNumItems( 
+				$this->getPrefix()."article_categories_link", 
+				"category_id = '".Db::qstr($category->getId())."'",
+				"category_id"
+			));
+			// number of published articles
+			$category->setNumPublishedArticles( $this->getNumItems (
+					$this->getPrefix()."article_categories_link acl, ".$this->getPrefix()."articles a",
+					"acl.category_id = '".Db::qstr($category->getId())."' and acl.article_id = a.id and a.status = ".POST_STATUS_PUBLISHED,
+					"category_id"
+			));
         	if( $result = $this->update( $category )) {
 				$this->_cache->removeData( $category->getBlogId(), CACHE_ARTICLE_CATEGORIES_BLOG );
         		$this->_cache->setData( $category->getId(), CACHE_ARTICLE_CATEGORIES, $category );

Modified: plog/trunk/class/dao/articles.class.php
===================================================================
--- plog/trunk/class/dao/articles.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/dao/articles.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -666,11 +666,11 @@
 
                	$category = $articleCategories->getCategory( $categoryId );                
                 if( $article->getStatus() == POST_STATUS_PUBLISHED ) {
-                	$category->setNumPublishedArticles( $category->getNumPublishedArticles() +1 );
+                	//$category->setNumPublishedArticles( $category->getNumPublishedArticles() +1 );
 					lt_include( PLOG_CLASS_PATH."class/data/timestamp.class.php" );
 					$category->setLastModification( new Timestamp());
                 }
-				$category->setNumArticles( $category->getNumAllArticles() + 1 );
+				//$category->setNumArticles( $category->getNumAllArticles() + 1 );
 				$articleCategories->updateCategory( $category );
             }
 
@@ -695,10 +695,6 @@
             	// updated the category counters
             	$articleCategories = new ArticleCategories();
             	foreach( $article->getCategories() as $category ) {
-					$category->setNumArticles( $category->getNumArticles( POST_STATUS_ALL ) - 1 );
-					if( $article->getStatus() == POST_STATUS_PUBLISHED ) {
-						$category->setNumPublishedArticles( $category->getNumPublishedArticles() - 1 );
-					}
 					$articleCategories->updateCategory( $category );
             	}
 				// clean the cache that contains the links

Modified: plog/trunk/class/dao/blogs.class.php
===================================================================
--- plog/trunk/class/dao/blogs.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/dao/blogs.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -322,6 +322,9 @@
             require_once( PLOG_CLASS_PATH . 'class/gallery/dao/galleryalbums.class.php' );
             require_once( PLOG_CLASS_PATH . 'class/dao/bayesiantokens.class.php' );
  			require_once( PLOG_CLASS_PATH . 'class/dao/bayesianfilterinfos.class.php' );
+			require_once( PLOG_CLASS_PATH . 'class/template/templatesets/templatesets.class.php' );
+			require_once( PLOG_CLASS_PATH . 'class/template/templatesets/templatesetstorage.class.php' );
+			require_once( PLOG_CLASS_PATH . 'class/file/file.class.php' );		
             
             // first of all, delete the posts
             $articles = new Articles();
@@ -356,6 +359,16 @@
             // update blog categories
             $blog = $this->getBlogInfo( $blogId );
 			$this->updateBlogCategoriesLink( $blog );
+			
+			// delete the blog template sets
+			$templateSets = new TemplateSets();
+			$tsStorage = new TemplateSetStorage();
+			$blogTemplates = $templateSets->getBlogTemplates( $blogId );
+			foreach( $blogTemplates as $template ) {
+				$tsStorage->removeBlogTemplate( $template, $blogId );
+			}
+			// when done, remove the parent "blog_X" folder
+			File::deleteDir( TemplateSetStorage::getBlogBaseTemplateFolder( $blogId ));
 
             // and finally, remove the cache and delete the blog
 			$this->_cache->removeData( $blog->getCustomDomain(), CACHE_BLOGIDBYDOMAIN );

Modified: plog/trunk/class/dao/customfields/customfieldvalue.class.php
===================================================================
--- plog/trunk/class/dao/customfields/customfieldvalue.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/dao/customfields/customfieldvalue.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -105,7 +105,7 @@
 		
 		function getType()
 		{
-			$this->_loadFieldDefition();
+			$this->_loadFieldDefinition();
 			return( $this->_customField->getType());
 		}
 		

Copied: plog/trunk/class/dao/userdata/joomlauserdataprovider.class.php (from rev 4274, plog/branches/lifetype-1.1.2/class/dao/userdata/joomlauserdataprovider.class.php)

Modified: plog/trunk/class/dao/userdata/lifetypeuserdataprovider.class.php
===================================================================
--- plog/trunk/class/dao/userdata/lifetypeuserdataprovider.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/dao/userdata/lifetypeuserdataprovider.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -34,7 +34,7 @@
          */
         function authenticateUser( $user, $pass )
         {
-        	$user = $this->getUserInfoFromUsername( $user );			
+        	$user = $this->getUserInfoFromUsername( $user );
         	if( $user ) {
 	        	return( $user->getPassword() == md5($pass));
 	        }
@@ -68,7 +68,15 @@
          */
         function getUserInfoFromUsername( $username )
         {
-        	return( $this->get( "user", $username, CACHE_USERIDBYNAME, Array( CACHE_USERINFO => "getId" )));        	
+        	$user = $this->get( "user", $username, CACHE_USERIDBYNAME, Array( CACHE_USERINFO => "getId" ));
+		if( $user ) {
+			if( $user->getUsername() != $username ) {
+				$this->log->error( "MySQL returned object (".$user->getId().",".$user->getUsername().") for username = ".$username );
+				$user = false;
+			}
+		}
+
+		return( $user );
         }
 
         /**

Copied: plog/trunk/class/dao/userdata/vbb3userdataprovider.class.php (from rev 4274, plog/branches/lifetype-1.1.2/class/dao/userdata/vbb3userdataprovider.class.php)

Copied: plog/trunk/class/dao/userdata/wbbuserdataprovider.class.php (from rev 4274, plog/branches/lifetype-1.1.2/class/dao/userdata/wbbuserdataprovider.class.php)

Modified: plog/trunk/class/data/textfilter.class.php
===================================================================
--- plog/trunk/class/data/textfilter.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/data/textfilter.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -454,12 +454,12 @@
             // replace some characters to similar ones
             // underscores aren't allowed in domain names according to rfc specs, and
             // cause trouble in some browsers, particularly with cookies.
-            $search  = array('-', '_',' ', '.', 'ä','ö','ü','é','è','à','ç','à','è','ì','ò','ù','á','é','í','ó','ú','ë','ï' );
-            $replace = array( $sep, $sep, $sep, $sep, 'a','o','u','e','e','a','c','a','e','i','o','u','a','e','i','o','u','e','i' );
+            $search  = array('-', '_',' ', 'ä','ö','ü','é','è','à','ç','à','è','ì','ò','ù','á','é','í','ó','ú','ë','ï' );
+            $replace = array( $sep, $sep, $sep, 'a','o','u','e','e','a','c','a','e','i','o','u','a','e','i','o','u','e','i' );
             $string = str_replace($search, $replace, $string);
 
             // and everything that is still left that hasn't been replaced/encoded, throw it away
-            $string = preg_replace( "/[^a-z0-9".$sep."]/", '', $string );
+            $string = preg_replace( "/[^a-z0-9.".$sep."]/", '', $string );
             $string = trim($string, "-.");
 
             return $string;            

Modified: plog/trunk/class/gallery/dao/galleryresources.class.php
===================================================================
--- plog/trunk/class/gallery/dao/galleryresources.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/gallery/dao/galleryresources.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -189,28 +189,25 @@
                                    $page = DEFAULT_PAGING_ENABLED, 
                                    $itemsPerPage = DEFAULT_ITEMS_PER_PAGE )
         {
-        	$resources = $this->getMany( "owner_id", 
-        								 $ownerId, 
-        	                             CACHE_RESOURCES_USER,
-										 null,
-										 Array( "date" => "ASC" ),
-										 $searchTerms );
-            if( !$resources )
-            	return Array();
-            	
-           	$result = Array();
-           	foreach( $resources as $resource ) {
-				if( $this->check( $resource, $ownerId, $albumId, $resourceType )) {
-					$result[] = $resource;
-				}
-           	}
-			
-			// check if we need to do any paging
-			if( $page > DEFAULT_PAGING_ENABLED )
-				$result = array_slice( $result,	($page-1) * $itemsPerPage, $itemsPerPage );
-				
+		$resources = Array();
+		$query = "SELECT id FROM ".$this->getPrefix()."gallery_resources WHERE owner_id = '".Db::qstr($ownerId)."'";
+		if( $albumId != GALLERY_NO_ALBUM )
+			$query .= " AND album_id = '".Db::qstr($albumId)."'";
+		if( $resourceType != GALLERY_RESOURCE_ANY )
+			$query .= " AND resource_type = '".Db::qstr($resourceType)."'";
+		if( $searchTerms != "" )
+			$query .= " AND (".$this->getSearchConditions( $searchTerms ).")";
 
-            return $result;
+		$result = $this->Execute( $query, $page, $itemsPerPage );
+		if( !$result )
+			return $resources;
+
+		while( $row = $result->FetchRow()) {
+			// use the primary key to retrieve the items via the cache
+			$resources[] = $resource = $this->get( "id", $row["id"], CACHE_RESOURCES );
+		}
+
+            return $resources;
         }
         
         /**

Modified: plog/trunk/class/net/customrequestgenerator.class.php
===================================================================
--- plog/trunk/class/net/customrequestgenerator.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/net/customrequestgenerator.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -513,6 +513,8 @@
 			}
 			elseif( $date > -1 ) {
 				$url = $this->getArchiveLink( $date );
+				if( $url[strlen($url)-1] == "/" )
+					$url = substr( $url, 0, -1);
 			}
 			else {
 				// if none of the above, we should at least get a link to the blog!

Modified: plog/trunk/class/net/xmlrpc/xmlrpcserver.class.php
===================================================================
--- plog/trunk/class/net/xmlrpc/xmlrpcserver.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/net/xmlrpc/xmlrpcserver.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -212,9 +212,15 @@
                 $title = $content["title"];
                 
                 // Check to see if the MovableType extnensions have been added
-	            $mt_excerpt = $content["mt_excerpt"]; 
-	            $mt_text_more = $content["mt_text_more"]; 
-	            $mt_allow_comments = $content["mt_allow_comments"]; 
+				$mt_excerpt = "";
+				$mt_text_more = "";
+				$mt_allow_comments = "";
+				if( isset( $content["mt_excerpt"] ))
+	            	$mt_excerpt = $content["mt_excerpt"]; 
+				if( isset( $content["mt_text_more"] ))
+	            	$mt_text_more = $content["mt_text_more"]; 
+	            if( isset( $content["mt_allow_comments"] ))
+					$mt_allow_comments = $content["mt_allow_comments"]; 
                 
                 if ( $mt_text_more != NULL && trim($mt_text_more != ""))
                 {
@@ -224,7 +230,10 @@
                 {
                     $body = $content["description"];
                 }
-                $catList = $content["categories"];
+				$catList = NULL;
+				if( isset( $content["categories"] ))
+                	$catList = $content["categories"];
+
                 $categoryName = NULL;
     
                 //
@@ -280,7 +289,9 @@
                     Array( "comments_enabled" => $enableComments ) 
                 );
     
-               $dateCreated = $content['dateCreated'];
+				$dateCreated = NULL;
+				if( isset( $content['dateCreated'] ))
+               		$dateCreated = $content['dateCreated'];
                
                // there must be a bug in the xmlrpc library, we're getting an object in $dateCreated
                // that does not have a type or anyhting, but it still is an object... kinda weird. Anyway,

Modified: plog/trunk/class/security/bayesianfilter.class.php
===================================================================
--- plog/trunk/class/security/bayesianfilter.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/security/bayesianfilter.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -1,6 +1,7 @@
 <?php
 
     lt_include( PLOG_CLASS_PATH."class/security/pipelinefilter.class.php" );
+	include_once( PLOG_CLASS_PATH."class/net/client.class.php" );
 
     define("HIGH_SPAM_PROBABILITY", 1000);
 

Modified: plog/trunk/class/summary/action/summarydefaultaction.class.php
===================================================================
--- plog/trunk/class/summary/action/summarydefaultaction.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/summary/action/summarydefaultaction.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -3,6 +3,7 @@
 	lt_include( PLOG_CLASS_PATH."class/summary/action/summaryaction.class.php" );
     lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
     lt_include( PLOG_CLASS_PATH."class/summary/dao/summarystatsconstants.class.php" );  
+	include_once( PLOG_CLASS_PATH."class/summary/net/summaryrequestgenerator.class.php" );      
 
      /**
       * This is the one and only default action. It simply fetches all the most recent
@@ -81,14 +82,9 @@
 			$this->_view->setValue( "step", $step );
 			$this->_view->setValue( "globalArticleCategoryId", $globalArticleCategoryId );
 		
-			// we just need a random blog so... we'll get one :)
+			// summary request generator
+			$this->_view->setValue( "url", new SummaryRequestGenerator());
 			
-			$allBlogs = $blogs->getAllBlogs( BLOG_STATUS_ACTIVE, ALL_BLOG_CATEGORIES, "", 1, 1);
-			$randomBlog = array_pop( $allBlogs );
-
-			$url = $randomBlog->getBlogRequestGenerator();
-			$this->_view->setValue( "url", $url );
-			
 			$this->setCommonData();
 
             return true;

Copied: plog/trunk/class/summary/net (from rev 4274, plog/branches/lifetype-1.1.2/class/summary/net)

Deleted: plog/trunk/class/summary/net/summaryrequestgenerator.class.php
===================================================================
--- plog/branches/lifetype-1.1.2/class/summary/net/summaryrequestgenerator.class.php	2006-11-09 21:47:25 UTC (rev 4274)
+++ plog/trunk/class/summary/net/summaryrequestgenerator.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -1,25 +0,0 @@
-<?php
-
-    include_once( PLOG_CLASS_PATH."class/net/baserequestgenerator.class.php" );
-
-    /**
-     * Very basic request generator for the summary. It is not meant to be used as a 
-     * request generator but only to generate a few URLs needed by the summary.
-     *
-     * @see RequestGenerator
-     * @see BaseRequestGenerator
-     */
-    class SummaryRequestGenerator extends BaseRequestGenerator 
-    {
-
-    	/**
-         * Constructor.
-         *
-         * @param blogInfo A BlogInfo object
-         */
-    	function SummaryRequestGenerator()
-        {
-        	$this->BaseRequestGenerator( null );
-        }
-    }
-?>

Copied: plog/trunk/class/summary/net/summaryrequestgenerator.class.php (from rev 4274, plog/branches/lifetype-1.1.2/class/summary/net/summaryrequestgenerator.class.php)

Modified: plog/trunk/class/summary/view/summarybloglistview.class.php
===================================================================
--- plog/trunk/class/summary/view/summarybloglistview.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/summary/view/summarybloglistview.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -6,6 +6,7 @@
     lt_include( PLOG_CLASS_PATH."class/config/config.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/summary/dao/summarystats.class.php" );
     lt_include( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" ); 	
+	include_once( PLOG_CLASS_PATH."class/summary/net/summaryrequestgenerator.class.php" );    
 	
 	/**
 	 * shows a paged list of blogs
@@ -85,10 +86,8 @@
 			$this->setValue( "min", $min );
 			$this->setValue( "step", $step );
 
-			// we just need a random blog so... we'll get one :)
-			$randomBlog = array_pop( $blogs->getAllBlogs( BLOG_STATUS_ACTIVE, ALL_BLOG_CATEGORIES, "", 1, 1) );
-			$url = $randomBlog->getBlogRequestGenerator();
-			$this->setValue( "url", $url );			
+			// summary request generator
+			$this->setValue( "url", new SummaryRequestGenerator());			
 		
 			// let the parent view do its job
 			parent::render();

Modified: plog/trunk/class/summary/view/summarypostlistview.class.php
===================================================================
--- plog/trunk/class/summary/view/summarypostlistview.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/summary/view/summarypostlistview.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -6,6 +6,7 @@
     lt_include( PLOG_CLASS_PATH."class/data/pager/pager.class.php" );
     lt_include( PLOG_CLASS_PATH."class/config/config.class.php" );
 	lt_include( PLOG_CLASS_PATH."class/summary/dao/summarystats.class.php" );
+	include_once( PLOG_CLASS_PATH."class/summary/net/summaryrequestgenerator.class.php" );	
 	
 	/**
 	 * shows a paged list of blogs
@@ -87,15 +88,10 @@
 			$this->setValue( "min", $min );
 			$this->setValue( "step", $step );
 					
-			// we just need a random blog so... we'll get one :)
-			lt_include( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
-			$blogs = new Blogs();
-			$randomBlog = array_pop( $blogs->getAllBlogs( BLOG_STATUS_ACTIVE, ALL_BLOG_CATEGORIES, "", 1, 1) );
-			$url = $randomBlog->getBlogRequestGenerator();
-			$this->setValue( "url", $url );
+			$this->setValue( "url", new SummaryRequestGenerator());
 			
 			// let the parent view do its job
 			parent::render();
 		}
 	}
-?>
\ No newline at end of file
+?>

Modified: plog/trunk/class/template/menu/menurenderer.class.php
===================================================================
--- plog/trunk/class/template/menu/menurenderer.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/template/menu/menurenderer.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -215,11 +215,14 @@
 				    	
 						$url = $child->getAttribute( "url" );
 						$localeId = $this->getLocaleId( $child );
+										
+						// escape the string for javascript
+						$menuText = strtr($this->_locale->tr( $localeId ), array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n','</'=>'<\/'));
 						
 						if( $url != "" ) 
-							$result .= "null, '".$this->_locale->tr($localeId)."', '".$child->getAttribute("url")."', '_self', null";
+							$result .= "null, '".$menuText."', '".$child->getAttribute("url")."', '_self', null";
 						else
-							$result .= "null, '".$this->_locale->tr($localeId)."', '#', '_self', null";
+							$result .= "null, '".$menuText."', '#', '_self', null";
 						
 						if( $depth > 0 )
 							$result .= $this->_renderJS( $child, $depth, $start, $activeOpt );

Modified: plog/trunk/class/template/smarty/plugins/function.pager.php
===================================================================
--- plog/trunk/class/template/smarty/plugins/function.pager.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/template/smarty/plugins/function.pager.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -190,7 +190,7 @@
 	}
 	elseif( $style == "nextonly" ) {
 		if (!$pager->isLastPage() && !$pager->isEmpty()) {
-		   $page_string .= "<a class=\"pagerLinkNextPage\" href=\"".$pager->getPrevPageLink()."\">$nextText</a>&nbsp;";
+		   $page_string .= "<a class=\"pagerLinkNextPage\" href=\"".$pager->getNextPageLink()."\">$nextText</a>&nbsp;";
 		}		
 	}
 	else {

Modified: plog/trunk/class/test/helpers/testtools.class.php
===================================================================
--- plog/trunk/class/test/helpers/testtools.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/test/helpers/testtools.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -123,7 +123,7 @@
 		function createArticleCategory( $blogId )
 		{
 			$cat = new ArticleCategory(
-				"Test category ".md5(time()),
+				"Test category ".md5(rand()),
 				"",
 				$blogId,
 				true
@@ -137,6 +137,67 @@
 		}
 		
 		/**
+		 * Creates a clean scenario for tests, including one blog, one user, one or more different articles and
+		 * one or more different article categories
+		 *
+		 * @param params An array
+		 * @return Returns an array with several different fields containing the user (owner), blog, categories
+		 * and articles.
+		 */
+		function createBlogScenario( $params = Array())
+		{
+			$numArticles = isset( $params["num_articles"] ) ? $params["num_articles"] : 1;
+			$numCategories = isset( $params["num_categories"] ) ? $params["num_categories"] : 1;
+			
+			// create the user
+			$user = TestTools::createUser();
+			// create the blog
+			$blog = TestTools::createBlog( $user->getId());
+			// create the categories
+			$i = 0;
+			$categories = Array();
+			while( $i < $numCategories ) {
+				$categories[$i] = TestTools::createArticleCategory( $blog->getId());
+				$i++;				
+			}
+			// create the articles
+			$i = 0;
+
+			while( $i < $numArticles ) {
+				// select the categories
+				if( $numCategories == 1 )
+					$catIds = Array( $categories[0]->getId());
+				else {
+					// pick a random number between 1 and $numCategories
+					$maxNum = rand( 1, $numCategories );
+					$j = 0;
+					while( $j < $maxNum ) {
+						$pos = rand( 0, $numCategories-1 );
+						$catIds[] = $categories[$pos]->getId();
+						$j++;
+					}
+				}
+				$articles[$i] = TestTools::createArticle( $blog->getId(), $user->getId(), $catIds, POST_STATUS_PUBLISHED );
+				$i++;
+				$catIds = Array();
+			}
+			
+			$result = Array();
+			$result["user"] = $user;
+			$result["blog"] = $blog;
+			$i = 0;
+			// need to reload the category so that the article counters are correct
+			$articleCategories = new ArticleCategories();
+			foreach( $categories as $cat ) {
+				$result["categories"][$i] = $articleCategories->getCategory( $cat->getId());
+				$i++;				
+			}
+			$result["articles"] = $articles;
+			
+			return( $result );
+		}
+		
+		/**
 		 * Deletes any test data created
 		 *
 		 * @param data An array with DAO objects

Copied: plog/trunk/class/test/tests/dao/articlecategories_test.class.php (from rev 4274, plog/branches/lifetype-1.1.2/class/test/tests/dao/articlecategories_test.class.php)

Modified: plog/trunk/class/test/tests/net/xmlrpc/xmlrpcserver_test.class.php
===================================================================
--- plog/trunk/class/test/tests/net/xmlrpc/xmlrpcserver_test.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/test/tests/net/xmlrpc/xmlrpcserver_test.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -100,7 +100,7 @@
 		/**
 		 * test the blogger.newPost method call
 		 */
-		function testBloggerNewPost()
+		function _testBloggerNewPost()
 		{
 			$c = new IXR_Client( $this->url );
 			$res = $c->query( "blogger.newPost", 
@@ -200,7 +200,7 @@
 		/**
 		 * test the blogger.getUserInfo method cal
 		 */
-		function testBloggerGetUserInfo()
+		function _testBloggerGetUserInfo()
 		{
 			$c = new IXR_Client( $this->url );
 			$res = $c->query( "blogger.getUserInfo", 
@@ -227,7 +227,7 @@
 		/**
 		 * test the blogger.getUserInfo method call
 		 */
-		function testBloggerGetUsersBlogs()
+		function _testBloggerGetUsersBlogs()
 		{
 			$c = new IXR_Client( $this->url );
 			$res = $c->query( "blogger.getUsersBlogs", 
@@ -254,7 +254,7 @@
 		/**
 		 * test the blogger.editPost method call
 		 */
-		function testBloggerEditPost()
+		function _testBloggerEditPost()
 		{
 			// create a new post first
 			$article = new Article(
@@ -332,7 +332,7 @@
 		/**
 		 * Test case the blogger.deletePost method call
 		 */
-		function testBloggerDeletePost()
+		function _testBloggerDeletePost()
 		{
 			// create a new post first
 			$article = new Article(
@@ -377,7 +377,7 @@
 		/**
 		 * test case for blogger.getRecentPosts
 		 */
-		function testBloggerGetRecentPosts()
+		function _testBloggerGetRecentPosts()
 		{
 			// create a new post first
 			$article = new Article(
@@ -432,7 +432,7 @@
 		/**
 		 * test case for blogger.getPost
 		 */
-		function testBloggerGetPost()
+		function _testBloggerGetPost()
 		{
 			// create a new post first
 			$article = new Article(
@@ -521,12 +521,19 @@
 		/** 
 		 * test case for the metaWeblog.getPost method call
 		 */
-		function testMetaWebogNewPost()
+		function testMetaWeblogNewPost()
 		{
+			// create 3 test categories
+			$cat1 = TestTools::createArticleCategory( $this->blog->getId());
+			$cat2 = TestTools::createArticleCategory( $this->blog->getId());
+			$cat3 = TestTools::createArticleCategory( $this->blog->getId());			
+			
 			$c = new IXR_Client( $this->url );
+			$c->debug=true;
             $content  = array();
             $content["title"] = "topic";
             $content["description"] = "body text";
+			$content["categories"] = Array( $cat1->getName(), $cat2->getName(), $cat3->getName());
 
 			$res = $c->query( "metaWeblog.newPost", 
 					   $this->blog->getId(), 
@@ -548,7 +555,12 @@
 			// check that the post has the expected values
 			$this->assertEquals( "body text", $article->getText(false));
 			$this->assertEquals( "topic", $article->getTopic());
+			// check that the categories are correct
+			$cats = Array( $cat1->getName(), $cat2->getName(), $cat3->getName());
+			$postCats = $article->getCategories();
 			
+			$this->assertEquals( count( $cats ), count( $postCats ), "The post did not have as many categories as expected!" );
+			
 			// delete the article
 			$articles->deleteArticle( $artId, $this->owner->getId(), $this->blog->getId(), true );
 
@@ -560,6 +572,7 @@
             $content  = array();
             $content["title"] = "topic";
             $content["description"] = "Intro text" . POST_EXTENDED_TEXT_MODIFIER . "Extended text";
+			$content["categories"] = Array( $cat1->getName(), $cat2->getName(), $cat3->getName());
 			$res = $c->query( "metaWeblog.newPost", 
 					   $this->blog->getId(), 
 					   $this->owner->getUsername(), 
@@ -627,6 +640,8 @@
 			$this->assertTrue( $this->checkResponseEncoding( $c->message->rawmessage, $this->blog), 
 			                   "The blog encoding and the response of the XMLRPC request did not match!" );
 			
+			// delete the test data
+			TestTools::deleteDaoTestData( Array( $cat1, $cat2, $cat3 ));
 		}
 		
 
@@ -634,7 +649,7 @@
 		/** 
 		 * test case for the metaWeblog.getPost method call
 		 */
-		function testMetaWeblogGetPost()
+		function _testMetaWeblogGetPost()
 		{
 			// create a new post first
 			$article = new Article(
@@ -791,7 +806,7 @@
 		/** 
 		 * Test the metaWeblog.getCategories
 		 */
-		function testMetaWeblogGetCategories()
+		function _testMetaWeblogGetCategories()
 		{
 			// make the method call
 			$c = new IXR_Client( $this->url );
@@ -822,7 +837,7 @@
 			                   "The blog encoding and the response of the XMLRPC request did not match!" );			
 		}
 		
-		function testMTGetCategoryList()
+		function _testMTGetCategoryList()
 		{
 			// make the method call
 			$c = new IXR_Client( $this->url );
@@ -850,7 +865,7 @@
 			                   "The blog encoding and the response of the XMLRPC request did not match!" );			
 		}
 		
-		function testMetaWeblogGetRecentPosts()
+		function _testMetaWeblogGetRecentPosts()
 		{
 			// create a new post first
 			$article = new Article(
@@ -903,7 +918,7 @@
 		}
 		
 		
-        function testMTSupportedTextFilters()
+        function _testMTSupportedTextFilters()
 		{
 			// make the method call
 			$c = new IXR_Client( $this->url );
@@ -919,7 +934,7 @@
 									
 		}
 		
-		function testMTGetPostCategories()
+		function _testMTGetPostCategories()
 		{
 			// create a new post first
 			$article = new Article(
@@ -965,7 +980,7 @@
 		}
 
 		
-		function testMTSetPostCategories()
+		function _testMTSetPostCategories()
 		{
 			// create a new post first, with no category
 			$article = new Article(

Modified: plog/trunk/class/view/admin/chooser/adminsimpleresourceslistview.class.php
===================================================================
--- plog/trunk/class/view/admin/chooser/adminsimpleresourceslistview.class.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/class/view/admin/chooser/adminsimpleresourceslistview.class.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -28,8 +28,40 @@
             $destination = $this->getValue( "destination" );			
 			// check if htmlarea is enabled
 			$blogSettings = $this->_blogInfo->getSettings();
+			
             $this->setValue( "htmlarea", $blogSettings->getValue( "htmlarea_enabled", false ));
 
+			// generate the dummy album and resource, with the placeholders
+			$dummyAlbum = new GalleryAlbum( $this->_blogInfo->getId(),   // owner id
+				                            "XXALBUMNAMEXX",  // album name
+				                            "XXALBUMDESCXX",  // description
+				                            0,  // flags
+				                            0, // parent id
+				                            new Timestamp(),  // date 
+				                            Array(),  // properties
+				                            true,   // show blog
+				                            "XXALBUMIDXX" );    // id 
+			$dummyResource = new GalleryResource( $this->_blogInfo->getId(), // owner id
+			                                      -1,  // album id
+			                                      "XXRESOURCEDESCXX",  // description
+			                                      0, // flags
+			                                      GALLERY_RESOURCE_IMAGE, // an image, but it doesn't really matter
+			                                      "XXRESOURCEPATHXX", // file path 
+			                                      "XXRESOURCENAMEXX", // file name
+			                                      Array(), // no metadata
+			                                      new Timestamp(), // date
+			                                      THUMBNAIL_OUTPUT_FORMAT_SAME_AS_IMAGE, // it doesn't matter
+			                                      Array(),
+			                                      -1 ); // id
+			$dummyResource->setAlbumId( "XXALBUMIDXX" );
+			$dummyResource->setAlbum( $dummyAlbum );
+			// generate 4 urls with the current blog settings
+			$url = $this->_blogInfo->getBlogRequestGenerator();
+			$this->setValue( "albumlink", $url->albumLink( $dummyAlbum ));
+			$this->setValue( "resourcelink", $url->resourceDownloadLink( $dummyResource ));
+			$this->setValue( "resourcepreviewlink", $url->resourcePreviewLink( $dummyResource ));
+			$this->setValue( "resourcemediumpreviewlink", $url->resourceMediumSizePreviewLink( $dummyResource ));
+
 			$this->_pagerUrl = "?op=resourceList&amp;mode=$destination&amp;page=";
 
 			parent::render();

Modified: plog/trunk/install/defaultconfig.properties.php
===================================================================
--- plog/trunk/install/defaultconfig.properties.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/install/defaultconfig.properties.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -63,8 +63,6 @@
 $Inserts['bayesian_filter_max_length_token'] 				= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('bayesian_filter_max_length_token', '100', 1);";
 $Inserts['bayesian_filter_number_significant_tokens'] 		= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('bayesian_filter_number_significant_tokens', 15, 1);";
 $Inserts['bayesian_filter_spam_comments_action'] 			= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('bayesian_filter_spam_comments_action', 0, 1 );";
-$Inserts['ip_address_filter_enabled'] 						= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('ip_address_filter_enabled', 1, 1 );";
-$Inserts['content_filter_enabled'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('content_filter_enabled', 1, 1 );";
 $Inserts['thumbnail_format'] 								= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('thumbnail_format','same',3);";
 $Inserts['resources_folder'] 								= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('resources_folder','./gallery/',3);";
 $Inserts['beautify_comments_text'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('beautify_comments_text', '1', 1);";

Modified: plog/trunk/locale/locale_ca_ES.php
===================================================================
--- plog/trunk/locale/locale_ca_ES.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_ca_ES.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -758,8 +758,6 @@
 $messages['help_default_rss_profile'] = 'Versió per defecte de RSS o Atom utilitzat per sindicar els continguts a menys que s\'especifiqui';
 // security
 $messages['security_pipeline_enabled'] = 'Activa o desactiva el conducte de seguretat i tots els filtres relacionats. Això també afecta els plugins que registrin filtres nous';
-$messages['help_ip_address_filter_enabled'] = 'Activa o desactiva el filtre per adreça IP. El conducte de seguretat també ha d\'estar activat perquè aquesta característica funcioni';
-$messages['help_content_filter_enabled'] = 'Activa o desactiva el filtre basat en expressions regulars. El conducte de seguretat també ha d\'estar activat perquè aquesta característica funcioni';
 $messages['help_maximum_comment_size'] = 'Extensió màxima en octets que pot tenir un comentari';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Activa o desactiva el filtre bayesià per a filtrar automàticament l\'spam';
@@ -1007,8 +1005,7 @@
 
 $messages['change_album'] = 'Canvia àlbum';
 
-$messages['warning_autosave_message'] = '<img src="imgs/admin/icon_warning-16.png" alt="Error" class="InfoIcon"/><p class="ErrorText">
-Sembla que la teva sessió ha finalitzat sense haver desat l\'article. Si és així, segueix aquest <a href="#" onclick="restoreAutoSave();">enllaç per recuperar-lo</a> o, si ho prefereixes, segueix aquest altre <a href="#" onclick="eraseAutoSave();">enllaç per esborrar-lo</a>.</p>';
+$messages['warning_autosave_message'] = '<img src="imgs/admin/icon_warning-16.png" alt="Error" class="InfoIcon"/><p class="ErrorText">Sembla que la teva sessió ha finalitzat sense haver desat l\'article. Si és així, segueix aquest <a href="#" onclick="restoreAutoSave();">enllaç per recuperar-lo</a> o, si ho prefereixes, segueix aquest altre <a href="#" onclick="eraseAutoSave();">enllaç per esborrar-lo</a>.</p>';
 
 $messages['check_username'] = 'Prova el nom d\'usuari';
 $messages['check_username_ok'] = 'El nom d\'usuari est&agrave; disponible!';
@@ -1059,4 +1056,4 @@
 $messages['error_no_albums_defined'] = 'No hi ha àlbums disponibles en aquest bloc.';
 
 $messages['password_reset_subject'] = 'Canvi de password a LifeType';
-?>
\ No newline at end of file
+?>

Modified: plog/trunk/locale/locale_de_DE.php
===================================================================
--- plog/trunk/locale/locale_de_DE.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_de_DE.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -767,8 +767,6 @@
 $messages['help_default_rss_profile'] = 'Standardversion von RSS oder Atom, wenn nicht anders festgelegt [Standard = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Sicherheits-Pipeline und alle zugeh&ouml;rigen Filter aktivieren. Diese Einstellung wirkt sich auch auf alle Plugins aus, die neue Filter registrieren [Standard = Ja]';
-$messages['help_ip_address_filter_enabled'] = 'IP-Adressfilter aktivieren. Sicherheits-Pipeline mu&szlig; aktiviert sein. [Standard = Ja]';
-$messages['help_content_filter_enabled'] = 'Inhalte mit regul&auml;ren Ausdr&uuml;cken filtern. Sicherheits-Pipeline mu&szlig; aktiviert sein. [Standard = Ja]';
 $messages['help_maximum_comment_size'] = 'Maximale Gr&ouml;&szlig;e f&uuml;r Kommentare in Bytes. Um die Gr&ouml;&szlig;e nicht zu beschr&auml;nken, stellen Sie 0 ein. [Standard = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Den bayes\'schen Filter f&uuml;r verbesserte Spam-Filterung verwenden [Standard = Ja]';

Modified: plog/trunk/locale/locale_el_GR.php
===================================================================
--- plog/trunk/locale/locale_el_GR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_el_GR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -774,8 +774,6 @@
 $messages['help_default_rss_profile'] = 'Προεπιλεγμένη έκδοση RSS ή Atom που θα χρησιμοποιηθεί στο syndication των περιεχομένων αν δεν έχει επιλεγεί άλλη [Προεπιλεγμένο = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Ενεργοποίηση της γραμμής ασφαλείας και των σχετικών φίλτρων. Η επιλογή επηρεάζει επεκτάσεις που εγγράφουν νέα φίλτρα [Προεπιλεγμένο = Ναι]';
-$messages['help_ip_address_filter_enabled'] = 'Ενεργοποίηση του φίλτρου διευθύνσεων IP. Προκειμένου να λειτουργήσει αυτό το χαρακτηριστικό πρέπει επίσης να είναι ενεργοποιημένη γραμμή ασφαλείας [Προεπιλεγμένο = Ναι]';
-$messages['help_content_filter_enabled'] = 'Ενεργοποίηση του φίλτρου βασισμένου σε regular expressions. Προκειμένου να λειτουργήσει αυτό το χαρακτηριστικό πρέπει επίσης να είναι ενεργοποιημένη γραμμή ασφαλείας [Προεπιλεγμένο = Ναι]';
 $messages['help_maximum_comment_size'] = 'Μέγιστο μέγεθος σχολίου σε bytes, συμπληρώστε 0 για απενεργοποίηση [Προεπιλεγμένο = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Ενεργοποίηση του φίλτρου Bayes για βελτιωμένο αυτόματο φιλτράρισμα spam [Προεπιλεγμένο = Ναι]';

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_en_UK.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -771,8 +771,6 @@
 $messages['help_default_rss_profile'] = 'Default version of RSS or Atom used to syndicate contents unless otherwise specified. [Default = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Enable the security pipeline and all related filters. This also affects plugins that register new filters. [Default = Yes]';
-$messages['help_ip_address_filter_enabled'] = 'Enable the IP address filter. The security pipeline also needs to be enabled in order for this feature to work. [Default = Yes]';
-$messages['help_content_filter_enabled'] = 'Enable the regular expression-based content filter. The security pipeline also needs to be enabled in order for this feature to work. [Default = Yes]';
 $messages['help_maximum_comment_size'] = 'Maximum size in bytes that a comment can have, set to 0 to disable this feature. [Default = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Enable the Bayesian filter for improved automatic spam filtering. [Default = Yes]';
@@ -1045,7 +1043,7 @@
 $messages['first_day_of_week_label'] = 'First Day of Week';
 $messages['first_day_of_week_help'] = 'First Day of Week in calendar.';
 
-$messages['help_subdomains_base_url'] = 'When subdomains are enabled, this base URL is used instead of base_url. Use {blogname} to get the blog name, {username} to get the name of the user owner of the blog and {blogdomain} to allow the user to specify any subdomain in order to generate a link to a blog. (e.g.. http://{blogname}.yourdomain.com)';
+$messages['help_subdomains_base_url'] = 'When subdomains are enabled, this base URL is used instead of base_url. Use {blogname} to get the blog name, {username} to get the name of the user owner of the blog and {blogdomain} to allow the user to specify any subdomain in order to generate a link to a blog. (e.g. http://{blogname}.yourdomain.com)';
 
 $messages['registration_default_subject'] = 'LifeType registration confirmation';
 
@@ -1156,8 +1154,8 @@
 $messages['error_updating_permission'] = 'There was an error updating the permission';
 $messages['permission_updated_ok'] = 'Permission updated succesfully';
 $messages['error_adding_permission'] = 'There was an error adding the permission';
-
 $messages['error_cannot_login'] = 'Sorry, you are not allowed to log in';
+$messages['admin_user_permissions_help'] = 'Site-wide permissions granted to this user';
 
 $messages['permissions'] = 'Permissions';
 $messages['blog_user_permissions_help'] = 'Permissions assigned to this user in this blog';

Modified: plog/trunk/locale/locale_es_ES.php
===================================================================
--- plog/trunk/locale/locale_es_ES.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_es_ES.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -764,8 +764,6 @@
 $messages['help_default_rss_profile'] = 'Formato por defecto de los contenidos [Valor por defecto = RSS 1.0]';
 // security
 $messages['security_pipeline_enabled'] = 'Activar el filtro de seguridad, que es necesario para el filtro Bayesiano y por otros plugins que lo usen [Valor por defecto = Sí]';
-$messages['help_ip_address_filter_enabled'] = 'Activa el filtro de direcciones IP Es necesario que el filtro de seguridad esté activado [Valor por defecto = Sí]';
-$messages['help_content_filter_enabled'] = 'Activa el filtro de contenido mediante expresiones regularres. Es necesario que el filtro de seguridad esté activado [Valor por defecto = Sí]';
 $messages['help_maximum_comment_size'] = 'Tamaño máximo de un comentario en bytes, o use un valor de "0" para permitir un tamaño ilimitado [Valor por defecto = 0]';
 // baSíian filter
 $messages['help_baSíian_filter_enabled'] = 'Activar el filtro Bayesiano anti-spam [Valor por defecto = Sí]';

Modified: plog/trunk/locale/locale_fr_FR.php
===================================================================
--- plog/trunk/locale/locale_fr_FR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_fr_FR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -790,8 +790,6 @@
 
 // security
 $messages["help_security_pipeline_enabled"] = "Activer les fonctions de sécurité.";
-$messages["help_ip_address_filter_enabled"] = "Activer filtrage IP.";
-$messages["help_content_filter_enabled"] = "Activer filtrage contenu";
 $messages["help_maximum_comment_size"] = "Taille maximum en octets des commentaires.";
 
 // bayesian filter

Copied: plog/trunk/locale/locale_gl_ES.php (from rev 4274, plog/branches/lifetype-1.1.2/locale/locale_gl_ES.php)

Modified: plog/trunk/locale/locale_ko_KR.php
===================================================================
--- plog/trunk/locale/locale_ko_KR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_ko_KR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -772,8 +772,6 @@
 $messages['help_default_rss_profile'] = 'RSS나 Atom중 기본으로 제공할 버전을 선택할 수 있습니다 [기본 = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = '보안 파이프 라인을 사용합니다. 플러그인을 포함한 필터를 사용하려면 이 항목을 사용해야 합니다 [기본 = 예]';
-$messages['help_ip_address_filter_enabled'] = 'IP주소를 필터링 합니다. 보안 파이프라인 기능이 사용중이어야 작동합니다 [기본 = 예]';
-$messages['help_content_filter_enabled'] = '정규식으로 올라오는 글을 필터링 합니다. 보안 파이프라인 기능이 사용중이어야 작동합니다 [기본 = 예]';
 $messages['help_maximum_comment_size'] = '코멘트 길이를 byte수 단위로 제한할  수 있습니다. 0은 무제한입니다 [기본 = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = '진보된 자동 스팸 필터링인 Bayesian필터를 사용합니다  [기본 = 예]';

Modified: plog/trunk/locale/locale_zh_CN.php
===================================================================
--- plog/trunk/locale/locale_zh_CN.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_zh_CN.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -775,8 +775,6 @@
 $messages['help_default_rss_profile'] = '默认的RSS或Atom方式';
 // security
 $messages['help_security_pipeline_enabled'] = '是否启用安全以及所有相关插件。注意,这也会影响到其它的新插件。';
-$messages['help_ip_address_filter_enabled'] = '是否启用ip地址过滤';
-$messages['help_content_filter_enabled'] = '启用或禁用规则过滤,启动该项目时,需要打开安全功能。';
 $messages['help_maximum_comment_size'] = '评论的最大字节数';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = '启用或禁用过滤';

Modified: plog/trunk/locale/locale_zh_TW.php
===================================================================
--- plog/trunk/locale/locale_zh_TW.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/locale_zh_TW.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -772,8 +772,6 @@
 $messages['help_default_rss_profile'] = '預設的RSS/RDF新聞交換格式';
 // security
 $messages['help_security_pipeline_enabled'] = '啟用系統安全功能。如果您關閉了這個選項,那麼所有的系統安全功能都會停用,如果您想要關閉一些系統安全功能,建議您將這個設定設為開啟,然後在以下的選項中,逐一停用我們不需要的系統安全功能項目。';
-$messages['help_ip_address_filter_enabled'] = '啟用IP位置過濾。您可以用這個功能阻擋某些主機瀏覽本站。';
-$messages['help_content_filter_enabled'] = '使用以正規表示式為基礎的簡單內容過濾機制,用簡單的關鍵字過濾不當內容。不過建議您,採用貝氏過濾會是比較好的方案。';
 $messages['help_maximum_comment_size'] = '迴響留言的內文字元數上限。';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = '啟用或停用貝氏過濾機制。';

Modified: plog/trunk/locale/unported/locale_eu_ES.php
===================================================================
--- plog/trunk/locale/unported/locale_eu_ES.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_eu_ES.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -768,8 +768,6 @@
 $messages['help_default_rss_profile'] = 'Edukiak sortzeko (syndicate) erabiltzen den RSS edo Atom bertsio lehenetsia, bestelakorik zehazten ez bada [Lehenetsia = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Gaitu segurtasun-iragazkia eta lotutako iragazki guztiak. Iragazki berriak erregistratzen dituzten plugin-ei ere eragiten die [Lehenetsia = Bai]';
-$messages['help_ip_address_filter_enabled'] = 'Gaitu IP helbide-iragazkia. Segurtasun-iragazkia ere gaitu behar da eginbide honek funtziona dezan [Lehenetsia = Bai]';
-$messages['help_content_filter_enabled'] = 'Gaitu adierazpen erregularrean oinarritutako eduki-iragazkia. Segurtasun-iragazkia ere gaitu behar da eginbideak funtziona dezan [Lehenetsia = Bai]';
 $messages['help_maximum_comment_size'] = 'Erantzun baten gehienezko tamaina bytetan, jarri 0 eginbidea desgaitzeko [Lehenetsia = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Gaitu iragazki Bayesiarra spam iragazkia automatikoki hobetzeko [Lehenetsia = Bai]';

Modified: plog/trunk/locale/unported/locale_fa_IR.php
===================================================================
--- plog/trunk/locale/unported/locale_fa_IR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_fa_IR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -781,8 +781,6 @@
 $messages['help_default_rss_profile'] = 'ورژن تغذیه کننده RSS یا Atom که استفاده می شوند البته در صورتی که ورژن دیگری مشخص نشده باشد [پیش فرض = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'فعالسازی تمامی خطوط امنیتی و فیلترهای مربوط به آنان. این گزینه همچنین کدهای افزودنی را که فیلترهای جدید نصب می کنند تحت تاثیر قرار می دهد [پیش فرض = بله]';
-$messages['help_ip_address_filter_enabled'] = 'فعالسازی فیلتر آدرس IP. همچنین برای استفاده از این گزینه باید خطوط امنیتی فعال شده باشند [پیش فرض = بله]';
-$messages['help_content_filter_enabled'] = 'فعالسازی فیلتر عبارت محور محتوا. همچنین برای استفاده از این گزینه باید خطوط امنیتی فعال شده باشند [پیش فرض = بله]';
 $messages['help_maximum_comment_size'] = 'حداکثر اندازه نظرها به واحد بایت, برای غیر فعال کردن این گزینه آن را صفر کنید [پیش فرض = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'فعالسازی فیلتر Bayesian برای بهتر شدن فیلتر اتوماتیک اسپم  [پیش فرض = بله]';

Modified: plog/trunk/locale/unported/locale_fi_FI.php
===================================================================
--- plog/trunk/locale/unported/locale_fi_FI.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_fi_FI.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -768,8 +768,6 @@
 $messages['help_default_rss_profile'] = 'Tietojen yhdistämisessä käytetään perusversiota RSS tai Atom -feedeistä ellei toisin määritellä [Vakio = RSS 1.0]';
 // Turvallisuus
 $messages['help_security_pipeline_enabled'] = 'Ota security pipeline ja kaikki siihen liittyvät filtterit käyttöön. Tämä vaikuttaa myös plugineihin, jotka rekisteröivät uusia filttereitä [Vakio = Kyllä]';
-$messages['help_ip_address_filter_enabled'] = 'Ota IP-osoitefiltteri käyttöön. Security pipelinen on oltava päällä tämän ominaisuuden toimimiseksi. [Vakio = Kyllä]';
-$messages['help_content_filter_enabled'] = 'Ota regular expression-based sisältöfiltteri käyttöön. Security pipelinen on oltava päällä tämän ominaisuuden toimimiseksi. [Vakio = Kyllä]';
 $messages['help_maximum_comment_size'] = 'Kommenttien maksimikoko bitteinä. Aseta 0:ksi ottaakseni tämän ominaisuuden pois köytöstä [Vakio = 0]';
 // bayesian filtteri
 $messages['help_bayesian_filter_enabled'] = 'Ota Bayesian filtteri käyttöön paremman automaattisen spam-filtteröinnin saavuttamiseksi [Vakio = Kyllä]';

Modified: plog/trunk/locale/unported/locale_gz_ES.php
===================================================================
--- plog/trunk/locale/unported/locale_gz_ES.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_gz_ES.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -766,8 +766,6 @@
 $messages['help_default_rss_profile'] = 'Formato por defecto dos contidos [Valor por defecto = RSS 1.0]';
 // security
 $messages['security_pipeline_enabled'] = 'Activar o filtro de seguridade, que é necesario para o filtro Bayesiano e por outros plugins que o usen [Valor por defecto = Sí]';
-$messages['help_ip_address_filter_enabled'] = 'Activa o filtro de direcciones IP é necesario que o filtro de seguridade esté activado [Valor por defecto = Sí]';
-$messages['help_content_filter_enabled'] = 'Activa o filtro de contido mediante expresions regulares. é necesario que o filtro de seguridade esté activado [Valor por defecto = Sí]';
 $messages['help_maximum_comment_size'] = 'Tamaño máximo dun comentario en bytes, ou use un valor de "0" para permitir un tamaño ilimitado [Valor por defecto = 0]';
 // baSíian filter
 $messages['help_baSíian_filter_enabled'] = 'Activar o filtro Bayesiano anti-spam [Valor por defecto = Sí]';

Modified: plog/trunk/locale/unported/locale_it_IT.php
===================================================================
--- plog/trunk/locale/unported/locale_it_IT.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_it_IT.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -773,8 +773,6 @@
 $messages['help_default_rss_profile'] = 'Versione predefinita di RSS o Atom da usare per la preparazione dei contenuti, quando non specificato diversamente [Predefinito = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Abilita la pipeline relativa alla sicurezza e tutti i filtri connessi. Questo influenza anche i plugin che registrano nuovi filtri  [Predefinito = Sì]';
-$messages['help_ip_address_filter_enabled'] = 'Abilita il filtro degli indirizzi IP. Per abilitare questa caratteristica è necessario abilitare anche la pipeline relativa alla sicurezza [Predefinito = Sì]';
-$messages['help_content_filter_enabled'] = 'Abilita il filtro sui contenuti basato sulle espressioni regolari. Per abilitare questa caratteristica è necessario abilitare anche la pipeline relativa alla sicurezza [Predefinito = Sì]';
 $messages['help_maximum_comment_size'] = 'Dimensione massima in byte che un commento può avere. Imposta a 0 per disabilitare questo controllo [Predefinito = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Abilita il filtro Bayesiano per ottenere un filtraggio automatico dello spam [Predefinito = Sì]';

Modified: plog/trunk/locale/unported/locale_ja_JP.php
===================================================================
--- plog/trunk/locale/unported/locale_ja_JP.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_ja_JP.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -773,8 +773,6 @@
 $messages['help_default_rss_profile'] = '¥³¥ó¥Æ¥ó¥Ä¥·¥ó¥Ç¥£¥±¡¼¥·¥ç¥óÍѤÎRSS¤äAtom¤Î¥Ç¥Õ¥©¥ë¥È¥Ð¡¼¥¸¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = '¥»¥­¥å¥ê¥Æ¥£¡¼¥Ñ¥¤¥×¥é¥¤¥ó¤ÈÁ´¤Æ¤Î´ØÏ¢¥Õ¥£¥ë¥¿¤òÍ­¸ú¤Ë¤¹¤ë¡£ [¥Ç¥Õ¥©¥ë¥È = ¤Ï¤¤]';
-$messages['help_ip_address_filter_enabled'] = 'IP¥¢¥É¥ì¥¹¥Õ¥£¥ë¥¿¤òÍ­¸ú¤Ë¤¹¤ë¡£¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼¥Ñ¥¤¥×¥é¥¤¥ó¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = ¤Ï¤¤]';
-$messages['help_content_filter_enabled'] = 'Regular Expression-Based¥³¥ó¥Æ¥ó¥Ä¥Õ¥£¥ë¥¿¤òÍ­¸ú¤Ë¤¹¤ë¡£¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼¥Ñ¥¤¥×¥é¥¤¥ó¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = ¤Ï¤¤]';
 $messages['help_maximum_comment_size'] = '¥³¥á¥ó¥È¤ÎºÇ¹â¥µ¥¤¥º¤ò¥Ð¥¤¥È¤ÇÀßÄꤷ¤Æ²¼¤µ¤¤¡£0¤òÆþÎϤ¹¤ë¤È¤³¤Îµ¡Ç½¤ÏÄä»ß¤·¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = '¼«Æ°¥¹¥Ñ¥à¥Õ¥£¥ë¥¿ÍѤËBayesian¥Õ¥£¥ë¥¿¤òÍ­¸ú¤Ë¤¹¤ë¡£  [¥Ç¥Õ¥©¥ë¥È = ¤Ï¤¤]';

Modified: plog/trunk/locale/unported/locale_ja_JP_utf8.php
===================================================================
--- plog/trunk/locale/unported/locale_ja_JP_utf8.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_ja_JP_utf8.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -780,8 +780,6 @@
 $messages['help_default_rss_profile'] = 'コンテンツシンディケーション用のRSSやAtomのデフォルトバージョンを設定します。 [デフォルト = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'セキュリティーパイプラインと全ての関連フィルタを有効にする。 [デフォルト = はい]';
-$messages['help_ip_address_filter_enabled'] = 'IPアドレスフィルタを有効にする。この機能を使用するにはセキュリティーパイプラインが有効になっている必要があります。 [デフォルト = はい]';
-$messages['help_content_filter_enabled'] = 'Regular Expression-Basedコンテンツフィルタを有効にする。この機能を使用するにはセキュリティーパイプラインが有効になっている必要があります。 [デフォルト = はい]';
 $messages['help_maximum_comment_size'] = 'コメントの最高サイズをバイトで設定して下さい。0を入力するとこの機能は停止します。 [デフォルト = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = '自動スパムフィルタ用にベイジアンフィルタを有効にする。  [デフォルト = はい]';

Modified: plog/trunk/locale/unported/locale_nb_NO.php
===================================================================
--- plog/trunk/locale/unported/locale_nb_NO.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_nb_NO.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -784,8 +784,6 @@
 $messages['help_default_rss_profile'] = 'Hvis ikke annet er angitt, standard versjon av RSS eller ATOM som skal brukes under syndikering av innhold [Standard=RSS 1.0]';
 // security
 $messages['security_pipeline_enabled'] = 'Aktiver eller deaktiver den generelle sikkerhetsmekanismen og alle relaterte filtre. Dette har også effekt over ekstramoduler som registrerer nye filtre [Standard=Ja]';
-$messages['help_ip_address_filter_enabled'] = 'Aktiver eller deaktiver IP basert filtrering. Den generelle sikkerhetsmekanismen må også være aktivert for at denne funksjonen skal virke [Standard=Ja]';
-$messages['help_content_filter_enabled'] = 'Aktiver eller deaktiver frase og uttrykksfilteret. Den generelle sikkerhetsmekanismen må også være aktivert for at denne funksjonen skal virke [Standard=Ja]';
 $messages['help_maximum_comment_size'] = 'Maksimum størrelse i byte for en kommentar. 0 deaktiverer [Standard=0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Aktiver eller deaktiver "Bayesian" filteret for automatisk søppel(spam)filtrering [Standard=Ja]';

Modified: plog/trunk/locale/unported/locale_nl_NL.php
===================================================================
--- plog/trunk/locale/unported/locale_nl_NL.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_nl_NL.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -769,8 +769,6 @@
 $messages['help_default_rss_profile'] = 'Standaard versie voor streaming content [Standaard = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Schakel het gebruik van security pipelining en gerelateerde filters in. Dit heeft ook effect op plugins die nieuwe filters registreren [Standaard = Ja]';
-$messages['help_ip_address_filter_enabled'] = 'Schakel het gebruik van IP adres filters in. Dit werkt alleen wanneer security pipelining is ingeschakeld [Standaard = Ja]';
-$messages['help_content_filter_enabled'] = 'Schakel content filters op basis van reguliere expressies in. Dit werkt alleen wanneer security pipelining is ingeschakeld [Standaard = Ja]';
 $messages['help_maximum_comment_size'] = 'Maximum grootte in bytes dat een commentaar kan hebben. Voer 0 in om dit uit te schakelen [Standaard = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Schakel de Bayesian filter aan voor verbeterde automatische spam filtering [Standaard = Ja]';

Modified: plog/trunk/locale/unported/locale_pt_BR.php
===================================================================
--- plog/trunk/locale/unported/locale_pt_BR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_pt_BR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -769,8 +769,6 @@
 $messages['help_default_rss_profile'] = 'Versão default de RSS ou Atom usada para fazer o syndicate do conteúdo, a menos que outra seja especificada [Default = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Habilita ou desabilita o pipeline de segurança e todos os filtros relacionados. Isto também afeta plugins que registram novos filtros [Default = Sim]';
-$messages['help_ip_address_filter_enabled'] = 'Habilita ou desabilita o filtro de endereços de IP. O pipeline de segurança também precisa estar habilitado para que este recurso funcione [Default = Não]';
-$messages['help_content_filter_enabled'] = 'Habilita ou desabilita o filtro de conteúdo baseado em expressões regulares. A segurança de pipeline também deve estar habilitada para que este recurso funcione [Default = Não]';
 $messages['help_maximum_comment_size'] = 'Tamanho máximo em bytes que um comentário pode ter [Default = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Habilita ou desabilita o filtro do tipo Bayesian para uma melhor filtragem automática contra spam [Default = Sim]';

Modified: plog/trunk/locale/unported/locale_ru_RU.php
===================================================================
--- plog/trunk/locale/unported/locale_ru_RU.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_ru_RU.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -801,8 +801,6 @@
 $messages['help_default_rss_profile'] = 'Âåðñèÿ RSS èëè Atom ïî óìîë÷àíèþ, èñïîëüçóåìàÿ äëÿ ñëèÿíèÿ ñîäåðæàíèÿ, åñëè íå óêàçàíî èíîãî [Ïî óìîë÷àíèþ = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Âêëþ÷èòü êîíâåéåð áåçîïàñíîñòè è âñå ñîîòâåòñòâóþùèå ôèëüòðû. Ýòî òàêæå êàñàåòñÿ ïëàãèíîâ, êîòîðûå ñîçäàþò íîâûå ôèëüòðû [Ïî óìîë÷àíèþ = Äà]';
-$messages['help_ip_address_filter_enabled'] = 'Âêëþ÷èòü ôèëüòð àäðåñà IP. Òàêæå äîëæåí áûòü âêëþ÷åí êîíâåéåð áåçîïàñíîñòè, ÷òîáû ýòà îïöèÿ ðàáîòàëà [Ïî óìîë÷àíèþ = Äà]';
-$messages['help_content_filter_enabled'] = 'Âêëþ÷èòü ôèëüòð, îñíîâàííûé íà ðåãóëÿðíûõ âûðàæåíèÿõ. Òàêæå äîëæåí áûòü âêëþ÷åí êîíâåéåð áåçîïàñíîñòè, ÷òîáû ýòà îïöèÿ ðàáîòàëà [Ïî óìîë÷àíèþ = Äà]';
 $messages['help_maximum_comment_size'] = 'Ìàêñèìàëüíî äîïóñòèìûé ðàçìåð êîììåíòàðèÿ â áàéòàõ, óñòàíîâèòü íà 0, ÷òîáû îòêëþ÷èòü ýòó îïöèþ [Ïî óìîë÷àíèþ = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Âêëþ÷èòü Bayesian-ôèëüòð äëÿ óëó÷øåíèÿ àâòîìàòè÷åñêîé ôèëüñòðàöèè ñïàìà  [Ïî óìîë÷àíèþ = Äà]';

Modified: plog/trunk/locale/unported/locale_sv_SE.php
===================================================================
--- plog/trunk/locale/unported/locale_sv_SE.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_sv_SE.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -767,8 +767,6 @@
 $messages['help_default_rss_profile'] = 'Default version of RSS or Atom used to syndicate contents unless otherwise specified [Default = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Enable the security pipeline and all related filters. This also affects plugins that register new filters [Default = Yes]';
-$messages['help_ip_address_filter_enabled'] = 'Enable the IP address filter. The security pipeline also needs to be enabled in order for this feature to work [Default = Yes]';
-$messages['help_content_filter_enabled'] = 'Enable the regular expression-based content filter. The security pipeline also needs to be enabled in order for this feature to work [Default = Yes]';
 $messages['help_maximum_comment_size'] = 'Maximum size in bytes that a comment can have, set to 0 to disable this feature [Default = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Enable the Bayesian filter for improved automatic spam filtering  [Default = Yes]';

Modified: plog/trunk/locale/unported/locale_tr_TR.php
===================================================================
--- plog/trunk/locale/unported/locale_tr_TR.php	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/locale/unported/locale_tr_TR.php	2006-11-12 12:29:45 UTC (rev 4287)
@@ -767,8 +767,6 @@
 $messages['help_default_rss_profile'] = 'Default version of RSS or Atom used to syndicate contents unless otherwise specified [Default = RSS 1.0]';
 // security
 $messages['help_security_pipeline_enabled'] = 'Enable the security pipeline and all related filters. This also affects plugins that register new filters [Default = Yes]';
-$messages['help_ip_address_filter_enabled'] = 'Enable the IP address filter. The security pipeline also needs to be enabled in order for this feature to work [Default = Yes]';
-$messages['help_content_filter_enabled'] = 'Enable the regular expression-based content filter. The security pipeline also needs to be enabled in order for this feature to work [Default = Yes]';
 $messages['help_maximum_comment_size'] = 'Maximum size in bytes that a comment can have, set to 0 to disable this feature [Default = 0]';
 // bayesian filter
 $messages['help_bayesian_filter_enabled'] = 'Enable the Bayesian filter for improved automatic spam filtering  [Default = Yes]';

Modified: plog/trunk/templates/admin/chooser/resourcelist.template
===================================================================
--- plog/trunk/templates/admin/chooser/resourcelist.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/admin/chooser/resourcelist.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -17,6 +17,12 @@
 }
 </style>
 {/literal}
+<script type="text/javascript">
+	var albumLink = '{$albumlink}';
+	var resourceLink = '{$resourcelink}';
+	var resourcePreviewLink = '{$resourcepreviewlink}';
+	var resourceMediumPreviewLink = '{$resourcemediumpreviewlink}';		
+</script>
 <div id="list_nav_bar">
 <div id="list_nav_select"> 
 <form id="resourceListAlbum" action="admin.php" method="post">
@@ -74,7 +80,7 @@
     </td>
     <td>
       <script type="text/javascript">
-       var albumName_{$resalbum->getId()} = '{$resalbum->getName()|escape:"javascript"}';
+       var albumName_{$resalbum->getId()} = '{$resalbum->getMangledName()|escape:"javascript"}';
        var albumDesc_{$resalbum->getId()} = '{$resalbum->getDescription()|escape:"javascript"}';
       </script>    
      {if $htmlarea}
@@ -108,19 +114,22 @@
   <script type="text/javascript">
     var resName_{$resource->getId()} = '{$resource->getFileName()|escape:"javascript"}';
     var resDesc_{$resource->getId()} = '{$resource->getDescription()|escape:"javascript"}';
+    {assign var=resourceAlbum value=$resource->getAlbum()}
+	var resAlbumName_{$resource->getId()} = '{$resourceAlbum->getMangledName()|escape:"javascript"}';
+	var resAlbumId_{$resource->getId()} = '{$resourceAlbum->getId()}';
   </script>
   {if $htmlarea}
-  <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},false,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource")}</a><br/> 
+  <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},false,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource")}</a><br/> 
   {else}
- <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},false,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource")}</a><br/> 
+ <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},false,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource")}</a><br/> 
   {/if}
   {if $resource->hasPreview()}
    {if $htmlarea}
-    <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},1,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource_preview")}</a><br/>
-    <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},2,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource_medium")}</a><br/>
+    <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},1,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource_preview")}</a><br/>
+    <a href="javascript:addHtmlareaLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},2,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource_medium")}</a><br/>
    {else}
-   <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},1,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource_preview")}</a><br/>
-   <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},2,'{$resource->getMimeType()}','{$resource->getId()}');">{$locale->tr("add_resource_medium")}</a><br/>
+   <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},1,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource_preview")}</a><br/>
+   <a href="javascript:addResourceLink({$destination},{$blog->getId()},{$resource->getResourceType()},resName_{$resource->getId()},resDesc_{$resource->getId()},2,'{$resource->getMimeType()}','{$resource->getId()}',resAlbumName_{$resource->getId()},resAlbumId_{$resource->getId()});">{$locale->tr("add_resource_medium")}</a><br/>
    {/if}
   {/if}
  </td>

Modified: plog/trunk/templates/admin/editpost.template
===================================================================
--- plog/trunk/templates/admin/editpost.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/admin/editpost.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -22,10 +22,29 @@
   var msgSaving = "{$locale->tr("saving_message")}";  
   var msgShowOptionPanel = "{$locale->tr("show_option_panel")}";
   var msgHideOptionPanel = "{$locale->tr("hide_option_panel")}";  
+  var preview = false;
     
   {include file="$admintemplatepath/calendarstuff.template"}
+
+{literal} 
+
+function selectOperation( t )
+{
+	if( preview ) {	
+		document.editPost.op.value="previewPost";
+		window.open("", t, "scrollbars=yes,resizable=yes,toolbar=no" );
+		return true;
+	}
+	else {
+		document.editPost.op.value="updatePost";
+		document.editPost.target="";
+		document.editPost.action="admin.php";
+		return true;
+	}
+}
+{/literal}
  </script>
-  <form name="editPost" id="editPost" action="admin.php" method="post">
+  <form name="editPost" id="editPost" method="post" onSubmit="return selectOperation(this.target);" target="admin">   
    <fieldset class="inputField">
    <legend>{$locale->tr("editPost")}</legend>
 
@@ -162,8 +181,8 @@
 	</div>
 	</fieldset>
 	<div class="buttons">  
-      <input type="button" name="previewPost" value="{$locale->tr("preview")}" onclick="javascript:previewUpdatedPost()" />	
-      <input type="submit" name="updatePost" value="{$locale->tr("update")}"/>
+      <input type="submit" name="previewPost" value="{$locale->tr("preview")}" onClick="preview=true" />	
+      <input type="submit" name="updatePost" value="{$locale->tr("update")}" onClick="preview=false"/>
       <input type="hidden" name="op" value="updatePost"/>
       <input type="hidden" name="postId" id="postId" value="{$postId}"/>
 	</div>  	

Modified: plog/trunk/templates/admin/globalsettings_security.template
===================================================================
--- plog/trunk/templates/admin/globalsettings_security.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/admin/globalsettings_security.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -6,20 +6,6 @@
     <input class="radio" type="radio" id="config[security_pipeline_enabled]" name="config[security_pipeline_enabled]" value="1" {if $security_pipeline_enabled == 1 } checked="checked" {/if} />{$locale->tr("yes")}
     <input class="radio" type="radio" id="config[security_pipeline_enabled]" name="config[security_pipeline_enabled]" value="0" {if $security_pipeline_enabled == 0 } checked="checked" {/if} />{$locale->tr("no")}
    </div>
-   <!-- ip_address_filter_enabled -->
-   <div class="field">
-    <label for="config[ip_address_filter_enabled]">ip_address_filter_enabled</label>
-    <div class="formHelp">{$locale->tr("help_ip_address_filter_enabled")}</div>	
-    <input class="radio" type="radio" id="config[ip_address_filter_enabled]" name="config[ip_address_filter_enabled]" value="1" {if $ip_address_filter_enabled == 1 } checked="checked" {/if} />{$locale->tr("yes")}
-    <input class="radio" type="radio" id="config[ip_address_filter_enabled]" name="config[ip_address_filter_enabled]" value="0" {if $ip_address_filter_enabled == 0 } checked="checked" {/if} />{$locale->tr("no")}
-   </div>
-   <!-- content_filter_enabled -->
-   <div class="field">
-    <label for="config[content_filter_enabled]">content_filter_enabled</label>
-    <div class="formHelp">{$locale->tr("help_content_filter_enabled")}</div>	
-    <input class="radio" type="radio" id="config[content_filter_enabled]" name="config[content_filter_enabled]" value="1" {if $content_filter_enabled == 1 } checked="checked" {/if} />{$locale->tr("yes")}
-    <input class="radio" type="radio" id="config[content_filter_enabled]" name="config[content_filter_enabled]" value="0" {if $content_filter_enabled == 0 } checked="checked" {/if} />{$locale->tr("no")}
-   </div>
    <!-- maximum size of a comment -->
    <div class="field">
     <label for="config[maximum_comment_size]">maximum_comment_size</label>

Modified: plog/trunk/templates/admin/newpost.template
===================================================================
--- plog/trunk/templates/admin/newpost.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/admin/newpost.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -30,20 +30,39 @@
   var msgSaving = "{$locale->tr("saving_message")}";
   var msgShowOptionPanel = "{$locale->tr("show_option_panel")}";
   var msgHideOptionPanel = "{$locale->tr("hide_option_panel")}";
-  var msgAutoSaveMessage = '{$locale->tr("warning_autosave_message")}';
+  var msgAutoSaveMessage = '{$locale->tr("warning_autosave_message")|escape:javascript}';
   
   var todayDay = '{$today->getDay()}';
   var todayMonth = '{$today->getMonth()}';
-  var todayYear = '{$today->getYear()}';  
+  var todayYear = '{$today->getYear()}'; 
   
+  // this needs to be pre-initialized
+  var preview = false;
+  
   {include file="$admintemplatepath/calendarstuff.template"}
-  
- </script>
  
-  <form name="newPost" id="newPost" action="admin.php" method="post">
+{literal} 
+
+function selectOperation( t )
+{
+	if( preview ) {	
+		document.newPost.op.value="previewPost";
+		window.open("", t, "scrollbars=yes,resizable=yes,toolbar=no" );
+		return true;
+	}
+	else {
+		document.newPost.op.value="addPost";
+		document.newPost.target="";
+		document.newPost.action="admin.php";
+		return true;
+	}
+}
+{/literal}
+</script>
+ 
+  <form name="newPost" id="newPost" method="post" onSubmit="return selectOperation(this.target);" target="admin">   
    <fieldset class="inputField">
    <legend>{$locale->tr("newPost")}</legend>
-
    <div class="optionIcon">
      <a id="optionIconLink" href="#" title="{$locale->tr("hide_option_panel")}" onclick="switchOptionPanel()">{$locale->tr("hide_option_panel")}</a>
    </div> 
@@ -195,10 +214,10 @@
 		{if $browser->has_feature("xmlhttpreq")}
 		<input type="button" name="saveDraftAndContinue" value="{$locale->tr("save_draft_and_continue")}" onclick="javascript:saveDraftArticleAjax()" />
 		{/if}	
-		<input type="button" name="previewPost" value="{$locale->tr("preview")}" onclick="javascript:previewNewPost()" />
-		<input type="submit" name="addPost" value="{$locale->tr("add_post")}" />
+		<input type="submit" name="previewPost" value="{$locale->tr("preview")}" onClick="preview=true"/>
+		<input type="submit" name="addPost" value="{$locale->tr("add_post")}" onClick="preview=false" />
 		<input type="hidden" name="isDraft" value="" />
-		<input type="hidden" name="op" value="addPost"/>
+		<input type="hidden" name="op" value="addPost" />
 		<input type="hidden" name="postId" id="postId" value="{$postId}" />
     </div>
   </form>

Modified: plog/trunk/templates/admin/newresource.template
===================================================================
--- plog/trunk/templates/admin/newresource.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/admin/newresource.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -26,7 +26,6 @@
   
   <div class="field">  
     <label for="resourceDescription">{$locale->tr("description")}</label>
-	<span class="required">*</span>
 	<div class="formHelp">{$locale->tr("resource_description_help")}</div>
     <textarea name="resourceDescription" cols="60" rows="5" id="resourceDescription">{$resourceDescription}</textarea>
   </div>

Modified: plog/trunk/templates/summary/registerstep4.template
===================================================================
--- plog/trunk/templates/summary/registerstep4.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/summary/registerstep4.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -47,6 +47,7 @@
   </div>
 
    <input type="hidden" name="userName" value="{$userName}"/>
+   <input type="hidden" name="blogDomain" value="{$blogDomain}"/>
    <input type="hidden" name="userFullName" value="{$userFullName}"/>
    <input type="hidden" name="userPassword" value="{$userPassword}"/>
    <input type="hidden" name="userEmail" value="{$userEmail}"/>

Modified: plog/trunk/templates/wizard/checks.template
===================================================================
--- plog/trunk/templates/wizard/checks.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/wizard/checks.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -17,6 +17,12 @@
       <p class="wizardInfoText">Welcome to the configuration wizard of LifeType. These are some basic checks of your current
       system in order to ensure that LifeType can run properly.
       <br/><br/>
+      </p> 
+	  <img src="imgs/admin/icon_info-16.png" alt="Info" class="wizardInfoIcon" />
+	   <p class="wizardInfoText">
+	  <b>NOTE:</b>If you are upgraded from LifeType 1.0 to 1.1, there are some changes that need to be done
+	  to your data. This is a known issue in the upgrade process of LifeType 1.1 that affect blog resource
+	  quotas. In order to have this issue fixed, click <a href="?nextStep=Fix111">here</a> and let the browser window reload.</p>
      </div>
    {/if}
    

Modified: plog/trunk/templates/wizard/update1.template
===================================================================
--- plog/trunk/templates/wizard/update1.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/wizard/update1.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -15,7 +15,7 @@
   that they are correct and press "Next" to move to the next step. If they are not correct,
   please make the necessary changes in your configuration file before continuing.<br/><br/>
   The following step will consist of making the changes to the database structure, required by
-  some of the new features in 1.1.</p>  
+  some of the new features in 1.1.1.</p>
   </div>
 {/if}
     <div class="field">

Copied: plog/trunk/templates/wizard/update111.template (from rev 4274, plog/branches/lifetype-1.1.2/templates/wizard/update111.template)

Modified: plog/trunk/templates/wizard/update4.template
===================================================================
--- plog/trunk/templates/wizard/update4.template	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/templates/wizard/update4.template	2006-11-12 12:29:45 UTC (rev 4287)
@@ -12,7 +12,7 @@
     <img src="imgs/admin/icon_info-16.png" alt="Info" class="wizardInfoIcon" />
     <p class="wizardInfoText">
   Installation is complete. Congratulations, Your 1.0 installation has been successfully upgraded to 
-  version 1.1.
+  version 1.1.1.
     </p> 
    </div>
 {/if}

Modified: plog/trunk/tmp/.htaccess
===================================================================
--- plog/trunk/tmp/.htaccess	2006-11-12 12:10:56 UTC (rev 4286)
+++ plog/trunk/tmp/.htaccess	2006-11-12 12:29:45 UTC (rev 4287)
@@ -6,4 +6,4 @@
 <Files "*.gif">
  Order deny,allow
  Allow from all
-</Files>
\ No newline at end of file
+</Files>



More information about the pLog-svn mailing list