function hoot_sanitize_icon($input, $option) { $recognized = hoot_enum_icons(); if (in_array($input, $recognized)) { return $input; } return apply_filters('hoot_sanitize_default_icon', ''); }
/** * Sanitize field values to store in database * * @since 1.1.7 * @param $instance * @param $fields */ public function sanitize($instance, $fields) { foreach ($fields as $field) { /* Skip if the field does not have an id/type */ if (!isset($field['id']) || !isset($field['type'])) { continue; } /* Skip if instance value is not set */ $id = $field['id']; if (!isset($instance[$id])) { continue; } /* Sanitize field values */ switch ($field['type']) { case 'textarea': global $allowedposttags; $instance[$id] = wp_kses($instance[$id], $allowedposttags); break; case 'checkbox': $instance[$id] = !empty($instance[$id]) ? 1 : 0; break; case 'select': case 'radio': case 'images': $instance[$id] = isset($field['options'][$instance[$id]]) ? $instance[$id] : ''; break; case 'icon': $icons = hoot_enum_icons(); $instance[$id] = in_array($instance[$id], $icons) ? $instance[$id] : ''; break; case 'group': foreach ($instance[$id] as $i => $subinstance) { $instance[$id][$i] = $this->sanitize($subinstance, $field['fields']); } break; } /* Custom sanitizations for specific field. Example, a text input has a url */ if (isset($field['sanitize'])) { switch ($field['sanitize']) { case 'url': $instance[$id] = esc_url_raw($instance[$id]); break; case 'integer': $instance[$id] = intval($instance[$id]); $instance[$id] = !empty($instance[$id]) ? $instance[$id] : ''; break; case 'absint': $instance[$id] = absint($instance[$id]); $instance[$id] = !empty($instance[$id]) ? $instance[$id] : ''; break; case 'email': $instance[$id] = is_email($instance[$id]); break; // Allow custom sanitization functions // Allow custom sanitization functions default: $instance[$id] = apply_filters('widget_admin_sanitize_field', $instance[$id], $field['sanitize']); } } } return $instance; }
/** * Sanitize icon value to allow only allowed choices. * * @since 2.0.0 * @param string $value The unsanitized string. * @param mixed $setting The setting for which the sanitizing is occurring. * @return string The sanitized value. */ function hoot_customizer_sanitize_icon($value, $setting) { $choices = hoot_enum_icons(); if (!in_array($value, $choices)) { if (is_object($setting)) { $setting = $setting->id; } $value = hoot_customizer_get_default($setting); } return $value; }