fields['labels_wiki_predefined'] = new Pluf_Form_Field_Varchar( array('required' => true, 'label' => __('Predefined documentation page labels'), 'initial' => self::init_predefined, 'widget_attrs' => array('rows' => 13, 'cols' => 75), 'widget' => 'Pluf_Form_Widget_TextareaInput', )); $this->fields['labels_wiki_one_max'] = new Pluf_Form_Field_Varchar( array('required' => false, 'label' => __('Each documentation page may have at most one label with each of these classes'), 'initial' => self::init_one_max, 'widget_attrs' => array('size' => 60), )); $this->fields['wiki_default_page'] = new Pluf_Form_Field_Varchar( array('required' => false, 'label' => __('Set a default wiki page instead of the page listing'), 'initial' => self::wiki_default_page, 'widget_attrs' => array('size' => 60), )); } public function clean_wiki_default_page() { $pageName = trim($this->cleaned_data['wiki_default_page']); if (empty($pageName)) { return ''; } $sql = new Pluf_SQL('project=%s AND title=%s', array($this->data['projectId'], $pageName)); $pages = Pluf::factory('IDF_WikiPage')->getList(array('filter'=>$sql->gen())); if ($pages->count() != 1) { return ''; } return $pageName; } }