public function ajax_save_form() { $data = array(); $fmb_data = isset($_POST['form_data']) ? urldecode(Uiform_Form_Helper::sanitizeInput_html($_POST['form_data'])) : ''; $fmb_data = str_replace("\\'", "'", $fmb_data); $fmb_data = isset($fmb_data) && $fmb_data ? array_map(array('Uiform_Form_Helper', 'sanitizeRecursive_html'), json_decode($fmb_data, true)) : array(); $data['fmb_data'] = json_encode($fmb_data); $data['fmb_data2'] = isset($fmb_data['onsubm']) ? json_encode($fmb_data['onsubm']) : ''; $data['fmb_name'] = !empty($_POST['uifm_frm_main_title']) ? Uiform_Form_Helper::sanitizeInput(trim($_POST['uifm_frm_main_title'])) : ''; $data['created_ip'] = $_SERVER['REMOTE_ADDR']; $data['created_by'] = 1; $data['created_date'] = date('Y-m-d h:i:s'); $fmb_id = isset($_POST['uifm_frm_main_id']) ? Uiform_Form_Helper::sanitizeInput(trim($_POST['uifm_frm_main_id'])) : 0; $json = array(); if (intval($fmb_id) > 0) { $where = array('fmb_id' => $fmb_id); $this->wpdb->update($this->formsmodel->table, $data, $where); $json['status'] = 'updated'; $json['id'] = $fmb_id; } else { $this->wpdb->insert($this->formsmodel->table, $data); $idActivate = $this->wpdb->insert_id; $json['status'] = 'created'; $json['id'] = $idActivate; } if (intval($json['id']) > 0) { $where = array('fmb_id' => $json['id']); //save fields to table $this->save_data_fields($json['id']); //save fields to table $this->save_form_clogic(); //generate form html $gen_return = $this->generate_form_html($json['id']); $data = array(); $data['fmb_html'] = $gen_return['output_html']; $data['fmb_html_css'] = $gen_return['output_css']; //get global style $data2 = array(); $data2['idform'] = $json['id']; $data2['addition_css'] = $this->current_data_main['add_css']; $data2['skin'] = $this->current_data_skin; $gen_return['output_css'] .= self::render_template('formbuilder/views/forms/formhtml_css_global.php', $data2); $this->wpdb->update($this->formsmodel->table, $data, $where); //generate form css ob_start(); $pathCssFile = UIFORM_FORMS_DIR . '/assets/frontend/css/rockfm_form' . $json['id'] . '.css'; $f = fopen($pathCssFile, "w"); fwrite($f, $gen_return['output_css']); fclose($f); ob_end_clean(); } //return data to ajax callback header('Content-Type: application/json'); echo json_encode($json); wp_die(); }
/** * Sanitize recursive * * @param string $data array * * @return array */ public static function sanitizeRecursive_html($data) { if (is_array($data)) { return array_map(array('Uiform_Form_Helper', 'sanitizeRecursive_html'), $data); } else { return Uiform_Form_Helper::sanitizeInput_html($data); } }
public function get_form_shortcode($attributes, $content = null) { extract(shortcode_atts(array('id' => 1, 'ajax' => false), $attributes)); $shortcode_string = ""; $data_form = $this->formsmodel->getAvailableFormById($id); if (empty($data_form)) { return; } $shortcode_string = stripslashes($data_form->fmb_html); //load resources $this->load_form_resources($id); ob_start(); // check for external shortcodes $shortcode_string = do_shortcode($shortcode_string); //adding alert message if (isset($_POST['_rockfm_type_submit']) && absint($_POST['_rockfm_type_submit']) === 0 && absint($_POST['_rockfm_form_id']) === intval($id)) { if (isset($this->flag_submitted) && intval($this->flag_submitted) > 0) { echo isset($_POST['_rockfm_onsubm_smsg']) ? Uiform_Form_Helper::base64url_decode(Uiform_Form_Helper::sanitizeInput_html($_POST['_rockfm_onsubm_smsg'])) : __('Success! your form was submitted', 'frocket_front'); } else { echo __('warning! Form was not submitted', 'frocket_front'); } } if (!file_exists(UIFORM_FORMS_DIR . '/assets/frontend/css/rockfm_form' . $id . '.css')) { ob_start(); ?> <style type="text/css"> <?php echo $data_form->fmb_html_css; ?> </style> <?php $css_string = ob_get_clean(); ob_end_clean(); echo $css_string; } echo $shortcode_string; $output = ob_get_clean(); return $output; }