]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/points/class_UserPoints.php
Renamed classes/main/ to main/classes/ + added FuseFeature, an upcoming feature
[core.git] / inc / classes / main / points / class_UserPoints.php
diff --git a/inc/classes/main/points/class_UserPoints.php b/inc/classes/main/points/class_UserPoints.php
deleted file mode 100644 (file)
index 428868d..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<?php
-/**
- * A class for handling user points which can be real or Internet currency
- *
- * @author             Roland Haeder <webmaster@shipsimu.org>
- * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
- * @license            GNU GPL 3.0 or any newer version
- * @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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePoints {
-       /**
-        * Amount of points
-        */
-       private $amount = 0;
-
-       /**
-        * Protected constructor
-        *
-        * @return      void
-        */
-       protected function __construct () {
-               // Call parent constructor
-               parent::__construct(__CLASS__);
-       }
-
-       /**
-        * Creates an instance of this points class
-        *
-        * @param       $userInstance           An instance of a user class
-        * @return      $pointsInstance         An instance of this class
-        */
-       public static final function createUserPoints (ManageableAccount $userInstance) {
-               // Get a new instance
-               $pointsInstance = new UserPoints();
-
-               // Set user instance
-               $pointsInstance->setUserInstance($userInstance);
-
-               // Get a critieria instance
-               $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
-
-               // Add search criteria
-               $searchInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS_UID, $userInstance->getUserId());
-               $searchInstance->setLimit(1);
-
-               // Get a wrapper instance
-               $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);
-
-               // Return instance
-               return $pointsInstance;
-       }
-
-       /**
-        * Setter for amount
-        *
-        * @param       $amount         Amount of points to store
-        * @return      void
-        */
-       public final function setAmount ($amount) {
-               $this->amount = (float) $amount;
-       }
-
-       /**
-        * Getter for amount
-        *
-        * @return      $amount         Amount of points to store
-        */
-       public final function getAmount () {
-               return $this->amount;
-       }
-
-       /**
-        * 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    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;
-
-               // 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
-                       $currEntry = $this->getResultInstance()->current();
-
-                       // Has he enought points?
-                       $hasRequired = ($currEntry['points'] >= $requiredPoints);
-               } // END - if
-
-               // Return the result
-               return $hasRequired;
-       }
-
-       /**
-        * "Books" the given points amount on the current user's account
-        *
-        * @param       $amount         Amount of points we shall book
-        * @return      void
-        */
-       public function bookPointsDirectly ($amount) {
-               // Rewind always
-               $this->getResultInstance()->rewind();
-
-               // Do we have an entry?
-               if ($this->getResultInstance()->next()) {
-                       // Get the entry
-                       $entry = $this->getResultInstance()->current();
-
-                       // Add the points
-                       $amount += $entry[UserPointsDatabaseWrapper::DB_COLUMN_POINTS];
-
-                       // Now get another criteria
-                       $updateInstance = ObjectFactory::createObjectByConfiguredName('update_criteria_class');
-
-                       // And add our both entries
-                       $updateInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS, $amount);
-
-                       // Add the search criteria for searching for the right entry
-                       $updateInstance->setSearchInstance($searchInstance);
-
-                       // Set wrapper class name
-                       $updateInstance->setWrapperConfigEntry('user_points_db_wrapper_class');
-
-                       // Remember the update in database result
-                       $this->getResultInstance()->add2UpdateQueue($updateInstance);
-               } else {
-                       // Set the amount in class
-                       $this->setAmount($amount);
-
-                       // Create the new entry
-                       $wrapperInstance->insertUserPoints($this);
-               }
-       }
-
-       /**
-        * Adds registration elements to a given dataset instance
-        *
-        * @param       $criteriaInstance       An instance of a StoreableCriteria class
-        * @param       $requestInstance        An instance of a Requestable class
-        * @return      void
-        */
-       public function addElementsToDataSet (StoreableCriteria $criteriaInstance, Requestable $requestInstance = NULL) {
-               // Add user id
-               $criteriaInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS_UID, $this->getUserInstance()->getUserId());
-
-               // Add amount
-               $criteriaInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS, $this->getAmount());
-       }
-}
-
-// [EOF]
-?>