https://www.mediawiki.org/wiki/Special:Code/MediaWiki/108347
Revision: 108347
Author: jeroendedauw
Date: 2012-01-08 04:56:52 +0000 (Sun, 08 Jan 2012)
Log Message:
-----------
added special:ambassador
Modified Paths:
--------------
trunk/extensions/EducationProgram/EducationProgram.i18n.alias.php
trunk/extensions/EducationProgram/EducationProgram.i18n.php
trunk/extensions/EducationProgram/EducationProgram.php
trunk/extensions/EducationProgram/specials/SpecialEPPage.php
trunk/extensions/EducationProgram/specials/SpecialInstitution.php
Added Paths:
-----------
trunk/extensions/EducationProgram/specials/SpecialAmbassador.php
Modified: trunk/extensions/EducationProgram/EducationProgram.i18n.alias.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.i18n.alias.php
2012-01-08 02:49:33 UTC (rev 108346)
+++ trunk/extensions/EducationProgram/EducationProgram.i18n.alias.php
2012-01-08 04:56:52 UTC (rev 108347)
@@ -31,4 +31,5 @@
'EditTerm' => array( 'EditTerm' ),
'Enroll' => array( 'Enroll' ),
'Ambassadors' => array( 'Ambassadors' ),
+ 'Ambassador' => array( 'Ambassador' ),
);
Modified: trunk/extensions/EducationProgram/EducationProgram.i18n.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-01-08
02:49:33 UTC (rev 108346)
+++ trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-01-08
04:56:52 UTC (rev 108347)
@@ -79,6 +79,7 @@
'special-editcourse-edit' => 'Edit course',
'special-enroll' => 'Enroll',
'special-ambassadors' => 'Ambassadors',
+ 'special-ambassador' => 'Ambassador',
// Special:Institutions
'ep-institutions-nosuchinstitution' => 'There is no institution with
name "$1". Existing institutions are listed below.',
@@ -227,6 +228,10 @@
'specialterm-summary-token' => 'Enrollment token',
'ep-term-nav-edit' => 'Edit this term',
+ // Special:Ambassador
+ 'ep-ambassador-does-not-exist' => 'There is no ambassador with name
"$1". See [[Special:Ambassadors|here]] for a list of ambassadors.',
+ 'ep-ambassador-title' => 'Ambassador: $1',
+
// Special:Enroll
'ep-enroll-title' => 'Enroll for $1 at $2',
'ep-enroll-login-first' => 'Before you can enroll in this course, you
need to login.',
Modified: trunk/extensions/EducationProgram/EducationProgram.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.php 2012-01-08
02:49:33 UTC (rev 108346)
+++ trunk/extensions/EducationProgram/EducationProgram.php 2012-01-08
04:56:52 UTC (rev 108347)
@@ -89,6 +89,7 @@
$wgAutoloadClasses['SpecialTerms'] =
dirname( __FILE__ ) . '/specials/SpecialTerms.php';
$wgAutoloadClasses['SpecialEnroll'] = dirname(
__FILE__ ) . '/specials/SpecialEnroll.php';
$wgAutoloadClasses['SpecialAmbassadors'] = dirname(
__FILE__ ) . '/specials/SpecialAmbassadors.php';
+$wgAutoloadClasses['SpecialAmbassador'] = dirname(
__FILE__ ) . '/specials/SpecialAmbassador.php';
// Special pages
$wgSpecialPages['MyCourses'] =
'SpecialMyCourses';
@@ -106,6 +107,7 @@
$wgSpecialPages['EditTerm'] =
'SpecialEditTerm';
$wgSpecialPages['Enroll'] =
'SpecialEnroll';
$wgSpecialPages['Ambassadors'] =
'SpecialAmbassadors';
+$wgSpecialPages['Ambassador'] =
'SpecialAmbassador';
$wgSpecialPageGroups['MyCourses'] =
'education';
$wgSpecialPageGroups['Institution'] = 'education';
@@ -121,6 +123,7 @@
$wgSpecialPageGroups['EditInstitution'] = 'education';
$wgSpecialPageGroups['EditTerm'] =
'education';
$wgSpecialPageGroups['Ambassadors'] = 'education';
+$wgSpecialPageGroups['Ambassador'] =
'education';
// DB object classes
$egEPDBObjects = array();
Added: trunk/extensions/EducationProgram/specials/SpecialAmbassador.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialAmbassador.php
(rev 0)
+++ trunk/extensions/EducationProgram/specials/SpecialAmbassador.php
2012-01-08 04:56:52 UTC (rev 108347)
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * Shows the info for a single ambassador.
+ *
+ * @since 0.1
+ *
+ * @file SpecialAmbassador.php
+ * @ingroup EducationProgram
+ *
+ * @licence GNU GPL v3 or later
+ * @author Jeroen De Dauw < [email protected] >
+ */
+class SpecialAmbassador extends SpecialEPPage {
+
+ /**
+ * Constructor.
+ *
+ * @since 0.1
+ */
+ public function __construct() {
+ parent::__construct( 'Ambassador' );
+ }
+
+ /**
+ * Main method.
+ *
+ * @since 0.1
+ *
+ * @param string $subPage
+ */
+ public function execute( $subPage ) {
+ parent::execute( $subPage );
+
+ $out = $this->getOutput();
+
+ if ( trim( $subPage ) === '' ) {
+ $this->getOutput()->redirect( SpecialPage::getTitleFor(
'Ambassadors' )->getLocalURL() );
+ }
+ else {
+ $out->setPageTitle( wfMsgExt( 'ep-ambassador-title',
'parsemag', $this->subPage ) );
+
+ $this->displayNavigation();
+
+ $mentor = false; //EPMentor::selectRow( null, array(
'id' => $this->subPage ) );
+
+ if ( $mentor === false ) {
+ $this->showWarning( wfMessage(
'ep-ambassador-does-not-exist', $this->subPage ) );
+ }
+ else {
+ $this->displaySummary( $mentor );
+ }
+ }
+ }
+
+ /**
+ * Gets the summary data.
+ *
+ * @since 0.1
+ *
+ * @param EPMentor $mentor
+ *
+ * @return array
+ */
+ protected function getSummaryData( EPDBObject $mentor ) {
+ $stats = array();
+
+ $orgs = array();
+
+ foreach ( $mentor->getOrgs( 'name' ) as /* EPOrg */ $org ) {
+ $orgs[] = Linker::linkKnown(
+ SpecialPage::getTitleFor( 'Institution',
$org->getField( 'name' ) ),
+ htmlspecialchars( $org->getField( 'name' ) )
+ );
+ }
+
+ $stats['orgs'] = $this->getLanguage()->pipeList( $orgs );
+
+ return $stats;
+ }
+
+}
Property changes on:
trunk/extensions/EducationProgram/specials/SpecialAmbassador.php
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/EducationProgram/specials/SpecialEPPage.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialEPPage.php
2012-01-08 02:49:33 UTC (rev 108346)
+++ trunk/extensions/EducationProgram/specials/SpecialEPPage.php
2012-01-08 04:56:52 UTC (rev 108347)
@@ -183,7 +183,7 @@
* @param boolean $collapsed
* @param array $summaryData
*/
- protected function displaySummary( EPDBObject $item, $collapsed = true,
array $summaryData = null ) {
+ protected function displaySummary( EPDBObject $item, $collapsed =
false, array $summaryData = null ) {
$out = $this->getOutput();
$class = 'wikitable ep-summary mw-collapsible';
Modified: trunk/extensions/EducationProgram/specials/SpecialInstitution.php
===================================================================
--- trunk/extensions/EducationProgram/specials/SpecialInstitution.php
2012-01-08 02:49:33 UTC (rev 108346)
+++ trunk/extensions/EducationProgram/specials/SpecialInstitution.php
2012-01-08 04:56:52 UTC (rev 108347)
@@ -87,7 +87,7 @@
$stats['name'] = $org->getField( 'name' );
$stats['city'] = $org->getField( 'city' );
- $countries = CountryNames::getNames(
$this->getLang()->getCode() );
+ $countries = CountryNames::getNames(
$this->getLanguage()->getCode() );
$stats['country'] = $countries[$org->getField( 'country' )];
foreach ( $stats as &$stat ) {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs