/** * Adds the form field * * @return Response */ public function add(Request $request) { // get request data $email = $request->input('auth-email'); $siteId = $request->input('auth-id'); // form $formId = $request->json()->get('id'); // params $label = $request->json()->get('label'); $type = $request->json()->get('type'); $required = $request->json()->get('required'); $options = $request->json()->get('options'); $helperText = $request->json()->get('helperText'); $placeholder = $request->json()->get('placeholder'); $cssClass = $request->json()->get('cssClass'); // build an id from the label $id = strtolower($label); // replaces all spaces with hyphens $id = str_replace(' ', '-', $id); // remove special characters $id = preg_replace('/[^A-Za-z0-9\\-]/', '', $id); // add a field $field = FormField::add($id, $label, $type, $required, $options, $helperText, $placeholder, $cssClass, $formId, $siteId); // get site and user $site = Site::getById($siteId); $user = User::getByEmail($email, $siteId); // re-publish plugins Publish::publishPlugins($user, $site); if ($field !== NULL) { return response('OK, form field added', 200); } return response('Error', 400); }
/** * Lists all forms and fields * * @param {string} $siteId * @return {array} */ public static function listExtended($siteId) { $forms = Form::listAll($siteId); $i = 0; foreach ($forms as $form) { $forms[$i]['fields'] = FormField::listAll($form['id'], $siteId); $i++; } return $forms; }