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

Revision: 60638
Author:   ashley
Date:     2010-01-05 00:43:27 +0000 (Tue, 05 Jan 2010)

Log Message:
-----------
ContactPage:
*add some comments to ContactPage.php
*added ContactFormBeforeMessage hook to SpecialContact.php so that extensions 
can add new fields to Special:Contact
*else if -> elseif
*more braces
*NULL -> null
*spacing tweaks
*double quotes -> single quotes where appropriate

Modified Paths:
--------------
    trunk/extensions/ContactPage/ContactPage.php
    trunk/extensions/ContactPage/SpecialContact.php

Modified: trunk/extensions/ContactPage/ContactPage.php
===================================================================
--- trunk/extensions/ContactPage/ContactPage.php        2010-01-05 00:39:36 UTC 
(rev 60637)
+++ trunk/extensions/ContactPage/ContactPage.php        2010-01-05 00:43:27 UTC 
(rev 60638)
@@ -15,6 +15,7 @@
        die( 1 );
 }
 
+// Extension credits that will show up on Special:Version
 $wgExtensionCredits['specialpage'][] = array(
        'path' => __FILE__,
        'name' => 'ContactPage',
@@ -24,15 +25,25 @@
        'descriptionmsg' => 'contactpage-desc',
 );
 
-$dir = dirname(__FILE__) . '/';
+// Set up the new special page
+$dir = dirname( __FILE__ ) . '/';
 $wgExtensionMessagesFiles['ContactPage'] = $dir . 'ContactPage.i18n.php';
 $wgExtensionAliasesFiles['ContactPage'] = $dir . 'ContactPage.alias.php';
 
 $wgAutoloadClasses['SpecialContact'] = $dir . 'SpecialContact.php';
 $wgSpecialPages['Contact'] = 'SpecialContact';
 
-$wgContactUser = NULL;
-$wgContactSender = NULL;
+# Configuration
+// Name of a registered wiki user who will receive the mails
+$wgContactUser = null;
+// E-mail address used as the sender of the contact email, if the visitor does
+// not supply an email address. Defaults to $wgEmergencyContact.
+$wgContactSender = null;
+
+// The name to be used with $wgContactSender.
+// This will be shown in the recipient's e-mail program
 $wgContactSenderName = 'Contact Form on ' . $wgSitename;
 
+// If true, users will be required to supply a name and an e-mail address
+// on Special:Contact.
 $wgContactRequireAll = false;

