1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
12:
13: 14: 15: 16: 17: 18: 19: 20:
21: class Form_Element_Textarea extends Form_Field
22: {
23: 24: 25: 26: 27: 28: 29:
30: public function __construct($nom,$form)
31: {
32: parent::__construct($nom,$form);
33: $this->attrs['name'] = $nom;
34: }
35:
36: 37: 38: 39: 40: 41: 42:
43: public function cols($val)
44: {
45: if(ctype_digit((string)$val) && $val>0)
46: $this->attrs['cols'] = $val;
47: else
48: unset($this->attrs['cols']);
49: return $this;
50: }
51:
52: 53: 54: 55: 56: 57: 58:
59: public function rows($val)
60: {
61: if(ctype_digit((string)$val) && $val>0)
62: $this->attrs['rows'] = $val;
63: else
64: unset($this->attrs['rows']);
65: return $this;
66: }
67:
68: 69: 70: 71: 72: 73:
74: public function __toString()
75: {
76: $css = $this->cssClass();
77: $label='';
78: if(!empty($this->label))
79: {
80: $label = "\t".'<label for="'.$this->attrs['id'].'" class="'.$this->cssLabel.'">'.$this->label.'</label>'."\n";
81: if($this->labelNewLine)
82: $label.="\t".'<br />'."\n";
83: }
84: $attributs = $this->attrsToString();
85:
86: $value = $this->form->getPostedvalue($this->attrs['name']);
87: if(empty($value))
88: $value = $this->value;
89:
90: $error = '';
91: if(!is_null($this->errorMsg))
92: {
93: $error='<span class="'.$this->errorClass.'">'.$this->errorMsg.'</span><br />';
94: }
95:
96: $field = "\t".'<textarea '.$css.' '.$attributs.'>'.htmlspecialchars($value).'</textarea>'."\n";
97: if(!empty($this->info))
98: $field.="\t".'<img src="'.$this->imgInfo.'" id="'.$this->attrs['name'].'_tooltip" class="form_tooltip" title="'.$this->info.'" alt="" style="cursor:help;" />';
99: if($this->fieldNewLine)
100: $field.='<br />';
101: return $label.$field.$error;
102: }
103: }
104: ?>