[pLog-svn] r6547 - in plog/branches/lifetype-1.2/class: action/admin data/forms
jondaley at devel.lifetype.net
jondaley at devel.lifetype.net
Sat Jun 14 15:23:49 EDT 2008
Author: jondaley
Date: 2008-06-14 15:23:49 -0400 (Sat, 14 Jun 2008)
New Revision: 6547
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:
reverted rev6546, that wasn't supposed to be checked in all at once
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:22:38 UTC (rev 6546)
+++ plog/branches/lifetype-1.2/class/action/admin/adminpostmanagementcommonaction.class.php 2008-06-14 19:23:49 UTC (rev 6547)
@@ -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(), true );
+ $this->registerFieldValidator( "postId", new IntegerValidator() );
$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:22:38 UTC (rev 6546)
+++ plog/branches/lifetype-1.2/class/action/admin/adminsavedraftarticleajaxaction.class.php 2008-06-14 19:23:49 UTC (rev 6547)
@@ -1,6 +1,6 @@
<?php
- lt_include( PLOG_CLASS_PATH."class/action/admin/adminpostmanagementcommonaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.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,30 +9,86 @@
* \ingroup Action
* @private
*/
- class AdminSaveDraftArticleAjaxAction extends AdminPostManagementCommonAction
+ class AdminSaveDraftArticleAjaxAction extends AdminAction
{
+
+ var $_postText;
+ var $_postTopic;
+
function AdminSaveDraftArticleAjaxAction( $actionInfo, $request )
{
- $this->AdminPostManagementCommonAction( $actionInfo, $request );
+ $this->AdminAction( $actionInfo, $request );
+ }
- $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 );
+ // 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" );
- $this->requirePermission( "add_post" );
- }
+ // 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" ) );
+ 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, $this->_postText,
- $this->_postCategories, $this->_userInfo->getId(),
+ $article = new Article( $this->_postTopic, $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 );
@@ -53,8 +109,6 @@
// 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:22:38 UTC (rev 6546)
+++ plog/branches/lifetype-1.2/class/action/admin/adminupdateblogsettingsaction.class.php 2008-06-14 19:23:49 UTC (rev 6547)
@@ -40,6 +40,7 @@
$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:22:38 UTC (rev 6546)
+++ plog/branches/lifetype-1.2/class/data/forms/formvalidator.class.php 2008-06-14 19:23:49 UTC (rev 6547)
@@ -111,7 +111,6 @@
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 );
}
More information about the pLog-svn
mailing list