/**
  * 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);
 }
Exemple #2
0
 /**
  * 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;
 }