218 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | ||
| /*
 | ||
|  $Id: config.php,v 1.12 2005/12/18 09:51:32 benjamin Exp $
 | ||
|  ----------------------------------------------------------------------
 | ||
|  AlternC - Web Hosting System
 | ||
|  Copyright (C) 2002 by the AlternC Development Team.
 | ||
|  http://alternc.org/
 | ||
|  ----------------------------------------------------------------------
 | ||
|  Based on:
 | ||
|  Valentin Lacambre's web hosting softwares: http://altern.org/
 | ||
|  ----------------------------------------------------------------------
 | ||
|  LICENSE
 | ||
| 
 | ||
|  This program is free software; you can redistribute it and/or
 | ||
|  modify it under the terms of the GNU General Public License (GPL)
 | ||
|  as published by the Free Software Foundation; either version 2
 | ||
|  of the License, or (at your option) any later version.
 | ||
| 
 | ||
|  This program is distributed in the hope that it will be useful,
 | ||
|  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||
|  GNU General Public License for more details.
 | ||
| 
 | ||
|  To read the license please visit http://www.gnu.org/copyleft/gpl.html
 | ||
|  ----------------------------------------------------------------------
 | ||
|  Original Author of file: Benjamin Sonntag
 | ||
|  Purpose of file: General configuration file for AlternC Desktop
 | ||
|  ----------------------------------------------------------------------
 | ||
| */
 | ||
| 
 | ||
| define('DO_XHPROF_STATS', FALSE);
 | ||
| if (DO_XHPROF_STATS) require_once('/usr/share/alternc/panel/admin/xhprof_header.php');
 | ||
| 
 | ||
| // To enable the display of the alternc debug error, do the following :
 | ||
| // # touch /etc/alternc/alternc_display_php_error
 | ||
| if (file_exists('/etc/alternc/alternc_display_php_error')) {
 | ||
|   ini_set('display_errors', '1');
 | ||
| }
 | ||
| session_name('AlternC_Panel'); 
 | ||
| session_start();
 | ||
| 
 | ||
| /*
 | ||
|   Si vous voulez mettre le bureau en maintenance, d<>commentez le code ci-dessous
 | ||
|   et mettez votre ip dans le IF pour que seule votre ip puisse acc<63>der au bureau : 
 | ||
| */
 | ||
| 
 | ||
| /* * /
 | ||
| if (getenv("REMOTE_ADDR")!="127.0.0.1") {
 | ||
|   echo "Le bureau AlternC est en vacances jusqu'a minuit pour maintenance.<br>
 | ||
| Merci de revenir plus tard.";
 | ||
|   exit();
 | ||
| }
 | ||
| /* */
 | ||
| 
 | ||
| /* Toutes les pages du bureau passent ici. On utilise une s<>maphore pour 
 | ||
|    s'assurer que personne ne pourra acc<63>der <20> 2 pages du bureau en m<>me temps.
 | ||
| */
 | ||
| /* * /
 | ||
| // 1. Get a semaphore id for the alternc magic number (18577)
 | ||
| $alternc_sem = sem_get ( 18577 );
 | ||
| // 2. Declare the shutdown function, that release the semaphore
 | ||
| function alternc_shutdown() {
 | ||
|   global $alternc_sem;
 | ||
|   @sem_release( $alternc_sem );
 | ||
| }
 | ||
| // 3. Register the shutdown function 
 | ||
| register_shutdown_function("alternc_shutdown");
 | ||
| // 4. Acquire the semaphore : with that process, 
 | ||
| sem_acquire( $alternc_sem );
 | ||
| /* */
 | ||
| 
 | ||
| if (ini_get("safe_mode")) {
 | ||
|   echo "SAFE MODE IS ENABLED for the web panel ! It's a bug in your php or apache configuration, please fix it !!";
 | ||
|   exit();
 | ||
| }
 | ||
| 
 | ||
| // For people who want to authenticate with HTTP AUTH
 | ||
| if (isset($_GET['http_auth'])) $http_auth=strval($_GET['http_auth']);
 | ||
| if (isset($http_auth) && $http_auth) {
 | ||
|     if (empty($_SERVER['PHP_AUTH_USER']) || empty($_SERVER['PHP_AUTH_PW'])) {
 | ||
|         header('WWW-Authenticate: Basic realm="Test Authentication System"');
 | ||
|         header('HTTP/1.0 401 Unauthorized');
 | ||
| 	exit();
 | ||
|     }
 | ||
| }
 | ||
| if (!empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['PHP_AUTH_PW'])) {
 | ||
|   // Gruiiik
 | ||
|   $_REQUEST["username"]=$_SERVER['PHP_AUTH_USER'];
 | ||
|   $_REQUEST["password"]=$_SERVER['PHP_AUTH_PW'];
 | ||
|  }
 | ||
| 
 | ||
| 
 | ||
| $help_baseurl="http://www.aide-alternc.org/";
 | ||
| 
 | ||
| /* Server Domain Name */
 | ||
| $host=getenv("HTTP_HOST");
 | ||
| 
 | ||
| /* Global variables (AlternC configuration) */
 | ||
| require_once(dirname(__FILE__)."/local.php");
 | ||
| 
 | ||
| // Define constants from vars of /etc/alternc/local.sh
 | ||
| // The you can't choose where is the AlternC Panel 
 | ||
| define("DEFAULT_PASS_SIZE", 8);
 | ||
| define('ALTERNC_MAIL',     "$L_ALTERNC_MAIL");
 | ||
| define('ALTERNC_HTML',     "$L_ALTERNC_HTML");
 | ||
