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