12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- namespace Shibboleth;
- use Display;
- /**
- * Status request form. Display a form allowing the user to request additional
- * rights/ another status.
- *
- * @license see /license.txt
- * @author Laurent Opprecht <laurent@opprecht.info>, Nicolas Rod for the University of Geneva
- */
- class ShibbolethStatusRequestForm
- {
- /**
- *
- * @return ShibbolethStatusRequestForm
- */
- public static function instance()
- {
- static $result = false;
- if (empty($result))
- {
- $result = new self();
- }
- return $result;
- }
- function display()
- {
- if ($this->is_submitted() && $this->get_reason() == '')
- {
- $reason_is_mandatory = get_lang('ReasonIsMandatory');
- echo Display::return_message($reason_is_mandatory, 'error');
- }
- $status_request_message = get_lang('StatusRequestMessage');
- $label_new_status = get_lang('NewStatus');
- $label_reason = get_lang('Reason');
- $label_ok = get_lang('Ok');
- $label_cancel = get_lang('Cancel');
- $user = Shibboleth::session()->user();
- $items = array();
- if ($user['status'] == Shibboleth::UNKNOWN_STATUS)
- {
- $items[Shibboleth::STUDENT_STATUS] = get_lang('Student');
- }
- $items[Shibboleth::TEACHER_STATUS] = get_lang('Teacher');
- $status_options = '';
- foreach ($items as $key => $value)
- {
- $status_options.= "<option value=\"$key\">$value</option>";
- }
- return <<<EOT
- <div id="askAccountText">
- <p>$status_request_message</p>
- </div>
- <form method="post" action="request.php" id="status_request_form">
-
- <input type="hidden" name="formPosted" value="true"/>
-
- <label for="status">$label_new_status:</label>
- <select name="status">
- $status_options
- </select>
- <label for="reason">$label_reason:</label>
- <textarea name="reason" style="min-width:400px; min-height:100px;"></textarea>
- <p><input name="submit" type="submit" value="$label_ok" style="margin-right:10px;"/><input name="cancel" type="submit" value="$label_cancel" /></p>
- </form>
- EOT;
- }
- public function is_submitted()
- {
- return isset($_POST['submit']) ? $_POST['submit'] : false;
- }
- public function cancelled()
- {
- return isset($_POST['cancel']) ? $_POST['cancel'] : false;
- }
- function get_reason()
- {
- return isset($_POST['reason']) ? $_POST['reason'] : '';
- }
- function get_status()
- {
- return isset($_POST['status']) ? $_POST['status'] : '';
- }
- }
|