| if(isset($L_ALTERNC_LOGS_ARCHIVE))
 | ||
|   define('ALTERNC_LOGS_ARCHIVE',  "$L_ALTERNC_LOGS_ARCHIVE");
 | ||
| define('ALTERNC_LOGS',     "$L_ALTERNC_LOGS");
 | ||
| define('ALTERNC_PANEL',    "/usr/share/alternc/panel");
 | ||
| define('ALTERNC_LOCALES',  ALTERNC_PANEL."/locales");
 | ||
| define('ALTERNC_LOCK_JOBS', '/var/run/alternc/jobs-lock');
 | ||
| define('ALTERNC_LOCK_PANEL', '/var/lib/alternc/panel/nologin.lock');
 | ||
| define('ALTERNC_APACHE2_GEN_TMPL_DIR', '/etc/alternc/templates/apache2/');
 | ||
| define('ALTERNC_VHOST_DIR',"/var/lib/alternc/apache-vhost/");
 | ||
| define('ALTERNC_VHOST_FILE',ALTERNC_VHOST_DIR."vhosts_all.conf");
 | ||
| define('ALTERNC_VHOST_MANUALCONF',ALTERNC_VHOST_DIR."manual/");
 | ||
| 
 | ||
| 
 | ||
| /* PHPLIB inclusions : */
 | ||
| $root=ALTERNC_PANEL."/";
 | ||
| 
 | ||
| require_once($root."/class/db_mysql.php");
 | ||
| require_once($root."/class/functions.php");
 | ||
| 
 | ||
| // Redirection si appel <20> https://(!fqdn)/
 | ||
| if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"]=="on" && $host!=$L_FQDN) {
 | ||
|   header("Location: https://$L_FQDN/");
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // Classe h<>rit<69>e de la classe db de la phplib.
 | ||
| /**
 | ||
| * Class for MySQL management in the bureau 
 | ||
| *
 | ||
| * This class heriting from the db class of the phplib manages
 | ||
| * the connection to the MySQL database.
 | ||
| */
 | ||
| 
 | ||
| class DB_system extends DB_Sql {
 | ||
|   var $Host = null;
 | ||
|   var $Database = null;
 | ||
|   var $User = null; 
 | ||
|   var $Password = null;
 | ||
| 
 | ||
|   /**
 | ||
|   * Creator
 | ||
|   */
 | ||
|   function DB_system() {
 | ||
|     global $L_MYSQL_HOST,$L_MYSQL_DATABASE,$L_MYSQL_LOGIN,$L_MYSQL_PWD;
 | ||
|     $this->Host     = $L_MYSQL_HOST;
 | ||
|     $this->Database = $L_MYSQL_DATABASE;
 | ||
|     $this->User     = $L_MYSQL_LOGIN;
 | ||
|     $this->Password = $L_MYSQL_PWD;
 | ||
|   }
 | ||
| }
 | ||
| 
 | ||
| $db= new DB_system();
 | ||
| 
 | ||
| // Current User ID = the user whose commands are made on behalf of.
 | ||
| $cuid=0;
 | ||
| 
 | ||
| 
 | ||
| $classes=array();
 | ||
| /* CLASSES PHP : automatic include : */
 | ||
| foreach ( glob( $root."class/m_*.php") as $di ) {
 | ||
|   if (preg_match("#${root}class/m_(.*)\\.php$#",$di,$match)) { // $
 | ||
|     $classes[]=$match[1];
 | ||
|     require_once($di);
 | ||
|   }
 | ||
| }
 | ||
| /* THE DEFAULT CLASSES ARE :
 | ||
|    dom, ftp, mail, quota, bro, admin, mem, mysql, err, variables
 | ||
| */
 | ||
| 
 | ||
| // Load file for the system class.
 | ||
| // Those class will not be build by default.
 | ||
| // They may contain forbidden action for the panel, for example: exec, system
 | ||
| // or files operations
 | ||
| // We can imagine load those class only for command-line scripts.
 | ||
| foreach ( glob( $root."class/class_system_*.php") as $fcs ) {
 | ||
|   if (is_readable($fcs)) require_once($fcs);
 | ||
| }
 | ||
| 
 | ||
| /* Language */
 | ||
| include_once("lang_env.php");
 | ||
| 
 | ||
| $variables=new m_variables();
 | ||
| $mem=new m_mem();
 | ||
| $err=new m_err();
 | ||
| $authip=new m_authip();
 | ||
| $hooks=new m_hooks();
 | ||
| 
 | ||
| /* Check the User identity (if required) */
 | ||
| if (!defined('NOCHECK')) {
 | ||
|   if (!$mem->checkid()) {
 | ||
|     $error=$err->errstr();
 | ||
|     include("$root/admin/index.php");
 | ||
|     exit();
 | ||
|   }
 | ||
| } 
 | ||
| 
 | ||
| for($i=0;$i<count($classes);$i++) {
 | ||
|   $name2=$classes[$i];
 | ||
|   if (isset($$name2)) continue; // for already instancied class like mem, err or authip
 | ||
|   $name1="m_".$name2;
 | ||
|   $$name2= new $name1();
 | ||
| }
 | ||
| 
 | ||
| $oldid=intval(isset($_COOKIE['oldid'])?$_COOKIE['oldid']:'');
 | ||
| $isinvited=false;
 | ||
| if ($admin->enabled) $isinvited=true;
 | ||
| 
 | ||
| if ($oldid && $oldid!=$cuid) {
 | ||
|   $isinvited=true;
 | ||
| }
 | ||
| 
 | ||
| ?>
 |