http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84559

Revision: 84559
Author:   ashley
Date:     2011-03-22 21:21:56 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
ImportUsers:
*added version number to Special:Version credits
*renamed some functions as per our coding conventions + fixed a typo in 
function name
*whitespace tweaks
*moved some hardcoded colons to the i18n file for better i18n
*documentation

Modified Paths:
--------------
    trunk/extensions/ImportUsers/ImportUsers.i18n.php
    trunk/extensions/ImportUsers/ImportUsers.php
    trunk/extensions/ImportUsers/ImportUsers_body.php

Modified: trunk/extensions/ImportUsers/ImportUsers.i18n.php
===================================================================
--- trunk/extensions/ImportUsers/ImportUsers.i18n.php   2011-03-22 21:18:44 UTC 
(rev 84558)
+++ trunk/extensions/ImportUsers/ImportUsers.i18n.php   2011-03-22 21:21:56 UTC 
(rev 84559)
@@ -1,31 +1,34 @@
 <?php
-/** Internationalization messages file for Import User extension
-  *
-  * @addtogroup Extensions
-*/
+/**
+ * Internationalization messages file for Import Users extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
 
 $messages = array();
 
+/** English */
 $messages['en'] = array(
        'importusers'                         => 'Import users',
-       'importusers-desc'                    => '[[Special:ImportUsers|Imports 
users]] in bulk from CSV-file; encoding: UTF-8',
+       'importusers-desc'                    => '[[Special:ImportUsers|Imports 
users]] in bulk from a CSV file; encoding: UTF-8',
        'importusers-uploadfile'              => 'Upload file',
-       'importusers-form-caption'            => 'Input CSV-file (UTF-8)',
+       'importusers-form-caption'            => 'Input CSV-file (UTF-8):',
        'importusers-form-file'               => 'User file format (CSV):',
        'importusers-form-replace-present'    => 'Replace existing users',
        'importusers-form-button'             => 'Import',
-       'importusers-user-added'              => 'User \'\'\'$1\'\'\' has been 
added.',
-       'importusers-user-present-update'     => 'User \'\'\'$1\'\'\' already 
exists.
-Updated.',
-       'importusers-user-present-not-update' => 'User \'\'\'$1\'\'\' already 
exists.
-Did not update.',
+       'importusers-user-added'              => "User '''$1''' has been 
added.",
+       'importusers-user-present-update'     => "User '''$1''' already exists.
+Updated.",
+       'importusers-user-present-not-update' => "User '''$1''' already exists.
+Did not update.",
        'importusers-user-invalid-format'     => 'User data in the line #$1 has 
invalid format or is blank.
 Skipped.',
        'importusers-log'                     => 'Import users log',
        'importusers-log-summary'             => 'Summary',
-       'importusers-log-summary-all'         => 'All',
-       'importusers-log-summary-added'       => 'Added',
-       'importusers-log-summary-updated'     => 'Updated',
+       'importusers-log-summary-all'         => 'All: $1',
+       'importusers-log-summary-added'       => 'Added: $1',
+       'importusers-log-summary-updated'     => 'Updated: $1',
        'importusers-login-name'              => 'Login name',
        'importusers-password'                => 'password',
        'importusers-email'                   => 'e-mail',

Modified: trunk/extensions/ImportUsers/ImportUsers.php
===================================================================
--- trunk/extensions/ImportUsers/ImportUsers.php        2011-03-22 21:18:44 UTC 
(rev 84558)
+++ trunk/extensions/ImportUsers/ImportUsers.php        2011-03-22 21:21:56 UTC 
(rev 84559)
@@ -1,26 +1,35 @@
 <?php
 /**
+ * ImportUsers extension -- allows to import users in bulk from a CSV file
  *
- * @subpackage Extensions
- *
+ * @file
+ * @ingroup Extensions
+ * @version 1.2
  * @author Rouslan Zenetl
  * @author Yuriy Ilkiv
  * @license You are free to use this extension for any reason and mutilate it 
to your heart's liking.
+ * @link http://www.mediawiki.org/wiki/Extension:ImportUsers Documentation
  */
 
-if (!defined('MEDIAWIKI')) die();
+if ( !defined( 'MEDIAWIKI' ) ) {
+       die();
+}
 
+// Extension credits that will show up on Special:Version
 $wgExtensionCredits['specialpage'][] = array(
        'path' => __FILE__,
        'name' => 'Import Users',
-       'author' => array('Yuriy Ilkiv', 'Rouslan Zenetl'),
+       'version' => '1.2',
+       'author' => array( 'Yuriy Ilkiv', 'Rouslan Zenetl' ),
        'url' => 'http://www.mediawiki.org/wiki/Extension:ImportUsers',
        'descriptionmsg' => 'importusers-desc',
 );
 
