function update_form_field() { $posts = get_posts(array('post_type' => array('wpuf_forms', 'wpuf_profile'), 'numberposts' => '-1')); if ($posts) { foreach ($posts as $key => $post) { $posts_meta = get_post_meta($post->ID, 'wpuf_form', true); $posts_meta = is_array($posts_meta) ? $posts_meta : array(); foreach ($posts_meta as $key => $post_meta) { $post_meta['wpuf_cond'] = array(); // if key empty then replace by its value if (array_key_exists('options', $post_meta)) { foreach ($post_meta['options'] as $key => $value) { $post_meta['options'][$value] = $value; unset($post_meta['options'][$key]); } } WPUF_Admin_Form::insert_form_field($post->ID, $post_meta, null, $key); delete_post_meta($post->ID, 'wpuf_form'); } } } }
/** * Create a post form * * @return void */ function create_form() { $form_id = $this->create_page(__('Sample Form', 'wpuf'), '', 'wpuf_forms'); if ($form_id) { $form_fields = array(array('input_type' => 'text', 'template' => 'post_title', 'required' => 'yes', 'label' => 'Post Title', 'name' => 'post_title', 'is_meta' => 'no', 'help' => '', 'css' => '', 'placeholder' => '', 'default' => '', 'size' => '40', 'wpuf_cond' => array()), array('input_type' => 'textarea', 'template' => 'post_content', 'required' => 'yes', 'label' => 'Post Content', 'name' => 'post_content', 'is_meta' => 'no', 'help' => '', 'css' => '', 'rows' => '5', 'cols' => '25', 'placeholder' => '', 'default' => '', 'rich' => 'teeny', 'insert_image' => 'yes', 'wpuf_cond' => array())); foreach ($form_fields as $order => $field) { WPUF_Admin_Form::insert_form_field($form_id, $field, false, $order); } $settings = array('post_type' => 'post', 'post_status' => 'publish', 'post_format' => '0', 'default_cat' => '-1', 'guest_post' => 'false', 'guest_details' => 'true', 'name_label' => 'Name', 'email_label' => 'Email', 'message_restrict' => 'This page is restricted. Please Log in / Register to view this page.', 'redirect_to' => 'post', 'message' => 'Post saved', 'page_id' => '', 'url' => '', 'comment_status' => 'open', 'submit_text' => 'Submit', 'draft_post' => 'false', 'edit_post_status' => 'publish', 'edit_redirect_to' => 'same', 'update_message' => 'Post updated successfully', 'edit_page_id' => '', 'edit_url' => '', 'subscription' => '- Select -', 'update_text' => 'Update', 'notification' => array('new' => 'on', 'new_to' => get_option('admin_email'), 'new_subject' => 'New post created', 'new_body' => "Hi Admin, \r\n\r\nA new post has been created in your site %sitename% (%siteurl%). \r\n\r\nHere is the details: \r\nPost Title: %post_title% \r\nContent: %post_content% \r\nAuthor: %author% \r\nPost URL: %permalink% \r\nEdit URL: %editlink%", 'edit' => 'off', 'edit_to' => get_option('admin_email'), 'edit_subject' => 'A post has been edited', 'edit_body' => "Hi Admin, \r\n\r\nThe post \"%post_title%\" has been updated. \r\n\r\nHere is the details: \r\nPost Title: %post_title% \r\nContent: %post_content% \r\nAuthor: %author% \r\nPost URL: %permalink% \r\nEdit URL: %editlink%")); update_post_meta($form_id, 'wpuf_form_settings', $settings); } }
/** * Render conditional logic * @param $field_id * @param $con_fields * @param $obj */ public static function render_conditional_field($field_id, $con_fields, $obj) { global $form_inputs; $cond_name = 'wpuf_cond'; $con_fields_value = isset($con_fields['wpuf_cond']) ? $con_fields['wpuf_cond'] : array(); $tpl = '%s[%d][%s]'; $enable_name = sprintf($tpl, $cond_name, $field_id, 'condition_status'); $field_name = sprintf('%s[%d][cond_field][]', $cond_name, $field_id); $operator_name = sprintf('%s[%d][cond_operator][]', $cond_name, $field_id); $option_name = sprintf('%s[%d][cond_option][]', $cond_name, $field_id); $logic_name = sprintf('%s[%d][cond_logic]', $cond_name, $field_id); // $enable_value = 'yes'; $class = ''; // var_dump($field_id, $con_fields); $enable_value = isset($con_fields_value['condition_status']) ? $con_fields_value['condition_status'] : 'no'; $logic_value = isset($con_fields_value['cond_logic']) ? $con_fields_value['cond_logic'] : 'all'; $class = $enable_value == 'yes' ? '' : ' wpuf-hide'; ?> <div class="wpuf-form-rows"> <label><?php _e('Conditional Logic', 'wpuf'); ?> </label> <div class="wpuf-form-sub-fields"> <label><input type="radio" name="<?php echo $enable_name; ?> " class="wpuf-conditional-enable" value="yes"<?php checked($enable_value, 'yes'); ?> > <?php _e('Yes', 'wpuf'); ?> </label> <label><input type="radio" name="<?php echo $enable_name; ?> " class="wpuf-conditional-enable" value="no"<?php checked($enable_value, 'no'); ?> > <?php _e('No', 'wpuf'); ?> </label> <div class="conditional-rules-wrap<?php echo $class; ?> "> <table class=""> <?php if ($enable_value == 'yes') { //var_dump( $form_inputs ); //$form_fields = get_post_meta( $post->ID, 'wpuf_form', true ); $cond_fields = WPUF_Admin_Form::get_conditional_fields($form_inputs); $field_dropdown = WPUF_Admin_Form::get_conditional_fields_dropdown($cond_fields['fields']); foreach ($con_fields_value['cond_field'] as $key => $field) { $cond_fields['options'][$field] = isset($cond_fields['options'][$field]) ? $cond_fields['options'][$field] : array(); $option_dropdown = WPUF_Admin_Form::get_conditional_option_dropdown($cond_fields['options'][$field]); ?> <tr> <td> <select name="<?php echo $field_name; ?> " class="wpuf-conditional-fields"> <?php echo wpuf_dropdown_helper($field_dropdown, $con_fields_value['cond_field'][$key]); ?> </select> </td> <td> <select name="<?php echo $operator_name; ?> " class=""> <option value="=" <?php selected($con_fields_value['cond_operator'][$key], '='); ?> >is equal to</option> <option value="!=" <?php selected($con_fields_value['cond_operator'][$key], '!='); ?> >is not equal to</option> </select> </td> <td> <select name="<?php echo $option_name; ?> " class="wpuf-conditional-fields-option"> <?php if (array_key_exists($field, $cond_fields['options'])) { echo wpuf_dropdown_helper($option_dropdown, $con_fields_value['cond_option'][$key]); } ?> </select> </td> <td> <a class="button wpuf-conditional-plus" href="#">+</a> <a class="button wpuf-conditional-minus" href="#">-</a> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td> <select name="<?php echo $field_name; ?> " class="wpuf-conditional-fields"> <option value="">- select -</option> </select> </td> <td> <select name="<?php echo $operator_name; ?> " class=""> <option value="=">is equal to</option> <option value="!=">is not equal to</option> </select> </td> <td> <select name="<?php echo $option_name; ?> " class="wpuf-conditional-fields-option"> <option value="">- select -</option> </select> </td> <td> <a class="button wpuf-conditional-plus" href="#">+</a> <a class="button wpuf-conditional-minus" href="#">-</a> </td> </tr> <?php } ?> </table> <div class=""> Show this field when <select name="<?php echo $logic_name; ?> "> <option value="all"<?php selected($logic_value, 'all'); ?> >all</option> <option value="any"<?php selected($logic_value, 'any'); ?> >any</option> </select> these rules are met </div> </div> </div> </div> <!-- .wpuf-form-rows --> <?php }
/** * Import json file into database * @param array $file * @return boolean */ function import_json_file($file) { $encode_data = file_get_contents($file); $options = json_decode($encode_data, true); foreach ($options as $key => $value) { $generate_post = array('post_title' => $value['post_data']['post_title'], 'post_status' => $value['post_data']['post_status'], 'post_type' => $value['post_data']['post_type'], 'ping_status' => $value['post_data']['ping_status'], 'comment_status' => $value['post_data']['comment_status']); $post_id = wp_insert_post($generate_post, true); if ($post_id && !is_wp_error($post_id)) { foreach ($value['meta_data']['fields'] as $order => $field) { WPUF_Admin_Form::insert_form_field($post_id, $field, false, $order); } update_post_meta($post_id, 'wpuf_form_settings', $value['meta_data']['settings']); } } return true; }