static function create($ht = false)
 {
     $inst = parent::create($ht);
     $inst->set('created', new SqlFunction('NOW'));
     if (isset($ht['fields'])) {
         $inst->save();
         foreach ($ht['fields'] as $f) {
             $f = DynamicFormField::create($f);
             $f->form_id = $inst->id;
             $f->setForm($inst);
             $f->save();
         }
     }
     return $inst;
 }
Exemple #2
0
            break;
    }
    if ($list && $list->allowAdd()) {
        for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
            if (!$_POST["value-new-{$i}"]) {
                continue;
            }
            $list->addItem(array('value' => $_POST["value-new-{$i}"], 'abbrev' => $_POST["abbrev-new-{$i}"], 'sort' => $_POST["sort-new-{$i}"] ?: ++$max_isort), $errors);
        }
    }
    if ($form) {
        for ($i = 0; isset($_POST["prop-sort-new-{$i}"]); $i++) {
            if (!$_POST["prop-label-new-{$i}"]) {
                continue;
            }
            $field = DynamicFormField::create(array('form_id' => $form->get('id'), 'sort' => $_POST["prop-sort-new-{$i}"] ?: ++$max_sort, 'label' => $_POST["prop-label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => $_POST["name-new-{$i}"]));
            $field->setForm($form);
            if ($field->isValid()) {
                $field->save();
            } else {
                $errors["new-{$i}"] = $field->errors();
            }
        }
        // XXX: Move to an instrumented list that can handle this better
        if (!$errors) {
            $form->_dfields = $form->_fields = null;
        }
    }
}
$page = 'dynamic-lists.inc.php';
if ($list || $_REQUEST['a'] && !strcasecmp($_REQUEST['a'], 'add')) {
Exemple #3
0
                     } elseif ($i > 0) {
                         $warn = sprintf(__('%1$d of %1$d %3$s deleted'), $i, $count, _N('selected custom form', 'selected custom forms', $count));
                     } elseif (!$errors['err']) {
                         $errors['err'] = sprintf(__('Unable to delete %s'), _N('selected custom form', 'selected custom forms', $count));
                     }
                     break;
             }
         }
         break;
 }
 if ($form) {
     for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
         if (!$_POST["label-new-{$i}"]) {
             continue;
         }
         $field = DynamicFormField::create(array('sort' => $_POST["sort-new-{$i}"] ? $_POST["sort-new-{$i}"] : ++$max_sort, 'label' => $_POST["label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => trim($_POST["name-new-{$i}"])));
         $field->setRequirementMode($_POST["visibility-new-{$i}"]);
         $field->setForm($form);
         if (in_array($field->get('name'), $names)) {
             $field->addError(__('Field variable name is not unique'), 'name');
         }
         if ($field->isValid()) {
             $form_fields[] = $field;
             if ($N = $field->get('name')) {
                 $names[] = $N;
             }
         } else {
             $errors["new-{$i}"] = $field->errors();
         }
     }
     // XXX: Move to an instrumented list that can handle this better
Exemple #4
0
                     } elseif ($i > 0) {
                         $warn = "{$i} of {$count} selected forms deleted";
                     } elseif (!$errors['err']) {
                         $errors['err'] = 'Unable to delete selected custom forms';
                     }
                     break;
             }
         }
         break;
 }
 if ($form) {
     for ($i = 0; isset($_POST["sort-new-{$i}"]); $i++) {
         if (!$_POST["label-new-{$i}"]) {
             continue;
         }
         $field = DynamicFormField::create(array('sort' => $_POST["sort-new-{$i}"] ? $_POST["sort-new-{$i}"] : ++$max_sort, 'label' => $_POST["label-new-{$i}"], 'type' => $_POST["type-new-{$i}"], 'name' => $_POST["name-new-{$i}"], 'private' => $_POST["private-new-{$i}"] == 'on' ? 1 : 0, 'required' => $_POST["required-new-{$i}"] == 'on' ? 1 : 0));
         $field->setForm($form);
         if ($field->isValid()) {
             $form_fields[] = $field;
         } else {
             $errors["new-{$i}"] = $field->errors();
         }
     }
     // XXX: Move to an instrumented list that can handle this better
     if (!$errors) {
         $form->_dfields = $form->_fields = null;
         $form->save(true);
         foreach ($form_fields as $field) {
             $field->set('form_id', $form->get('id'));
             $field->save();
         }