mcramer
2012-08-21 147b6f7e9ed41f659065220e6c19860950a58235
interface/web/admin/system_config_edit.php
@@ -1,6 +1,6 @@
<?php
/*
Copyright (c) 2008, Till Brehm, projektfarm Gmbh
Copyright (c) 2008-2010, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -78,19 +78,28 @@
   }
   
   function onUpdateSave($sql) {
      global $app;
      global $app,$conf;
      
      if($_SESSION["s"]["user"]["typ"] != 'admin') die('This function needs admin priveliges');
      $app->uses('ini_parser,getconf');
      
      $section = $app->tform->getCurrentTab();
      
      $server_config_array = $app->getconf->get_global_config();
      $server_config_array[$section] = $app->tform->encode($this->dataRecord,$section);
      $new_config = $app->tform->encode($this->dataRecord,$section);
        if($section == 'sites' && $new_config['vhost_subdomains'] != 'y' && $server_config_array['vhost_subdomains'] == 'y') {
            // check for existing vhost subdomains, if found the mode cannot be disabled
            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostsubdomain'");
            if($check['cnt'] > 0) {
                $new_config['vhost_subdomains'] = 'y';
            }
        }
        $server_config_array[$section] = $new_config;
      $server_config_str = $app->ini_parser->get_ini_string($server_config_array);
      
      $sql = "UPDATE sys_ini SET config = '".$app->db->quote($server_config_str)."' WHERE sysini_id = 1";
      $app->db->query($sql);
      if($conf['demo_mode'] != true) $app->db->query($sql);
      /*
       * If we should use the domain-module, we have to insert all existing domains into the table
@@ -108,6 +117,13 @@
            "FROM web_domain";
         $app->db->query($sql);
      }
      // Maintenance mode
      if($server_config_array['misc']['maintenance_mode'] == 'y'){
         //print_r($_SESSION);
         //echo $_SESSION['s']['id'];
         $app->db->query("DELETE FROM sys_session WHERE session_id != '".$_SESSION['s']['id']."'");
      }
   }
   
}