Modified: trunk/extensions/ContactPage/SpecialContact.php
===================================================================
--- trunk/extensions/ContactPage/SpecialContact.php     2010-01-05 00:39:36 UTC 
(rev 60637)
+++ trunk/extensions/ContactPage/SpecialContact.php     2010-01-05 00:43:27 UTC 
(rev 60638)
@@ -57,7 +57,7 @@
                if ( 'success' == $action ) {
                        wfDebug( __METHOD__ . ": success.\n" );
                        $f->showSuccess();
-               } else if ( 'submit' == $action && $wgRequest->wasPosted() && 
$f->hasAllInfo() ) {
+               } elseif ( 'submit' == $action && $wgRequest->wasPosted() && 
$f->hasAllInfo() ) {
                        $token = $wgRequest->getVal( 'wpEditToken' );
 
                        if( $wgUser->isAnon() ) {
@@ -69,10 +69,10 @@
                        }
 
                        if ( !$tokenOk ) {
-                               wfDebug( __METHOD__ . ": bad token (".( 
$wgUser->isAnon() ? 'anon' : 'user' )."): $token\n" );
+                               wfDebug( __METHOD__ . ": bad token (" . ( 
$wgUser->isAnon() ? 'anon' : 'user' ) . "): $token\n" );
                                $wgOut->addWikiMsg( 'sessionfailure' );
                                $f->showForm();
-                       } else if ( !$f->passCaptcha() ) {
+                       } elseif ( !$f->passCaptcha() ) {
                                wfDebug( __METHOD__ . ": captcha failed" );
                                $wgOut->addWikiMsg( 
'contactpage-captcha-failed' );
                                $f->showForm();
@@ -113,8 +113,12 @@
                $this->fromaddress = $wgRequest->getText( 'wpFromAddress' );
 
                if( $wgUser->isLoggedIn() ) {
-                       if( !$this->fromname ) $this->fromname = 
$wgUser->getName();
-                       if( !$this->fromaddress ) $this->fromaddress = 
$wgUser->getEmail();
+                       if( !$this->fromname ) {
+                               $this->fromname = $wgUser->getName();
+                       }
+                       if( !$this->fromaddress ) {
+                               $this->fromaddress = $wgUser->getEmail();
+                       }
                }
 
                // prepare captcha if applicable
@@ -128,18 +132,33 @@
        function hasAllInfo() {
                global $wgContactRequireAll;
 
-               if ( $this->text === NULL ) return false;
-               else $this->text = trim( $this->text );
-               if ( $this->text === '' ) return false;
+               if ( $this->text === null ) {
+                       return false;
+               } else {
+                       $this->text = trim( $this->text );
+               }
+               if ( $this->text === '' ) {
+                       return false;
+               }
 
                if ( $wgContactRequireAll ) {
-                       if ( $this->fromname === NULL ) return false;
-                       else $this->fromname = trim( $this->fromname );
-                       if ( $this->fromname === '' ) return false;
+                       if ( $this->fromname === null ) {
+                               return false;
+                       } else {
+                               $this->fromname = trim( $this->fromname );
+                       }
+                       if ( $this->fromname === '' ) {
+                               return false;
+                       }
 
-                       if ( $this->fromaddress === NULL ) return false;
-                       else $this->fromaddress = trim( $this->fromaddress );
-                       if ( $this->fromaddress === '' ) return false;
+                       if ( $this->fromaddress === null ) {
+                               return false;
+                       } else {
+                               $this->fromaddress = trim( $this->fromaddress );
+                       }
+                       if ( $this->fromaddress === '' ) {
+                               return false;
+                       }
                }
 
                return true;
@@ -163,73 +182,81 @@
                $action = $titleObj->getLocalURL( 'action=submit' );
                $token = $wgUser->isAnon() ? EDIT_TOKEN_SUFFIX : 
$wgUser->editToken(); //this kind of sucks, really...
 
-               $wgOut->addHTML(
+               $form =
                        Xml::openElement( 'form', array( 'method' => 'post', 
'action' => $action, 'id' => 'emailuser' ) ) .
                        Xml::openElement( 'fieldset' ) .
                        Xml::element( 'legend', null, wfMsg( 
'contactpage-legend' ) ) .
                        Xml::openElement( 'table', array( 'id' => 'mailheader' 
) ) .
-                       "<tr>
-                               <td class='mw-label'>" .
+                       '<tr>
+                               <td class="mw-label">' .
                                        Xml::label( wfMsg( 'emailsubject' ), 
'wpSubject' ) .
-                               "</td>
-                               <td class='mw-input' 
id='mw-contactpage-subject'>" .
+                               '</td>
+                               <td class="mw-input" 
id="mw-contactpage-subject">' .
                                        Xml::input( 'wpSubject', 60, 
$this->subject, array( 'type' => 'text', 'maxlength' => 200 ) ) .
-                               "</td>
+                               '</td>
                        </tr>
                        <tr>
-                               <td class='mw-label'>" .
+                               <td class="mw-label">' .
                                        Xml::label( wfMsg( 
"contactpage-fromname$msgSuffix" ), 'wpFromName' ) .
-                               "</td>
-                               <td class='mw-input' id='mw-contactpage-from'>" 
.
+                               '</td>
+                               <td class="mw-input" id="mw-contactpage-from">' 
.
                                        Xml::input( 'wpFromName', 60, 
$this->fromname, array( 'type' => 'text', 'maxlength' => 200 ) ) .
-                               "</td>
+                               '</td>
                        </tr>
                        <tr>
-                               <td class='mw-label'>" .
+                               <td class="mw-label">' .
                                        Xml::label( wfMsg( 
"contactpage-fromaddress$msgSuffix" ), 'wpFromAddress' ) .
-                               "</td>
-                               <td class='mw-input' 
id='mw-contactpage-address'>" .
+                               '</td>
+                               <td class="mw-input" 
id="mw-contactpage-address">' .
                                        Xml::input( 'wpFromAddress', 60, 
$this->fromaddress, array( 'type' => 'text', 'maxlength' => 200 ) ) .
-                               "</td>
-                       </tr>
-                       <tr>
+                               '</td>
+                       </tr>';
+
+                       // Allow other extensions to add more fields into 
Special:Contact
+                       wfRunHooks( 'ContactFormBeforeMessage', array( $this, 
&$form ) );
+
+                       $form .= '<tr>
                                <td></td>
-                               <td class='mw-input' 
id='mw-contactpage-formfootnote'>
-                                       <small>" . wfMsg( 
"contactpage-formfootnotes$msgSuffix" ) . "</small>
+                               <td class="mw-input" 
id="mw-contactpage-formfootnote">
+                                       <small>' . wfMsg( 
"contactpage-formfootnotes$msgSuffix" ) . '</small>
                                </td>
                        </tr>
                        <tr>
-                               <td class='mw-label'>" .
+                               <td class="mw-label">' .
                                        Xml::label( wfMsg( 'emailmessage' ), 
'wpText' ) .
-                               "</td>
-                               <td class='mw-input'>" .
+                               '</td>
+                               <td class="mw-input">' .
                                        Xml::textarea( 'wpText', $this->text, 
80, 20, array( 'id' => 'wpText' ) ) .
-                               "</td>
+                               '</td>
                        </tr>
                        <tr>
                                <td></td>
-                               <td class='mw-input'>" .
+                               <td class="mw-input">' .
                                        Xml::checkLabel( wfMsg( 'emailccme' ), 
'wpCCMe', 'wpCCMe', $wgUser->getBoolOption( 'ccmeonemails' ) ) .
-                                       "<br />" . $this->getCaptcha() .
-                               "</td>
+                                       '<br />' . $this->getCaptcha() .
+                               '</td>
                        </tr>
                        <tr>
                                <td></td>
-                               <td class='mw-submit'>" .
+                               <td class="mw-submit">' .
                                        Xml::submitButton( wfMsg( 'emailsend' 
), array( 'name' => 'wpSend', 'accesskey' => 's' ) ) .
-                               "</td>
-                       </tr>" .
+                               '</td>
+                       </tr>' .
                        Xml::hidden( 'wpEditToken', $token ) .
                        Xml::closeElement( 'table' ) .
                        Xml::closeElement( 'fieldset' ) .
-                       Xml::closeElement( 'form' )
-               );
+                       Xml::closeElement( 'form' );
+               $wgOut->addHTML( $form );
        }
 
        function useCaptcha() {
                global $wgCaptchaClass, $wgCaptchaTriggers, $wgUser;
-               if ( !$wgCaptchaClass ) return false; // no captcha installed
-               if ( !...@$wgcaptchatriggers['contactpage'] ) return false; // 
don't trigger on contact form
+               if ( !$wgCaptchaClass ) {
+                       return false; // no captcha installed
+               }
+               if ( !...@$wgcaptchatriggers['contactpage'] ) {
+                       return false; // don't trigger on contact form
+               }
 
                if( $wgUser->isAllowed( 'skipcaptcha' ) ) {
                        wfDebug( "EmailContactForm::useCaptcha: user group 
allows skipping captcha\n" );
@@ -241,19 +268,23 @@
 
        function getCaptcha() {
                global $wgCaptcha;
-               if ( !$this->useCaptcha() ) return ''; 
+               if ( !$this->useCaptcha() ) {
+                       return '';
+               }
 
                wfSetupSession(); #NOTE: make sure we have a session. May be 
required for captchas to work.
 
-               return "<div class='captcha'>" .
-               $wgCaptcha->getForm() .
-               wfMsgWikiHtml( 'contactpage-captcha' ) .
+               return '<div class="captcha">' .
+                       $wgCaptcha->getForm() .
+                       wfMsgWikiHtml( 'contactpage-captcha' ) .
                "</div>\n";
        }
 
        function passCaptcha() {
                global $wgCaptcha;
-               if ( !$this->useCaptcha() ) return true;
+               if ( !$this->useCaptcha() ) {
+                       return true;
+               }
 
                return $wgCaptcha->passCaptcha();
        }
@@ -289,7 +320,7 @@
 
                if ( $this->fromname !== '' ) {
                        $subject = wfMsgForContent( 
'contactpage-subject-and-sender', $subject, $this->fromname );
-               } else if ( $this->fromaddress !== '' ) {
+               } elseif ( $this->fromaddress !== '' ) {
                        $subject = wfMsgForContent( 
'contactpage-subject-and-sender', $subject, $this->fromaddress );
                }
 
@@ -298,9 +329,9 @@
                        return;
                }
 
-               wfDebug( __METHOD__ . ": sending mail from 
".$submitterAddress->toString().
-                       " to ".$targetAddress->toString().
-                       " replyto ".( $replyto == null ? '-/-' : 
$replyto->toString() )."\n" );
+               wfDebug( __METHOD__ . ": sending mail from " . 
$submitterAddress->toString() .
+                       " to " . $targetAddress->toString().
+                       " replyto " . ( $replyto == null ? '-/-' : 
$replyto->toString() ) . "\n" );
 
                $mailResult = UserMailer::send( $targetAddress, 
$submitterAddress, $subject, $this->text, $replyto );
 
@@ -313,10 +344,10 @@
                // if the user requested a copy of this mail, do this now,
                // unless they are emailing themselves, in which case one copy 
of the message is sufficient.
                if( $this->cc_me && $this->fromaddress ) {
-                       $cc_subject = wfMsg('emailccsubject', 
$this->target->getName(), $subject);
+                       $cc_subject = wfMsg( 'emailccsubject', 
$this->target->getName(), $subject );
                        if( wfRunHooks( 'ContactForm', array( 
&$submitterAddress, &$contactSender, &$cc_subject, &$this->text ) ) ) {
-                               wfDebug( __METHOD__ . ": sending cc mail from 
".$contactSender->toString().
-                                       " to 
".$submitterAddress->toString()."\n" );
+                               wfDebug( __METHOD__ . ": sending cc mail from " 
. $contactSender->toString() .
+                                       " to " . $submitterAddress->toString() 
. "\n" );
                                $ccResult = UserMailer::send( 
$submitterAddress, $contactSender, $cc_subject, $this->text );
                                if( WikiError::isError( $ccResult ) ) {
                                        // At this stage, the user's CC mail 
has failed, but their
@@ -333,7 +364,7 @@
                wfDebug( __METHOD__ . ": success\n" );
 
                $titleObj = SpecialPage::getTitleFor( 'Contact' );
-               $wgOut->redirect( $titleObj->getFullURL( "action=success" ) );
+               $wgOut->redirect( $titleObj->getFullURL( 'action=success' ) );
                wfRunHooks( 'ContactFromComplete', array( $targetAddress, 
$replyto, $subject, $this->text ) );
 
                wfDebug( __METHOD__ . ": end\n" );



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to