tbrehm
2008-08-03 e08297876e554e2a1b48bca50b44c26e7d755d7e
install/lib/install.lib.php
@@ -56,15 +56,34 @@
$FILE = realpath('../install.php');
//** Get distribution identifier
function get_distname() {
   $distname = $conf['distname'];
   $distname = '';
   //** Debian or Ubuntu
   if(file_exists('/etc/debian_version')) {
      if(trim(file_get_contents('/etc/debian_version')) == '4.0') {
         $distname = 'debian40';
         swriteln("Operating System: Debian 4.0 or compatible\n");
      }
      if(trim(file_get_contents('/etc/debian_version')) == 'lenny/sid') {
         $distname = 'debian40';
         swriteln("Operating System: Debian Lenny/Sid or compatible\n");
      }
   }
   //** Redhat
   elseif(file_exists("/etc/redhat_release")) {
   }
   return $distname;
}
function sread() {
    $fp=fopen('/dev/stdin', 'r');
    $input=fgets($fp, 255);
    fclose($fp);
    $input = fgets(STDIN);
    return rtrim($input);
}
@@ -77,8 +96,7 @@
}
function ilog($msg){
   $logfile = '/var/log/ispconfig_install.log';
     exec("echo `date` \"- [ISPConfig] - \"".$msg." >> ".$logfile);
     exec("echo `date` \"- [ISPConfig] - \"".$msg." >> ".ISPC_LOG_FILE);
}
function error($msg){
@@ -118,7 +136,7 @@
}
function mkdirs($strPath, $mode = '0755'){
   if(isset($strPath) && $strPath != ""){
   if(isset($strPath) && $strPath != ''){
      //* Verzeichnisse rekursiv erzeugen
      if(is_dir($strPath)){
         return true;
@@ -235,17 +253,17 @@
    $lines = explode("\n", $inhalt);
    if(!empty($lines)){
      foreach($lines as $line){
        if(stristr($line, "include ")){
          $include_file = str_replace("\n", "", trim(shell_exec("echo \"$line\" | awk '{print \$2}'")));
          if(substr($include_file,0,1) != "/"){
            $include_file = $httpd_root."/".$include_file;
        if(stristr($line, 'include ')){
          $include_file = str_replace("\n", '', trim(shell_exec("echo \"$line\" | awk '{print \$2}'")));
          if(substr($include_file,0,1) != '/'){
            $include_file = $httpd_root.'/'.$include_file;
          }
          if(is_file($include_file)){
            if($further_includes = find_includes($include_file)){
              $includes = array_merge($includes, $further_includes);
            }
          } else {
            if(strstr($include_file, "*")){
            if(strstr($include_file, '*')){
              $more_files = explode("\n", shell_exec("ls -l $include_file | awk '{print \$9}'"));
              if(!empty($more_files)){
                foreach($more_files as $more_file){
@@ -384,4 +402,42 @@
   wf($xinetd_conf, $contents);
}
//* Converts a ini string to array
function ini_to_array($ini) {
   $config = '';
   $ini = str_replace("\r\n", "\n", $ini);
   $lines = explode("\n", $ini);
   foreach($lines as $line) {
        $line = trim($line);
      if($line != '') {
         if(preg_match("/^\[([\w\d_]+)\]$/", $line, $matches)) {
            $section = strtolower($matches[1]);
         } elseif(preg_match("/^([\w\d_]+)=(.*)$/", $line, $matches) && $section != null) {
            $item = trim($matches[1]);
            $config[$section][$item] = trim($matches[2]);
         }
      }
   }
   return $config;
}
//* Converts a config array to a string
function array_to_ini($config_array = '') {
   if($config_array == '') $config_array = $this->config;
   $content = '';
   foreach($config_array as $section => $data) {
      $content .= "[$section]\n";
      foreach($data as $item => $value) {
         if($item != ''){
                $content .= "$item=$value\n";
            }
      }
      $content .= "\n";
   }
   return $content;
}
?>