public static function init($_filters = '')
 {
     // Decimal and thousand separators
     if (wp_slimstat::$options['use_european_separators'] == 'no') {
         self::$formats['decimal'] = '.';
         self::$formats['thousand'] = ',';
     }
     // Filters are defined as: browser equals Chrome|country starts_with en
     if (!is_string($_filters) || empty($_filters)) {
         $_filters = '';
     }
     // List of supported filters and their friendly names
     self::$columns_names = array('no_filter_selected_1' => array(' ', 'none'), 'browser' => array(__('Browser', 'wp-slimstat'), 'varchar'), 'country' => array(__('Country Code', 'wp-slimstat'), 'varchar'), 'ip' => array(__('IP Address', 'wp-slimstat'), 'int'), 'searchterms' => array(__('Search Terms', 'wp-slimstat'), 'varchar'), 'language' => array(__('Language Code', 'wp-slimstat'), 'varchar'), 'platform' => array(__('Operating System', 'wp-slimstat'), 'varchar'), 'resource' => array(__('Permalink', 'wp-slimstat'), 'varchar'), 'referer' => array(__('Referer', 'wp-slimstat'), 'varchar'), 'username' => array(__('Visitor\'s Name', 'wp-slimstat'), 'varchar'), 'outbound_resource' => array(__('Outbound Link', 'wp-slimstat'), 'varchar'), 'page_performance' => array(__('Page Speed', 'wp-slimstat'), 'int'), 'no_filter_selected_2' => array(' ', 'none'), 'no_filter_selected_3' => array(__('-- Advanced filters --', 'wp-slimstat'), 'none'), 'plugins' => array(__('Browser Capabilities', 'wp-slimstat'), 'varchar'), 'browser_version' => array(__('Browser Version', 'wp-slimstat'), 'varchar'), 'browser_type' => array(__('Browser Type', 'wp-slimstat'), 'int'), 'user_agent' => array(__('User Agent', 'wp-slimstat'), 'varchar'), 'notes' => array(__('Pageview Attributes', 'wp-slimstat'), 'varchar'), 'server_latency' => array(__('Server Latency', 'wp-slimstat'), 'int'), 'author' => array(__('Post Author', 'wp-slimstat'), 'varchar'), 'category' => array(__('Post Category ID', 'wp-slimstat'), 'varchar'), 'other_ip' => array(__('Originating IP', 'wp-slimstat'), 'int'), 'content_type' => array(__('Resource Content Type', 'wp-slimstat'), 'varchar'), 'content_id' => array(__('Resource ID', 'wp-slimstat'), 'int'), 'screen_width' => array(__('Screen Width', 'wp-slimstat'), 'int'), 'screen_height' => array(__('Screen Height', 'wp-slimstat'), 'int'), 'resolution' => array(__('Viewport Size', 'wp-slimstat'), 'varchar'), 'visit_id' => array(__('Visit ID', 'wp-slimstat'), 'int'));
     // The following filters will not be displayed in the dropdown
     self::$all_columns_names = array_merge(array('minute' => array(__('Minute', 'wp-slimstat'), 'int'), 'hour' => array(__('Hour', 'wp-slimstat'), 'int'), 'day' => array(__('Day', 'wp-slimstat'), 'int'), 'month' => array(__('Month', 'wp-slimstat'), 'int'), 'year' => array(__('Year', 'wp-slimstat'), 'int'), 'interval_direction' => array(__('+/-', 'wp-slimstat'), 'int'), 'interval' => array(__('days', 'wp-slimstat'), 'int'), 'interval_hours' => array(__('hours', 'wp-slimstat'), 'int'), 'interval_minutes' => array(__('minutes', 'wp-slimstat'), 'int'), 'dt' => array(__('Unix Timestamp', 'wp-slimstat'), 'int'), 'direction' => array(__('Direction', 'wp-slimstat'), 'varchar'), 'limit_results' => array(__('Limit Results', 'wp-slimstat'), 'int'), 'start_from' => array(__('Start From', 'wp-slimstat'), 'int'), 'strtotime' => array(0, 'int')), self::$columns_names);
     // Allow third party plugins to add even more column names to the array
     self::$all_columns_names = apply_filters('slimstat_column_names', self::$all_columns_names);
     // Hook for the... filters
     $_filters = apply_filters('slimstat_db_pre_filters', $_filters);
     // Normalize the input (filters)
     self::$filters_normalized = self::parse_filters($_filters);
     // Hook for the array of normalized filters
     self::$filters_normalized = apply_filters('slimstat_db_filters_normalized', self::$filters_normalized, $_filters);
     self::$sql_where['columns'] = self::_get_sql_where(self::$filters_normalized['columns']);
     self::$sql_where['time_range'] = '(dt BETWEEN ' . self::$filters_normalized['utime']['start'] . ' AND ' . self::$filters_normalized['utime']['end'] . ')';
 }