+// New user right, required to access and use Special:ImportUsers
 $wgAvailableRights[] = 'import_users';
 $wgGroupPermissions['bureaucrat']['import_users'] = true;
 
+// Set up the new special page
 $dir = dirname(__FILE__) . '/';
 $wgSpecialPages['ImportUsers'] = 'SpecialImportUsers';
 $wgSpecialPageGroups['ImportUsers'] = 'users';

Modified: trunk/extensions/ImportUsers/ImportUsers_body.php
===================================================================
--- trunk/extensions/ImportUsers/ImportUsers_body.php   2011-03-22 21:18:44 UTC 
(rev 84558)
+++ trunk/extensions/ImportUsers/ImportUsers_body.php   2011-03-22 21:21:56 UTC 
(rev 84559)
@@ -1,15 +1,22 @@
 <?php
 
 class SpecialImportUsers extends SpecialPage {
-       function __construct() {
-               parent::__construct('ImportUsers' , 'import_users' );
+
+       /**
+        * Constructor -- set up the new special page
+        */
+       public function __construct() {
+               parent::__construct( 'ImportUsers', 'import_users' );
        }
 
-       function execute( $par ) {
+       /**
+        * Show the special page
+        *
+        * @param $par Mixed: parameter passed to the special page or null
+        */
+       public function execute( $par ) {
                global $wgOut, $wgUser;
 
-               $wgOut->setArticleRelated( false );
-
                wfLoadExtensionMessages( 'ImportUsers' );
 
                if( !$wgUser->isAllowed( 'import_users' ) ) {
@@ -17,16 +24,16 @@
                        return;
                }
 
+               $this->setHeaders();
 
-               $wgOut->setPagetitle( wfMsg( 'importusers' ) );
-               if (IsSet($_FILES['users_file'])) {
-                       $wgOut->addHTML( 
$this->AnalizeUsers($_FILES['users_file'],IsSet($_POST['replace_present'])) );
+               if ( isset( $_FILES['users_file'] ) ) {
+                       $wgOut->addHTML( $this->analyzeUsers( 
$_FILES['users_file'], isset( $_POST['replace_present'] ) ) );
                } else {
-                       $wgOut->addHTML( $this->MakeForm() );
+                       $wgOut->addHTML( $this->makeForm() );
                }
        }
 
-       function MakeForm() {
+       function makeForm() {
                global $wgLang;
 
                $titleObj = SpecialPage::getTitleFor( 'ImportUsers' );
@@ -35,52 +42,59 @@
                        wfMsg( 'importusers-login-name' ),
                        wfMsg( 'importusers-password' ),
                        wfMsg( 'importusers-email' ),
-                       wfMsg( 'importusers-realname' ) ) );
-               $output ='<form enctype="multipart/form-data" method="post"  
action="'.$action.'">';
-               $output.='<dl><dt>'. wfMsg( 'importusers-form-file' ) . 
'</dt><dd>' . $fileFormat . '.</dd></dl>';
-               $output.='<fieldset><legend>' . wfMsg('importusers-uploadfile') 
. '</legend>';
-               $output.='<table border=0 a-valign=center width=100%>';
-               $output.='<tr><td align=right width=160>'.wfMsg( 
'importusers-form-caption' ).': </td><td><input name="users_file" type="file" 
size=40 /></td></tr>';
-               $output.='<tr><td align=right></td><td><input 
name="replace_present" type="checkbox" />'.wfMsg( 
'importusers-form-replace-present' ).'</td></tr>';
-               $output.='<tr><td align=right></td><td><input type="submit" 
value="'.wfMsg( 'importusers-form-button' ).'" /></td></tr>';
-               $output.='</table>';
-               $output.='</fieldset>';
-               $output.='</form>';
+                       wfMsg( 'importusers-realname' )
+               ) );
+               $output = '<form enctype="multipart/form-data" method="post"  
action="' . $action . '">';
+               $output .= '<dl><dt>' . wfMsg( 'importusers-form-file' ) . 
'</dt><dd>' . $fileFormat . '.</dd></dl>';
+               $output .= '<fieldset><legend>' . wfMsg( 
'importusers-uploadfile' ) . '</legend>';
+               $output .= '<table border="0" a-valign="center" width="100%">';
+               $output .= '<tr><td align="right" width="160">' . wfMsg( 
'importusers-form-caption' ) .
+                       ' </td><td><input name="users_file" type="file" size=40 
/></td></tr>';
+               $output .= '<tr><td align="right"></td><td><input 
name="replace_present" type="checkbox" />' .
+                       wfMsg( 'importusers-form-replace-present' ) . 
'</td></tr>';
+               $output .= '<tr><td align="right"></td><td><input type="submit" 
value="' . wfMsg( 'importusers-form-button' ) . '" /></td></tr>';
+               $output .= '</table>';
+               $output .= '</fieldset>';
+               $output .= '</form>';
                return $output;
        }
 
