[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Request-dependant objects containers. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @since 1.18 21 * 22 * @author Happy-melon 23 * @file 24 */ 25 26 /** 27 * The simplest way of implementing IContextSource is to hold a RequestContext as a 28 * member variable and provide accessors to it. 29 */ 30 abstract class ContextSource implements IContextSource { 31 /** 32 * @var IContextSource 33 */ 34 private $context; 35 36 /** 37 * Get the base IContextSource object 38 * @since 1.18 39 * @return IContextSource 40 */ 41 public function getContext() { 42 if ( $this->context === null ) { 43 $class = get_class( $this ); 44 wfDebug( __METHOD__ . " ($class): called and \$context is null. " . 45 "Using RequestContext::getMain() for sanity\n" ); 46 $this->context = RequestContext::getMain(); 47 } 48 49 return $this->context; 50 } 51 52 /** 53 * Set the IContextSource object 54 * 55 * @since 1.18 56 * @param IContextSource $context 57 */ 58 public function setContext( IContextSource $context ) { 59 $this->context = $context; 60 } 61 62 /** 63 * Get the Config object 64 * 65 * @since 1.23 66 * @return Config 67 */ 68 public function getConfig() { 69 return $this->getContext()->getConfig(); 70 } 71 72 /** 73 * Get the WebRequest object 74 * 75 * @since 1.18 76 * @return WebRequest 77 */ 78 public function getRequest() { 79 return $this->getContext()->getRequest(); 80 } 81 82 /** 83 * Get the Title object 84 * 85 * @since 1.18 86 * @return Title|null 87 */ 88 public function getTitle() { 89 return $this->getContext()->getTitle(); 90 } 91 92 /** 93 * Check whether a WikiPage object can be get with getWikiPage(). 94 * Callers should expect that an exception is thrown from getWikiPage() 95 * if this method returns false. 96 * 97 * @since 1.19 98 * @return bool 99 */ 100 public function canUseWikiPage() { 101 return $this->getContext()->canUseWikiPage(); 102 } 103 104 /** 105 * Get the WikiPage object. 106 * May throw an exception if there's no Title object set or the Title object 107 * belongs to a special namespace that doesn't have WikiPage, so use first 108 * canUseWikiPage() to check whether this method can be called safely. 109 * 110 * @since 1.19 111 * @return WikiPage 112 */ 113 public function getWikiPage() { 114 return $this->getContext()->getWikiPage(); 115 } 116 117 /** 118 * Get the OutputPage object 119 * 120 * @since 1.18 121 * @return OutputPage 122 */ 123 public function getOutput() { 124 return $this->getContext()->getOutput(); 125 } 126 127 /** 128 * Get the User object 129 * 130 * @since 1.18 131 * @return User 132 */ 133 public function getUser() { 134 return $this->getContext()->getUser(); 135 } 136 137 /** 138 * Get the Language object 139 * 140 * @since 1.19 141 * @return Language 142 */ 143 public function getLanguage() { 144 return $this->getContext()->getLanguage(); 145 } 146 147 /** 148 * Get the Skin object 149 * 150 * @since 1.18 151 * @return Skin 152 */ 153 public function getSkin() { 154 return $this->getContext()->getSkin(); 155 } 156 157 /** 158 * Get a Message object with context set 159 * Parameters are the same as wfMessage() 160 * 161 * @since 1.18 162 * @return Message 163 */ 164 public function msg( /* $args */ ) { 165 $args = func_get_args(); 166 167 return call_user_func_array( array( $this->getContext(), 'msg' ), $args ); 168 } 169 170 /** 171 * Export the resolved user IP, HTTP headers, user ID, and session ID. 172 * The result will be reasonably sized to allow for serialization. 173 * 174 * @return array 175 * @since 1.21 176 */ 177 public function exportSession() { 178 return $this->getContext()->exportSession(); 179 } 180 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |