Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 719 → Rev 720

/web/admin/network.php
137,9 → 137,11
*********************************************************************/
define ("ALCASAR_CHILLI", "/etc/chilli.conf");
//define ("ALCASAR_CONF_FILE", "/usr/local/etc/alcasar.conf");
define ("ALCASAR_CONF_FILE", "includes/alcasar.conf");
define ("ALCASAR_ETHERS", "/usr/local/etc/alcasar-ethers");
define ("ALCASAR_DNS_NAME", "/usr/local/etc/alcasar-dns-name");
define ("ALCASAR_CONF_FILE", "includes/alcasar.conf"); // uniquement pour le développement
//define ("ALCASAR_ETHERS", "/usr/local/etc/alcasar-ethers");
define ("ALCASAR_ETHERS", "includes/alcasar-ethers"); // uniquement pour le développement
//define ("ALCASAR_DNS_NAME", "/usr/local/etc/alcasar-dns-name");
define ("ALCASAR_DNS_NAME", "includes/alcasar-dns-name"); // uniquement pour le développement
 
/********************************************************************
* TEST DES FICHIERS DE CONFIGURATION *
154,7 → 156,6
if (!file_exists(ALCASAR_CONF_FILE)){
exit("Fichier de configuration ".ALCASAR_CONF_FILE." non présent");
}
/*
if (!file_exists(ALCASAR_ETHERS)){
exit("Fichier de configuration ".ALCASAR_ETHERS." non présent");
}
170,7 → 171,6
if (!is_readable(ALCASAR_DNS_NAME)){
exit("Vous n'avez pas les droits de lecture sur le fichier ".ALCASAR_DNS_NAME);
}
*/
 
/********************************************************************
* PARSING DES FICHIERS DE CONFIGURATION *
189,6 → 189,16
$alcasar_conf[trim($tmp[0])] = trim($tmp[1]);
}
}
 
function CIDRToNetmask($test){
// FONCTION A CREER
return "255.255.255.0";
}
 
$PUBLIC_IP = explode("/",$alcasar_conf["PUBLIC_IP"]);
$PUBLIC_IP_NETMASK = CIDRToNetmask($PUBLIC_IP[1]);
$PRIVATE_IP = explode("/",$alcasar_conf["PRIVATE_IP"]);
$PRIVATE_IP_NETMASK = CIDRToNetmask($PRIVATE_IP[1]);
/*
chilli parser
*/
208,10 → 218,15
/*
dnsname parser
*/
/*
 
$lines = file(ALCASAR_DNS_NAME);
$dnsadresse = array();
$dnsadresse['address'] = array();
$dnsadresse['cname'] = array();
$dnsadresse['domain'] = array();
$n = 0;
$m = 0;
$o = 0;
foreach($lines as $line)
{
if (preg_match('/^[[:space:]]*#/',$line)) // on ignore les commentaires (ligne débutant par #)
220,25 → 235,55
if (strpos($line,"/")!==false){
$tmp = explode("/",$line);
if (count($tmp) == 3) {
$dnsadresse[$n]['DNSNAME'] = $tmp[1];
$dnsadresse[$n]['IPADDR'] = $tmp[2];
$dnsadresse['address'][$n]['DNSNAME'] = $tmp[1];
$dnsadresse['address'][$n]['IPADDR'] = $tmp[2];
$n++;
}
}
}
if (preg_match("/^(cname=)/", trim($line))){ // on parse toutes les lignes commencant par "cname="
if (strpos($line,"=")!==false){
$tmp = explode("=",$line);
if (count($tmp) == 2) {
if (strpos($tmp[1],",")!==false){
$tmp = explode(",",$tmp[1]);
if (count($tmp) == 2) {
$dnsadresse['cname'][$m]['ALIAS'] = $tmp[0];
$dnsadresse['cname'][$m]['HOST'] = $tmp[1];
$m++;
}
}
}
}
}
if (preg_match("/^(domain=\/)/", trim($line))){ // on parse toutes les lignes commencant par "domain="
if (strpos($line,"/")!==false){
$tmp = explode("/",$line);
if (count($tmp) == 3) {
$dnsadresse['domain'][$o]['DOMAIN'] = $tmp[1];
$dnsadresse['domain'][$o]['IPADDR'] = $tmp[2];
$o++;
}
}
}
}
*/
$n = 0;
$m = 0;
$o = 0;
/*
ethers parser
BUG COOVA PRESENT : LE CHAMP DESCRIPTION EST TOUJOURS VIDE
BUG COOVA PRESENT : LE CHAMP DESCRIPTION EST TOUJOURS VIDE (bug à vérifier)
 
refaire une expression régulaire pour ne matcher que les lignes avec des mac, ou laisser tel quel afin de voir les erreurs dans le fichier de conf?
 
*/
/*
 
$lines = file(ALCASAR_ETHERS);
$ethers = array();
$n = 0;
foreach($lines as $line)
{
if (preg_match('^[[:space:]]*#',$line)) // on ignore les commentaires (ligne débutant par #)
if (preg_match('/^[[:space:]]*#/',$line)) // on ignore les commentaires (ligne débutant par #)
continue;
$tmp = preg_split("/\s/",$line,2);
if (count($tmp) == 2) {
256,7 → 301,22
$n++;
}
}
*/
 
 
// Fonction de test de connectivité internet
function internetTest(){
$host = "www.google.fr"; # Google Test
$port = "80";
//var $num; //non utilisé
//var $error; //non utilisé
if (! $sock = @fsockopen($host, $port, $num, $error, 5)) {
return false;
} else {
fclose($sock);
return true;
}
}
/********************************************************************
* AFFICHAGE DE LA PAGE *
*********************************************************************/
271,7 → 331,9
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/ui-lightness/jquery-ui-1.8.10.custom.css">
<!-- include custom page CSS -->
<style type="text/css">
 
