aboutsummaryrefslogtreecommitdiff
path: root/lib/dokuwiki/inc/confutils.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dokuwiki/inc/confutils.php')
-rw-r--r--lib/dokuwiki/inc/confutils.php320
1 files changed, 0 insertions, 320 deletions
diff --git a/lib/dokuwiki/inc/confutils.php b/lib/dokuwiki/inc/confutils.php
deleted file mode 100644
index 9ec7a551e..000000000
--- a/lib/dokuwiki/inc/confutils.php
+++ /dev/null
@@ -1,320 +0,0 @@
-<?php
-/**
- * Utilities for collecting data from config files
- *
- * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-
-
-/**
- * Returns the (known) extension and mimetype of a given filename
- *
- * If $knownonly is true (the default), then only known extensions
- * are returned.
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function mimetype($file, $knownonly=true){
- $ret = array(false,false,false); // return array
- $mtypes = getMimeTypes(); // known mimetypes
- $exts = join('|',array_keys($mtypes)); // known extensions (regexp)
- if(!$knownonly){
- $exts = $exts.'|[_\-A-Za-z0-9]+'; // any extension
- }
- if(preg_match('#\.('.$exts.')$#i',$file,$matches)){
- $ext = strtolower($matches[1]);
- }
-
- if($ext){
- if (isset($mtypes[$ext])){
- if($mtypes[$ext][0] == '!'){
- $ret = array($ext, substr($mtypes[$ext],1), true);
- }else{
- $ret = array($ext, $mtypes[$ext], false);
- }
- }elseif(!$knownonly){
- $ret = array($ext, 'application/octet-stream', true);
- }
- }
-
- return $ret;
-}
-
-/**
- * returns a hash of mimetypes
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function getMimeTypes() {
- static $mime = NULL;
- if ( !$mime ) {
- $mime = retrieveConfig('mime','confToHash');
- }
- return $mime;
-}
-
-/**
- * returns a hash of acronyms
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-function getAcronyms() {
- static $acronyms = NULL;
- if ( !$acronyms ) {
- $acronyms = retrieveConfig('acronyms','confToHash');
- }
- return $acronyms;
-}
-
-/**
- * returns a hash of smileys
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-function getSmileys() {
- static $smileys = NULL;
- if ( !$smileys ) {
- $smileys = retrieveConfig('smileys','confToHash');
- }
- return $smileys;
-}
-
-/**
- * returns a hash of entities
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-function getEntities() {
- static $entities = NULL;
- if ( !$entities ) {
- $entities = retrieveConfig('entities','confToHash');
- }
- return $entities;
-}
-
-/**
- * returns a hash of interwikilinks
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-function getInterwiki() {
- static $wikis = NULL;
- if ( !$wikis ) {
- $wikis = retrieveConfig('interwiki','confToHash',array(true));
- }
- //add sepecial case 'this'
- $wikis['this'] = DOKU_URL.'{NAME}';
- return $wikis;
-}
-
-/**
- * returns array of wordblock patterns
- *
- */
-function getWordblocks() {
- static $wordblocks = NULL;
- if ( !$wordblocks ) {
- $wordblocks = retrieveConfig('wordblock','file');
- }
- return $wordblocks;
-}
-
-
-function getSchemes() {
- static $schemes = NULL;
- if ( !$schemes ) {
- $schemes = retrieveConfig('scheme','file');
- }
- $schemes = array_map('trim', $schemes);
- $schemes = preg_replace('/^#.*/', '', $schemes);
- $schemes = array_filter($schemes);
- return $schemes;
-}
-
-/**
- * Builds a hash from an array of lines
- *
- * If $lower is set to true all hash keys are converted to
- * lower case.
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- * @author Andreas Gohr <andi@splitbrain.org>
- * @author Gina Haeussge <gina@foosel.net>
- */
-function linesToHash($lines, $lower=false) {
- foreach ( $lines as $line ) {
- //ignore comments (except escaped ones)
- $line = preg_replace('/(?<![&\\\\])#.*$/','',$line);
- $line = str_replace('\\#','#',$line);
- $line = trim($line);
- if(empty($line)) continue;
- $line = preg_split('/\s+/',$line,2);
- // Build the associative array
- if($lower){
- $conf[strtolower($line[0])] = $line[1];
- }else{
- $conf[$line[0]] = $line[1];
- }
- }
-
- return $conf;
-}
-
-/**
- * Builds a hash from a configfile
- *
- * If $lower is set to true all hash keys are converted to
- * lower case.
- *
- * @author Harry Fuecks <hfuecks@gmail.com>
- * @author Andreas Gohr <andi@splitbrain.org>
- * @author Gina Haeussge <gina@foosel.net>
- */
-function confToHash($file,$lower=false) {
- $conf = array();
- $lines = @file( $file );
- if ( !$lines ) return $conf;
-
- return linesToHash($lines, $lower);
-}
-
-/**
- * Retrieve the requested configuration information
- *
- * @author Chris Smith <chris@jalakai.co.uk>
- *
- * @param string $type the configuration settings to be read, must correspond to a key/array in $config_cascade
- * @param callback $fn the function used to process the configuration file into an array
- * @param array $param optional additional params to pass to the callback
- * @return array configuration values
- */
-function retrieveConfig($type,$fn,$params=null) {
- global $config_cascade;
-
- if(!is_array($params)) $params = array();
-
- $combined = array();
- if (!is_array($config_cascade[$type])) trigger_error('Missing config cascade for "'.$type.'"',E_USER_WARNING);
- foreach (array('default','local','protected') as $config_group) {
- if (empty($config_cascade[$type][$config_group])) continue;
- foreach ($config_cascade[$type][$config_group] as $file) {
- if (@file_exists($file)) {
- $config = call_user_func_array($fn,array_merge(array($file),$params));
- $combined = array_merge($combined, $config);
- }
- }
- }
-
- return $combined;
-}
-
-/**
- * Include the requested configuration information
- *
- * @author Chris Smith <chris@jalakai.co.uk>
- *
- * @param string $type the configuration settings to be read, must correspond to a key/array in $config_cascade
- * @return array list of files, default before local before protected
- */
-function getConfigFiles($type) {
- global $config_cascade;
- $files = array();
-
- if (!is_array($config_cascade[$type])) trigger_error('Missing config cascade for "'.$type.'"',E_USER_WARNING);
- foreach (array('default','local','protected') as $config_group) {
- if (empty($config_cascade[$type][$config_group])) continue;
- $files = array_merge($files, $config_cascade[$type][$config_group]);
- }
-
- return $files;
-}
-
-/**
- * check if the given action was disabled in config
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- * @returns boolean true if enabled, false if disabled
- */
-function actionOK($action){
- static $disabled = null;
- if(is_null($disabled)){
- global $conf;
-
- // prepare disabled actions array and handle legacy options
- $disabled = explode(',',$conf['disableactions']);
- $disabled = array_map('trim',$disabled);
- if(isset($conf['openregister']) && !$conf['openregister']) $disabled[] = 'register';
- if(isset($conf['resendpasswd']) && !$conf['resendpasswd']) $disabled[] = 'resendpwd';
- if(isset($conf['subscribers']) && !$conf['subscribers']) {
- $disabled[] = 'subscribe';
- $disabled[] = 'subscribens';
- }
- $disabled = array_unique($disabled);
- }
-
- return !in_array($action,$disabled);
-}
-
-/**
- * check if headings should be used as link text for the specified link type
- *
- * @author Chris Smith <chris@jalakai.co.uk>
- *
- * @param string $linktype 'content'|'navigation', content applies to links in wiki text
- * navigation applies to all other links
- * @returns boolean true if headings should be used for $linktype, false otherwise
- */
-function useHeading($linktype) {
- static $useHeading = null;
-
- if (is_null($useHeading)) {
- global $conf;
-
- if (!empty($conf['useheading'])) {
- switch ($conf['useheading']) {
- case 'content' : $useHeading['content'] = true; break;
- case 'navigation' : $useHeading['navigation'] = true; break;
- default:
- $useHeading['content'] = true;
- $useHeading['navigation'] = true;
- }
- } else {
- $useHeading = array();
- }
- }
-
- return (!empty($useHeading[$linktype]));
-}
-
-/**
- * obscure config data so information isn't plain text
- *
- * @param string $str data to be encoded
- * @param string $code encoding method, values: plain, base64, uuencode.
- * @return string the encoded value
- */
-function conf_encodeString($str,$code) {
- switch ($code) {
- case 'base64' : return '<b>'.base64_encode($str);
- case 'uuencode' : return '<u>'.convert_uuencode($str);
- case 'plain':
- default:
- return $str;
- }
-}
-/**
- * return obscured data as plain text
- *
- * @param string $str encoded data
- * @return string plain text
- */
-function conf_decodeString($str) {
- switch (substr($str,0,3)) {
- case '<b>' : return base64_decode(substr($str,3));
- case '<u>' : return convert_uudecode(substr($str,3));
- default: // not encode (or unknown)
- return $str;
- }
-}
-//Setup VIM: ex: et ts=2 enc=utf-8 :