Subversion Repositories ALCASAR

Rev

Rev 2853 | Rev 2924 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2853 Rev 2887
1
<?php
1
<?php
2
# Welcome page (sysinfo)
2
# Welcome page (sysinfo)
3
# by Rexy
3
# by Rexy
4
// request database
4
// request database
5
function request ($texte) {
5
function request ($texte) {
6
		$strResult = 0;
6
		$strResult = 0;
7
		// Déclaration des paramètres de connexion
7
		// Déclaration des paramètres de connexion
8
		$host = "localhost";
8
		$host = "localhost";
9
		$DB_USER = "radius";
9
		$DB_USER = "radius";
10
		$DB_RADIUS = "radius";
10
		$DB_RADIUS = "radius";
11
		$radiuspwd = "";
11
		$radiuspwd = "";
12
		// Connexion au serveur
12
		// Connexion au serveur
13
		$mysqli = new mysqli($host, $DB_USER, $radiuspwd, $DB_RADIUS);
13
		$mysqli = new mysqli($host, $DB_USER, $radiuspwd, $DB_RADIUS);
14
		if ($texte == 'user') {$query = "SELECT UserName FROM userinfo";}
14
		if ($texte == 'user') {$query = "SELECT UserName FROM userinfo";}
15
		else { $query = "SELECT GroupName FROM radusergroup GROUP BY GroupName";}
15
		else { $query = "SELECT GroupName FROM radusergroup GROUP BY GroupName";}
16
		$result = $mysqli->query($query);
16
		$result = $mysqli->query($query);
17
		// Recuperation des resultats
17
		// Recuperation des resultats
18
		$strResult = $result->num_rows;
18
		$strResult = $result->num_rows;
19
		// Deconnexion de la base de donnees
19
		// Deconnexion de la base de donnees
20
		$mysqli->close();
20
		$mysqli->close();
21
		return $strResult;
21
		return $strResult;
22
 }
22
 }
23
 
23
 
24
// Internet test
24
// Internet test
25
function internetTest() {
25
function internetTest() {
26
	$host  = 'www.google.com';
26
	$host  = 'www.google.com';
27
	$host2 = 'www.alcasar.net';
27
	$host2 = 'www.alcasar.net';
28
	$port = 80;
28
	$port = 80;
29
 
29
 
30
	$sock = @fsockopen($host, $port, $errno, $errstr, 2);
30
	$sock = @fsockopen($host, $port, $errno, $errstr, 2);
31
	if ($sock) {
31
	if ($sock) {
32
		fclose($sock);
32
		fclose($sock);
33
		return true;
33
		return true;
34
	}
34
	}
35
 
35
 
36
	$sock = @fsockopen($host2, $port, $errno, $errstr, 2);
36
	$sock = @fsockopen($host2, $port, $errno, $errstr, 2);
37
	if ($sock) {
37
	if ($sock) {
38
		fclose($sock);
38
		fclose($sock);
39
		return true;
39
		return true;
40
	}
40
	}
41
 
41
 
42
	return false;
42
	return false;
43
}
43
}
44
 
44
 
45
// filtering test
45
// filtering test
46
function filtrageTest($file, $search_regex){
46
function filtrageTest($file, $search_regex){
47
	$pointeur = fopen($file,"r");
47
	$pointeur = fopen($file,"r");
48
	$result = false;
48
	$result = false;
49
	if ($pointeur)
49
	if ($pointeur)
50
		{
50
		{
51
		while (!feof($pointeur))
51
		while (!feof($pointeur))
52
			{
52
			{
53
				$ligne = fgets($pointeur);
53
				$ligne = fgets($pointeur);
54
				if (preg_match($search_regex, $ligne, $r))
54
				if (preg_match($search_regex, $ligne, $r))
55
				{
55
				{
56
				$result = true;
56
				$result = true;
57
				break;
57
				break;
58
				}
58
				}
59
			}
59
			}
60
		}
60
		}
61
	fclose($pointeur);
61
	fclose($pointeur);
62
	return $result;
62
	return $result;
63
}
63
}
64
 
64
 
65
$Language = 'en';
65
$Language = 'en';
66
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
66
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
67
	$Langue	  = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
67
	$Langue	  = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
68
	$Language = strtolower(substr(chop($Langue[0]), 0, 2));
68
	$Language = strtolower(substr(chop($Langue[0]), 0, 2));
