1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
15: class Horde_Core_Auth_Signup_Form extends Horde_Form
16: {
17: 18: 19:
20: protected $_useFormToken = true;
21:
22: 23: 24: 25: 26:
27: public function __construct(&$vars)
28: {
29: parent::__construct($vars, Horde_Core_Translation::t("Sign up for an account"));
30:
31: $this->setButtons(Horde_Core_Translation::t("Sign up"));
32:
33: $this->addHidden('', 'url', 'text', false);
34:
35:
36: try {
37: $extra = Horde::callHook('signup_getextra');
38: } catch (Horde_Exception_HookNotSet $e) {}
39:
40: if (!empty($extra)) {
41: if (!isset($extra['user_name'])) {
42: $this->addVariable(Horde_Core_Translation::t("Choose a username"), 'user_name', 'text', true);
43: }
44: if (!isset($extra['password'])) {
45: $this->addVariable(Horde_Core_Translation::t("Choose a password"), 'password', 'passwordconfirm', true, false, Horde_Core_Translation::t("Type your password twice to confirm"));
46: }
47: foreach ($extra as $field_name => $field) {
48: $readonly = isset($field['readonly']) ? $field['readonly'] : null;
49: $desc = isset($field['desc']) ? $field['desc'] : null;
50: $required = isset($field['required']) ? $field['required'] : false;
51: $field_params = isset($field['params']) ? $field['params'] : array();
52:
53: $this->addVariable($field['label'], 'extra[' . $field_name . ']',
54: $field['type'], $required, $readonly,
55: $desc, $field_params);
56: }
57: } else {
58: $this->addVariable(Horde_Core_Translation::t("Choose a username"), 'user_name', 'text', true);
59: $this->addVariable(Horde_Core_Translation::t("Choose a password"), 'password', 'passwordconfirm', true, false, Horde_Core_Translation::t("Type your password twice to confirm"));
60: }
61: }
62:
63: 64: 65: 66: 67: 68: 69:
70: public function getInfo($vars, &$info)
71: {
72: parent::getInfo($vars, $info);
73:
74: if (!isset($info['user_name']) && isset($info['extra']['user_name'])) {
75: $info['user_name'] = $info['extra']['user_name'];
76: }
77:
78: if (!isset($info['password']) && isset($info['extra']['password'])) {
79: $info['password'] = $info['extra']['password'];
80: }
81: }
82:
83: 84: 85:
86: function getRenderer($params = array())
87: {
88: $renderer = new Horde_Core_Ui_ModalFormRenderer($params);
89: return $renderer;
90: }
91: }
92: