Example #1
0
/**
 * Support function -- load the main configuration options, overriding with
 * custom local settings if applicable.
 *
 * @param string $basePath Optional base path to config files.
 *
 * @return array The desired config.ini settings in array format.
 */
function readConfig($basePath = 'conf')
{
    $mainArray = parse_ini_file($basePath . '/config.ini', true);
    if (isset($mainArray['Extra_Config']) && isset($mainArray['Extra_Config']['local_overrides'])) {
        $file = trim($basePath . '/' . $mainArray['Extra_Config']['local_overrides']);
        $localOverride = @parse_ini_file($file, true);
        if ($localOverride) {
            $mainArray = iniMerge($mainArray, $localOverride);
        }
    }
    // Auto-detect the base URL if it is not provided in the configuration:
    if (!isset($mainArray['Site']['url']) || empty($mainArray['Site']['url'])) {
        $mainArray['Site']['url'] = determineSiteUrl($mainArray);
    }
    return $mainArray;
}
Example #2
0
/**
 * Support function -- load the main configuration options, overriding with
 * custom local settings if applicable.
 *
 * @param string $basePath Optional base path to config files.
 * @param string $filename Optional config file name override.
 *
 * @return array The desired config.ini settings in array format.
 */
function readConfig($basePath = 'conf', $filename = '')
{
    $mainArray = parse_ini_file($filename ? $filename : $basePath . '/config.ini', true);
    if (isset($mainArray['Extra_Config']) && isset($mainArray['Extra_Config']['local_overrides'])) {
        $file = trim($basePath . '/' . $mainArray['Extra_Config']['local_overrides']);
        $localOverride = @parse_ini_file($file, true);
        if ($localOverride) {
            $mainArray = iniMerge($mainArray, $localOverride);
        }
    }
    // Auto-detect the base URL if it is not provided in the configuration:
    if (!isset($mainArray['Site']['url']) || empty($mainArray['Site']['url'])) {
        $mainArray['Site']['url'] = determineSiteUrl($mainArray);
    }
    // Auto-detect local web installation path if it is not provided
    if (!isset($mainArray['Site']['local']) || empty($mainArray['Site']['local'])) {
        $mainArray['Site']['local'] = realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..');
    }
    // Auto-detect absolute path to database schema and class if necessary
    if (isRelativeFilePath($mainArray['Database']['schema_location'])) {
        $mainArray['Database']['schema_location'] = realpath($mainArray['Site']['local'] . DIRECTORY_SEPARATOR . $mainArray['Database']['schema_location']);
    }
    if (isRelativeFilePath($mainArray['Database']['class_location'])) {
        $mainArray['Database']['class_location'] = realpath($mainArray['Site']['local'] . DIRECTORY_SEPARATOR . $mainArray['Database']['class_location']);
    }
    return $mainArray;
}