Ticket #352: 080511_fix_local_config_override.1.diff

File 080511_fix_local_config_override.1.diff, 1.1 kB (added by rho, 2 months ago)
  • a/lib/elgglib.php

    old new  
    37733773    // this was originally in setup.php 
    37743774    if ($configs = get_records('datalists')) { 
    37753775        $localcfg = (array)$CFG; 
     3776        $forcedcfg = (array)get_manual_config(); 
    37763777        foreach ($configs as $config) { 
    37773778            if (!isset($localcfg[$config->name])) { 
    37783779                $localcfg[$config->name] = $config->value; 
    37793780            } else { 
    3780                 if ($localcfg[$config->name] != $config->value ) { 
     3781                if ($localcfg[$config->name] != $config->value && !in_array($config->name, array_keys($forcedcfg))) { 
    37813782                    // complain if the DB has a different 
    37823783                    // value than config.php does 
    37833784                    //error_log("\$CFG->{$config->name} in config.php ({$localcfg[$config->name]}) overrides database setting ({$config->value})"); 
     
    37953796        return $CFG; 
    37963797    } 
    37973798 
     3799} 
     3800 
     3801function get_manual_config() { 
     3802    $CFG = new Stdclass; 
     3803    include(dirname(dirname(__FILE__)) . '/config.php'); 
     3804    return (array)$CFG; 
    37983805} 
    37993806 
    38003807function guest_user() {