root/alternc/trunk/bureau/class/config.php

Revision 1997, 4.3 kB (checked in by anarcat, 1 year ago)

fix a longstanding issue in AlternC: don't show translation links for
which AlternC is not translated

this is done by checking if the locales/LANG directory exists, so it's
not foolproof, but it's better than simply checking if the locale is
configured (which is still done).

a bit of code refactoring was done while i'm here

Line 
1 <?php
2 /*
3  $Id: config.php,v 1.12 2005/12/18 09:51:32 benjamin Exp $
4  ----------------------------------------------------------------------
5  AlternC - Web Hosting System
6  Copyright (C) 2002 by the AlternC Development Team.
7  http://alternc.org/
8  ----------------------------------------------------------------------
9  Based on:
10  Valentin Lacambre's web hosting softwares: http://altern.org/
11  ----------------------------------------------------------------------
12  LICENSE
13
14  This program is free software; you can redistribute it and/or
15  modify it under the terms of the GNU General Public License (GPL)
16  as published by the Free Software Foundation; either version 2
17  of the License, or (at your option) any later version.
18
19  This program is distributed in the hope that it will be useful,
20  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  GNU General Public License for more details.
23
24  To read the license please visit http://www.gnu.org/copyleft/gpl.html
25  ----------------------------------------------------------------------
26  Original Author of file: Benjamin Sonntag
27  Purpose of file: General configuration file for AlternC Desktop
28  ----------------------------------------------------------------------
29 */
30
31 /* Toutes les pages du bureau passent ici. On utilise une sémaphore pour
32    s'assurer que personne ne pourra accéder à 2 pages du bureau en même temps.
33 */
34
35 /*
36   Si vous voulez mettre le bureau en maintenance, décommentez le code ci-dessous
37   et mettez votre ip dans le IF pour que seule votre ip puisse accéder au bureau :
38 */
39
40 /*
41 if (getenv("REMOTE_ADDR")!="81.56.98.108") {
42   echo "Le bureau AlternC est en vacances jusqu'a minuit pour maintenance.<br>
43 Merci de revenir plus tard.";
44   exit();
45 }
46 */
47
48 // 1. Get a semaphore id for the alternc magic number (18577)
49 $alternc_sem = sem_get ( 18577 );
50 // 2. Declare the shutdown function, that release the semaphore
51 function alternc_shutdown() {
52   global $alternc_sem;
53   @sem_release( $alternc_sem );
54 }
55 // 3. Register the shutdown function
56 register_shutdown_function("alternc_shutdown");
57 // 4. Acquire the semaphore : with that process,
58 sem_acquire( $alternc_sem );
59
60 if (!get_magic_quotes_gpc()) {
61   echo "MAGIC QUOTES GPC IS DISABLED ! It's a bug in your php4 configuration, please fix it !!";
62   exit();
63 }
64 if (ini_get("safe_mode")) {
65   echo "SAFE MODE IS ENABLED for the web panel ! It's a bug in your php4 or apache configuration, please fix it !!";
66   exit();
67 }
68
69
70 /* PHPLIB inclusions : */
71 $root="/var/alternc/bureau/";
72 /* Server Domain Name */
73 $host=getenv("HTTP_HOST");
74
75 /* Global variables (AlternC configuration) */
76 require_once($root."class/local.php");
77
78 require_once($root."class/db_mysql.php");
79 require_once($root."class/functions.php");
80 require_once($root."class/variables.php");
81
82 // Redirection si appel à https://(!fqdn)/
83 if ($_SERVER["HTTPS"]=="on" && $host!=$L_FQDN) {
84   header("Location: https://$L_FQDN/");
85 }
86
87
88 // Classe héritée de la classe db de la phplib.
89 /**
90 * Class for MySQL management in the bureau
91 *
92 * This class heriting from the db class of the phplib manages
93 * the connection to the MySQL database.
94 */
95
96 class DB_system extends DB_Sql {
97   var $Host,$Database,$User,$Password;
98
99   /**
100   * Creator
101   */
102   function DB_system() {
103     global $L_MYSQL_HOST,$L_MYSQL_DATABASE,$L_MYSQL_LOGIN,$L_MYSQL_PWD;
104     $this->Host     = $L_MYSQL_HOST;
105     $this->Database = $L_MYSQL_DATABASE;
106     $this->User     = $L_MYSQL_LOGIN;
107     $this->Password = $L_MYSQL_PWD;
108   }
109 }
110
111 $db= new DB_system();
112
113 // Current User ID = the user whose commands are made on behalf of.
114 $cuid=0;
115
116
117 $classes=array();
118 /* CLASSES PHP4 : automatic include : */
119 $c=opendir($root."class/");
120 while ($di=readdir($c)) {
121   if (ereg("^m_(.*)\\.php$",$di,$match)) { // $
122     $name1="m_".$match[1];
123     $name2=$match[1];
124     $classes[]=$name2;
125     require_once($root."class/".$name1.".php");
126   }
127 }
128 closedir($c);
129 /* THE DEFAULT CLASSES ARE :
130    dom, ftp, mail, quota, bro, admin, mem, mysql, err
131 */
132
133
134 /* Language */
135 include_once("lang_env.php");
136
137 $mem=new m_mem();
138 $err=new m_err();
139
140 /* Check the User identity (if required) */
141 if (!defined('NOCHECK')) {
142   if (!$mem->checkid()) {
143     $error=$err->errstr();
144     include("index.php");
145     exit();
146   }
147 }
148
149 for($i=0;$i<count($classes);$i++) {
150   if ($classes[$i]!="mem" && $classes[$i]!="err") {
151     $name2=$classes[$i];
152     $name1="m_".$name2;
153     $$name2= new $name1();
154   }
155 }
156
157 ?>
158
Note: See TracBrowser for help on using the browser.