function rockthemes_fb_edit_form_ui() { global $current_form_id, $formDBName; $saved_settings = get_option($formDBName, array()); $modals_html = ''; $loaded_html = ''; if (!isset($saved_settings['main_email_address'])) { $saved_settings['main_email_address'] = get_option('admin_email'); } if (!isset($saved_settings['email_title'])) { $saved_settings['email_title'] = ''; } if (!isset($saved_settings['send_button_text'])) { $saved_settings['send_button_text'] = 'Send'; } if (!isset($saved_settings['recaptcha_public_key'])) { $saved_settings['recaptcha_public_key'] = ''; } if (!isset($saved_settings['recaptcha_private_key'])) { $saved_settings['recaptcha_private_key'] = ''; } if (!isset($saved_settings['captcha_activated'])) { $saved_settings['captcha_activated'] = 'false'; } if (!isset($saved_settings['activate_auto_reply'])) { $saved_settings['activate_auto_reply'] = 'false'; } if (!isset($saved_settings['rockthemes_fb_tinymce_content'])) { $saved_settings['rockthemes_fb_tinymce_content'] = ''; } if (!isset($saved_settings['required_error_message'])) { $saved_settings['required_error_message'] = ''; } if (!isset($saved_settings['email_invalid_message'])) { $saved_settings['email_invalid_message'] = ''; } if (!isset($saved_settings['captcha_invalid_message'])) { $saved_settings['captcha_invalid_message'] = ''; } if (!isset($saved_settings['email_sent_message'])) { $saved_settings['email_sent_message'] = ''; } if (!isset($saved_settings['email_sending_error_message'])) { $saved_settings['email_sending_error_message'] = ''; } if (isset($saved_settings['grids']) && !empty($saved_settings['grids'])) { foreach ($saved_settings['grids'] as $grids) { $loaded_html .= '<li class="row-fluid">'; $count_columns = 0; foreach ($grids['columns'] as $columns) { $loaded_html .= '<div class="span' . $grids['columns_class'] . ' rockthemes_fb_grid" col-ref="' . $grids['columns_class'] . '">'; $loaded_html .= '<ul class="form-elements-container">'; //If an empty columns used this will pass the element details if (is_array($columns)) { foreach ($columns as $elem) { $elem_data = rockthemes_fb_make_admin_element($elem); $loaded_html .= $elem_data['element']; //Add element modal to modals $modals_html .= $elem_data['modal']; } } $loaded_html .= '</ul>'; //form-elements-container $loaded_html .= '</div>'; //rockthemes_fb_grid $count_columns += (int) $grids['columns_class']; } //Complete columns to 12 if no element included in columns while ($count_columns < 12) { $loaded_html .= '<div class="span' . $grids['columns_class'] . ' rockthemes_fb_grid" col-ref="' . $grids['columns_class'] . '">'; $loaded_html .= '<ul class="form-elements-container">'; $loaded_html .= '</ul>'; //form-elements-container $loaded_html .= '</div>'; //rockthemes_fb_grid $count_columns += (int) $grids['columns_class']; } $loaded_html .= '<i class="row-drag-button fa fa-move"></i>'; $loaded_html .= '<i class="row-remove-button fa fa-times"></i>'; $loaded_html .= '</li>'; //row-fluid } } $loaded_html_script = ''; if ($loaded_html !== '') { //Add sortable script to activate sortable for loaded elements $loaded_html_script = ' <script type="text/javascript"> jQuery(document).ready(function(){ jQuery( ".form-elements-container" ).sortable({ handle : "i.drag", connectWith : ".form-elements-container", helper : function(){ return "<div class=\\"sortable-drag-helper\\"><i class=\\"fa fa-magnet\\"></i></div>"; }, }).disableSelection(); jQuery( ".form-preview" ).sortable({ handle : ".row-drag-button", }).disableSelection(); jQuery(".select_elements").sortable({ handle : ".fa-move", });//.disableSelection(); jQuery(".radio_elements").sortable({ handle : ".fa-move", });//.disableSelection(); }); </script> '; } //Select element for selecting and adding new elements $elements = rockthemes_fb_get_elements_list(); $grids = rockthemes_fb_get_grid_list(); echo '<div class="rockthemes-fb-main-container" form-id="' . $current_form_id . '" form-db-name="' . $formDBName . '">'; //Header echo '<div class="rockthemes-fb-header">'; echo '<h1>Rock Form Builder</h1>'; echo '<hr />'; echo '<br />'; echo '<div class="form-header-details row-fluid">'; echo '<div class="span6">'; echo '<h3>General Settings</h3>'; echo '<hr />'; echo '<br/>'; //Form Name for database (Only for backend) echo '<strong>Form Name : </strong> <input type="text" class="form_name_holder alignright" value="' . $saved_settings['form_name'] . '" />'; echo '<div class="clear"></div>'; //Form Name for database (Only for backend) echo '<strong>Email Title : </strong> <input type="text" class="email_title alignright" value="' . $saved_settings['email_title'] . '" />'; echo '<div class="clear"></div>'; //Main email address to send email echo '<strong>Email Address (To receive emails) : </strong> <input type="text" class="main_email_address alignright" value="' . $saved_settings['main_email_address'] . '" />'; echo '<div class="clear"></div>'; //Button Class echo '<strong>Button Class (Optional) : </strong> <input type="text" class="button_class_holder alignright" value="' . (isset($saved_settings['button_class_holder']) ? $saved_settings['button_class_holder'] : '') . '" />'; echo '<div class="clear"></div>'; echo '<br/><br/>'; echo '<h3>Email Sent Settings</h3>'; echo '<hr />'; echo '<br/>'; //Select a method for after email sent echo '<strong>When Email Sent : </strong> <select class="after_sent_select alignright" autocomplete="off"> <option value="" ' . (isset($saved_settings['after_sent_select']) && $saved_settings['after_sent_select'] === '' ? 'selected' : '') . '>Do Nothing</option> <option value="clear" ' . (isset($saved_settings['after_sent_select']) && $saved_settings['after_sent_select'] === 'clear' ? 'selected' : '') . '>Clear Form</option> <option value="redirect" ' . (isset($saved_settings['after_sent_select']) && $saved_settings['after_sent_select'] === 'redirect' ? 'selected' : '') . '>Redirect To URL</option> <option value="download" ' . (isset($saved_settings['after_sent_select']) && $saved_settings['after_sent_select'] === 'download' ? 'selected' : '') . '>Download File</option> </select> '; echo '<div class="clear"></div>'; //Link To This URL echo '<strong>Link To URL : </strong> <input type="text" class="after_sent_url alignright" value="' . (isset($saved_settings['after_sent_url']) && $saved_settings['after_sent_url'] ? $saved_settings['after_sent_url'] : '') . '" />'; echo '<div class="clear"></div>'; //Download This file echo '<strong>Download File : </strong> <input type="text" class="after_sent_download_url alignright" value="' . (isset($saved_settings['after_sent_download_url']) && $saved_settings['after_sent_download_url'] ? $saved_settings['after_sent_download_url'] : '') . '" />'; echo '<div class="clear"></div>'; echo '<h3>Captcha Settings</h3><hr/><br/>'; //reCAPTCHA activate / deactivate echo '<strong>Activate reCAPTCHA : </strong> <select class="captcha_activated alignright" autocomplete="off"> <option value="true" ' . ($saved_settings['captcha_activated'] === 'true' ? 'selected' : '') . '>Activate reCAPTCHA</option> <option value="false" ' . ($saved_settings['captcha_activated'] === 'false' ? 'selected' : '') . '>Deactivate reCAPTCHA</option> </select> '; echo '<div class="clear"></div>'; //reCAPTCHA public Key echo '<strong>reCAPTCHA Public Key : </strong> <input type="text" class="recaptcha_public_key alignright" value="' . $saved_settings['recaptcha_public_key'] . '" />'; echo '<div class="clear"></div>'; //reCAPTCHA private Key echo '<strong>reCAPTCHA Private Key : </strong> <input type="text" class="recaptcha_private_key alignright" value="' . $saved_settings['recaptcha_private_key'] . '" />'; echo '<div class="clear"></div><br/>'; echo '<h3>Form Fields Messages</h3>'; echo '<hr/><br/>'; //Text of the send button echo '<strong>Send Button Text : </strong> <input type="text" class="send_button_text alignright" value="' . $saved_settings['send_button_text'] . '" />'; echo '<div class="clear"></div>'; //Email Sent Message echo '<strong>Email Sent Message : </strong> <input type="text" class="email_sent_message alignright" value="' . $saved_settings['email_sent_message'] . '" />'; echo '<div class="clear"></div>'; //Email Sending Error Message echo '<strong>Email Sending Error : </strong> <input type="text" class="email_sending_error_message alignright" value="' . $saved_settings['email_sending_error_message'] . '" />'; echo '<div class="clear"></div>'; //Required Error echo '<strong>Required Field Error : </strong> <input type="text" class="required_error_message alignright" value="' . $saved_settings['required_error_message'] . '" />'; echo '<div class="clear"></div>'; //Email Invalid Error echo '<strong>Email Invalid Error : </strong> <input type="text" class="email_invalid_message alignright" value="' . $saved_settings['email_invalid_message'] . '" />'; echo '<div class="clear"></div>'; //Captcha Invalid Error echo '<strong>Captcha Invalid Error : </strong> <input type="text" class="captcha_invalid_message alignright" value="' . $saved_settings['captcha_invalid_message'] . '" />'; echo '<div class="clear"></div>'; echo '</div>'; //span6 echo '<div class="span6">'; echo '<h3>Auto Reply</h3>'; echo '<hr/><br/>'; //auto reply activate / deactivate echo '<strong>Activate Auto Reply : </strong> <select class="activate_auto_reply alignright" autocomplete="off"> <option value="true" ' . ($saved_settings['activate_auto_reply'] === 'true' ? 'selected' : '') . '>Activate Auto Reply</option> <option value="false" ' . ($saved_settings['activate_auto_reply'] === 'false' ? 'selected' : '') . '>Deactivate Auto Reply</option> </select> '; echo '<div class="clear"></div><br/>'; //Main email address to send email echo '<strong>Auto Reply Message</strong><br/> <p>If you want to send an auto message to your visitor, enter your auto message text here</p>'; wp_editor(stripslashes($saved_settings['rockthemes_fb_tinymce_content']), 'rockthemes_fb_tinymce_content'); echo '</div>'; //span6 echo '</div>'; echo '</div>'; //rockthemes-fb-header echo '<br /><hr />'; echo '<h2>Drag and Drop Elements</h2>'; echo '<hr/><br/>'; /* Actions */ echo '<div class="row-fluid">'; echo '<div class="span6">'; echo ' <strong>Add a new element to your form</strong><br /> <p>Choose an element to add it to your form. Then click to "Add New Element" button. Element will be added to your last block</p> '; echo '<div class="row-fluid">'; echo '<div class="span6 full-column-elements">'; echo $elements; echo '</div>'; echo '<div class="span6">'; echo '<div class="add-new-element button button-primary"><i class="fa-plus"></i> Add New Element</div>'; echo '</div>'; echo '</div>'; echo '</div>'; //span12 echo '<div class="span6">'; echo ' <strong>Choose a grid layout</strong> <p>You can design your layout with different columns by choosing a grid layout and then move your elements into the grid.</p> '; echo '<div class="row-fluid">'; echo '<div class="span6 full-column-elements">'; echo $grids; echo '</div>'; //span6 echo '<div class="span6">'; echo '<div class="add-new-grid button button-primary"><i class="fa-plus"></i> Add Grid</div>'; echo '</div>'; //span6 echo '</div>'; //row-fluid echo '</div>'; //span12 echo '</div>'; //row-fluid //Form live preview echo '<div class="row-fluid">'; echo '<div class="span2"></div>'; echo '<div class="span8">'; echo '<ul class="form-preview">'; echo $loaded_html; //All elements will be here echo '</ul>'; //form-preview echo '</div>'; //span8 echo '</div>'; //row-fluid echo '<div class="rockthemes_fb_modal_container">'; echo $modals_html; echo '</div>'; //rockthemes_fb_modal_container echo '<div class="rockthemes_fb_ui_footer">'; echo '<div class="rockthemes_fb_save_form btn btn-success">Save Form <i class="rockthemes-fb-save-icon"></i></div>'; echo '</div>'; //rockthemes_fb_ui_footer echo '</div>'; //rockthemes-fb-main-container //Echo first sortable call for loaded elements echo $loaded_html_script; }
function rockthemes_fb_make_admin_element_ajax() { $data = isset($_POST['data']) ? $_POST['data'] : false; if (!$data) { return exit; } $args = array('id' => $data['id'], 'type' => $data['type']); $return = rockthemes_fb_make_admin_element($args); echo wp_send_json($return); exit; }