/** * Get value. * * @return mixed */ public function get_value() { $value = $this->get_option('value'); if (papi_is_empty($value)) { $type = papi_get_meta_type(); $slug = $this->get_slug(true); $value = papi_get_field($slug, null, $type); $post_status = get_post_status($this->get_post_id()); if (papi_is_empty($value) && ($post_status === false || $post_status === 'auto-draft')) { $value = $this->get_option('default'); } } if (papi_is_empty($value)) { return $this->default_value; } if ($this->convert_type === 'string') { $value = papi_convert_to_string($value); } return papi_santize_data($value); }
/** * Prepare value before database. * * @param mixed $value * * @return mixed */ protected function prepare_value($value) { if (papi_is_empty($value)) { return; } $value = papi_santize_data($value); if (is_array($value)) { $value = array_filter($value, function ($val) { return !papi_is_empty($val); }); if (!count(array_filter(array_keys($value), 'is_string'))) { $value = array_values($value); } } return $value; }
/** * Prepare property value. * * @param mixed $value * * @return mixed */ protected function prepare_value($value) { if (papi_is_empty($value)) { return $this->default_value; } if ($this->convert_type === 'string') { $value = papi_convert_to_string($value); } return papi_santize_data($value); }
/** * Santize data. * * @param mixed $obj * * @return mixed */ function papi_santize_data($obj) { if (is_array($obj)) { foreach ($obj as $k => $v) { if (is_string($v)) { $obj[$k] = papi_santize_data($v); } } } else { if (is_string($obj)) { $obj = papi_remove_trailing_quotes($obj); } } return $obj; }
/** * Santize data. * * @param mixed $obj * * @return mixed */ function papi_santize_data($obj) { if (is_array($obj)) { foreach ($obj as $k => $v) { if (is_string($v)) { $obj[$k] = papi_santize_data($v); } } } else { if (is_string($obj)) { $obj = str_replace("\\'", "'", str_replace('\\"', '"', $obj)); } } return $obj; }