[pLog-svn] r1868 - in plog/branches/plog-1.0.1/class: dao mail

Oscar Renalias oscar at renalias.net
Mon Apr 18 19:24:50 GMT 2005


If anybody else wants to test this feature, please do so. I tested it  
myself with zh_CN and fr_FR which both use utf-8 and it worked great...  
I wonder how come the Chinese-speaking community never requested  
anything like this!

Oscar

On 18 Apr 2005, at 21:57, oscar at devel.plogworld.net wrote:

> Author: oscar
> Date: 2005-04-18 18:57:16 +0000 (Mon, 18 Apr 2005)
> New Revision: 1868
>
> Modified:
>    plog/branches/plog-1.0.1/class/dao/articlenotifications.class.php
>    plog/branches/plog-1.0.1/class/mail/emailmessage.class.php
>    plog/branches/plog-1.0.1/class/mail/emailservice.class.php
> Log:
> this solves issue 414 (http://bugs.plogworld.net/view.php?id=414), by  
> taking the character set from the current locale and passing it to the  
> EmailMessage class (who will eventually pass this information onto the  
> PHPMailer class)
>
> Modified:  
> plog/branches/plog-1.0.1/class/dao/articlenotifications.class.php
> ===================================================================
> ---  
> plog/branches/plog-1.0.1/class/dao/articlenotifications.class.php	 
> 2005-04-18 18:22:18 UTC (rev 1867)
> +++  
> plog/branches/plog-1.0.1/class/dao/articlenotifications.class.php	 
> 2005-04-18 18:57:16 UTC (rev 1868)
> @@ -75,9 +75,11 @@
>            * mainly will need the email address!)
>            * @param subject Subject of the message that will be sent  
> to the user.
>            * @param body Message that will be sent to the user.
> +          * @param charset the encoding that will be used in the  
> message (it should be based
> +          * on the locale of the blog who is sending this message) It  
> defaults to iso-8859-1
>            * @return Returns true if the user was correctly notified  
> or false otherwise.
>            */
> -         function notifyUser( $notification, $userInfo, $subject,  
> $body )
> +         function notifyUser( $notification, $userInfo, $subject,  
> $body, $charset = 'iso-8859-1' )
>           {
>           	//print( "sending notification to  
> ".$userInfo->getEmail()."<br/>");
>              $message = new EmailMessage();
> @@ -85,6 +87,7 @@
>              $message->addTo( $userInfo->getEmail());
>              $message->setSubject( "pLog Notification system" );
>              $message->setBody( $body );
> +            $message->setCharset( $charset );
>
>              $service = new EmailService();
>              return $service->sendMessage( $message );
> @@ -111,12 +114,16 @@
>
>              $articles = new Articles();
>              $article  = $articles->getBlogArticle( $postId, $blogId );
> +
> +            // get the correct character set
> +            $blogLocale =& $blogInfo->getLocale();
> +            $charset = $blogLocale->getCharset();
>
>              $users = new Users();
>              foreach( $artNotifs as $notif ) {
>              	$userInfo = $users->getUserInfoFromId(  
> $notif->getUserId());
>                  $message = $this->renderMessageTemplate( $article,  
> $blogInfo );
> -            	$this->notifyUser( $notif, $userInfo, "pLog  
> Notification", $message );
> +            	$this->notifyUser( $notif, $userInfo, "pLog  
> Notification", $message, $charset );
>              }
>           }
>
>
> Modified: plog/branches/plog-1.0.1/class/mail/emailmessage.class.php
> ===================================================================
> ---  
> plog/branches/plog-1.0.1/class/mail/emailmessage.class.php	2005-04-18  
> 18:22:18 UTC (rev 1867)
> +++  
> plog/branches/plog-1.0.1/class/mail/emailmessage.class.php	2005-04-18  
> 18:57:16 UTC (rev 1868)
> @@ -21,6 +21,7 @@
>          var $_mimeType;
>          var $_from;
>          var $_fromName;
> +        var $_charset;
>
>
>      	/**
> @@ -33,6 +34,8 @@
>              $this->_toAddrs = Array();
>              $this->_ccAddrs = Array();
>              $this->_bccAddrs = Array();
> +            // use iso-8859-1 as the default character set
> +            $this->_charset = "iso-8859-1";
>
>              $this->_mimeType = "text/plain";
>          }
> @@ -195,6 +198,27 @@
>          function getFromName()
>          {
>          	return $this->_fromName;
> -        }
> +        }
> +
> +        /**
> +         * Sets the character set of the message
> +         *
> +         * @param charset The new character set
> +         */
> +        function setCharset( $charset )
> +        {
> +            $this->_charset = $charset;
> +        }
> +
> +        /**
> +         * Retrieves the character set that was set for this message.  
> Returns
> +         * by default 'iso-8859-1' if no other has been set
> +         *
> +         *Ê@return the character set
> +         */
> +        function getCharset()
> +        {
> +            return( $this->_charset );
> +        }
>      }
>  ?>
>
> Modified: plog/branches/plog-1.0.1/class/mail/emailservice.class.php
> ===================================================================
> ---  
> plog/branches/plog-1.0.1/class/mail/emailservice.class.php	2005-04-18  
> 18:22:18 UTC (rev 1867)
> +++  
> plog/branches/plog-1.0.1/class/mail/emailservice.class.php	2005-04-18  
> 18:57:16 UTC (rev 1868)
> @@ -105,6 +105,9 @@
>              	$mail->AddCC( $cc );
>              foreach( $message->getBcc() as $bcc )
>              	$mail->AddBCC( $bcc );
> +            	
> +            // set the character set of the message
> +            $mail->CharSet = $message->getCharset();
>
>              //
>              // phpmailer supports
>
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.plogworld.net
> http://devel.plogworld.net/mailman/listinfo/plog-svn
>




More information about the pLog-svn mailing list