.tablewidth {
width:550px;
}
</style>
<!-- include JQUERY -->
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script>
284,7 → 346,157
// Tabs
$('#tabs').tabs();
$( "button, input:submit, input:button, input:reset").button();
// NetMask-CIDR for all network interfaces
$('#WAN-cidr').change(function () {
$('#WAN-mask').val(CIDRToNetmask($('#WAN-cidr').val()));
});
$('#WAN-mask').change(function () {
$('#WAN-cidr').val(netmaskToCIDR($('#WAN-mask').val()));
});
$('#LAN-cidr').change(function () {
$('#LAN-mask').val(CIDRToNetmask($('#LAN-cidr').val()));
});
$('#LAN-mask').change(function () {
$('#LAN-cidr').val(netmaskToCIDR($('#LAN-mask').val()));
});
 
});
 
function h_fillbitsfromleft(num)
{
/*
author : Guido Socher (script from tuxgraphics.org)
*/
if (num >= 8 ){
return(255);
}
bitpat=0xff00;
while (num > 0){
bitpat=bitpat >> 1;
num--;
}
return(bitpat & 0xff);
}
function h_countbitsfromleft(num)
{
/*
author : Guido Socher (script from tuxgraphics.org)
*/
if (num == 255 ){
return(8);
}
i = 0;
bitpat=0xff00;
while (i < 8){
if (num == (bitpat & 0xff)){
return(i);
}
bitpat=bitpat >> 1;
i++;
}
return(Number.NaN);
}
function netmaskToCIDR(mask){
//test netmask
if (!isNetMask(mask)) return false;
//calculate CIDR
var bits = mask.split('.');
sumofbits=0;
for(bit in bits){
tmpvar = parseInt(bits[bit],10);
if (isNaN(tmpvar)){
return false;
}
bitsfromleft=h_countbitsfromleft(tmpvar);
if (isNaN(bitsfromleft)){
return false;
}
sumofbits+=bitsfromleft;
}
//return CIDR
return sumofbits;
}
function isIpV4(ip){
var bits = ip.split('.');
var regEx = /[^0-9]/;
if (bits.length !=4){
return false;
}
for(bit in bits){
if ((bits[bit]=='')||(bits[bit].length>3)||(regEx.test(bits[bit]))){
return false;
}
}
if (parseInt(bits[0],10)==0){
return false;
}
return true;
}
function isNetMask(mask){
var bits = mask.split('.');
var regEx = /[^0-9]/;
if (bits.length !=4)
{
return false;
}
for(bit in bits){
if ((bits[bit]=='')||(bits[bit].length>3)||(regEx.test(bits[bit]))){
return false;
}
}
if (parseInt(bits[0],10) != 255){
if ((parseInt(bits[1],10) != 0)) return false;
if ((parseInt(bits[2],10) != 0)) return false;
if ((parseInt(bits[3],10) != 0)) return false;
}
if (parseInt(bits[1],10) != 255){
if ((parseInt(bits[2],10) != 0)) return false;
if ((parseInt(bits[3],10) != 0)) return false;
}
if (parseInt(bits[2],10) != 255){
if ((parseInt(bits[3],10) != 0)) return false;
}
return true;
}
 
