Renamed Registry -> GenericRegistry to make it clear that this registry does
[core.git] / framework / main / interfaces / registration / class_UserRegister.php
1 <?php
2 // Own namespace
3 namespace Org\Mxchange\CoreFramework\Registration\User;
4
5 // Import framework stuff
6 use Org\Mxchange\CoreFramework\Criteria\Add\AddableCriteria;
7
8 /**
9  * A class for user registration
10  *
11  * @author              Roland Haeder <webmaster@shipsimu.org>
12  * @version             0.0.0
13  * @copyright   Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
14  * @license             GNU GPL 3.0 or any newer version
15  * @link                http://www.shipsimu.org
16  *
17  * This program is free software: you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation, either version 3 of the License, or
20  * (at your option) any later version.
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program. If not, see <http://www.gnu.org/licenses/>.
29  */
30 interface UserRegister extends AddableCriteria {
31         /**
32          * Encrypt given request key or throws an exception if key was not found in
33          * request.
34          *
35          * @param       $requestKey             Key in request class
36          * @return      void
37          */
38         function encryptPassword ($requestKey);
39
40         /**
41          * Perform things like informing assigned affilates about new registration
42          * before registration
43          *
44          * @return      void
45          */
46         function doPreRegistration ();
47
48         /**
49          * Registers the new user account by insterting the request data into the
50          * database and paying some start credits or throw exceptions if this fails
51          *
52          * @return      void
53          */
54         function registerNewUser ();
55
56         /**
57          * Perform things like notifying partner websites after registration is done
58          *
59          * @return      void
60          */
61         function doPostRegistration ();
62
63         /**
64          * Do the action which is required after all registration steps are done.
65          * This can be a simple redirect to another webpage or displaying a message
66          * to the user. Or this can be a login step into the newly created account.
67          *
68          * @return      void
69          */
70         function doPostAction ();
71
72 }