Esempio n. 1
0
 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;
 }
Esempio n. 2
0
<?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 
Esempio n. 3
0
<?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();