private static function find_theme_config($themename, $settings, $parentscheck = true) {
        // We have to use the variable name $THEME (upper case) because that
        // is what is used in theme config.php files.

        if (!$dir = theme_config::find_theme_location($themename)) {
            return null;
        }

        $THEME = new stdClass();
        $THEME->name     = $themename;
        $THEME->dir      = $dir;
        $THEME->settings = $settings;

        global $CFG; // just in case somebody tries to use $CFG in theme config
        include("$THEME->dir/config.php");

        // verify the theme configuration is OK
        if (!is_array($THEME->parents)) {
            // parents option is mandatory now
            return null;
        } else {
            // We use $parentscheck to only check the direct parents (avoid infinite loop).
            if ($parentscheck) {
                // Find all parent theme configs.
                foreach ($THEME->parents as $parent) {
                    $parentconfig = theme_config::find_theme_config($parent, $settings, false);
                    if (empty($parentconfig)) {
                        return null;
                    }
                }
            }
        }

        return $THEME;
    }
private static function find_theme_config($themename, $settings, $parentscheck = true) {
        // We have to use the variable name $THEME (upper case) because that
        // is what is used in theme config.php files.

        if (!$dir = theme_config::find_theme_location($themename)) {
            return null;
        }

        $THEME = new stdClass();
        $THEME->name     = $themename;
        $THEME->dir      = $dir;
        $THEME->settings = $settings;

        global $CFG; // just in case somebody tries to use $CFG in theme config
        include("$THEME->dir/config.php");

        // verify the theme configuration is OK
        if (!is_array($THEME->parents)) {
            // parents option is mandatory now
            return null;
        } else {
            // We use $parentscheck to only check the direct parents (avoid infinite loop).
            if ($parentscheck) {
                // Find all parent theme configs.
                foreach ($THEME->parents as $parent) {
                    $parentconfig = theme_config::find_theme_config($parent, $settings, false);
                    if (empty($parentconfig)) {
                        return null;
                    }
                }
            }
        }

        return $THEME;
    }
private static function find_theme_config ( $ themename , $ settings , $ parentscheck = true ) { // We have to use the variable name $THEME (upper case) because that // is what is used in theme config.php files. if ( ! $ dir = theme_config :: find_theme_location ( $ themename ) ) { return null ; } $ THEME = new stdClass ( ) ; $ THEME -> name = $ themename ; $ THEME -> dir = $ dir ; $ THEME -> settings = $ settings ; global $ CFG ; // just in case somebody tries to use $CFG in theme config include ( "$THEME->dir/config.php" ) ; // verify the theme configuration is OK if ( ! is_array ( $ THEME -> parents ) ) { // parents option is mandatory now return null ; } else { // We use $parentscheck to only check the direct parents (avoid infinite loop). if ( $ parentscheck ) { // Find all parent theme configs. foreach ( $ THEME -> parents as $ parent ) { $ parentconfig = theme_config :: find_theme_config ( $ parent , $ settings , false ) ; if ( empty ( $ parentconfig ) ) { return null ; } } } } return $ THEME ; }
Loads the theme config from config.php file.

@param string $themename
@param stdClass $settings from config_plugins table
@param boolean $parentscheck true to also check the parents.    .
@return stdClass The theme configuration
Loads the theme config from config . php file .