[pLog-svn] r3745 - in plog/trunk: class/action class/dao class/summary/action class/summary/view config install locale locale/unported locale/unsupport templates/admin templates/summary

oscar at devel.lifetype.net oscar at devel.lifetype.net
Wed Jul 19 21:16:30 GMT 2006


Author: oscar
Date: 2006-07-19 21:16:30 +0000 (Wed, 19 Jul 2006)
New Revision: 3745

Modified:
   plog/trunk/class/action/searchaction.class.php
   plog/trunk/class/dao/searchengine.class.php
   plog/trunk/class/summary/action/summaryrssaction.class.php
   plog/trunk/class/summary/action/summarysearchaction.class.php
   plog/trunk/class/summary/view/summarybloglistview.class.php
   plog/trunk/class/summary/view/summarypostlistview.class.php
   plog/trunk/class/summary/view/summaryuserlistview.class.php
   plog/trunk/config/logging.properties.php
   plog/trunk/config/userdata.properties.php
   plog/trunk/install/defaultconfig.properties.php
   plog/trunk/locale/locale_ca_ES.php
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/locale/locale_es_ES.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_de_DE.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_fr_FR.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/locale/unsupport/locale_zh_CN_gb2312.php
   plog/trunk/locale/unsupport/locale_zh_TW_big5.php
   plog/trunk/templates/admin/globalsettings_summary.template
   plog/trunk/templates/summary/resource.template
   plog/trunk/templates/summary/searchresults.template
Log:
Added support for paging of search results, both in the blog and in the summary. Somehow we completely forgot about this and I think it's necessary specially for summary.php, where there can be thousands of results for each search when searching in posts.

This required several changes in a few core classes including SearchEngine, as well as changes to action classes (SearchAction and SummarySearchAction) I also renamed the config parameter summary_blogs_per_page to summary_items_per_page since it is used in a few more places that just the list of blogs in summary.php. All classes, templates and locale files that referenced this parameter have also been updated.

Modified: plog/trunk/class/action/searchaction.class.php
===================================================================
--- plog/trunk/class/action/searchaction.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/action/searchaction.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -3,14 +3,13 @@
     /**
      * @package action
      */
-
-
     include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
     include_once( PLOG_CLASS_PATH."class/dao/searchengine.class.php" );
 	include_once( PLOG_CLASS_PATH."class/view/blogtemplatedview.class.php" );
     include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
     include_once( PLOG_CLASS_PATH."class/net/http/httpvars.class.php" );
 	include_once( PLOG_CLASS_PATH."class/view/errorview.class.php" );
+	include_once( PLOG_CLASS_PATH."class/data/pager/pager.class.php" );
 
 	define( "VIEW_SEARCH_TEMPLATE", "searchresults" );
 
@@ -30,7 +29,8 @@
         function perform()
         {
 			// get the search terms that have already been validated...
-            $this->_searchTerms = $this->_request->getValue( "searchTerms" );		
+			$tf = new Textfilter();			
+            $this->_searchTerms = $tf->filterAllHTML( $this->_request->getValue( "searchTerms" ));
 		
 			// check if the search feature is disabled in this site...
 			$config =& Config::getConfig();
@@ -47,9 +47,23 @@
 				return true;
 			}
 			
+			// calculate how many results per page
+			$blogSettings = $this->_blogInfo->getSettings();
+            $itemsPerPage = $blogSettings->getValue( 'show_posts_max' );
+			
+			// get the array with the results
             $searchEngine = new SearchEngine();
-            $searchResults = $searchEngine->search( $this->_blogInfo->getId(), $this->_searchTerms );
-			
+            $searchResults = $searchEngine->search( $this->_blogInfo->getId(), 
+                                                    $this->_searchTerms,
+													POST_STATUS_PUBLISHED,
+													$this->_page,             // page
+													$itemsPerPage   // items per page
+												   );
+			// and the total number of items
+			$numSearchResults = $searchEngine->getNumSearchResults( $this->_blogInfo->getId(),
+			                                                        $this->_searchTerms,
+			                                                        POST_STATUS_PUBLISHED );
+																		
             // MARKWU: I add the searchterms variable for smarty/plog template
             $searchTerms = $searchEngine->getAdaptSearchTerms( $this->_searchTerms );			
             
@@ -62,20 +76,23 @@
             }
             
             // if only one search result, we can see it straight away 
