3 // default framework settings for release
5 class Pman_Core_Config {
10 var $defaults = array( ); // override...
13 // note if other extended 'config's require more, then you porbably need to include these first.
14 var $required_extensions = array(
22 function init($ff, $cfg)
25 $cfg = $this->overlayDefaults($cfg);
27 if (!empty($this->memory_limit)) {
28 $mem = ini_get('memory_limit');
29 if (php_sapi_name() != 'cli' && $this->to_bytes($mem) < $this->to_bytes($this->memory_limit)) {
30 die("increase the memory limit settings to 2048M or more");
34 $this->verifyExtensions();
39 function to_bytes($val) {
41 $last = strtolower($val[strlen($val)-1]);
43 // The 'G' modifier is available since PHP 5.1.0
45 $val = substr($val, 0, -1);
48 $val = substr($val, 0, -1);
50 $val = substr($val, 0, -1);
57 function overlayDefaults($cfg)
59 if (isset($this->defaults['disable']) && is_array($this->defaults['disable']) ) {
60 $this->defaults['disable'] = implode(',', $this->defaults['disable']);
62 foreach($this->defaults as $k=>$v) {
65 if (!isset($cfg[$k])) {
70 foreach($v as $kk=>$vv) {
71 if (isset($cfg[$k][$kk])) {
79 if (!isset($cfg[$k])) {
86 function verifyExtensions()
90 foreach ($this->required_extensions as $e){
92 if(empty($e) || extension_loaded($e)) {
96 $error[] = "Error: Please install php extension: {$e}";
102 die(implode('\n', $error));