1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47:
48: class PersonView extends AlphaView {
49:
50: 51: 52: 53: 54: 55:
56: public function displayLoginForm() {
57: global $config;
58:
59: $html = '<div class="bordered padded">';
60: $html .= "<h1>Login</h1>";
61: $html .= '<form action="'.FrontController::generateSecureURL('act=Login&no-forceframe=true').'" method="POST" id="loginForm" accept-charset="UTF-8">';
62:
63: $email = new String(isset($_POST['email']) ? $_POST['email'] : '');
64: $email->setRule(AlphaValidator::REQUIRED_EMAIL);
65: $email->setSize(70);
66: $email->setHelper('Please provide a valid e-mail address!');
67: $stringBox = new StringBox($email, $this->BO->getDataLabel('email'), 'email', 'loginForm', '50');
68: $html .= $stringBox->render();
69:
70: $password = new String();
71: $password->isPassword();
72:
73: $stringBox = new StringBox($password, $this->BO->getDataLabel('password'), 'password', 'loginForm', '50');
74: $html .= $stringBox->render();
75:
76: $temp = new Button('submit', 'Login', 'loginBut');
77: $html .= '<div class="centered">'.$temp->render(80).'</div>';
78:
79: $html .= $this->renderSecurityFields();
80:
81: $html .= '</form>';
82:
83: $html .= '<p><a href="'.FrontController::generateSecureURL('act=Login&reset=true&no-forceframe=true').'">Forgotten your password?</a></p>';
84: $html .= '</div>';
85:
86: return $html;
87: }
88:
89: 90: 91: 92: 93: 94:
95: public function displayResetForm() {
96: global $config;
97:
98: $html = '<div class="bordered padded">';
99: $html .= '<h1>Password reset</h1>';
100: $html .= '<p>If you have forgotten your password, you can use this form to have a new password automatically generated and sent to your e-mail address.</p>';
101: $html .= '<form action="'.FrontController::generateSecureURL('act=Login&reset=true&no-forceframe=true').'" method="POST" id="resetForm" accept-charset="UTF-8">';
102:
103: $email = new String(isset($_POST['email']) ? $_POST['email'] : '');
104: $email->setRule(AlphaValidator::REQUIRED_EMAIL);
105: $email->setSize(70);
106: $email->setHelper('Please provide a valid e-mail address!');
107: $stringBox = new StringBox($email, $this->BO->getDataLabel('email'), 'email', 'resetForm', '50');
108: $html .= $stringBox->render();
109:
110: $html .= '<div class="form-group lower spread">';
111:
112: $temp = new Button('submit', 'Reset Password', 'resetBut');
113: $html .= $temp->render();
114:
115: $temp = new Button("document.location.replace('".$config->get('app.url')."')", 'Cancel', 'cancelBut');
116: $html .= $temp->render();
117:
118: $html .= '</div>';
119:
120: $html .= $this->renderSecurityFields();
121:
122: $html .= '</form>';
123: $html .= '</div>';
124:
125: return $html;
126: }
127:
128: 129: 130: 131: 132: 133:
134: public function displayRegisterForm() {
135: global $config;
136:
137: $html = '<p>In order to access this site, you will need to create a user account. In order to do so, please provide a valid email address below and a password will be sent to your inbox shortly (you can change your password once you log in).</p>';
138: $html .= '<table cols="2">';
139: $html .= '<form action="'.$_SERVER["PHP_SELF"].'?reset=true" method="POST" accept-charset="UTF-8">';
140: $html .= '<tr>';
141: if($config->get('security.encrypt.http.fieldnames'))
142: $fieldname = base64_encode(AlphaSecurityUtils::encrypt('displayname'));
143: else
144: $fieldname = 'displayname';
145: $html .= ' <td>Forum name</td> <td><input type="text" name="'.$fieldname.'" size="50" value="'.(isset($_POST[$fieldname])? $_POST[$fieldname] : '').'"/></td>';
146: $html .= '</tr>';
147: $html .= '<tr>';
148: if($config->get('security.encrypt.http.fieldnames'))
149: $fieldname = base64_encode(AlphaSecurityUtils::encrypt('email'));
150: else
151: $fieldname = 'email';
152: $html .= ' <td>E-mail Address</td> <td><input type="text" name="'.$fieldname.'" size="50" value="'.(isset($_POST[$fieldname])? $_POST[$fieldname] : '').'"/></td>';
153: $html .= '</tr>';
154: $html .= '<tr><td colspan="2">';
155: $temp = new Button("submit","Register","registerBut");
156: $html .= $temp->render();
157: $html .= ' ';
158: $temp = new Button("document.location.replace('".$config->get('app.url')."')","Cancel","cancelBut");
159: $html .= $temp->render();
160: $html .= '</td></tr>';
161:
162: $html .= $this->renderSecurityFields();
163:
164: $html .= '</form>';
165: $html .= '</table>';
166:
167: return $html;
168: }
169: }
170:
171: ?>