function CIDRToNetmask(cidr){
//test CIDR
//format : 0 < cidr < 33
cidr = parseInt(cidr,10);
if ((isNaN(cidr))||(cidr > 32)||(cidr < 0)) return false;
//calculate Netmask
bit1 = "";
bit2 = "";
bit3 = "";
bit4 = "";
if (cidr<=8){
bit1 = h_fillbitsfromleft(cidr);
bit2 = "0";
bit3 = "0";
bit4 = "0";
} else if (cidr<=16){
bit1 = "255";
bit2 = h_fillbitsfromleft(cidr-8);
bit3 = "0";
bit4 = "0";
} else if (cidr<=24){
bit1 = "255";
bit2 = "255";
bit3 = h_fillbitsfromleft(cidr-16);
bit4 = "0";
} else if (cidr<=32){
bit1 = "255";
bit2 = "255";
bit3 = "255";
bit4 = h_fillbitsfromleft(cidr-24);
} else {
return false;
}
//return Netmask
return bit1+"."+bit2+"."+bit3+"."+bit4
}
</script>
</head>
<body>
293,13 → 505,16
<li><a href="#tabs-wan"><?php echo $l_wan; ?></a></li>
<li><a href="#tabs-lan"><?php echo $l_lan; ?></a></li>
<li><a href="#tabs-dns-local"><?php echo $l_local_dns; ?></a></li>
<li><a href="#tabs-dhcp"><?php echo $l_dhcp; ?></a></li>
<li><a href="#tabs-dhcp"><?php echo $l_dhcp; ?> et réseravation IP</a></li>
<!--
<li><a href="#tabs-route"><?php echo $l_route; ?></a></li>
<li><a href="#tabs-filter">Filtrage MAC</a></li>
-->
</ul>
<!-- -->
<div id="tabs-wan">
<form method="post" name="form_wan" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table class="ui-widget ui-widget-content">
<table class="ui-widget ui-widget-content tablewidth">
<thead>
<tr class="ui-widget-header"><th colspan="2"><?php echo $l_internet_title; ?></th></tr>
</head>
306,14 → 521,13
<tbody>
<tr><td><?php echo $l_state; ?> :</td>
<td><?php
/*
if (InternetTest()){
echo " <img src='../images/state_ok.gif'> $l_enable";
$IP_PUB = exec ("wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1");}
else {
echo " <img src='../images/state_error.gif'> $l_disable";
$IP_PUB = "-.-.-.-";}
*/
echo " <img src='../images/state_ok.gif'> $l_enable";
$IP_PUB = exec ("wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1");}
else {
echo " <img src='../images/state_error.gif'> $l_disable";
$IP_PUB = "-.-.-.-";
}
?>
</td></tr>
<tr><td><?php echo $l_ip_public; ?> :</td><td><?php //echo $IP_PUB; ?></td></tr>
321,13 → 535,11
<tr class="ui-widget-header"><th colspan="2"><?php echo $l_eth0_title; ?></th></tr>
<tr><td><?php echo $l_ip; ?> :</td>
<td>
<input type="text" name="WAN-ip" id="WAN-ip" value="<?php echo $alcasar_conf["PUBLIC_IP"]; ?>" class="text">
<input type="text" name="WAN-ip" id="WAN-ip" value="<?php echo $PUBLIC_IP[0]; ?>" class="text"> /<input type="text" name="WAN-cidr" id="WAN-cidr" value="<?php echo $PUBLIC_IP[1]; ?>" class="text" size="2" maxlength="2">
</td>
</tr>
<tr><td><?php echo $l_mask;
$WAN_mask="en cour";
?> :</td><td>
<input type="text" name="WAN-mask" id="WAN-mask" value="<?php echo $WAN_mask; ?>" class="text">
<tr><td><?php echo $l_mask; ?> :</td><td>
<input type="text" name="WAN-mask" id="WAN-mask" value="<?php echo $PUBLIC_IP_NETMASK ; ?>" class="text">
</td></tr>
<tr><td><?php echo $l_gateway; ?> :</td><td>
<input type="text" name="WAN-gateway" id="WAN-gateway" value="<?php echo $alcasar_conf["GW"]; ?>" class="text">
346,13 → 558,13
</div>
<div id="tabs-lan">
<form method="post" name="form_lan" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table class="ui-widget ui-widget-content">
<table class="ui-widget ui-widget-content tablewidth">
<thead>
<tr class="ui-widget-header"><th colspan="2"><?php echo $l_eth1_title; ?></th></tr>
</thead>
<tbody>
<tr><td><?php echo $l_ip; ?> :</td><td><input type="text" name="eth0-ip" id="eth0-ip" value="<?php echo $alcasar_conf["PRIVATE_IP"]; ?>" class="text"></td></tr>
<tr><td><?php echo $l_mask; ?> :</td><td><input type="text" name="eth0-ip" id="eth0-ip" value="EN COUR" class="text"></td></tr>
<tr><td><?php echo $l_ip; ?> :</td><td><input type="text" name="eth0-ip" id="eth0-ip" value="<?php echo $PRIVATE_IP[0]; ?>" class="text"> /<input type="text" name="LAN-cidr" id="LAN-cidr" value="<?php echo $PRIVATE_IP[1]; ?>" class="text" size="2" maxlength="2"></td></tr>
<tr><td><?php echo $l_mask; ?> :</td><td><input type="text" name="eth0-ip" id="eth0-ip" value="<?php echo $PRIVATE_IP_NETMASK; ?>" class="text"></td></tr>
<tr><td colspan ="2"><br /></td></tr>
<tr><td><input type="submit" value="Modifier" class="text"></td><td><br /></td></tr>
</tbody>
360,22 → 572,25
</form>
</div>
<div id="tabs-dns-local">
<table border="0" id="dns-local" class="ui-widget ui-widget-content">
<font color='red' size="8">Une liste par type d'entrée DNS (exemple actuel), ou un seul tableau global avec tri et colonne indiquant le type?</font>
<br />
<h2>Liste des hôtes DNS</h2>
<table border="0" id="dns-local" class="ui-widget ui-widget-content tablewidth">
<thead>
<tr class="ui-widget-header"><th><?php echo $l_ip_row_title; ?></th><th></th><th><?php echo $l_host_row_title; ?></th><th class="col_action" scope="col" colspan="2"></th></tr>
</thead>
<tbody>
<?php
//foreach ($dnsadresse as $dns_entry){
foreach ($dnsadresse['address'] as $dns_adress){
?>
<tr>
<td><?php echo "IP"; ?></td>
<td><?php echo $dns_adress['IPADDR']; ?></td>
<td> </td>
<td><?php echo "DOMAINE"; ?></td>
<td><?php echo $dns_adress['DNSNAME']; ?></td>
<td class="col_action" colspan="2"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/delete.png"></td>
</tr>
<?php
//}
}
?>
<tr>
<td>
393,6 → 608,72
</tr>
</tbody>
</table>
<h2>Liste des alias DNS</h2>
<table border="0" id="dns-local" class="ui-widget ui-widget-content tablewidth">
<thead>
<tr class="ui-widget-header"><th><?php echo $l_host_row_title; ?></th><th></th><th>Alias</th><th class="col_action" scope="col" colspan="2"></th></tr>
</thead>
<tbody>
<?php
foreach ($dnsadresse['cname'] as $dns_adress){
?>
<tr>
<td><?php echo $dns_adress['HOST']; ?></td>
<td> </td>
<td><?php echo $dns_adress['ALIAS']; ?></td>
<td class="col_action" colspan="2"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/delete.png"></td>
</tr>
<?php
}
?>
<tr>
<td>
<input type="text" value="" maxlength="100" size="30" class="text" name="alias_host_name" id="alias_host_name">
</td>
<td> </td>
<td>
<input type="text" value="" maxlength="100" size="30" class="text" name="alias_alias_name" id="alias_alias_name">
</td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/add.png"></td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/chart_organisation.png"></td>
</tr>
</tbody>
</table>
<h2>Liste des domaines locaux</h2>
<table border="0" id="dns-local" class="ui-widget ui-widget-content tablewidth">
<thead>
<tr class="ui-widget-header"><th>Adresse IP serveur DNS</th><th></th><th>Domaine</th><th class="col_action" scope="col" colspan="2"></th></tr>
</thead>
<tbody>
<?php
foreach ($dnsadresse['domain'] as $dns_adress){
?>
<tr>
<td><?php echo $dns_adress['IPADDR']; ?></td>
<td> </td>
<td><?php echo $dns_adress['DOMAIN']; ?></td>
<td class="col_action" colspan="2"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/delete.png"></td>
</tr>
<?php
}
?>
<tr>
<td>
<input type="text" readonly="readonly" value="192" maxlength="3" size="3" class="readonly" name="dhcp_static_ipaddr_p0" id="dhcp_static_ipaddr_p0">.
<input type="text" readonly="readonly" value="168" maxlength="3" size="3" class="readonly" name="dhcp_static_ipaddr_p1" id="dhcp_static_ipaddr_p1">.
<input type="text" readonly="readonly" value="182" maxlength="3" size="3" class="readonly" name="dhcp_static_ipaddr_p2" id="dhcp_static_ipaddr_p2">.
<input type="text" value="" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p3" id="dhcp_static_ipaddr_p3">
</td>
<td> </td>
<td>
<input type="text" value="" maxlength="100" size="50" class="text" name="dhcp_static_macaddr_p0" id="dhcp_static_macaddr_p0">
</td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/add.png"></td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/chart_organisation.png"></td>
</tr>
</tbody>
</table>
</div>
<div id="tabs-dhcp">
<div id="dhcp">
400,12 → 681,12
<h3 class="ui-widget-header"><?php echo $l_dhcp_server; ?></h3>
<form name="form_dhcp" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="dhcp_conf_form">
<table class="ui-widget ui-widget-content">
<table class="ui-widget ui-widget-content tablewidth">
<tr><td><?php echo $l_dhcp_activation; ?> :</td>
<td>
<select name="" class="text">
<option><?php echo $l_yes; ?></option>
<option<?php echo $l_no; ?>></option>
<option><?php echo $l_no; ?></option>
</select>
</td>
</tr>
425,9 → 706,9
<input type="text" value="" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p3" id="dhcp_static_ipaddr_p3">
</td>
</tr>
<tr><td>MTU :</td><td><input type="text" value="1500" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td><?php echo $l_dhcp_bail; ?> :</td><td><input type="text" value="600" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td>Grâce :</td><td><input type="text" value="60" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td>MTU :</td><td><input type="text" value="1500 (conf)" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td><?php echo $l_dhcp_bail; ?> :</td><td><input type="text" value="600 (conf)" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td>Grâce :</td><td><input type="text" value="60 (conf)" maxlength="8" size="8" class="text" name="" id=""></td></tr>
<tr><td colspan ="2"><br /></td></tr>
<tr><td><input type="submit" value="Modifier" class="text"></td><td></td></tr>
</table>
446,18 → 727,18
</thead>
<tbody>
<?php
//foreach ($ethers as $ip_static){
foreach ($ethers as $ip_static){
?>
<tr>
<td><?php //echo $ip_static['IP']; ?></td>
<td><?php echo $ip_static['IPADDR']; ?></td>
<td> </td>
<td><?php //echo $ip_static['MAC']; ?></td>
<td><?php echo $ip_static['MAC']; ?></td>
<td> </td>
<td><?php //echo $ip_static['DESCRIPTION']; ?></td>
<td><?php echo $ip_static['DESCRIPTION']; ?></td>
<td class="col_action" colspan="2"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/delete.png"></td>
</tr>
<?php
//}
}
?>
<tr>
<td>
485,6 → 766,7
</div>
</div>
</div>
<!--
<div id="tabs-route">
Alcasar est la passerelle par défaut des postes du réseau de consulation.<br />
Si un réseau est accessible par une autre passerelle présente sur le réseau de consultation vous pouvez le préciser içi.<br />
534,6 → 816,49
</tbody>
</table>
</div>
<div id="tabs-filter">
<h1>Filtrage MAC</h1>
<form>
<table><tr><td>Activation du filtrage</td><td><input type="radio">activé <input type="radio">désactivé</td></tr></table>
</form>
<h1>Adresses MAC autorisées</h1>
<form>
<table border="0" id="dhcp_static" class="ui-widget ui-widget-content">
<thead>
<tr class="ui-widget-header"><th>#</th><th><?php echo $l_mac_row_title; ?></th><th></th><th class="col_action" scope="col" colspan="2"></th></tr>
</thead>
<tbody>
<?php
//foreach ($ethers as $ip_static){
?>
<tr>
<td>1</td>
<td>08:00:55:DF:EE:00</td>
<td>station de toto</td>
<td class="col_action" colspan="2"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/delete.png"></td>
</tr>
<?php
//}
?>
<tr>
<td> </td>
<td>
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p0" id="dhcp_static_macaddr_p0">:
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p1" id="dhcp_static_macaddr_p1">:
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p2" id="dhcp_static_macaddr_p2">:
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p3" id="dhcp_static_macaddr_p3">:
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p4" id="dhcp_static_macaddr_p4">:
<input type="text" value="" maxlength="2" size="2" class="text" name="dhcp_static_macaddr_p5" id="dhcp_static_macaddr_p0">
</td>
<td><input type="text" value="" maxlength="20" size="20" class="text" name="dhcp_static_description" id="dhcp_static_description"></td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/add.png"></td>
<td class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/chart_organisation.png"></td>
</tr>
</tbody>
</table>
</form>
</div>
-->
</div>
</body>
</html>
/web/admin/welcome.php
5,7 → 5,8
*/
require_once('includes/defines.inc.php');
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php');
//require_once(ALCASAR_ADMIN_PATH_RESSOURCES.'/phpsysinfo/index.php');
require_once(ALCASAR_ADMIN_PATH_RESSOURCES.'/phpsysinfo/index.php');
/*
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0">
<html>
<head>
16,4 → 17,7
 
<h1>PAGE D'ACCUEIL</h1>
</body>
</html>
</html>
<?php
*/
?>
/web/admin/activity.php
41,6 → 41,8
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css">
<!-- include JQUERY UI CSS -->
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/ui-lightness/jquery-ui-1.8.10.custom.css">
<!-- include tablesorter CSS -->
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/tablesorter-blue/style.css">
<!-- include custom page CSS -->
<style type="text/css">
 
