[pLog-svn] r6546 - in plog/branches/lifetype-1.2/class: action/admin data/forms

Jon Daley plogworld at jon.limedaley.com
Sat Jun 14 15:23:29 EDT 2008


 	ack.  That wasn't all supposed to be checked in yet.  just the 
formvalidator.

On Sat, 14 Jun 2008, jondaley at devel.lifetype.net wrote:

> Author: jondaley
> Date: 2008-06-14 15:22:38 -0400 (Sat, 14 Jun 2008)
> New Revision: 6546
>
> Modified:
>   plog/branches/lifetype-1.2/class/action/admin/adminpostmanagementcommonaction.class.php
>   plog/branches/lifetype-1.2/class/action/admin/adminsavedraftarticleajaxaction.class.php
>   plog/branches/lifetype-1.2/class/action/admin/adminupdateblogsettingsaction.class.php
>   plog/branches/lifetype-1.2/class/data/forms/formvalidator.class.php
> Log:
> commented filtering method in r6524
>
> Modified: plog/branches/lifetype-1.2/class/action/admin/adminpostmanagementcommonaction.class.php
> ===================================================================
> --- plog/branches/lifetype-1.2/class/action/admin/adminpostmanagementcommonaction.class.php	2008-06-14 19:21:21 UTC (rev 6545)
> +++ plog/branches/lifetype-1.2/class/action/admin/adminpostmanagementcommonaction.class.php	2008-06-14 19:22:38 UTC (rev 6546)
> @@ -55,7 +55,7 @@
>         	$this->registerFieldValidator( "postText", new StringValidator( true ) );
>         	$this->registerFieldValidator( "postTopic", new StringValidator() );
>         	$this->registerFieldValidator( "postCategories", new ArrayValidator( new IntegerValidator() ) );
> -        	$this->registerFieldValidator( "postId", new IntegerValidator() );
> +        	$this->registerFieldValidator( "postId", new IntegerValidator(), true );
>         	$this->registerFieldValidator( "globalArticleCategoryId", new IntegerValidator(), true );
>         	$this->registerFieldValidator( "postDateTime", new DateTimeValidator( '%j/%m/%Y %G:%i' ) );
>
>
> Modified: plog/branches/lifetype-1.2/class/action/admin/adminsavedraftarticleajaxaction.class.php
> ===================================================================
> --- plog/branches/lifetype-1.2/class/action/admin/adminsavedraftarticleajaxaction.class.php	2008-06-14 19:21:21 UTC (rev 6545)
> +++ plog/branches/lifetype-1.2/class/action/admin/adminsavedraftarticleajaxaction.class.php	2008-06-14 19:22:38 UTC (rev 6546)
> @@ -1,6 +1,6 @@
> <?php
>
> -	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
> +	lt_include( PLOG_CLASS_PATH."class/action/admin/adminpostmanagementcommonaction.class.php" );
> 	lt_include( PLOG_CLASS_PATH."class/view/admin/adminxmlview.class.php" );
> 	lt_include( PLOG_CLASS_PATH."class/data/timestamp.class.php");
>     lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );
> @@ -9,86 +9,30 @@
>      * \ingroup Action
>      * @private
>      */
> -	class AdminSaveDraftArticleAjaxAction extends AdminAction
> +	class AdminSaveDraftArticleAjaxAction extends AdminPostManagementCommonAction
> 	{
> -
> -		var $_postText;
> -		var $_postTopic;
> -
> 		function AdminSaveDraftArticleAjaxAction( $actionInfo, $request )
> 		{
> -			$this->AdminAction( $actionInfo, $request );
> -		}
> +			$this->AdminPostManagementCommonAction( $actionInfo, $request );
>
> -            // TODO: using old validate method.  And, it doesn't actually do any validation??
> -		function validate()
> -		{
> -        	$this->_postText     = $this->_request->getValue( "postText" );
> -            $this->_postTopic    = $this->_request->getValue( "postTopic" );
> +            $view = new AdminXmlView( $this->_blogInfo, "response" );
> +            $view->setValue( "method", "saveDraftArticleAjax" );
> +            $view->setValue( "success", "0" );
> +            $view->setValue( "message", $this->_locale->tr( "error_saving_draft" ) );
> +        	$this->setValidationErrorView( $view );
>
> -            // if there is no text, extended text or topic there is no point in saving anything
> -            if( $this->_postText == "" && $this->_postTopic == "" ) {
> -                // nothing to do yet, so let's quit
> -                $this->_view = new AdminXmlView( $this->_blogInfo, "response" );
> -                $this->_view->setValue( "method", "saveDraftArticleAjax" );
> -                $this->_view->setValue( "success", "0" );
> -                $this->_view->setValue( "message", $this->_locale->tr( "error_saving_draft" ) );
> +			$this->requirePermission( "add_post" );
> +        }
>
> -                return false;
> -            }
> -
> -            $this->_postCategories = $this->_request->getValue( "postCategories" );
> -            $this->_postStatus   = $this->_request->getValue( "postStatus" );
> -			$this->_postSlug = $this->_request->getValue( "postSlug" );
> -            $this->_sendNotification = $this->_request->getValue( "sendNotification" );
> -            $this->_sendTrackbacks = $this->_request->getValue( "sendTrackbacks" );
> -            $this->_sendPings = $this->_request->getValue( "sendPings" );
> -			$this->_postId = $this->_request->getValue( "postId" );
> -            $this->_commentsEnabled = $this->_request->getValue( "commentsEnabled" );
> -            if( $this->_commentsEnabled != 1 )
> -            	$this->_commentsEnabled = false;
> -            else
> -            	$this->_commentsEnabled = true;
> -
> -			// fetch the custom fields
> -			$this->_customFields = $this->_request->getValue( "customField" );
> -
> -            // fetch the timestamp that the post will have
> -            if( $this->_config->getValue( "disable_javascript_calendar")) {
> -            	$this->_postDay = $this->_request->getValue( "postDay" );
> -                $this->_postMonth = $this->_request->getValue( "postMonth" );
> -                $this->_postHour = $this->_request->getValue( "postHour" );
> -                $this->_postMinutes = $this->_request->getValue( "postMinutes" );
> -                $this->_postYear = $this->_request->getValue( "postYear" );
> -            }
> -            else {
> -            	$postDateTime = $this->_request->getValue( "postDateTime" );
> -                $dateTimeParts = explode(" ", $postDateTime);
> -                $dateParts = explode("/", $dateTimeParts[0] );
> -                $timeParts = explode(":",$dateTimeParts[1] );
> -                $this->_postDay = $dateParts[0];
> -                $this->_postMonth = $dateParts[1];
> -                $this->_postYear = $dateParts[2];
> -                $this->_postHour = $timeParts[0];
> -                $this->_postMinutes = $timeParts[1];
> -            }
> -
> -            $this->_postTimestamp = new Timestamp();
> -            $this->_postTimestamp->setMinutes( $this->_postMinutes );
> -            $this->_postTimestamp->setHour( $this->_postHour );
> -            $this->_postTimestamp->setDay( $this->_postDay );
> -            $this->_postTimestamp->setMonth( $this->_postMonth );
> -            $this->_postTimestamp->setYear( $this->_postYear );
> -            return true;
> -		}
> -
> 		function perform()
> 		{
> +            $this->_fetchCommonData();
> +
>             $status = POST_STATUS_DRAFT;
>             $articles = new Articles();
> -            $postText = Textfilter::xhtmlize($this->_postText);
>
> -            $article  = new Article( $this->_postTopic, $postText, $this->_postCategories, $this->_userInfo->getId(),
> +            $article  = new Article( $this->_postTopic, $this->_postText,
> +                                     $this->_postCategories, $this->_userInfo->getId(),
>                                      $this->_blogInfo->getId(), $status, 0, Array(), $this->_postSlug );
>             // set also the date before it's too late
>             $article->setDateObject( $this->_postTimestamp );
> @@ -109,6 +53,8 @@
>             // in case the post is already in the db
>             if( $this->_postId != "" ) {
>                 $article->setId( $this->_postId );
> +                    // TODO: can a user without the update_post permission
> +                    // update using the savedraft method?
>                 $postSavedOk = $articles->updateArticle( $article );
>
>                 if( $postSavedOk )
>
> Modified: plog/branches/lifetype-1.2/class/action/admin/adminupdateblogsettingsaction.class.php
> ===================================================================
> --- plog/branches/lifetype-1.2/class/action/admin/adminupdateblogsettingsaction.class.php	2008-06-14 19:21:21 UTC (rev 6545)
> +++ plog/branches/lifetype-1.2/class/action/admin/adminupdateblogsettingsaction.class.php	2008-06-14 19:22:38 UTC (rev 6546)
> @@ -40,7 +40,6 @@
> 			$this->registerFieldValidator( "blogTemplate", new StringValidator());
> 			$this->registerFieldValidator( "blogCategory", new IntegerValidator());
> 			$this->registerFieldValidator( "blogArticlesOrder", new IntegerValidator());
> -            // TODO: validate all of these
> 			$this->registerFieldValidator( "blogAbout", new StringValidator(), true );
> 			$this->registerFieldValidator( "blogShowMoreEnabled", new IntegerValidator(), true );
> 			$this->registerFieldValidator( "blogEnableHtmlarea", new IntegerValidator(), true );
>
> Modified: plog/branches/lifetype-1.2/class/data/forms/formvalidator.class.php
> ===================================================================
> --- plog/branches/lifetype-1.2/class/data/forms/formvalidator.class.php	2008-06-14 19:21:21 UTC (rev 6545)
> +++ plog/branches/lifetype-1.2/class/data/forms/formvalidator.class.php	2008-06-14 19:22:38 UTC (rev 6546)
> @@ -111,6 +111,7 @@
> 				if($validationResult)
> 					$this->_fieldValues["$fieldName"] = $fieldValue;
> 				else {
> +                        // Note: Display unvalidated data back to user, filtering out HTML
> 					lt_include( PLOG_CLASS_PATH."class/data/textfilter.class.php" );
> 					$this->_fieldValues["$fieldName"] = Textfilter::filterAllHTML( $fieldValue );
> 				}
>
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://limedaley.com/mailman/listinfo/plog-svn
>

-- 
Jon Daley
http://jon.limedaley.com
~~
There are two ways to write error-free programs; only the third works.
-- Alan J. Perlis


More information about the pLog-svn mailing list