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(
21 function init($ff, $cfg)
24 $cfg = $this->overlayDefaults($cfg);
26 if (!empty($this->memory_limit)) {
27 $mem = ini_get('memory_limit');
28 if (php_sapi_name() != 'cli' && $this->to_bytes($mem) < $this->to_bytes($this->memory_limit)) {
29 die("increase the memory limit settings to 2048M or more");
33 $this->verifyExtensions();
38 function to_bytes($val) {
40 $last = strtolower($val[strlen($val)-1]);
42 // The 'G' modifier is available since PHP 5.1.0
44 $val = substr($val, 0, -1);
47 $val = substr($val, 0, -1);
49 $val = substr($val, 0, -1);
56 function overlayDefaults($cfg)
58 if (isset($this->defaults['disable']) && is_array($this->defaults['disable']) ) {
59 $this->defaults['disable'] = implode(',', $this->defaults['disable']);
61 foreach($this->defaults as $k=>$v) {
64 if (!isset($cfg[$k])) {
69 foreach($v as $kk=>$vv) {
70 if (isset($cfg[$k][$kk])) {
78 if (!isset($cfg[$k])) {
85 function verifyExtensions()
89 foreach ($this->required_extensions as $e){
91 if(empty($e) || extension_loaded($e)) {
95 $error[] = "Error: Please install php extension: {$e}";
101 die(implode('\n', $error));