コード例 #1
0
ファイル: Form.php プロジェクト: jubinpatel/horde
 protected function _content()
 {
     $vars = Horde_Variables::getDefaultVariables();
     $formname = $vars->get('formname');
     $done = false;
     $form = new Horde_Form($vars);
     $fields = $GLOBALS['injector']->getInstance('Ulaform_Factory_Driver')->create()->getFields($this->_params['form_id']);
     foreach ($fields as $field) {
         /* In case of these types get array from stringlist. */
         if ($field['field_type'] == 'link' || $field['field_type'] == 'enum' || $field['field_type'] == 'multienum' || $field['field_type'] == 'radio' || $field['field_type'] == 'set' || $field['field_type'] == 'sorter') {
             $field['field_params']['values'] = Ulaform::getStringlistArray($field['field_params']['values']);
         }
         /* Setup the field with all the parameters. */
         $form->addVariable($field['field_label'], $field['field_name'], $field['field_type'], $field['field_required'], $field['field_readonly'], $field['field_desc'], $field['field_params']);
     }
     if ($formname) {
         $form->validate($vars);
         if ($form->isValid() && $formname) {
             $form->getInfo($vars, $info);
             $info['form_id'] = $this->_params['form_id'];
             try {
                 $submit = $GLOBALS['ulaform_driver']->submitForm($info);
                 $GLOBALS['notification']->push(_("Form submitted successfully."), 'horde.success');
                 $done = true;
             } catch (Horde_Exception $e) {
                 $GLOBALS['notification']->push(sprintf(_("Error submitting form. %s."), $e->getMessage()), 'horde.error');
             }
         }
     }
     /* Render active or inactive, depending if submitted or
      * not. */
     $render_type = $done ? 'renderInactive' : 'renderActive';
     /* Render the form. */
     $renderer = new Horde_Form_Renderer();
     $renderer->showHeader(false);
     Horde::startBuffer();
     $form->{$render_type}($renderer, $vars, Horde::selfUrl(true), 'post');
     return Horde::endBuffer();
 }
コード例 #2
0
ファイル: display.php プロジェクト: jubinpatel/horde
    $form->getInfo($vars, $info);
    try {
        $submit = $ulaform_driver->submitForm($info);
        $notification->push(_("Form submitted successfully."), 'horde.success');
        $done = true;
    } catch (Horde_Exception $e) {
        $notification->push(sprintf(_("Error submitting form. %s."), $e->getMessage()), 'horde.error');
    }
}
/* Render active or inactive, depending if submitted or not. */
$render_type = $done ? 'renderInactive' : 'renderActive';
/* Set target URL, if passed as form url use that, otherwise use selfUrl(). */
$target_url = $form_params['url'] ? $form_params['url'] : Horde::selfUrl();
/* Render the form. */
$renderer = new Horde_Form_Renderer();
$renderer->showHeader(false);
Horde::startBuffer();
$form->{$render_type}($renderer, $vars, $target_url, 'post', 'multipart/form-data');
$main = Horde::endBuffer();
$view = new Horde_View(array('templatePath' => ULAFORM_TEMPLATES));
$view->noterror = !$error;
$view->title = isset($form_info['form_name']) ? $form_info['form_name'] : false;
$view->main = $main;
if (!isset($form_params['embed'])) {
    $form_params['embed'] = false;
}
switch ($form_params['embed']) {
    case 'php':
        /* PHP style embedding, just fetch the form code. */
        $notification->notify(array('listeners' => 'status'));
        echo $view->render('display');