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

Reply via email to