setDecorators(array( array('ViewScript', array('viewScript' => 'form/preferences_watched_dirs.phtml')) )); $this->addElement('text', 'storageFolder', array( 'class' => 'input_text', 'label' => 'Airtime\'s Storage Folder:', 'required' => false, 'filters' => array('StringTrim'), 'value' => '', 'decorators' => array( 'ViewHelper' ) )); $this->addElement('text', 'watchedFolder', array( 'class' => 'input_text', 'label' => 'Choose a Folder to Watch:', 'required' => false, 'filters' => array('StringTrim'), 'value' => '', 'decorators' => array( 'ViewHelper' ) )); } public function verifyChosenFolder($p_form_element_id) { $element = $this->getElement($p_form_element_id); if (!is_dir($element->getValue())) { $element->setErrors(array('Not a valid Directory')); return false; } else { $element->setValue(""); return true; } } public function setWatchedDirs() { $watched_dirs = MusicDir::getWatchedDirs(); $i = 1; foreach($watched_dirs as $dir) { $text = new Zend_Form_Element_Text("watched_dir_$i"); $text->setAttrib('class', 'input_text'); $text->addFilter('StringTrim'); $text->setValue($dir->getDirectory()); $text->setDecorators(array('ViewHelper')); $this->addElement($text); $i = $i + 1; } } }