diff --git a/lib/installlib.php b/lib/installlib.php
index 11e2ea902fa..1e495294000 100644
--- a/lib/installlib.php
+++ b/lib/installlib.php
@@ -118,10 +118,10 @@ function install_get_list_of_languages() {
 
     $languages = array();
 
-/// Get raw list of lang directories
+    // Get raw list of lang directories
     $langdirs = get_list_of_plugins('install/lang');
     asort($langdirs);
-/// Get some info from each lang
+    // Get some info from each lang
     foreach ($langdirs as $lang) {
         if ($lang == 'en') {
             continue;
@@ -139,10 +139,59 @@ function install_get_list_of_languages() {
             }
         }
     }
-/// Return array
+    // Return array
     return $languages;
 }
 
+/**
+ * Returns content of config.php file.
+ * @param moodle_database $database database instance
+ * @param object $cfg copy of $CFG
+ * @param bool $userealpath allows symbolic links in dirroot
+ * @return string
+ */
+function install_generate_configphp($database, $cfg, $userealpath=false) {
+    $configphp = '<?php  // Moodle Configuration File ' . "\r\n\r\n";
+
+    $configphp .= 'unset($CFG);'."\r\n";
+    $configphp .= '$CFG = new stdClass();'."\r\n\r\n"; // prevent PHP5 strict warnings
+
+    $dbconfig = $database->export_dbconfig();
+
+    foreach ($dbconfig as $key=>$value) {
+        $key = str_pad($key, 9);
+        $configphp .= '$CFG->'.$key.' = '.var_export($value, true).";\r\n";
+    }
+    $configphp .= "\r\n";
+
+    $configphp .= '$CFG->wwwroot   = '.var_export($cfg->wwwroot, true).";\r\n";
+
+    if ($userealpath) {
+        $dirroot = str_replace('\\', '/', $cfg->dirroot); // win32 fix
+        $dirroot = rtrim($dirroot, '/');  // no trailing /
+        $configphp .= '$CFG->dirroot   = realpath('.var_export($dirroot, true).");\r\n"; // fix for sym links
+    } else {
+        $dirroot = str_replace('\\', '/', $cfg->dirroot); // win32 fix
+        $dirroot = rtrim($dirroot, '/');  // no trailing /
+        $configphp .= '$CFG->dirroot   = '.var_export($dirroot, true).";\r\n";
+    }
+
+    $dataroot = str_replace('\\', '/', $cfg->dataroot); // win32 fix
+    $dataroot = rtrim($dataroot, '/');  // no trailing /
+    $configphp .= '$CFG->dataroot  = '.var_export($dataroot, true).";\r\n";
+
+    $configphp .= '$CFG->admin     = '.var_export($cfg->admin, true).";\r\n\r\n";
+
+    $configphp .= '$CFG->directorypermissions = 00777;  // try 02777 on a server in Safe Mode'."\r\n";
+    $configphp .= "\r\n";
+
+    $configphp .= 'require_once("$CFG->dirroot/lib/setup.php");'."\r\n\r\n";
+    $configphp .= '// There is no php closing tag in this file,'."\r\n";
+    $configphp .= '// it is intentional because it prevents trailing whitespace problems!'."\r\n";
+
+    return $configphp;
+}
+
 /**
  * Prints complete help page used during installation.
  * Does not return.