1*da0ae2c0SAndreas Gohr<?php 2*da0ae2c0SAndreas Gohr 3*da0ae2c0SAndreas Gohrclass DokuWikiFarmCore { 4*da0ae2c0SAndreas Gohr /** 5*da0ae2c0SAndreas Gohr * @var array The default config - changed by loadConfig 6*da0ae2c0SAndreas Gohr */ 7*da0ae2c0SAndreas Gohr protected $config = array ( 8*da0ae2c0SAndreas Gohr 'notfound' => array( 9*da0ae2c0SAndreas Gohr 'show' => 'farmer', 10*da0ae2c0SAndreas Gohr 'url' => '' 11*da0ae2c0SAndreas Gohr ), 12*da0ae2c0SAndreas Gohr 'inherit' => array( 13*da0ae2c0SAndreas Gohr 'main' => 1, 14*da0ae2c0SAndreas Gohr 'acronyms' => 1, 15*da0ae2c0SAndreas Gohr 'entities' => 1, 16*da0ae2c0SAndreas Gohr 'interwiki' => 1, 17*da0ae2c0SAndreas Gohr 'license' => 1, 18*da0ae2c0SAndreas Gohr 'mime' => 1, 19*da0ae2c0SAndreas Gohr 'scheme' => 1, 20*da0ae2c0SAndreas Gohr 'smileys' => 1, 21*da0ae2c0SAndreas Gohr 'wordblock' => 1, 22*da0ae2c0SAndreas Gohr 'userstyle' => 0, 23*da0ae2c0SAndreas Gohr 'userscript' => 0 24*da0ae2c0SAndreas Gohr ) 25*da0ae2c0SAndreas Gohr ); 26*da0ae2c0SAndreas Gohr 27*da0ae2c0SAndreas Gohr /** 28*da0ae2c0SAndreas Gohr * DokuWikiFarmCore constructor. 29*da0ae2c0SAndreas Gohr * 30*da0ae2c0SAndreas Gohr * This initializes the whole farm 31*da0ae2c0SAndreas Gohr */ 32*da0ae2c0SAndreas Gohr public function __construct() { 33*da0ae2c0SAndreas Gohr $this->loadConfig(); 34*da0ae2c0SAndreas Gohr } 35*da0ae2c0SAndreas Gohr 36*da0ae2c0SAndreas Gohr /** 37*da0ae2c0SAndreas Gohr * @return array the current farm configuration 38*da0ae2c0SAndreas Gohr */ 39*da0ae2c0SAndreas Gohr public function getConfig() { 40*da0ae2c0SAndreas Gohr return $this->config; 41*da0ae2c0SAndreas Gohr } 42*da0ae2c0SAndreas Gohr 43*da0ae2c0SAndreas Gohr /** 44*da0ae2c0SAndreas Gohr * Loads the farm config 45*da0ae2c0SAndreas Gohr */ 46*da0ae2c0SAndreas Gohr protected function loadConfig() { 47*da0ae2c0SAndreas Gohr $ini = DOKU_INC . 'conf/farm.ini'; 48*da0ae2c0SAndreas Gohr if(!file_exists($ini)) return; 49*da0ae2c0SAndreas Gohr $config = parse_ini_file($ini, true); 50*da0ae2c0SAndreas Gohr foreach(array_keys($this->config) as $section) { 51*da0ae2c0SAndreas Gohr if(isset($config[$section])) { 52*da0ae2c0SAndreas Gohr $this->config[$section] = array_merge( 53*da0ae2c0SAndreas Gohr $this->config[$section], 54*da0ae2c0SAndreas Gohr $config[$section] 55*da0ae2c0SAndreas Gohr ); 56*da0ae2c0SAndreas Gohr } 57*da0ae2c0SAndreas Gohr } 58*da0ae2c0SAndreas Gohr } 59*da0ae2c0SAndreas Gohr 60*da0ae2c0SAndreas Gohr 61*da0ae2c0SAndreas Gohr} 62*da0ae2c0SAndreas Gohr 63*da0ae2c0SAndreas Gohr// initialize it globally 64*da0ae2c0SAndreas Gohrglobal $FARMCORE; 65*da0ae2c0SAndreas Gohr$FARMCORE = new DokuWikiFarmCore(); 66