69
	}
69
	}
70
if ($Language === 'fr') {
70
if ($Language === 'fr') {
-
 
71
	$locale_time = "fr_FR";
71
	$l_title = "Bienvenue dans l'ACC (ALCASAR Control Center)";
72
	$l_title = "Bienvenue dans l'ACC (ALCASAR Control Center)";
72
	$l_internet_link = "Connexion Internet";
73
	$l_internet_link = "Connexion Internet";
73
	$l_enable = "Active";
74
	$l_enable = "Active";
74
	$l_disable = "Désactivée";
75
	$l_disable = "Désactivée";
75
	$l_version = "Version instalée";
76
	$l_version = "Version instalée";
76
	$l_available = "Version disponible";
77
	$l_available = "Version disponible";
77
	$l_users = "Nombre d'utilisateurs / connectés";
78
	$l_users = "Nombre d'utilisateurs / connectés";
78
	$l_groups = "Nombre de groupes";
79
	$l_groups = "Nombre de groupes";
79
	$l_bl_version = "Date de la blacklist";
80
	$l_system_date = "Date du système";
80
}
81
}
81
else if ($Language === 'es') {
82
else if ($Language === 'es') {
-
 
83
	$locale_time = "es_ES";
82
	$l_title = "Bienvenido al ACC (Centro de Control de ALCASAR)";
84
	$l_title = "Bienvenido al ACC (Centro de Control de ALCASAR)";
83
	$l_internet_link = "Conexión a Internet";
85
	$l_internet_link = "Conexión a Internet";
84
	$l_enable = "Activo";
86
	$l_enable = "Activo";
85
	$l_disable = "Desactivado";
87
	$l_disable = "Desactivado";
86
	$l_version = "Versión instalada";
88
	$l_version = "Versión instalada";
87
	$l_available = "Versión disponible";
89
	$l_available = "Versión disponible";
88
	$l_users = "Número de usuarios / conectados";
90
	$l_users = "Número de usuarios / conectados";
89
	$l_groups = "Número de grupos";
91
	$l_groups = "Número de grupos";
90
	$l_bl_version = "Fecha de la lista negra";
92
	$l_system_date = "Fecha del sistema";
91
}
93
}
92
else {
94
else {
-
 
95
	$locale_time = "en_EN";
93
	$l_title = "Welcome in ACC (ALCASAR Control Center)";
96
	$l_title = "Welcome in ACC (ALCASAR Control Center)";
94
	$l_internet_link = "Internet connection";
97
	$l_internet_link = "Internet connection";
95
	$l_enable = "Enabled";
98
	$l_enable = "Enabled";
96
	$l_disable = "Disabled";
99
	$l_disable = "Disabled";
97
	$l_version = "Installed version";
100
	$l_version = "Installed version";
98
	$l_available = "Available version";
101
	$l_available = "Available version";
99
	$l_users = "Number of users / connected.";
102
	$l_users = "Number of users / connected.";
100
	$l_groups = "Number of groups";
103
	$l_groups = "Number of groups";
101
	$l_bl_version = "Blacklist date";
104
	$l_system_data = "System date";
102
}
105
}
103
?>
106
?>
104
<!DOCTYPE html>
107
<!DOCTYPE html>
105
<html>
108
<html>
106
<head>
109
<head>
107
	<link rel="stylesheet" href="/css/acc.css">
110
	<link rel="stylesheet" href="/css/acc.css">
108
</head>
111
</head>
109
<body>	
112
<body>	
110
	<div class="panel">
113
	<div class="panel">
111
		<div class="panel-header"><?= $l_title ?></div>
114
		<div class="panel-header"><?= $l_title ?></div>
112
		<div class ="panel-row">
115
		<div class ="panel-row">
113
			<div class="panel-cell">
116
			<div class="panel-cell">
114
<?
117
<?
115
// Read CONF_FILE
118
// Read CONF_FILE
116
define ('CONF_FILE', '/usr/local/etc/alcasar.conf');
119
define ('CONF_FILE', '/usr/local/etc/alcasar.conf');
117
$file_conf = fopen(CONF_FILE, 'r');
120
$file_conf = fopen(CONF_FILE, 'r');
118
if (!$file_conf) {
121
if (!$file_conf) {
119
	exit('Error opening the file '.CONF_FILE);}
122
	exit('Error opening the file '.CONF_FILE);}
