[pLog-svn] r3536 - in plog/trunk: class/action
class/data/validator/rules templates/rss
jondaley at devel.lifetype.net
jondaley at devel.lifetype.net
Mon Jun 5 23:38:33 GMT 2006
Author: jondaley
Date: 2006-06-05 23:38:33 +0000 (Mon, 05 Jun 2006)
New Revision: 3536
Modified:
plog/trunk/class/action/commentaction.class.php
plog/trunk/class/action/defaultaction.class.php
plog/trunk/class/action/resourceserveraction.class.php
plog/trunk/class/action/rssaction.class.php
plog/trunk/class/action/viewalbumaction.class.php
plog/trunk/class/action/viewarticleaction.class.php
plog/trunk/class/action/viewarticletrackbacksaction.class.php
plog/trunk/class/action/viewresourceaction.class.php
plog/trunk/class/data/validator/rules/uintrule.class.php
plog/trunk/templates/rss/atom.template
plog/trunk/templates/rss/rss10.template
Log:
merged revs 3424 through 3535 from the 1.0.5 branch
Modified: plog/trunk/class/action/commentaction.class.php
===================================================================
--- plog/trunk/class/action/commentaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/commentaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -27,6 +27,7 @@
// data validation
$this->registerFieldValidator( "articleId", new IntegerValidator());
+ $this->registerFieldValidator( "parentId", new IntegerValidator());
$this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_incorrect_article_id" ));
}
Modified: plog/trunk/class/action/defaultaction.class.php
===================================================================
--- plog/trunk/class/action/defaultaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/defaultaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -2,6 +2,8 @@
require_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
require_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
/**
* \ingroup Action
@@ -23,10 +25,20 @@
function DefaultAction( $actionInfo, $request )
{
$this->BlogAction( $actionInfo, $request );
+
+ $this->registerFieldValidator( "postCategoryId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "postCategoryName", new StringValidator(), true );
+ $this->registerFieldValidator( "userId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "userName", new StringValidator(), true );
+
+ $this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_fetching_articles" ));
}
function validate()
{
+ if( !parent::validate())
+ return false;
+
// value of the Date parameter from the request
$this->_date = $this->_request->getValue( "Date", -1 );
Modified: plog/trunk/class/action/resourceserveraction.class.php
===================================================================
--- plog/trunk/class/action/resourceserveraction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/resourceserveraction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -8,6 +8,8 @@
include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
include_once( PLOG_CLASS_PATH."class/security/pipeline.class.php" );
include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
/**
* \ingroup Action
@@ -31,6 +33,23 @@
$this->_session = $session['SessionInfo'];
$this->_config =& Config::getConfig();
+
+ $this->registerFieldValidator( "resource", new StringValidator(), true );
+ $this->registerFieldValidator( "resId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "albumId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "albumName", new StringValidator(), true );
+ $this->registerFieldValidator( "blogId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "blogName", new StringValidator(), true );
+ $this->registerFieldValidator( "userId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "blogUserName", new StringValidator(), true );
+
+ // since this class does not return HTML code but files, we cannot
+ // return HTML so let's return 404 status code with a custom error message
+ $view = new ResourceServerView();
+ $view->addHeaderResponse( "HTTP/1.1 404 Not Found" );
+ $view->addHeaderResponse( "Status: 404 Not Found" );
+ $view->addHeaderResponse( "X-LifeType-Error: Invalid parameters" );
+ $this->setValidationErrorView( $view );
}
/**
@@ -99,6 +118,9 @@
function validate()
{
+ if( !parent::validate())
+ return false;
+
// before we do anything, let's find out the blogId and if there isn't any, quit
$this->_getBlogInfo();
if( $this->_blogInfo == false ) {
@@ -106,7 +128,7 @@
$this->_view = new ResourceServerView();
$this->_view->addHeaderResponse( "HTTP/1.1 404 Not Found" );
$this->_view->addHeaderResponse( "Status: 404 Not Found" );
- $this->_view->addHeaderResponse( "X-pLog-Error: Blog is not correct" );
+ $this->_view->addHeaderResponse( "X-LifeType-Error: Blog $resId is not correct" );
return false;
}
@@ -128,7 +150,7 @@
$this->_view = new ResourceServerView();
$this->_view->addHeaderResponse( "HTTP/1.1 403 Forbidden" );
$this->_view->addHeaderResponse( "Status: 403 Forbidden" );
- $this->_view->addHeaderResponse( "X-pLog-Error: Access is blocked" );
+ $this->_view->addHeaderResponse( "X-LifeType-Error: Access is blocked" );
return false;
}
@@ -151,7 +173,7 @@
$this->_view = new ResourceServerView();
$this->_view->addHeaderResponse( "HTTP/1.1 404 Not Found" );
$this->_view->addHeaderResponse( "Status: 404 Not Found" );
- $this->_view->addHeaderResponse( "X-pLog-Error: Album $albumId not found" );
+ $this->_view->addHeaderResponse( "X-LifeType-Error: Album $albumId not found" );
return false;
}
$this->_albumId = $album->getId();
@@ -198,7 +220,7 @@
$this->_view = new ResourceServerView();
$this->_view->addHeaderResponse( "HTTP/1.1 404 Not Found" );
$this->_view->addHeaderResponse( "Status: 404 Not Found" );
- $this->_view->addHeaderResponse( "X-pLog-Error: Resource $this->_resId not found" );
+ $this->_view->addHeaderResponse( "X-LifeType-Error: Resource $this->_resId not found" );
return false;
}
Modified: plog/trunk/class/action/rssaction.class.php
===================================================================
--- plog/trunk/class/action/rssaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/rssaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -2,6 +2,8 @@
include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
include_once( PLOG_CLASS_PATH."class/view/rssview.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
/**
* \ingroup Action
@@ -19,6 +21,14 @@
function RssAction( $blogInfo, $request )
{
$this->BlogAction( $blogInfo, $request );
+
+ $this->registerFieldValidator( "categoryId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "profile", new StringValidator(), true );
+
+ // generate a dummy view with nothing in it to signal an error
+ $view = new RssView( $this->_blogInfo, DEFAULT_PROFILE );
+ $view->setValue( "articles", Array());
+ $this->setValidationErrorView( $view );
}
/**
Modified: plog/trunk/class/action/viewalbumaction.class.php
===================================================================
--- plog/trunk/class/action/viewalbumaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/viewalbumaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -3,6 +3,7 @@
include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
include_once( PLOG_CLASS_PATH."class/view/blogview.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
define( "VIEW_ALBUMS_TEMPLATE", "albums" );
define( "VIEW_ALBUM_TEMPLATE", "album" );
@@ -21,11 +22,19 @@
function ViewAlbumAction( $actionInfo, $request )
{
$this->BlogAction( $actionInfo, $request );
+
+ $this->registerFieldValidator( "albumId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "albumName", new StringValidator(), true );
+
+ $this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_fetching_album" ));
}
// checks that the articleId is valid
function validate()
{
+ if( !parent::validate())
+ return false;
+
$this->_albumId = $this->_request->getValue( "albumId", 0 );
$this->_albumName = $this->_request->getValue( "albumName" );
// get the page from the request
Modified: plog/trunk/class/action/viewarticleaction.class.php
===================================================================
--- plog/trunk/class/action/viewarticleaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/viewarticleaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -1,6 +1,8 @@
<?php
include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
/**
* \ingroup Action
@@ -24,14 +26,25 @@
function ViewArticleAction( $actionInfo, $request )
{
$this->BlogAction( $actionInfo, $request );
+
+ $this->registerFieldValidator( "articleId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "articleName", new StringValidator(), true );
+ $this->registerFieldValidator( "postCategoryId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "postCategoryName", new StringValidator(), true );
+ $this->registerFieldValidator( "userId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "userName", new StringValidator(), true );
+
+ $this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_fetching_article" ));
}
// checks that the articleId is valid
function validate()
{
+ if( !parent::validate())
+ return( false );
+
$this->_articleId = $this->_request->getValue( "articleId" );
$this->_articleName = $this->_request->getValue( "articleName" );
-
// find some other additional parameters and use some 'null' values
// in casuse they're empty
$this->_categoryId = $this->_request->getValue( "postCategoryId", -1 );
@@ -40,7 +53,7 @@
$this->_userName = $this->_request->getValue( "userName" );
$this->_date = $this->_request->getValue( "Date", -1 );
$this->_isCommentAdded = ($this->_request->getValue( "op" ) == "AddComment" );
-
+
// Calculate the correct article date period
$adjustedDates = $this->_getCorrectedDatePeriod( $this->_date );
$this->_date = $adjustedDates["adjustedDate"];
Modified: plog/trunk/class/action/viewarticletrackbacksaction.class.php
===================================================================
--- plog/trunk/class/action/viewarticletrackbacksaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/viewarticletrackbacksaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -1,6 +1,7 @@
<?php
include_once( PLOG_CLASS_PATH."class/action/blogaction.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
define( "VIEW_TRACKBACKS_TEMPLATE", "posttrackbacks" );
@@ -24,11 +25,22 @@
function ViewArticleTrackbacksAction( $actionInfo, $request )
{
$this->BlogAction( $actionInfo, $request );
+
+ $this->registerFieldValidator( "articleId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "articleName", new StringValidator(), true );
+ $this->registerFieldValidator( "postCategoryId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "postCategoryName", new StringValidator(), true );
+ $this->registerFieldValidator( "userId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "userName", new StringValidator(), true );
+
+ $this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_fetching_article" ));
}
-
function validate()
{
+ if( !parent::validate())
+ return false;
+
$this->_articleId = $this->_request->getValue( "articleId" );
$this->_articleName = $this->_request->getValue( "articleName" );
$this->_categoryId = $this->_request->getValue( "postCategoryId", -1 );
Modified: plog/trunk/class/action/viewresourceaction.class.php
===================================================================
--- plog/trunk/class/action/viewresourceaction.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/action/viewresourceaction.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -4,6 +4,7 @@
include_once( PLOG_CLASS_PATH."class/view/errorview.class.php" );
include_once( PLOG_CLASS_PATH."class/gallery/dao/galleryresources.class.php" );
include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
define( "VIEW_RESOURCE_TEMPLATE", "resource" );
@@ -24,11 +25,21 @@
function ViewResourceAction( $actionInfo, $request )
{
$this->BlogAction( $actionInfo, $request );
+
+ $this->registerFieldValidator( "resId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "resouce", new StringValidator(), true );
+ $this->registerFieldValidator( "albumId", new IntegerValidator(), true );
+ $this->registerFieldValidator( "albumName", new StringValidator(), true );
+
+ $this->setValidationErrorView( new ErrorView( $this->_blogInfo, "error_fetching_resource" ));
}
// checks that the articleId is valid
function validate()
{
+ if( !parent::validate())
+ return false;
+
$this->_resourceId = $this->_request->getValue( "resId" );
$this->_resourceName = $this->_request->getValue( "resource" );
$this->_albumId = $this->_request->getValue( "albumId" );
Modified: plog/trunk/class/data/validator/rules/uintrule.class.php
===================================================================
--- plog/trunk/class/data/validator/rules/uintrule.class.php 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/class/data/validator/rules/uintrule.class.php 2006-06-05 23:38:33 UTC (rev 3536)
@@ -2,7 +2,7 @@
include_once(PLOG_CLASS_PATH."class/data/validator/rules/regexprule.class.php");
- define( "UINT_RULE_REG_EXP", "^([1-9][0-9]*)|0$");
+ define( "UINT_RULE_REG_EXP", "^([0-9]+)$");
define( "ERROR_RULE_UINT_FORMAT_WRONG", "error_rule_uint_format_wrong");
/**
Modified: plog/trunk/templates/rss/atom.template
===================================================================
--- plog/trunk/templates/rss/atom.template 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/templates/rss/atom.template 2006-06-05 23:38:33 UTC (rev 3536)
@@ -2,11 +2,13 @@
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="{$locale->getLanguageId()|lower}">
<title>{$blog->getBlog()|escape}</title>
<link rel="alternate" type="text/html" href="{$url->blogLink()}" />
-{assign var="newestDate" value=$posts[0]->getDateObject()}
-<modified>{$locale->formatDate($newestDate, "%Y-%m-%dT%H:%M:%S%O", $blog)}</modified>
+{if $posts}
+ {assign var="newestDate" value=$posts[0]->getDateObject()}
+ <modified>{$locale->formatDate($newestDate, "%Y-%m-%dT%H:%M:%S%O", $blog)}</modified>
+{/if}
<tagline>{$blog->getAbout()|escape}</tagline>
<generator url="http://www.lifetype.net/" version="1.0.2">LifeType</generator>
-{assign var="blogOwner" value=$posts[0]->getUserInfo()}
+{assign var="blogOwner" value=$blog->getOwnerInfo()}
<copyright>Copyright (c) {$blogOwner->getUsername()|escape}</copyright>
{foreach from=$posts item=post}
<entry>
Modified: plog/trunk/templates/rss/rss10.template
===================================================================
--- plog/trunk/templates/rss/rss10.template 2006-06-05 23:32:42 UTC (rev 3535)
+++ plog/trunk/templates/rss/rss10.template 2006-06-05 23:38:33 UTC (rev 3536)
@@ -11,7 +11,7 @@
<title>{$blog->getBlog()|escape}</title>
<link>{$url->blogLink()}</link>
<description>{$blog->getAbout()|escape}</description>
- {assign var="blogOwner" value=$posts[0]->getUserInfo()}
+ {assign var="blogOwner" value=$blog->getOwnerInfo()}
<dc:creator>{$blogOwner->getUsername()}</dc:creator>
<dc:date>{$smarty.now|date_format:"%Y-%m-%dT%H:%M:%S"}Z</dc:date>
<admin:generatorAgent rdf:resource="http://www.lifetype.net" />
More information about the pLog-svn
mailing list