This is a maintenance release for WP 3.5 compatibility. Nothing new has been added.
Fixed warnings caused by $wpdb->prepare() called with only one argument and so fixed some possible SQL injection vulnerabilities.
Fixed warnings caused by unknown countries
Added Ukrainian and Hebrew translations
Fixed issue with non-ASCII characters
Fixed a race condition in email reports: Counterize now checks if a report should be sent after all the Counterize plugins have been loaded.
If a report failed to be sent, Counterize will try to send it using the blog admin email as sender
Corrected a mispelled variable in the Pages plugin
Corrected some notices about undefined indexes
Updated French translation
Added Total hits support in the [counterize] shortcode window helper (other functions will be available in a next release)
updated installation procedure to update user agents and delete bots only when necessary
It wasn't possible to delete entries in History anymore. Now fixed.
Removed a trailing line in the file ip_files/countries.php. That could cause errors if headers were already sent.
Corrected an issue with ip_files/countries.php: does not use PHP short tags anymore
Added an updated Spanish translation by José Delgado (Thanks to him!)
Added a warning message when no Counterize plugins are activated
Set all the plugins to the version of Counterize because a WordPress bug nag users to update the plugins and report a wrong version information.
Counterize has been splitted into several plugins, so that you can enable/disable what you want, and also create your own plugin easily. As a result, several functions have been moved into their respective plugin. See the API section for more information.
Added Outlinks and exit pages tracking
Added Email reports
Added a [counterize] shortcode
Added a Counterize button in the Visual editor to easily insert the [counterize] shortcode
Added possibility to use the wildcard characters % and _ in the filters of the History page
Added the LIKE and NOT LIKE filters on the History page
Added a debug checkbox to see the generated SQL query in the History page
Added a date filter in the History page
Added help sections using the new WP_Screen API
Added a Counterize menu with nice icons in the WordPress toolbar for easy access
Now display the post thumbnails correctly in the Most popular pages plugin
Vertical diagrams bars will reflect the actual percentage better and use the available space in their cells
Fixed the counterize_current_post_hits() function, with many thanks to Subhash and terrah
Added a lot of actions and filters that you can hook into
Improved the required capability dropdown listitem and added roles inside (roles are easier to understand than capabilities...)
Now use pure CSS to display the diagram bars, no more images, for faster loading time and less server requests
Counterize will load the file user_botlist.txt if it exists. Users can create this file and put their bots inside, so that it is not overwritten after an update
Updated IP to Country database
Optimization of the counterize_delete_bots() and counterize_delete_broken_entries() functions
Added some indexes to speed up things. Especially on counterize_referers.keywordID during execution of the function counterize_delete_broken_entries().
Added the following countries: Ascension Island, Åland Islands, Saint Barthélemy, "Bonaire, Sint Eustatius and Saba", Bouvet Island, Clipperton Island, Curaçao, Chrismas Island, Diego Garcia, Ceuta and Melilla, Western Sahara, Guernsey, Heard Island and McDonald Islands, Canary Islands, Isle of Man, Democratic People's Republic of Korea, Saint Martin (French part), Montserrat, Saint Pierre and Miquelon, Pitcairn, "Saint Helena, Ascension and Tristan da Cunha", Svalbard and Jan Mayen, South Sudan, Sint Maarten (Dutch part), Tristan da Cunha, Turks and Caicos Islands, East Timor, United States Minor Outlying Islands, Wallis and Futuna, Grenada, Saint Lucia, Saint Vincent, Zaire.
Modified the following countries: Libya, Virgin Islands (British), Virgin Islands (US).
Changed Counterize pages headers from h2 to h1
Improved charts, now more beautiful
Bipolar charts will now display correctly in case the maximum is <= 0
Charts without any collapsible item will not display the first column
Corrected links when the blog is in HTTPS mode (thanks to Gérard)
Some memory usage optimizations
Corrected some notices
Improved keywords detection with many more search engines
New keyword filter in Counterize History
In the Counterize History, the "reset filter" link is not a button, as well as navigation links
Corrected a regression introduced in 3.0.31: localizations works again now.
Corrected the "#- counterize_function() -#" format that was not working properly before
The bot logging option is now effective (it was not used before)
The function "counterize_getuniqueamount()" now has an optional "$since" parameter that allows to return the number of visitors since $since seconds
The function "counterize_getuniqueamount()" now has an optional "$interval" parameter that allows to count an already existing IP again if it has been inserted $interval seconds after the previous entry for this IP
The function "counterize_getamount()" now has an optional "$since" parameter that allows to return the number of hits since $since seconds
New function "counterize_getpagesamount()" that get the number of page views with an optional $since parameter representing a number of second.
Improved the "Hit counter" section in the Traffic dashboard and added new useful data
The distinction between a visitor and a hit is more clear now. Traffic charts have been renamed to reflect this.
Corrected a bug in the post ID detection
Updated the count field of all tables because it wasn't in phase after the several previous updates and bugs
A new keyword is now inserted in the database before the referer
Corrected eventual SQL injection and XSS vulnerabilities through uncorrectly sanitized _GET and _POST variables. Please update! I reviewed the code and it should be all safe now.
Added new charts in the Traffic section of the Counterize dashboard: "Visits for the last 7 days", "Progression between last week and current week", "Monthly visits for the current year" and "Hourly visits for the last 24 hours"
The function "render_feed_horizontal()" of the CounterizeFeed class can now render negative values. A "+" and "-" sign is added to values of such charts, and negative values are shown in a new row for readability.
A new optional "print_header" parameter is available for counterize charts rendering functions. If set to true (the default value), it will display the feed "title" member.
A new optional "print_percents" parameter is available for counterize charts rendering functions. If set to true (the default value), it will display the percentages.
A new optional "unit" parameter is available for the contructor of the CounterizeFeed class. If non-empty, this unit will be printed after the value in charts.
counterize_feed_weekly_stats() has a new optional parameter "only_this_week"
counterize_feed_monthly_stats() has a new optional parameter "only_this_year"
Some divisions by zeros corrected
Replaced wpdb->escape() by wpdb->prepare() calls
Rewrite of some SQL functions
$wpdb->get_var returns NULL (not false) in case of failure: corrected the code to reflect this behavior.
Code cleaning and reformatting
counterize_copyright() function now outputs valid HTML code
This version is officially compatible with WordPress 3.2
Introducing Counterize data feeds. You can now use the data as your want!
Improved rendering of vertical and horizontal stats
Several functions deprecated, placed in "counterize_deprecated.php". Update your blog to use the new functions!
Several new functions to replace the deprecated ones (see the "Functions" section in the Readme)
Improved History look and feel
Added Trisquel GNU/Linux detection
Added Ultimate Edition Linux detection
Added PS3 browser detection
Corrected ChromePlus detection
Corrected ELinks detection
Collapsible charts are more beautiful, more lightweight and only collapsible when necessary
Fixed detection of the Jersey country
Fixed PHP start tag in countries.php (thanks to Robert Hurst for pointing this)
New Spanish translation from José Delgado
Added blue color bar if the amount is greater than 99%
Corrected duplicate entries appearing in Most popular posts/pages charts
In the History, going to another page will keep the filters
The number of pages is now displayed and is more accurately computed
Added a simple navigation bar on the bottom of the History entries
Added buttons to clear individual filters
New function "counterize_current_post_hits()" (Thanks to Greg Froese)
New functions "counterize_most_popular_posts()" and "counterize_most_popular_posts24hrs()" (from an original idea of Greg Froese)
Function "counterize_most_visited_pages()" is deprecated and replaced by "counterize_most_requested_urls()"
Function "counterize_most_visited_pages24hrs()" is deprecated and replaced by "counterize_most_requested_urls24hrs()"
Fixed a regression caused by an integer overflow in the country detection code (note for myself: PHP integers are 32 bits SIGNED integers)
Removed try catch blocks in upgrade scripts as exceptions are not catched unless I implement my own exception manager, which I don't want. Will also solve PHP4 users complaints.
Optimized the function counterize_iptocountrycode() in counterize_iptocountry.php. Slightly faster.
Now test if indexes exist before adding or deleting them
Improved installation script (many thanks to Daniel from chaosonline.de!)
Fixed several SQL bugs found during code review
Some indexes were transformed to UNIQUE indexes to speed up things and future upgrades
INSERT, UPDATE and ALTER TABLE statements use the IGNORE clause to avoid the insertion of duplicate records (happened to me)
Duplicate records will be deleted during the upgrade process
The upgrade from 3.0.21 to 3.0.22 should use less memory
The upgrade script should not run two times the previous upgrades
Modified the History table to be more standard XHTML
The history table will repeat its header every 25 rows for better readability
The history table headers and some table rows are now middle centered
Kill an entry will now decount the related country counter
Improved History look n feel
Added parsing of bing referers and fixed bug in referer analyser code
Corrected SQL error in history when the database is empty
Corrected notices caused by get_option() on fresh installation
Corrected errors during database flush
Added country counter reset during database flush
Corrected an issue with a new Counterize installation
Added a navigation bar to the Counterize History page
Corrected SQL for the counterize_most_visiting_countries() function
Corrected an issue which prevented the Counterize history to display entries with "unavailable" as IP.
Added the "00" country code to the countries table. This code is used when the country cannot be determined.
Deleting bots will also delete broken records from the database (log entries refering to deleted entries for example) and decount each of them from the related tables counters
Corrected changelog typo in the readme
Added support for country detection
New country charts in Counterize Dashboard
New country filters in history
New country charts available to insert in your pages and posts (see the "Statistics in your posts and pages" section of this Readme)
Fixed some issues with RTL scripts in the History page
Can now combine filters of same and different types (example, different IP addresses, Referer AND agent...)
Can now define include or exclude filters
Can now filter unknown referers (before the link was missing)
Button to clear the form and button to cancel changes made to the form. Difference between the two buttons is that the second will restore the previously submitted filter (if any).
Buttons now integrates better with the WordPress theme
Changed "#-- something --#" to "#- something -#" to insert statistics into posts as it seems WordPress change double dashes to one single long dash.
Counterize should now display correctly in Right to Left scripts.
Maintenance release. The Counterize Dashboard will now try to insert itself in an available position in the menu instead of blindly replace previous menus.
Added option to choose the Geo IP tool (before it was hard-coded)
All the Counterize pages should now be 100% valid XHTML 1.0 Transitional. This means less potential issues.
Collapsible stats are now a little lighter due to an url encoding issue.
Counterize should load a little faster because all XML errors have been eliminated.
Corrected a conflict with the wp-security-scan plugin (function make_seed() was already declared in this plugin).
Ensure that every function begin with the "counterize_" prefix to avoid conflicts
Renamed browsniff.php to counterize_browsniff.php
New form to apply filters in the history (still a work in progress, your ideas are welcome)
Flushing the DB will reset the auto_increment counters to 1 (thanks to Carsten Becker)
Backquoted the tables and table fields in Counterize queries
Moved the Counterize dashboard in its own menu and divided it among several pages for easier access.
Improved bot detection with possibility to define complex filters and use regular expressions in the botlist.txt file (see the "Other Notes", "botlist.txt" section).
Improved bot deletion: deleting a bot should now substract the hits related to the bot.
New Slovenian translation (thanks to Spela Golob Peterlin)
Corrected wrong link in the Counterize dashboard widget
The is_admin() function does not behave as I thought (a simple registered user will actually pass the is_admin() check if he goes his profile dashboard) so it has been replaced by current_user_can('manage_options') where relevant.
Moved some function calls in the init action.
Corrected a minor bug in the data validation of the options
Added function counterize_most_visited_IPs24hrs()
Added counterize_stats_ip_xx and counterize_stats_ip_24hrs_xx
Updated all translations
Updated French translation
Updated Turkish translation (thanks to Can Aydemir)
Updated German translation (thanks to Carsten Becker)
Commented error_reporting(E_ALL) (I forgot to comment it in the previous version)
Corrected a SQL injection risk
Corrected the alternative way to put statistics into posts and pages (using #-- and --# instead of <!-- and -->)
Corrected a serious bug in the installation procedure about migration from version 2.x to 3.x of Counterize
Use the WordPress Settings API for the options page for a more WordPress 3 compliant option page
Now only 2 options stored in the WordPress options table ('counterize_options' and 'counterize_version')
Restored user-agent filtering in Counterize Dashboard
IP statistics restored if allowed by your country.
User can choose to collect IPs if it is allowed in his country. If not allowed, IP will be replaced by 'unavailable'.
Updated the Geo IP website to whatismyipaddress.com because the other one does not work
Fixed a lot of issues (warnings, notices, errors...) thanks to WP_DEBUG=true and PHP's error_reporting(E_ALL)
Renamed a lot of callbacks with the '_callback' suffix in order to recognize them more easily
Links open in a new window
Updated French translation. Translation authors should update their translation also.
Added an alternative way to put statistics into posts and pages (use #-- and --# instead of <!-- and -->)
Fixed minor installation issue
Fixed incorrect naming of localization files. I was thinking the country suffix was not mandatory for the .po and .mo files, but actually it is, otherwise the translation is ignored by WordPress. So for example if your WPLANG value is "fr_FR", WordPress will only load .mo files finishing by "-fr_FR.mo". Thanks to Can for letting me find this.
Moved some functions away from counterize.php
Added a bot in botlist.txt
Added two functions: counterize_most_used_browsers_collapsible() and counterize_most_used_os_collapsible(). Clicking on the [+] will display the statistics about each version of a given browser or operating system.
Added their corresponding code for adding the charts in a post or page
Updated bot list to block a larger number of bots while keeping the list small
Carsten Becker updated the German translation
New Turkish translation from Can
Corrected an issue with the detection of botfile.txt and delete the bots that made it to the Counterize DB.
New German translation (thanks to Carsten Becker)
Added a button to manually delete the bots into the Counterize options page. So now you can modify your botlist.txt and delete the bots with that button.
Added more possibilities to add statistics into user posts in a convenient way
New function counterize_most_used_os_without_version()
New function counterize_get_hits()
Fixed function counterize_most_visited_referrers24hrs() (invalid SQL)
Fixed function counterize_most_visited_pages24hrs() (invalid column header)
counterize_most_visited_referrers24hrs()) and counterize_most_visited_pages24hrs() now display the amount of the last 24 hours instead of the global amount
Security update: The forms and links use Nonce in the administration area
Security update: It is now impossible to execute the Counterize PHP files directly
Modified the Counterize dashboard and options URL for a more friendly one
A complete uninstall script has been added (uninstall.php)
Fixed excluded user list too small (select style was set to height:2em; )
'Configure' link added to the plugins page
A few SQL query tricks
Fixed installation issue: hook register_activation_hook does not fire when plugin is automatically updated
The bot list is now in a separate text file (botlist.txt)
SQL queries have been reformated for easier reading
Fixed an obvious SQL error when using filters in latest entries
The install function was not called after the plugin activation, now fixed
The Counterize detailed dashboard is now a Dashboard sub-menu (before: a Post sub-menu)
Warn user about an 'out of memory' error if 0 is defined for the 'Amount of rows to show in history' option
Corrected a lot of bugs thanks to PHP's error_reporting=E_ALL and WP_DEBUG=true options
The Counterize dashboard section is now WordPress 3.x compliant (thanks to Carsten Becker for pointing this out)
The counterize version is correctly shown in the administration page of Counterize
The function counterize_get_online_users() was not documented anywhere
Updated POT file if someone want to translate it
Updated French translation
DEFAULT was ommited in a query, causing the installation to fail. Thanks to Helmut Hoffmann for reporting this!
No default version number was given. Thanks again to Helmut Hoffmann!
Development is now continued by Gabriel Hautclocq (me)
Chrome is now recognized as well as plenty of other browsers
Newer versions of Windows recognized
Many other OS have also been added
Updated the bot exclude list
Many OS version added
Updated some old icons
Several other improvements have been made to browsniff.php
Added a button in the admin interface to refresh the user-agent table (useful if you modify browsniff.php yourself)
Distinction between 32 and 64 bits versions of the OS, as well as ARM and PowerPC versions
Browsers and OS charts now display a link to the product
Fixed garbage alt attribute of the chart bars
Cleaner PHP code
Cleaner code output (indentation...)
WordPress 3.x compliant code
WordPress 3.x compliant Readme
Unfortunately, most translations should to be updated to reflect the changes. They have not been included with this version except for the French translation ; please allow some time to the translation authors to update their translation.
Now distributed under the ISC license
Requires: 3.3.0 or higher Compatible up to: 3.5.0 Last Updated: 2013-1-16 Downloads: 124,518