-            if( count($searchResults) == 1 ) {
-                // we have to refill the $_REQUEST array, since the next action
-                // is going to need some of the parameters
+            if( count($searchResults) == 1 && $numSearchResults == 1 ) {
+				// only one search result, we can redirect the view via the URL,
+				// so that the right permalink appears in the address bar
                 $request = HttpVars::getRequest();
                 $searchResult = array_pop( $searchResults );
                 $article = $searchResult->getResult();
-                $request["articleId"] = $article->getId();
-                $request["blogId"] = $this->_blogInfo->getId();
-                HttpVars::setRequest( $request );
-                
-                // since there is only one article, we can use the ViewArticleAction action
-                // to display that article, instead of copy-pasting the code and doing it here.
-                // You just have to love MVC and OOP :)
-                return Controller::setForwardAction( "ViewArticle" );
+				$url = $this->_blogInfo->getBlogRequestGenerator();
+				// we need to deactivate the XHTML mode of the request generator or else
+				// we'll get things escaped twice!
+				$url->setXHTML( false );
+				$permalink = $url->postPermalink( $article );
+				
+				// load the view and redirect the flow
+				include_once( PLOG_CLASS_PATH."class/view/redirectview.class.php" );
+				$this->_view = new RedirectView( $permalink );
+				
+				return( true );
             }
             
             // or else, show a list with all the posts that match the requested
@@ -85,9 +102,19 @@
             $this->_view->setValue( "searchterms", $searchTerms );
             // MARKWU:
 			$config =& Config::getConfig();
-            $urlmode   = $config->getValue( "request_format_mode" );			
+            $urlmode = $config->getValue( "request_format_mode" );			
             $this->_view->setValue( "urlmode", $urlmode );
 
+			// build the pager
+	        $url = $this->_blogInfo->getBlogRequestGenerator();
+			$basePageUrl = $url->getIndexUrl()."?op=Search&searchTerms=".$this->_searchTerms."&page=";
+			$pager = new Pager( $basePageUrl,            // url to the next page
+	                            $this->_page,            // current page
+	                            $numSearchResults,            // total number of search results
+	                            $itemsPerPage );
+	
+	        $this->_view->setValue( 'pager', $pager );
+
             $this->setCommonData();
             
             return true;

Modified: plog/trunk/class/dao/searchengine.class.php
===================================================================
--- plog/trunk/class/dao/searchengine.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/dao/searchengine.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -67,191 +67,215 @@
 		/**
 		 * Searches through articles, custom fields and comments only if enabled
 		 *
-		 * @param blogId
-		 * @param query
-		 * @param minRelevance
-		 * @param maxResults
-		 * @param status
-		 * @param userId
-		 * @param date
+		 * @param blogId The blog id where we're searching, or -1 if we're doing a global search
+		 * @param searchTerms A string containing the search terms
+		 * @param status In case we're looking for a particular status
+		 * @param page Page of results to return
+		 * @param itemsPerPage Number of items per page
 		 * @return
 		 * @see searchArticles
 		 * @see searchCustomFields
 		 * @see searchComments
 		 */
-		function search( $blogId, $searchTerms, $status = POST_STATUS_PUBLISHED )
+		function search( $blogId, $searchTerms, $status = POST_STATUS_PUBLISHED, $page = -1, $itemsPerPage = -1 )
+		{			
+			$prefix = $this->getPrefix();
+			$query = "SELECT DISTINCT a.id AS id FROM {$prefix}articles a ".
+			         "WHERE ".$this->getArticleSearchConditions( $searchTerms );
+			
+			if( $blogId != -1 )
+				$query .= " AND a.blog_id = ".Db::qstr( $blogId );
+				
+			if( $status != -1 ) 
+				$query .= " AND a.status = ".$status;
+				
+			$query .= " ORDER BY a.date DESC";
+				
+			$result = $this->Execute( $query, $page, $itemsPerPage );
+			
+			include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
+			$articles = new Articles();
+			
+			if( !$result )
+				return( Array());
+				
+			$results = Array();
+			while( $row = $result->FetchRow()) {
+				$results[] = new SearchResult( $articles->getArticle( $row["id"] ), SEARCH_RESULT_ARTICLE, $searchTerms );
+			}
+			
+			return( $results );
+		}
+		
+		/**
+		 * Returns the number of search results, but this method only applies to article
+		 * searches. If you're interested in getting the number of total matching blogs or
+		 * resources, use getNumSiteSearchResults
+		 *
+		 * @param blogId
+		 * @param searchTerms
+		 * @param status
+		 * @return
+		 */
+		function getNumSearchResults( $blogId, $searchTerms, $status )
 		{
-			$matchingArticles = $this->searchBlogArticles( $blogId, $searchTerms, $status );
-			$matchingComments = $this->searchBlogComments( $blogId, $searchTerms, $status );
-			$matchingFields   = $this->searchBlogCustomFields( $blogId, $searchTerms, $status );
+			$prefix = $this->getPrefix();
+			$query = $this->getArticleSearchConditions( $searchTerms );
 			
-			$results = array_merge( $matchingArticles, $matchingComments, $matchingFields ); 
+			if( $blogId != -1 )
+				$query .= " AND a.blog_id = ".Db::qstr( $blogId );
+				
+			if( $status != -1 )
+				$query .= " AND a.status = ".$status;
+				
+			$total = $this->getNumItems( "{$prefix}articles a", $query, "a.id" );			
+			return( $total );
+		}
+		
+		/**
+		 * @private
+		 * Returns a string that can be used as part of WHERE condition in an SQL query and that will return
+		 * all the articles in any blog that match the given search terms. It works by building 3
+		 * different queries, one to find all the matching articles, one to find all the matching custom fields
+		 * and another one to find all the matching comments and then puts the results together. 
+		 */
+		function getArticleSearchConditions( $searchTerms )
+		{
+			include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
+			include_once( PLOG_CLASS_PATH."class/dao/articlecomments.class.php" );
+			include_once( PLOG_CLASS_PATH."class/dao/customfields/customfieldsvalues.class.php" );
 			
-			//
-			// remove duplicated (or triplicated!) articles
-			//
-			$results = $this->_filterResults( $results );
+			$prefix = $this->getPrefix();
 			
-			return $results;
+			// get the search conditions for articles
+			$articles = new Articles();
+			$articlesConds = $articles->getSearchConditions( $searchTerms );
+			
+			// now for comments
+			$comments = new ArticleComments();
+			$tmpCond = $comments->getSearchConditions( $searchTerms );
+			$query = "SELECT c.article_id AS article_id FROM {$prefix}articles_comments c 
+			          WHERE $tmpCond AND c.status = ".COMMENT_STATUS_NONSPAM;
+			$result = $this->Execute( $query );			
+				
+			$ids = Array();
+			while( $row = $result->FetchRow()) {
+				$ids[] = $row['article_id'];
+			}
+			$result->Close();
+			if ( !empty( $ids ) )
+				$commentsConds = 'a.id IN ('.implode( ', ', $ids ).')';
+			else
+				$commentsConds = 'a.id = -1';							
+			
+			// and finally for custom fields
+			$fields = new CustomFieldsValues();
+			$tmpCond = $fields->getSearchConditions( $searchTerms );
+			$query = "SELECT v.article_id AS article_id FROM {$prefix}custom_fields_values v WHERE $tmpCond";
+			$result = $this->Execute( $query );			
+				
+			$ids = Array();
+			while( $row = $result->FetchRow()) {
+				$ids[] = $row['article_id'];
+			}
+			$result->Close();
+			if ( !empty( $ids ) )
+				$fieldsConds = 'a.id IN ('.implode( ', ', $ids ).')';
+			else
+				$fieldsConds = 'a.id = -1';
+			
+			// and try to build a combined query
+			$query = "(({$articlesConds}) OR ({$commentsConds}) OR ({$fieldsConds}))";
+			
+			return( $query );
 		}
 		
 		/**
 		 * performs a site-wide search
-		 * @param query
-		 * @param minRelevance
-		 * @param maxResults
-		 * @param status
-		 * @param userId
-		 * @param date
+		 * @param searchTerms An string with the terms for the search
+		 * @param searchType One of the following: SEARCH_ARTICLE, SEARCH_BLOG or SEARCH_GALLERYRESOURCE
+		 * @param status The status. Each item has its own constants for status codes, so this value will depend
+		 * on what we're looking for.
+		 * @param page The page of results to get
+		 * @param itemsPerPage Number of items per page
 		 * @return
 		 * @see search
 		 * @see searchArticles
 		 * @see searchCustomFields
 		 * @see searchComments
 		 */
-		function siteSearch( $searchTerms, $searchType, $status = -1)
+		function siteSearch( $searchTerms, $searchType, $status = -1, $page = -1, $itemsPerPage = DEFAULT_ITEMS_PER_PAGE )
 		{
 			switch ( $searchType )
 			{
-				case SEARCH_ARTICLE:
-					if ( $status == -1 ) 
-						$status = POST_STATUS_PUBLISHED;
-					$result = $this->search( -1, $searchTerms, $status );
-				break;
 				case SEARCH_BLOG:
 					if ( $status == -1 ) 
 						$status = BLOG_STATUS_ACTIVE;			
-					$result = $this->searchBlogs( $searchTerms, $status );
+					$result = $this->searchBlogs( $searchTerms, $status, $page, $itemsPerPage );
 				break;
 				case SEARCH_GALLERYRESOURCE:
-					$result = $this->searchGalleryResources( '_all_', $searchTerms );
+					$result = $this->searchGalleryResources( '_all_', $searchTerms, $page, $itemsPerPage );
 				break;
 				default:
+					// search articles and any other value of the $searchType parameter
 					if ( $status == -1 ) 
 						$status = POST_STATUS_PUBLISHED;
-					$result = $this->search( -1, $searchTerms, $status );
+					$result = $this->search( -1, $searchTerms, $status, $page, $itemsPerPage );
 			}
 			return $result;				
 		}
-
-        /**
-         * Returns an array of Article objects with the articles that matched the search terms
-         *
-         * @param blogId The id of the blog whose articles we would like to search
-         * @param query The query string we'd like to use.
-         * @param minRelevance Minimum value of the relevance field, to get rid of less meaningful
-         * results
-         * @param maxResults Maximum number of results that will be returned.
-		 * @param status
-		 * @param userId
-		 * @param date
-         * @return An array of Article objects
-         */		
-		function searchBlogArticles( $blogId, $searchTerms, $status = POST_STATUS_PUBLISHED )
+		
+		/**
+		 * Returns the total number of matching items, be it articles, blogs or files.
+		 *
+		 * @param searchTerms An string with the terms for the search
+		 * @param searchType One of the following: SEARCH_ARTICLE, SEARCH_BLOG or SEARCH_GALLERYRESOURCE
+		 * @param status The status. Each item has its own constants for status codes, so this value will depend
+		 * on what we're looking for.
+		 * @return The number of matching items for the given search terms
+		 */
+		function getNumSiteSearchResults( $searchTerms, $searchType, $status = -1 ) 
 		{
-			include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
-			$articles = new Articles();
-			$articlesResult = $articles->getBlogArticles( $blogId,   // blog id
-			                                    -1,    // no date
-												-1, // no amount limit
-												0,   // no category id
-												$status,  // status field
-												0,   // user id, if any
-												0,   // no max date
-												$searchTerms,   // search terms
-												-1 );    // no page
-												
-			// wrap this data in as many SearchResult objects
-			$results = Array();
-			foreach( $articlesResult as $article ) {
-				$results[] = new SearchResult( $article, SEARCH_RESULT_ARTICLE, $searchTerms );
+			if( $searchType == SEARCH_ARTICLE ) {
+				if( $status == -1 ) 
+					$status = POST_STATUS_PUBLISHED;
+				
+				$result = $this->getNumSearchResults( -1, $searchTerms, $status );
 			}
-			
-			return( $results );
-		}
+			elseif( $searchType == SEARCH_BLOG ) {
+				if ( $status == -1 ) 
+					$status = BLOG_STATUS_ACTIVE;							
 				
-        /**
-         * Returns an array of SearchResult objects containing information about the search, such as the
-         * relevance (not very relevant, though :)), and the ArticleObject
-         *
-         * @param blogId The id of the blog whose articles we would like to search
-         * @param query The query string we'd like to use.
-         * @param minRelevance Minimum value of the relevance field, to get rid of less meaningful
-         * results
-         * @param maxResults Maximum number of results that will be returned.
-         * @return An array of SearchResult objects
-         */
-		 function searchBlogCustomFields( $blogId, $searchTerms, $status = POST_STATUS_PUBLISHED )
-         { 
-            $prefix      = $this->getPrefix();
-			$query       = $this->adaptSearchString( $searchTerms );
-
-            $searchQuery = "SELECT a.*
-							 FROM {$prefix}custom_fields_values v
-                                LEFT JOIN {$prefix}articles a ON v.article_id = a.id
-                                LEFT JOIN {$prefix}articles_text t ON a.id=t.article_id 
-                                LEFT JOIN {$prefix}blogs b ON a.blog_id=b.id
-							 WHERE (v.field_value LIKE '%{$query}%') AND a.status = $status
-                                AND b.show_in_summary=1 AND b.status=".BLOG_STATUS_ACTIVE;
-
-            if( $blogId > 0 ) 
-				$searchQuery .= " AND a.blog_id = '".Db::qstr($blogId)."' ";
-			
-			$result = $this->Execute( $searchQuery );
-			if( !$result )
-				return Array();
+				include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
 				
-			include_once( PLOG_CLASS_PATH."class/dao/articles.class.php" );
-			$articles = new Articles();
-			$results = Array();
-			while( $row = $result->FetchRow()) {				
-				$results[] = new SearchResult( $articles->mapRow( $row ), SEARCH_RESULT_CUSTOM_FIELD, $searchTerms );
+				$blogs = new Blogs();
+				$result = $blogs->getNumBlogs( $status, ALL_BLOG_CATEGORIES, $searchTerms );
 			}
-            $result->Close();
-
-			return( $results );
-        }
-
-        /**
-         * Returns an array of SearchResult objects containing information about the search, such as the
-         * relevance (not very relevant, though :)), and the ArticleObject
-         *
-         * @param blogId The id of the blog whose articles we would like to search
-         * @param query The query string we'd like to use.
-         * @return An array of SearchResult objects
-         */
-        function searchBlogComments( $blogId, $searchTerms, $postStatus = POST_STATUS_PUBLISHED )
-        {
-			include_once( PLOG_CLASS_PATH."class/dao/articlecomments.class.php" );			
-			$comments = new ArticleComments();
-			$commentsResult = $comments->getBlogComments( $blogId,    // blog id
-			                                              COMMENT_ORDER_NEWEST_FIRST,
-										       		      COMMENT_STATUS_NONSPAM,
-												          $searchTerms );												
-														  
-			// map the results to a SearchResult object
-			//
-			// :TODO:
-			// perhaps we could optimize this a bit...?
-			//
-			$results = Array();
-			foreach( $commentsResult as $comment ) {
-				$article = $comment->getArticle();
-				if( $article->getStatus() == $postStatus )
-					$results[] = new SearchResult( $article, SEARCH_RESULT_COMMENT, $searchTerms );
+			else {
+				include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
+				
+				$resources = new GalleryResources();
+				$result = $resources->getNumUserResources( -1,  // owner id
+														   GALLERY_NO_ALBUM,   // any album
+														   GALLERY_RESOURCE_ANY,   // of any kind
+														   $searchTerms   // search terms
+														  );													
 			}
 			
-			return( $results );
-        }
+			return( $result );
+		}
 
         /**
          * Returns an array of SearchResult objects containing information about the search, such as the
          * relevance (not very relevant, though :)), and the BlogObject
          *
-         * @param searchTerms The query string we'd like to use.
+		 * @param searchTerms An string with the terms for the search
+		 * @param blogStatus		
+		 * @param page The page of results to get
+		 * @param itemsPerPage Number of items per page
          * @return An array of SearchResult objects
          */
-        function searchBlogs( $searchTerms, $blogStatus = BLOG_STATUS_ACTIVE )
+        function searchBlogs( $searchTerms, $blogStatus = BLOG_STATUS_ACTIVE, $page = -1, $itemsPerPage = DEFAULT_ITEMS_PER_PAGE )
         {
 			include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
 	
@@ -259,8 +283,8 @@
 			$blogsResult = $blogs->getAllBlogs( $blogStatus,  
 			                                    ALL_BLOG_CATEGORIES,
 			                                    $searchTerms,
-                              					-1, 
-                               					DEFAULT_ITEMS_PER_PAGE );											
+                              					$page, 
+                               					$itemsPerPage );											
 														  
 			$results = Array();
 			foreach( $blogsResult as $blog ) {
@@ -271,13 +295,16 @@
         }
 
         /**
-         * Returns an array of SearchResult objects containing information about the search, such as the
-         * relevance (not very relevant, though :)), and the GalleryResourceObject
+         * Returns an array of SearchResult objects containing information about the searchand the GalleryResource object
          *
-         * @param searchTerms The query string we'd like to use.
+		 * @param ownerId the id of the blog/user whose pictures we're searching, or "-1" or "_all_" to search through
+		 * all of them.
+		 * @param searchTerms An string with the terms for the search
+		 * @param page The page of results to get
+		 * @param itemsPerPage Number of items per page		
          * @return An array of SearchResult objects
          */
-        function searchGalleryResources( $ownerId, $searchTerms )
+        function searchGalleryResources( $ownerId, $searchTerms, $page = -1, $itemsPerPage = DEFAULT_ITEMS_PER_PAGE )
         {
 			include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
 	
@@ -286,8 +313,8 @@
                                    										   GALLERY_NO_ALBUM, 
 									                                   	   GALLERY_RESOURCE_ANY,
 																	   	   $searchTerms,
-									                                   	   $page = -1, 
-									                                   	   DEFAULT_ITEMS_PER_PAGE );											
+									                                   	   $page, 
+									                                   	   $itemsPerPage );											
 														  
 			$results = Array();
 			foreach( $galleryResourcesResult as $galleryResource ) {
@@ -296,29 +323,5 @@
 			
 			return( $results );
         }               
-		
-		/**
-		 * Filters duplicated or triplicated results.
-		 *
-		 * @param results
-		 * @return An array with duplicated items listed more than once
-		 * @private
-		 * @see search
-		 */
-		function _filterResults( $results )
-		{
-			$alreadySeen = Array();
-			$result = Array();
-			
-			foreach( $results as $item ) {
-				$article = $item->getResult();
-				if( !array_key_exists( $article->getId(), $alreadySeen ) || $alreadySeen[$article->getId()] == false ) {
-					array_push( $result, $item );
-					$alreadySeen[$article->getId()] = true;
-				}
-			}
-			
-			return $result;
-		}
     }
-?>
+?>
\ No newline at end of file

Modified: plog/trunk/class/summary/action/summaryrssaction.class.php
===================================================================
--- plog/trunk/class/summary/action/summaryrssaction.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/summary/action/summaryrssaction.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -89,9 +89,9 @@
      				include_once( PLOG_CLASS_PATH."class/dao/globalarticlecategories.class.php" );
             		include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
             		
-            		// get the summary_blogs_per_page from config
+            		// get the summary_items_per_page from config
             		$config =& Config::getConfig();
-            		$summaryItemsPerPage = $config->getValue( "summary_blogs_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
+            		$summaryItemsPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
 					
 					$categories = new GlobalArticleCategories();
 					$currentGlobalArticleCategory = $categories->getGlobalArticleCategory( $globalArticleCategoryId );
@@ -150,9 +150,9 @@
      				include_once( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
             		include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
             		
-            		// get the summary_blogs_per_page from config
+            		// get the summary_items_per_page from config
             		$config =& Config::getConfig();
-            		$summaryItemsPerPage = $config->getValue( "summary_blogs_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
+            		$summaryItemsPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
 					
 					$categories = new BlogCategories();
 					$currentBlogCategory = $categories->getBlogCategory( $blogCategoryId );

Modified: plog/trunk/class/summary/action/summarysearchaction.class.php
===================================================================
--- plog/trunk/class/summary/action/summarysearchaction.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/summary/action/summarysearchaction.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -2,7 +2,8 @@
 
 	include_once( PLOG_CLASS_PATH."class/summary/action/summaryaction.class.php" );
 	include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
-	include_once( PLOG_CLASS_PATH."class/dao/searchengine.class.php" );
+	include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+	include_once( PLOG_CLASS_PATH."class/data/textfilter.class.php" );
 
      class SummarySearchAction extends SummaryAction
      {
@@ -11,34 +12,47 @@
 
         function SummarySearchAction( $actionInfo, $request )
         {
-            $this->SummaryAction( $actionInfo, $request );
+            $this->SummaryAction( $actionInfo, $request );			
+
+			// validation stuff
+			$this->registerFieldValidator( "searchTerms", new StringValidator());
+			$this->registerFieldValidator( "searchType", new IntegerValidator());
+			
+			$view = new SummaryView( "summaryerror" );
+			$view->setErrorMessage( $this->_locale->tr("error_incorrect_search_terms" ));
+			$this->setValidationErrorView( $view );
         }
 		
-		function validate()
-		{
-			$this->_searchTerms = $this->_request->getValue( "searchTerms" );
-			$this->_searchType  = $this->_request->getValue( "searchType" );
-		
-			// if the search terms are not correct, let's return an error message
-			$val = new StringValidator();
-			if( !$val->validate( $this->_searchTerms )) {
-				$this->_view = new SummaryView( "summaryerror" );
-				$this->_view->setErrorMessage( $this->_locale->tr("error_incorrect_search_terms" ));
-				return false;
-			}
-			
-			return true;
-		}
-
         /**
          * carry out the search and execute it
          */
         function perform()
         {
+			include_once( PLOG_CLASS_PATH."class/dao/searchengine.class.php" );	
+			include_once( PLOG_CLASS_PATH."class/data/pager/pager.class.php" );
+			include_once( PLOG_CLASS_PATH."class/data/timestamp.class.php" );
+	
+			$tf = new Textfilter();
+			$this->_searchTerms = $tf->filterAllHTML( $this->_request->getValue( "searchTerms" ));
+			$this->_searchType  = $this->_request->getValue( "searchType" );	
+	
             $search = new SearchEngine();
+
+			// number of items per page
+			$config =& Config::getConfig();
+			$itemsPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
 			
 			// execute the search and check if there is any result
-			$results = $search->siteSearch( $this->_searchTerms, $this->_searchType );
+			$results = $search->siteSearch( $this->_searchTerms, 
+				                            $this->_searchType, 
+				                           -1, 
+				                           View::getCurrentPageFromRequest(),
+				                           $itemsPerPage );
+				
+			// get the total number of results, for the pager
+			$numResults = $search->getNumSiteSearchResults( $this->_searchTerms, $this->_searchType );
+
+			// no results
 			if( !$results || empty($results)) {
 				// if not, then quit
 				$this->_view = new SummaryView( "summaryerror" );
@@ -51,6 +65,14 @@
 			$this->_view->setValue( "searchresults", $results );
 			$this->_view->setValue( "searchtype", $this->_searchType );
 			
+			// finally, set up the pager and pass it to the view
+			$pager = new Pager( "?op=summarySearch&searchTerms=".$this->_searchTerms."&searchType=".$this->_searchType."&page=",
+			                    View::getCurrentPageFromRequest(),
+			                    $numResults,
+			                    $itemsPerPage 
+				              );
+			$this->_view->setValue( "pager", $pager );
+			
 			$this->setCommonData();			
 			
 			return true;

Modified: plog/trunk/class/summary/view/summarybloglistview.class.php
===================================================================
--- plog/trunk/class/summary/view/summarybloglistview.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/summary/view/summarybloglistview.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -23,7 +23,7 @@
 			
 			// items per page
             $config =& Config::getConfig();
-			$this->_numBlogsPerPage = $config->getValue( "summary_blogs_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
+			$this->_numBlogsPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
 		}
 		
 		function render()

Modified: plog/trunk/class/summary/view/summarypostlistview.class.php
===================================================================
--- plog/trunk/class/summary/view/summarypostlistview.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/summary/view/summarypostlistview.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -23,7 +23,7 @@
 			
             // items per page
             $config =& Config::getConfig();
-			$this->_numArticlesPerPage = $config->getValue( "summary_blogs_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
+			$this->_numArticlesPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );
 		}
 		
 		function render()

Modified: plog/trunk/class/summary/view/summaryuserlistview.class.php
===================================================================
--- plog/trunk/class/summary/view/summaryuserlistview.class.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/class/summary/view/summaryuserlistview.class.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -33,7 +33,7 @@
 			
 			// items per page
             $config =& Config::getConfig();
-			$this->_numUsersPerPage = $config->getValue( "summary_blogs_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );			
+			$this->_numUsersPerPage = $config->getValue( "summary_items_per_page", SUMMARY_DEFAULT_ITEMS_PER_PAGE );			
 			
 			// get the data itself
 			$users = new Users();

Modified: plog/trunk/config/logging.properties.php
===================================================================
--- plog/trunk/config/logging.properties.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/config/logging.properties.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -7,7 +7,7 @@
 $config["default"] = Array( 
     "layout"   => "%d %N - [%f:%l (%c:%F)] %m%n", 
     "appender" => "file",
-	"file"     => "tmp/plog.log",
+	"file"     => "/Users/oscar/trunk/tmp/plog.log",
     "prio"     => "debug"
   );
 
@@ -16,7 +16,7 @@
 $config["debug"] = Array( 
     "layout"   => "%d %N - [%f:%l (%c:%F)] %m%n", 
     "appender" => "file",
-	"file"     => "tmp/debug.log",
+	"file"     => "/Users/oscar/trunk/tmp/debug.log",
     "prio"     => "info"  
   );
 #
@@ -27,7 +27,7 @@
 $config["sqlerr"] = Array( 
     "layout" => "%S%n %d %N - %m%n", 
     "appender" => "file",
-	"file" => "tmp/sql_error.log",
+	"file" => "/Users/oscar/trunk/tmp/sql_error.log",
     "prio" => "error"
   );
   

Modified: plog/trunk/config/userdata.properties.php
===================================================================
--- plog/trunk/config/userdata.properties.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/config/userdata.properties.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -44,4 +44,4 @@
   "blogtitle_postfix" => "'s Weblog"
 );*/
 
-?>
\ No newline at end of file
+?>

Modified: plog/trunk/install/defaultconfig.properties.php
===================================================================
--- plog/trunk/install/defaultconfig.properties.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/install/defaultconfig.properties.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -97,7 +97,7 @@
 $Inserts['send_xmlrpc_pings_enabled_by_default'] 			= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('send_xmlrpc_pings_enabled_by_default', '1', 1);";
 $Inserts['forbidden_usernames'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('forbidden_usernames', 'admin www blog ftp wiki forums', 3);";
 $Inserts['force_registration_confirmation'] 				= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('force_registration_confirmation', '0', 1);";
-$Inserts['summary_blogs_per_page'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('summary_blogs_per_page', '25', 3);";
+$Inserts['summary_items_per_page'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('summary_items_per_page', '25', 3);";
 $Inserts['subdomains_base_url'] 							= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('subdomains_base_url', '', 3);";
 $Inserts['autosave_new_drafts_time_millis'] 				= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('autosave_new_drafts_time_millis', '300000', 3);";
 $Inserts['save_drafts_via_xmlhttprequest_enabled'] 			= "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES ('save_drafts_via_xmlhttprequest_enabled', '1', 1);";

Modified: plog/trunk/locale/locale_ca_ES.php
===================================================================
--- plog/trunk/locale/locale_ca_ES.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_ca_ES.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -701,7 +701,7 @@
 $messages['help_session_save_path'] = 'Fes servir aquest paràmetre per canviar la carpeta on LifeType desa les dades de sessions, a través de la funció de PHP session_save_path(). Assegura\'t que el servidor té permisos d\'escriptura a la carpeta. Deixa-ho en blanc per fer servir la configuració de PHP per defecte';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Número d\'elements que es mostraran a la portada del servei de blocs. Aquest paràmetre controla totes les llistes (Articles recents, Blocs més actius, etc.)';
-$messages['help_summary_blogs_per_page'] = 'Número de blocs per pàgina a la llista de blocs';
+$messages['help_summary_items_per_page'] = 'Número de blocs per pàgina a la llista de blocs';
 $messages['help_forbidden_usernames'] = 'Llista de noms d\'usuaris que no es poden registrar';
 $messages['help_force_one_blog_per_email_account'] = 'Restringir a només un bloc per correu electrònic';
 $messages['help_summary_show_agreement'] = 'Mostra un text de termes i condicions d\'ús i fes que els usuaris l\'acceptin per poder-se registrar';
@@ -1048,5 +1048,5 @@
 $messages['posts'] = 'Articles';
 $messages['blogs'] = 'Blocs';
 $messages['resources'] = 'Àlbums';
-$messages['upload_in_progress'] = 'Enviant dades, esperi si us plau...';
+
 ?>
\ No newline at end of file

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_en_UK.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -714,7 +714,7 @@
 $messages['help_session_save_path'] = 'Please use this setting to change the folder where LifeType stores its session data, via the PHP function session_save_path() Please make sure that the folder is writable by the web server. Leave empty to use PHP\'s default session folder [Default = (empty)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Number of items that will be shown in the summary page. This setting control all lists in the summary page (recent articles, most active blogs, etc) [Default = 10]';
-$messages['help_summary_blogs_per_page'] = 'Number of blogs per page in the "Blogs List" section [Default = 25]';
+$messages['help_summary_items_per_page'] = 'Number of blogs per page in the "Blogs List" section [Default = 25]';
 $messages['help_forbidden_usernames'] = 'List of usernames separated by a blank space that are not allowed to be registered [Default = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Restrict to only one blog per email account [Default = No]';
 $messages['help_summary_show_agreement'] = 'Show and an agreement text and make users accept it before proceeding to the registration process [Default = Yes]';

Modified: plog/trunk/locale/locale_es_ES.php
===================================================================
--- plog/trunk/locale/locale_es_ES.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_es_ES.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -707,7 +707,7 @@
 $messages['help_session_save_path'] = 'Carpeta donde el LifeType guarda sus sesiones, mediante la función session_save_path() del PHP. Deje este campo vació para usar el valor por defecto del PHP. Si usa otra carpeta que no sea la por defecto, asegúrese de que puede ser escrita por el usuario ejecutando el servidor de web [Valor por defecto = (vacío)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Número de artículos que se mostrarán en el portal. Este parámetro controla todas las listas del portal (artículos más recientes, bitácoras más activas, etc) [Valor por defecto = 10]';
-$messages['help_summary_blogs_per_page'] = 'Número de bitácoras por página en la sección "Bitácoras" del portal [Valor por defecto = 25]';
+$messages['help_summary_items_per_page'] = 'Número de bitácoras por página en la sección "Bitácoras" del portal [Valor por defecto = 25]';
 $messages['help_forbidden_usernames'] = 'Lista de nombres de usuario que no se pueden registrar [Valor por defecto = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'No permitir más de una bitácora por dirección de correo [Valor por defecto = No]';
 $messages['help_summary_show_agreement'] = 'Mostrar un texto/licencia con el cual los usuarios tienen que estar de acuerdo antes de continuar con el proceso de registro [Valor por defecto = Sí]';
@@ -1051,5 +1051,5 @@
 $messages['posts'] = 'Artículos';
 $messages['blogs'] = 'Bitácoras';
 $messages['resources'] = 'Ficheros';
-$messages['upload_in_progress'] = 'Enviando datos, espere por favor...';
+
 ?>
\ No newline at end of file

Modified: plog/trunk/locale/locale_ko_KR.php
===================================================================
--- plog/trunk/locale/locale_ko_KR.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_ko_KR.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -716,7 +716,7 @@
 $messages['help_session_save_path'] = 'LifeType이 PHP의 session_save_path()함수를 통해 세션을 저장할 디렉토리를 바꿀때 이 기능을 사용합니다. 지정된 디렉토리는 웹서버가 쓸 수 있어야 합니다. PHP의 기본값을 사용할 경우에는 비워두십시오. [기본 = (비움)]';
 // summary settings
 $messages['help_summary_page_show_max'] = '요약 페이지에서 보일 항목의 숫자를 지정합니다.이 값은 요약페이지의 모든 항목에 동일하게 적용됩니다(최근 글, 가장 활발한 블로그 등등) [기본 = 10]';
-$messages['help_summary_blogs_per_page'] = '"블로그 리스트"에서 보여줄 블로그의 숫자 [기본 = 25]';
+$messages['help_summary_items_per_page'] = '"블로그 리스트"에서 보여줄 블로그의 숫자 [기본 = 25]';
 $messages['help_forbidden_usernames'] = '사용할 수 없는(금지할) 아이디를 스페이스로 구분해서 설정하십시오 [기본 = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = '이메일 주소 하나당 하나의 블로그만 가질 수 있게 합니다 [기본 = 아니오]';
 $messages['help_summary_show_agreement'] = '가입화면에서 약관을 보여주고 동의할 경우에만 가입을 진행합니다 [기본 = 예]';

Modified: plog/trunk/locale/locale_zh_CN.php
===================================================================
--- plog/trunk/locale/locale_zh_CN.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_zh_CN.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -717,7 +717,7 @@
 $messages['help_session_save_path'] = '使用PHP的session_save_path()函数,來更改LifeType存放session的文件夹。请确认该文件夹被HTTP服务程序(如APACHE)拥有写权限。如果您要使用PHP预设的session存放路径,设定为空白即可。';
 // summary settings
 $messages['help_summary_page_show_max'] = '在汇总(SUMMARY)页面中要显示多少项目。';
-$messages['help_summary_blogs_per_page'] = '汇总的博客列表中每页显示的博客数';
+$messages['help_summary_items_per_page'] = '汇总的博客列表中每页显示的博客数';
 $messages['help_forbidden_usernames'] = '禁止注册的用户名列表';
 $messages['help_force_one_blog_per_email_account'] = '每个电子邮件地址只限制注册一个博客';
 $messages['help_summary_show_agreement'] = '是否在注册中显示协定文本让用户确认';

Modified: plog/trunk/locale/locale_zh_TW.php
===================================================================
--- plog/trunk/locale/locale_zh_TW.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/locale_zh_TW.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -714,7 +714,7 @@
 $messages['help_session_save_path'] = '此設定將使用PHP的session_save_path()函數,來更改LifeType存放session的資料夾。請確定該資料夾可以透過網站伺服器進行寫入動作。如果你要使用PHP預設的session存放路徑,請將此設定空白。';
 // summary settings
 $messages['help_summary_page_show_max'] = '在摘要頁面中要顯示多少項目。此選項控制在摘要頁面中列出的所有項目。(包括最新文章數目、最活躍網誌等)';
-$messages['help_summary_blogs_per_page'] = '在[網誌列表]中每一頁要顯示多少網誌。';
+$messages['help_summary_items_per_page'] = '在[網誌列表]中每一頁要顯示多少網誌。';
 $messages['help_forbidden_usernames'] = '列出所有不允許註冊的使用者名稱。';
 $messages['help_force_one_blog_per_email_account'] = '一個電子郵件是否只能註冊一個網誌';
 $messages['help_summary_show_agreement'] = '在使用者進行註冊動作之前,是否顯示並確認使用者同意服務條款。';
@@ -1011,22 +1011,22 @@
 $messages['error_comment_spam_keep'] = 'The anti-spam filter has put your comment in the moderation queue and it will have to be approved by the blog owner.';
 
 $messages['blog_categories'] = '網誌分類';
-$messages['global_article_categories'] = '全站文章分類';
 
+$messages['global_article_categories'] = '全站文章分類'; 
 
 $messages['help_force_posturl_unique'] = 'Force all post URLs within a blog to be unique.  This is only needed if you are changing the URLs and are removing the date portions of the URL. [Default = no]';
 
 $messages['default_send_notification'] = '預設發送通知';
 
 $messages['enable_pull_down_menu'] = '下拉式選單';
-$messages['enable_pull_down_menu_help'] = '啟用或關閉下拉式選單。';
+$messages['enable_pull_down_menu_help'] = '啟用或關閉下拉式選單。';
 
-$messages['change_album'] = '修改檔案夾';
 
+$messages['change_album'] = '修改檔案夾'; 
 
 $messages['warning_autosave_message'] = '<img src="imgs/admin/icon_warning-16.png" alt="Error" class="InfoIcon"/><p class="ErrorText">你好像有之前尚未存檔的文章。如果你還想繼續編輯,你可以 <a href="#" onclick="restoreAutoSave();">取回未存檔文章繼續編輯</a> 或是 <a href="#" onclick="eraseAutoSave();">把他刪除</a> 。</p>';
 
 $messages['check_username'] = '檢查使用者名稱';
 $messages['check_username_ok'] = '恭喜!這個使用者名稱還沒有任何人使用。';
-$messages['error_username_exist'] = '抱歉!這個使用者名稱已經被別人用了,試試其他的吧!';
 
+$messages['error_username_exist'] = '抱歉!這個使用者名稱已經被別人用了,試試其他的吧!'; 
 
 $messages['error_rule_email_dns_server_temp_fail'] = 'Temporary failure - try again later.';
 $messages['error_rule_email_dns_server_unreachable'] = 'Email server unreachable.';
@@ -1038,11 +1038,11 @@
 
 $messages['first_day_of_week'] = 1;
 $messages['first_day_of_week_label'] = '每一週的開始';
-$messages['first_day_of_week_help'] = '在首頁月曆中的顯示方式。';
 
+$messages['first_day_of_week_help'] = '在首頁月曆中的顯示方式。'; 
 
 $messages['help_subdomains_base_url'] = '當次網域設定啟用時,這個網址將用來替代系統網址。使用 {blogname}來取得網誌名稱及{username}取得網誌使用者名稱以及{blogdomain},用來產生連結到網誌的網址。'; 
 
-$messages['registration_default_subject'] = 'LifeType 註冊確認';
+$messages['registration_default_subject'] = 'LifeType 註冊確認';
 
 $messages['error_invalid_subdomain'] = 'The subdomain name is not valid or it is not unique';
 $messages['register_blog_domain_help'] = 'Name and subdomain that you would like to use for your new blog';

Modified: plog/trunk/locale/unported/locale_de_DE.php
===================================================================
--- plog/trunk/locale/unported/locale_de_DE.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_de_DE.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -709,7 +709,7 @@
 $messages['help_session_save_path'] = 'Verzeichniss, in das LifeType Sessiondaten mithilfe der PHP Funktion session_save_path() speichert. Bitte stellen Sie sicher, dass dieses Verzeichniss f&uuml;r den Webserver beschreibbar ist. Wenn Sie diese Einstellung leer lassen, wird das Standardverzeichniss von PHP benutzt. [Standard = (leer)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Anzahl der Eintr&auml;ge, die auf der &Uuml;bersichtsseite angezeigt werden. Diese Einstellung gilt f&uuml;r alle Listen auf der &Uuml;bersichtsseite (aktuelle Artikel, aktivste Blogs, usw.) [Standard = 10]';
-$messages['help_summary_blogs_per_page'] = 'Anzahl der Blogs pro Seite in der "Blog Liste" [Standard = 25]';
+$messages['help_summary_items_per_page'] = 'Anzahl der Blogs pro Seite in der "Blog Liste" [Standard = 25]';
 $messages['help_forbidden_usernames'] = 'Leerzeichen-getrennte Liste der nicht erlaubten Benutzernamen [Standard = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Begrenzung auf maximal ein Blog pro E-Mail Account [Standard = Nein]';
 $messages['help_summary_show_agreement'] = 'Vereinbarung anzeigen und von neuen Benutzern akzeptieren lassen, bevor die Registrierung abgeschlossen wird [Standard = Ja]';

Modified: plog/trunk/locale/unported/locale_eu_ES.php
===================================================================
--- plog/trunk/locale/unported/locale_eu_ES.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_eu_ES.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -710,7 +710,7 @@
 $messages['help_session_save_path'] = 'Erabili konfigurazio hau sistemak bere saio-datuak gordetzeko (PHParen session_save_path()funtzioaren bidez) erabiltzen duen karpeta aldatzeko. Ziurtatu web zerbitzariak karpetan idatz dezakeela. Utzi hutsik PHPren saio-karpeta lehenetsia erabiltzeko [Lehenetsia = (hutsik)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Laburpen-orrian erakutsiko diren elementu-kopurua. Ezarpen horrek laburpen-orriko zerrenda guztiak kontrolatzen ditu (azken artikuluak, blog aktiboenak, etab.) [Lehenetsia = 10]';
-$messages['help_summary_blogs_per_page'] = '"Blog zerrenda" atalean orriko dagoen blog-kopurua [Lehenetsia = 25]';
+$messages['help_summary_items_per_page'] = '"Blog zerrenda" atalean orriko dagoen blog-kopurua [Lehenetsia = 25]';
 $messages['help_forbidden_usernames'] = 'Erregistratzeko baimenik ez duten erabiltzaile-izenen zerrenda, zuriunez bereizita [Lehenetsia = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Helbide elektroniko bakoitzeko blog batera murriztu [Lehenetsia = Ez]';
 $messages['help_summary_show_agreement'] = 'Erakutsi kontratu-testua eta erabiltzaileei hori onartzeko eskatu erregistratze-prozedurari ekin aurretik [Lehenetsia = Bai]';

Modified: plog/trunk/locale/unported/locale_fa_IR.php
===================================================================
--- plog/trunk/locale/unported/locale_fa_IR.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_fa_IR.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -723,7 +723,7 @@
 $messages['help_session_save_path'] = 'از این تنظیم برای مشخص کردن محلی که سیستم Session ها را در آنجا ذخیره می کند استفاده نمایید, از طریق دستوالعمل session_save_path() لطفا مطمئن شوید که این شاخه توسط وب سرور قابل نوشتن است. آن را برای استفاده از پیش فرض PHP خالی بگذاری [پیش فرض = (خالی)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'تعداد گزینه هایی که در صفحه صفحه اصلی نشان داده می شود. این تنظیم تمامی لیستها در صفحه صفحه اصلی را در بر می گیرد (آخرین نوشته ها, فعالترین بلاگها, و غیره) [پیش فرض = 10]';
-$messages['help_summary_blogs_per_page'] = 'تعداد بلاگها در صفحه "لیست بلاگها" [پیش فرض = 25]';
+$messages['help_summary_items_per_page'] = 'تعداد بلاگها در صفحه "لیست بلاگها" [پیش فرض = 25]';
 $messages['help_forbidden_usernames'] = 'لیست کاربرانی که مجاز به ثبت نام نیستند جدا شده بوسیله فاصله [پیش فرض = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'محدودیت ایجاد تنها یک بلاگ برای هر آدرس پست الکترونیکی [پیش فرض = خیر]';
 $messages['help_summary_show_agreement'] = 'نمایش متن توافقنامه و اجبار کاربران به پذیرفتن آن پیش از عمل انجام ثبت نام [پیش فرض = بله]';

Modified: plog/trunk/locale/unported/locale_fi_FI.php
===================================================================
--- plog/trunk/locale/unported/locale_fi_FI.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_fi_FI.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -710,7 +710,7 @@
 $messages['help_session_save_path'] = 'Käytä tätä asetusta vaihtaaksesi kansiota, jonne LifeType tallentaa istunnon tiedot käyttäen PHP-funktiota session_save_path() Tarkasta, että webserveri voi kirjoittaa kansioon. Jätä tyhjäksi käyttääksesi PHP:n vakioistuntokansiota [Vakio = (tyhjä)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Yhteenvetosivulla näytettävien kohteiden määrä. Tämä asetus kontrolloi kaikkia kohteita yhteenvetosivulla (viimeisimmät viestit, aktiivisimmat blogit jne.) [Vakio = 10]';
-$messages['help_summary_blogs_per_page'] = 'Blogien määrä per yksi sivu blogilistassa [Vakio = 25]';
+$messages['help_summary_items_per_page'] = 'Blogien määrä per yksi sivu blogilistassa [Vakio = 25]';
 $messages['help_forbidden_usernames'] = 'Käyttäjänimet, joita ei hyväksytä käyttäjää rekisteröitäessä erotettuna välilyönnillä [Vakio = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Vain yksi blogi per yksi sähköpostiosoite [Vakio = Ei]';
 $messages['help_summary_show_agreement'] = 'Näytä käyttöehdot ja hyväksytä se kaikillä uusilla käyttäjillä [Vakio = Kyllä]';

Modified: plog/trunk/locale/unported/locale_fr_FR.php
===================================================================
--- plog/trunk/locale/unported/locale_fr_FR.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_fr_FR.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -723,7 +723,7 @@
 
 // summary settings
 $messages["help_summary_page_show_max"] = "Nombre d'articles qui seront affichés sur la page résumé. Ce paramètre contrôle toutes les listes de la page résumé.";
-$messages["help_summary_blogs_per_page"] = "Nombre de blogs par page dans la section \"Liste de blogs\"";
+$messages["help_summary_items_per_page"] = "Nombre de blogs par page dans la section \"Liste de blogs\"";
 $messages["help_forbidden_usernames"] = "Liste de noms d'utilisateur non autorisés à s'inscrire";
 $messages["help_force_one_blog_per_email_account"] = "Restreindre à seulement un blog par adresse e-mail";
 $messages["help_summary_show_agreement"] = "Afficher un message d'avertissement et demander l'acceptation aux utilisateurs qui s'inscrivent";

Modified: plog/trunk/locale/unported/locale_gz_ES.php
===================================================================
--- plog/trunk/locale/unported/locale_gz_ES.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_gz_ES.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -708,7 +708,7 @@
 $messages['help_session_save_path'] = 'Cartafol onde o O Blog garda as suas sesions, mediante a función session_save_path() do PHP. Deixe este campo vacio para usar o valor por defecto do PHP. Se usa outro cartafol que non sexa o por defecto, asegúrese de que pode ser escrito polo usuario executando o servidor de web [Valor por defecto = (baleiro)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Número de artigos que se mostrarán no portal. Este parámetro controla todalas listas do portal (artigos máis recentes, bitácoras máis activas, etc) [Valor por defecto = 10]';
-$messages['help_summary_blogs_per_page'] = 'Número de bitácoras por páxina na sección "Bitácoras" do portal [Valor por defecto = 25]';
+$messages['help_summary_items_per_page'] = 'Número de bitácoras por páxina na sección "Bitácoras" do portal [Valor por defecto = 25]';
 $messages['help_forbidden_usernames'] = 'Lista de nomes de usuario que non se poden rexistrar [Valor por defecto = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Non permitir máis dunha bitácora por dirección de correo [Valor por defecto = Non]';
 $messages['help_summary_show_agreement'] = 'Amosar un texto/licencia coa que os usuarios teñen que estar de acordo antes de continuar co proceso de rexistro [Valor por defecto = Sí]';

Modified: plog/trunk/locale/unported/locale_it_IT.php
===================================================================
--- plog/trunk/locale/unported/locale_it_IT.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_it_IT.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -715,7 +715,7 @@
 $messages['help_session_save_path'] = 'Usa questa impostazione per cambiare la cartella nella quale pLog tiene i dati della sessione, mediante la funzione di PHP session_save_path(). Assicurati che la cartella sia scrivibile dal server. Lascia vuoto per utilizzare la cartella delle sessioni predefinita di PHP [Predefinito = (vuoto)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Numero di elementi che verranno mostrati nella pagina di riepilogo. Questo parametro controlla tutte le lista nella pagina di sommario (articoli recenti, blog più attivi, ecc.) [Predefinito = 10]';
-$messages['help_summary_blogs_per_page'] = 'Numero di blog per pagina nella sezione "Lista dei blog" [Predefinito = 25]';
+$messages['help_summary_items_per_page'] = 'Numero di blog per pagina nella sezione "Lista dei blog" [Predefinito = 25]';
 $messages['help_forbidden_usernames'] = 'Lista di nomi utente, separati da spazi, che non possono essere registrati [Predefinito = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Permetti solo un blog per indirizzo email [Predefinito = No]';
 $messages['help_summary_show_agreement'] = 'Mostra agli utenti un testo con le condizioni da accettare prima di completare il processo di registrazione [Predefinito = Sì]';

Modified: plog/trunk/locale/unported/locale_ja_JP.php
===================================================================
--- plog/trunk/locale/unported/locale_ja_JP.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_ja_JP.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -715,7 +715,7 @@
 $messages['help_session_save_path'] = 'PHP¥Õ¥¡¥ó¥¯¥·¥ç¥ó session_save_path()¤«¤é¤Î¥»¥Ã¥·¥ç¥ó¥Ç¡¼¥¿¤òÊݴɤ¹¤ë¥Õ¥©¥ë¥À¤Î¾ì½ê¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£»ØÄê¤Î¥Õ¥©¥ë¥À¤¬¥¦¥§¥Ö¥µ¡¼¥Ð¡¼¤Ë¤è¤ë½ñ¤­¹þ¤ß²Äǽ¤Ç¤¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£PHP\'s¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥·¥ç¥ó¥Õ¥©¥ë¥À¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¶õÇò¤Ë¤·¤Æ²¼¤µ¤¤¡£ [¥Ç¥Õ¥©¥ë¥È = (¶õÇò)]';
 // summary settings
 $messages['help_summary_page_show_max'] = '¥µ¥Þ¥ê¡¼¥Ú¡¼¥¸¤Çɽ¼¨¤¹¤ë¥¢¥¤¥Æ¥à(¿·Ãå¤Îµ­»ö¡¢ºÇ¿·¹¹¿·¤ÎBlogÅù)¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = 10]';
-$messages['help_summary_blogs_per_page'] = '"Blog¥ê¥¹¥È"¤Çɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ëè¤ÎBlog¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = 25]';
+$messages['help_summary_items_per_page'] = '"Blog¥ê¥¹¥È"¤Çɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ëè¤ÎBlog¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = 25]';
 $messages['help_forbidden_usernames'] = '¥æ¡¼¥¶¡¼ÅÐÏ¿¤òµö²Ä¤·¤Ê¤¤¥æ¡¼¥¶¡¼Ì¾¤òȾ³Ñ¥¹¥Ú¡¼¥¹¤Ç¶èÀڤäÆÀßÄꤷ¤Þ¤¹¡£ [¥Ç¥Õ¥©¥ë¥È = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = '1·ï¤ÎE-Mail¤Ë¤Ä¤­1·ï¤ÎBlog¤Î¤ß¡£ [¥Ç¥Õ¥©¥ë¥È = ¤¤¤¤¤¨]';
 $messages['help_summary_show_agreement'] = 'ÅÐÏ¿»þ¤Ë¥á¥ó¥Ð¡¼µ¬Ìó¤òɽ¼¨¤·¡¢µ¬Ìó¤Ø¤ÎƱ°Õ¤òÅÐÏ¿¾ò·ï¤È¤¹¤ë¡£ [¥Ç¥Õ¥©¥ë¥È = ¤Ï¤¤]';

Modified: plog/trunk/locale/unported/locale_ja_JP_utf8.php
===================================================================
--- plog/trunk/locale/unported/locale_ja_JP_utf8.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_ja_JP_utf8.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -722,7 +722,7 @@
 $messages['help_session_save_path'] = 'PHPファンクション session_save_path()からのセッションデータを保管するフォルダの場所を変更できます。指定のフォルダがウェブサーバーによる書き込み可能であるか確認してください。PHP\'sデフォルトセッションフォルダを使用する場合は空白にして下さい。 [デフォルト = (空白)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'サマリーページで表示するアイテム(新着の記事、最新更新のブログ等)の数を設定します。 [デフォルト = 10]';
-$messages['help_summary_blogs_per_page'] = '"ブログリスト"で表示するページ毎のブログの数を設定します。 [デフォルト = 25]';
+$messages['help_summary_items_per_page'] = '"ブログリスト"で表示するページ毎のブログの数を設定します。 [デフォルト = 25]';
 $messages['help_forbidden_usernames'] = 'ユーザー登録を許可しないユーザー名を半角スペースで区切って設定します。 [デフォルト = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = '1件のE-Mailにつき1件のブログのみ。 [デフォルト = いいえ]';
 $messages['help_summary_show_agreement'] = '登録時にメンバー規約を表示し、規約への同意を登録条件とする。 [デフォルト = はい]';

Modified: plog/trunk/locale/unported/locale_nb_NO.php
===================================================================
--- plog/trunk/locale/unported/locale_nb_NO.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_nb_NO.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -727,7 +727,7 @@
 $messages['help_session_save_path'] = 'Angi hvor LifeType lagrer sesjonsdata. Mappen må være skrivbar for webserveren. La det stå tomt for å bruke PHP sin standard mappe for sesjoner [Standard=Ingen]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Antall "aktiviteter" som LifeType vil liste opp på oppsumeringssiden (Dashbord) Dette kontrollerer alle lister på dashbordet (nye artikler, mest aktive blogger, osv) [Standard=10]';
-$messages['help_summary_blogs_per_page'] = 'Antall blogger pr. side i listen over blogger [Standard=25]';
+$messages['help_summary_items_per_page'] = 'Antall blogger pr. side i listen over blogger [Standard=25]';
 $messages['help_forbidden_usernames'] = 'Brukernavn du vil nekte registrering. Bruk mellomrom som separator [Standard = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Godta kun 1 blog pr. e-post adresse [Standard=Nei]';
 $messages['help_summary_show_agreement'] = 'Vis en "Brukeravtale" og tving brukere til å akseptere denne før registrering kan skje [Standard=Ja]';

Modified: plog/trunk/locale/unported/locale_nl_NL.php
===================================================================
--- plog/trunk/locale/unported/locale_nl_NL.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_nl_NL.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -711,7 +711,7 @@
 $messages['help_session_save_path'] = 'Pad waar LifeType session data opslaat via de PHP functie session_save_path(). Deze folder moet schrijfbaar zijn voor de webserver. Laat leeg om het standaard pad te gebruiken [Standaard = (leeg)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Aantal items dat in de samenvattingspagina getoond wordt. Deze instelling geldt voor alle samengevatte lijsten (recente artikelen, meest actieve blogs etc) [Standaard = 10]';
-$messages['help_summary_blogs_per_page'] = 'Aantal blogs per pagina in de "Blogs lijst" sectie [Standaard = 25]';
+$messages['help_summary_items_per_page'] = 'Aantal blogs per pagina in de "Blogs lijst" sectie [Standaard = 25]';
 $messages['help_forbidden_usernames'] = 'Lijst van gebruikersnamen die niet geregistreerd mogen worden, gescheiden door een spatie [Standaard = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Beperk het aantal blogs tot één per e-mail account [Standaard = Nee]';
 $messages['help_summary_show_agreement'] = 'Toon een overeenkomsttekst en laat toekomstige gebruikers deze accepteren voorafgaand aan het registratieproces [Standaard = Ja]';

Modified: plog/trunk/locale/unported/locale_pt_BR.php
===================================================================
--- plog/trunk/locale/unported/locale_pt_BR.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_pt_BR.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -711,7 +711,7 @@
 $messages['help_session_save_path'] = 'Use esta configuração para mudar o diretório onde o LifeType armazena seus dados de sessão, através da função session_save_path() do PHP. Certifique-se de que o diretório pode ser acessado pelo servidor WEB. Deixe em branco para usar o diretório default do PHP [Default = (vazio)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Número de itens que serão mostrados na página de resumo. Esta configuração controla todas as listas na página de resumos (artigos recentes, blogs mais ativos etc) [Default = 10]';
-$messages['help_summary_blogs_per_page'] = 'Número de blogs por página na seção "Lista de blogs" [Default = 25]';
+$messages['help_summary_items_per_page'] = 'Número de blogs por página na seção "Lista de blogs" [Default = 25]';
 $messages['help_forbidden_usernames'] = 'Lista dos usuários que não podem ser registrados [Default = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Restringe para apenas um blog por conta de e-mail [Default = Não]';
 $messages['help_summary_show_agreement'] = 'Mostrar o texto com os termos de serviço e fazer o usuário aceitá-lo antes de proceder no processo de registro [Default = Sim]';

Modified: plog/trunk/locale/unported/locale_ru_RU.php
===================================================================
--- plog/trunk/locale/unported/locale_ru_RU.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_ru_RU.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -743,7 +743,7 @@
 $messages['help_session_save_path'] = 'Èñïîëüçóéòå ýòó íàñòðîéêó, ÷òîáû èçìåíèòü äèðåêòîðèþ, ãäå LifeType õðàíèò èíôîðìàöèþ î ñåññèè, ñ ïîìîùüþ ôóíêöèè PHP session_save_path() Óáåäèòåñü, ÷òî çàïèñü â ýòó äèðåêòîðèþ ðàçðåøåíà. Îñòàâèòü ïóñòûì, ÷òîáû èñïîëüçîâàòü íàñòðîéêè PHP ïî óìîë÷àíèþ [Ïî óìîë÷àíèþ = (ïóñòî)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Êîëè÷åñòâî ýëåìåíòîâ, êîòîðûå áóäóò îòîáðàæåíû íà ãëàâíîé ñòðàíèöå. Ýòà íàñòðîéêà óïðàâëÿåò âñåìè ñïèñêàìè íà ãëàâíîé ñòðàíèöå (ïîñëåäíèå çàïèñè, íàèáîëåå àêòèâíûå äíåâíèêè, è òàê äàëåå) [Ïî óìîë÷àíèþ = 10]';
-$messages['help_summary_blogs_per_page'] = 'Êîëè÷åñòâî äíåâíèêîâ íà ñòðàíèöó â ðàçäåëå "Ñïèñîê äíåâíèêîâ" [Ïî óìîë÷àíèþ = 25]';
+$messages['help_summary_items_per_page'] = 'Êîëè÷åñòâî äíåâíèêîâ íà ñòðàíèöó â ðàçäåëå "Ñïèñîê äíåâíèêîâ" [Ïî óìîë÷àíèþ = 25]';
 $messages['help_forbidden_usernames'] = 'Ðàçäåëåííûé ïðîáåëàìè ñïèñîê èìåí ïîëüçîâàòåëåé, çàïðåùåííûõ ê ðåãèñòðàöèè [Ïî óìîë÷àíèþ = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Îãðàíè÷èòü äî îäíîãî äíåâíèêà íà àäðåñ ýëåêòðîííîé ïî÷òû [Ïî óìîë÷àíèþ = Íåò]';
 $messages['help_summary_show_agreement'] = 'Ïîêàçûâàòü òåêñò ñîãëàøåíèÿ è ïðèíèìàòü ñîãëàñèå ïîëüçîâàòåëåé, ïðåæäå ÷åì ïðèñòóïèòü ê ðåãèñòðàöèè [Ïî óìîë÷àíèþ = Äà]';

Modified: plog/trunk/locale/unported/locale_sv_SE.php
===================================================================
--- plog/trunk/locale/unported/locale_sv_SE.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_sv_SE.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -709,7 +709,7 @@
 $messages['help_session_save_path'] = 'Please use this setting to change the folder where pLog stores its session data, via the PHP function session_save_path() Please make sure that the folder is writable by the web server. Leave empty to use PHP\'s default session folder [Default = (empty)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Number of items that will be shown in the summary page. This setting control all lists in the summary page (recent articles, most active bloggs, etc) [Default = 10]';
-$messages['help_summary_blogs_per_page'] = 'Number of bloggs per page in the "bloggs List" section [Default = 25]';
+$messages['help_summary_items_per_page'] = 'Number of bloggs per page in the "bloggs List" section [Default = 25]';
 $messages['help_forbidden_usernames'] = 'List of usernames separated by a blank space that are not allowed to be registered [Default = admin www blogg ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Restrict to only one blogg per email account [Default = No]';
 $messages['help_summary_show_agreement'] = 'Show and an agreement text and make users accept it before proceeding to the registration process [Default = Yes]';

Modified: plog/trunk/locale/unported/locale_tr_TR.php
===================================================================
--- plog/trunk/locale/unported/locale_tr_TR.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unported/locale_tr_TR.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -709,7 +709,7 @@
 $messages['help_session_save_path'] = 'Please use this setting to change the folder where LifeType stores its session data, via the PHP function session_save_path() Please make sure that the folder is writable by the web server. Leave empty to use PHP\'s default session folder [Default = (empty)]';
 // summary settings
 $messages['help_summary_page_show_max'] = 'Number of items that will be shown in the summary page. This setting control all lists in the summary page (recent articles, most active blogs, etc) [Default = 10]';
-$messages['help_summary_blogs_per_page'] = 'Number of blogs per page in the "Blogs List" section [Default = 25]';
+$messages['help_summary_items_per_page'] = 'Number of blogs per page in the "Blogs List" section [Default = 25]';
 $messages['help_forbidden_usernames'] = 'List of usernames separated by a blank space that are not allowed to be registered [Default = admin www blog ftp]';
 $messages['help_force_one_blog_per_email_account'] = 'Restrict to only one blog per email account [Default = No]';
 $messages['help_summary_show_agreement'] = 'Show and an agreement text and make users accept it before proceeding to the registration process [Default = Yes]';

Modified: plog/trunk/locale/unsupport/locale_zh_CN_gb2312.php
===================================================================
--- plog/trunk/locale/unsupport/locale_zh_CN_gb2312.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unsupport/locale_zh_CN_gb2312.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -709,7 +709,7 @@
 $messages['help_session_save_path'] = 'ʹÓÃPHPµÄsession_save_path()º¯Êý£¬À´¸ü¸ÄpLog´æ·ÅsessionµÄÎļþ¼Ð¡£ÇëÈ·ÈϸÃÎļþ¼Ð±»HTTP·þÎñ³ÌÐò£¨ÈçAPACHE£©ÓµÓÐдȨÏÞ¡£Èç¹ûÄúҪʹÓÃPHPÔ¤ÉèµÄsession´æ·Å·¾¶£¬É趨Ϊ¿Õ°×¼´¿É¡£';
 // summary settings
 $messages['help_summary_page_show_max'] = 'ÔÚ»ã×Ü£¨SUMMARY£©Ò³ÃæÖÐÒªÏÔʾ¶àÉÙÏîÄ¿¡£';
-$messages['help_summary_blogs_per_page'] = '»ã×ܵIJ©¿ÍÁбíÖÐÿҳÏÔʾµÄ²©¿ÍÊý';
+$messages['help_summary_items_per_page'] = '»ã×ܵIJ©¿ÍÁбíÖÐÿҳÏÔʾµÄ²©¿ÍÊý';
 $messages['help_forbidden_usernames'] = '½ûÖ¹×¢²áµÄÓû§ÃûÁбí';
 $messages['help_force_one_blog_per_email_account'] = 'ÿ¸öµç×ÓÓʼþµØÖ·Ö»ÏÞÖÆ×¢²áÒ»¸ö²©¿Í';
 $messages['help_summary_show_agreement'] = 'ÊÇ·ñÔÚ×¢²áÖÐÏÔʾЭ¶¨Îı¾ÈÃÓû§È·ÈÏ';

Modified: plog/trunk/locale/unsupport/locale_zh_TW_big5.php
===================================================================
--- plog/trunk/locale/unsupport/locale_zh_TW_big5.php	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/locale/unsupport/locale_zh_TW_big5.php	2006-07-19 21:16:30 UTC (rev 3745)
@@ -709,7 +709,7 @@
 $messages['help_session_save_path'] = '¦¹³]©w±N¨Ï¥ÎPHPªºsession_save_path()¨ç¼Æ¡A¨Ó§ó§ïpLog¦s©ñsessionªº¸ê®Æ§¨¡C½Ð½T©w¸Ó¸ê®Æ§¨¥i¥H³z¹Lºô¯¸¦øªA¾¹¶i¦æ¼g¤J°Ê§@¡C¦pªG§A­n¨Ï¥ÎPHP¹w³]ªºsession¦s©ñ¸ô®|¡A½Ð±N¦¹³]©wªÅ¥Õ¡C';
 // summary settings
 $messages['help_summary_page_show_max'] = '¦bºK­n­¶­±¤¤­nÅã¥Ü¦h¤Ö¶µ¥Ø¡C¦¹¿ï¶µ±±¨î¦bºK­n­¶­±¤¤¦C¥Xªº©Ò¦³¶µ¥Ø¡C(¥]¬A³Ì·s¤å³¹¼Æ¥Ø¡B³Ì¬¡ÅDºô»xµ¥)';
-$messages['help_summary_blogs_per_page'] = '¦b[ºô»x¦Cªí]¤¤¨C¤@­¶­nÅã¥Ü¦h¤Öºô»x¡C';
+$messages['help_summary_items_per_page'] = '¦b[ºô»x¦Cªí]¤¤¨C¤@­¶­nÅã¥Ü¦h¤Öºô»x¡C';
 $messages['help_forbidden_usernames'] = '¦C¥X©Ò¦³¤£¤¹³\µù¥Uªº¨Ï¥ÎªÌ¦WºÙ¡C';
 $messages['help_force_one_blog_per_email_account'] = '¤@­Ó¹q¤l¶l¥ó¬O§_¥u¯àµù¥U¤@­Óºô»x';
 $messages['help_summary_show_agreement'] = '¦b¨Ï¥ÎªÌ¶i¦æµù¥U°Ê§@¤§«e¡A¬O§_Åã¥Ü¨Ã½T»{¨Ï¥ÎªÌ¦P·NªA°È±ø´Ú¡C';

Modified: plog/trunk/templates/admin/globalsettings_summary.template
===================================================================
--- plog/trunk/templates/admin/globalsettings_summary.template	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/templates/admin/globalsettings_summary.template	2006-07-19 21:16:30 UTC (rev 3745)
@@ -5,11 +5,11 @@
     <div class="formHelp">{$locale->tr("help_summary_page_show_max")}</div>
     <input style="width:100%" type="text" name="config[summary_page_show_max]" id="config[summary_page_show_max]" value="{$summary_page_show_max}"/>
    </div>   
-   <!-- summary_blogs_per_page -->
+   <!-- summary_items_per_page -->
    <div class="field">
-    <label for="config[summary_blogs_per_page]">summary_blogs_per_page</label>
-    <div class="formHelp">{$locale->tr("help_summary_blogs_per_page")}</div>
-    <input style="width:100%" type="text" id="config[summary_blogs_per_page]" name="config[summary_blogs_per_page]" value="{$summary_blogs_per_page}"/>
+    <label for="config[summary_items_per_page]">summary_items_per_page</label>
+    <div class="formHelp">{$locale->tr("help_summary_items_per_page")}</div>
+    <input style="width:100%" type="text" id="config[summary_items_per_page]" name="config[summary_items_per_page]" value="{$summary_items_per_page}"/>
    </div>
    <!-- summary_disable_registration -->
    <div class="field">

Modified: plog/trunk/templates/summary/resource.template
===================================================================
--- plog/trunk/templates/summary/resource.template	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/templates/summary/resource.template	2006-07-19 21:16:30 UTC (rev 3745)
@@ -1,11 +1,11 @@
 	{assign var="blog" value=$resource->getBlogInfo()}
 	{assign var="request" value=$blog->getBlogRequestGenerator()}
+   	{assign var=metadata value=$resource->getMetadataReader()}	
 	<div class="album">
    		{if $resource->hasPreview()}
-   		{*<a target="_blank" href="resserver.php?blogId={$blog->getId()}&amp;resource={$resource->getFileName()}">*}
    	<a href="{$request->resourceLink($resource)}">
     	<img alt="{$resource->getDescription()}" src="{$request->resourcePreviewLink($resource)}" /></a>
-    	<p>{$resource->getFileName()}</p>
+    	<p>{$resource->getFileName()}, {$metadata->getRoundedSize()}</p>
    		{else}
    	<a href="{$request->resourceLink($resource)}">
    		{if $resource->isSound()}
@@ -17,10 +17,8 @@
    		{else}
    	<img alt="File" src="{$request->getTemplateFile("imgs/file.gif")}" /></a>
    		{/if}  
-   	<p>{$resource->getFileName()}</p>
+   	<p>{$resource->getFileName()}, {$metadata->getRoundedSize()}</p>
    		{/if}
-   		{assign var=metadata value=$resource->getMetadataReader()}
-  	<p>{$metadata->getRoundedSize()}</p>
    		{if $resource->isImage()}
   	<p>{$metadata->getWidth()} x {$metadata->getHeight()}</p>
    		{elseif $resource->isSound()}
@@ -33,4 +31,5 @@
    		{assign var="counter" value="`$counter+1`"}
    		{if $counter%3 == 0}
    		{/if}
+     <p><a href="{$request->blogLink()}">{$blog->getBlog()}</a></p>
   	</div>
\ No newline at end of file

Modified: plog/trunk/templates/summary/searchresults.template
===================================================================
--- plog/trunk/templates/summary/searchresults.template	2006-07-19 21:15:27 UTC (rev 3744)
+++ plog/trunk/templates/summary/searchresults.template	2006-07-19 21:16:30 UTC (rev 3745)
@@ -19,5 +19,8 @@
 		    {include file="summary/resource.template"}
 	    {/foreach}	
 	{/if}
+	<div class="pager">
+	  {include file="summary/pager.template" style=list}
+	</div>  	
 </div>
 {include file="summary/footer.template"}



More information about the pLog-svn mailing list