X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fpoints%2Fclass_UserPoints.php;h=428868d80ff28b50f697b4da1696113436d4ef68;hp=f4dbad4d5cb57280a2d94ae915b47b4f17d56096;hb=3cbaa685d35683473f2a13107999108344df2aa7;hpb=afc9d5686bbf81324095f687ec007c1818c7dc21 diff --git a/inc/classes/main/points/class_UserPoints.php b/inc/classes/main/points/class_UserPoints.php index f4dbad4d..428868d8 100644 --- a/inc/classes/main/points/class_UserPoints.php +++ b/inc/classes/main/points/class_UserPoints.php @@ -2,11 +2,11 @@ /** * A class for handling user points which can be real or Internet currency * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,7 +43,7 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo * @param $userInstance An instance of a user class * @return $pointsInstance An instance of this class */ - public final static function createUserPoints (ManageableAccount $userInstance) { + public static final function createUserPoints (ManageableAccount $userInstance) { // Get a new instance $pointsInstance = new UserPoints(); @@ -58,11 +58,14 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo $searchInstance->setLimit(1); // Get a wrapper instance - $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_points_db_wrapper_class'); + $wrapperInstance = DatabaseWrapperFactory::createWrapperByConfiguredName('user_points_db_wrapper_class'); // Get result back $resultInstance = $wrapperInstance->doSelectByCriteria($searchInstance); + // Advance to first entry by default + $resultInstance->next(); + // Set it in this instance $pointsInstance->setResultInstance($resultInstance); @@ -90,19 +93,22 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo } /** - * Checks wether the user has the required amount of points left for the specified action + * Checks whether the user has the required amount of points left for the specified action * * @param $action The action or configuration entry plus prefix the user wants to perform - * @return $hasRequired Wether the user has the required points + * @return $hasRequired Whether the user has the required points * @todo Finish loading part of points */ public function ifUserHasRequiredPoints ($action) { // Default is that everyone is poor... ;-) - $hasRequired = false; + $hasRequired = FALSE; // Get the required points entry $requiredPoints = $this->getConfigInstance()->getConfigEntry($action . '_action_points'); + // Rewind always + $this->getResultInstance()->rewind(); + // Do we have an entry? if ($this->getResultInstance()->next()) { // Get the entry @@ -122,7 +128,10 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo * @param $amount Amount of points we shall book * @return void */ - function bookPointsDirectly ($amount) { + public function bookPointsDirectly ($amount) { + // Rewind always + $this->getResultInstance()->rewind(); + // Do we have an entry? if ($this->getResultInstance()->next()) { // Get the entry @@ -157,10 +166,11 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo /** * Adds registration elements to a given dataset instance * - * @param $criteriaInstance An instance of a storeable criteria + * @param $criteriaInstance An instance of a StoreableCriteria class + * @param $requestInstance An instance of a Requestable class * @return void */ - public function addElementsToDataSet (StoreableCriteria $criteriaInstance) { + public function addElementsToDataSet (StoreableCriteria $criteriaInstance, Requestable $requestInstance = NULL) { // Add user id $criteriaInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS_UID, $this->getUserInstance()->getUserId());