120
while (!feof($file_conf)) {
123
while (!feof($file_conf)) {
121
	$buffer = fgets($file_conf, 4096);
124
	$buffer = fgets($file_conf, 4096);
122
	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
125
	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
123
		$tmp = explode('=', $buffer, 2);
126
		$tmp = explode('=', $buffer, 2);
124
		$conf[trim($tmp[0])] = trim($tmp[1]);
127
		$conf[trim($tmp[0])] = trim($tmp[1]);
125
	}
128
	}
126
}
129
}
127
fclose($file_conf);
130
fclose($file_conf);
128
// Get current version
131
// Get current version
129
$INSTALLEDVERSION = $conf['VERSION'];
132
$INSTALLEDVERSION = $conf['VERSION'];
-
 
133
setlocale (LC_TIME, $locale_time);
130
$VERSIONBL = date ("F d Y", filemtime ('/etc/e2guardian/lists/blacklists/README'));
134
$SYSTEM_DATE = strftime('%A, %e %B %Y, %T %Z');
131
$nb_users = request ('user');
135
$nb_users = request ('user');
132
$nb_groups  = request ('group');
136
$nb_groups  = request ('group');
133
$nb_online_users = exec ("sudo /usr/sbin/chilli_query list | cut -d\" \" -f5 | grep \"1\" | wc -l");
137
$nb_online_users = exec ("sudo /usr/sbin/chilli_query list | cut -d\" \" -f5 | grep \"1\" | wc -l");
134
if ((filtrageTest("/var/www/html/index.php","/network_pb = false/")) && (internetTest())) {
138
if ((filtrageTest("/var/www/html/index.php","/network_pb = false/")) && (internetTest())) {
135
	$internet_status =  "<img src='/images/state_ok.gif'>".$l_enable;
139
	$internet_status =  "<img src='/images/state_ok.gif'>".$l_enable;
136
	$version = dns_get_record("version.alcasar.net",DNS_TXT);
140
	$version = dns_get_record("version.alcasar.net",DNS_TXT);
137
	if (!empty($version)) {
141
	if (!empty($version)) {
138
		$AVAILABLEDVERSION = $version[0]['txt'];
142
		$AVAILABLEDVERSION = $version[0]['txt'];
139
	} else {
143
	} else {
140
		$AVAILABLEDVERSION = "-";
144
		$AVAILABLEDVERSION = "-";
141
	}
145
	}
142
} else {
146
} else {
143
	$internet_status =  "<img src='/images/state_error.gif'>".$l_disable;
147
	$internet_status =  "<img src='/images/state_error.gif'>".$l_disable;
144
	$AVAILABLEDVERSION = "-";
148
	$AVAILABLEDVERSION = "-";
145
}
149
}
146
echo $l_internet_link."	: ".$internet_status."<br>\n";
150
echo $l_internet_link."	: ".$internet_status."<br>\n";
147
echo $l_version."	: ".$INSTALLEDVERSION."<br>\n";
151
echo $l_version."	: ".$INSTALLEDVERSION."<br>\n";
148
echo $l_available."	: ".$AVAILABLEDVERSION."<br>\n";
152
echo $l_available."	: ".$AVAILABLEDVERSION."<br>\n";
149
echo "</div><div class=\"panel-cell\">";
153
echo "</div><div class=\"panel-cell\">";
150
echo $l_users."		: ".$nb_users." / ".$nb_online_users."<br>\n";
154
echo $l_users."		: ".$nb_users." / ".$nb_online_users."<br>\n";
151
echo $l_groups."	: ".$nb_groups."<br>\n";
155
echo $l_groups."	: ".$nb_groups."<br>\n";
152
echo $l_bl_version."	: ".$VERSIONBL."<br>\n";
156
echo $l_system_date."	: ".$SYSTEM_DATE."<br>\n";
153
?>
157
?>
154
			</div>
158
			</div>
155
		</div>
159
		</div>
156
	</div>
160
	</div>
157
	<div class="panel">
161
	<div class="panel">
158
		<iframe class="panel-iframe" src="phpsysinfo/">
162
		<iframe class="panel-iframe" src="phpsysinfo/">
159
		</iframe>
163
		</iframe>
160
	</div>
164
	</div>
161
</body>
165
</body>
162
</html>
166
</html>
163
 
167