/** * sanitize useragent list * * @since 1.1 * */ public function useragent($array) { global $wp_filter; $localhost = false; $array = wp_unslash($array); if (!is_array($array)) { $array = array($array); } if (isset($array['localhost']) && 's' == sanitize_html_class($array['localhost']) && isset($wp_filter['stt2extat_allow_localhost'])) { $localhost = true; } $array_unique = array_unique(array_map('trim', array_keys($array))); $new_array = array(); foreach ($array_unique as $k) { $v = $array[$k]; if (isset($array[$k]) && '' != $v) { $k = stt2extat_parse_url(sanitize_text_field($k)); $v = sanitize_html_class($v); if ('' != $k && '' != $v) { $new_array[$k['host']] = $v; } } } if ($localhost) { $new_array = wp_parse_args(array('localhost' => 's'), $new_array); } $new_array = array_filter(array_map('trim', $new_array)); uksort($new_array, 'strcasecmp'); return $new_array; }
/** * get info host and uri of referrer * * @since 1.1 * */ protected function get_referer() { if (!$this->referrer) { return false; } $parsed_url = stt2extat_parse_url($this->referrer); if (!isset($parsed_url['host'], $parsed_url['query']) || !array_filter($parsed_url)) { return false; } $parsed_url['url'] = strtolower($this->referrer); return wp_parse_args($parsed_url['url'], $parsed_url); }