websvn |
Subversion Repositories: |
Rev 1 | Rev 3 | |
---|---|---|
Line 34... | Line 34... | |
// }}} |
// }}} | |
|
| |
// {{{ readIniFile |
// {{{ readIniFile | |
|
| |
function readIniFile($name) { |
function readIniFile($name) { | |
// does not use parse_ini_file function since php 5.3 does not support comment lines starting with # | ||
$contents = file($name); |
$contents = file($name); | |
$cursection = ''; |
$cursection = ''; | |
$curkey = ''; | ||
$first = true; |
$first = true; | |
|
| |
foreach ($contents as $str) { |
foreach ($contents as $line) { | |
$str = trim($str); |
$line = rtrim($line); | |
$str = ltrim($line); | ||
if (empty($str)) { |
if (empty($str)) { | |
continue; |
continue; | |
} |
} | |
|
| |
// @todo remove ' in the next major release to be in line with the svn book | ||
if ($str{0} == '#' or $str{0} == "'") { |
if ($str{0} == '#' or $str{0} == "'") { | |
continue; |
continue; | |
} |
} | |
|
| |
if ($str{0} == '[') { |
if ($str != $line && !empty($cursection) && !empty($curkey)) { | |
// line starts with whitespace | ||
$this->sections[$cursection][$curkey] .= strtolower($str); | ||
} else if ($str{0} == '[') { | ||
$cursection = strtolower(substr($str, 1, strlen($str) - 2)); |
$cursection = strtolower(substr($str, 1, strlen($str) - 2)); | |
if (!($str{strlen($str) - 2} == '/' or $str == '[groups]')) { |
if (!($str{strlen($str) - 2} == '/' || $str == '[aliases]' || $str == '[groups]')) { | |
$cursection .= '/'; |
$cursection .= '/'; | |
} |
} | |
$first = true; |
$first = true; | |
} else if (!empty($cursection)) { |
} else if (!empty($cursection)) { | |
if ($first === true) { |
if ($first) { | |
$this->sections[$cursection] = array(); |
if (($cursection != 'aliases' && $cursection != 'groups') || !isset($this->sections[$cursection])) { | |
$this->sections[$cursection] = array(); | ||
} | ||
} |
} | |
list($key, $val) = split('=', $str); |
list($key, $val) = explode('=', $str, 2); | |
$this->sections[$cursection][strtolower(trim($key))] = strtolower(trim($val)); |
$key = strtolower(trim($key)); | |
$curkey = $key; | ||
$this->sections[$cursection][$key] = strtolower(trim($val)); | ||
$first = false; |
$first = false; | |
} |
} | |
} |
} | |
} |
} | |
|
|