49,12 → 51,87
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script>
<!-- include JQUERY UI -->
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.pager.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.dataTables.min.js"></script>
<!-- include page javascript -->
<script type="text/javascript">
 
var table_data_lang = {
"sProcessing": "Patientez...",
"sLengthMenu": "Afficher _MENU_ enregistrements",
"sZeroRecords": "Aucun enregistrement disponible.",
"sInfo": "_START_ à _END_ sur _TOTAL_ enregistrements",
"sInfoEmpty": "0 à 0 sur 0 enregistrement",
"sInfoFiltered": "(Filtré à partir de _MAX_ enregistrements)",
"sInfoPostFix": "",
"sSearch": "Recherche : ",
"sUrl": "",
"oPaginate": {
"sFirst": "Première page",
"sPrevious": "Page précédente",
"sNext": "Page suivante",
"sLast": "Dernière page"
}
};
$(document).ready(function(){
// buttons
$( "button, input:submit, input:button, input:reset").button();
// Directories table
$('#activity_table').dataTable(
{
// fonction suivante permet d'avoir une colone numérotée dynamiquement (non triable)
"fnDrawCallback": function ( oSettings ) {
/* Need to redo the counters if filtered or sorted */
if ( oSettings.bSorted || oSettings.bFiltered )
{
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
{
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
}
}
},
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0 ] }
],
"aaSorting": [[ 1, 'asc' ]]
//fin
,"oLanguage": table_data_lang
});
});
</script>
</head>
<body>
<h1>ACTIVITY PAGE</h1>
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<span class="ui-dialog-title" id="ui-dialog-title-dialog">ACTIVITY PAGE</span>
</div>
<br />
Activité sur le réseau de consultation.<br />
Cette page est rafraichie toutes les 30 secondes.<br />
<font color="red">Fonctions prochainement disponibles.</font><br />
 
