コード例 #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
ファイル: index.php プロジェクト: jubinpatel/horde
                 }
                 $tree->addNode(array('id' => $idx, 'parent' => $parent, 'label' => $name, 'expanded' => false, 'params' => $node_params));
             }
             $parent .= '|' . $name;
         }
     }
     break;
 case 'search':
     /* Create Form */
     $searchForm = new Horde_Form($vars, null, 'search');
     $searchForm->setButtons(_("Search"));
     $searchForm->addHidden('sidebar', 'show', 'text', false);
     $searchForm->addHidden('', 'module', 'text', false);
     $searchForm->addHidden('', 'side_show', 'text', false);
     $searchForm->addVariable(_("Keyword"), 'keyword', 'text', false, false, null, array(null, 20));
     $renderer = new Horde_Form_Renderer();
     $renderer->setAttrColumnWidth('50%');
     Horde::startBuffer();
     $searchForm->renderActive($renderer, $vars, $sidebar_url->copy()->setRaw(true), 'post');
     $contents = Horde::endBuffer() . '<br />';
     $keywords = $vars->get('keyword');
     if (!empty($keywords)) {
         $results = $help->search($keywords);
         foreach ($results as $id => $title) {
             if (empty($title)) {
                 continue;
             }
             $contents .= Horde::link($base_url->copy()->add(array('show' => 'entry', 'topic' => $id)), null, null, 'help_main') . htmlspecialchars($title) . "</a><br />\n";
         }
     }
     break;
コード例 #3
0
ファイル: Renderer.php プロジェクト: jubinpatel/horde
 /**
  * Attempts to return a reference to a concrete Horde_Form_Renderer
  * instance based on $renderer. It will only create a new instance if no
  * Horde_Form_Renderer instance with the same parameters currently exists.
  *
  * This should be used if multiple types of form renderers (and,
  * thus, multiple Horde_Form_Renderer instances) are required.
  *
  * This method must be invoked as: $var = &Horde_Form_Renderer::singleton()
  *
  * @param mixed $renderer  The type of concrete Horde_Form_Renderer
  *                         subclass to return. The code is dynamically
  *                         included. If $renderer is an array, then we will
  *                         look in $renderer[0]/lib/Form/Renderer/ for the
  *                         subclass implementation named $renderer[1].php.
  * @param array $params  A hash containing any additional configuration a
  *                       form might need.
  *
  * @return Horde_Form_Renderer  The concrete Horde_Form_Renderer reference,
  *                              or false on an error.
  */
 function &singleton($renderer, $params = null)
 {
     static $instances = array();
     $signature = serialize(array($renderer, $params));
     if (!isset($instances[$signature])) {
         $instances[$signature] = Horde_Form_Renderer::factory($renderer, $params);
     }
     return $instances[$signature];
 }
コード例 #4
0
ファイル: index.php プロジェクト: raz0rsdge/horde
            $form = new Whups_Form_Query_TextCriterion($vars);
            break;
        case 'attribs':
            $form = new Whups_Form_Query_AttributeCriterion($vars);
            break;
        case 'date':
            $form = new Whups_Form_Query_DateCriterion($vars);
            break;
    }
    $renderer = $form->getRenderer();
    $form->open($renderer, $vars, 'index.php', 'post');
    $queryRenderer->beginActive(_("Current Query"));
    $queryRenderer->edit($qops, $form->getName(), 1);
    $queryRenderer->renderFormActive($whups_query, $vars);
    $queryRenderer->edit($qops, $form->getName(), 2);
    $renderer->end();
    echo '<br />' . $criteriaTabs->render($session->get('whups', 'query_form'));
    $renderer->beginActive($form->getTitle());
    $renderer->renderFormActive($form, $vars);
    $renderer->submit($vars->get('edit') ? _("Save Criterion") : _("Add Criterion"));
    $renderer->end();
    $form->close($renderer);
} else {
    // Show query readonly.
    $renderer = new Horde_Form_Renderer();
    $renderer->beginActive(_("Current Query"));
    $queryRenderer->renderFormInactive($whups_query, $vars);
    $renderer->end();
}
$page_output->footer();
$session->set('whups', 'query', $whups_query);
コード例 #5
0
ファイル: display.php プロジェクト: jubinpatel/horde
if ($form->validate($vars)) {
    $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'));