/** * Adds all necessary buttons to the given page object. * * @param object $page Page where to put the button * @param array $buttons Key/label of each button/event to handle * @param mixed $attributes (optional) Either a typical HTML attribute string * or an associative array. * @return void * @since 1.1 * @access public * @throws HTML_PROGRESS_ERROR_INVALID_INPUT */ function createButtons(&$page, $buttons, $attributes = null) { if (!is_a($page, 'HTML_QuickForm_Page')) { return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$page', 'was' => gettype($page), 'expected' => 'HTML_QuickForm_Page object', 'paramnum' => 1)); } elseif (!is_array($buttons)) { return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$buttons', 'was' => gettype($buttons), 'expected' => 'array', 'paramnum' => 2)); } elseif (!is_array($attributes) && !is_string($attributes) && !is_null($attributes)) { return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$attributes', 'was' => gettype($attributes), 'expected' => 'array | string', 'paramnum' => 3)); } $confirm = $attributes = HTML_Common::_parseAttributes($attributes); $confirm['onClick'] = "return(confirm('Are you sure ?'));"; $prevnext = array(); foreach ($buttons as $event => $label) { if ($event == 'cancel') { $type = 'submit'; $attrs = $confirm; } elseif ($event == 'reset') { $type = 'reset'; $attrs = $confirm; } else { $type = 'submit'; $attrs = $attributes; } $prevnext[] = $page->createElement($type, $page->getButtonName($event), $label, HTML_Common::_getAttrString($attrs)); } $page->addGroup($prevnext, 'buttons', '', ' ', false); }
/** * Builds command buttons of the Wizard. * * @return void * @since 2.1.0 * @access public */ function buildButtons($disable = null, $commands = null) { $buttons = array('back', 'next', 'cancel', 'reset', 'dump', 'apply', 'process'); if (isset($commands)) { $buttons = array_merge($buttons, $commands); } if (!isset($disable)) { $disable = array(); } elseif (!isset($disable[0])) { $disable = array($disable); } $confirm = $attributes = array('class' => 'cmdButton'); $confirm['onclick'] = "return(confirm('Are you sure ?'));"; $prevnext = array(); foreach ($buttons as $event) { switch ($event) { case 'cancel': $type = 'submit'; $attrs = $confirm; break; case 'reset': $type = 'reset'; $attrs = $confirm; break; default: $type = 'submit'; $attrs = $attributes; break; } if (in_array($event, $disable)) { $attrs['disabled'] = 'true'; } if ($event == 'dump') { $dump = $this->controller->_act[$event]; if ($dump === false) { continue; } $opts = array('1' => 'Progress2 dump info', '2' => 'Forms values container', '3' => 'Included Files', '4' => 'Declared Classes', '5' => 'Declared Actions'); $prevnext[] =& HTML_QuickForm::createElement('select', 'dumpOption', '', $opts); } $prevnext[] =& HTML_QuickForm::createElement($type, $this->getButtonName($event), ucfirst($event), HTML_Common::_getAttrString($attrs)); } $this->addGroup($prevnext, 'buttons', '', ' ', false); }