* @version 0.0.0 * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.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 . */ class ShipSimuRegistration extends BaseRegistration { /** * Hashed password */ private $hashedPassword = ""; /** * Private constructor * * @return void */ protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); // Set part description $this->setObjectDescription("Ship-Simu registration class"); // Create unique ID number $this->createUniqueID(); } /** * Create a new instance * * @return $registrationInstance An instance of this registration class */ public final static function createShipSimuRegistration () { // Get a new instance $registrationInstance = new ShipSimuRegistration(); // And return it return $registrationInstance; } /** * Encrypt the given request key or throw an exception if the key was not * found in the request * * @param $requestKey Key in request class * @return void */ public function encryptPassword ($requestKey) { // Check if the password is found in the request if ($this->getRequestInstance()->isRequestElementSet($requestKey)) { // So encrypt the password and store it for later usage in // the request: // 1.: Get the plain password $plainPassword = $this->getRequestInstance()->getRequestElement($requestKey); // 2. Get a crypto helper and hash the password $this->hashedPassword = ObjectFactory::createObjectByConfiguredName('crypto_heler')->hashPassword($plainPassword); // 3. Store the hash back in the request $this->getRequestInstance()->setRequestElement('pass_hash', $this->hashedPassword); } } /** * Perform things like informing assigned affilates about new registration * before registration * * @return void */ public function doPreRegistration () { $this->partialStub(); } /** * Registers the new user account by insterting the request data into the * database and paying some start credits or throw exceptions if this fails * * @return void */ public function registerNewUser () { $this->partialStub(); } /** * Perform things like notifying partner websites after registration is done * * @return void */ public function doPostRegistration () { $this->partialStub(); } /** * Do the action which is required after all registration steps are done. * This can be a simple redirect to another webpage or displaying a message * to the user. Or this can be a login step into the newly created account. * * @return void */ public function doPostAction () { $this->partialStub(); } } // ?>