X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=application%2Fship-simu%2Fmain%2Fuser%2Fextended%2Fclass_ShipSimuMember.php;h=5efdf8de819c0408b30593e7b309e98ef3f30d0a;hp=98e7a2a5976168cd04757126bd56e8386a8a3f0f;hb=2b7c3e43b2fe0f3c5ae0455d13fa7743b638049f;hpb=5bf79580029c4f6ee71e6c9e7890169e4b344def diff --git a/application/ship-simu/main/user/extended/class_ShipSimuMember.php b/application/ship-simu/main/user/extended/class_ShipSimuMember.php index 98e7a2a..5efdf8d 100644 --- a/application/ship-simu/main/user/extended/class_ShipSimuMember.php +++ b/application/ship-simu/main/user/extended/class_ShipSimuMember.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class ShipSimuMember extends ShipSimuBaseUser implements ManageableMember { +class ShipSimuMember extends ShipSimuBaseUser implements ManageableMember, BookableAccount { /** * Protected constructor * @@ -151,10 +151,40 @@ class ShipSimuMember extends ShipSimuBaseUser implements ManageableMember { // Add the search criteria for searching for the right entry $updateInstance->setSearchInstance($searchInstance); + // Set wrapper class name + $updateInstance->setWrapperConfigEntry('user_db_wrapper_class'); + // Remember the update in database result $this->getResultInstance()->add2UpdateQueue($updateInstance); } + /** + * Books the given 'amount' in the request instance on the users "points + * account" + * + * @param $requestInstance An instance of a Requestable class + * @return void + */ + public function bookAmountDirectly (Requestable $requestInstance) { + // Get the points class from registry + $pointsInstance = Registry::getRegistry()->getInstance('points'); + + // Is the points instance null? + if (is_null($pointsInstance)) { + // Then get a new one + $pointsInstance = ObjectFactory::createObjectByConfiguredName('user_points_class', array($this)); + + // And store it in registry + Registry::getRegistry()->addInstance('points', $pointsInstance); + } // END - if + + // Get the amount + $amount = $requestInstance->getRequestElement('amount'); + + // Call the method for booking points + $pointsInstance->bookPointsDirectly($amount); + } + /** * Flushs all pending updates to the database layer *