http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73184
Revision: 73184
Author: tparscal
Date: 2010-09-16 23:52:28 +0000 (Thu, 16 Sep 2010)
Log Message:
-----------
Removed unnessecary dependency on UsabilityInitiative.php. Refactored a bit,
mostly just naming things nicer and adding comments.
Modified Paths:
--------------
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
Modified:
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
===================================================================
---
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
2010-09-16 23:50:09 UTC (rev 73183)
+++
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.hooks.php
2010-09-16 23:52:28 UTC (rev 73184)
@@ -1,7 +1,6 @@
<?php
-
/**
- * Hooks for Usability Initiative UserDailyContribs extension
+ * Hooks for UserDailyContribs extension
*
* @file
* @ingroup Extensions
@@ -9,19 +8,21 @@
class UserDailyContribsHooks {
- public static function schema() {
+ /* Static Methods */
+
+ /**
+ * LoadExtensionSchemaUpdates hook
+ */
+ public static function loadExtensionSchemaUpdates() {
global $wgExtNewTables;
-
- $wgExtNewTables[] = array(
- 'user_daily_contribs',
- dirname( __FILE__ ) . '/UserDailyContribs.sql'
- );
-
+
+ $wgExtNewTables[] = array( 'user_daily_contribs', dirname(
__FILE__ ) . '/UserDailyContribs.sql' );
return true;
}
/**
- * Hook for making sure parser tests pass
+ * ParserTestTables hook
+ *
* @param $tables
* @return unknown_type
*/
@@ -31,23 +32,30 @@
}
/**
+ * ArticleSaveComplete hook
+ *
* Stores a new contribution
+ *
* @return true
*/
- public static function storeNewContrib(){
+ public static function articleSaveComplete(){
global $wgUser;
+
$today = gmdate( 'Ymd', time() );
$dbw = wfGetDB( DB_MASTER );
-
- $dbw->update( 'user_daily_contribs', array(
'contribs=contribs+1' ),
- array( 'day' => $today, 'user_id' =>
$wgUser->getId() ),
- __METHOD__ );
-
- if($dbw->affectedRows() == 0){
- $dbw->insert("user_daily_contribs", array("user_id" =>
$wgUser->getId(), "day" => $today, "contribs" => 1), __METHOD__);
+ $dbw->update(
+ 'user_daily_contribs',
+ array( 'contribs=contribs+1' ),
+ array( 'day' => $today, 'user_id' => $wgUser->getId() ),
+ __METHOD__
+ );
+ if ( $dbw->affectedRows() == 0 ){
+ $dbw->insert(
+ 'user_daily_contribs',
+ array( 'user_id' => $wgUser->getId(), 'day' =>
$today, 'contribs' => 1 ),
+ __METHOD__
+ );
}
-
return true;
}
-
}
\ No newline at end of file
Modified:
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
===================================================================
---
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
2010-09-16 23:50:09 UTC (rev 73183)
+++
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.php
2010-09-16 23:52:28 UTC (rev 73184)
@@ -1,44 +1,30 @@
<?php
/**
- * Usability Initiative User Daily Contributions (for Click Tracking) extension
- *
+ * User Daily Contributions extension
+ *
+ * This extension adds a step to saving an article that incriments a counter
for a user's activity in a given day.
+ *
* @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]>
+ * @author Trevor Parscal <[email protected]>
* @license GPL v2 or later
- * @version 0.1.1
+ * @version 0.2.0
*/
-/* Configuration */
-
-// Credits
+/* Setup */
+
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'User Daily Contributions',
- 'author' => 'Nimish Gautam',
- 'version' => '0.1.1',
+ 'author' => array( 'Nimish Gautam', 'Trevor Parscal' ),
+ 'version' => '0.2.0',
'url' => 'http://www.mediawiki.org/wiki/Extension:UsabilityInitiative',
'descriptionmsg' => 'userdailycontribs-desc',
);
-
-// Includes parent extension
-require_once( dirname( dirname( __FILE__ ) ) . "/UsabilityInitiative.php" );
-
-// Adds Autoload Classes
-$dir = dirname( __FILE__ ) . '/';
-$wgAutoloadClasses['UserDailyContribsHooks'] = $dir .
'UserDailyContribs.hooks.php';
-
-// Adds Internationalized Messages
-$wgExtensionMessagesFiles['UserDailyContribs'] = $dir .
'UserDailyContribs.i18n.php';
-
-// Hooked functions
-$wgHooks['LoadExtensionSchemaUpdates'][] = 'UserDailyContribsHooks::schema';
-$wgHooks['ArticleSaveComplete'][] = 'UserDailyContribsHooks::storeNewContrib';
+$wgAutoloadClasses['UserDailyContribsHooks'] = dirname( __FILE__ ) .
'/UserDailyContribs.hooks.php';
+$wgExtensionMessagesFiles['UserDailyContribs'] = dirname( __FILE__ ) .
'/UserDailyContribs.i18n.php';
+$wgHooks['LoadExtensionSchemaUpdates'][] =
'UserDailyContribsHooks::loadExtensionSchemaUpdates';
+$wgHooks['ArticleSaveComplete'][] =
'UserDailyContribsHooks::articleSaveComplete';
$wgHooks['ParserTestTables'][] = 'UserDailyContribsHooks::parserTestTables';
Modified:
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
===================================================================
---
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
2010-09-16 23:50:09 UTC (rev 73183)
+++
trunk/extensions/UsabilityInitiative/UserDailyContribs/UserDailyContribs.sql
2010-09-16 23:52:28 UTC (rev 73184)
@@ -3,17 +3,13 @@
--
-- 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
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs