Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
form_question_type_email_address.inc
1 <?php
18 require_once dirname(__FILE__).'/../form_question_type_text/form_question_type_text.inc';
19 require_once SQ_FUDGE_PATH.'/general/www.inc';
20 
21 
34 {
35 
36 
44  function Form_Question_Type_Email_Address($assetid=0, $data=Array())
45  {
46  $this->Form_Question_Type_Text($assetid, $data);
47 
48  }//end constructor
49 
50 
59  function getAllowedRules()
60  {
61  return Array('comparison', 'found_in', 'contain', 'length', 'begins_with', 'ends_with');
62 
63  }//end getAllowedRules()
64 
65 
81  function hasValidValue($answer=NULL, $mute_errors=FALSE)
82  {
83  if (is_null($answer)) $answer = $this->getValue();
84 
85  if (empty($answer)) {
86  return parent::hasValidValue($answer, $mute_errors);
87  }
88 
89  // Since we know the answer is not empty, borrow a 'valid email address' rule
90  $req_rule = Array('rule_code' => 'email', 'operator' => '1', 'value' => '');
91  array_push($this->vars['rules']['value'],$req_rule);
92  $ok = parent::hasValidValue($answer, $mute_errors);
93  array_pop($this->vars['rules']['value']);
94  return $ok;
95 
96  }//end hasValidValue()
97 
98 
108  function generateJSCode()
109  {
110  // borrow a valid email rule
111  $req_rule = Array('rule_code' => 'email', 'operator' => '1', 'value' => '');
112  array_push($this->vars['rules']['value'],$req_rule);
113 
114  $code = parent::generateJSCode();
115 
116  array_pop($this->vars['rules']['value']);
117 
118  return $code;
119 
120  }//end generateJSCode()
121 
122 
123 }//end class
124 ?>