1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * phpmailer message sink. 19 * 20 * @package core 21 * @category phpunit 22 * @copyright 2013 Andrew Nicols 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 27 /** 28 * phpmailer message sink. 29 * 30 * @package core 31 * @category phpunit 32 * @copyright 2013 Andrew Nicols 33 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 34 */ 35 class phpunit_phpmailer_sink { 36 /** 37 * @var array of records which would have been sent by phpmailer. 38 */ 39 protected $messages = array(); 40 41 /** 42 * Stop message redirection. 43 * 44 * Use if you do not want message redirected any more. 45 */ 46 public function close() { 47 phpunit_util::stop_phpmailer_redirection(); 48 } 49 50 /** 51 * To be called from phpunit_util only! 52 * 53 * @param stdClass $message record from messages table 54 */ 55 public function add_message($message) { 56 /* Number messages from 0. */ 57 $this->messages[] = $message; 58 } 59 60 /** 61 * Returns all redirected messages. 62 * 63 * The instances are records from the messages table. 64 * The array indexes are numbered from 0 and the order is matching 65 * the creation of events. 66 * 67 * @return array 68 */ 69 public function get_messages() { 70 return $this->messages; 71 } 72 73 /** 74 * Return number of messages redirected to this sink. 75 * @return int 76 */ 77 public function count() { 78 return count($this->messages); 79 } 80 81 /** 82 * Removes all previously stored messages. 83 */ 84 public function clear() { 85 $this->messages = array(); 86 } 87 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body