public function __construct($options = array()) { parent::__construct($options); $register = new Ot_Config_Register(); $vars = $register->getVars(); $varsByModule = array(); foreach ($vars as $v) { if (!isset($varsByModule[$v['namespace']])) { $varsByModule[$v['namespace']] = array(); } $varsByModule[$v['namespace']][] = $v['object']; } $section = new Zend_Form_Element_Select('section', array('label' => 'Select Configuration Section:')); $section->setDecorators(array('ViewHelper', array(array('wrapperField' => 'HtmlTag'), array('tag' => 'div', 'class' => 'select-control')), array('Label', array('placement' => 'prepend', 'class' => 'select-label')), array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'select-header')))); $this->addElement($section); $sectionOptions = array(); foreach ($varsByModule as $key => $value) { $group = array(); foreach ($value as $v) { //$elm = $v->getFormElement(); $elm = $v->renderFormElement(); $elm->setDecorators(array('ViewHelper', array('Errors', array('class' => 'help-inline')), array(array('wrapperField' => 'HtmlTag'), array('tag' => 'div', 'class' => 'fields')), array('Label', array('placement' => 'append', 'class' => 'field-label')), array('Description', array('placement' => 'append', 'tag' => 'div', 'class' => 'field-description')), array(array('empty' => 'HtmlTag'), array('placement' => 'append', 'tag' => 'div', 'class' => 'clearfix')), array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'field-group')))); $group[] = $elm->getName(); $this->addElement($elm); } $sectionOptions[preg_replace('/[^a-z]/i', '', $key)] = $key; $this->addDisplayGroup($group, $key); } asort($sectionOptions); $section->setMultiOptions($sectionOptions); $this->setDisplayGroupDecorators(array('FormElements', 'Fieldset')); $this->addElement('submit', 'submit', array('buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_PRIMARY, 'label' => 'Save Configuration')); $this->addElement('button', 'cancel', array('label' => 'form-button-cancel', 'type' => 'button')); $this->addDisplayGroup(array('submit', 'cancel'), 'actions', array('disableLoadDefaultDecorators' => true, 'decorators' => array('Actions'))); return $this; }
public function exportAction() { $this->_helper->viewRenderer->setNeverRender(); $this->_helper->layout->disableLayout(); header('Content-type: text/csv'); header('Content-disposition: attachment;filename=configExport-' . date('c') . '.csv'); $vr = new Ot_Config_Register(); $options = $vr->getVars(); $data = array(); foreach ($options as $key => $o) { $value = $o['object']->getRawValue(); $data[] = array($key, $value); } $tmpfname = tempnam("/tmp", "FOO"); $handle = fopen($tmpfname, "w"); foreach ($data as $d) { fputcsv($handle, $d); } echo file_get_contents($tmpfname); fclose($handle); unlink($tmpfname); }