Making WordPress.org


Ignore:
Timestamp:
02/03/2016 10:43:25 PM (10 years ago)
Author:
pento
Message:

Login: Track when a login fails, so we can see if folks are trying to use login.wordpress.org to login to their own site.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions.php

    r2453 r2454  
    5353
    5454/**
     55 * Log failed logins to Google Analytics.
     56 */
     57$wporg_login_failed_username = '';
     58function wporg_login_failed( $errors ) {
     59    global $wporg_login_failed_username;
     60    $wporg_login_failed_username = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr(wp_unslash($_POST['log'])) : '';
     61
     62    return $errors;
     63}
     64add_action( 'wp_login_errors', 'wporg_login_failed', 10, 1 );
     65
     66/**
    5567 * Add Google Analytics tracking to login pages.
    5668 */
    5769function wporg_login_analytics() {
    58 ?>
     70    global $wporg_login_failed_username;
     71    ?>
    5972<script type="text/javascript">
    6073var _gaq = _gaq || [];
     
    6275_gaq.push(['_setDomainName', 'wordpress.org']);
    6376_gaq.push(['_trackPageview']);
     77<?php if ( $wporg_login_failed_username ) { ?>
     78    _gaq.push(['_trackEvent', 'user', 'login-failed', '<?php echo $wporg_login_failed_username; ?>']);
     79<?php } ?>
    6480(function() {
    6581    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
     
    7288}
    7389</script>
    74 <?php
     90    <?php
    7591}
    76 add_action( 'wp_footer', 'wporg_login_analytics' );
     92add_action( 'wp_footer',    'wporg_login_analytics' );
     93add_action( 'login_footer', 'wporg_login_analytics' );
Note: See TracChangeset for help on using the changeset viewer.