[pLog-svn] r6130 - in plugins/branches/lifetype-1.2/closecomments: . class/security
Jon Daley
plogworld at jon.limedaley.com
Wed Dec 26 15:01:48 EST 2007
ick. It seems like we might find all sorts of bugs like this. I
never liked Java references either.
On Wed, 26 Dec 2007, jondaley at devel.lifetype.net wrote:
> Author: jondaley
> Date: 2007-12-26 14:55:29 -0500 (Wed, 26 Dec 2007)
> New Revision: 6130
>
> Modified:
> plugins/branches/lifetype-1.2/closecomments/class/security/closecomments.class.php
> plugins/branches/lifetype-1.2/closecomments/pluginclosecomments.class.php
> Log:
> fixed http://bugs.lifetype.net/view.php?id=1427 where php5 is returning a reference and causing issues
>
> Modified: plugins/branches/lifetype-1.2/closecomments/class/security/closecomments.class.php
> ===================================================================
> --- plugins/branches/lifetype-1.2/closecomments/class/security/closecomments.class.php 2007-12-24 20:35:56 UTC (rev 6129)
> +++ plugins/branches/lifetype-1.2/closecomments/class/security/closecomments.class.php 2007-12-26 19:55:29 UTC (rev 6130)
> @@ -33,6 +33,13 @@
> return $result;
> }
>
> + // if this is already rejected, there is no reason to do anything here
> + if( $request->getValue( "op" ) == "AddComment" &&
> + $this->_pipelineRequest->getRejectedState() )
> + {
> + return new PipelineResult();
> + }
> +
> // otherwise let's proceed
> lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );
> $articles = new Articles();
> @@ -51,7 +58,12 @@
> return $result;
> }
>
> - $postDate = $article->getDateObject();
> + // getDateObject returns a reference in PHP5,
> + // so we need a copy to avoid changing the original
> + $sharedDate = $article->getDateObject();
> + $postDate = new Timestamp();
> + $postDate->copy($sharedDate);
> +
> $settings = $blogInfo->getSettings();
> $period = $settings->getValue( "plugin_closecomments_period", DEFAULT_CLOSECOMMENTS_PERIOD );
> $postDate->addSeconds( $period * 24 * 3600 );
> @@ -60,7 +72,7 @@
> //print("date+period = ".$postDate->getTimestamp()." - now = ".$now->getTimestamp()."<br/>");
>
> if( $postDate->getTimestamp() < $now->getTimestamp()) {
> - //print( "Closing comments!" );
> +// print( "Closing comments!" );
> lt_include( PLOG_CLASS_PATH."class/template/cachecontrol.class.php" );
> if( $article->getCommentsEnabled()) {
> $article->setCommentsEnabled( false );
>
> Modified: plugins/branches/lifetype-1.2/closecomments/pluginclosecomments.class.php
> ===================================================================
> --- plugins/branches/lifetype-1.2/closecomments/pluginclosecomments.class.php 2007-12-24 20:35:56 UTC (rev 6129)
> +++ plugins/branches/lifetype-1.2/closecomments/pluginclosecomments.class.php 2007-12-26 19:55:29 UTC (rev 6130)
> @@ -16,7 +16,7 @@
>
> $this->id = "closecomments";
> $this->author = "The LifeType Team";
> - $this->version = "20070331";
> + $this->version = "20071226";
> $this->desc = "Allows to automatically close comments for posts that are older than a configurable certain date";
>
> // register our admin actions and menu entries
> @@ -52,15 +52,17 @@
>
> // get the post and check if we should close its comments, based on the current settings
> $article = $params["article"];
> - $postDate = $article->getDateObject();
> + // getDateObject returns a reference in PHP5,
> + // so we need a copy to avoid changing the original
> + $sharedDate = $article->getDateObject();
> + $postDate = new Timestamp();
> + $postDate->copy($sharedDate);
> $period = $settings->getValue( "plugin_closecomments_period", DEFAULT_CLOSECOMMENTS_PERIOD );
> $postDate->addSeconds( $period * 24 * 3600 );
> $now = new Timestamp();
>
> - //print("date+period = ".$postDate->getTimestamp()." - now = ".$now->getTimestamp()."<br/>");
> -
> if( $postDate->getTimestamp() < $now->getTimestamp()) {
> - //print( "Closing comments!" );
> +// print( "Closing comments!" );
> lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );
> if( $article->getCommentsEnabled()) {
> $article->setCommentsEnabled( false );
>
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://limedaley.com/mailman/listinfo/plog-svn
>
--
Jon Daley
http://jon.limedaley.com/
It always takes longer than you expect, even when you take into
account Hofstadter's Law.
-- Hofstadter's Law
More information about the pLog-svn
mailing list