https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113342
Revision: 113342
Author: jeroendedauw
Date: 2012-03-08 01:50:44 +0000 (Thu, 08 Mar 2012)
Log Message:
-----------
work on logging - added logging of student article adittion
Modified Paths:
--------------
trunk/extensions/EducationProgram/EducationProgram.i18n.php
trunk/extensions/EducationProgram/EducationProgram.php
trunk/extensions/EducationProgram/actions/EPAddArticleAction.php
trunk/extensions/EducationProgram/includes/EPCourse.php
trunk/extensions/EducationProgram/includes/EPLogFormatter.php
Modified: trunk/extensions/EducationProgram/EducationProgram.i18n.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-03-08
01:14:44 UTC (rev 113341)
+++ trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-03-08
01:50:44 UTC (rev 113342)
@@ -70,6 +70,7 @@
'log-name-online' => 'Education Program Online Ambassador log',
'log-name-campus' => 'Education Program Campus Ambassador log',
'log-name-instructor' => 'Education Program instructor log',
+ 'log-name-eparticle' => 'Education Program article log',
'log-header-institution' => 'These events track the changes that are
made to Education Program institutions.',
'log-header-course' => 'These events track the changes that are made to
Education Program courses.',
@@ -117,6 +118,8 @@
'logentry-student-selfadd' => '$1 enrolled in course $3',
'logentry-student-selfremove' => '$1 disenrolled from course $3',
+ 'logentry-eparticle-add' => '$1 added article $4 to
{{GENDER:$2|his|her}} list of articles at course $3',
+
// Preferences
'prefs-education' => 'Education',
'ep-prefs-showtoplink' => 'Show a link to [[Special:MyCourses|your
courses]] at the top of every page.',
Modified: trunk/extensions/EducationProgram/EducationProgram.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.php 2012-03-08
01:14:44 UTC (rev 113341)
+++ trunk/extensions/EducationProgram/EducationProgram.php 2012-03-08
01:50:44 UTC (rev 113342)
@@ -88,6 +88,8 @@
$wgAutoloadClasses['EPCoursePager'] = dirname(
__FILE__ ) . '/includes/EPCoursePager.php';
$wgAutoloadClasses['EPInstructor'] =
dirname( __FILE__ ) . '/includes/EPInstructor.php';
$wgAutoloadClasses['EPLogFormatter'] = dirname(
__FILE__ ) . '/includes/EPLogFormatter.php';
+$wgAutoloadClasses['EPRoleChangeFormatter'] = dirname( __FILE__ ) .
'/includes/EPLogFormatter.php';
+$wgAutoloadClasses['EPArticleFormatter'] = dirname(
__FILE__ ) . '/includes/EPLogFormatter.php';
$wgAutoloadClasses['EPOrg'] =
dirname( __FILE__ ) . '/includes/EPOrg.php';
$wgAutoloadClasses['EPOrgPager'] =
dirname( __FILE__ ) . '/includes/EPOrgPager.php';
$wgAutoloadClasses['EPPager'] =
dirname( __FILE__ ) . '/includes/EPPager.php';
@@ -209,10 +211,23 @@
$wgLogActionsHandlers['institution/*'] = 'EPLogFormatter';
$wgLogActionsHandlers['course/*'] = 'EPLogFormatter';
-$wgLogActionsHandlers['student/*'] = 'EPLogFormatter';
-$wgLogActionsHandlers['online/*'] = 'EPLogFormatter';
-$wgLogActionsHandlers['campus/*'] = 'EPLogFormatter';
-$wgLogActionsHandlers['instructor/*'] = 'EPLogFormatter';
+$wgLogActionsHandlers['student/selfadd'] = 'EPLogFormatter';
+$wgLogActionsHandlers['student/selfremove'] = 'EPLogFormatter';
+$wgLogActionsHandlers['student/add'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['student/remove'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['online/selfadd'] = 'EPLogFormatter';
+$wgLogActionsHandlers['online/selfremove'] = 'EPLogFormatter';
+$wgLogActionsHandlers['online/add'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['online/remove'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['campus/selfadd'] = 'EPLogFormatter';
+$wgLogActionsHandlers['campus/selfremove'] = 'EPLogFormatter';
+$wgLogActionsHandlers['campus/add'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['campus/remove'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['instructor/selfadd'] = 'EPLogFormatter';
+$wgLogActionsHandlers['instructor/selfremove'] = 'EPLogFormatter';
+$wgLogActionsHandlers['instructor/add'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['instructor/remove'] = 'EPRoleChangeFormatter';
+$wgLogActionsHandlers['eparticle/*'] = 'EPArticleFormatter';
// Rights
$wgAvailableRights[] = 'ep-org'; // Manage orgs
Modified: trunk/extensions/EducationProgram/actions/EPAddArticleAction.php
===================================================================
--- trunk/extensions/EducationProgram/actions/EPAddArticleAction.php
2012-03-08 01:14:44 UTC (rev 113341)
+++ trunk/extensions/EducationProgram/actions/EPAddArticleAction.php
2012-03-08 01:50:44 UTC (rev 113342)
@@ -36,7 +36,7 @@
if ( $user->matchEditToken( $req->getText( 'token' ), $salt )
&& !is_null( $title ) && $title->getArticleID() !== 0 ) {
$course = EPCourses::singleton()->selectRow(
- array( 'students' ),
+ array( 'students', 'name' ),
array( 'id' => $req->getInt( 'course-id' ) )
);
@@ -51,7 +51,15 @@
$article =
EPArticles::singleton()->newFromArray( $articleData, true );
if ( $article->save() ) {
- // TODO: log
+ EPUtils::log( array(
+ 'type' => 'eparticle',
+ 'subtype' => 'add',
+ 'user' =>
$this->getUser(),
+ 'title' =>
$course->getTitle(),
+ 'parameters' => array(
+
'4::articlename' => $title->getFullText(),
+ ),
+ ) );
}
}
}
Modified: trunk/extensions/EducationProgram/includes/EPCourse.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPCourse.php 2012-03-08
01:14:44 UTC (rev 113341)
+++ trunk/extensions/EducationProgram/includes/EPCourse.php 2012-03-08
01:50:44 UTC (rev 113342)
@@ -693,11 +693,14 @@
'type' => $role,
'subtype' => $action,
'title' => $this->getTitle(),
- 'parameters' => array(
+ );
+
+ if ( in_array( $action, array( 'add', 'remove' ) ) ) {
+ $info['parameters'] = array(
'4::usercount' => count( $names ),
'5::users' => $names
- ),
- );
+ );
+ }
if ( $message !== '' ) {
$info['comment'] = $message;
Modified: trunk/extensions/EducationProgram/includes/EPLogFormatter.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPLogFormatter.php
2012-03-08 01:14:44 UTC (rev 113341)
+++ trunk/extensions/EducationProgram/includes/EPLogFormatter.php
2012-03-08 01:50:44 UTC (rev 113342)
@@ -39,6 +39,10 @@
return $link;
}
+}
+
+class EPRoleChangeFormatter extends EPLogFormatter {
+
/**
* (non-PHPdoc)
* @see LogFormatter::extractParameters()
@@ -47,10 +51,31 @@
$params = parent::extractParameters();
if ( !empty( $params ) ) {
- $params[4] = $this->context->getLanguage()->listToText(
(array)$params[4] );
+ $lang = $this->context->getLanguage();
+
+ $params[3] = $lang->formatNum( $params[3] );
+ $params[4] = $lang->listToText( (array)$params[4] );
}
return $params;
}
-
+
}
+
+class EPArticleFormatter extends EPLogFormatter {
+
+ /**
+ * (non-PHPdoc)
+ * @see LogFormatter::extractParameters()
+ */
+ protected function extractParameters() {
+ $params = parent::extractParameters();
+
+ if ( !empty( $params ) ) {
+ $params[3] = Message::rawParam( Linker::link(
Title::newFromText( $params[3] ) ) );
+ }
+
+ return $params;
+ }
+
+}
\ No newline at end of file
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs