From 4de671bc5e749ac76ad85252df59feb45c749eab Mon Sep 17 00:00:00 2001 From: andi Date: Sun, 10 Apr 2005 19:01:15 +0200 Subject: new parser - more fixes darcs-hash:20050410170115-9977f-620a5fccdc80d5af01d0b9aec9f8b1fb8e4c667d.gz --- inc/utils.php | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 inc/utils.php (limited to 'inc/utils.php') diff --git a/inc/utils.php b/inc/utils.php new file mode 100644 index 000000000..de98f35ec --- /dev/null +++ b/inc/utils.php @@ -0,0 +1,86 @@ + + */ + + if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/'); + +/** + * returns a hash of acronyms + * + * @author Harry Fuecks + */ +function getAcronyms() { + static $acronyms = NULL; + if ( !$acronyms ) { + $acronyms = confToHash(DOKU_INC . 'conf/acronyms.conf'); + } + return $acronyms; +} + +/** + * returns a hash of smileys + * + * @author Harry Fuecks + */ +function getSmileys() { + static $smileys = NULL; + if ( !$smileys ) { + $smileys = confToHash(DOKU_INC . 'conf/smileys.conf'); + } + return $smileys; +} + +/** + * returns a hash of entities + * + * @author Harry Fuecks + */ +function getEntities() { + static $entities = NULL; + if ( !$entities ) { + $entities = confToHash(DOKU_INC . 'conf/entities.conf'); + } + return $entities; +} + +/** + * returns a hash of interwikilinks + * + * @author Harry Fuecks + */ +function getInterwiki() { + static $wikis = NULL; + if ( !$wikis ) { + $wikis = confToHash(DOKU_INC . 'conf/interwiki.conf'); + } + return $wikis; +} + +/** + * Builds a hash from a configfile + * + * @author Harry Fuecks + */ +function confToHash($file) { + $conf = array(); + $lines = @file( $file ); + if ( !$lines ) { + return $conf; + } + + foreach ( $lines as $line ) { + //ignore comments + $line = preg_replace('/[^&]#.*$/','',$line); + $line = trim($line); + if(empty($line)) continue; + $line = preg_split('/\s+/',$line,2); + // Build the associative array + $conf[$line[0]] = $line[1]; + } + + return $conf; +} -- cgit v1.2.3