Location: PHPKode > projects > OpenRat CMS > openrat/serviceClasses/Preferences.class.php
<?php

/**
 * Bereitstellen von Methoden fuer das Lesen von Einstellungen
 *
 * @author $Author$
 * @version $Revision$
 * @package openrat.services
 */
class Preferences
{
	/**
	 * Liest die Konfigurationsdateien im angegebenen Ordner.
	 * 
	 * @param $dir Verzeichnis, welche gelesen wird. Optional. Falls nicht gesetzt, wird
	 * das Standard-Konfigurationsverzeichnis verwendet. 
	 * @return Array
	 */
	function load( $dir='' )
	{
		if	( !defined('QUOTE') )
			define('QUOTE','"');
		
		$values = array();
		
		// Bei erstem (nicht-rekursiven) Aufruf der Methoden das Konfigurationsverzeichnis voreinstellen 
		if	( empty($dir) )
		{
			if	( isset($_GET['config']) )
				$dir = basename( $_GET['config'] ).'/';
			else
				$dir = OR_PREFERENCES_DIR;
		}
			
		if	( !is_dir($dir) )
		{
			Http::sendStatus(501,'Internal Server Error','not a directory: '.$dir);
			exit;
		}
		
		$dateien = FileUtils::readDir($dir);
		
		foreach( $dateien as $datei )
		{
			$filename = $dir.$datei;
			
			if	( is_file($filename) && eregi('\.(ini.*|conf)$',$datei) )
			{
				$nameBestandteile = explode('.',$datei);
			    $values[$nameBestandteile[0]] = parse_ini_file( $filename,true );
			}
	    }
	    
		ksort($values);

		return $values;
	}
}
?>
Return current item: OpenRat CMS