mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
82 lines
1.7 KiB
PHP
82 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* This file is part of the phpBB Forum Software package.
|
|
*
|
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
|
*
|
|
* For full copyright and license information, please see
|
|
* the docs/CREDITS.txt file.
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
if (!defined('IN_PHPBB'))
|
|
{
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Parse cfg file
|
|
* @param string $filename
|
|
* @param bool|array $lines
|
|
* @return array
|
|
*
|
|
* @deprecated 4.0.0-a1 (To be removed: 5.0.0)
|
|
*/
|
|
function parse_cfg_file($filename, $lines = false)
|
|
{
|
|
$parsed_items = array();
|
|
|
|
if ($lines === false)
|
|
{
|
|
$lines = file($filename);
|
|
}
|
|
|
|
foreach ($lines as $line)
|
|
{
|
|
$line = trim($line);
|
|
|
|
if (!$line || $line[0] == '#' || ($delim_pos = strpos($line, '=')) === false)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
// Determine first occurrence, since in values the equal sign is allowed
|
|
$key = htmlspecialchars(strtolower(trim(substr($line, 0, $delim_pos))), ENT_COMPAT);
|
|
$value = trim(substr($line, $delim_pos + 1));
|
|
|
|
if (in_array($value, array('off', 'false', '0')))
|
|
{
|
|
$value = false;
|
|
}
|
|
else if (in_array($value, array('on', 'true', '1')))
|
|
{
|
|
$value = true;
|
|
}
|
|
else if (!trim($value))
|
|
{
|
|
$value = '';
|
|
}
|
|
else if (($value[0] == "'" && $value[strlen($value) - 1] == "'") || ($value[0] == '"' && $value[strlen($value) - 1] == '"'))
|
|
{
|
|
$value = htmlspecialchars(substr($value, 1, strlen($value) - 2), ENT_COMPAT);
|
|
}
|
|
else
|
|
{
|
|
$value = htmlspecialchars($value, ENT_COMPAT);
|
|
}
|
|
|
|
$parsed_items[$key] = $value;
|
|
}
|
|
|
|
if (isset($parsed_items['parent']) && isset($parsed_items['name']) && $parsed_items['parent'] == $parsed_items['name'])
|
|
{
|
|
unset($parsed_items['parent']);
|
|
}
|
|
|
|
return $parsed_items;
|
|
}
|