http://www.mediawiki.org/wiki/Special:Code/MediaWiki/56349

Revision: 56349
Author:   nimishg
Date:     2009-09-14 23:47:53 +0000 (Mon, 14 Sep 2009)

Log Message:
-----------
Moved UserDailyContribs (table to measure user daily contributions) to its own 
extension

Modified Paths:
--------------
    trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php
    trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.php

Added Paths:
-----------
    trunk/extensions/UsabilityInitiative/UserDailyContribs/
    
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
    trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
    trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql

Removed Paths:
-------------
    trunk/extensions/UsabilityInitiative/ClickTracking/UserDailyContribs.sql

Modified: 
trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php  
2009-09-14 23:04:57 UTC (rev 56348)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.hooks.php  
2009-09-14 23:47:53 UTC (rev 56349)
@@ -23,11 +23,6 @@
                );
 
                $wgExtNewTables[] = array(
-                       'user_daily_contribs',
-                       dirname( __FILE__ ) . '/UserDailyContribs.sql'
-               );
-
-               $wgExtNewTables[] = array(
                        'click_tracking_events',
                        dirname( __FILE__ ) . '/ClickTrackingEvents.sql'
                );
@@ -112,20 +107,6 @@
                return $edits;
        }
 
-       /**
-        * Stores a new contribution
-        * @return true
-        */
-       public static function storeNewContrib(){
-               global $wgUser;
-               $today = gmdate( 'Ymd', time() );
-               $dbw = wfGetDB( DB_MASTER );
-               $sql = 
-               "INSERT INTO user_daily_contribs (user_id,day,contribs) VALUES 
({$wgUser->getId()},$today,1) ON DUPLICATE KEY UPDATE contribs=contribs+1;";
-               $dbw->query($sql, __METHOD__);
-               
-               return true;
-       }
 
        /**
         * Get event ID from name

Modified: trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.php
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.php        
2009-09-14 23:04:57 UTC (rev 56348)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/ClickTracking.php        
2009-09-14 23:47:53 UTC (rev 56349)
@@ -53,7 +53,6 @@
 
 // Hooked functions
 $wgHooks['LoadExtensionSchemaUpdates'][] = 'ClickTrackingHooks::schema';
-$wgHooks['ArticleSaveComplete'][] = 'ClickTrackingHooks::storeNewContrib';
 $wgHooks['EditPage::showEditForm:initial'][] = 'ClickTrackingHooks::addJS';
 
 // Set up the new API module

Deleted: 
trunk/extensions/UsabilityInitiative/ClickTracking/UserDailyContribs.sql
===================================================================
--- trunk/extensions/UsabilityInitiative/ClickTracking/UserDailyContribs.sql    
2009-09-14 23:04:57 UTC (rev 56348)
+++ trunk/extensions/UsabilityInitiative/ClickTracking/UserDailyContribs.sql    
2009-09-14 23:47:53 UTC (rev 56349)
@@ -1,19 +0,0 @@
---
--- Schema for UserDailyContribs
---
--- Used in clicktracking to determine how active the user is
---
-
-CREATE TABLE IF NOT EXISTS /*_*/user_daily_contribs (
-       -- user id
-       user_id integer NOT NULL default 0,
-
-       -- day
-       day DATE NOT NULL,
-
-       -- contributions on that day by that user
-       contribs integer NOT NULL default 0,
-
-       -- a unique entry for a given user_id and day
-       PRIMARY KEY(user_id, day)
-) /*$wgDBTableOptions*/;
\ No newline at end of file

Added: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
===================================================================
--- 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
                          (rev 0)
+++ 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
  2009-09-14 23:47:53 UTC (rev 56349)
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Hooks for Usability Initiative UserDailyContribs extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+class UserDailyContribsHooks {
+       
+       public static function schema() {
+               global $wgExtNewTables;
+
+               $wgExtNewTables[] = array(
+                       'user_daily_contribs',
+                       dirname( __FILE__ ) . '/UserDailyContribs.sql'
+               );
+
+               return true;
+       }
+       
+       
+       /**
+        * Stores a new contribution
+        * @return true
+        */
+       public static function storeNewContrib(){
+               global $wgUser;
+               $today = gmdate( 'Ymd', time() );
+               $dbw = wfGetDB( DB_MASTER );
+               /*
+               //there seems no way to set contribs to contribs+1 in a 
reasonably fast manner in this framework
+               try{
+                       $dbw->insert("user_daily_contribs", array("user_id" => 
$wgUser->getId(), "day" => $today, "contribs" => 1), __METHOD__); 
+               }
+               catch(Exception $e){
+                       $dbw->update( "user_daily_contribs", array( "contribs" 
=> "contribs+1"), array("user_id" => $wgUser->getId(), "day" => $today), 
__METHOD__);
+               }
+               */
+               $sql = 
+               "INSERT INTO user_daily_contribs (user_id,day,contribs) VALUES 
({$wgUser->getId()},$today,1) ON DUPLICATE KEY UPDATE contribs=contribs+1;";
+               $dbw->query($sql, __METHOD__);
+               return true;
+       }
+       
+}
\ No newline at end of file


Property changes on: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
===================================================================
--- 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php    
                            (rev 0)
+++ 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php    
    2009-09-14 23:47:53 UTC (rev 56349)
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Usability Initiative User Daily Contribtions (for Click Tracking) extension
+ *
+ * @file
+ * @ingroup Extensions
+ *
+ * This file contains the include file for the User Daily Contributions table 
in the
+ * UsabilityInitiative extension of MediaWiki.
+ *
+ * Usage: Include the following line in your LocalSettings.php
+ * require_once( 
"$IP/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php" );
+ *
+ * @author Nimish Gautam <[email protected]>
+ * @license GPL v2 or later
+ * @version 0.1.1
+ */
+
+/* Configuration */
+ 
+// Credits
+$wgExtensionCredits['other'][] = array(
+       'path' => __FILE__,
+       'name' => 'User Daily Contributions',
+       'author' => 'Nimish Gautam',
+       'version' => '0.1.1',
+       'url' => 'http://www.mediawiki.org/wiki/Extension:UsabilityInitiative'
+);
+
+
+
+// Includes parent extension
+require_once( dirname( dirname( __FILE__ ) ) . "/UsabilityInitiative.php" );
+
+// Adds Autoload Classes
+$dir = dirname( __FILE__ ) . '/';
+$wgAutoloadClasses['UserDailyContribsHooks'] = $dir . 
'UserDailyContribs.hooks.php';
+
+// Hooked functions
+$wgHooks['LoadExtensionSchemaUpdates'][] = 'UserDailyContribsHooks::schema';
+$wgHooks['ArticleSaveComplete'][] = 'UserDailyContribsHooks::storeNewContrib';


Property changes on: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
===================================================================
--- 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql    
                            (rev 0)
+++ 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql    
    2009-09-14 23:47:53 UTC (rev 56349)
@@ -0,0 +1,19 @@
+--
+-- Schema for UserDailyContribs
+--
+-- Used in clicktracking to determine how active the user is
+--
+
+CREATE TABLE IF NOT EXISTS /*_*/user_daily_contribs (
+       -- user id
+       user_id integer NOT NULL default 0,
+
+       -- day
+       day DATE NOT NULL,
+
+       -- contributions on that day by that user
+       contribs integer NOT NULL default 0,
+
+       -- a unique entry for a given user_id and day
+       PRIMARY KEY(user_id, day)
+) /*$wgDBTableOptions*/;
\ No newline at end of file


Property changes on: 
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
___________________________________________________________________
Added: svn:eol-style
   + native



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

Reply via email to