Merge branch 'testing' into 0.9.x
This commit is contained in:
		
							
								
								
									
										82
									
								
								extlib/Mail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										82
									
								
								extlib/Mail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,22 +1,47 @@ | |||||||
| <?php | <?php | ||||||
| // | /** | ||||||
| // +----------------------------------------------------------------------+ |  *  PEAR's Mail:: interface. | ||||||
| // | PHP Version 4                                                        | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * PHP versions 4 and 5 | ||||||
| // | Copyright (c) 1997-2003 The PHP Group                                | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * LICENSE: | ||||||
| // | This source file is subject to version 2.02 of the PHP license,      | |  * | ||||||
| // | that is bundled with this package in the file LICENSE, and is        | |  * Copyright (c) 2002-2007, Richard Heyes | ||||||
| // | available at through the world-wide-web at                           | |  * All rights reserved. | ||||||
| // | http://www.php.net/license/2_02.txt.                                 | |  * | ||||||
| // | If you did not receive a copy of the PHP license and are unable to   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // | obtain it through the world-wide-web, please send a note to          | |  * modification, are permitted provided that the following conditions | ||||||
| // | license@php.net so we can mail you a copy immediately.               | |  * are met: | ||||||
| // +----------------------------------------------------------------------+ |  * | ||||||
| // | Author: Chuck Hagenbuch <chuck@horde.org>                            | |  * o Redistributions of source code must retain the above copyright | ||||||
| // +----------------------------------------------------------------------+ |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // |  * o Redistributions in binary form must reproduce the above copyright | ||||||
| // $Id: Mail.php,v 1.17 2006/09/15 03:41:18 jon Exp $ |  *   notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    Mail | ||||||
|  |  * @package     Mail | ||||||
|  |  * @author      Chuck Hagenbuch <chuck@horde.org> | ||||||
|  |  * @copyright   1997-2010 Chuck Hagenbuch | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: Mail.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| require_once 'PEAR.php'; | require_once 'PEAR.php'; | ||||||
|  |  | ||||||
| @@ -26,7 +51,7 @@ require_once 'PEAR.php'; | |||||||
|  * useful in multiple mailer backends. |  * useful in multiple mailer backends. | ||||||
|  * |  * | ||||||
|  * @access public |  * @access public | ||||||
|  * @version $Revision: 1.17 $ |  * @version $Revision: 294747 $ | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  */ |  */ | ||||||
| class Mail | class Mail | ||||||
| @@ -82,12 +107,20 @@ class Mail | |||||||
|      * @return mixed Returns true on success, or a PEAR_Error |      * @return mixed Returns true on success, or a PEAR_Error | ||||||
|      *               containing a descriptive error message on |      *               containing a descriptive error message on | ||||||
|      *               failure. |      *               failure. | ||||||
|  |      * | ||||||
|      * @access public |      * @access public | ||||||
|      * @deprecated use Mail_mail::send instead |      * @deprecated use Mail_mail::send instead | ||||||
|      */ |      */ | ||||||
|     function send($recipients, $headers, $body) |     function send($recipients, $headers, $body) | ||||||
|     { |     { | ||||||
|         $this->_sanitizeHeaders($headers); |         if (!is_array($headers)) { | ||||||
|  |             return PEAR::raiseError('$headers must be an array'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         $result = $this->_sanitizeHeaders($headers); | ||||||
|  |         if (is_a($result, 'PEAR_Error')) { | ||||||
|  |             return $result; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // if we're passed an array of recipients, implode it. |         // if we're passed an array of recipients, implode it. | ||||||
|         if (is_array($recipients)) { |         if (is_array($recipients)) { | ||||||
| @@ -103,10 +136,9 @@ class Mail | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         // flatten the headers out. |         // flatten the headers out. | ||||||
|         list(,$text_headers) = Mail::prepareHeaders($headers); |         list(, $text_headers) = Mail::prepareHeaders($headers); | ||||||
|  |  | ||||||
|         return mail($recipients, $subject, $body, $text_headers); |         return mail($recipients, $subject, $body, $text_headers); | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -151,9 +183,9 @@ class Mail | |||||||
|         foreach ($headers as $key => $value) { |         foreach ($headers as $key => $value) { | ||||||
|             if (strcasecmp($key, 'From') === 0) { |             if (strcasecmp($key, 'From') === 0) { | ||||||
|                 include_once 'Mail/RFC822.php'; |                 include_once 'Mail/RFC822.php'; | ||||||
|                 $parser = &new Mail_RFC822(); |                 $parser = new Mail_RFC822(); | ||||||
|                 $addresses = $parser->parseAddressList($value, 'localhost', false); |                 $addresses = $parser->parseAddressList($value, 'localhost', false); | ||||||
|                 if (PEAR::isError($addresses)) { |                 if (is_a($addresses, 'PEAR_Error')) { | ||||||
|                     return $addresses; |                     return $addresses; | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
| @@ -221,7 +253,7 @@ class Mail | |||||||
|         $addresses = Mail_RFC822::parseAddressList($recipients, 'localhost', false); |         $addresses = Mail_RFC822::parseAddressList($recipients, 'localhost', false); | ||||||
|  |  | ||||||
|         // If parseAddressList() returned a PEAR_Error object, just return it. |         // If parseAddressList() returned a PEAR_Error object, just return it. | ||||||
|         if (PEAR::isError($addresses)) { |         if (is_a($addresses, 'PEAR_Error')) { | ||||||
|             return $addresses; |             return $addresses; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										83
									
								
								extlib/Mail/RFC822.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										83
									
								
								extlib/Mail/RFC822.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,37 +1,48 @@ | |||||||
| <?php | <?php | ||||||
| // +-----------------------------------------------------------------------+ | /** | ||||||
| // | Copyright (c) 2001-2002, Richard Heyes                                | |  * RFC 822 Email address list validation Utility | ||||||
| // | All rights reserved.                                                  | |  * | ||||||
| // |                                                                       | |  * PHP versions 4 and 5 | ||||||
| // | Redistribution and use in source and binary forms, with or without    | |  * | ||||||
| // | modification, are permitted provided that the following conditions    | |  * LICENSE: | ||||||
| // | are met:                                                              | |  * | ||||||
| // |                                                                       | |  * Copyright (c) 2001-2010, Richard Heyes | ||||||
| // | o Redistributions of source code must retain the above copyright      | |  * All rights reserved. | ||||||
| // |   notice, this list of conditions and the following disclaimer.       | |  * | ||||||
| // | o Redistributions in binary form must reproduce the above copyright   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // |   notice, this list of conditions and the following disclaimer in the | |  * modification, are permitted provided that the following conditions | ||||||
| // |   documentation and/or other materials provided with the distribution.| |  * are met: | ||||||
| // | o The names of the authors may not be used to endorse or promote      | |  * | ||||||
| // |   products derived from this software without specific prior written  | |  * o Redistributions of source code must retain the above copyright | ||||||
| // |   permission.                                                         | |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // |                                                                       | |  * o Redistributions in binary form must reproduce the above copyright | ||||||
| // | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   | |  *   notice, this list of conditions and the following disclaimer in the | ||||||
| // | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     | |  *   documentation and/or other materials provided with the distribution. | ||||||
| // | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |  * o The names of the authors may not be used to endorse or promote | ||||||
| // | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  | |  *   products derived from this software without specific prior written | ||||||
| // | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |  *   permission. | ||||||
| // | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      | |  * | ||||||
| // | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
| // | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
| // | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   | |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
| // | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
| // | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  | |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
| // |                                                                       | |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
| // +-----------------------------------------------------------------------+ |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
| // | Authors: Richard Heyes <richard@phpguru.org>                          | |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
| // |          Chuck Hagenbuch <chuck@horde.org>                            | |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
| // +-----------------------------------------------------------------------+ |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    Mail | ||||||
|  |  * @package     Mail | ||||||
|  |  * @author      Richard Heyes <richard@phpguru.org> | ||||||
|  |  * @author      Chuck Hagenbuch <chuck@horde.org | ||||||
|  |  * @copyright   2001-2010 Richard Heyes | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: RFC822.php 294749 2010-02-08 08:22:25Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * RFC 822 Email address list validation Utility |  * RFC 822 Email address list validation Utility | ||||||
| @@ -52,7 +63,7 @@ | |||||||
|  * |  * | ||||||
|  * @author  Richard Heyes <richard@phpguru.org> |  * @author  Richard Heyes <richard@phpguru.org> | ||||||
|  * @author  Chuck Hagenbuch <chuck@horde.org> |  * @author  Chuck Hagenbuch <chuck@horde.org> | ||||||
|  * @version $Revision: 1.24 $ |  * @version $Revision: 294749 $ | ||||||
|  * @license BSD |  * @license BSD | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  */ |  */ | ||||||
| @@ -635,8 +646,8 @@ class Mail_RFC822 { | |||||||
|                 $comment    = $this->_splitCheck($parts, ')'); |                 $comment    = $this->_splitCheck($parts, ')'); | ||||||
|                 $comments[] = $comment; |                 $comments[] = $comment; | ||||||
|  |  | ||||||
|                 // +1 is for the trailing ) |                 // +2 is for the brackets | ||||||
|                 $_mailbox   = substr($_mailbox, strpos($_mailbox, $comment)+strlen($comment)+1); |                 $_mailbox = substr($_mailbox, strpos($_mailbox, '('.$comment)+strlen($comment)+2); | ||||||
|             } else { |             } else { | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|   | |||||||
							
								
								
									
										63
									
								
								extlib/Mail/mail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										63
									
								
								extlib/Mail/mail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,27 +1,52 @@ | |||||||
| <?php | <?php | ||||||
| // | /** | ||||||
| // +----------------------------------------------------------------------+ |  * internal PHP-mail() implementation of the PEAR Mail:: interface. | ||||||
| // | PHP Version 4                                                        | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * PHP versions 4 and 5 | ||||||
| // | Copyright (c) 1997-2003 The PHP Group                                | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * LICENSE: | ||||||
| // | This source file is subject to version 2.02 of the PHP license,      | |  * | ||||||
| // | that is bundled with this package in the file LICENSE, and is        | |  * Copyright (c) 2010 Chuck Hagenbuch | ||||||
| // | available at through the world-wide-web at                           | |  * All rights reserved. | ||||||
| // | http://www.php.net/license/2_02.txt.                                 | |  * | ||||||
| // | If you did not receive a copy of the PHP license and are unable to   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // | obtain it through the world-wide-web, please send a note to          | |  * modification, are permitted provided that the following conditions | ||||||
| // | license@php.net so we can mail you a copy immediately.               | |  * are met: | ||||||
| // +----------------------------------------------------------------------+ |  * | ||||||
| // | Author: Chuck Hagenbuch <chuck@horde.org>                            | |  * o Redistributions of source code must retain the above copyright | ||||||
| // +----------------------------------------------------------------------+ |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // |  * o Redistributions in binary form must reproduce the above copyright | ||||||
| // $Id: mail.php,v 1.20 2007/10/06 17:00:00 chagenbu Exp $ |  *   notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    Mail | ||||||
|  |  * @package     Mail | ||||||
|  |  * @author      Chuck Hagenbuch <chuck@horde.org>  | ||||||
|  |  * @copyright   2010 Chuck Hagenbuch | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: mail.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * internal PHP-mail() implementation of the PEAR Mail:: interface. |  * internal PHP-mail() implementation of the PEAR Mail:: interface. | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.20 $ |  * @version $Revision: 294747 $ | ||||||
|  */ |  */ | ||||||
| class Mail_mail extends Mail { | class Mail_mail extends Mail { | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										64
									
								
								extlib/Mail/mock.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										64
									
								
								extlib/Mail/mock.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,29 +1,53 @@ | |||||||
| <?php | <?php | ||||||
| // | /** | ||||||
| // +----------------------------------------------------------------------+ |  * Mock implementation | ||||||
| // | PHP Version 4                                                        | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * PHP versions 4 and 5 | ||||||
| // | Copyright (c) 1997-2003 The PHP Group                                | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * LICENSE: | ||||||
| // | This source file is subject to version 2.02 of the PHP license,      | |  * | ||||||
| // | that is bundled with this package in the file LICENSE, and is        | |  * Copyright (c) 2010 Chuck Hagenbuch | ||||||
| // | available at through the world-wide-web at                           | |  * All rights reserved. | ||||||
| // | http://www.php.net/license/2_02.txt.                                 | |  * | ||||||
| // | If you did not receive a copy of the PHP license and are unable to   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // | obtain it through the world-wide-web, please send a note to          | |  * modification, are permitted provided that the following conditions | ||||||
| // | license@php.net so we can mail you a copy immediately.               | |  * are met: | ||||||
| // +----------------------------------------------------------------------+ |  * | ||||||
| // | Author: Chuck Hagenbuch <chuck@horde.org>                            | |  * o Redistributions of source code must retain the above copyright | ||||||
| // +----------------------------------------------------------------------+ |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // |  * o Redistributions in binary form must reproduce the above copyright | ||||||
| // $Id: mock.php,v 1.1 2007/12/08 17:57:54 chagenbu Exp $ |  *   notice, this list of conditions and the following disclaimer in the | ||||||
| // |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    Mail | ||||||
|  |  * @package     Mail | ||||||
|  |  * @author      Chuck Hagenbuch <chuck@horde.org>  | ||||||
|  |  * @copyright   2010 Chuck Hagenbuch | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: mock.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Mock implementation of the PEAR Mail:: interface for testing. |  * Mock implementation of the PEAR Mail:: interface for testing. | ||||||
|  * @access public |  * @access public | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.1 $ |  * @version $Revision: 294747 $ | ||||||
|  */ |  */ | ||||||
| class Mail_mock extends Mail { | class Mail_mock extends Mail { | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										64
									
								
								extlib/Mail/null.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										64
									
								
								extlib/Mail/null.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,29 +1,53 @@ | |||||||
| <?php | <?php | ||||||
| // | /** | ||||||
| // +----------------------------------------------------------------------+ |  * Null implementation of the PEAR Mail interface | ||||||
| // | PHP Version 4                                                        | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * PHP versions 4 and 5 | ||||||
| // | Copyright (c) 1997-2003 The PHP Group                                | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * LICENSE: | ||||||
| // | This source file is subject to version 2.02 of the PHP license,      | |  * | ||||||
| // | that is bundled with this package in the file LICENSE, and is        | |  * Copyright (c) 2010 Phil Kernick | ||||||
| // | available at through the world-wide-web at                           | |  * All rights reserved. | ||||||
| // | http://www.php.net/license/2_02.txt.                                 | |  * | ||||||
| // | If you did not receive a copy of the PHP license and are unable to   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // | obtain it through the world-wide-web, please send a note to          | |  * modification, are permitted provided that the following conditions | ||||||
| // | license@php.net so we can mail you a copy immediately.               | |  * are met: | ||||||
| // +----------------------------------------------------------------------+ |  * | ||||||
| // | Author: Phil Kernick <philk@rotfl.com.au>                            | |  * o Redistributions of source code must retain the above copyright | ||||||
| // +----------------------------------------------------------------------+ |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // |  * o Redistributions in binary form must reproduce the above copyright | ||||||
| // $Id: null.php,v 1.2 2004/04/06 05:19:03 jon Exp $ |  *   notice, this list of conditions and the following disclaimer in the | ||||||
| // |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    Mail | ||||||
|  |  * @package     Mail | ||||||
|  |  * @author      Phil Kernick <philk@rotfl.com.au> | ||||||
|  |  * @copyright   2010 Phil Kernick | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: null.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Null implementation of the PEAR Mail:: interface. |  * Null implementation of the PEAR Mail:: interface. | ||||||
|  * @access public |  * @access public | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.2 $ |  * @version $Revision: 294747 $ | ||||||
|  */ |  */ | ||||||
| class Mail_null extends Mail { | class Mail_null extends Mail { | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								extlib/Mail/sendmail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										7
									
								
								extlib/Mail/sendmail.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -20,7 +20,7 @@ | |||||||
|  * Sendmail implementation of the PEAR Mail:: interface. |  * Sendmail implementation of the PEAR Mail:: interface. | ||||||
|  * @access public |  * @access public | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.19 $ |  * @version $Revision: 294744 $ | ||||||
|  */ |  */ | ||||||
| class Mail_sendmail extends Mail { | class Mail_sendmail extends Mail { | ||||||
|  |  | ||||||
| @@ -117,7 +117,7 @@ class Mail_sendmail extends Mail { | |||||||
|         if (is_a($recipients, 'PEAR_Error')) { |         if (is_a($recipients, 'PEAR_Error')) { | ||||||
|             return $recipients; |             return $recipients; | ||||||
|         } |         } | ||||||
|         $recipients = escapeShellCmd(implode(' ', $recipients)); |         $recipients = implode(' ', array_map('escapeshellarg', $recipients)); | ||||||
|  |  | ||||||
|         $headerElements = $this->prepareHeaders($headers); |         $headerElements = $this->prepareHeaders($headers); | ||||||
|         if (is_a($headerElements, 'PEAR_Error')) { |         if (is_a($headerElements, 'PEAR_Error')) { | ||||||
| @@ -141,7 +141,8 @@ class Mail_sendmail extends Mail { | |||||||
|             return PEAR::raiseError('From address specified with dangerous characters.'); |             return PEAR::raiseError('From address specified with dangerous characters.'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $from = escapeShellCmd($from); |         $from = escapeshellarg($from); // Security bug #16200 | ||||||
|  |  | ||||||
|         $mail = @popen($this->sendmail_path . (!empty($this->sendmail_args) ? ' ' . $this->sendmail_args : '') . " -f$from -- $recipients", 'w'); |         $mail = @popen($this->sendmail_path . (!empty($this->sendmail_args) ? ' ' . $this->sendmail_args : '') . " -f$from -- $recipients", 'w'); | ||||||
|         if (!$mail) { |         if (!$mail) { | ||||||
|             return PEAR::raiseError('Failed to open sendmail [' . $this->sendmail_path . '] for execution.'); |             return PEAR::raiseError('Failed to open sendmail [' . $this->sendmail_path . '] for execution.'); | ||||||
|   | |||||||
							
								
								
									
										73
									
								
								extlib/Mail/smtp.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										73
									
								
								extlib/Mail/smtp.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,21 +1,48 @@ | |||||||
| <?php | <?php | ||||||
| // | /** | ||||||
| // +----------------------------------------------------------------------+ |  * SMTP implementation of the PEAR Mail interface. Requires the Net_SMTP class. | ||||||
| // | PHP Version 4                                                        | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * PHP versions 4 and 5 | ||||||
| // | Copyright (c) 1997-2003 The PHP Group                                | |  * | ||||||
| // +----------------------------------------------------------------------+ |  * LICENSE: | ||||||
| // | This source file is subject to version 2.02 of the PHP license,      | |  * | ||||||
| // | that is bundled with this package in the file LICENSE, and is        | |  * Copyright (c) 2010, Chuck Hagenbuch | ||||||
| // | available at through the world-wide-web at                           | |  * All rights reserved. | ||||||
| // | http://www.php.net/license/2_02.txt.                                 | |  * | ||||||
| // | If you did not receive a copy of the PHP license and are unable to   | |  * Redistribution and use in source and binary forms, with or without | ||||||
| // | obtain it through the world-wide-web, please send a note to          | |  * modification, are permitted provided that the following conditions | ||||||
| // | license@php.net so we can mail you a copy immediately.               | |  * are met: | ||||||
| // +----------------------------------------------------------------------+ |  * | ||||||
| // | Authors: Chuck Hagenbuch <chuck@horde.org>                           | |  * o Redistributions of source code must retain the above copyright | ||||||
| // |          Jon Parise <jon@php.net>                                    | |  *   notice, this list of conditions and the following disclaimer. | ||||||
| // +----------------------------------------------------------------------+ |  * o Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *   notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  * @category    HTTP | ||||||
|  |  * @package     HTTP_Request | ||||||
|  |  * @author      Jon Parise <jon@php.net>  | ||||||
|  |  * @author      Chuck Hagenbuch <chuck@horde.org> | ||||||
|  |  * @copyright   2010 Chuck Hagenbuch | ||||||
|  |  * @license     http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  |  * @version     CVS: $Id: smtp.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  |  * @link        http://pear.php.net/package/Mail/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| /** Error: Failed to create a Net_SMTP object */ | /** Error: Failed to create a Net_SMTP object */ | ||||||
| define('PEAR_MAIL_SMTP_ERROR_CREATE', 10000); | define('PEAR_MAIL_SMTP_ERROR_CREATE', 10000); | ||||||
| @@ -42,7 +69,7 @@ define('PEAR_MAIL_SMTP_ERROR_DATA', 10006); | |||||||
|  * SMTP implementation of the PEAR Mail interface. Requires the Net_SMTP class. |  * SMTP implementation of the PEAR Mail interface. Requires the Net_SMTP class. | ||||||
|  * @access public |  * @access public | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.33 $ |  * @version $Revision: 294747 $ | ||||||
|  */ |  */ | ||||||
| class Mail_smtp extends Mail { | class Mail_smtp extends Mail { | ||||||
|  |  | ||||||
| @@ -278,6 +305,16 @@ class Mail_smtp extends Mail { | |||||||
|  |  | ||||||
|         /* Send the message's headers and the body as SMTP data. */ |         /* Send the message's headers and the body as SMTP data. */ | ||||||
|         $res = $this->_smtp->data($textHeaders . "\r\n\r\n" . $body); |         $res = $this->_smtp->data($textHeaders . "\r\n\r\n" . $body); | ||||||
|  | 		list(,$args) = $this->_smtp->getResponse(); | ||||||
|  |  | ||||||
|  | 		if (preg_match("/Ok: queued as (.*)/", $args, $queued)) { | ||||||
|  | 			$this->queued_as = $queued[1]; | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		/* we need the greeting; from it we can extract the authorative name of the mail server we've really connected to. | ||||||
|  | 		 * ideal if we're connecting to a round-robin of relay servers and need to track which exact one took the email */ | ||||||
|  | 		$this->greeting = $this->_smtp->getGreeting(); | ||||||
|  |  | ||||||
|         if (is_a($res, 'PEAR_Error')) { |         if (is_a($res, 'PEAR_Error')) { | ||||||
|             $error = $this->_error('Failed to send data', $res); |             $error = $this->_error('Failed to send data', $res); | ||||||
|             $this->_smtp->rset(); |             $this->_smtp->rset(); | ||||||
|   | |||||||
							
								
								
									
										44
									
								
								extlib/Mail/smtpmx.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										44
									
								
								extlib/Mail/smtpmx.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -8,19 +8,43 @@ | |||||||
|  * |  * | ||||||
|  * PHP versions 4 and 5 |  * PHP versions 4 and 5 | ||||||
|  * |  * | ||||||
|  * LICENSE: This source file is subject to version 3.0 of the PHP license |  * LICENSE: | ||||||
|  * that is available through the world-wide-web at the following URI: |  * | ||||||
|  * http://www.php.net/license/3_0.txt.  If you did not receive a copy of |  * Copyright (c) 2010, gERD Schaufelberger | ||||||
|  * the PHP License and are unable to obtain it through the web, please |  * All rights reserved. | ||||||
|  * send a note to license@php.net so we can mail you a copy immediately. |  * | ||||||
|  |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
|  |  * are met: | ||||||
|  |  * | ||||||
|  |  * o Redistributions of source code must retain the above copyright | ||||||
|  |  *   notice, this list of conditions and the following disclaimer. | ||||||
|  |  * o Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *   notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *   documentation and/or other materials provided with the distribution. | ||||||
|  |  * o The names of the authors may not be used to endorse or promote | ||||||
|  |  *   products derived from this software without specific prior written | ||||||
|  |  *   permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||||
|  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||||
|  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||||
|  |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||||
|  |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||||
|  |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||||
|  |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  * |  * | ||||||
|  * @category   Mail |  * @category   Mail | ||||||
|  * @package    Mail_smtpmx |  * @package    Mail_smtpmx | ||||||
|  * @author     gERD Schaufelberger <gerd@php-tools.net> |  * @author     gERD Schaufelberger <gerd@php-tools.net> | ||||||
|  * @copyright  1997-2005 The PHP Group |  * @copyright  2010 gERD Schaufelberger | ||||||
|  * @license    http://www.php.net/license/3_0.txt  PHP License 3.0 |  * @license    http://opensource.org/licenses/bsd-license.php New BSD License | ||||||
|  * @version    CVS: $Id: smtpmx.php,v 1.2 2007/10/06 17:00:00 chagenbu Exp $ |  * @version    CVS: $Id: smtpmx.php 294747 2010-02-08 08:18:33Z clockwerx $ | ||||||
|  * @see        Mail |  * @link       http://pear.php.net/package/Mail/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| require_once 'Net/SMTP.php'; | require_once 'Net/SMTP.php'; | ||||||
| @@ -32,7 +56,7 @@ require_once 'Net/SMTP.php'; | |||||||
|  * @access public |  * @access public | ||||||
|  * @author  gERD Schaufelberger <gerd@php-tools.net> |  * @author  gERD Schaufelberger <gerd@php-tools.net> | ||||||
|  * @package Mail |  * @package Mail | ||||||
|  * @version $Revision: 1.2 $ |  * @version $Revision: 294747 $ | ||||||
|  */ |  */ | ||||||
| class Mail_smtpmx extends Mail { | class Mail_smtpmx extends Mail { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -171,7 +171,7 @@ class XMPPHP_XMPP extends XMPPHP_XMLStream { | |||||||
| 		$body	= htmlspecialchars($body); | 		$body	= htmlspecialchars($body); | ||||||
| 		$subject = htmlspecialchars($subject); | 		$subject = htmlspecialchars($subject); | ||||||
| 		 | 		 | ||||||
| 		$out = "<message from='{$this->fulljid}' to='$to' type='$type'>"; | 		$out = "<message from=\"{$this->fulljid}\" to=\"$to\" type='$type'>"; | ||||||
| 		if($subject) $out .= "<subject>$subject</subject>"; | 		if($subject) $out .= "<subject>$subject</subject>"; | ||||||
| 		$out .= "<body>$body</body>"; | 		$out .= "<body>$body</body>"; | ||||||
| 		if($payload) $out .= $payload; | 		if($payload) $out .= $payload; | ||||||
| @@ -194,7 +194,7 @@ class XMPPHP_XMPP extends XMPPHP_XMLStream { | |||||||
| 		if($show == 'unavailable') $type = 'unavailable'; | 		if($show == 'unavailable') $type = 'unavailable'; | ||||||
| 		 | 		 | ||||||
| 		$out = "<presence"; | 		$out = "<presence"; | ||||||
| 		if($to) $out .= " to='$to'"; | 		if($to) $out .= " to=\"$to\""; | ||||||
| 		if($type) $out .= " type='$type'"; | 		if($type) $out .= " type='$type'"; | ||||||
| 		if($show == 'available' and !$status) { | 		if($show == 'available' and !$status) { | ||||||
| 			$out .= "/>"; | 			$out .= "/>"; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user