$p_value) { //If we have a value if($p_value !== '') { //Un-prefix keys $p_key = an_unprefix($p_key); //Add data $request_string .= $p_key . '/' . $p_value . '/'; } } return trim($request_string, '/'); } /** * Get parameters from request string */ function an_request_parameters_from_request_string($request_string) { $request_parameters = array(); $request_string = trim($request_string, '/'); $request_explode = explode('/', $request_string); for($i = 0; $i < sizeof($request_explode); $i+=2) { $request_parameters[$request_explode[$i]] = $request_explode[$i+1]; } return $request_parameters; } /** * Save the tool parameters as post meta once form is posted */ function an_save_post_meta_from_form_post($post_id, $form_post) { //Posted form includes values for every tool $plugin_parameters = array_merge( an_get_config('item_parameters'), an_get_config('ad_parameters'), an_get_config('profile_parameters'), an_get_config('feedback_parameters') ); //Iterate over each parameter foreach($plugin_parameters as $param_defition) { //Value exists if(isset($form_post[$param_defition['name']]) && trim($form_post[$param_defition['name']]) !== '') { $param_value = $form_post[$param_defition['name']]; $param_value = trim($param_value); //Are we processing it before input? if(array_key_exists('input_processing', $param_defition)) { foreach($param_defition['input_processing'] as $process) { eval("\$param_value = $process;"); } } update_post_meta($post_id, $param_defition['name'], $param_value); //No value exists } else { delete_post_meta($post_id, $param_defition['name']); } } } /** * Update widget instance */ function an_update_widget_instance($tool_key, $instance_in) { $instance_out = array(); //Get parameter definitions $plugin_parameters = an_get_config($tool_key . '_parameters'); //Iterate over each parameter foreach($plugin_parameters as $param_defition) { //Value exists if(isset($instance_in[$param_defition['name']])) { $param_value = $instance_in[$param_defition['name']]; $param_value = trim($param_value); //Are we processing it before input? if(array_key_exists('input_processing', $param_defition)) { foreach($param_defition['input_processing'] as $process) { eval("\$param_value = $process;"); } } $instance_out[$param_defition['name']] = $param_value; } } return $instance_out; }