09/04/08 - Soporte para correos reenviados (X-Forwarded-To y X-Forwarded-For).
[xmensajitos.php.git] / libs / iniparser.php
blob49c551e79c193c010bd9f8179b6642b5113078b2
1 <?php
2 /******************************************************
3 * ©2006 copyrights by RE-Desgin (www.re-design.de) *
4 * Author: Enrico Reinsdorf (enrico@.re-design.de) *
5 * Modified: 2006-01-16 *
6 ******************************************************/
8 class iniParser {
10 var $_iniFilename = '';
11 var $_iniParsedArray = array();
13 /**
14 * erstellt einen mehrdimensionalen Array aus der INI-Datei
15 **/
16 function iniParser( $filename )
18 $this->_iniFilename = $filename;
19 if($this->_iniParsedArray = parse_ini_file( $filename, true ) ) {
20 return true;
21 } else {
22 return false;
26 /**
27 * gibt die komplette Sektion zurück
28 **/
29 function getSection( $key )
31 return $this->_iniParsedArray[$key];
34 /**
35 * gibt einen Wert aus einer Sektion zurück
36 **/
37 function getValue( $section, $key )
39 if(!isset($this->_iniParsedArray[$section])) return false;
40 return $this->_iniParsedArray[$section][$key];
43 /**
44 * gibt den Wert einer Sektion oder die ganze Section zurück
45 **/
46 function get( $section, $key=NULL )
48 if(is_null($key)) return $this->getSection($section);
49 return $this->getValue($section, $key);
52 /**
53 * Seta um valor de acordo com a chave especificada
54 **/
55 function setSection( $section, $array )
57 if(!is_array($array)) return false;
58 return $this->_iniParsedArray[$section] = $array;
61 /**
62 * setzt einen neuen Wert in einer Section
63 **/
64 function setValue( $section, $key, $value )
66 if( $this->_iniParsedArray[$section][$key] = $value ) return true;
69 /**
70 * setzt einen neuen Wert in einer Section oder eine gesamte, neue Section
71 **/
72 function set( $section, $key, $value=NULL )
74 if(is_array($key) && is_null($value)) return $this->setSection($section, $key);
75 return $this->setValue($section, $key, $value);
78 /**
79 * sichert den gesamten Array in die INI-Datei
80 **/
81 function save( $filename = null )
83 if( $filename == null ) $filename = $this->_iniFilename;
84 if( is_writeable( $filename ) ) {
85 $SFfdescriptor = fopen( $filename, "w" );
86 foreach($this->_iniParsedArray as $section => $array){
87 fwrite( $SFfdescriptor, "[" . $section . "]\n" );
88 foreach( $array as $key => $value ) {
89 fwrite( $SFfdescriptor, "$key = $value\n" );
91 fwrite( $SFfdescriptor, "\n" );
93 fclose( $SFfdescriptor );
94 return true;
95 } else {
96 return false;