]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/points/class_UserPoints.php
Continued:
[core.git] / framework / main / classes / points / class_UserPoints.php
index b23a6f96ee6bfb1a03a6782ed0af195800fcf736..0110e689ab55a195960dea21903c663e5743fb76 100644 (file)
@@ -3,12 +3,14 @@
 namespace Org\Mxchange\CoreFramework\User\Points;
 
 // Import framework stuff
+use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap;
 use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria;
-use Org\Mxchange\CoreFramework\Factory\Database\Wrapper\DatabaseWrapperFactory;
-use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
+use Org\Mxchange\CoreFramework\Factory\Database\Frontend\DatabaseFrontendFactory;
+use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory;
 use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
-use Org\Mxchange\CoreFramework\Request\Requestable;
+use Org\Mxchange\CoreFramework\Traits\Manager\Account\ManageableAccountTrait;
+use Org\Mxchange\CoreFramework\Traits\Result\Search\SearchableResultTrait;
 use Org\Mxchange\CoreFramework\User\ManageableAccount;
 
 /**
@@ -16,7 +18,7 @@ use Org\Mxchange\CoreFramework\User\ManageableAccount;
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2021 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -34,6 +36,10 @@ use Org\Mxchange\CoreFramework\User\ManageableAccount;
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePoints {
+       // Load traits
+       use ManageableAccountTrait;
+       use SearchableResultTrait;
+
        /**
         * Amount of points
         */
@@ -44,7 +50,7 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
         *
         * @return      void
         */
-       protected function __construct () {
+       private function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
        }
@@ -66,14 +72,14 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
                $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
 
                // Add search criteria
-               $searchInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS_UID, $userInstance->getUserId());
+               $searchInstance->addCriteria(UserPointsDatabaseFrontend::DB_COLUMN_POINTS_UID, $userInstance->getUserId());
                $searchInstance->setLimit(1);
 
-               // Get a wrapper instance
-               $wrapperInstance = DatabaseWrapperFactory::createWrapperByConfiguredName('user_points_db_wrapper_class');
+               // Get a frontend instance
+               $frontendInstance = DatabaseFrontendFactory::createFrontendByConfiguredName('user_points_db_frontend_class');
 
                // Get result back
-               $resultInstance = $wrapperInstance->doSelectByCriteria($searchInstance);
+               $resultInstance = $frontendInstance->doSelectByCriteria($searchInstance);
 
                // Advance to first entry by default
                $resultInstance->next();
@@ -116,19 +122,19 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
                $hasRequired = false;
 
                // Get the required points entry
-               $requiredPoints = $this->getConfigInstance()->getConfigEntry($action . '_action_points');
+               $requiredPoints = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry($action . '_action_points');
 
                // Rewind always
                $this->getResultInstance()->rewind();
 
                // Do we have an entry?
-               if ($this->getResultInstance()->next()) {
+               if ($this->getResultInstance()->valid()) {
                        // Get the entry
                        $currEntry = $this->getResultInstance()->current();
 
                        // Has he enought points?
                        $hasRequired = ($currEntry['points'] >= $requiredPoints);
-               } // END - if
+               }
 
                // Return the result
                return $hasRequired;
@@ -145,24 +151,24 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
                $this->getResultInstance()->rewind();
 
                // Do we have an entry?
-               if ($this->getResultInstance()->next()) {
+               if ($this->getResultInstance()->valid()) {
                        // Get the entry
-                       $entry = $this->getResultInstance()->current();
+                       $currentEntry = $this->getResultInstance()->current();
 
                        // Add the points
-                       $amount += $entry[UserPointsDatabaseWrapper::DB_COLUMN_POINTS];
+                       $amount += $currentEntry[UserPointsDatabaseFrontend::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);
+                       $updateInstance->addCriteria(UserPointsDatabaseFrontend::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');
+                       // Set frontend class name
+                       $updateInstance->setFrontendConfigEntry('user_points_db_frontend_class');
 
                        // Remember the update in database result
                        $this->getResultInstance()->add2UpdateQueue($updateInstance);
@@ -171,7 +177,7 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
                        $this->setAmount($amount);
 
                        // Create the new entry
-                       $wrapperInstance->insertUserPoints($this);
+                       $frontendInstance->insertUserPoints($this);
                }
        }
 
@@ -179,16 +185,15 @@ class UserPoints extends BaseFrameworkSystem implements Registerable, BookablePo
         * 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
         * @todo        $requestInstance is currently unused
         */
-       public function addElementsToDataSet (StoreableCriteria $criteriaInstance, Requestable $requestInstance = NULL) {
+       public function addElementsToDataSet (StoreableCriteria $criteriaInstance) {
                // Add user id
-               $criteriaInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS_UID, $this->getUserInstance()->getUserId());
+               $criteriaInstance->addCriteria(UserPointsDatabaseFrontend::DB_COLUMN_POINTS_UID, $this->getUserInstance()->getUserId());
 
                // Add amount
-               $criteriaInstance->addCriteria(UserPointsDatabaseWrapper::DB_COLUMN_POINTS, $this->getAmount());
+               $criteriaInstance->addCriteria(UserPointsDatabaseFrontend::DB_COLUMN_POINTS, $this->getAmount());
        }
 
 }