/** * Returns the value of a setting from the web-adjustable admin config settings. * * WARNING true/false are stored as string, so when comparing you need to check e.g. * if (api_get_setting('course.show_navigation_menu') == 'true') //CORRECT * instead of * if (api_get_setting('course.show_navigation_menu') == true) //INCORRECT * @param string $variable The variable name * @return string * * @author Julio Montoya */ function api_get_setting($variable) { $variable = trim($variable); switch ($variable) { case 'server_type': $test = ['dev', 'test']; $environment = Container::getEnvironment(); if (in_array($environment, $test)) { return 'test'; } return 'prod'; case 'stylesheets': $variable = 'platform.theme'; default: return Container::getSettingsManager()->getSetting($variable); } global $_setting; if ($variable == 'header_extra_content') { $filename = api_get_path(SYS_PATH) . api_get_home_path() . 'header_extra_content.txt'; if (file_exists($filename)) { $value = file_get_contents($filename); return $value; } else { return ''; } } if ($variable == 'footer_extra_content') { $filename = api_get_path(SYS_PATH) . api_get_home_path() . 'footer_extra_content.txt'; if (file_exists($filename)) { $value = file_get_contents($filename); return $value; } else { return ''; } } $value = null; if (is_null($key)) { $value = isset($_setting[$variable]) && $_setting[$variable] != '' ? $_setting[$variable] : null; } else { if (isset($_setting[$variable][$key])) { $value = $_setting[$variable][$key]; } } return $value; }