]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/classes/main/user/class_BaseUser.php
Ship-Simu now has its own member/guest implementations
[shipsimu.git] / inc / classes / main / user / class_BaseUser.php
index e7e4541e70623d0dcaf99a6150777ece46fa41b7..ed832a9702025e7787bbd1c59ef92fc0be9f2d00 100644 (file)
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class BaseUser extends BaseFrameworkSystem {
-       /**
-        * Instance of the database result
-        */
-       private $resultInstance = null;
+       // Exception constances
+       const EXCEPTION_USERNAME_NOT_FOUND   = 0x150;
+       const EXCEPTION_USER_EMAIL_NOT_FOUND = 0x151;
+       const EXCEPTION_USER_PASS_MISMATCH   = 0x152;
 
        /**
         * Username of current user
@@ -52,38 +52,6 @@ class BaseUser extends BaseFrameworkSystem {
                $this->removeSystemArray();
        }
 
-       /**
-        * "Getter" for databse entry
-        *
-        * @return      $entry  An array with database entries
-        * @throws      NullPointerException    If the database result is not found
-        * @throws      InvalidDatabaseResultException  If the database result is invalid
-        */
-       private function getDatabaseEntry () {
-               // Is there an instance?
-               if (is_null($this->getResultInstance())) {
-                       // Throw new exception
-                       throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
-               } // END - if
-
-               // Rewind it
-               $this->getResultInstance()->rewind();
-
-               // Do we have an entry?
-               if (!$this->getResultInstance()->valid()) {
-                       throw new InvalidDatabaseResultException(array($this, $this->resultInstance), DatabaseResult::EXCEPTION_INVALID_DATABASE_RESULT);
-               } // END - if
-
-               // Get next entry
-               $this->getResultInstance()->next();
-
-               // Fetch it
-               $entry = $this->getResultInstance()->current();
-
-               // And return it
-               return $entry;
-       }
-
        /**
         * Setter for username
         *
@@ -122,15 +90,6 @@ class BaseUser extends BaseFrameworkSystem {
                return $this->email;
        }
 
-       /**
-        * Getter for database result instance
-        *
-        * @return      $resultInstance         An instance of a database result class
-        */
-       protected final function getResultInstance () {
-               return $this->resultInstance;
-       }
-
        /**
         * Determines wether the username exists or not
         *
@@ -153,7 +112,7 @@ class BaseUser extends BaseFrameworkSystem {
                        $criteriaInstance->setLimit(1);
 
                        // Get a search result
-                       $this->resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+                       $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
                } else {
                        // Rewind it
                        $this->getResultInstance()->rewind();
@@ -191,7 +150,7 @@ class BaseUser extends BaseFrameworkSystem {
                        $criteriaInstance->setLimit(1);
 
                        // Get a search resultInstance
-                       $this->resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+                       $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
                } else {
                        // Rewind it
                        $this->getResultInstance()->rewind();
@@ -201,6 +160,15 @@ class BaseUser extends BaseFrameworkSystem {
                if ($this->getResultInstance()->next()) {
                        // Entry found
                        $exists = true;
+
+                       // Is the username set?
+                       if ($this->getUserName() == "") {
+                               // Get current entry
+                               $currEntry = $this->getResultInstance()->current();
+
+                               // Set the username
+                               $this->setUserName($currEntry['username']);
+                       } // END - if
                } // END - if
 
                // Return the status
@@ -229,7 +197,7 @@ class BaseUser extends BaseFrameworkSystem {
                $criteriaInstance->setLimit(1);
 
                // Get a search resultInstance
-               $this->resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+               $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
 
                // Search for it
                if ($this->getResultInstance()->next()) {
@@ -261,36 +229,12 @@ class BaseUser extends BaseFrameworkSystem {
                if (isset($entry['pass_hash'])) {
                        // Get it
                        $passHash = $entry['pass_hash'];
-               }
+               } // END - if
 
                // And return the hash
                return $passHash;
        }
 
-       /**
-        * Getter for field name
-        *
-        * @param       $fieldName              Field name which we shall get
-        * @return      $fieldValue             Field value from the user
-        * @todo        Do we need to secure this here against missing results?
-        */
-       public final function getField ($fieldName) {
-               // Default field value
-               $fieldValue = null;
-
-               // Get current array
-               $fieldArray = $this->getResultInstance()->current();
-
-               // Does the field exist?
-               if (isset($fieldArray[$fieldName])) {
-                       // Get it
-                       $fieldValue = $fieldArray[$fieldName];
-               } // END - if
-
-               // Return it
-               return $fieldValue;
-       }
-
        /**
         * Getter for primary key value
         *