jenkins-bot has submitted this change and it was merged.

Change subject: Log event when new editors reach edit milestone
......................................................................


Log event when new editors reach edit milestone

Log an event when an editor who registered in the last 30 days makes their
first, fifth, tenth, twenty-fifth, fiftieth or hundredth edit.

See <https://meta.wikimedia.org/wiki/Schema:NewEditorMilestone>.

Change-Id: Ia6f758068ed1036014de105e3ab34b932149c13b
---
M WikimediaEvents.php
1 file changed, 38 insertions(+), 11 deletions(-)

Approvals:
  Nuria: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index 1194a10..db9d5eb 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -86,18 +86,45 @@
 $wgHooks['PageContentSaveComplete'][] = function ( $article, $user, $content, 
$summary,
        $isMinor, $isWatch, $section, $flags, $revision, $status, $baseRevId ) {
 
-       if ( $revision ) {
-               $event = array(
-                       'revisionId' => $revision->getId(),
-                       'isAPI' => defined( 'MW_API' ),
-                       'isMobile' => ( class_exists( 'MobileContext' )
-                               && 
MobileContext::singleton()->shouldDisplayMobileView() ),
-               );
-               if ( isset( $_SERVER[ 'HTTP_USER_AGENT' ] ) ) {
-                       $event[ 'userAgent' ] = $_SERVER[ 'HTTP_USER_AGENT' ];
-               }
-               efLogServerSideEvent( 'PageContentSaveComplete', 5588433, 
$event );
+       if ( !$revision ) {
+               return;
        }
+
+       $isAPI = defined( 'MW_API' );
+       $isMobile = class_exists( 'MobileContext' ) && 
MobileContext::singleton()->shouldDisplayMobileView();
+       $revId = $revision->getId();
+
+       $event = array(
+               'revisionId' => $revId,
+               'isAPI'      => $isAPI,
+               'isMobile'   => $isMobile,
+       );
+
+       if ( isset( $_SERVER[ 'HTTP_USER_AGENT' ] ) ) {
+               $event[ 'userAgent' ] = $_SERVER[ 'HTTP_USER_AGENT' ];
+       }
+       efLogServerSideEvent( 'PageContentSaveComplete', 5588433, $event );
+
+       // Get the user's age, measured in seconds since registration.
+       $age = time() - wfTimestampOrNull( TS_UNIX, $user->getRegistration() );
+
+       // Get the user's edit count.
+       $editCount = $user->getEditCount();
+
+       // If the editor signed up in the last thirty days, and if this is a
+       // milestone edit, log a NewEditorMilestone event.
+       if ( $age <= 2592000 && in_array( $editCount, array( 1, 5, 10, 25, 50, 
100 ) ) ) {
+               efLogServerSideEvent( 'NewEditorMilestone', 6538838, array(
+                       'userId'    => $user->getId(),
+                       'userAge'   => $age,
+                       'milestone' => $editCount,
+                       'pageId'    => $article->getId(),
+                       'revId'     => $revId,
+                       'isAPI'     => $isAPI,
+                       'isMobile'  => $isMobile,
+               ) );
+       }
+
        return true;
 };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/98079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia6f758068ed1036014de105e3ab34b932149c13b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>
Gerrit-Reviewer: Nuria <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to