[ Index ] |
|
Code source de Symfony 1.0.0 |
1 <?php 2 /* 3 * $Id: IniFileTokenReader.php 3076 2006-12-18 08:52:12Z fabien $ 4 * 5 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 6 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 7 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 8 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 9 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 10 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 11 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 12 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 13 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 14 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 15 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 * 17 * This software consists of voluntary contributions made by many individuals 18 * and is licensed under the LGPL. For more information please see 19 * <http://phing.info>. 20 */ 21 22 include_once 'phing/types/TokenReader.php'; 23 include_once 'phing/system/io/IOException.php'; 24 include_once 'phing/filters/ReplaceTokens.php'; // For class Token 25 26 /** 27 * Class that allows reading tokens from INI files. 28 * 29 * @author Manuel Holtgewe 30 * @version $Revision: 1.7 $ 31 * @package phing.filters.util 32 */ 33 class IniFileTokenReader extends TokenReader { 34 35 /** 36 * Holds the path to the INI file that is to be read. 37 * @var object Reference to a PhingFile Object representing 38 * the path to the INI file. 39 */ 40 private $file = null; 41 42 /** 43 * @var string Sets the section to load from the INI file. 44 * if omitted, all sections are loaded. 45 */ 46 private $section = null; 47 48 /** 49 * Reads the next token from the INI file 50 * 51 * @throws IOException On error 52 */ 53 function readToken() { 54 if ($this->file === null) { 55 throw new BuildException("No File set for IniFileTokenReader"); 56 } 57 58 static $tokens = null; 59 if ($tokens === null) { 60 $tokens = array(); 61 $arr = parse_ini_file($this->file->getAbsolutePath(), true); 62 if ($this->section === null) { 63 foreach ($arr as $sec_name => $values) { 64 foreach($arr[$sec_name] as $key => $value) { 65 $tok = new Token; 66 $tok->setKey($key); 67 $tok->setValue($value); 68 $tokens[] = $tok; 69 } 70 } 71 } else if (isset($arr[$this->section])) { 72 foreach ($arr[$this->section] as $key => $value) { 73 $tok = new Token; 74 $tok->setKey($key); 75 $tok->setValue($value); 76 $tokens[] = $tok; 77 } 78 } 79 } 80 81 if (count($tokens) > 0) { 82 return array_pop($tokens); 83 } else 84 return null; 85 } 86 87 function setFile(PhingFile $file) { 88 $this->file = $file; 89 } 90 91 function setSection($str) { 92 $this->section = (string) $str; 93 } 94 } 95 96 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 16 22:42:14 2007 | par Balluche grâce à PHPXref 0.7 |