-       function AnalizeUsers($fileinfo,$replace_present) {
-               global $IP, $wgOut;
+       function analyzeUsers( $fileinfo, $replace_present ) {
+               $summary = array(
+                       'all' => 0,
+                       'added' => 0,
+                       'updated' => 0
+               );
+               $filedata = explode( "\n", rtrim( file_get_contents( 
$fileinfo['tmp_name'] ) ) );
+               $output = '<h2>' . wfMsg( 'importusers-log' ) . '</h2>';
 
-               require_once "$IP/includes/User.php";
-
-               $summary=array('all'=>0,'added'=>0,'updated'=>0);
-               
$filedata=explode("\n",rtrim(file_get_contents($fileinfo['tmp_name'])));
-               $output='<h2>'.wfMsg( 'importusers-log' ).'</h2>';
-
-               foreach ($filedata as $line=>$newuserstr) {
-                       $newuserarray=explode(',', trim( $newuserstr ) );
-                       if (count($newuserarray)<2) {
-                               $output.= wfMsg( 
'importusers-user-invalid-format', $line+1 ) . '<br />';
+               foreach ( $filedata as $line => $newuserstr ) {
+                       $newuserarray = explode( ',', trim( $newuserstr ) );
+                       if ( count( $newuserarray ) < 2 ) {
+                               $output .= wfMsg( 
'importusers-user-invalid-format', $line + 1 ) . '<br />';
                                continue;
                        }
-                       if (!IsSet($newuserarray[2])) $newuserarray[2]='';
-                       if (!IsSet($newuserarray[3])) $newuserarray[3]='';
-                       $NextUser=User::newFromName( $newuserarray[0] );
-                       $NextUser->setEmail( $newuserarray[2] );
-                       $NextUser->setRealName( $newuserarray[3] );
-                       $uid=$NextUser->idForName();
-                       if ($uid===0) {
-                               $NextUser->addToDatabase();
-                               $NextUser->setPassword( $newuserarray[1] );
-                               $NextUser->saveSettings();
-                               $output.= wfMsg( 'importusers-user-added', 
$newuserarray[0] ) . '<br />';
+                       if ( !isset( $newuserarray[2] ) ) {
+                               $newuserarray[2] = '';
+                       }
+                       if ( !isset( $newuserarray[3] ) ) {
+                               $newuserarray[3] = '';
+                       }
+                       $nextUser = User::newFromName( $newuserarray[0] );
+                       $nextUser->setEmail( $newuserarray[2] );
+                       $nextUser->setRealName( $newuserarray[3] );
+                       $uid = $nextUser->idForName();
+                       if ( $uid === 0 ) {
+                               $nextUser->addToDatabase();
+                               $nextUser->setPassword( $newuserarray[1] );
+                               $nextUser->saveSettings();
+                               $output .= wfMsg( 'importusers-user-added', 
$newuserarray[0] ) . '<br />';
                                $summary['added']++;
                        } else {
-                               if ($replace_present) {
-                                       $NextUser->setPassword( 
$newuserarray[1] );
-                                       $NextUser->saveSettings();
-                                       $output.= wfMsg( 
'importusers-user-present-update', $newuserarray[0] ).'<br />';
+                               if ( $replace_present ) {
+                                       $nextUser->setPassword( 
$newuserarray[1] );
+                                       $nextUser->saveSettings();
+                                       $output .= wfMsg( 
'importusers-user-present-update', $newuserarray[0] ).'<br />';
                                        $summary['updated']++;
                                } else {
                                        $output .= wfMsg( 
'importusers-user-present-no-update', $newuserarray[0] ) . '<br />';
@@ -89,10 +103,10 @@
                        $summary['all']++;
                }
 
-               $output.='<b>'.wfMsg( 'importusers-log-summary' ).'</b><br />';
-               $output.=wfMsg( 'importusers-log-summary-all' ).' : 
'.$summary['all'].'<br />';
-               $output.=wfMsg( 'importusers-log-summary-added' ).' : 
'.$summary['added'].'<br />';
-               $output.=wfMsg( 'importusers-log-summary-updated' ).' : 
'.$summary['updated'];
+               $output .= '<b>' . wfMsg( 'importusers-log-summary' ) . 
'</b><br />';
+               $output .= wfMsg( 'importusers-log-summary-all', 
$summary['all'] ) . '<br />';
+               $output .= wfMsg( 'importusers-log-summary-added', 
$summary['added'] ) . '<br />';
+               $output .= wfMsg( 'importusers-log-summary-updated', 
$summary['updated'] );
 
                return $output;
        }


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to