From: <var...@us...> - 2010-03-04 12:17:23
|
Revision: 7303 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7303&view=rev Author: vargenau Date: 2010-03-04 12:17:14 +0000 (Thu, 04 Mar 2010) Log Message: ----------- In PHP5, you have to clone UserPreferences so that WatchPage works Modified Paths: -------------- trunk/lib/WikiUserNew.php trunk/lib/plugin/WatchPage.php Modified: trunk/lib/WikiUserNew.php =================================================================== --- trunk/lib/WikiUserNew.php 2010-03-04 10:48:07 UTC (rev 7302) +++ trunk/lib/WikiUserNew.php 2010-03-04 12:17:14 UTC (rev 7303) @@ -1964,6 +1964,14 @@ } } + function __clone() { + foreach ($this as $key => $val) { + if (is_object($val) || (is_array($val))) { + $this->{$key} = unserialize(serialize($val)); + } + } + } + function _getPref($name) { if ($name == 'emailVerified') $name = 'email'; Modified: trunk/lib/plugin/WatchPage.php =================================================================== --- trunk/lib/plugin/WatchPage.php 2010-03-04 10:48:07 UTC (rev 7302) +++ trunk/lib/plugin/WatchPage.php 2010-03-04 12:17:14 UTC (rev 7303) @@ -154,7 +154,7 @@ } elseif ($add and $request->getArg('verify')) { // this is not executed so far. // add page to watchlist, verified - $rp = $user->getPreferences(); + $rp = clone($user->getPreferences()); $rp->set('notifyPages', $this->addpagelist($page, $pagelist)); $user->setPreferences($rp); $request->_setUser($user); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |