/** * Get the default field values. * @param array $form_fields (default: array()) * @return array $form_fields */ public function get_default_values($form_fields = array()) { if (empty($form_fields)) { $form_fields = $this->get_form_fields(); } $shortcode = empty($_POST['params']['shortcode']) ? '' : $_POST['params']['shortcode']; if ($shortcode) { // Extract and store the main shortcode. AC_AJAX::shortcodes_to_interface($shortcode); $main_shortcode = end($_POST['extracted_shortcode']); // Proceed if the main shortcode has either arguments or content. if (!empty($main_shortcode['attr']) || !empty($main_shortcode['content'])) { if (empty($main_shortcode['attr'])) { $main_shortcode['attr'] = ''; } if (isset($main_shortcode['content'])) { $main_shortcode['attr']['content'] = $main_shortcode['content']; } // Check if we already got a value? foreach ($form_fields as $key => &$value) { if (isset($key) && isset($main_shortcode['attr'][$key])) { $value['shortcode_data'] = $main_shortcode['attr']; // If we got a item with subelements if (isset($value['subelements'])) { $value['default'] = array(); $count_shortcodes = count($_POST['extracted_shortcode']); for ($i = 0; $i < $count_shortcodes - 1; $i++) { $value['default'][$i] = $_POST['extracted_shortcode'][$i]['attr']; $value['default'][$i]['content'] = $_POST['extracted_shortcode'][$i]['content']; } } elseif ($value['type'] == 'checkbox') { if (1 == $main_shortcode['attr'][$key]) { $value['default'] = 'yes'; } } else { $value['default'] = stripslashes($main_shortcode['attr'][$key]); } } elseif ($value['type'] == 'checkbox') { $value['default'] = 'no'; } } } } return $form_fields; }