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; }
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')) {
} 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
} 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(); }