function ajaxUpdateForms() { global $userMeta; //$userMeta->dump($_REQUEST);die(); $userMeta->verifyAdminNonce('formEditor'); $parse = parse_url($_SERVER['HTTP_REFERER']); parse_str($parse['query'], $query); if (empty($query['action'])) { echo 'Something went wrong!'; die; } if (!empty($_POST['form_key'])) { $formKey = $_POST['form_key']; } else { echo 'Form name is required.'; die; } $forms = $userMeta->getData('forms'); $formBuilder = new umFormBuilder(); if ('edit' == $query['action']) { if (empty($query['form']) || empty($_POST['form_key'])) { echo 'Something went wrong!'; die; } if ($query['form'] != $_POST['form_key']) { if (isset($forms[$_POST['form_key']])) { echo 'Form: "' . $_POST['form_key'] . '" already exists!'; die; } unset($forms[$query['form']]); $query['form'] = $_POST['form_key']; $formBuilder->redirect_to = $parse['scheme'] . '://' . $parse['host'] . $parse['path'] . '?' . http_build_query($query); } } elseif ('new' == $query['action']) { if (isset($forms[$_POST['form_key']])) { echo 'Form: "' . $_POST['form_key'] . '" already exists!'; die; } $query['form'] = $_POST['form_key']; $query['action'] = 'edit'; $formBuilder->redirect_to = $parse['scheme'] . '://' . $parse['host'] . $parse['path'] . '?' . http_build_query($query); } $fields = $formBuilder->getAllFields(); $form = $_POST; $form = stripslashes_deep($_POST); //$form = $userMeta->arrayRemoveEmptyValue( $_POST ); $formFields = isset($form['fields']) ? $form['fields'] : array(); $formFields = $formBuilder->sanitizeFieldsIDs($formFields); foreach ($formFields as $id => $field) { if (is_array($field)) { foreach ($field as $key => $val) { // Process shared fields if (isset($fields[$id][$key])) { if ($fields[$id][$key] == $val) { unset($formFields[$id][$key]); } } else { if (empty($val)) { unset($formFields[$id][$key]); } } } } if (!empty($field['make_field_shared']) && !isset($fields[$id])) { unset($formFields[$id]['make_field_shared']); $fields[$id] = $formFields[$id]; $formFields[$id] = array(); $triggerFieldsUpdate = true; } } $form['fields'] = $formFields; $form = $userMeta->removeAdditional($form); $forms[$formKey] = $form; $forms = apply_filters('user_meta_pre_configuration_update', $forms, 'forms_editor'); $userMeta->updateData('forms', $forms); //$userMeta->dump($fields); if (!empty($triggerFieldsUpdate)) { $userMeta->updateData('fields', $fields); if (empty($formBuilder->redirect_to)) { $formBuilder->redirect_to = $parse['scheme'] . '://' . $parse['host'] . $parse['path'] . '?' . $parse['query']; } } $formBuilder->setMaxFieldID(); if (!empty($formBuilder->redirect_to)) { echo json_encode(array('redirect_to' => $formBuilder->redirect_to)); die; } echo 1; die; }
<?php global $userMeta; // Expected: $formName $formBuilder = new umFormBuilder('form_editor', $formName); //$userMeta->dump($userMeta); //$userMeta->updateData('config',1); //$userMeta->dump( $userMeta->getData('fields') ); ?> <div class="wrap"> <div id="um_form_editor"> <?php if ($formName && !$formBuilder->isFound()) { ?> <div class="alert alert-danger" role="alert">Form "<?php echo $formName; ?> " is not found. You can create a new form.</div> <?php } ?> <div class="panel panel-default" > <div class="panel-body"> <div class="form-inline" role="form"> <div class="form-group"> <div class="input-group"> <div class="input-group-addon">Form Name*</div> <input type="text" class="form-control" name="form_key" value="<?php
<?php global $userMeta; $formBuilder = new umFormBuilder('fields_editor'); //$userMeta->dump( $userMeta->getData('fields') ); //$userMeta->dump(get_current_screen()); ?> <div class="wrap"> <h2>Fields Editor</h2> <p>Click field from right side panel for creating a new field</p> <?php do_action('um_admin_notice'); ?> <div id="um_fields_editor" class="row"> <div class="col-xs-12 col-sm-8 "> <div id="um_fields_container" class="metabox-holder"> <?php $formBuilder->displayAllFields(); ?> </div> </div> <div id="um_steady_sidebar_holder" class="col-xs-12 col-sm-4 "> <div id="um_steady_sidebar"> <div id="um_fields_selectors" class="panel-group"> <?php $formBuilder->fieldsSelectorPanels();