Copyright updated, menu class added for 'home'
[shipsimu.git] / application / ship-simu / main / user / class_ShipSimuBaseUser.php
index 563c968..96a107f 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @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
  *
@@ -42,14 +42,14 @@ class ShipSimuBaseUser extends BaseUser implements Registerable, Updateable {
                // Get max allowed companies to found
                $maxFound = $this->getConfigInstance()->readConfig('max_allowed_companies_found');
 
-               // Get a company wrapper
-               $wrapperInstance = ObjectFactory::createObjectByConfiguredName('company_db_wrapper_class');
-
                // Now get a search criteria and set the user's name as criteria
                $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
                $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName());
                $criteriaInstance->setLimit($maxFound);
 
+               // Get a company wrapper
+               $wrapperInstance = ObjectFactory::createObjectByConfiguredName('company_db_wrapper_class');
+
                // Do the count-select by criteria
                $totalRows = $wrapperInstance->doSelectCountByCriteria($criteriaInstance);
 
@@ -76,56 +76,88 @@ class ShipSimuBaseUser extends BaseUser implements Registerable, Updateable {
                // Is there an instance?
                if (is_null($pointsInstance)) {
                        // Then create one
-                       $pointsInstance = ObjectFactory::createObjectByConfiguredName('user_ppints_class', array($this));
+                       $pointsInstance = ObjectFactory::createObjectByConfiguredName('user_points_class', array($this));
 
                        // And store it in registry
                        Registry::getRegistry()->addInstance('points', $pointsInstance);
                } // END - if
 
                // Just forward this request to the user points class
-               $hasRequired = $pointsInstance->ifUserHasRequiredPoints ($action);
+               $hasRequired = $pointsInstance->ifUserHasRequiredPoints($action);
 
                // Return the result
                return $hasRequired;
        }
 
        /**
-        * Determines if the goverment can still pay a "startup help" to the user
+        * Determines if government can still pay a "virtual training course" in general
+        *
+        * @return      $ifGovHelps             Wether if government helps the user with a virtual training course
+        */
+       public function ifGovernmentPaysTraining () {
+               // By default they want to help.
+               $ifGovHelps = true;
+
+               // First get a government instance from registry
+               $governmentInstance = Registry::getRegistry()->getInstance('government');
+
+               // Is it there?
+               if (is_null($governmentInstance)) {
+                       // Then create a new one
+                       $governmentInstance = ObjectFactory::createObjectByConfiguredName('government_class', array($this));
+
+                       // Store it in registry
+                       Registry::getRegistry()->addInstance('government', $governmentInstance);
+               } // END - if
+
+               // Then ask the government if they want to pay a "startup help" to the user
+               if ($governmentInstance->ifGovernmentAlreadyPayedTraining()) {
+                       // Training already given!
+                       $ifGovHelps = false;
+               } // END - if
+
+               // Return result here
+               return $ifGovHelps;
+       }
+
+       /**
+        * Determines if government can still pay a "startup help" to the user
         *
-        * @return      $ifGovHelped    Wether if the goverment has helped the user with startup
+        * @return      $ifGovHelps             Wether if government helps the user with some startup money
         */
-       public function ifGovermentPaysStartupHelp () {
-               // By default they have not payed, which is indeed good. ;-)
-               $ifGovHelped = false;
+       public function ifGovernmentPaysStartupHelp () {
+               // By default they want to help.
+               $ifGovHelps = true;
 
-               // First get a goverment instance from registry
-               $govermentInstance = Registry::getRegistry()->getInstance('goverment');
+               // First get a government instance from registry
+               $governmentInstance = Registry::getRegistry()->getInstance('government');
 
                // Is it there?
-               if (is_null($govermentInstance)) {
+               if (is_null($governmentInstance)) {
                        // Then create a new one
-                       $govermentInstance = ObjectFactory::createObjectByConfiguredName('goverment_class', array($this));
+                       $governmentInstance = ObjectFactory::createObjectByConfiguredName('government_class', array($this));
 
                        // Store it in registry
-                       Registry::getRegistry()->addInstance('goverment', $govermentInstance);
+                       Registry::getRegistry()->addInstance('government', $governmentInstance);
                } // END - if
 
-               // Then ask the goverment if they want to pay a "startup help" to the user
-               if ($govermentInstance->ifGovermentAlreadyPayedsStartupHelp()) {
+               // Then ask the government if they want to pay a "startup help" to the user
+               if ($governmentInstance->ifGovernmentPayedMaxmimumStartupHelp()) {
                        // They can't pay anymore to the user (excited amount)
-                       $ifGovHelped = true;
+                       $ifGovHelps = false;
                } // END - if
 
                // Return result here
-               return $ifGovHelped;
+               return $ifGovHelps;
        }
 
        /**
         * Checks wether the user can take points from the money bank
         *
         * @return      $bankLends      Wether the money bank is able to lend money
+        * @todo        Need to implement MoneyBank::ifBankLendsMoreMoney()
         */
-       public function ifUserAllowTakeCreditsFromMoneyBank () {
+       public function ifUserAllowedTakeCreditsFromMoneyBank () {
                // Per default the money bank cannot pay
                $bankLends = false;
 
@@ -142,10 +174,12 @@ class ShipSimuBaseUser extends BaseUser implements Registerable, Updateable {
                } // END - if
 
                // Does the money bank lend more money?
+               /* UNFINISED:
                if ($bankInstance->ifBankLendsMoreMoney()) {
                        // Okay, that they will do
                        $bankLends = true;
                } // END - if
+               */
 
                // Return result
                return $bankLends;
@@ -157,6 +191,7 @@ class ShipSimuBaseUser extends BaseUser implements Registerable, Updateable {
         * credits from the bank.
         *
         * @return      $hasMaxCredits  Wether the user has maximum credits with the bank
+        * @todo        Need to check the bank if they can lend more money
         */
        public function ifUserHasMaximumCreditsWithMoneyBank () {
                // For default he can still get money
@@ -175,10 +210,12 @@ class ShipSimuBaseUser extends BaseUser implements Registerable, Updateable {
                } // END - if
 
                // Now check if the user has maximum credits
+               /** UNFINISHED PART!
                if ($bankInstance->ifUserHasMaxCredits()) {
                        // Yes, he does!
                        $hasMaxCredits = true;
                } // END - if
+               */
 
                // Return the result
                return $hasMaxCredits;