<div>
<table id="activity_table" cellspacing="1" class="tablesorter" border="0" width="100%">
<thead>
<tr>
<th width="20">#</th><th width="200">Adresse IP</th><th width="100">Adresse MAC</th><th>Usager</th><th>Actions</th>
</tr>
</thead>
<tfoot>
<tr>
<th width="20">#</th><th width="200">Adresse IP</th><th width="100">Adresse MAC</th><th>Usager</th><th>Actions</th>
</tr>
</tfoot>
<tbody>
<?php
/*
foreach ($groups as $group){
echo "<tr><td></td><td>".$group['name']."</td><td>".$group['nb_users']."</td><td><font color=red>ND</font></td></tr>";
}
*/
?>
</tbody>
</table>
</div>
</body>
</html>
/web/admin/configuration.php
78,21 → 78,44
<h2>Config système</h2>
Cette page permet de configurer divers options du système (mail admin, redirection globale des usagers, etc...)<br />
<br />
<table>
<tr><td>Nom du système</td><td></td></tr>
<tr><td>Adresse mail administrateur</td><td></td></tr>
<tr><td>Redirection des usagers</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
</div>
<div id="tabs2">
<h2>Configuration du portail captif</h2>
Cette page permet de configurer la page d'interception du portail captif (texte affiché, information usager, présenc d'une charte, etc...).<br />
<br />
<table>
<tr><td>Texte d'accueil</td><td></td></tr>
<tr><td>Afficher lien charte</td><td></td></tr>
<tr><td>Information aux usagers</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
</div>
<div id="tabs3">
<h2>Equipements de confiance</h2>
Antrez ici les adresses MAC des équipements autorisés à joindre Internet sans authentification.<br />
<h2>Auto-enregistrement</h2>
<br />
<table>
<tr><td>Auto-enregistrement</td><td>activé - désactivé</td></tr>
<tr><td>Adresse mail administrateur</td><td></td></tr>
<tr><td>Redirection des usagers</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
</div>
<div id="tabs4">
<h2>Maintenace système</h2>
Redémarage/arrêt du sytème, affichage "page de maintenance", etc...<br />
<br />
<table>
<tr><td>Maintenance du système</td><td>(désactive l'accès à internet et affiche une page "maintenance en cours")</td></tr>
<tr><td>Arrêter le système</td><td></td></tr>
<tr><td>Redémarer le système</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
</div>
</div>
</body>
/web/admin/login.php
3,12 → 3,60
 
 
*/
 
class alcasar_admin_user
{
private $user=null;
public function __construct($user=null)
{
}
public function login($password="")
{
if ($this->user == null) return false;
/*
interrogation base de données
*/
$this->session_start();
return true;
}
public function logout()
{
$this->session_stop();
$this->log();
}
public function is_connected()
{
return true;
}
private function log($event)
{
/*
LOGS de base de données
*/
}
private function session_start()
{
session_start();
}
private function session_stop()
{
// Suppresion des variables de sessions
// LOG
}
}
 
 
$test = new alcasar_admin_user();
echo $test->is_connected();
//Include files
require_once('includes/defines.inc.php');
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php');
require_once('mysql.class.php');
//require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php');
//require_once('mysql.class.php');
 
// récupération des variable $_POST (login, pwd)
// récupération des variable $_POST (login, pwd)
 
// test des variables $_POST
 
15,14 → 63,15
$login ="";
$pwd="";
// authentification (mysql)
/*
$database = new mysql($db_host,$db_user,$db_pwd,$db_name);
$sql_query=sprintf("SELECT UserName FROM userinfo WHERE id=%s AND UserName=%s",
GetSQLValueString($login, "text"), GetSQLValueString($password, "text"));
$result = $database->query($sql);
 
*/
// variables de session
 
// redirection (si authentifié)
// redirection (si authentifié)
 
// affichage du formulaire (si aucune authentification en cours)
 
60,7 → 109,7
</fieldset>
</form>
<font color="red">
Style et graphique à faire. Test et affichage des erreurs de saisie à ajouter.
Style et graphique à faire. Test et affichage des erreurs de saisie à ajouter.
</font>
</body>
</html>
/web/admin/includes/session.inc.php
2,6 → 2,12
/*
Cette page test si la session utilisateur est actives (utilisateur authentifié)
si PAS OK -> on redirige vers login.php
 
*/
/*
session_start();
if (!isset($_SESSION['alcasar_is_connected'])||($_SESSION['alcasar_is_connected']!==true)){
header("Location: $uri/login.php");
exit();
}
*/
?>
/web/admin/includes/alcasar-ethers
0,0 → 1,4
08-00-27-30-22-F4 192.168.182.130
08-00-27-30-22-F5 192.168.182.131
08-00-27-30-22-F6 192.168.182.132
08-00-27-30-22-F7 192.168.182.133
/web/admin/includes/alcasar-dns-name
0,0 → 1,22
# Here you can define your local domain name ( localdomain par défaut )
local=/localdomain/
 
## Ajouter une ligne par définition d'hôte sous la forme
## address=/<nomMachine>/<@IP>
## Exemple : address=/www.alcasar.info/88.191.66.83
address=/www.alcasar.info/88.191.66.83
address=/www2.alcasar.info/88.191.66.84
address=/www3.alcasar.info/88.191.66.85
 
## Ajouter une ligne par définition d'alias sous la forme
## cname=<nom_d'alias>,nom_réel
## Exemple cname=alcasouille,alcasar
cname=alcasouille,alcasar
cname=portailcaptif,alcasar
cname=intercept,alcasar
 
## Ajouter une ligne pour chaque domaine géré en interne ; normalement 1 seul devrait suffire en plus de localdomain
# Votre contrôleur de domaine interne :
## domain=/You.Domain.AD/<@IP_AD_server>
domain=/internet.monentreprise.fr/192.168.182.10
domain=/internet.monad.fr/192.168.182.11
/web/admin/includes/defines.inc.php
7,6 → 7,7
define('ALCASAR_SESSION', 1);
define( 'DS', DIRECTORY_SEPARATOR );
define( 'ALCASAR_ADMIN_PATH_ROOT', '/var/www/html/admin' );
//define( 'ALCASAR_ADMIN_PATH_ROOT', 'J:\EasyPHP-5.3.2\www\ALCASAR-RSO\admin' );
 
$parts = explode( DS, ALCASAR_ADMIN_PATH_ROOT );
$pos = strrpos($_SERVER["REQUEST_URI"], "/");
/web/admin/compteur.txt
1,0 → 0,0
121
129
/web/admin/directories.php
41,6 → 41,8
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css">
<!-- include JQUERY UI CSS -->
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/ui-lightness/jquery-ui-1.8.10.custom.css">
<!-- include tablesorter CSS -->
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/tablesorter-blue/style.css">
<!-- include custom page CSS -->
<style type="text/css">
 
49,12 → 51,92
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script>
<!-- include JQUERY UI -->
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.pager.js"></script>
<!-- include page javascript -->
<script type="text/javascript">
 
var table_data_lang = {
"sProcessing": "Patientez...",
"sLengthMenu": "Afficher _MENU_ enregistrements",
"sZeroRecords": "Aucun enregistrement disponible.",
"sInfo": "_START_ à _END_ sur _TOTAL_ enregistrements",
"sInfoEmpty": "0 à 0 sur 0 enregistrement",
"sInfoFiltered": "(Filtré à partir de _MAX_ enregistrements)",
"sInfoPostFix": "",
"sSearch": "Recherche : ",
"sUrl": "",
"oPaginate": {
"sFirst": "Première page",
"sPrevious": "Page précédente",
"sNext": "Page suivante",
"sLast": "Dernière page"
}
};
$(document).ready(function(){
// buttons
$( "button, input:submit, input:button, input:reset").button();
// Directories table
$('#directories_table').dataTable(
{
// fonction suivante permet d'avoir une colone numérotée dynamiquement (non triable)
"fnDrawCallback": function ( oSettings ) {
/* Need to redo the counters if filtered or sorted */
if ( oSettings.bSorted || oSettings.bFiltered )
{
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
{
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
}
}
},
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0 ] }
],
"aaSorting": [[ 1, 'asc' ]]
//fin
,"oLanguage": table_data_lang
});
});
</script>
</head>
<body>
<h1>DIRECTORIES PAGE</h1>
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<span class="ui-dialog-title" id="ui-dialog-title-dialog">DIRECTORIES PAGE</span>
</div>
<br />
Page de configuration des annuaires de comptes (usagers/groupes). Par défaut annuaire local (MYSQL). Possibilité d'ajouter 1 ou plusieurs annuaire LDAP (LDAP standart ou AD).<br />
Possibilité d'utiliser un annuaire active directorie en mode natif (samba/kerberos).<br />
<font color="red">Fonctions prochainement disponibles.</font><br />
<div style="float:right;">
<form name="newDirectorieform">
<input type="button" value="Nouvel annuaire">
</form>
</div>
<br><br><br>
<div>
<table id="directories_table" cellspacing="1" class="tablesorter" border="0" width="100%">
<thead>
<tr>
<th width="20">#</th><th width="200">Nom</th><th width="100">Type</th><th>Description</th>
</tr>
</thead>
<tfoot>
<tr>
<th width="20">#</th><th width="200">Nom</th><th width="100">Type</th><th>Description</th>
</tr>
</tfoot>
<tbody>
<tr><td>1</td><td>Local</td><td>Local</td><td>Annuaire de comptes par défaut</td></tr>
<?php
/*
foreach ($groups as $group){
echo "<tr><td></td><td>".$group['name']."</td><td>".$group['nb_users']."</td><td><font color=red>ND</font></td></tr>";
}
*/
?>
</tbody>
</table>
</div>
</body>
</html>