/web/admin/network.php |
---|
3,12 → 3,268 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/* |
Cette section met à jour la configuration réseau d'alcasar d'Alcasar |
*/ |
print_r($_REQUEST); |
/* |
Mise à jour des paramètres WAN |
*/ |
/* |
Mise à jour des paramètres LAN |
*/ |
/* |
Mise à jour des paramètres DNS |
*/ |
/* |
Mise à jour des paramètres DHCP |
*/ |
/* |
Mise à jour des ROUTE |
*/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
# Choice of language |
$Language = 'en'; |
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ |
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); |
$Language = strtolower(substr(chop($Langue[0]),0,2)); } |
if($Language == 'fr'){ |
$l_network_title = "Configuration réseau"; |
$l_ip = "@IP/CIDR"; |
$l_mask = "Masque"; |
$l_gateway = "Passerelle"; |
$l_dns = "DNS"; |
$l_yes = "OUI"; |
$l_no = "NON"; |
$l_ip_row_title = "Adresse IP"; |
$l_host_row_title = "Nom d'hôte"; |
$l_mac_row_title = "Adresse MAC"; |
$l_description_row_title = "Description"; |
//tabs-wan |
$l_wan = "WAN"; |
$l_enable = "actif"; |
$l_disable = "inactif"; |
$l_internet_title = "Internet"; |
$l_ip_public = "@IP public"; |
$l_state = "Etat Internet"; |
$l_eth0_title = "ETH0 : carte réseau connecté vers Internet"; |
//tabs-lan |
$l_lan = "LAN"; |
$l_eth1_title = "ETH1 : carte réseau connecté sur le réseau de consultation"; |
//tabs-dns-local |
$l_local_dns = "DNS local"; |
//tabs-dhcp |
$l_dhcp = "DHCP"; |
$l_dhcp_server = "Serveur DHCP"; |
$l_dhcp_activation = "Activation"; |
$l_dhcp_bail = "Bail"; |
$l_dhcp_description = "Si le DHCP est activée, la plage d'adresse IP est coupée en deux.<br /> |
Les adresses IP de X.X.X.X à X sont attribuées par DHCP, les autres sont réservées pour un adressage manuel des stations clientes.<br />"; |
$l_dhcp_ip_statique = "Adresses IP statiques"; |
//tabs-route |
$l_route = "ROUTE"; |
$l_destination_row_title = "Destination"; |
$l_mask_row_title = "Masque de sous-réseau"; |
$l_gateway_row_title = "Passerelle"; |
//buttons |
$l_change = "Modifier"; |
} |
else { // a traduire |
$l_network_title = "Network configuration"; |
$l_ip = "@IP/CIDR"; |
$l_mask = "Mask"; |
$l_gateway = "Gateway"; |
$l_dns = "DNS"; |
$l_yes = "YES"; |
$l_no = "NO"; |
$l_ip_row_title = "IP adress"; |
$l_host_row_title = "Host name"; |
$l_mac_row_title = "MAC adresse "; |
$l_description_row_title = "Description"; |
//tabs-wan |
$l_wan = "WAN"; |
$l_enable = "enable"; |
$l_disable = "disable"; |
$l_internet_title = "Internet"; |
$l_ip_public = "Public IP "; |
$l_state = "Internet state"; |
$l_eth0_title = "ETH0 : carte réseau connecté vers Internet"; |
//tabs-lan |
$l_lan = "LAN"; |
$l_eth1_title = "ETH1 : carte réseau connecté sur le réseau de consultation"; |
//tabs-dns-local |
$l_local_dns = "Local DNS"; |
//tabs-dhcp |
$l_dhcp = "DHCP"; |
$l_dhcp_server = "DHCP server"; |
$l_dhcp_activation = "Activation"; |
$l_dhcp_bail = "Bail"; |
$l_dhcp_description = "Si le DHCP est activée, la plage d'adresse IP est coupée en deux.<br /> |
Les adresses IP de X.X.X.X à X sont attribuées par DHCP, les autres sont réservées pour un adressage manuel des stations clientes.<br />"; |
$l_dhcp_ip_statique = "Adresses IP statiques"; |
//tabs-route |
$l_route = "ROUTE"; |
$l_destination_row_title = "Destination"; |
$l_mask_row_title = "Mask"; |
$l_gateway_row_title = "Gateway"; |
//buttons |
$l_change = "Modifier"; |
} |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
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"); |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
//Test de présence et des droits en lecture des fichiers de configuration. |
/* |
if (!file_exists(ALCASAR_CHILLI)){ |
exit("Fichier de configuration ".ALCASAR_CHILLI." non présent"); |
} |
*/ |
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"); |
} |
if (!file_exists(ALCASAR_DNS_NAME)){ |
exit("Fichier de configuration ".ALCASAR_DNS_NAME." non présent"); |
} |
if (!is_readable(ALCASAR_CONF_FILE)){ |
exit("Vous n'avez pas les droits de lecture sur le fichier ".ALCASAR_CONF_FILE); |
} |
if (!is_readable(ALCASAR_ETHERS)){ |
exit("Vous n'avez pas les droits de lecture sur le fichier ".ALCASAR_ETHERS); |
} |
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 * |
*********************************************************************/ |
/* |
alcasar.conf parser |
*/ |
$lines = file(ALCASAR_CONF_FILE); |
$alcasar_conf = array(); |
foreach($lines as $line) |
{ |
if (preg_match('/^[[:space:]]*#/',$line)) // on ignore les commentaires (ligne débutant par #) |
continue; |
if (strpos($line,"=")!==false){ // on parse toutes les lignes contenant un "=" |
$tmp = explode("=",$line); |
$alcasar_conf[trim($tmp[0])] = trim($tmp[1]); |
} |
} |
/* |
chilli parser |
*/ |
/* |
$lines = file(ALCASAR_CHILLI); |
$chilli = array(); |
foreach($lines as $line) |
{ |
if (preg_match('/^[[:space:]]*#/',$line)) // on ignore les commentaires (ligne débutant par #) |
continue; |
if (strpos($line,"=")!==false){ // on parse toutes les lignes contenant un "=" |
$tmp = explode("=",$line); |
$chilli[trim($tmp[0])] = trim($tmp[1]); |
} |
} |
*/ |
/* |
dnsname parser |
*/ |
/* |
$lines = file(ALCASAR_DNS_NAME); |
$dnsadresse = array(); |
$n = 0; |
foreach($lines as $line) |
{ |
if (preg_match('/^[[:space:]]*#/',$line)) // on ignore les commentaires (ligne débutant par #) |
continue; |
if (preg_match("/^(address=\/)/", trim($line))){ // on parse toutes les lignes commencant par "address=" |
if (strpos($line,"/")!==false){ |
$tmp = explode("/",$line); |
if (count($tmp) == 3) { |
$dnsadresse[$n]['DNSNAME'] = $tmp[1]; |
$dnsadresse[$n]['IPADDR'] = $tmp[2]; |
$n++; |
} |
} |
} |
} |
*/ |
/* |
ethers parser |
BUG COOVA PRESENT : LE CHAMP DESCRIPTION EST TOUJOURS VIDE |
*/ |
/* |
$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 #) |
continue; |
$tmp = preg_split("/\s/",$line,2); |
if (count($tmp) == 2) { |
$ethers[$n]['MAC'] = trim($tmp[0]); |
if (strpos($line,"#")!==false){ //si présence de commentaire |
$tmp2 = explode("#",$tmp[1],2); |
$ethers[$n]['IPADDR']= trim($tmp2[0]); |
$ethers[$n]['DESCRIPTION']= trim($tmp2[1]); |
} else { //si absence de commentaire |
$ethers[$n]['IPADDR']= trim($tmp[1]); |
$ethers[$n]['DESCRIPTION']= ""; |
} |
$n++; |
} |
} |
*/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Network page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
23,10 → 279,261 |
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
$(function(){ |
$("a").attr("target", "content"); |
// Tabs |
$('#tabs').tabs(); |
$( "button, input:submit, input:button, input:reset").button(); |
}); |
</script> |
</head> |
<body> |
<h1>NETWORK PAGE</h1> |
<div id="tabs"> |
<ul> |
<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-route"><?php echo $l_route; ?></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"> |
<thead> |
<tr class="ui-widget-header"><th colspan="2"><?php echo $l_internet_title; ?></th></tr> |
</head> |
<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 = "-.-.-.-";} |
*/ |
?> |
</td></tr> |
<tr><td><?php echo $l_ip_public; ?> :</td><td><?php //echo $IP_PUB; ?></td></tr> |
<tr><td colspan="2"><br /></td></tr> |
<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"> |
</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"> |
</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"> |
</td></tr> |
<tr><td><?php echo $l_dns; ?> 1 :</td><td> |
<input type="text" name="WAN-dns1" id="WAN-dns1" value="<?php echo $alcasar_conf["DNS1"]; ?>" class="text"> |
</td></tr> |
<tr><td><?php echo $l_dns; ?> 2 :</td><td> |
<input type="text" name="WAN-dns2" id="WAN-dns2" value="<?php echo $alcasar_conf["DNS2"]; ?>" class="text"> |
</td></tr> |
<tr><td colspan ="2"><br /></td></tr> |
<tr><td><input type="submit" value="<?php echo $l_change; ?>" class="text"></td><td><br /></td></tr> |
</tbody> |
</table> |
</form> |
</div> |
<div id="tabs-lan"> |
<form method="post" name="form_lan" action="<?php echo $_SERVER['PHP_SELF']; ?>"> |
<table class="ui-widget ui-widget-content"> |
<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 colspan ="2"><br /></td></tr> |
<tr><td><input type="submit" value="Modifier" class="text"></td><td><br /></td></tr> |
</tbody> |
</table> |
</form> |
</div> |
<div id="tabs-dns-local"> |
<table border="0" id="dns-local" class="ui-widget ui-widget-content"> |
<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){ |
?> |
<tr> |
<td><?php echo "IP"; ?></td> |
<td> </td> |
<td><?php echo "DOMAINE"; ?></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"> |
<div id="div_dhcp_conf"> |
<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"> |
<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> |
</select> |
</td> |
</tr> |
<tr> |
<td>DHCP start :</td> |
<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> |
</tr> |
<tr><td>DHCP stop :</td><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> |
</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 colspan ="2"><br /></td></tr> |
<tr><td><input type="submit" value="Modifier" class="text"></td><td></td></tr> |
</table> |
<br /> |
<?php echo $l_dhcp_description; ?> |
</form> |
</div> |
<br /><br /> |
<div id="div_dhcp_statique"> |
<h3><?php echo $l_dhcp_ip_statique; ?></h3> |
<table border="0" id="dhcp_static" class="ui-widget ui-widget-content"> |
<thead> |
<tr class="ui-widget-header"><th><?php echo $l_ip_row_title; ?></th><th></th><th><?php echo $l_mac_row_title; ?></th><th></th><th><?php echo $l_description_row_title; ?></th><th class="col_action" scope="col" colspan="2"></th></tr> |
</thead> |
<tbody> |
<?php |
//foreach ($ethers as $ip_static){ |
?> |
<tr> |
<td><?php //echo $ip_static['IP']; ?></td> |
<td> </td> |
<td><?php //echo $ip_static['MAC']; ?></td> |
<td> </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> |
<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="192" maxlength="3" size="3" class="readonly" name="dhcp_static_ipaddr_p1" id="dhcp_static_ipaddr_p1">. |
<input type="text" readonly="readonly" value="192" 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="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> </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> |
</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 /> |
<br /> |
<table border="0" id="route" class="ui-widget ui-widget-content"> |
<thead> |
<tr class="ui-widget-header"><th><?php echo $l_destination_row_title; ?></th><th></th><th><?php echo $l_mask_row_title; ?></th><th><?php echo $l_gateway_row_title; ?></th><th class="col_action" scope="col" colspan="2"></th></tr> |
</thead> |
<tbody> |
<?php |
$route_list = array();// a faire |
//foreach ($route_list as $route){ |
?> |
<tr> |
<td><?php //echo $route['DESTINATION']; ?>DESTINATION</td> |
<td> </td> |
<td><?php //echo $route['NETMASK']; ?>NETMASK</td> |
<td><?php //echo $route['GATEWAY']; ?>GATEWAY</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="3" size="3" class="text" name="dhcp_static_ipaddr_p0" id="dhcp_static_ipaddr_p0">. |
<input type="text" value="" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p1" id="dhcp_static_ipaddr_p1">. |
<input type="text" value="" maxlength="3" size="3" class="text" 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="255" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p0" id="dhcp_static_ipaddr_p0">. |
<input type="text" value="255" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p1" id="dhcp_static_ipaddr_p1">. |
<input type="text" value="255" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p2" id="dhcp_static_ipaddr_p2">. |
<input type="text" value="0" maxlength="3" size="3" class="text" name="dhcp_static_ipaddr_p3" id="dhcp_static_ipaddr_p3"> |
</td> |
<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 class="col_action"><image src="<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/add.png"></td> |
<td class="col_action"></td> |
</tr> |
</tbody> |
</table> |
</div> |
</div> |
</body> |
</html> |
/web/admin/welcome.php |
---|
10,6 → 10,7 |
<html> |
<head> |
<title>Welcome</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
</head> |
/web/admin/activity.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Activity page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/haut.php |
---|
9,6 → 9,7 |
<html> |
<head> |
<title>haut</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- fonctions javascript --> |
<script language="javascript"> |
function ouvrir(page) |
/web/admin/users.php |
---|
18,6 → 18,7 |
<html> |
<head> |
<title>Users page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
151,7 → 152,7 |
<div id="tabs-users"> |
<ul> |
<li><a href="#tabs1">Usagers</a></li> |
<li><a href="#tabs2">Vouchers</a></li> |
<!--li><a href="#tabs2">Vouchers</a></li--> |
<li><a href="#tabs3">Modèles</a></li> |
</ul> |
<div id="tabs1"> |
188,7 → 189,7 |
<br><br><br> |
</div> |
<div id="tabs2"> |
<!--div id="tabs2"> |
<div> |
Un "Voucher" est un compte d'accès de type "pré-payé" qui dépend d'une durée d'utilisation ou d'un délai dans le temps.<br> |
<font color="red">PROCHAINEMENT DISPONIBLE</font> |
227,7 → 228,7 |
?> |
</tbody> |
</table> |
</div> |
</div--> |
<div id="tabs3"> |
<div> |
Afin de gagner du temps dans la création des comptes usagers et vouchers, vous avez la possibilité de prédéfinir des modèles de création de compte.<br> |
256,6 → 257,21 |
</tr> |
</tfoot> |
<tbody> |
<tr> |
<td width="20px">#</td> |
<td>Défaut</td> |
<td>Modèle par défaut non modifiable. Aucune caractéristique particulière</td> |
</tr> |
<tr> |
<td width="20px">#</td> |
<td>Ticket 1 jour</td> |
<td>Modèle d'utilisateur, connexion valide 1 journée</td> |
</tr> |
<tr> |
<td width="20px">#</td> |
<td>Ticket 1 semaine</td> |
<td>Modèle d'utilisateur, connexion valide 1 semaine</td> |
</tr> |
<?php |
foreach ($models as $model){ |
echo "<tr><td></td><td>".$model['name']."</td><td>".$model['description']."</td></tr>"; |
/web/admin/auth_exceptions.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Auth exceptions page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
23,10 → 51,42 |
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
$(document).ready(function(){ |
// Tabs |
$('#tabs-import').tabs(); |
// buttons |
$( "button, input:submit, input:button, input:reset").button(); |
}); |
</script> |
</head> |
<body> |
<h1>AUTH EXCEPTIONS 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">AUTH EXCEPTIONS PAGE</span> |
</div> |
<br /> |
Entrez ici les exceptions à l'authentification.<br /> |
<br /> |
<div id="tabs-import"> |
<ul> |
<li><a href="#tabs1">Domaines de confiance</a></li> |
<li><a href="#tabs2">IP et réseaux de confiance</a></li> |
<li><a href="#tabs3">Equipements de confiance</a></li> |
</ul> |
<div id="tabs1"> |
<h2>Liste de noms de domaine de confiance</h2> |
Entrez ici les noms de domaine Internet pouvant être joints sans authentification.<br /> |
<br /> |
</div> |
<div id="tabs2"> |
<h2>Liste d'adresses IP ou d'adresses de réseau de confiance</h2> |
Entrez ici les adresses IP ou adresses de réseau pouvant être joints sans authentification.<br /> |
<br /> |
</div> |
<div id="tabs3"> |
<h2>Equipements de confiance</h2> |
Antrez ici les adresses MAC des équipements autorisés à joindre Internet sans authentification.<br /> |
<br /> |
</div> |
</div> |
</body> |
</html> |
/web/admin/docs/alcasar-2.3-technique.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/docs/alcasar-2.3-presentation.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/docs/alcasar-2.3-exploitation.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/docs/alcasar-2.3-installation.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/menu.php |
---|
18,11 → 18,14 |
$Language = strtolower(substr(chop($Langue[0]),0,2)); } |
if($Language == 'fr'){ |
require_once(ALCASAR_ADMIN_PATH_LANG.'/fr/menu.lang.php'); |
$l_sysinfo = "Informations système"; |
} |
else { |
require_once(ALCASAR_ADMIN_PATH_LANG.'/en/menu.lang.php'); |
$l_sysinfo = "System informations"; |
} |
$version = "2.3"; |
?> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
"http://www.w3.org/TR/html4/loose.dtd"> |
96,17 → 99,17 |
<div> |
<h3><a href="#"><?php echo $l_home; ?></a></h3> |
<div> |
<a href="welcome.php"><?php echo ucfirst(strtolower($l_home)); ?></a> |
<a href="welcome.php"><?php echo $l_sysinfo; ?></a> |
</div> |
</div> |
<div> |
<h3><a href="#"><?php echo $l_system; ?></a></h3> |
<div> |
<a href="configuration.php"><?php echo $l_configuration; ?></a><br> |
<a href="services.php"><?php echo $l_services; ?></a><br> |
<a href="network.php"><?php echo $l_network; ?></a><br> |
<a href="activity.php"><?php echo $l_activity; ?></a><br> |
<a href="directories.php"><?php echo $l_directories; ?></a> |
<a href="directories.php"><?php echo $l_directories; ?></a><br> |
<a href="configuration.php"><?php echo $l_configuration; ?></a> |
</div> |
</div> |
<div> |
138,7 → 141,7 |
<a href="welcome.php"><?php echo $l_stat_user_day; ?></a><br> |
<a href="welcome.php"><?php echo $l_stat_con; ?></a><br> |
<a href="welcome.php"><?php echo $l_stat_daily; ?></a><br> |
<a href="<?php echo ALCASAR_ADMIN_PATH_RS; ?>/awstats/"><?php echo $l_stat_web; ?></a><br> |
<a href="<?php echo ALCASAR_ADMIN_PATH_RS; ?>/awstats/readme.html"><?php echo $l_stat_web; ?></a><br> |
<a href="<?php echo ALCASAR_ADMIN_PATH_RS; ?>/firewallEyes/index.html"><?php echo $l_firewall; ?></a> |
</div> |
</div> |
146,6 → 149,7 |
<h3><a href="#"><?php echo $l_backup; ?></a></h3> |
<div> |
<a href="backups.php"><?php echo $l_backup; ?></a><br> |
<a href="backups.php">Fichiers Logs</a><br> |
</div> |
</div> |
</div> |
154,9 → 158,9 |
<div> |
<h3><a href="#"><?php echo $l_docs; ?></a></h3> |
<div> |
<a href="docs/alcasar-2.1-presentation.pdf"><?php echo $l_doc_intro; ?></a><br> |
<a href="docs/alcasar-2.1-installation.pdf"><?php echo $l_doc_install; ?></a><br> |
<a href="docs/alcasar-2.1-exploitation.pdf"><?php echo $l_doc_exploit; ?></a><br> |
<a href="docs/alcasar-<?php echo $version; ?>-presentation.pdf"><?php echo $l_doc_intro; ?></a><br> |
<a href="docs/alcasar-<?php echo $version; ?>-installation.pdf"><?php echo $l_doc_install; ?></a><br> |
<a href="docs/alcasar-<?php echo $version; ?>-exploitation.pdf"><?php echo $l_doc_exploit; ?></a><br> |
</div> |
</div> |
</div> |
/web/admin/filters_networks.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Filters networks page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/bas.php |
---|
10,6 → 10,7 |
<HTML> |
<HEAD> |
<TITLE>bas</TITLE> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
</HEAD> |
<FRAMESET COLS="220,*" border="no"> |
<FRAME frameborder="no" border="no" scrolling="no" nosave noresize src="menu.php" NAME="menu"> |
/web/admin/user.php.horaire |
---|
0,0 → 1,690 |
<?php |
/* |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
//include(ALCASAR_ADMIN_PATH_LIB.'/user.class.php'); |
include(ALCASAR_ADMIN_PATH_LIB.'/radiusMysqlUser.class.php'); |
if (isset($_GET['username'])){ |
$username = $_GET['username']; |
} else { |
$username = ''; |
} |
$ouser = new radiusMysqlUser(); |
$ouser->load($username, true); |
$user = $ouser->get(); |
//$attributes = $ouser->getAttribute(); |
print_r($user); |
$ouser->addgroup('test'); |
print_r($ouser->groups()); |
?> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
<html> |
<head> |
<title>Edit <?php echo $options['username']; ?></title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!--link rel="stylesheet" href="../css/style.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 custom page CSS --> |
<!-- include JQUERY --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script> |
<!-- include JQUERY UI --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
var horaireFlag = false; |
var colFlag = false; |
var rowFlag = false; |
var no_limite_flag = false; |
function seconds2Hms(d) { |
d = Number(d); |
var h = Math.floor(d / 3600); |
var m = Math.floor(d % 3600 / 60); |
var s = Math.floor(d % 3600 % 60); |
//return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s); |
return new array(h,m,s); |
} |
function hms2Seconds(h, m, s) { |
h = Number(d); |
m = Number(d); |
s = Number(d); |
return Math.floor(h * 3600 + m * 60 + s); |
} |
$(function(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected'); |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
//Time-limite |
var Time_limite = ''; |
parseHoraire(Time_limite); |
// Tabs |
$('#tabs-user').tabs(); |
// datepicker |
$( ".datepicker" ).datepicker( |
//$.datepicker.regional[ "fr" ] |
{ |
altFormat: 'yy-mm-dd', |
altField: '#actualDate', //pour mise à jour de ma bdd! |
dateFormat: 'dd/mm/yy' |
}); |
// button |
$( "button, input:submit, input:button, input:reset").button(); |
$('#horaire-table').mouseleave(function() { |
horaireFlag = false; |
colFlag = false; |
rowFlag = false; |
}); |
// selection à partir du calendrier |
$('#horaire-table').find('tbody').mouseleave(function() { |
horaireFlag = false; |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mousedown(function() { |
horaireFlag = true; |
colorize_body($(this)); |
}); |
$('#horaire-table').find('tbody > tr > td').mouseup(function() { |
horaireFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mouseover(function() { |
if (horaireFlag === true){ |
colorize_body($(this)); |
} |
}); |
// selection à partir de l'entête de la 1er colone |
$('#horaire-table').find('thead > tr > th:eq(0)').mousedown(function() { |
if (no_limite_flag){ |
no_limite(); |
no_limite_flag = false; |
} else { |
all_limite(); |
no_limite_flag = true; |
} |
}); |
// selection à partir de l'entête de colone |
$('#horaire-table').find('thead > tr > th').mousedown(function() { |
colFlag = true; |
head_colorize_body($(this)) |
}); |
$('#horaire-table').find('thead > tr > th').mouseup(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead').mouseleave(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead > tr > th').mouseover(function() { |
if (colFlag == true){ |
head_colorize_body($(this)) |
} |
}); |
// selection à partir de l'entête de ligne |
//.mouseleave event is allready defined |
$('#horaire-table').find('tbody > tr > th').mousedown(function() { |
rowFlag = true; |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
}); |
$('#horaire-table').find('tbody > tr > th').mouseup(function() { |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > th').mouseover(function() { |
if (rowFlag == true){ |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
} |
}); |
function calcule_plage_jour(horaires){ |
var d, f, i, deb, tmp; |
deb = true; |
tmp = new Array(); |
for (i=0 ; i<=47 ; i++) { |
if ( jQuery.inArray(i, horaires) !== -1){ |
if (deb){ |
d = i; |
deb = false; |
} |
if (i == 47){ |
f = i; |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} else { |
if (!(deb)){ |
f = eval(i-1); |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} |
} |
return tmp; |
} |
function parsePlage(plage){ |
alert(plage[0]); |
for (i=0 ; i < plage.length-1 ; i++){ |
deb = plage[i][0]; |
fin = plage[i][1]; |
debh = eval(deb/2); |
alert(deb); |
if (eval(deb%2) == 0){ |
debm = "00"; |
} else { |
debm = "30"; |
} |
deb = debh + debm; |
finh = parseInt(eval(fin/2)); |
if (eval(fin%2) == 0){ |
finm = "00"; |
} else { |
finm = "30"; |
} |
fin = finh + finm; |
} |
return deb+fin; |
} |
//Wk2305-0855,Sa,Su2305-1655 |
$('#button_test').click(function(){ |
a = new Array(); |
mo = new Array(); |
tu = new Array(); |
we = new Array(); |
th = new Array(); |
fr = new Array(); |
sa = new Array(); |
so = new Array(); |
plageMo = new Array(); |
/* |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, td){ |
if ($(td).hasClass('horaireIsSelected')) a.push(index); |
}) |
*/ |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, tda){ |
if ($(tda).hasClass('horaireIsSelected')) a.push(index); |
}); |
td_mo = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_mo).each( function(index, td_mo_a){ |
if ($(td_mo_a).hasClass('horaireIsSelected')) mo.push(index); |
}); |
//alert(mo); |
td_tu = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_tu).each( function(index, td_tu_a){ |
if ($(td_tu_a).hasClass('horaireIsSelected')) tu.push(index); |
}); |
//alert(tu); |
td_we = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_we).each( function(index, td_we_a){ |
if ($(td_we_a).hasClass('horaireIsSelected')) we.push(index); |
}); |
//alert(we); |
td_th = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_th).each( function(index, td_th_a){ |
if ($(td_th_a).hasClass('horaireIsSelected')) th.push(index); |
}); |
//alert(th); |
td_fr = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_fr).each( function(index, td_fr_a){ |
if ($(td_fr_a).hasClass('horaireIsSelected')) fr.push(index); |
}); |
//alert(fr); |
td_sa = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_sa).each( function(index, td_sa_a){ |
if ($(td_sa_a).hasClass('horaireIsSelected')) sa.push(index); |
}); |
//alert(sa); |
td_so = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_so).each( function(index, td_so_a){ |
if ($(td_so_a).hasClass('horaireIsSelected')) so.push(index); |
}); |
//alert(so); |
plageMo = calcule_plage_jour(mo); |
plageTu = calcule_plage_jour(tu); |
plageWe = calcule_plage_jour(we); |
plageTh = calcule_plage_jour(th); |
plageFr = calcule_plage_jour(fr); |
plageSa = calcule_plage_jour(sa); |
plageSo = calcule_plage_jour(so); |
//alert(plage); |
//alert(a); |
$('#test').val(parsePlage(plageMo)); |
//la suite ? |
}); |
}); |
//fonctions de sélection/déselection |
function row_colorize_body(row_ref){ |
if (row_ref.find('td').hasClass('horaireIsNotSelected') || !(row_ref.find('td').hasClass('horaireIsSelected'))){ |
row_ref.find('td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
row_ref.find('td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function colorize_body(td_ref){ |
if (td_ref.hasClass('horaireIsNotSelected') || !(td_ref.hasClass('horaireIsSelected'))){ |
td_ref.removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
td_ref.removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function head_colorize_body(head_ref){ |
horaire_head = false; |
var index = head_ref.index(); |
index = (parseInt(index) - 1) *2; |
index2 = index + 1; |
if (head_ref.hasClass('headSelect')){ |
head_ref.removeClass('headSelect').addClass('headNoSelect'); |
horaire_head = false; |
} else { |
head_ref.removeClass('headNoSelect').addClass('headSelect'); |
horaire_head = true; |
} |
var rows = $('#horaire-table').find('tbody > tr').get(); |
$.each(rows, function() { |
if (horaire_head){ |
$(this).find('td:eq('+index+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
$(this).find('td:eq('+index+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
}); |
$('#periode_perso').attr("checked","checked"); |
} |
//fonctions de sélection/déselection des profils pre-définis |
function no_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function all_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
function wk(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected');; |
$('#horaire-table').find('tbody > tr:lt(5) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function we(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
$('#horaire-table').find('tbody > tr:gt(4) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
//parse Time-limite et affiche le résultat dans le calendrier |
function parseHoraire(Time_limite){ |
if (Time_limite == ''){ |
no_limite(); |
return; |
} |
} |
</script> |
<style type="text/css"> |
.datepicker{ |
background:url(../images/calendrier.gif) no-repeat 110px 3px; |
} |
</style> |
</head> |
<body> |
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des usagers</span> |
</div> |
<div id="usager"> |
<div id=""> |
<br /> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Usager :</td><td><input type="text" name="User" id="User" value="<?php echo $username; ?>" readonly></td><td></td><tr> |
<tr><td>Mot de passe :</td><td><input type="text" name="User-mdp" id="User-mdp" value="********"></td><td><button>Générer MDP</button></td><tr> |
<tr><td>Date d'expiration :</td><td><input type="text" value="<?php echo $user['Expiration']; ?>" name="Expiration0" id="" class="datepicker"></td><td></td></tr> |
<tr><td colspan="2"><br /></td><td></td><tr> |
<tr><td colspan="2"><input type="button" value="Supprimer" name="" id=""> <input type="button" value="Modifier" name="" id=""></td><td></td><tr> |
</table> |
<br /> |
</div> |
<div id="tabs-user"> |
<ul> |
<li><a href="#tabs1">Infos personnelles</a></li> |
<li><a href="#tabs2">Membre de</a></li> |
<li><a href="#tabs3">Plage horaire</a></li> |
<li><a href="#tabs4">Caractéristiques</a></li> |
<li><a href="#tabs5">Etats</a></li> |
<li><a href="#tabs6">Sessions ouvertes</a></li> |
<li><a href="#tabs7">Connexion</a></li> |
</ul> |
<div id="tabs1"> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Nom complet (NOM Prénom)</td><td><input type="text" name="" id="" value="<?php echo $user['Name'];?>"></td><tr> |
<tr><td>Mail</td><td><input type="text" name="email" id="email" value="<?php echo $user['Mail'];?>"></td><tr> |
<tr><td>Service</td><td><input type="text" name="service" id="service" value="<?php echo $user['Department'];?>"></td><tr> |
<tr><td>Téléphone personnel</td><td><input type="text" name="phone" id="phone" value="<?php echo $user['HomePhone'];?>"></td><tr> |
<tr><td>Téléphone bureau</td><td><input type="text" name="bureau" id="bureau" value="<?php echo $user['WorkPhone'];?>"></td><tr> |
<tr><td>Téléphone mobile</td><td><input type="text" name="mobile" id="mobile" value="<?php echo $user['Mobile'];?>"></td><tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
</table> |
</div> |
<div id="tabs2"> |
<button>Ajouter à un groupes</button> |
<table width="100%"> |
<?php |
$groups = array(); // faire une boucle pour les groupes |
foreach ($groups as $group){ |
echo "<tr><td></td><td>".$group['groupname']."</td><td width='10'><image src='".ALCASAR_ADMIN_PATH_IMG."/delete.png'></td> </tr>"; |
} ?> |
</table> |
</div> |
<div id="tabs3"> |
<style> |
#testa td, #testa th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
width:50px; |
vertical-align: bottom; /* Alignement vertical, le contenu des cellules sera placé en bas */ |
border: 1px solid black; |
font-family: "Comic Sans MS", "Trebuchet MS", Times, "Times New Roman", serif; |
text-align: center; |
} |
#testb td { |
height: 10px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#testb th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#horaire-table th{ |
} |
#horaire-table td{ |
} |
#horaire-table thead, #horaire-table tfoot { |
background-color:#D0E3FA; |
/*background-image:url(monimage.jpg);*/ |
border:1px solid #6495ed; |
} |
#horaire-table tbody { |
background-color:#FFFFFF; |
/*border:1px solid #6495ed;*/ |
} |
#horaire-table thead th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table tbody th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table td { |
font-family:sans-serif; |
font-size:80%; |
border:1px dotted #6495ed; |
/*border-style: dotted;*/ |
text-align:left; |
width:9px; |
} |
.horaireIsSelected { |
background-color:blue; |
} |
.horaireIsNotSelected { |
background-color:#FFFFFF; |
} |
</style> |
<div id="plage_horaire"> |
<table border=1 id='horaire-table' cellpadding='0' cellspacing='1'> |
<thead> |
<tr id="horaireRow"> |
<th>Horaires</th> |
<th colspan="2">0</th><th colspan="2">1</th><th colspan="2">2</th><th colspan="2">3</th><th colspan="2">4</th><th colspan="2">5</th><th colspan="2">6</th><th colspan="2">7</th><th colspan="2">8</th><th colspan="2">9</th><th colspan="2">10</th><th colspan="2">11</th><th colspan="2">12</th> |
<th colspan="2">13</th><th colspan="2">14</th><th colspan="2">15</th><th colspan="2">16</th><th colspan="2">17</th><th colspan="2">18</th><th colspan="2">19</th><th colspan="2">20</th><th colspan="2">21</th><th colspan="2">22</th><th colspan="2">23</th> |
<tr> |
</thead> |
<tbody> |
<tr id='MoRow'> |
<th>Lundi</th> |
<td id='Mo'><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='TuRow'> |
<th>Mardi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='WeRow'> |
<th>Mercredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='ThRow'> |
<th>Jeudi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='FrRow'> |
<th>Vendredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SaRow'> |
<th>Samedi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SoRow'> |
<th>Dimanche</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
</tbody> |
</table> |
<br /> |
Legende :<br /> |
<style> |
.autorise{ |
border:1px dotted #6495ed; |
background-color:blue; |
width: 20px; |
} |
.refuse{ |
border:1px dotted #6495ed; |
background-color:#FFFFFF; |
width: 20px; |
} |
</style> |
<table> |
<tr><td class="autorise"><br /></td><td>Autorisé</td></tr> |
<tr><td class="refuse"><br /></td><td>Refusé</td></tr> |
</table> |
<br /> |
Période :<br /> |
<input type="radio" name="periode" value="0" onClick="no_limite();"> Aucune limite<br /> |
<input type="radio" name="periode" value="1" onClick="wk();"> En semaine uniquement<br /> |
<input type="radio" name="periode" value="2" onClick="we();"> Week end uniquement<br /> |
<input type="radio" name="periode" value="3" id="periode_perso" checked> Personalisé <br /> |
<br /> |
<button>Annuler</button><button id="button_test">Modifier</button> |
<input type="text" name="test" id="test" size="255" value=""> |
<br /> |
</div> |
</div> |
<div id="tabs4"> |
<table class="ui-widget ui-widget-content"> |
<!--thead><tr class="ui-widget-header"><td></td><td></td></tr></thead--> |
<tbody> |
<tr><td>Nombre de session simultanée</td><td><input type="text" value="<?php echo $user['Simultaneous-Use']; ?>" name="Simultaneous-Use0" id=""></td></tr> |
<tr><td>Durée limite d'une session</td><td><input type="hidden" name="Session-Timeout0" id="" value=""><input type="text" value="" name="Session-Timeout0_h" id="" size="4">h<input type="text" value="" name="Session-Timeout0_mm" id="" size="2">mm<input type="text" value="" name="Session-Timeout0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite journalière</td><td><input type="hidden" name="Max-Daily-Session0" id="" value=""><input type="text" value="" name="Max-Daily-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Daily-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Daily-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite mensuelle</td><td><input type="hidden" name="Max-Monthly-Session0" id="" value=""><input type="text" value="" name="Max-Monthly-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Monthly-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Monthly-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Période hebdomadaire</td><td><input type="text" value="<?php echo $user['Login-Time']; ?>" name="Login-Time0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en émission (en octets)</td><td><input type="text" value="<?php echo $user['ChilliSpot-Max-Input-Octets']; ?>" name="ChilliSpot-Max-Input-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en réception (en octets)</td><td><input type="text" value="<?php echo $user['ChilliSpot-Max-Output-Octets']; ?>" name="ChilliSpot-Max-Output-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. total transmit (en octets)</td><td><input type="text" value="<?php echo $user['ChilliSpot-Max-Total-Octets']; ?>" name="ChilliSpot-Max-Total-Octets0" id=""></td></tr> |
<tr><td>Bande passante montante max. (en kbits/seconde) </td><td><input type="text" value="<?php echo $user['ChilliSpot-Bandwidth-Max-Up']; ?>" name="ChilliSpot-Bandwidth-Max-Up0" id=""></td></tr> |
<tr><td>Bande passante descendante max. (en kbits/seconde)</td><td><input type="text" value="<?php echo $user['ChilliSpot-Bandwidth-Max-Down']; ?>" name="ChilliSpot-Bandwidth-Max-Down0" id=""></td></tr> |
<tr><td>URL de redirection</td><td><input type="text" value="<?php echo $user['WISPr-Redirection-URL']; ?>" name="" id=""></td></tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
</tbody> |
</table> |
</div> |
<div id="tabs5"></div> |
<div id="tabs6"> |
Nb. sessions ouvertes : X<br /> |
<br /> |
<button>Déconnectet toutes les sessions ouvertes</button> |
<br /><br /> |
<table class="ui-widget ui-widget-content"> |
<thead><tr class="ui-widget-header"><td width="50">#</td><td width="100">MAC</td><td width="100">IP</td><td>Hôte</td><td>Date/heure</td><td>-</td></tr></thead> |
<tbody> |
<tr><td>1</td><td>exemple</td><td>exemple</td><td>exemple</td><td>exemple</td><td><a href="">déconnecter</a></td></tr> |
<tr><td>2</td><td>exemple</td><td>exemple</td><td>exemple</td><td>exemple</td><td><a href="">déconnecter</a></td></tr> |
</tbody> |
</table> |
</div> |
<div id="tabs7"></div> |
</div> |
<div> |
</body> |
</body> |
/web/admin/configuration.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Configuration page</title> |
<title>Auth exceptions page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
23,10 → 51,49 |
<script type="text/javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
$(document).ready(function(){ |
// Tabs |
$('#tabs-import').tabs(); |
// buttons |
$( "button, input:submit, input:button, input:reset").button(); |
}); |
</script> |
</head> |
<body> |
<h1>CONFIGURATION 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">CONFIGURATION PAGE</span> |
</div> |
<br /> |
Page de configuration avancée.<br /> |
<font color="red">Fonctions prochainement disponibles.</font><br /> |
<br /> |
<div id="tabs-import"> |
<ul> |
<li><a href="#tabs1">Système</a></li> |
<li><a href="#tabs2">Portail captif</a></li> |
<li><a href="#tabs3">Auto-enregistrement</a></li> |
<li><a href="#tabs4">Maintenance</a></li> |
</ul> |
<div id="tabs1"> |
<h2>Config système</h2> |
Cette page permet de configurer divers options du système (mail admin, redirection globale des usagers, etc...)<br /> |
<br /> |
</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 /> |
</div> |
<div id="tabs3"> |
<h2>Equipements de confiance</h2> |
Antrez ici les adresses MAC des équipements autorisés à joindre Internet sans authentification.<br /> |
<br /> |
</div> |
<div id="tabs4"> |
<h2>Maintenace système</h2> |
Redémarage/arrêt du sytème, affichage "page de maintenance", etc...<br /> |
<br /> |
</div> |
</div> |
</body> |
</html> |
/web/admin/login.php |
---|
31,6 → 31,7 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<title>Login page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
</head> |
<style> |
/web/admin/groups.php |
---|
9,11 → 9,13 |
//a faire |
$groups = array(); |
$models = array(); |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Groups page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
92,6 → 94,26 |
$('#groups_table_filter').after('<div style="float:left"><a href="javascript:alert(\'Fonction prochainement dispobible.\');" title="Recherche avancée">Avancée</a></div>'); |
$('#models_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 |
}); |
}); |
105,6 → 127,7 |
<div id="tabs-groups"> |
<ul> |
<li><a href="#tabs1">Groupes</a></li> |
<li><a href="#tabs2">Modèles</a></li> |
</ul> |
<div id="tabs1"> |
<div> |
140,6 → 163,42 |
<br><br><br> |
</div> |
<div id="tabs2"> |
<div> |
Afin de gagner du temps dans la création des groupes, vous avez la possibilité de prédéfinir des modèles de création de groupe.<br> |
<font color="red">PROCHAINEMENT DISPONIBLE</font> |
</div> |
<br> |
<div style="float:right;"> |
<form name="newModelform"> |
<input type="button" value="Nouveau modèle"> |
</form> |
</div> |
<br> |
<table id="models_table" cellspacing="1" class="tablesorter" border="0" width="100%"> |
<thead> |
<tr> |
<th width="20px">#</th> |
<th>Modèle</th> |
<th>Description</th> |
</tr> |
</thead> |
<tfoot> |
<tr> |
<th width="20px">#</th> |
<th>Modèle</th> |
<th>Description</th> |
</tr> |
</tfoot> |
<tbody> |
<?php |
foreach ($models as $model){ |
echo "<tr><td></td><td>".$model['name']."</td><td>".$model['description']."</td></tr>"; |
} |
?> |
</tbody> |
</table> |
</div> |
</div> |
</body> |
</html> |
/web/admin/images/chart_organisation.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/images/add.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/images/calendrier.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/admin/includes/user_edit.attrs |
---|
0,0 → 1,49 |
# |
# Attributes which will be visible in the user/group edit pages |
# |
# Format: Attribute Comment |
# |
# |
#Auth-Type <a href="help/auth_type_help.html" target=su_help onclick=window.open("help/auth_type_help.html","su_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Auth-Type Help Page"><font color="blue">Auth-Type</font></a> |
#Simultaneous-Use <a href="help/simultaneous_use_help.html" target=su_help onclick=window.open("help/simultaneous_use_help.html","su_help","width=560,height=170,toolbar=no,scrollbars=no,resizable=yes") title="Simultaneous Use Help Page"><font color="blue">Simultaneous Use</font></a> |
Framed-Protocol <a href="help/framed_protocol_help.html" target=fpr_help onclick=window.open("help/framed_protocol_help.htlml","fpr_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Framed-Protocol Help PPage"><font color="blue">Protocol</font></a> |
Framed-IP-Address <a href="help/framed_ip_address_help.html" target=fia_help onclick=window.open("help/framed_ip_address_help.html","fia_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Framed-IP-Address Help Page"><font color="blue">IP Address</font></a> |
Framed-IP-Netmask IP Netmask |
#Framed-Route Route |
#Framed-Routing |
#Filter-Id <a href="help/filter_id_help.html" target=fid_help onclick=window.open("help/filter_id_help.html","fid_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Filter-ID Help Page"><font color="blue">Filter ID</font></a> |
Framed-MTU <a href="help/framed_mtu_help.html" target=fid_help onclick=window.open("help/framed_mtu_help.html","fid_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Framed-MTU Help Page"><font color="blue">Framed-MTU</font></a> |
Framed-Compression <a href="help/framed_compression_help.html" target=fc_help onclick=window.open("help/framed_compression_help.html","fc_help","width=600,height=210,toolbar=no,scrollbars=no,resizable=yes") title="Framed Compression Help Page"><font color="blue">Compression Used</font></a> |
Service-Type <a href="help/service_type_help.html" target=st_help onclick=window.open("help/service_type_help.html","st_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Service-Type Help Page"><font color="blue">Service Type</font></a> |
#Login-IP-Host |
#Login-Service |
#Login-TCP-Port |
#Callback-Number <a href="help/callback_number_help.html" target=fid_help onclick=window.open("help/callback_number_help.html","fid_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Callback-Number Help Page"><font color="blue">Callback-Number</font></a> |
#Callback-Id <a href="help/callback_id_help.html" target=fid_help onclick=window.open("help/callback_id_help.html","fid_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Callback-ID Help Page"><font color="blue">Callback-ID</font></a> |
#Framed-IPX-Network |
#Class <a href="help/class_help.html" target=fid_help onclick=window.open("help/class_help.html","fid_help","width=560,height=230,toolbar=no,scrollbars=no,resizable=yes") title="Class Help Page"><font color="blue">Class</font></a> |
Session-Timeout <a href="help/session_timeout_help.html" target=st_help onclick=window.open("help/session_timeout_help.html","st_help","width=600,height=170,toolbar=no,scrollbars=no,resizable=yes") title="Session Timeout Help Page"><font color="blue">Session Timeout</font></a> |
Idle-Timeout <a href="help/idle_timeout_help.html" target=it_help onclick=window.open("help/idle_timeout_help.html","it_help","width=600,height=170,toolbar=no,scrollbars=no,resizable=yes") title="Idle Timeout Help Page"><font color="blue">Idle Timeout</font></a> |
#Termination-Action |
#Login-LAT-Service |
#Login-LAT-Node |
#Login-LAT-Group |
#Framed-AppleTalk-Link |
#Framed-AppleTalk-Network |
#Framed-AppleTalk-Zone |
Port-Limit <a href="help/port_limit_help.html" target=pl_help onclick=window.open("help/port_limit_help.html","pl_help","width=600,height=170,toolbar=no,scrollbars=no,resizable=yes") title="Port Limit Help Page"><font color="blue">Port Limit</font></a> |
#Login-LAT-Port |
#Dialup-Access <a href="help/dialup_access_help.html" target=da_help onclick=window.open("help/dialup_access_help.html","da_help","width=560,height=200,toolbar=no,scrollbars=no,resizable=yes") title="Dialup Access Help Page"><font color="blue">Dialup Access (use FALSE to lock)</font></a> |
Dialup-Lock-Msg <a href="help/lock_message_help.html" target=lm_help onclick=window.open("help/lock_message_help.html","lm_help","width=600,height=210,toolbar=no,scrollbars=no,resizable=yes") title="Lock Message Help Page"><font color="blue">Lock Message</font></a> |
#Reply-Message <a href="help/reply_message_help.html" target=lm_help onclick=window.open("help/reply_message_help.html","lm_help","width=600,height=210,toolbar=no,scrollbars=no,resizable=yes") title="Reply-Message Help Page"><font color="blue">Reply-Message</font></a> |
#Max-Daily-Session Daily Limit (secs) |
#Max-Weekly-Session Weekly Limit (secs) |
#Max-Monthly-Session Monthly Limit (secs) |
#Login-Time <a href="login_time_create.php3?val=$name1&first=yes" target=lt_create onclick=window.open("login_time_create.php3?val=$name1&first=yes","lt_create","width=600,height=490,toolbar=no,scrollbars=yes,resizable=yes") title="Login-Time Creation Page"><font color="blue">User Login Period </font></a>(<a href="help/login_time_help.html" target=lt_help onclick=window.open("help/login_time_help.html","lt_help","width=600,height=370,toolbar=no,scrollbars=no,resizable=yes") title="Login-Time Help Page"><font color="blue">UUCP </font></a>Format) |
#Expiration <a href="help/expiration_help.html" target=lt_help onclick=window.open("help/expiration_help.html","lt_help","width=600,height=180,toolbar=no,scrollbars=no,resizable=yes") title="Expiration Help Page"><font color="blue">User Expiration Date</font></a> |
# |
# Uncomment this if you are using ldap and you are using user regular profiles. |
# Also make sure that Regular-Profile maps to the correct ldap attribute in |
# extra.ldap-attrmap |
# |
#Regular-Profile User Regular Profile DN |
/web/admin/includes/sql.attrmap.old |
---|
0,0 → 1,52 |
# |
# A mapping between the attributes used by dialup_admin and the attribute |
# names that will be stored in the SQL database |
# |
# Attributes that are not contained in this file are assumed to be reply |
# items and map to the same name as the one used by dialup_admin |
# |
# Format: |
# checkItem|replyItem Attribute-In-Dialup-Admin Attribute-In-SQL |
# |
# |
checkItem Auth-Type Auth-Type |
checkItem Simultaneous-Use Simultaneous-Use |
checkItem Called-Station-Id Called-Station-Id |
checkItem Calling-Station-Id Calling-Station-Id |
checkItem Dialup-Access none |
checkItem Max-Daily-Session Max-Daily-Session |
checkItem Max-Weekly-Session Max-Weekly-Session |
checkItem Max-Monthly-Session Max-Monthly-Session |
checkItem Login-Time Login-Time |
checkItem Expiration Expiration |
replyItem Service-Type Service-Type |
replyItem Framed-Protocol Framed-Protocol |
replyItem Framed-IP-Address Framed-IP-Address |
replyItem Framed-IP-Netmask Framed-IP-Netmask |
replyItem Framed-Route Framed-Route |
replyItem Framed-Routing Framed-Routing |
replyItem Filter-Id Filter-Id |
replyItem Framed-MTU Framed-MTU |
replyItem Framed-Compression Framed-Compression |
replyItem Login-IP-Host Login-IP-Host |
replyItem Login-Service Login-Service |
replyItem Login-TCP-Port Login-TCP-Port |
replyItem Callback-Number Callback-Number |
replyItem Callback-Id Callback-Id |
replyItem Framed-IPX-Network Framed-IPX-Network |
replyItem Class Class |
replyItem Session-Timeout Session-Timeout |
replyItem Idle-Timeout Idle-Timeout |
replyItem Termination-Action Termination-Action |
replyItem Login-LAT-Service Login-LAT-Service |
replyItem Login-LAT-Node Login-LAT-Node |
replyItem Login-LAT-Group Login-LAT-Group |
replyItem Framed-AppleTalk-Link Framed-AppleTalk-Link |
replyItem Framed-AppleTalk-Network Framed-AppleTalk-Network |
replyItem Framed-AppleTalk-Zone Framed-AppleTalk-Zone |
replyItem Port-Limit Port-Limit |
replyItem Login-LAT-Port Login-LAT-Port |
replyitem Reply-Message Reply-Message |
replyItem Dialup-Lock-Msg Reply-Message |
replyItem User-Password User-Password |
/web/admin/includes/accounting.attrs |
---|
0,0 → 1,20 |
# Used by the User Accounting, the User finger and the Failed Logins page |
# |
# For the user finger page only callerid(9) and |
# ip address(4) are applicable |
# |
# For the Failed Logins page only looged in(2), server(7), |
# terminate cause(8) and callerid(9) are applicable |
# |
# attribute number Description Show in Show in Show in |
# User Accounting User Finger Failed Logins |
# |
1 type no no no |
2 logged in yes no yes |
3 session time yes no no |
4 ip address no yes no |
5 upload yes no no |
6 download yes no no |
7 server yes no yes |
8 terminate cause yes no yes |
9 callerid yes yes yes |
/web/admin/includes/default.vals |
---|
0,0 → 1,17 |
# |
# Uncomment and edit these lines if you add corresponding default |
# values in the users file |
# |
#Simultaneous-Use: 1 |
#Framed-IP-Address: 255.255.255.254 |
#Framed-IP-Netmask: 255.255.255.255 |
#Framed-MTU: 1500 |
#Framed-Protocol: PPP |
#Framed-Compression: Van-Jacobson-TCP-IP |
#Session-Timeout: 14400 |
#Idle-Timeout: 600 |
#Port-Limit: 1 |
#Max-Weekly-Session: 72000 |
#Max-Daily-Session: 14400 |
#Login-Time: |
#Auth-Type: LDAP |
/web/admin/includes/auth.request |
---|
0,0 → 1,5 |
# |
# Extra attributes that the test user/check server pages will send to |
# the RADIUS server |
# |
Service-Type = Framed-User |
/web/admin/includes/alcasar.conf |
---|
0,0 → 1,21 |
########################################## |
## ## |
## ALCASAR Parameters ## |
## ## |
########################################## |
INSTALL_DATE=22 juillet 2011 - 21h46 |
VERSION=2.2 |
ORGANISM=steweb57 |
PUBLIC_IP=192.168.1.10/24 |
GW=192.168.1.1 |
DNS1=192.168.1.1 |
DNS2=208.67.222.222 |
PRIVATE_IP=192.168.182.1/24 |
DHCP=on |
SSH=off |
QOS=off |
LDAP=off |
PROTOCOLS_FILTERING=off |
DNS_FILTERING=on |
WEB_ANTIVIRUS=on |
/web/admin/includes/sql.attrs |
---|
0,0 → 1,28 |
# Used by the Accounting Report Generator page |
# |
# Mysql attributes Description Show Use function |
# |
RadAcctId Accounting Id no |
AcctSessionId Session Id no |
AcctUniqueId Unique Id no |
UserName User Name yes |
Realm Realm no |
NASIPAddress NAS IP Address yes |
NASPortId NAS Port yes |
NASPortType NAS Port Type no |
AcctStartTime Login Time yes |
AcctStopTime Logout Time yes |
AcctSessionTime Session Time yes time2str |
AcctAuthentic AcctAuthentic no |
ConnectInfo_start Start Connect Info no |
ConnectInfo_stop Stop Connect Info no |
AcctInputOctets Upload yes bytes2str |
AcctOutputOctets Download yes bytes2str |
CalledStationId CalledStationId no |
CallingStationId Caller Id no |
AcctTerminateCause Terminate Cause no |
ServiceType Service Type no |
FramedProtocol Protocol no |
FramedIPAddress Client IP Address yes |
AcctStartDelay Accounting Start Delay no time2str |
AcctStopDelay Accounting Stop Delay no time2str |
/web/admin/includes/username.mappings |
---|
0,0 → 1,21 |
# Username mappings |
# Format: |
# Username:realm:query |
# |
# where realm is: |
# accounting: for the map to be used when querying the accounting db |
# userdb: for the map to be used when querying the user db |
# nasdb: To only map specific NASes to the username (separated by ,) |
# nasadmin: To allow the user to use the nas_admin page (yes or no) |
# |
library-admin:accounting:AND nasipaddress = '123.123.123.123' |
library-admin:userdb:AND Admin = 'library-admin' |
library-admin:nasdb:nas.lib.company.com |
library-admin:nasadmin:no |
# |
lab-admin:accounting:AND nasipaddress = '123.123.124.123' |
lab-admin:userdb:AND Admin = 'lab-admin' |
lab-admin:nasdb:nas.lab.company.com |
lab-admin:nasadmin:no |
# |
admin:nasadmin:yes |
/web/admin/includes/naslist.conf |
---|
0,0 → 1,31 |
# |
# This file contains the NAS list |
# |
nas1_name: nas1.%{general_domain} |
nas1_model: Cisco 2511 access server |
nas1_ip: 147.122.122.121 |
nas1_port_num: 16 |
nas1_community: public |
nas2_name: nas2.%{general_domain} |
nas2_model: Cisco 2511 access server |
nas2_ip: 147.122.122.123 |
nas2_port_num: 16 |
nas2_community: public |
# |
# finger type can also be set per NAS |
# snmp: Use snmp to query the NAS |
# database: Only query the sql database |
# |
# If it is not set, general_finger_type is assumed |
nas2_finger_type: database |
# nas type can also be set per NAS |
nas2_type: cisco |
nas3_name: nas3.%{general_domain} |
nas3_model: Cisco 5300 access server |
nas3_ip: 147.122.122.124 |
nas3_port_num: 210 |
nas3_community: public |
# |
# sessionclear method can also be set per NAS |
# |
nas3_sessionclear_method: telnet |
/web/admin/includes/config.inc.php |
---|
1,3 → 1,7 |
<?php |
$config['mysql_host']="127.0.0.1"; |
$config['mysql_db']="radius"; |
$config['mysql_user']="root"; |
$config['mysql_pwd']=""; |
?> |
/web/admin/includes/captions.conf |
---|
0,0 → 1,0 |
general_caption_finger_free_lines: free lines |
/web/admin/includes/sql.attrmap |
---|
0,0 → 1,52 |
# |
# The list of the attribute use in ALCASAR |
# |
# Format: |
# checkItem|replyItem Attribute-In-SQL Operator |
# |
# |
# checkItem Auth-Type |
checkItem Simultaneous-Use := |
# checkItem Called-Station-Id |
# checkItem Calling-Station-Id |
checkItem Max-Daily-Session := |
# checkItem Max-Weekly-Session := |
checkItem Max-Monthly-Session := |
checkItem Login-Time := |
checkItem Expiration := |
checkItem Crypt-Password = |
# replyItem Service-Type |
# replyItem Framed-Protocol |
# replyItem Framed-IP-Address |
# replyItem Framed-IP-Netmask |
# replyItem Framed-Route |
# replyItem Framed-Routing |
# replyItem Filter-Id |
# replyItem Framed-MTU |
# replyItem Framed-Compression |
# replyItem Login-IP-Host |
# replyItem Login-Service |
# replyItem Login-TCP-Port |
# replyItem Callback-Number |
# replyItem Callback-Id |
# replyItem Framed-IPX-Network |
replyItem Session-Timeout = |
# replyItem Idle-Timeout |
# replyItem Termination-Action |
# replyItem Login-LAT-Service |
# replyItem Login-LAT-Node |
# replyItem Login-LAT-Group |
# replyItem Framed-AppleTalk-Link |
# replyItem Framed-AppleTalk-Network |
# replyItem Framed-AppleTalk-Zone |
# replyItem Port-Limit |
# replyItem Login-LAT-Port |
# replyitem Reply-Message |
# replyItem User-Password |
replyItem ChilliSpot-Max-Input-Octets = |
replyItem ChilliSpot-Max-Output-Octets = |
replyItem ChilliSpot-Max-Total-Octets = |
replyItem ChilliSpot-Bandwidth-Max-Up = |
replyItem ChilliSpot-Bandwidth-Max-Down = |
replyItem WISPr-Redirection-URL = |
/web/admin/includes/extra.ldap-attrmap |
---|
0,0 → 1,12 |
# |
# An extra file for radius -> ldap attribute mapping |
# |
checkItem Dialup-Lock-Msg radiuslockmsg |
checkItem User-Password userpassword |
checkItem Regular-Profile radiusProfileDn |
checkItem Check-Item radiusCheckItem generic |
checkItem Max-Daily-Session radiusMaxDailySession |
checkItem Max-Weekly-Session radiusMaxWeeklySession |
checkItem Max-Monthly-Session radiusMaxMonthlySession |
replyItem Reply-Item radiusReplyItem generic |
/web/admin/includes/defines.inc.php |
---|
1,26 → 1,30 |
<?php |
/** |
* ALCASAR_ADMIN Application define |
*/ |
//Global definitions |
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"], "/"); |
$uri = substr($_SERVER["REQUEST_URI"],0,$pos); |
//Defines for include path |
define( 'ALCASAR_ADMIN_PATH_INC', ALCASAR_ADMIN_PATH_ROOT.'/includes' ); |
define( 'ALCASAR_ADMIN_PATH_LANG', ALCASAR_ADMIN_PATH_ROOT.'/languages' ); |
define( 'ALCASAR_ADMIN_PATH_LIB', ALCASAR_ADMIN_PATH_ROOT.'/lib' ); |
define( 'ALCASAR_ADMIN_PATH_RESSOURCES', ALCASAR_ADMIN_PATH_ROOT.'/ressources' ); |
//defines for html absolute path |
define( 'ALCASAR_ADMIN_PATH_JS', $uri.'/js' ); |
define( 'ALCASAR_ADMIN_PATH_CSS', $uri.'/css' ); |
define( 'ALCASAR_ADMIN_PATH_IMG', $uri.'/images' ); |
define( 'ALCASAR_ADMIN_PATH_RS', $uri.'/ressources' ); |
<?php |
/** |
* ALCASAR_ADMIN Application define |
*/ |
//Global definitions |
define('ALCASAR_SESSION', 1); |
define( 'DS', DIRECTORY_SEPARATOR ); |
define( 'ALCASAR_ADMIN_PATH_ROOT', '/var/www/html/admin' ); |
$parts = explode( DS, ALCASAR_ADMIN_PATH_ROOT ); |
$pos = strrpos($_SERVER["REQUEST_URI"], "/"); |
$uri = substr($_SERVER["REQUEST_URI"],0,$pos); |
//Defines for include path |
define( 'ALCASAR_ADMIN_PATH_INC', ALCASAR_ADMIN_PATH_ROOT.'/includes' ); |
define( 'ALCASAR_ADMIN_PATH_LANG', ALCASAR_ADMIN_PATH_ROOT.'/languages' ); |
define( 'ALCASAR_ADMIN_PATH_LIB', ALCASAR_ADMIN_PATH_ROOT.'/lib' ); |
define( 'ALCASAR_ADMIN_PATH_RESSOURCES', ALCASAR_ADMIN_PATH_ROOT.'/ressources' ); |
//Defines for html absolute path |
define( 'ALCASAR_ADMIN_PATH_JS', $uri.'/js' ); |
define( 'ALCASAR_ADMIN_PATH_CSS', $uri.'/css' ); |
define( 'ALCASAR_ADMIN_PATH_IMG', $uri.'/images' ); |
define( 'ALCASAR_ADMIN_PATH_RS', $uri.'/ressources' ); |
//Configuration files |
//define( 'ALCASAR_CONF_FILE', '/usr/local/setc/alcasar.conf'); |
//define( 'ALCASAR_CONF_FILE', ALCASAR_ADMIN_PATH_INC.'alcasar.conf'); |
?> |
/web/admin/includes/admin.conf |
---|
0,0 → 1,346 |
# |
# Main Configuration File |
# |
# it can be default or whatever language. Only greek are supported |
# from non latin alphabet languages |
# These attribute only apply for ldap not for sql |
# |
general_prefered_lang: en |
general_prefered_lang_name: English |
# |
# The charset which will be added as a meta tag in all pages |
# |
general_charset: iso-8859-1 |
# |
# Uncomment this if normal attributes (not the ;lang-xx ones) in ldap |
# are utf8 encoded. |
# |
#general_decode_normal_attributes: yes |
# |
# The directory where dialupadmin is installed |
# |
general_base_dir: /usr/local/dialup_admin |
# |
# The base directory of the freeradius radius installation |
# |
general_radiusd_base_dir: /usr/local/radiusd |
general_domain: company.com |
# |
# Set it to yes to use sessions and cache the various mappings |
# You can also set use_session = 1 in config.php3 to also cache |
# the admin.conf |
# |
# ---- IMPORTANT -- IMPORTANT -- IMPORTANT ---- |
#Remember to use the 'Clear Cache' page if you use sessions and do any changes |
#in any of the configuration files. |
# |
general_use_session: no |
# |
# This is used by the failed logins page. It states the default back time |
# in minutes. |
# |
general_most_recent_fl: 30 |
# |
# Realm setup |
# |
# Set general_strip_realms to yes in order to stip realms from usernames. |
# By default realms are not striped |
#general_strip_realms: yes |
# |
# The delimiter used in realms. Default is @ |
# |
general_realm_delimiter: @ |
# |
# The format of the realms. Can be either suffix (realm is after the username) |
# or prefix (realm is before the username). Default is suffix |
# |
general_realm_format: suffix |
# |
# |
# Determines if the administrator will be able to see and change the user password through |
# the user edit page |
general_show_user_password: yes |
general_raddb_dir: %{general_radiusd_base_dir}/etc/raddb |
general_ldap_attrmap: %{general_raddb_dir}/ldap.attrmap |
# Need to fix admin.conf file parser |
#general_clients_conf: %{general_raddb_dir}/clients.conf |
general_clients_conf: /usr/local/etc/raddb/clients.conf |
general_sql_attrmap: %{general_base_dir}/conf/sql.attrmap |
general_accounting_attrs_file: %{general_base_dir}/conf/accounting.attrs |
general_extra_ldap_attrmap: %{general_base_dir}/conf/extra.ldap-attrmap |
general_username_mappings_file: %{general_base_dir}/conf/username.mappings |
# |
# it can be either ldap or sql |
# This affects the user base not accounting. Accounting is always in sql |
# |
general_lib_type: sql |
# |
# Define which attributes will be visible in the user edit page |
# |
general_user_edit_attrs_file: %{general_base_dir}/conf/user_edit.attrs |
# |
# Used by the Accounting Report Generator |
# |
general_sql_attrs_file: %{general_base_dir}/conf/sql.attrs |
# |
# Set default values for various attributes |
# |
general_default_file: %{general_base_dir}/conf/default.vals |
#general_ld_library_path: /usr/local/snmpd/lib |
# |
# can be 'snmp' (for snmpfinger) or empty to query the radacct table without first |
# querying the nas |
# This is used by the online users page |
# |
general_finger_type: snmp |
# |
# Defines the nas type. This is only used by snmpfinger |
# cisco, usrhiper and lucent are supported for now |
# |
general_nas_type: cisco |
general_snmpfinger_bin: %{general_base_dir}/bin/snmpfinger |
# |
# Used by the 'Disconnect User' button in the Clear Open Sessions page |
# Uses the Cisco AAA Session MIB or a telnet session |
# |
general_sessionclear_bin: %{general_base_dir}/bin/clearsession |
# |
# Can be one of telnet or snmp |
# |
general_sessionclear_method: snmp |
general_radclient_bin: %{general_radiusd_base_dir}/bin/radclient |
# |
# this information is used from the server check page |
# |
general_test_account_login: test |
general_test_account_password: testpass |
# |
# These are used as default values for the user test page |
# |
general_radius_server: localhost |
general_radius_server_port: 1812 |
# |
# can be either pap or chap |
# |
general_radius_server_auth_proto: pap |
# |
# sorry, single valued for now. Should become something like |
# password[server-name]: xxxxx |
# |
general_radius_server_secret: XXXXXX |
general_auth_request_file: %{general_base_dir}/conf/auth.request |
# |
# can be one of crypt,md5,clear |
# |
general_encryption_method: crypt |
# |
# can be either asc (older dates first) or desc (recent dates first) |
# This is used in the user accounting and badusers pages |
# |
general_accounting_info_order: desc |
# |
# Use the totacct table in the user statistics page instead of the radacct |
# table. That will make the page run quicker. totacct should have data for |
# this to work :-) |
# |
general_stats_use_totacct: no |
# |
# If set to yes then we only allow each administrator to examine it's own entries |
# in the badusers table |
# |
general_restrict_badusers_access: no |
# |
# If set to yes then we restrict access to the nas administration page only to those |
# users which are allowed by their username mapping (nasadmin is set to yes) |
# |
general_restrict_nasadmin_access: no |
INCLUDE: %{general_base_dir}/conf/naslist.conf |
INCLUDE: %{general_base_dir}/conf/captions.conf |
# |
# The ldap server to connect to. |
# Both ldap_server and ldap_write_server can be a space-separated |
# list of ldap hostnames. In that case the library will try to connect |
# to the servers in the order that they appear. If the first host is down |
# ldap_connect will ask for the second ldap host and so on. |
# |
ldap_server: ldap.%{general_domain} |
# |
# There are many cases where we have a small write master and |
# a lot of fast read only replicas. If that is the case uncomment |
# ldap_write_server and point it to the write master. It will be |
# used only when writing to the directory, not when reading |
# |
#ldap_write_server: master.%{general_domain} |
ldap_base: dc=company,dc=com |
ldap_binddn: cn=Directory Manager |
ldap_bindpw: XXXXXXX |
ldap_default_new_entry_suffix: ou=dialup,ou=guests,%{ldap_base} |
ldap_default_dn: uid=default-dialup,%{ldap_base} |
ldap_regular_profile_attr: dialupregularprofile |
# |
# If set to yes then the HTTP credentials (http authentication) |
# will be used to bind to the ldap server instead of ldap_binddn |
# and ldap_bindpw. That way multiple admins with different rights |
# on the ldap database can connect through one dialup_admin interface. |
# The ldap_binddn and ldap_bindpw are still needed to find the DN |
# to bind with (http authentication will only provide us with a |
# username). As a result the ldap_binddn should be able to do a search |
# with a filter of (uid=<username>). Normally, the anonymous (empty DN) |
# user can do that. |
#ldap_use_http_credentials: yes |
# |
# If we are using http credentials we can map a specific username to the |
# directory manager (which usually does not correspond to a specific username) |
# |
#ldap_directory_manager: cn=Directory Manager |
#ldap_map_to_directory_manager: admin |
# |
# Uncomment to enable ldap debug |
# |
ldap_debug: true |
# |
# Allow for defining the ldap filter used when searching for a user |
# Variables supported: |
# %u: username |
# %U: username provided though http authentication |
# %mu: mappings for userdb |
# %ma: mappings for accounting |
# %mn: mappings for nasdb |
# %mN: mappings for nas administration |
# |
# One use of this would be to restrict access to only the user's belonging to |
# a specific administrator like this: |
# ldap_filter: (&(uid=%u)(manager=uid=%U,ou=admins,o=company,c=com)) |
# |
#ldap_filter: (uid=%u) |
# |
# If ldap_userdn is set then we use that for user dns, we don't perform an ldap |
# search. This can be somewhat faster. The variables supported for ldap_filter |
# are also supported here |
# |
#ldap_userdn: uid=%u,%{ldap_base} |
# |
# can be one of mysql,pg,oracle,sqlrelay where: |
# mysq: MySQL database (port 3306) |
# pg: PostgreSQL database (port 5432) |
# oracle: Oracle database (port 1521) |
# sqlrelay: SQL Relay |
# |
sql_type: mysql |
sql_server: localhost |
sql_port: 3306 |
sql_username: dialup_admin |
sql_password: XXXXXX |
sql_database: radius |
sql_accounting_table: radacct |
sql_badusers_table: badusers |
sql_check_table: radcheck |
sql_reply_table: radreply |
sql_user_info_table: userinfo |
sql_groupcheck_table: radgroupcheck |
sql_groupreply_table: radgroupreply |
sql_usergroup_table: usergroup |
sql_total_accounting_table: totacct |
sql_nas_table: nas |
# |
# If set to true then we show all the available groups with the groups |
# that the user is a member of highlighted in the user edit page. |
# Otherwise we only show the groups he is a member of. |
sql_show_all_groups: true |
# |
# This variable is used by the scripts in the bin folder |
# It should contain the path to the sql binary used to run |
# sql commands (mysql, psql, oracle and sqlrelay are only supported for now) |
sql_command: /usr/local/bin/mysql |
#sql_command: /usr/bin/psql |
#sql_command: /usr/bin/sqlplus |
# |
# This variable is used by the scripts in the bin folder |
# It should contain the snmp type and path to the binary |
# used to run snmp commands. |
# (ucd = UCD-Snmp and net = Net-Snmp are only supported for now) |
general_snmp_type: net |
general_snmpwalk_command: /usr/local/bin/snmpwalk |
general_snmpget_command: /usr/local/bin/snmpget |
# |
# Uncomment to enable sql debug |
# |
sql_debug: true |
# |
# If set to yes then the HTTP credentials (http authentication) |
# will be used to connect to the sql server instead of sql_username |
# and sql_password. That way multiple admins with different rights |
# on the sql database can connect through one dialup_admin interface. |
#sql_use_http_credentials: yes |
# |
# If set the query will be added to all of the queries on the accounting |
# table |
# Variables supported: |
# %u: username |
# %U: username provided though http authentication |
# %mu: mappings for userdb |
# %ma: mappings for accounting |
# %mn: mappings for nasdb |
# %mN: mappings for nas administration |
#sql_accounting_extra_query: %ma |
# |
# true or false |
# |
sql_use_user_info_table: true |
sql_use_operators: true |
# |
# Set this to the value of the default_user_profile in your |
# sql.conf if that one is set. If it is not set leave blank |
# or commented out |
#sql_default_user_profile: DEFAULT |
# |
# |
sql_password_attribute: User-Password |
sql_date_format: Y-m-d |
sql_full_date_format: Y-m-d H:i:s |
# |
# Used in the accounting report generator so that we |
# don't return too many results |
# |
sql_row_limit: 40 |
# |
# These options are used by the log_badlogins script and by the |
# mysql driver |
# |
# Set the sql connect timeout (secs) |
sql_connect_timeout: 3 |
# Give a space separated list of extra mysql servers to connect to when |
# logging bad logins or adding users in the badusers table |
#sql_extra_servers: sql2.company.com sql3.company.com |
# |
# Default values for the various user limits in case the counter module |
# is used to impose such limits. |
# The value should be the user limit in seconds or none for nothing |
# Check out conf/sql.attrmap or extra.ldap-attrmap (depending on if you are |
# using sql or ldap) for per user attributes. The mapping should be made to |
# the attributes configured in the counter module. The attributes used by |
# dialupadmin will always be the ones appearing in the attribute mapping files |
# so you should make sure they are mapped to the correct attributes |
# |
#counter_default_daily: 14400 |
#counter_default_weekly: 72000 |
counter_default_daily: none |
counter_default_weekly: none |
counter_default_monthly: none |
# |
# Since calculating monthly usage can be quite expensive we make |
# it configurable |
# This is not needed if the monthly limit is not none |
#counter_monthly_calculate_usage: true |
/web/admin/includes/config.php3 |
---|
0,0 → 1,114 |
<?php |
# |
# Things should work even if register_globals is set to off |
# |
$testVer=intval(str_replace(".", "",'4.1.0')); |
$curVer=intval(str_replace(".", "",phpversion())); |
if( $curVer >= $testVer ) |
import_request_variables('GPC'); |
# If using sessions set use_session to 1 to also cache the config file |
# |
$use_session = 0; |
unset($config); |
unset($nas_list); |
if ($use_session){ |
// Start session |
@session_start(); |
if (isset($_SESSION['config'])) |
$config = $_SESSION['config']; |
if (isset($_SESSION['nas_list'])) |
$nas_list = $_SESSION['nas_list']; |
} |
if (!isset($config)){ |
$ARR=file("../conf/admin.conf"); |
$EXTRA_ARR = array(); |
foreach($ARR as $val) { |
$val=chop($val); |
if (ereg('^[[:space:]]*#',$val) || ereg('^[[:space:]]*$',$val)) |
continue; |
list($key,$v)=split(":[[:space:]]*",$val,2); |
if (preg_match("/%\{(.+)\}/",$v,$matches)){ |
$val=$config[$matches[1]]; |
$v=preg_replace("/%\{$matches[1]\}/",$val,$v); |
} |
if (preg_match("/^nas(\d+)_(\w+)$/",$key,$matches)) |
$nas_list[$matches[1]][$matches[2]] = $v; |
if ($key == 'INCLUDE'){ |
if (is_readable($v)) |
array_push($EXTRA_ARR,file($v)); |
else |
echo "<b>Error: File '$v' does not exist or is not readable</b><br>\n"; |
} |
else |
$config["$key"]="$v"; |
} |
foreach($EXTRA_ARR as $val1) { |
foreach($val1 as $val){ |
$val=chop($val); |
if (ereg('^[[:space:]]*#',$val) || ereg('^[[:space:]]*$',$val)) |
continue; |
list($key,$v)=split(":[[:space:]]*",$val,2); |
if (preg_match("/%\{(.+)\}/",$v,$matches)){ |
$val=$config[$matches[1]]; |
$v=preg_replace("/%\{$matches[1]\}/",$val,$v); |
} |
if (preg_match("/^nas(\d+)_(\w+)$/",$key,$matches)) |
$nas_list[$matches[1]][$matches[2]] = $v; |
$config["$key"]="$v"; |
} |
} |
if ($use_session){ |
session_register('config'); |
session_register('nas_list'); |
} |
} |
if ($use_session == 0 && $config[general_use_session] == 'yes'){ |
// Start session |
@session_start(); |
if (isset($nas_list)) |
session_register('nas_list'); |
} |
//Make sure we are only passed allowed strings in username |
if ($login != '') |
$login = preg_replace("/[^\w\.\/\@\:\-]/",'',$login); |
if ($login != '' && $config[general_strip_realms] == 'yes'){ |
$realm_del = ($config[general_realm_delimiter] != '') ? $config[general_realm_delimiter] : '@'; |
$realm_for = ($config[general_realm_format] != '') ? $config[general_realm_format] : 'suffix'; |
$new = explode($realm_del,$login,2); |
if (count($new) == 2) |
$login = ($realm_for == 'suffix') ? $new[0] : $new[1]; |
} |
unset($mappings); |
if (isset($_SESSION['mappings'])) |
$mappings = $_SESSION['mappings']; |
if (!isset($mappings) && $config[general_username_mappings_file] != ''){ |
$ARR = file($config[general_username_mappings_file]); |
foreach($ARR as $val){ |
$val=chop($val); |
if (ereg('^[[:space:]]*#',$val) || ereg('^[[:space:]]*$',$val)) |
continue; |
list($key,$realm,$v)=split(":[[:space:]]*",$val,3); |
if ($realm == 'accounting' || $realm == 'userdb' || $realm == 'nasdb' || $realm == 'nasadmin') |
$mappings["$key"][$realm] = $v; |
if ($realm == 'nasdb'){ |
$NAS_ARR = array(); |
$NAS_ARR = split(',',$v); |
foreach ($nas_list as $key => $nas){ |
foreach ($NAS_ARR as $nas_check){ |
if ($nas_check == $nas[name]) |
unset($nas_list[$key]); |
} |
} |
} |
} |
if ($config[general_use_session] == 'yes') |
session_register('mappings'); |
} |
//Include missing.php3 if needed |
if (!function_exists('array_change_key_case')) |
include_once('../lib/missing.php3'); |
@header('Content-type: text/html; charset='.$config[general_charset].';'); |
?> |
/web/admin/lib/radiusMysqlUser.class |
---|
0,0 → 1,14 |
radiusMysqlUser |
bool load($username, $attribute) |
bool add() |
bool delete() |
bool update() |
bool save() |
bool set($key, $val) |
array get($key) |
bool checkPassword($pwd) |
bool setPassword($pwd) |
bool addgroup($group) |
bool deletegroup($group) |
array groups() |
/web/admin/lib/radiusMysqlUser.class.php.old |
---|
0,0 → 1,395 |
<?php |
/* |
*/ |
if (!(defined('ALCASAR_SESSION') && (ALCASAR_SESSION === 1))){ |
exit(); |
} |
require_once('mysql.class.php');// the mysql class in already OK! |
require_once(ALCASAR_ADMIN_PATH_INC.'/config.inc.php'); |
require_once('attrmap.php'); |
class radiusMysqlUser |
{ |
// public properties |
// no public properties |
// private properties |
private $database = null; |
private $username = null; |
private $userpassword = null; //$userpassword attribute = Crypt-Password |
private $userInfos = Array("id"=>"0","Username"=>"","Name"=>"","Mail"=>"","Department"=>"","WorkPhone"=>"","HomePhone"=>"","Mobile"=>""); |
private $checkItems = Array(); |
private $replyItems = Array(); |
private $op = Array(); |
private $groups = Array(); |
//TO DO : init $userInfos, $checkItems and $replyItems fields and operator from config file !!!! URGENT |
// protected properties |
// no protected properties |
// Class constructor |
public function __construct($dbOptions = Array()) |
{ |
/* |
Db init and config init to do! |
*/ |
if (count($dbOptions) == 0){ |
global $config; |
$this->database = new mysql($config['mysql_host'],$config['mysql_user'],$config['mysql_pwd'],$config['mysql_db']); |
} else { |
// TO DO |
//$this->database = new mysql("127.0.0.1","root","","radius"); |
} |
$this->_init(); |
} |
// Class destructor |
public function __destruct() |
{ |
//$this->mysql->close(); //is private ! |
$this->database = null; |
} |
// public methods |
public static function find($options = Array(), $escape=false) |
{ |
$database = new mysql("127.0.0.1","root","","radius"); |
/* |
If the options are not xss clean, escape all options string by calling _escapeDatas() method. |
*/ |
if ($escape == true) { |
//$this->_extractArray($options, true); //create variable from $options array and get xss clean for mysql database |
$options = $this->_escapeDatas($options); //create variable from $options array and get xss clean for mysql database |
} |
/* |
The differents $options values are : |
$distinct -> only distinct response ? |
$username -> only for this username |
$fields -> fields to return (default : username) |
$search -> search value to find |
$search_IN -> search in this/those field(s)(text or array) |
$limit -> to limit the resultset |
$offset -> offset (work with $limit for pagination) |
$sortby -> sort by x field (default : no sorting) |
$sortdir -> sort direction (ASC/DESC) (default : no sorting) |
$radius_attr-> radius attribute to find (text or array) if search_IN = radius |
*/ |
//mysql_real_escape_string |
$sql = "SELECT "; |
// distinct option |
if ((isset($distinct))&&($distinct=="distinct")) |
$sql .= "DISTINCT "; |
// field option (make sure that the field exist!) |
if ((isset($options['fields']))&&($options['fields']!='')){ |
$sql .= $options['fields'].", username "; |
}else{ |
$sql .= "username "; |
} |
$sql .= "FROM userinfo "; |
// search option |
if ((isset($options['username']))&&($options['username']!='')){ |
} |
// where option |
if ((isset($options['username']))&&($options['username']!="")) |
{ |
$sql .= "WHERE username='".$options['username']."'"; |
$this->username = $options['username']; |
} |
// sort |
if ((isset($options['sortby']))&&($options['sortby']!='')){ |
$sql .= "ORDER BY ".$options['sortby']." "; |
if ((isset($options['sortdir']))&&($options['sortdir']!='')){ |
$sql .= "LIMIT ".$options['sortdir']." "; |
} |
} |
// limit / offset |
if ((isset($options['limit']))&&($options['limit']!='')){ |
if ((isset($options['offset']))&&($options['offset']!='')){ |
$sql .= "LIMIT $offset $limit "; |
} else { |
$sql .= "LIMIT $limit "; |
} |
} |
$sql .= ";"; |
// query |
$result = $database->query($sql); |
// return the result values |
return $result; |
} |
public function load($username, $attribute = false) //ok |
{ |
/* |
Load an user from mysql database. If $attribute==true, get all chekitems and replyitems attributes too. |
*/ |
$sql = "SELECT * FROM userinfo WHERE UserName='$username';"; |
$result = $this->database->query($sql); |
if (count($result) != 1) return false; |
$this->userInfos = $result[0]; |
$sql = "SELECT * FROM radusergroup WHERE UserName='$username';"; |
$groups = $this->database->query($sql); |
foreach ($groups as $group){ |
$this->groups[] = $group['groupname']; |
} |
if ($attribute === true){ |
// get from radcheck table |
$rows=null; |
$sql = "SELECT * FROM radcheck WHERE username='$username';"; |
$rows = $this->database->query($sql); |
foreach ($rows as $row){ |
$this->checkItems[$row['attribute']] = $row['value']; |
} |
// get from radreply table |
$rows=null; |
$sql = "SELECT * FROM radreply WHERE username='$username';"; |
$rows = $this->database->query($sql); |
foreach ($rows as $row){ |
$this->replyItems[$row['attribute']] = $row['value']; |
} |
} |
return true; |
} |
public function add() |
{ |
/* |
Add the current user with all his attribute in the mysql database |
(only if the user not already exist) |
*/ |
$sql = ""; |
//INSERT INTO table (a,b,c) VALUES (1,2,3) |
//INSERT userinfo table (insert) |
$sql = "INSERT INTO userinfo (UserName, Name, Mail, Department, WorkPhone, HomePhone, Mobile) VALUES ($this->username, $this->userInfos['Name'], $this->userInfos['Mail'], $this->userInfos['Department'],$this->userInfos['WorkPhone'],$this->userInfos['HomePhone'],$this->userInfos['Mobile'])"; |
$this->database->exec($sql); |
//INSERT radcheck table (insert) |
foreach($this->checkItems as $key => $value){ |
if ($value!=""){ |
$sql = "INSERT INTO radcheck (UserName, attribute, op, value) VALUES ($this->username, $key, $this->op[$key], $value)"; |
$this->database->exec($sql); |
} |
} |
//INSERT radreply table (insert) |
foreach($this->replyItems as $key => $value){ |
if ($value!=""){ |
$sql = "INSERT INTO radreply (UserName, attribute, op, value) VALUES ($this->username, $key, $this->op[$key], $value)"; |
$this->database->exec($sql); |
} |
} |
//INSERT radusergroup table (insert) |
foreach($this->groups as $group){ |
$sql = "INSERT INTO radusergroup (userName, groupname, priority) VALUES ($this->username, $group, 1)"; |
$this->database->exec($sql); |
} |
//INSERT radpostauth table (insert) |
//$sql = "INSERT INTO radpostauth () VALUES ()"; |
// NOT YET ! |
//FUNCTION SET PASSWORD MUST BE CALLED MANUALLY !!! |
} |
public function delete() //ok |
{ |
if ($this->username === null) |
return false; |
/* |
Delete the current user from the mysql database |
note : this function doesn't delete any accounting record of the current user |
*/ |
if ($this->userid == 0) return 0; //0 record deleted |
//can be better with transaction |
$sql1 = "DELETE FROM radreply WHERE username = $this->username ;"; |
$sql2 = "DELETE FROM radcheck WHERE username = $this->username ;"; |
$sql3 = "DELETE FROM radpostauth WHERE username = $this->username ;"; |
$sql4 = "DELETE FROM radusergroup WHERE username = $this->username ;"; |
$sql5 = "DELETE FROM userinfo WHERE username = $this->username ;"; |
$nb1 = $this->database->exec($sql1); |
$nb2 = $this->database->exec($sql2); |
$nb3 = $this->database->exec($sql3); |
$nb4 = $this->database->exec($sql4); |
$nb5 = $this->database->exec($sql5); |
return ($nb1+$nb2+$nb3+$nb4+$nb5); // n record deleted |
} |
public function update() |
{ |
if ($this->username === null) |
return false; |
/* |
Update the current user with all his attribute in the mysql database |
(only if the user does not already exist) |
*/ |
if ($this->userid == 0) return 0; //0 record deleted |
//UPDATE userinfo table (update) |
//UPDATE radcheck table (update) |
//UPDATE radreply table (update) |
//UPDATE radusergroup table (update) |
//UPDATE radpostauth table (update) |
} |
public function save() //ok |
{ |
if ($this->username === null) |
return false; |
/* |
insert or Update the current user with all his attribute in the mysql database |
(use add() and update() method) |
*/ |
if ($this->userInfos['id'] != 0){ |
// User was loaded, so it exist |
return $this->update(); |
}else{ |
// load function was not called, we must test if the user exist! |
$options['username'] = $this->username; |
$users = radiusMysqlUser::find($options); |
if (count($users)==0){ |
//username do not exist |
} elseif (count($users)==1){ |
//username already exist |
return $this->update(); |
} else { |
// error in database, we fixe it |
$this->delete(); |
return $this->add(); |
} |
} |
} |
public function get($userInfo = 'null') //ok |
{ |
/* |
return userInfos |
*/ |
if (array_key_exists($userInfo, $this->userInfos)){ |
return $this->userInfos[$userInfo]; |
} else { |
return $this->userInfos; |
} |
} |
public function set($userInfo) //ok |
{ |
/* |
Set a value in userInfos |
*/ |
if (array_key_exists($userInfo, $this->userInfos)){ |
$this->userInfos[$userInfo] = $userInfo; |
} |
if (strtolower($userInfo) == "username") $this->username = $userInfo; |
} |
public function getAttribute($attribute = null) |
{ |
/* |
Get a checkItem or replyItem from the user or get the value from the mysql database |
*/ |
if ($attribute == null){ |
return array_merge($this->checkItems, $this->replyItems); |
} else { |
if (array_key_exists($attribute, $this->userInfos)){ |
return $this->userInfos[$attribute]; |
} elseif (array_key_exists($attribute, $this->checkItems)){ |
return $this->checkItems[$attribute]; |
} elseif (array_key_exists($attribute, $this->replyItems)){ |
return $this->replyItems[$attribute]; |
} else{ |
return null; |
} |
} |
} |
public function setAttribute($attribute) |
{ |
/* |
Set a checkItem or replyItem of the user |
*/ |
} |
public function checkPassword($pwd) |
{ |
// Check the user password |
// Return true or false |
} |
public function setPassword($pwd = null, $username = null) |
{ |
if ($pwd==null){ |
$pwd = $this->_encrypt($this->checkitems); |
} else { |
} |
// Set or change the user password |
/* |
$sql = |
"SELECT value FROM $config[sql_check_table] WHERE username = '$login' |
AND attribute = '$config[sql_password_attribute]';"); |
"UPDATE $config[sql_check_table] SET value = '$passwd' $text3 WHERE |
attribute = '$config[sql_password_attribute]' AND username = '$login';" |
"INSERT INTO $config[sql_check_table] (attribute,value,username $text1) |
VALUES ('$config[sql_password_attribute]','$passwd','$login' $text2);" |
*/ |
} |
// private methods |
private function _escapeDatas($options) |
{ |
} |
private function _encrypt() |
{ |
$numargs=func_num_args(); |
$passwd=func_get_arg(0); |
# calcul d'un salt pour forcer le chiffrement en MD5 au lieu de blowfish par defaut dans php version mdva > 2007.1 |
$salt='$1$passwd$'; |
if ($numargs == 2){ |
$salt=func_get_arg(1); |
return crypt($passwd,$salt); |
} |
return crypt($passwd,$salt); |
} |
private function _init() |
{ |
//TO DO : supprimer les variables globales |
global $attrmap, $attr_type, $attr_op; |
foreach ($attrmap as $attr){ |
if ($attr_type[$attr]=="checkItem"){ |
$this->checkItems[$attr] = ""; |
}elseif ($attr_type[$attr]=="replyItem"){ |
$this->replyItems[$attr] = ""; |
} |
if ($attr_op[$attr] != ""){ |
$this->op[$attr] = $attr_op[$attr]; |
} else { |
$this->op[$attr] = "="; |
} |
} |
} |
// protected methods |
// no protected method |
} |
?> |
/web/admin/lib/radiusMysqlUser.class.php |
---|
2,7 → 2,12 |
/* |
*/ |
if (!(defined('ALCASAR_SESSION') && (ALCASAR_SESSION === 1))){ |
exit(); |
} |
require_once('mysql.class.php');// the mysql class in already OK! |
require_once(ALCASAR_ADMIN_PATH_INC.'/config.inc.php'); |
require_once('attrmap.php'); |
class radiusMysqlUser |
{ |
12,10 → 17,12 |
// private properties |
private $database = null; |
private $username = null; |
private $userid = 0; |
private $userInfos = Array("Username"=>"","Name"=>"","Mail"=>"","Department"=>"","WorkPhone"=>"","HomePhone"=>"","Mobile"=>""); |
private $userpassword = null; //$userpassword attribute = Crypt-Password |
private $userInfos = Array("id"=>"0","Username"=>"","Name"=>"","Mail"=>"","Department"=>"","WorkPhone"=>"","HomePhone"=>"","Mobile"=>""); |
private $checkItems = Array(); |
private $replyItems = Array(); |
private $op = Array(); |
private $groups = Array(); |
//TO DO : init $userInfos, $checkItems and $replyItems fields and operator from config file !!!! URGENT |
24,12 → 31,18 |
// no protected properties |
// Class constructor |
public function __construct($dbOptions = Array(), $attributeConfig = Array()) |
public function __construct($dbOptions = Array())//ok |
{ |
/* |
Db init and config init to do! |
*/ |
$this->database = new mysql("127.0.0.1","root","","radius"); |
if (count($dbOptions) == 0){ |
global $config; |
$this->database = new mysql($config['mysql_host'],$config['mysql_user'],$config['mysql_pwd'],$config['mysql_db']); |
} else { |
extract($dbOptions); |
if (isset($mysql_host)&&isset($mysql_user)&&isset($mysql_pwd)&&isset($mysql_db)){ |
$this->database = new mysql($mysql_host,$mysql_user,$mysql_pwd,$mysql_db); |
} |
} |
$this->_init(); |
} |
// Class destructor |
public function __destruct() |
121,27 → 134,37 |
if (count($result) != 1) return false; |
$this->userInfos = $result[0]; |
$sql = "SELECT * FROM radusergroup WHERE UserName='$username';"; |
$groups = $this->database->query($sql); |
foreach ($groups as $group){ |
$this->groups[] = $group['groupname']; |
} |
if ($attribute === true){ |
// get from radcheck table |
$result=null; |
$rows=null; |
$sql = "SELECT * FROM radcheck WHERE username='$username';"; |
$result = $this->database->query($sql); |
if (count($result) != 1) return false; |
$this->checkItems = $result[0]; |
$rows = $this->database->query($sql); |
foreach ($rows as $row){ |
$this->checkItems[$row['attribute']] = $row['value']; |
} |
// get from radreply table |
$result=null; |
$rows=null; |
$sql = "SELECT * FROM radreply WHERE username='$username';"; |
$result = $this->database->query($sql); |
if (count($result) != 1) return false; |
$this->replyItems = $result[0]; |
$rows = $this->database->query($sql); |
foreach ($rows as $row){ |
$this->replyItems[$row['attribute']] = $row['value']; |
} |
} |
return true; |
} |
public function add() |
public function add()//ok |
{ |
/* |
Add the current user with all his attribute in the mysql database |
151,19 → 174,40 |
//INSERT INTO table (a,b,c) VALUES (1,2,3) |
//INSERT userinfo table (insert) |
$sql = "INSERT INTO userinfo (UserName, Name, Mail, Department, WorkPhone, HomePhone, Mobile) VALUES ()"; |
$sql = "INSERT INTO userinfo (UserName, Name, Mail, Department, WorkPhone, HomePhone, Mobile) VALUES ($this->username, $this->userInfos['Name'], $this->userInfos['Mail'], $this->userInfos['Department'],$this->userInfos['WorkPhone'],$this->userInfos['HomePhone'],$this->userInfos['Mobile'])"; |
$this->database->exec($sql); |
//INSERT radcheck table (insert) |
$sql = ""; |
foreach($this->checkItems as $key => $value){ |
if ($value!=""){ |
$sql = "INSERT INTO radcheck (UserName, attribute, op, value) VALUES ($this->username, $key, $this->op[$key], $value)"; |
$this->database->exec($sql); |
} |
} |
//INSERT radreply table (insert) |
$sql = ""; |
foreach($this->replyItems as $key => $value){ |
if ($value!=""){ |
$sql = "INSERT INTO radreply (UserName, attribute, op, value) VALUES ($this->username, $key, $this->op[$key], $value)"; |
$this->database->exec($sql); |
} |
} |
//INSERT radusergroup table (insert) |
$sql = ""; |
foreach($this->groups as $group){ |
$sql = "INSERT INTO radusergroup (userName, groupname, priority) VALUES ($this->username, $group, 1)"; |
$this->database->exec($sql); |
} |
//INSERT radpostauth table (insert) |
//$sql = "INSERT INTO radpostauth () VALUES ()"; |
// NOT YET ! |
//FUNCTION SET PASSWORD MUST BE CALLED MANUALLY !!! |
} |
public function delete() //ok |
{ |
if ($this->username === null) |
return false; |
/* |
Delete the current user from the mysql database |
note : this function doesn't delete any accounting record of the current user |
187,6 → 231,9 |
} |
public function update() |
{ |
if ($this->username === null) |
return false; |
/* |
Update the current user with all his attribute in the mysql database |
(only if the user does not already exist) |
196,85 → 243,225 |
//UPDATE userinfo table (update) |
//UPDATE radcheck table (update) |
foreach ($this->checkItems as $checkItem){ |
if ($checkItem == ""){ |
$this->_deleteItem($checkItem, "radcheck"); |
} else { |
$this->_insertUpdateItem($checkItem, "radcheck"); |
} |
} |
//UPDATE radreply table (update) |
foreach ($this->replyItems as $replyItem){ |
if ($replyItem == ""){ |
$this->_deleteItem($replyItem, "radreply"); |
} else { |
$this->_insertUpdateItem($replyItem, "radreply"); |
} |
} |
//UPDATE radusergroup table (update) |
foreach ($this->groups as $group){ |
if ($group == ""){ |
$this->_deletegroup($group); |
} else { |
$this->_insertUpdateGroup($group); |
} |
} |
//UPDATE radpostauth table (update) |
//NOT YET |
} |
public function save() //ok |
public function save() |
{ |
if ($this->username === null) |
return false; |
/* |
insert or Update the current user with all his attribute in the mysql database |
(use add() and update() method) |
*/ |
if ($this->userid == 0){ |
return $this->add(); |
} else { |
if ($this->userInfos['id'] != 0){ |
// User was loaded, so it exist |
return $this->update(); |
}else{ |
// load function was not called, we must test if the user exist! |
$options['username'] = $this->username; |
$users = radiusMysqlUser::find($options); |
if (count($users)==0){ |
//username do not exist |
} elseif (count($users)==1){ |
//username already exist |
return $this->update(); |
} else { |
// error in database, we fixe it |
$this->delete(); |
return $this->add(); |
} |
} |
} |
public function get($userInfo = 'null') //ok |
public function set($key = null, $val=null)//ok |
{ |
/* |
return userInfos |
Set a value in userInfos, checkItem or replyItem |
*/ |
if (array_key_exists($userInfo, $this->userInfos)){ |
return $this->userInfos[$userInfo]; |
//exit('hs1'); |
if (($key == null)||($val == null)){ |
//exit('hs2'); |
return false; |
} else { |
return $this->userInfos; |
} |
if (array_key_exists($key, $this->userInfos)){ |
$this->userInfos[$key] = $val; |
//exit('hs3'); |
} elseif (array_key_exists($key, $this->checkItems)){ |
$this->checkItems[$key] = $val; |
//exit('hs4'); |
} elseif (array_key_exists($key, $this->replyItems)){ |
$this->replyItems[$key] = $val; |
//exit('hs5'); |
} else{ |
//exit('hs6'); |
return false; |
} |
return true; |
} |
} |
public function set($userInfo) //ok |
public function get($key = null)//ok |
{ |
/* |
Set a value in userInfos |
Get a userInfos, checkItem or replyItem from the user or get the value from the mysql database |
*/ |
if (array_key_exists($userInfo, $this->userInfos)){ |
$this->userInfos[$userInfo] = $userInfo; |
if ($key == null){ |
$tmp = array_merge($this->userInfos,$this->checkItems, $this->replyItems); |
return array_change_key_case($tmp); |
} else { |
if (array_key_exists($key, $this->userInfos)){ |
return $this->userInfos[$key]; |
} elseif (array_key_exists($key, $this->checkItems)){ |
return $this->checkItems[$key]; |
} elseif (array_key_exists($key, $this->replyItems)){ |
return $this->replyItems[$key]; |
} else{ |
return null; |
} |
} |
if (strtolower($userInfo) == "username") $this->username = $userInfo; |
} |
public function getAttribute($attribute = null) |
public function checkPassword($pwd) |
{ |
/* |
Get a checkItem or replyItem from the user or get the value from the mysql database |
*/ |
if (array_key_exists($attribute, $this->userInfos)){ |
// Check the user password |
// Return true or false |
} |
public function setPassword($pwd = null, $username = null) |
{ |
if ($pwd==null){ |
$pwd = $this->_encrypt($this->checkitems); |
} else { |
} elseif (array_key_exists($attribute, $this->checkItems)){ |
} |
} elseif (array_key_exists($attribute, $this->replyItems)){ |
// Set or change the user password |
/* |
$sql = |
"SELECT value FROM $config[sql_check_table] WHERE username = '$login' |
AND attribute = '$config[sql_password_attribute]';"); |
} else{ |
"UPDATE $config[sql_check_table] SET value = '$passwd' $text3 WHERE |
attribute = '$config[sql_password_attribute]' AND username = '$login';" |
"INSERT INTO $config[sql_check_table] (attribute,value,username $text1) |
VALUES ('$config[sql_password_attribute]','$passwd','$login' $text2);" |
*/ |
} |
public function groups() |
{ |
return $this->groups; |
} |
public function addgroup($groupname)//ok |
{ |
$this->groups[] = $groupname; |
} |
public function deletegroup($groupname)//ok |
{ |
if (array_key_exists($groupname, $this->groups)){ |
unset($this->groups[$groupname]); |
} |
} |
public function setAttribute($attribute) |
// private methods |
private function _insertUpdateItem($itemName, $tableName) |
{ |
/* |
Set a checkItem or replyItem of the user |
*/ |
// faire un select |
$sqlSelect = ""; |
$result = $database->query($sqlSelect); |
if (count($result) > 0){ |
// update si réponse select > 0 |
$sqlUpdate = ""; |
return $this->database->exec($sqlUpdate); |
} else { |
// insert si réponse select == 0 |
$sqlInsert = ""; |
return $this->database->exec($sqlInsert); |
} |
} |
public function checkPassword($pwd) |
private function _deleteItem($itemName, $tableName) |
{ |
// Check the user password |
// Return true or false |
$sql1 = "DELETE FROM $tableName WHERE username = $this->username AND attribute = $itemName;"; |
return $this->database->exec($sql1); |
} |
public function setPassword($pwd) |
private function _insertUpdateGroup($groupName) |
{ |
// Set or change the user password |
// faire un select |
$sqlSelect = ""; |
$result = $database->query($sqlSelect); |
if (count($result) > 0){ |
// update si réponse select > 0 |
$sqlUpdate = ""; |
return $this->database->exec($sqlUpdate); |
} else { |
// insert si réponse select == 0 |
$sqlInsert = ""; |
return $this->database->exec($sqlInsert); |
} |
} |
// private methods |
private function _deletegroup($groupName) |
{ |
$sql1 = "DELETE FROM radusergroup WHERE username = $this->username AND groupname = $groupName;"; |
return $this->database->exec($sql1); |
} |
private function _escapeDatas($options) |
{ |
} |
private function _init($configFile) |
private function _encrypt() |
{ |
$numargs=func_num_args(); |
$passwd=func_get_arg(0); |
# calcul d'un salt pour forcer le chiffrement en MD5 au lieu de blowfish par defaut dans php version mdva > 2007.1 |
$salt='$1$passwd$'; |
if ($numargs == 2){ |
$salt=func_get_arg(1); |
return crypt($passwd,$salt); |
} |
return crypt($passwd,$salt); |
} |
private function _init() |
{ |
//TO DO : supprimer les variables globales |
global $attrmap, $attr_type, $attr_op; |
foreach ($attrmap as $attr){ |
if ($attr_type[$attr]=="checkItem"){ |
$this->checkItems[$attr] = ""; |
}elseif ($attr_type[$attr]=="replyItem"){ |
$this->replyItems[$attr] = ""; |
} |
if ($attr_op[$attr] != ""){ |
$this->op[$attr] = $attr_op[$attr]; |
} else { |
$this->op[$attr] = "="; |
} |
} |
} |
// protected methods |
// no protected method |
} |
/web/admin/lib/attrmap.php.old |
---|
0,0 → 1,56 |
<?php |
/* |
*/ |
if (!(defined('ALCASAR_SESSION') && (ALCASAR_SESSION === 1))){ |
exit(); |
} |
$config['general_use_session'] = "no"; |
$config['general_sql_attrmap'] = ALCASAR_ADMIN_PATH_INC."/sql.attrmap"; |
#Read sql attribute map |
unset($attrmap); |
unset($rev_attrmap); |
unset($attr_type); |
if (isset($_SESSION['attrmap'])){ |
#If attrmap is set then the rest will also be set |
$attrmap = $_SESSION['attrmap']; |
$rev_attrmap =$_SESSION['rev_attrmap']; |
$attr_type = $_SESSION['attr_type']; |
} |
else{ |
$ARR = file("$config[general_sql_attrmap]"); |
foreach($ARR as $val){ |
$val=chop($val); |
//if (ereg('^[[:space:]]*#',$val) || ereg('^[[:space:]]*$',$val)) |
if (preg_match('/^[[:space:]]*#/',$val) || preg_match('/^[[:space:]]*$/',$val)) |
continue; |
//list($type,$key,$v)=split('[[:space:]]+',$val); |
list($type,$key,$v)=preg_split('/[[:space:]]+/',$val); |
$attrmap["$key"]=$v; |
$rev_attrmap["$v"] = $key; |
$attr_type["$key"]=$type; |
} |
if (isset($show_attrs)){ |
foreach($show_attrs as $key => $desc){ |
if ($attrmap["$key"] == ''){ |
$attrmap["$key"] = $key; |
$attr_type["key"] = 'replyItem'; |
$rev_attrmap["$key"] = $key; |
} |
} |
} |
//if ($config[general_use_session] == 'yes'){ |
if ($config['general_use_session'] == 'yes'){ |
session_register('attrmap'); |
session_register('rev_attrmap'); |
session_register('attr_type'); |
} |
} |
echo "<pre>"; |
print_r($attrmap); |
print_r($attr_type); |
print_r($rev_attrmap); |
echo "</pre>"; |
?> |
/web/admin/lib/attrmap.php |
---|
0,0 → 1,38 |
<?php |
/* |
*/ |
if (!(defined('ALCASAR_SESSION') && (ALCASAR_SESSION === 1))){ |
exit(); |
} |
$config['general_use_session'] = "no"; |
$config['general_sql_attrmap'] = ALCASAR_ADMIN_PATH_INC."/sql.attrmap"; |
#Read sql attribute map |
unset($attrmap); |
unset($rev_attrmap); |
unset($attr_type); |
if (isset($_SESSION['attrmap'])){ |
#If attrmap is set then the rest will also be set |
$attrmap = $_SESSION['attrmap']; |
$attr_type = $_SESSION['attr_type']; |
$attr_op = $_SESSION['attr_op']; |
} |
else{ |
$ARR = file("$config[general_sql_attrmap]"); |
foreach($ARR as $val){ |
$val=chop($val); |
if (preg_match('/^[[:space:]]*#/',$val) || preg_match('/^[[:space:]]*$/',$val)) |
continue; |
list($type,$key,$op)=preg_split('/[[:space:]]+/',$val); |
$attrmap["$key"]=$key; |
$attr_type["$key"]=$type; |
$attr_op["$key"]=$op; |
} |
if ($config['general_use_session'] == 'yes'){ |
session_register('attrmap'); |
session_register('attr_type'); |
session_register('attr_op'); |
} |
} |
?> |
/web/admin/compteur.txt |
---|
1,0 → 0,0 |
78 |
121 |
/web/admin/js/jquery-ui-i18n.min.js |
---|
0,0 → 1,150 |
jQuery(function(a){a.datepicker.regional.af={closeText:"Selekteer",prevText:"Vorige",nextText:"Volgende",currentText:"Vandag",monthNames:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],dayNamesShort:["Son","Maa","Din","Woe","Don","Vry","Sat"],dayNamesMin:["So", |
"Ma","Di","Wo","Do","Vr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.af)}); |
jQuery(function(a){a.datepicker.regional["ar-DZ"]={closeText:"\u0625\u063a\u0644\u0627\u0642",prevText:"<\u0627\u0644\u0633\u0627\u0628\u0642",nextText:"\u0627\u0644\u062a\u0627\u0644\u064a>",currentText:"\u0627\u0644\u064a\u0648\u0645",monthNames:["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631", |
"\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],dayNamesShort:["\u0627\u0644\u0623\u062d\u062f", |
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],dayNamesMin:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629", |
"\u0627\u0644\u0633\u0628\u062a"],weekHeader:"\u0623\u0633\u0628\u0648\u0639",dateFormat:"dd/mm/yy",firstDay:6,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["ar-DZ"])}); |
jQuery(function(a){a.datepicker.regional.ar={closeText:"\u0625\u063a\u0644\u0627\u0642",prevText:"<\u0627\u0644\u0633\u0627\u0628\u0642",nextText:"\u0627\u0644\u062a\u0627\u0644\u064a>",currentText:"\u0627\u0644\u064a\u0648\u0645",monthNames:["\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0634\u0628\u0627\u0637","\u0622\u0630\u0627\u0631","\u0646\u064a\u0633\u0627\u0646","\u0645\u0627\u064a\u0648","\u062d\u0632\u064a\u0631\u0627\u0646","\u062a\u0645\u0648\u0632", |
"\u0622\u0628","\u0623\u064a\u0644\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", |
"\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],dayNamesShort:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],dayNamesMin:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646", |
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],weekHeader:"\u0623\u0633\u0628\u0648\u0639",dateFormat:"dd/mm/yy",firstDay:6,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ar)}); |
jQuery(function(a){a.datepicker.regional.az={closeText:"Ba\u011fla",prevText:"<Geri",nextText:"\u0130r\u0259li>",currentText:"Bug\u00fcn",monthNames:["Yanvar","Fevral","Mart","Aprel","May","\u0130yun","\u0130yul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthNamesShort:["Yan","Fev","Mar","Apr","May","\u0130yun","\u0130yul","Avq","Sen","Okt","Noy","Dek"],dayNames:["Bazar","Bazar ert\u0259si","\u00c7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131","\u00c7\u0259r\u015f\u0259nb\u0259", |
"C\u00fcm\u0259 ax\u015fam\u0131","C\u00fcm\u0259","\u015e\u0259nb\u0259"],dayNamesShort:["B","Be","\u00c7a","\u00c7","Ca","C","\u015e"],dayNamesMin:["B","B","\u00c7","\u0421","\u00c7","C","\u015e"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.az)}); |
jQuery(function(a){a.datepicker.regional.bg={closeText:"\u0437\u0430\u0442\u0432\u043e\u0440\u0438",prevText:"<\u043d\u0430\u0437\u0430\u0434",nextText:"\u043d\u0430\u043f\u0440\u0435\u0434>",nextBigText:">>",currentText:"\u0434\u043d\u0435\u0441",monthNames:["\u042f\u043d\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433\u0443\u0441\u0442", |
"\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438","\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438","\u041d\u043e\u0435\u043c\u0432\u0440\u0438","\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438"],monthNamesShort:["\u042f\u043d\u0443","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u043a"],dayNames:["\u041d\u0435\u0434\u0435\u043b\u044f", |
"\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a","\u0412\u0442\u043e\u0440\u043d\u0438\u043a","\u0421\u0440\u044f\u0434\u0430","\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a","\u041f\u0435\u0442\u044a\u043a","\u0421\u044a\u0431\u043e\u0442\u0430"],dayNamesShort:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0412\u0442\u043e","\u0421\u0440\u044f","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u044a\u0431"],dayNamesMin:["\u041d\u0435","\u041f\u043e","\u0412\u0442","\u0421\u0440", |
"\u0427\u0435","\u041f\u0435","\u0421\u044a"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.bg)}); |
jQuery(function(a){a.datepicker.regional.bs={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","\u010cet","Pet","Sub"],dayNamesMin:["Ne","Po", |
"Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.bs)}); |
jQuery(function(a){a.datepicker.regional.ca={closeText:"Tancar",prevText:"<Ant",nextText:"Seg>",currentText:"Avui",monthNames:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthNamesShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],dayNames:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],dayNamesShort:["Dug","Dln","Dmt","Dmc","Djs","Dvn","Dsb"],dayNamesMin:["Dg", |
"Dl","Dt","Dc","Dj","Dv","Ds"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ca)}); |
jQuery(function(a){a.datepicker.regional.cs={closeText:"Zav\u0159\u00edt",prevText:"<D\u0159\u00edve",nextText:"Pozd\u011bji>",currentText:"Nyn\u00ed",monthNames:["leden","\u00fanor","b\u0159ezen","duben","kv\u011bten","\u010derven","\u010dervenec","srpen","z\u00e1\u0159\u00ed","\u0159\u00edjen","listopad","prosinec"],monthNamesShort:["led","\u00fano","b\u0159e","dub","kv\u011b","\u010der","\u010dvc","srp","z\u00e1\u0159","\u0159\u00edj","lis","pro"],dayNames:["ned\u011ble","pond\u011bl\u00ed", |
"\u00fater\u00fd","st\u0159eda","\u010dtvrtek","p\u00e1tek","sobota"],dayNamesShort:["ne","po","\u00fat","st","\u010dt","p\u00e1","so"],dayNamesMin:["ne","po","\u00fat","st","\u010dt","p\u00e1","so"],weekHeader:"T\u00fdd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.cs)}); |
jQuery(function(a){a.datepicker.regional.da={closeText:"Luk",prevText:"<Forrige",nextText:"N\u00e6ste>",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["S\u00f8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\u00f8rdag"],dayNamesShort:["S\u00f8n","Man","Tir","Ons","Tor","Fre","L\u00f8r"],dayNamesMin:["S\u00f8", |
"Ma","Ti","On","To","Fr","L\u00f8"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.da)}); |
jQuery(function(a){a.datepicker.regional.de={closeText:"schlie\u00dfen",prevText:"<zur\u00fcck",nextText:"Vor>",currentText:"heute",monthNames:["Januar","Februar","M\u00e4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","M\u00e4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So", |
"Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"Wo",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.de)}); |
jQuery(function(a){a.datepicker.regional.el={closeText:"\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf",prevText:"\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03c2",nextText:"\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2",currentText:"\u03a4\u03c1\u03ad\u03c7\u03c9\u03bd \u039c\u03ae\u03bd\u03b1\u03c2",monthNames:["\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2", |
"\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2","\u039c\u03ac\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2","\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2","\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2","\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"],monthNamesShort:["\u0399\u03b1\u03bd", |
"\u03a6\u03b5\u03b2","\u039c\u03b1\u03c1","\u0391\u03c0\u03c1","\u039c\u03b1\u03b9","\u0399\u03bf\u03c5\u03bd","\u0399\u03bf\u03c5\u03bb","\u0391\u03c5\u03b3","\u03a3\u03b5\u03c0","\u039f\u03ba\u03c4","\u039d\u03bf\u03b5","\u0394\u03b5\u03ba"],dayNames:["\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1","\u03a4\u03c1\u03af\u03c4\u03b7","\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae", |
"\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"],dayNamesShort:["\u039a\u03c5\u03c1","\u0394\u03b5\u03c5","\u03a4\u03c1\u03b9","\u03a4\u03b5\u03c4","\u03a0\u03b5\u03bc","\u03a0\u03b1\u03c1","\u03a3\u03b1\u03b2"],dayNamesMin:["\u039a\u03c5","\u0394\u03b5","\u03a4\u03c1","\u03a4\u03b5","\u03a0\u03b5","\u03a0\u03b1","\u03a3\u03b1"],weekHeader:"\u0395\u03b2\u03b4",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.el)}); |
jQuery(function(a){a.datepicker.regional["en-AU"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu", |
"We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["en-AU"])}); |
jQuery(function(a){a.datepicker.regional["en-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu", |
"We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["en-GB"])}); |
jQuery(function(a){a.datepicker.regional["en-NZ"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu", |
"We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["en-NZ"])}); |
jQuery(function(a){a.datepicker.regional.eo={closeText:"Fermi",prevText:"<Anta",nextText:"Sekv>",currentText:"Nuna",monthNames:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","A\u016dgusto","Septembro","Oktobro","Novembro","Decembro"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016dg","Sep","Okt","Nov","Dec"],dayNames:["Diman\u0109o","Lundo","Mardo","Merkredo","\u0134a\u016ddo","Vendredo","Sabato"],dayNamesShort:["Dim","Lun","Mar","Mer","\u0134a\u016d","Ven", |
"Sab"],dayNamesMin:["Di","Lu","Ma","Me","\u0134a","Ve","Sa"],weekHeader:"Sb",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.eo)}); |
jQuery(function(a){a.datepicker.regional.es={closeText:"Cerrar",prevText:"<Ant",nextText:"Sig>",currentText:"Hoy",monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"], |
dayNamesMin:["Do","Lu","Ma","Mi","Ju","Vi","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.es)}); |
jQuery(function(a){a.datepicker.regional.et={closeText:"Sulge",prevText:"Eelnev",nextText:"J\u00e4rgnev",currentText:"T\u00e4na",monthNames:["Jaanuar","Veebruar","M\u00e4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthNamesShort:["Jaan","Veebr","M\u00e4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],dayNames:["P\u00fchap\u00e4ev","Esmasp\u00e4ev","Teisip\u00e4ev","Kolmap\u00e4ev","Neljap\u00e4ev","Reede","Laup\u00e4ev"],dayNamesShort:["P\u00fchap", |
"Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],dayNamesMin:["P","E","T","K","N","R","L"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.et)}); |
jQuery(function(a){a.datepicker.regional.eu={closeText:"Egina",prevText:"<Aur",nextText:"Hur>",currentText:"Gaur",monthNames:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthNamesShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],dayNames:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],dayNamesShort:["Iga","Ast","Ast","Ast","Ost","Ost","Lar"],dayNamesMin:["Ig", |
"As","As","As","Os","Os","La"],weekHeader:"Wk",dateFormat:"yy/mm/dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.eu)}); |
jQuery(function(a){a.datepicker.regional.fa={closeText:"\u0628\u0633\u062a\u0646",prevText:"<\u0642\u0628\u0644\u064a",nextText:"\u0628\u0639\u062f\u064a>",currentText:"\u0627\u0645\u0631\u0648\u0632",monthNames:["\u0641\u0631\u0648\u0631\u062f\u064a\u0646","\u0627\u0631\u062f\u064a\u0628\u0647\u0634\u062a","\u062e\u0631\u062f\u0627\u062f","\u062a\u064a\u0631","\u0645\u0631\u062f\u0627\u062f","\u0634\u0647\u0631\u064a\u0648\u0631","\u0645\u0647\u0631","\u0622\u0628\u0627\u0646","\u0622\u0630\u0631", |
"\u062f\u064a","\u0628\u0647\u0645\u0646","\u0627\u0633\u0641\u0646\u062f"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u064a\u06a9\u0634\u0646\u0628\u0647","\u062f\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067e\u0646\u062c\u0634\u0646\u0628\u0647","\u062c\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],dayNamesShort:["\u064a","\u062f","\u0633","\u0686","\u067e","\u062c","\u0634"], |
dayNamesMin:["\u064a","\u062f","\u0633","\u0686","\u067e","\u062c","\u0634"],weekHeader:"\u0647\u0641",dateFormat:"yy/mm/dd",firstDay:6,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fa)}); |
jQuery(function(a){a.datepicker.regional.fi={closeText:"Sulje",prevText:"«Edellinen",nextText:"Seuraava»",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","Su"],dayNames:["Sunnuntai","Maanantai", |
"Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fi)}); |
jQuery(function(a){a.datepicker.regional.fo={closeText:"Lat aftur",prevText:"<Fyrra",nextText:"N\u00e6sta>",currentText:"\u00cd dag",monthNames:["Januar","Februar","Mars","Apr\u00edl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sunnudagur","M\u00e1nadagur","T\u00fdsdagur","Mikudagur","H\u00f3sdagur","Fr\u00edggjadagur","Leyardagur"],dayNamesShort:["Sun","M\u00e1n", |
"T\u00fds","Mik","H\u00f3s","Fr\u00ed","Ley"],dayNamesMin:["Su","M\u00e1","T\u00fd","Mi","H\u00f3","Fr","Le"],weekHeader:"Vk",dateFormat:"dd-mm-yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fo)}); |
jQuery(function(a){a.datepicker.regional["fr-CH"]={closeText:"Fermer",prevText:"<Pr\u00e9c",nextText:"Suiv>",currentText:"Courant",monthNames:["Janvier","F\u00e9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\u00fbt","Septembre","Octobre","Novembre","D\u00e9cembre"],monthNamesShort:["Jan","F\u00e9v","Mar","Avr","Mai","Jun","Jul","Ao\u00fb","Sep","Oct","Nov","D\u00e9c"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu", |
"Ven","Sam"],dayNamesMin:["Di","Lu","Ma","Me","Je","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["fr-CH"])}); |
jQuery(function(a){a.datepicker.regional.fr={closeText:"Fermer",prevText:"Pr\u00e9c\u00e9dent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["Janvier","F\u00e9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\u00fbt","Septembre","Octobre","Novembre","D\u00e9cembre"],monthNamesShort:["Janv.","F\u00e9vr.","Mars","Avril","Mai","Juin","Juil.","Ao\u00fbt","Sept.","Oct.","Nov.","D\u00e9c."],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim.","Lun.", |
"Mar.","Mer.","Jeu.","Ven.","Sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fr)}); |
jQuery(function(a){a.datepicker.regional.gl={closeText:"Pechar",prevText:"<Ant",nextText:"Seg>",currentText:"Hoxe",monthNames:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xu\u00f1o","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthNamesShort:["Xan","Feb","Mar","Abr","Mai","Xu\u00f1","Xul","Ago","Set","Out","Nov","Dec"],dayNames:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"], |
dayNamesMin:["Do","Lu","Ma","Mé","Xo","Ve","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.gl)}); |
jQuery(function(a){a.datepicker.regional.he={closeText:"\u05e1\u05d2\u05d5\u05e8",prevText:"<\u05d4\u05e7\u05d5\u05d3\u05dd",nextText:"\u05d4\u05d1\u05d0>",currentText:"\u05d4\u05d9\u05d5\u05dd",monthNames:["\u05d9\u05e0\u05d5\u05d0\u05e8","\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8","\u05de\u05e8\u05e5","\u05d0\u05e4\u05e8\u05d9\u05dc","\u05de\u05d0\u05d9","\u05d9\u05d5\u05e0\u05d9","\u05d9\u05d5\u05dc\u05d9","\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8","\u05e1\u05e4\u05d8\u05de\u05d1\u05e8","\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8", |
"\u05e0\u05d5\u05d1\u05de\u05d1\u05e8","\u05d3\u05e6\u05de\u05d1\u05e8"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u05e8\u05d0\u05e9\u05d5\u05df","\u05e9\u05e0\u05d9","\u05e9\u05dc\u05d9\u05e9\u05d9","\u05e8\u05d1\u05d9\u05e2\u05d9","\u05d7\u05de\u05d9\u05e9\u05d9","\u05e9\u05d9\u05e9\u05d9","\u05e9\u05d1\u05ea"],dayNamesShort:["\u05d0'","\u05d1'","\u05d2'","\u05d3'","\u05d4'","\u05d5'","\u05e9\u05d1\u05ea"],dayNamesMin:["\u05d0'","\u05d1'","\u05d2'","\u05d3'", |
"\u05d4'","\u05d5'","\u05e9\u05d1\u05ea"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.he)}); |
jQuery(function(a){a.datepicker.regional.hr={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Sije\u010danj","Velja\u010da","O\u017eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","O\u017eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","\u010cet", |
"Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hr)}); |
jQuery(function(a){a.datepicker.regional.hu={closeText:"bez\u00e1r\u00e1s",prevText:"« vissza",nextText:"el\u0151re »",currentText:"ma",monthNames:["Janu\u00e1r","Febru\u00e1r","M\u00e1rcius","\u00c1prilis","M\u00e1jus","J\u00fanius","J\u00falius","Augusztus","Szeptember","Okt\u00f3ber","November","December"],monthNamesShort:["Jan","Feb","M\u00e1r","\u00c1pr","M\u00e1j","J\u00fan","J\u00fal","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vas\u00e1rnap","H\u00e9tf\u00f6","Kedd","Szerda", |
"Cs\u00fct\u00f6rt\u00f6k","P\u00e9ntek","Szombat"],dayNamesShort:["Vas","H\u00e9t","Ked","Sze","Cs\u00fc","P\u00e9n","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"H\u00e9",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:true,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hu)}); |
jQuery(function(a){a.datepicker.regional.hy={closeText:"\u0553\u0561\u056f\u0565\u056c",prevText:"<\u0546\u0561\u056d.",nextText:"\u0540\u0561\u057b.>",currentText:"\u0531\u0575\u057d\u0585\u0580",monthNames:["\u0540\u0578\u0582\u0576\u057e\u0561\u0580","\u0553\u0565\u057f\u0580\u057e\u0561\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580\u056b\u056c","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c\u056b\u057d","\u0555\u0563\u0578\u057d\u057f\u0578\u057d", |
"\u054d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580"],monthNamesShort:["\u0540\u0578\u0582\u0576\u057e","\u0553\u0565\u057f\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c","\u0555\u0563\u057d","\u054d\u0565\u057a","\u0540\u0578\u056f", |
"\u0546\u0578\u0575","\u0534\u0565\u056f"],dayNames:["\u056f\u056b\u0580\u0561\u056f\u056b","\u0565\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b","\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b","\u0578\u0582\u0580\u0562\u0561\u0569","\u0577\u0561\u0562\u0561\u0569"],dayNamesShort:["\u056f\u056b\u0580","\u0565\u0580\u056f","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563", |
"\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],dayNamesMin:["\u056f\u056b\u0580","\u0565\u0580\u056f","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563","\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],weekHeader:"\u0547\u0532\u054f",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hy)}); |
jQuery(function(a){a.datepicker.regional.id={closeText:"Tutup",prevText:"<mundur",nextText:"maju>",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl", |
"Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.id)}); |
jQuery(function(a){a.datepicker.regional.is={closeText:"Loka",prevText:"< Fyrri",nextText:"Næsti >",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur", |
"Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.is)}); |
jQuery(function(a){a.datepicker.regional.it={closeText:"Chiudi",prevText:"<Prec",nextText:"Succ>",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven", |
"Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.it)}); |
jQuery(function(a){a.datepicker.regional.ja={closeText:"\u9589\u3058\u308b",prevText:"<\u524d",nextText:"\u6b21>",currentText:"\u4eca\u65e5",monthNames:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],monthNamesShort:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],dayNames:["\u65e5\u66dc\u65e5","\u6708\u66dc\u65e5","\u706b\u66dc\u65e5", |
"\u6c34\u66dc\u65e5","\u6728\u66dc\u65e5","\u91d1\u66dc\u65e5","\u571f\u66dc\u65e5"],dayNamesShort:["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],dayNamesMin:["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],weekHeader:"\u9031",dateFormat:"yy/mm/dd",firstDay:0,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional.ja)}); |
jQuery(function(a){a.datepicker.regional.ko={closeText:"\ub2eb\uae30",prevText:"\uc774\uc804\ub2ec",nextText:"\ub2e4\uc74c\ub2ec",currentText:"\uc624\ub298",monthNames:["1\uc6d4(JAN)","2\uc6d4(FEB)","3\uc6d4(MAR)","4\uc6d4(APR)","5\uc6d4(MAY)","6\uc6d4(JUN)","7\uc6d4(JUL)","8\uc6d4(AUG)","9\uc6d4(SEP)","10\uc6d4(OCT)","11\uc6d4(NOV)","12\uc6d4(DEC)"],monthNamesShort:["1\uc6d4(JAN)","2\uc6d4(FEB)","3\uc6d4(MAR)","4\uc6d4(APR)","5\uc6d4(MAY)","6\uc6d4(JUN)","7\uc6d4(JUL)","8\uc6d4(AUG)","9\uc6d4(SEP)", |
"10\uc6d4(OCT)","11\uc6d4(NOV)","12\uc6d4(DEC)"],dayNames:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],dayNamesShort:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],dayNamesMin:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:"\ub144"};a.datepicker.setDefaults(a.datepicker.regional.ko)}); |
jQuery(function(a){a.datepicker.regional.kz={closeText:"\u0416\u0430\u0431\u0443",prevText:"<\u0410\u043b\u0434\u044b\u04a3\u0493\u044b",nextText:"\u041a\u0435\u043b\u0435\u0441\u0456>",currentText:"\u0411\u04af\u0433\u0456\u043d",monthNames:["\u049a\u0430\u04a3\u0442\u0430\u0440","\u0410\u049b\u043f\u0430\u043d","\u041d\u0430\u0443\u0440\u044b\u0437","\u0421\u04d9\u0443\u0456\u0440","\u041c\u0430\u043c\u044b\u0440","\u041c\u0430\u0443\u0441\u044b\u043c","\u0428\u0456\u043b\u0434\u0435", |
"\u0422\u0430\u043c\u044b\u0437","\u049a\u044b\u0440\u043a\u04af\u0439\u0435\u043a","\u049a\u0430\u0437\u0430\u043d","\u049a\u0430\u0440\u0430\u0448\u0430","\u0416\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d"],monthNamesShort:["\u049a\u0430\u04a3","\u0410\u049b\u043f","\u041d\u0430\u0443","\u0421\u04d9\u0443","\u041c\u0430\u043c","\u041c\u0430\u0443","\u0428\u0456\u043b","\u0422\u0430\u043c","\u049a\u044b\u0440","\u049a\u0430\u0437","\u049a\u0430\u0440","\u0416\u0435\u043b"],dayNames:["\u0416\u0435\u043a\u0441\u0435\u043d\u0431\u0456", |
"\u0414\u04af\u0439\u0441\u0435\u043d\u0431\u0456","\u0421\u0435\u0439\u0441\u0435\u043d\u0431\u0456","\u0421\u04d9\u0440\u0441\u0435\u043d\u0431\u0456","\u0411\u0435\u0439\u0441\u0435\u043d\u0431\u0456","\u0416\u04b1\u043c\u0430","\u0421\u0435\u043d\u0431\u0456"],dayNamesShort:["\u0436\u043a\u0441","\u0434\u0441\u043d","\u0441\u0441\u043d","\u0441\u0440\u0441","\u0431\u0441\u043d","\u0436\u043c\u0430","\u0441\u043d\u0431"],dayNamesMin:["\u0416\u043a","\u0414\u0441","\u0421\u0441","\u0421\u0440", |
"\u0411\u0441","\u0416\u043c","\u0421\u043d"],weekHeader:"\u041d\u0435",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.kz)}); |
jQuery(function(a){a.datepicker.regional.lt={closeText:"U\u017edaryti",prevText:"<Atgal",nextText:"Pirmyn>",currentText:"\u0160iandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017e\u0117","Bir\u017eelis","Liepa","Rugpj\u016btis","Rugs\u0117jis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","tre\u010diadienis","ketvirtadienis","penktadienis","\u0161e\u0161tadienis"], |
dayNamesShort:["sek","pir","ant","tre","ket","pen","\u0161e\u0161"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","\u0160e"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.lt)}); |
jQuery(function(a){a.datepicker.regional.lv={closeText:"Aizv\u0113rt",prevText:"Iepr",nextText:"N\u0101ka",currentText:"\u0160odien",monthNames:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012blis","Maijs","J\u016bnijs","J\u016blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","J\u016bn","J\u016bl","Aug","Sep","Okt","Nov","Dec"],dayNames:["sv\u0113tdiena","pirmdiena","otrdiena","tre\u0161diena","ceturtdiena","piektdiena","sestdiena"], |
dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Nav",dateFormat:"dd-mm-yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.lv)}); |
jQuery(function(a){a.datepicker.regional.ml={closeText:"\u0d36\u0d30\u0d3f",prevText:"\u0d2e\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d4d\u0d24\u0d46",nextText:"\u0d05\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d24\u0d4d ",currentText:"\u0d07\u0d28\u0d4d\u0d28\u0d4d",monthNames:["\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f","\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f","\u0d2e\u0d3e\u0d30\u0d4d\u0d1a\u0d4d\u0d1a\u0d4d","\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d","\u0d2e\u0d47\u0d2f\u0d4d","\u0d1c\u0d42\u0d23\u0d4d", |
"\u0d1c\u0d42\u0d32\u0d48","\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d","\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d","\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d","\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d","\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d"],monthNamesShort:["\u0d1c\u0d28\u0d41","\u0d2b\u0d46\u0d2c\u0d4d","\u0d2e\u0d3e\u0d30\u0d4d","\u0d0f\u0d2a\u0d4d\u0d30\u0d3f","\u0d2e\u0d47\u0d2f\u0d4d","\u0d1c\u0d42\u0d23\u0d4d","\u0d1c\u0d42\u0d32\u0d3e","\u0d06\u0d17", |
"\u0d38\u0d46\u0d2a\u0d4d","\u0d12\u0d15\u0d4d\u0d1f\u0d4b","\u0d28\u0d35\u0d02","\u0d21\u0d3f\u0d38"],dayNames:["\u0d1e\u0d3e\u0d2f\u0d30\u0d4d","\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d","\u0d1a\u0d4a\u0d35\u0d4d\u0d35","\u0d2c\u0d41\u0d27\u0d28\u0d4d","\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02","\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f","\u0d36\u0d28\u0d3f"],dayNamesShort:["\u0d1e\u0d3e\u0d2f","\u0d24\u0d3f\u0d19\u0d4d\u0d15","\u0d1a\u0d4a\u0d35\u0d4d\u0d35","\u0d2c\u0d41\u0d27","\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02", |
"\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f","\u0d36\u0d28\u0d3f"],dayNamesMin:["\u0d1e\u0d3e","\u0d24\u0d3f","\u0d1a\u0d4a","\u0d2c\u0d41","\u0d35\u0d4d\u0d2f\u0d3e","\u0d35\u0d46","\u0d36"],weekHeader:"\u0d06",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ml)}); |
jQuery(function(a){a.datepicker.regional.ms={closeText:"Tutup",prevText:"<Sebelum",nextText:"Selepas>",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra", |
"Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ms)}); |
jQuery(function(a){a.datepicker.regional.nl={closeText:"Sluiten",prevText:"\u2190",nextText:"\u2192",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma", |
"di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.nl)}); |
jQuery(function(a){a.datepicker.regional.no={closeText:"Lukk",prevText:"«Forrige",nextText:"Neste»",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["s\u00f8n","man","tir","ons","tor","fre","l\u00f8r"],dayNames:["s\u00f8ndag","mandag","tirsdag","onsdag","torsdag","fredag","l\u00f8rdag"],dayNamesMin:["s\u00f8", |
"ma","ti","on","to","fr","l\u00f8"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.no)}); |
jQuery(function(a){a.datepicker.regional.pl={closeText:"Zamknij",prevText:"<Poprzedni",nextText:"Nast\u0119pny>",currentText:"Dzi\u015b",monthNames:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017adziernik","Listopad","Grudzie\u0144"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedzia\u0142ek","Wtorek","\u015aroda","Czwartek","Pi\u0105tek","Sobota"],dayNamesShort:["Nie", |
"Pn","Wt","\u015ar","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","\u015ar","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.pl)}); |
jQuery(function(a){a.datepicker.regional["pt-BR"]={closeText:"Fechar",prevText:"<Anterior",nextText:"Próximo>",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom", |
"Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["pt-BR"])}); |
jQuery(function(a){a.datepicker.regional.pt={closeText:"Fechar",prevText:"<Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter", |
"Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.pt)}); |
jQuery(function(a){a.datepicker.regional.rm={closeText:"Serrar",prevText:"<Suandant",nextText:"Precedent>",currentText:"Actual",monthNames:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],monthNamesShort:["Scha","Fev","Mar","Avr","Matg","Zer","Fan","Avu","Sett","Oct","Nov","Dec"],dayNames:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"],dayNamesShort:["Dum","Gli","Mar","Mes","Gie","Ven","Som"],dayNamesMin:["Du", |
"Gl","Ma","Me","Gi","Ve","So"],weekHeader:"emna",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.rm)}); |
jQuery(function(a){a.datepicker.regional.ro={closeText:"\u00cenchide",prevText:"« Luna precedent\u0103",nextText:"Luna urm\u0103toare »",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminic\u0103","Luni","Mar\u0163i","Miercuri","Joi","Vineri","S\u00e2mb\u0103t\u0103"],dayNamesShort:["Dum", |
"Lun","Mar","Mie","Joi","Vin","S\u00e2m"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","S\u00e2"],weekHeader:"S\u0103pt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ro)}); |
jQuery(function(a){a.datepicker.regional.ru={closeText:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",prevText:"<\u041f\u0440\u0435\u0434",nextText:"\u0421\u043b\u0435\u0434>",currentText:"\u0421\u0435\u0433\u043e\u0434\u043d\u044f",monthNames:["\u042f\u043d\u0432\u0430\u0440\u044c","\u0424\u0435\u0432\u0440\u0430\u043b\u044c","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b\u044c","\u041c\u0430\u0439","\u0418\u044e\u043d\u044c","\u0418\u044e\u043b\u044c","\u0410\u0432\u0433\u0443\u0441\u0442", |
"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","\u041e\u043a\u0442\u044f\u0431\u0440\u044c","\u041d\u043e\u044f\u0431\u0440\u044c","\u0414\u0435\u043a\u0430\u0431\u0440\u044c"],monthNamesShort:["\u042f\u043d\u0432","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],dayNames:["\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", |
"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","\u0432\u0442\u043e\u0440\u043d\u0438\u043a","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043f\u044f\u0442\u043d\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043e\u0442\u0430"],dayNamesShort:["\u0432\u0441\u043a","\u043f\u043d\u0434","\u0432\u0442\u0440","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],dayNamesMin:["\u0412\u0441","\u041f\u043d","\u0412\u0442", |
"\u0421\u0440","\u0427\u0442","\u041f\u0442","\u0421\u0431"],weekHeader:"\u041d\u0435\u0434",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ru)}); |
jQuery(function(a){a.datepicker.regional.sk={closeText:"Zavrie\u0165",prevText:"<Predch\u00e1dzaj\u00faci",nextText:"Nasleduj\u00faci>",currentText:"Dnes",monthNames:["Janu\u00e1r","Febru\u00e1r","Marec","Apr\u00edl","M\u00e1j","J\u00fan","J\u00fal","August","September","Okt\u00f3ber","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","M\u00e1j","J\u00fan","J\u00fal","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nede\u013ea","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok", |
"Sobota"],dayNamesShort:["Ned","Pon","Uto","Str","\u0160tv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","\u0160t","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sk)}); |
jQuery(function(a){a.datepicker.regional.sl={closeText:"Zapri",prevText:"<Prejšnji",nextText:"Naslednji>",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"], |
dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sl)}); |
jQuery(function(a){a.datepicker.regional.sq={closeText:"mbylle",prevText:"<mbrapa",nextText:"P\u00ebrpara>",currentText:"sot",monthNames:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\u00ebntor","Dhjetor"],monthNamesShort:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\u00ebn","Dhj"],dayNames:["E Diel","E H\u00ebn\u00eb","E Mart\u00eb","E M\u00ebrkur\u00eb","E Enjte","E Premte","E Shtune"],dayNamesShort:["Di","H\u00eb","Ma","M\u00eb", |
"En","Pr","Sh"],dayNamesMin:["Di","H\u00eb","Ma","M\u00eb","En","Pr","Sh"],weekHeader:"Ja",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sq)}); |
jQuery(function(a){a.datepicker.regional["sr-SR"]={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Sreda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sre","\u010cet","Pet","Sub"],dayNamesMin:["Ne","Po", |
"Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Sed",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["sr-SR"])}); |
jQuery(function(a){a.datepicker.regional.sr={closeText:"\u0417\u0430\u0442\u0432\u043e\u0440\u0438",prevText:"<",nextText:">",currentText:"\u0414\u0430\u043d\u0430\u0441",monthNames:["\u0408\u0430\u043d\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440","\u041e\u043a\u0442\u043e\u0431\u0430\u0440", |
"\u041d\u043e\u0432\u0435\u043c\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043c\u0431\u0430\u0440"],monthNamesShort:["\u0408\u0430\u043d","\u0424\u0435\u0431","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u0446"],dayNames:["\u041d\u0435\u0434\u0435\u0459\u0430","\u041f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a","\u0423\u0442\u043e\u0440\u0430\u043a", |
"\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043a","\u041f\u0435\u0442\u0430\u043a","\u0421\u0443\u0431\u043e\u0442\u0430"],dayNamesShort:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0423\u0442\u043e","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u0443\u0431"],dayNamesMin:["\u041d\u0435","\u041f\u043e","\u0423\u0442","\u0421\u0440","\u0427\u0435","\u041f\u0435","\u0421\u0443"],weekHeader:"\u0421\u0435\u0434",dateFormat:"dd/mm/yy",firstDay:1, |
isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sr)}); |
jQuery(function(a){a.datepicker.regional.sv={closeText:"St\u00e4ng",prevText:"«F\u00f6rra",nextText:"N\u00e4sta»",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["S\u00f6n","M\u00e5n","Tis","Ons","Tor","Fre","L\u00f6r"],dayNames:["S\u00f6ndag","M\u00e5ndag","Tisdag","Onsdag","Torsdag","Fredag", |
"L\u00f6rdag"],dayNamesMin:["S\u00f6","M\u00e5","Ti","On","To","Fr","L\u00f6"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sv)}); |
jQuery(function(a){a.datepicker.regional.ta={closeText:"\u0bae\u0bc2\u0b9f\u0bc1",prevText:"\u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bc8\u0baf\u0ba4\u0bc1",nextText:"\u0b85\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0ba4\u0bc1",currentText:"\u0b87\u0ba9\u0bcd\u0bb1\u0bc1",monthNames:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd\u0b95\u0bc1\u0ba9\u0bbf","\u0b9a\u0bbf\u0ba4\u0bcd\u0ba4\u0bbf\u0bb0\u0bc8","\u0bb5\u0bc8\u0b95\u0bbe\u0b9a\u0bbf","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5\u0ba3\u0bbf", |
"\u0baa\u0bc1\u0bb0\u0b9f\u0bcd\u0b9f\u0bbe\u0b9a\u0bbf","\u0b90\u0baa\u0bcd\u0baa\u0b9a\u0bbf","\u0b95\u0bbe\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0bbf\u0b95\u0bc8","\u0bae\u0bbe\u0bb0\u0bcd\u0b95\u0bb4\u0bbf"],monthNamesShort:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd","\u0b9a\u0bbf\u0ba4\u0bcd","\u0bb5\u0bc8\u0b95\u0bbe","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5","\u0baa\u0bc1\u0bb0","\u0b90\u0baa\u0bcd","\u0b95\u0bbe\u0bb0\u0bcd","\u0bae\u0bbe\u0bb0\u0bcd"],dayNames:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8", |
"\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8"],dayNamesShort:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1", |
"\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf","\u0b9a\u0ba9\u0bbf"],dayNamesMin:["\u0b9e\u0bbe","\u0ba4\u0bbf","\u0b9a\u0bc6","\u0baa\u0bc1","\u0bb5\u0bbf","\u0bb5\u0bc6","\u0b9a"],weekHeader:"\u041d\u0435",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ta)}); |
jQuery(function(a){a.datepicker.regional.th={closeText:"\u0e1b\u0e34\u0e14",prevText:"« \u0e22\u0e49\u0e2d\u0e19",nextText:"\u0e16\u0e31\u0e14\u0e44\u0e1b »",currentText:"\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49",monthNames:["\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21","\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c","\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21","\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19","\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21","\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19", |
"\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21","\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21","\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19","\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21","\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19","\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"],monthNamesShort:["\u0e21.\u0e04.","\u0e01.\u0e1e.","\u0e21\u0e35.\u0e04.","\u0e40\u0e21.\u0e22.","\u0e1e.\u0e04.","\u0e21\u0e34.\u0e22.","\u0e01.\u0e04.","\u0e2a.\u0e04.","\u0e01.\u0e22.","\u0e15.\u0e04.","\u0e1e.\u0e22.","\u0e18.\u0e04."], |
dayNames:["\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c","\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c","\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23","\u0e1e\u0e38\u0e18","\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35","\u0e28\u0e38\u0e01\u0e23\u0e4c","\u0e40\u0e2a\u0e32\u0e23\u0e4c"],dayNamesShort:["\u0e2d\u0e32.","\u0e08.","\u0e2d.","\u0e1e.","\u0e1e\u0e24.","\u0e28.","\u0e2a."],dayNamesMin:["\u0e2d\u0e32.","\u0e08.","\u0e2d.","\u0e1e.","\u0e1e\u0e24.","\u0e28.","\u0e2a."],weekHeader:"Wk",dateFormat:"dd/mm/yy", |
firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.th)}); |
jQuery(function(a){a.datepicker.regional.tj={closeText:"\u0418\u0434\u043e\u043c\u0430",prevText:"<\u049a\u0430\u0444\u043e",nextText:"\u041f\u0435\u0448>",currentText:"\u0418\u043c\u0440\u04ef\u0437",monthNames:["\u042f\u043d\u0432\u0430\u0440","\u0424\u0435\u0432\u0440\u0430\u043b","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043d\u0442\u044f\u0431\u0440", |
"\u041e\u043a\u0442\u044f\u0431\u0440","\u041d\u043e\u044f\u0431\u0440","\u0414\u0435\u043a\u0430\u0431\u0440"],monthNamesShort:["\u042f\u043d\u0432","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],dayNames:["\u044f\u043a\u0448\u0430\u043d\u0431\u0435","\u0434\u0443\u0448\u0430\u043d\u0431\u0435","\u0441\u0435\u0448\u0430\u043d\u0431\u0435", |
"\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435","\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435","\u04b7\u0443\u043c\u044a\u0430","\u0448\u0430\u043d\u0431\u0435"],dayNamesShort:["\u044f\u043a\u0448","\u0434\u0443\u0448","\u0441\u0435\u0448","\u0447\u043e\u0440","\u043f\u0430\u043d","\u04b7\u0443\u043c","\u0448\u0430\u043d"],dayNamesMin:["\u042f\u043a","\u0414\u0448","\u0421\u0448","\u0427\u0448","\u041f\u0448","\u04b6\u043c","\u0428\u043d"],weekHeader:"\u0425\u0444",dateFormat:"dd.mm.yy", |
firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.tj)}); |
jQuery(function(a){a.datepicker.regional.tr={closeText:"kapat",prevText:"<geri",nextText:"ileri>",currentText:"bug\u00fcn",monthNames:["Ocak","\u015eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011fustos","Eyl\u00fcl","Ekim","Kas\u0131m","Aral\u0131k"],monthNamesShort:["Oca","\u015eub","Mar","Nis","May","Haz","Tem","A\u011fu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Sal\u0131","\u00c7ar\u015famba","Per\u015fembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa", |
"\u00c7a","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","\u00c7a","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.tr)}); |
jQuery(function(a){a.datepicker.regional.uk={closeText:"\u0417\u0430\u043a\u0440\u0438\u0442\u0438",prevText:"<",nextText:">",currentText:"\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456",monthNames:["\u0421\u0456\u0447\u0435\u043d\u044c","\u041b\u044e\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c","\u041a\u0432\u0456\u0442\u0435\u043d\u044c","\u0422\u0440\u0430\u0432\u0435\u043d\u044c","\u0427\u0435\u0440\u0432\u0435\u043d\u044c","\u041b\u0438\u043f\u0435\u043d\u044c", |
"\u0421\u0435\u0440\u043f\u0435\u043d\u044c","\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c","\u0416\u043e\u0432\u0442\u0435\u043d\u044c","\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043d\u044c"],monthNamesShort:["\u0421\u0456\u0447","\u041b\u044e\u0442","\u0411\u0435\u0440","\u041a\u0432\u0456","\u0422\u0440\u0430","\u0427\u0435\u0440","\u041b\u0438\u043f","\u0421\u0435\u0440","\u0412\u0435\u0440","\u0416\u043e\u0432","\u041b\u0438\u0441","\u0413\u0440\u0443"], |
dayNames:["\u043d\u0435\u0434\u0456\u043b\u044f","\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a","\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f","\u0441\u0443\u0431\u043e\u0442\u0430"],dayNamesShort:["\u043d\u0435\u0434","\u043f\u043d\u0434","\u0432\u0456\u0432","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],dayNamesMin:["\u041d\u0434", |
"\u041f\u043d","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041f\u0442","\u0421\u0431"],weekHeader:"\u041d\u0435",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.uk)}); |
jQuery(function(a){a.datepicker.regional.vi={closeText:"\u0110\u00f3ng",prevText:"<Tr\u01b0\u1edbc",nextText:"Ti\u1ebfp>",currentText:"H\u00f4m nay",monthNames:["Th\u00e1ng M\u1ed9t","Th\u00e1ng Hai","Th\u00e1ng Ba","Th\u00e1ng T\u01b0","Th\u00e1ng N\u0103m","Th\u00e1ng S\u00e1u","Th\u00e1ng B\u1ea3y","Th\u00e1ng T\u00e1m","Th\u00e1ng Ch\u00edn","Th\u00e1ng M\u01b0\u1eddi","Th\u00e1ng M\u01b0\u1eddi M\u1ed9t","Th\u00e1ng M\u01b0\u1eddi Hai"],monthNamesShort:["Th\u00e1ng 1","Th\u00e1ng 2", |
"Th\u00e1ng 3","Th\u00e1ng 4","Th\u00e1ng 5","Th\u00e1ng 6","Th\u00e1ng 7","Th\u00e1ng 8","Th\u00e1ng 9","Th\u00e1ng 10","Th\u00e1ng 11","Th\u00e1ng 12"],dayNames:["Ch\u1ee7 Nh\u1eadt","Th\u1ee9 Hai","Th\u1ee9 Ba","Th\u1ee9 T\u01b0","Th\u1ee9 N\u0103m","Th\u1ee9 S\u00e1u","Th\u1ee9 B\u1ea3y"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.vi)}); |
jQuery(function(a){a.datepicker.regional["zh-CN"]={closeText:"\u5173\u95ed",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], |
dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-CN"])}); |
jQuery(function(a){a.datepicker.regional["zh-HK"]={closeText:"\u95dc\u9589",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], |
dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"dd-mm-yy",firstDay:0,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-HK"])}); |
jQuery(function(a){a.datepicker.regional["zh-TW"]={closeText:"\u95dc\u9589",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], |
dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"yy/mm/dd",firstDay:1,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-TW"])}); |
/web/admin/js/jquery-1.6.1.min.js |
---|
0,0 → 1,18 |
/*! |
* jQuery JavaScript Library v1.6.1 |
* http://jquery.com/ |
* |
* Copyright 2011, John Resig |
* Dual licensed under the MIT or GPL Version 2 licenses. |
* http://jquery.org/license |
* |
* Includes Sizzle.js |
* http://sizzlejs.com/ |
* Copyright 2011, The Dojo Foundation |
* Released under the MIT, BSD, and GPL Licenses. |
* |
* Date: Thu May 12 15:04:36 2011 -0400 |
*/ |
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem |
)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument|| |
b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); |
/web/admin/backups.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>backup page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/ressources/awstats/readme.html |
---|
0,0 → 1,7 |
<html> |
<head> |
</head> |
<body> |
La configuration AWSTAT sera réalisée ultérieurement... |
<body> |
</html> |
/web/admin/admins.php |
---|
14,6 → 14,7 |
<html> |
<head> |
<title>Admins page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
126,7 → 127,7 |
</thead> |
<tfoot> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>profils</th> |
<th width="20">#</th><th width="200">Usagers</th><th>Profils</th> |
</tr> |
</tfoot> |
<tbody> |
/web/admin/directories.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Directories page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/auth_import_users.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>User import page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/user.php |
---|
1,7 → 1,41 |
<?php |
/* |
Array |
( |
[username] => s |
[User] => s |
[User-mdp] => ******** |
[User-mdp-clear] => |
[Expiration] => 23 April 2011 |
[altExpirationDate] => |
[bupdate] => Modifier |
[name] => |
[email] => |
[service] => |
[phone] => |
[bureau] => |
[mobile] => |
[Simultaneous-Use] => 1 |
[Session-Timeout] => |
[Session-Timeout_h] => |
[Session-Timeout_mm] => |
[Session-Timeout_s] => |
[Max-Daily-Session] => |
[Max-Daily-Session_h] => |
[Max-Daily-Session_mm] => |
[Max-Daily-Session_s] => |
[Max-Monthly-Session] => |
[Max-Monthly-Session_h] => |
[Max-Monthly-Session_mm] => |
[Max-Monthly-Session_s] => |
[Login-Time] => |
[ChilliSpot-Max-Input-Octets] => |
[ChilliSpot-Max-Output-Octets] => |
[ChilliSpot-Max-Total-Octets] => |
[ChilliSpot-Bandwidth-Max-Up] => |
[ChilliSpot-Bandwidth-Max-Down] => |
[WISPr-Redirection-URL] => |
) |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
8,16 → 42,50 |
//include(ALCASAR_ADMIN_PATH_LIB.'/user.class.php'); |
include(ALCASAR_ADMIN_PATH_LIB.'/radiusMysqlUser.class.php'); |
if (isset($_GET['username'])){ |
$username = $_GET['username']; |
/* |
Traitement des mises à jours |
*/ |
if (isset($_POST['bupdate'])&&isset($_POST['username'])){ |
$username = $_POST['username']; |
/* |
echo '<pre>'; |
print_r($_POST); |
echo '</pre>'; |
*/ |
//$validattribute = array('username','User-mdp','Expiration','name','email','service','phone','bureau','mobile','Simultaneous-Use','Session-Timeout','Max-Daily-Session','Max-Monthly-Session','Login-Time','ChilliSpot-Max-Input-Octets','ChilliSpot-Max-Output-Octets','ChilliSpot-Max-Total-Octets','ChilliSpot-Bandwidth-Max-Up','ChilliSpot-Bandwidth-Max-Down','WISPr-Redirection-URL'); |
$ouser = new radiusMysqlUser(); |
echo '<pre>'; |
foreach ($_POST as $key => $val){ |
if (in_array($key, $attrmap)){ |
/* |
ATTENTION FAIRE UN TEST DE $VAL!!! |
METTRE EN FORME LES DATES |
*/ |
echo $key.' '.$val; |
$ouser->set($key,$val); |
} |
} |
echo '</pre>'; |
$ouser->save(); |
} else { |
$username = ''; |
if (isset($_GET['username'])){ |
$username = $_GET['username'];//faire fonction xss_clean |
} else { |
header('Location: users.php'); |
} |
$ouser = new radiusMysqlUser(); |
$ouser->load($username, true); |
} |
$ouser = new radiusMysqlUser(); |
$ouser->load($username, true); |
$user = $ouser->get(); |
$attributes = $ouser->getAttribute(); |
echo '<pre>'; |
print_r($user); |
echo '</pre>'; |
/* |
Affichage de la page |
*/ |
?> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
<html> |
24,7 → 92,6 |
<head> |
<title>Edit <?php echo $options['username']; ?></title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!--link rel="stylesheet" href="../css/style.css" type="text/css"--> |
33,307 → 100,47 |
<!-- include custom page CSS --> |
<!-- include JQUERY --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.6.1.min.js"></script> |
<!-- include JQUERY UI --> |
<script type="text/javascript" language="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-ui-i18n.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
var horaireFlag = false; |
var colFlag = false; |
var rowFlag = false; |
var no_limite_flag = false; |
function seconds2Hms(d) { |
d = Number(d); |
var h = Math.floor(d / 3600); |
var m = Math.floor(d % 3600 / 60); |
var s = Math.floor(d % 3600 % 60); |
//return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s); |
return new array(h,m,s); |
} |
function hms2Seconds(h, m, s) { |
h = Number(d); |
m = Number(d); |
s = Number(d); |
return Math.floor(h * 3600 + m * 60 + s); |
} |
$(function(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected'); |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
//Time-limite |
var Time_limite = ''; |
parseHoraire(Time_limite); |
$(function(){ |
// Tabs |
$('#tabs-user').tabs(); |
// datepicker |
$( ".datepicker" ).datepicker(); |
$.datepicker.setDefaults( $.datepicker.regional[ "fr" ] ); |
//$( ".datepicker" ).datepicker( $.datepicker.regional[ "fr" ] ); |
$( ".datepicker" ).datepicker( |
{ |
altFormat: 'yy-mm-dd', |
altField: '#altExpirationDate', //pour mise à jour de ma bdd! |
dateFormat: 'dd MM yy' |
}); |
// button |
$( "button, input:submit, input:button, input:reset").button(); |
$('#horaire-table').mouseleave(function() { |
horaireFlag = false; |
colFlag = false; |
rowFlag = false; |
}); |
// selection à partir du calendrier |
$('#horaire-table').find('tbody').mouseleave(function() { |
horaireFlag = false; |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mousedown(function() { |
horaireFlag = true; |
colorize_body($(this)); |
}); |
$('#horaire-table').find('tbody > tr > td').mouseup(function() { |
horaireFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mouseover(function() { |
if (horaireFlag === true){ |
colorize_body($(this)); |
} |
}); |
// selection à partir de l'entête de la 1er colone |
$('#horaire-table').find('thead > tr > th:eq(0)').mousedown(function() { |
if (no_limite_flag){ |
no_limite(); |
no_limite_flag = false; |
} else { |
all_limite(); |
no_limite_flag = true; |
} |
}); |
// selection à partir de l'entête de colone |
$('#horaire-table').find('thead > tr > th').mousedown(function() { |
colFlag = true; |
head_colorize_body($(this)) |
}); |
$('#horaire-table').find('thead > tr > th').mouseup(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead').mouseleave(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead > tr > th').mouseover(function() { |
if (colFlag == true){ |
head_colorize_body($(this)) |
} |
}); |
// selection à partir de l'entête de ligne |
//.mouseleave event is allready defined |
$('#horaire-table').find('tbody > tr > th').mousedown(function() { |
rowFlag = true; |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
}); |
$('#horaire-table').find('tbody > tr > th').mouseup(function() { |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > th').mouseover(function() { |
if (rowFlag == true){ |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
} |
}); |
function calcule_plage_jour(horaires){ |
var d, f, i, deb, tmp; |
deb = true; |
tmp = new Array(); |
for (i=0 ; i<=47 ; i++) { |
if ( jQuery.inArray(i, horaires) !== -1){ |
if (deb){ |
d = i; |
deb = false; |
} |
if (i == 47){ |
f = i; |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} else { |
if (!(deb)){ |
f = eval(i-1); |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} |
} |
return tmp; |
} |
function parsePlage(plage){ |
alert(plage[0]); |
for (i=0 ; i < plage.length-1 ; i++){ |
deb = plage[i][0]; |
fin = plage[i][1]; |
debh = eval(deb/2); |
alert(deb); |
if (eval(deb%2) == 0){ |
debm = "00"; |
} else { |
debm = "30"; |
} |
deb = debh + debm; |
finh = parseInt(eval(fin/2)); |
if (eval(fin%2) == 0){ |
finm = "00"; |
} else { |
finm = "30"; |
} |
fin = finh + finm; |
} |
return deb+fin; |
} |
//Wk2305-0855,Sa,Su2305-1655 |
$('#button_test').click(function(){ |
a = new Array(); |
mo = new Array(); |
tu = new Array(); |
we = new Array(); |
th = new Array(); |
fr = new Array(); |
sa = new Array(); |
so = new Array(); |
plageMo = new Array(); |
/* |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, td){ |
if ($(td).hasClass('horaireIsSelected')) a.push(index); |
}) |
*/ |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, tda){ |
if ($(tda).hasClass('horaireIsSelected')) a.push(index); |
}); |
td_mo = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_mo).each( function(index, td_mo_a){ |
if ($(td_mo_a).hasClass('horaireIsSelected')) mo.push(index); |
}); |
//alert(mo); |
td_tu = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_tu).each( function(index, td_tu_a){ |
if ($(td_tu_a).hasClass('horaireIsSelected')) tu.push(index); |
}); |
//alert(tu); |
td_we = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_we).each( function(index, td_we_a){ |
if ($(td_we_a).hasClass('horaireIsSelected')) we.push(index); |
}); |
//alert(we); |
td_th = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_th).each( function(index, td_th_a){ |
if ($(td_th_a).hasClass('horaireIsSelected')) th.push(index); |
}); |
//alert(th); |
td_fr = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_fr).each( function(index, td_fr_a){ |
if ($(td_fr_a).hasClass('horaireIsSelected')) fr.push(index); |
}); |
//alert(fr); |
td_sa = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_sa).each( function(index, td_sa_a){ |
if ($(td_sa_a).hasClass('horaireIsSelected')) sa.push(index); |
}); |
//alert(sa); |
td_so = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_so).each( function(index, td_so_a){ |
if ($(td_so_a).hasClass('horaireIsSelected')) so.push(index); |
}); |
//alert(so); |
plageMo = calcule_plage_jour(mo); |
plageTu = calcule_plage_jour(tu); |
plageWe = calcule_plage_jour(we); |
plageTh = calcule_plage_jour(th); |
plageFr = calcule_plage_jour(fr); |
plageSa = calcule_plage_jour(sa); |
plageSo = calcule_plage_jour(so); |
//alert(plage); |
//alert(a); |
$('#test').val(parsePlage(plageMo)); |
//la suite ? |
}); |
}); |
//fonctions de sélection/déselection |
function row_colorize_body(row_ref){ |
if (row_ref.find('td').hasClass('horaireIsNotSelected') || !(row_ref.find('td').hasClass('horaireIsSelected'))){ |
row_ref.find('td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
row_ref.find('td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function colorize_body(td_ref){ |
if (td_ref.hasClass('horaireIsNotSelected') || !(td_ref.hasClass('horaireIsSelected'))){ |
td_ref.removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
td_ref.removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function head_colorize_body(head_ref){ |
horaire_head = false; |
var index = head_ref.index(); |
index = (parseInt(index) - 1) *2; |
index2 = index + 1; |
if (head_ref.hasClass('headSelect')){ |
head_ref.removeClass('headSelect').addClass('headNoSelect'); |
horaire_head = false; |
} else { |
head_ref.removeClass('headNoSelect').addClass('headSelect'); |
horaire_head = true; |
} |
var rows = $('#horaire-table').find('tbody > tr').get(); |
$.each(rows, function() { |
if (horaire_head){ |
$(this).find('td:eq('+index+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
$(this).find('td:eq('+index+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
}); |
$('#periode_perso').attr("checked","checked"); |
} |
//fonctions de sélection/déselection des profils pre-définis |
function no_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function all_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
function wk(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected');; |
$('#horaire-table').find('tbody > tr:lt(5) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function we(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
$('#horaire-table').find('tbody > tr:gt(4) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
//parse Time-limite et affiche le résultat dans le calendrier |
function parseHoraire(Time_limite){ |
if (Time_limite == ''){ |
no_limite(); |
return; |
} |
} |
}); |
</script> |
<style type="text/css"> |
.datepicker{ |
background:url(../images/calendrier.gif) no-repeat 110px 3px; |
background:url(<?php echo ALCASAR_ADMIN_PATH_IMG; ?>/calendrier.gif) no-repeat 110px 3px; |
} |
</style> |
</head> |
342,27 → 149,40 |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des usagers</span> |
</div> |
<div id="usager"> |
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> |
<input type="hidden" name="username" value="<?php echo $username; ?>"> |
<div id=""> |
<br /> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Usager :</td><td><input type="text" name="User" id="User" value="<?php echo $username; ?>" readonly></td><td></td><tr> |
<tr><td>Mot de passe :</td><td><input type="text" name="User-mdp" id="User-mdp" value="********"></td><td><button>Générer MDP</button></td><tr> |
<tr><td>Date d'expiration :</td><td><input type="text" value="" name="" id="" class="datepicker"></td><td></td></tr> |
<table class="ui-widget ui-widget-content" width="570"> |
<tr> |
<td>Membre de :</td> |
<td width="150">Usager (login):</td> |
<td width="100"><input type="text" name="User" id="User" value="<?php echo $username; ?>" readonly size="20"></td> |
<td width="150"></td> |
<td></td> |
<tr> |
<tr> |
<td>Mot de passe :</td> |
<td><input type="text" name="User-mdp" id="User-mdp" value="********" size="20"></td> |
<td><button>Générer MDP</button></td> |
<td></td> |
<tr> |
<tr> |
<td></td> |
<td><input type="text" name="User-mdp-clear" id="User-mdp-clear" value="" readonly size="20"></td> |
<td></td> |
<td></td> |
<tr> |
<tr> |
<td>Date d'expiration :</td> |
<td> |
<table width="100%"> |
<?php |
$users = array(); // faire une boucle pour les groupes |
foreach ($users as $user){ |
echo "<tr> <td></td> <td width='10'><image src='".ALCASAR_ADMIN_PATH_IMG."/delete.png'></td> </tr>"; |
} ?> |
</table> |
<input type="text" value="<?php echo $user['expiration']; ?>" name="Expiration" id="Expiration" class="datepicker"> |
<input type="text" value="" name="altExpirationDate" id="altExpirationDate"> |
</td> |
<td><button>Ajouter à un groupes</button></td> |
<td></td> |
<td></td> |
</tr> |
<tr><td colspan="2"><br /></td><td></td><tr> |
<tr><td colspan="2"><input type="button" value="Supprimer" name="" id=""> <input type="button" value="Modifier" name="" id=""></td><td></td><tr> |
<tr><td colspan="2"><input type="button" value="Supprimer" name="bdelete" id="bdelete"> <input type="submit" value="Modifier" name="bupdate" id="bupdate"></td><td></td><td></td><tr> |
</table> |
<br /> |
369,285 → 189,64 |
</div> |
<div id="tabs-user"> |
<ul> |
<li><a href="#tabs0">Infos personnelles</a></li> |
<li><a href="#tabs01">Plage horaire</a></li> |
<li><a href="#tabs1">Caractéristiques</a></li> |
<li><a href="#tabs2">Etats</a></li> |
<li><a href="#tabs3">Sessions ouvertes</a></li> |
<li><a href="#tabs4">Connexion</a></li> |
</ul> |
<li><a href="#tabs1">Infos personnelles</a></li> |
<li><a href="#tabs4">Caractéristiques</a></li> |
<li><a href="#tabs2">Membre de</a></li> |
<li><a href="#tabs5">Etats</a></li> |
<li><a href="#tabs6">Sessions ouvertes</a></li> |
<li><a href="#tabs7">Connexion</a></li> |
</ul> |
<div id="tabs01"> |
<style> |
#testa td, #testa th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
width:50px; |
vertical-align: bottom; /* Alignement vertical, le contenu des cellules sera placé en bas */ |
border: 1px solid black; |
font-family: "Comic Sans MS", "Trebuchet MS", Times, "Times New Roman", serif; |
text-align: center; |
} |
#testb td { |
height: 10px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#testb th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#horaire-table th{ |
} |
#horaire-table td{ |
} |
#horaire-table thead, #horaire-table tfoot { |
background-color:#D0E3FA; |
/*background-image:url(monimage.jpg);*/ |
border:1px solid #6495ed; |
} |
#horaire-table tbody { |
background-color:#FFFFFF; |
/*border:1px solid #6495ed;*/ |
} |
#horaire-table thead th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table tbody th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table td { |
font-family:sans-serif; |
font-size:80%; |
border:1px dotted #6495ed; |
/*border-style: dotted;*/ |
text-align:left; |
width:9px; |
} |
.horaireIsSelected { |
background-color:blue; |
} |
.horaireIsNotSelected { |
background-color:#FFFFFF; |
} |
</style> |
<div id="plage_horaire"> |
<table border=1 id='horaire-table' cellpadding='0' cellspacing='1'> |
<thead> |
<tr id="horaireRow"> |
<th>Horaires</th> |
<th colspan="2">0</th><th colspan="2">1</th><th colspan="2">2</th><th colspan="2">3</th><th colspan="2">4</th><th colspan="2">5</th><th colspan="2">6</th><th colspan="2">7</th><th colspan="2">8</th><th colspan="2">9</th><th colspan="2">10</th><th colspan="2">11</th><th colspan="2">12</th> |
<th colspan="2">13</th><th colspan="2">14</th><th colspan="2">15</th><th colspan="2">16</th><th colspan="2">17</th><th colspan="2">18</th><th colspan="2">19</th><th colspan="2">20</th><th colspan="2">21</th><th colspan="2">22</th><th colspan="2">23</th> |
<tr> |
</thead> |
<tbody> |
<tr id='MoRow'> |
<th>Lundi</th> |
<td id='Mo'><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='TuRow'> |
<th>Mardi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='WeRow'> |
<th>Mercredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='ThRow'> |
<th>Jeudi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='FrRow'> |
<th>Vendredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SaRow'> |
<th>Samedi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SoRow'> |
<th>Dimanche</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
</tbody> |
</table> |
<br /> |
Legende :<br /> |
<style> |
.autorise{ |
border:1px dotted #6495ed; |
background-color:blue; |
width: 20px; |
} |
.refuse{ |
border:1px dotted #6495ed; |
background-color:#FFFFFF; |
width: 20px; |
} |
</style> |
<table> |
<tr><td class="autorise"><br /></td><td>Autorisé</td></tr> |
<tr><td class="refuse"><br /></td><td>Refusé</td></tr> |
</table> |
<br /> |
Période :<br /> |
<input type="radio" name="periode" value="0" onClick="no_limite();"> Aucune limite<br /> |
<input type="radio" name="periode" value="1" onClick="wk();"> En semaine uniquement<br /> |
<input type="radio" name="periode" value="2" onClick="we();"> Week end uniquement<br /> |
<input type="radio" name="periode" value="3" id="periode_perso" checked> Personalisé <br /> |
<br /> |
<button>Annuler</button><button id="button_test">Modifier</button> |
<input type="text" name="test" id="test" size="255" value=""> |
<br /> |
<div id="tabs1"> |
<table class="ui-widget ui-widget-content" width="550"> |
<tr><td>Nom complet (NOM Prénom)</td><td><input type="text" name="Name" id="" size="50" value="<?php echo $user['name'];?>"></td><tr> |
<tr><td>Mail</td><td><input type="text" name="Mail" id="Mail" size="50" value="<?php echo $user['mail'];?>"></td><tr> |
<tr><td>Service</td><td><input type="text" name="Department" id="Department" size="50" value="<?php echo $user['department'];?>"></td><tr> |
<tr><td>Téléphone personnel</td><td><input type="text" name="HomePhone" id="HomePhone" size="50" value="<?php echo $user['homephone'];?>"></td><tr> |
<tr><td>Téléphone bureau</td><td><input type="text" name="WorkPhone" id="WorkPhone" size="50" value="<?php echo $user['workphone'];?>"></td><tr> |
<tr><td>Téléphone mobile</td><td><input type="text" name="Mobile" id="Mobile" size="50" value="<?php echo $user['mobile'];?>"></td><tr> |
<tr><td><br /></td><td></td></tr> |
</table> |
</div> |
</div> |
<div id="tabs0"> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Nom complet (NOM Prénom)</td><td><input type="text" name="" id="" value="<?php echo $user['Name'];?>"></td><tr> |
<tr><td>Mail</td><td><input type="text" name="email" id="email" value="<?php echo $user['Mail'];?>"></td><tr> |
<tr><td>Service</td><td><input type="text" name="service" id="service" value="<?php echo $user['Department'];?>"></td><tr> |
<tr><td>Téléphone personnel</td><td><input type="text" name="phone" id="phone" value="<?php echo $user['HomePhone'];?>"></td><tr> |
<tr><td>Téléphone bureau</td><td><input type="text" name="bureau" id="bureau" value="<?php echo $user['WorkPhone'];?>"></td><tr> |
<tr><td>Téléphone mobile</td><td><input type="text" name="mobile" id="mobile" value="<?php echo $user['Mobile'];?>"></td><tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
<div id="tabs2"> |
<button>Ajouter à un groupes</button> |
<table id="groups_table" cellspacing="1" border="1" width="400"> |
<thead><tr><th width="20">#</th><th colspan="2">Groupes</th></tr></thead> |
<tbody> |
<tr><td width="20">#</td><td>testgroup</td><td width='10'><image src='<?php echo ALCASAR_ADMIN_PATH_IMG."/delete.png"; ?>'></td></tr> |
<?php |
$groups = array(); // faire une boucle pour les groupes |
foreach ($groups as $group){ |
echo "<tr><td></td><td>".$group['groupname']."</td><td width='10'><image src='".ALCASAR_ADMIN_PATH_IMG."/delete.png'></td> </tr>"; |
} ?> |
</tbody> |
</table> |
</div> |
<div id="tabs1"> |
<table class="ui-widget ui-widget-content"> |
<div id="tabs4"> |
<table class="ui-widget ui-widget-content" width="550"> |
<!--thead><tr class="ui-widget-header"><td></td><td></td></tr></thead--> |
<tbody> |
<tr><td>Nombre de session simultanée</td><td><input type="text" value="" name="Simultaneous-Use0" id=""></td></tr> |
<tr><td>Durée limite d'une session</td><td><input type="hidden" name="Session-Timeout0" id="" value=""><input type="text" value="" name="Session-Timeout0_h" id="" size="4">h<input type="text" value="" name="Session-Timeout0_mm" id="" size="2">mm<input type="text" value="" name="Session-Timeout0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite journalière</td><td><input type="hidden" name="Max-Daily-Session0" id="" value=""><input type="text" value="" name="Max-Daily-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Daily-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Daily-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite mensuelle</td><td><input type="hidden" name="Max-Monthly-Session0" id="" value=""><input type="text" value="" name="Max-Monthly-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Monthly-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Monthly-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Période hebdomadaire</td><td><input type="text" value="" name="Login-Time0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en émission (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Input-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en réception (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Output-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. total transmit (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Total-Octets0" id=""></td></tr> |
<tr><td>Bande passante montante max. (en kbits/seconde) </td><td><input type="text" value="" name="ChilliSpot-Bandwidth-Max-Up0" id=""></td></tr> |
<tr><td>Bande passante descendante max. (en kbits/seconde)</td><td><input type="text" value="" name="ChilliSpot-Bandwidth-Max-Down0" id=""></td></tr> |
<tr><td>URL de redirection</td><td><input type="text" value="" name="" id=""></td></tr> |
<tr><td>Nombre de session simultanée</td><td><input type="text" value="<?php echo $user['simultaneous-use']; ?>" name="Simultaneous-Use" id=""></td></tr> |
<tr><td>Durée limite d'une session</td><td><input type="hidden" name="Session-Timeout" id="" value=""><input type="text" value="" name="Session-Timeout_h" id="" size="4">h<input type="text" value="" name="Session-Timeout_mm" id="" size="2">mm<input type="text" value="" name="Session-Timeout_s" id="Session-Timeout_s" size="2">s</td></tr> |
<tr><td>Durée limite journalière</td><td><input type="hidden" name="Max-Daily-Session" id="" value=""><input type="text" value="" name="Max-Daily-Session_h" id="" size="4">h<input type="text" value="" name="Max-Daily-Session_mm" id="" size="2">mm<input type="text" value="" name="Max-Daily-Session_s" id="Max-Daily-Session_s" size="2">s</td></tr> |
<tr><td>Durée limite mensuelle</td><td><input type="hidden" name="Max-Monthly-Session" id="" value=""><input type="text" value="" name="Max-Monthly-Session_h" id="" size="4">h<input type="text" value="" name="Max-Monthly-Session_mm" id="" size="2">mm<input type="text" value="" name="Max-Monthly-Session_s" id="Max-Monthly-Session_s" size="2">s</td></tr> |
<tr><td>Période hebdomadaire</td><td><input type="text" value="<?php echo $user['login-time']; ?>" name="Login-Time" id="Login-Time"></td></tr> |
<tr><td>Nombre d'octets max. en émission (en octets)</td><td><input type="text" value="<?php echo $user['chillispot-max-input-octets']; ?>" name="ChilliSpot-Max-Input-Octets" id="ChilliSpot-Max-Input-Octets"></td></tr> |
<tr><td>Nombre d'octets max. en réception (en octets)</td><td><input type="text" value="<?php echo $user['chillispot-max-output-octets']; ?>" name="ChilliSpot-Max-Output-Octets" id="ChilliSpot-Max-Output-Octets"></td></tr> |
<tr><td>Nombre d'octets max. total transmit (en octets)</td><td><input type="text" value="<?php echo $user['chillispot-max-total-octets']; ?>" name="ChilliSpot-Max-Total-Octets" id="ChilliSpot-Max-Total-Octets"></td></tr> |
<tr><td>Bande passante montante max. (en kbits/seconde) </td><td><input type="text" value="<?php echo $user['chillispot-bandwidth-max-up']; ?>" name="ChilliSpot-Bandwidth-Max-Up" id="ChilliSpot-Bandwidth-Max-Up"></td></tr> |
<tr><td>Bande passante descendante max. (en kbits/seconde)</td><td><input type="text" value="<?php echo $user['chillispot-bandwidth-max-down']; ?>" name="ChilliSpot-Bandwidth-Max-Down" id="ChilliSpot-Bandwidth-Max-Down"></td></tr> |
<tr><td>URL de redirection</td><td><input type="text" value="<?php echo $user['wispr-redirection-url']; ?>" name="WISPr-Redirection-URL" id="WISPr-Redirection-URL"></td></tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
</tbody> |
</table> |
</div> |
<div id="tabs2"></div> |
<div id="tabs3"> |
<div id="tabs5"></div> |
<div id="tabs6"> |
Nb. sessions ouvertes : X<br /> |
<br /> |
<button>Déconnectet toutes les sessions ouvertes</button> |
660,8 → 259,9 |
</tbody> |
</table> |
</div> |
<div id="tabs4"></div> |
<div id="tabs7"></div> |
</div> |
</form> |
<div> |
</body> |
/web/admin/filters_domains.php |
---|
3,12 → 3,40 |
*/ |
/******************************************************************** |
* FICHIERS REQUIS * |
*********************************************************************/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
/******************************************************************** |
* APPLIQUATION DES MISES A JOURS * |
*********************************************************************/ |
/******************************************************************** |
* CHOIX DE LA LANGUE * |
*********************************************************************/ |
/******************************************************************** |
* CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* TEST DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* PARSING DES FICHIERS DE CONFIGURATION * |
*********************************************************************/ |
/******************************************************************** |
* AFFICHAGE DE LA PAGE * |
*********************************************************************/ |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Filters domains page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
/web/admin/services.php |
---|
1,4 → 1,5 |
<?php |
/* written by steweb57 */ |
/* |
5,10 → 6,126 |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
# Choice of language |
$Language = 'en'; |
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ |
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); |
$Language = strtolower(substr(chop($Langue[0]),0,2)); } |
if($Language == 'fr'){ |
$l_services_title = "Configuration des services"; |
$l_main_services = "Services réseau principaux"; |
$l_opt_services = "Services réseau optionnels"; |
$l_service_title = "Nom du service"; |
$l_service_start = "Démarrer"; |
$l_service_stop = "Arrêter"; |
$l_service_restart = "Redémarrer"; |
$l_service_status = "Status"; |
$l_service_action = "Actions"; |
$l_enable = "actif"; |
$l_disable = "inactif"; |
$l_radiusd = "Serveur d'authentification et d'autorisation"; |
$l_chilli = "Passerelle d'interception"; |
$l_dansguardian = "Filtre d'URL et de contenu WEB"; |
$l_mysqld = "Serveur de la base de données usager"; |
$l_squid = "Serveur de cache WEB"; |
$l_dnsmasq = "Serveur DNS et filtre de domaine"; |
$l_httpd = "Serveur WEB (Centre de Gestion d'ALCASAR)"; |
$l_havp = "Filtre antivirus WEB"; |
$l_sshd = "Accàs sécurisée à distance"; |
$l_freshclam = "Mise à jour de l'antivirus toutes les 2 heures"; |
$l_ntpd = "Service de mise à l'heure réseau"; |
} else { |
$l_services_title = "Configuration des services"; // a modifier |
$l_main_services = "Main network services"; |
$l_opt_services = "Optional network services"; |
$l_service_title = "Service name"; |
$l_service_start = "Start"; |
$l_service_stop = "Stop"; |
$l_service_restart = "Restart"; |
$l_service_status = "Status"; |
$l_service_action = "Actions"; |
$l_enable = "enable"; |
$l_disable = "disable"; |
$l_radiusd = "Authentication and authorisation serveur"; |
$l_chilli = "Interception gateway"; |
$l_dansguardian = "URL and WEB content filter"; |
$l_mysqld = "User database server"; |
$l_squid = "Proxy Cache WEB"; |
$l_dnsmasq = "DNS and domain name filter"; |
$l_httpd = "WEB server (ALCASAR Control Center)"; |
$l_havp = "WEB antivirus filter"; |
$l_sshd = "Secure remote access"; |
$l_freshclam = "WEB antivirus update (every 2 hours)"; |
$l_ntpd = "Network time"; |
} |
//fonction pour faire une action (start,stop,restart) sur un service |
function serviceExec($service, $action){ |
if (($action == "start")||($action == "stop")||($action == "restart")){ |
exec("sudo /sbin/service $service $action",$retval, $retstatus); |
if ($service == "sshd"){ |
if ($action == "start"){ exec("sudo /sbin/chkconfig --add $service");} |
if ($action == "stop"){ exec("sudo /sbin/chkconfig --del $service");} |
} |
return $retstatus; |
} else { |
return false; |
} |
} |
//fonction définissant le status d'un service |
//(en fonction de la présence d'un mot clé dans la valeur de status) |
function checkServiceStatus($service, $strMatch){ |
$response = false; |
exec("sudo /sbin/service $service status",$retval); |
foreach( $retval as $val ) { |
if (strpos($val,$strMatch)){ |
$response = true; |
break; |
} |
} |
return $response; |
} |
//------------------------------- |
// Les actions sur un service |
//------------------------------- |
//sécurité sur les actions à réaliser |
$autorizeService = array("radiusd","chilli","dansguardian","mysqld","squid","dnsmasq","httpd","havp","sshd","freshclam","ntpd"); |
$autorizeAction = array("start","stop","restart"); |
if (isset($_GET['service'])&&(in_array($_GET['service'], $autorizeService))) { |
if (isset($_GET['action'])&&(in_array($_GET['action'], $autorizeAction))) { |
$execStatus = serviceExec($_GET['service'], $_GET['action']); |
// execStatus non exploité |
} |
} |
//------------------------------- |
//recherche du status des services |
//------------------------------- |
$MainServiceStatus = array(); |
$MainServiceStatus['radiusd'] = checkServiceStatus("radiusd","pid"); |
$MainServiceStatus['chilli'] = checkServiceStatus("chilli","pid"); |
$MainServiceStatus['dansguardian'] = checkServiceStatus("dansguardian","pid"); |
$MainServiceStatus['mysqld'] = checkServiceStatus("mysqld","OK"); |
$MainServiceStatus['squid'] = checkServiceStatus("squid","pid"); |
$MainServiceStatus['dnsmasq'] = checkServiceStatus("dnsmasq","pid"); |
$MainServiceStatus['httpd'] = checkServiceStatus("httpd","pid"); |
$MainServiceStatus['havp'] = checkServiceStatus("havp","pid"); |
$OptServiceStatus = array(); |
$OptServiceStatus['sshd'] = checkServiceStatus("sshd","pid"); |
$OptServiceStatus['freshclam'] = checkServiceStatus("freshclam","pid"); |
$OptServiceStatus['ntpd'] = checkServiceStatus("ntpd","pid"); |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Services page</title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!-- include JQUERY UI CSS --> |
27,6 → 144,60 |
</script> |
</head> |
<body> |
<h1>SERVICES PAGE</h1> |
<div class="title"> |
<h3 class="ui-widget-header ui-corner-all"><?php echo $l_services_title; ?></h3> |
</div> |
<br /> |
<table width="100%" border="0" cellspacing="0" cellpadding="0"> |
<tr><th><?php echo $l_main_services; ?></th></tr> |
</table> |
<table width="100%" border=0 cellspacing=0 cellpadding=0 class="ui-widget ui-widget-content"> |
<tr align="center" class="ui-widget-header"><td><?php echo $l_service_status;?></td><td colspan="2"><?php echo $l_service_title;?></td><td colspan="3"><?php echo $l_service_action;?></td></tr> |
<tr align="center"> |
<?php foreach( $MainServiceStatus as $servicename => $statusok ) { ?> |
<tr> |
<?php if ($statusok) { ?> |
<td align="center"><img src="../images/state_ok.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ok; ?>"></td> |
<td align="center"><?php $comment="l_$servicename"; echo "<b>$servicename</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center">---</td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=stop&service=$servicename\"> $l_service_stop";?></a></td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=restart&service=$servicename\"> $l_service_restart";?></a></td> |
<?php } else { ?> |
<td align="center"><img src="../images/state_error.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ko ?>"></td> |
<td align="center"><?php $comment="l_$servicename"; echo "<b>$servicename</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=start&service=$servicename\"> $l_service_start";?></a></td> |
<td width="80" align="center">---</td> |
<td width="80" align="center">---</td> |
<?php } ?> |
</tr> |
<?php } ?> |
</td></tr> |
</table> |
<br /> |
<table width="100%" border="0" cellspacing="2" cellpadding="0"> |
<tr><th><?php echo $l_opt_services; ?></th></tr> |
</table> |
<table width="100%" border=0 cellspacing=0 cellpadding=0 class="ui-widget ui-widget-content"> |
<tr align="center" class="ui-widget-header"><td><?php echo $l_service_status;?></td><td colspan="2"><?php echo $l_service_title;?></td><td colspan="3"><?php echo $l_service_action;?></td></tr> |
<tr align="center"> |
<?php foreach( $OptServiceStatus as $servicename => $statusok ) { ?> |
<tr> |
<?php if ($statusok) { ?> |
<td align="center"><img src="../images/state_ok.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ok; ?>"></td> |
<td align="center"><?php $comment="l_$servicename"; echo "<b>$servicename</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center">---</td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=stop&service=$servicename\"> $l_service_stop";?></a></td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=restart&service=$servicename\"> $l_service_restart";?></a></td> |
<?php } else { ?> |
<td align="center"><img src="../images/state_error.gif" width="15" height="15" alt="<?php echo $l_service_status_img_ko ?>"></td> |
<td align="center"><?php $comment="l_$servicename"; echo "<b>$servicename</b></td><td>${$comment}" ;?> </td> |
<td width="80" align="center"><a href="<?php echo $_server['php_self']."?action=start&service=$servicename\"> $l_service_start";?></a></td> |
<td width="80" align="center">---</td> |
<td width="80" align="center">---</td> |
<?php } ?> |
</tr> |
<?php } ?> |
</td></tr> |
</table> |
</body> |
</html> |
/web/admin/old/user.php |
---|
0,0 → 1,730 |
<?php |
/* |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
//include(ALCASAR_ADMIN_PATH_LIB.'/user.class.php'); |
include(ALCASAR_ADMIN_PATH_LIB.'/radiusMysqlUser.class.php'); |
if (isset($_GET['username'])){ |
$username = $_GET['username']; |
} else { |
$username = ''; |
} |
$ouser = new radiusMysqlUser(); |
$ouser->load($username, true); |
$user = $ouser->get(); |
$attributes = $ouser->getAttribute(); |
?> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
<html> |
<head> |
<title>Edit <?php echo $options['username']; ?></title> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<!-- include default CSS --> |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css"> |
<!--link rel="stylesheet" href="../css/style.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 custom page CSS --> |
<!-- include JQUERY --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script> |
<!-- include JQUERY UI --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script> |
<!-- include page javascript --> |
<script type="text/javascript"> |
var horaireFlag = false; |
var colFlag = false; |
var rowFlag = false; |
var no_limite_flag = false; |
$(function(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected'); |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
//Time-limite |
var Time_limite = ''; |
parseHoraire(Time_limite); |
// Tabs |
$('#tabs-user').tabs(); |
// datepicker |
$( ".datepicker" ).datepicker(); |
// button |
$( "button, input:submit, input:button, input:reset").button(); |
$('#horaire-table').mouseleave(function() { |
horaireFlag = false; |
colFlag = false; |
rowFlag = false; |
}); |
// selection à partir du calendrier |
$('#horaire-table').find('tbody').mouseleave(function() { |
horaireFlag = false; |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mousedown(function() { |
horaireFlag = true; |
colorize_body($(this)); |
}); |
$('#horaire-table').find('tbody > tr > td').mouseup(function() { |
horaireFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > td').mouseover(function() { |
if (horaireFlag === true){ |
colorize_body($(this)); |
} |
}); |
// selection à partir de l'entête de la 1er colone |
$('#horaire-table').find('thead > tr > th:eq(0)').mousedown(function() { |
if (no_limite_flag){ |
no_limite(); |
no_limite_flag = false; |
} else { |
all_limite(); |
no_limite_flag = true; |
} |
}); |
// selection à partir de l'entête de colone |
$('#horaire-table').find('thead > tr > th').mousedown(function() { |
colFlag = true; |
head_colorize_body($(this)) |
}); |
$('#horaire-table').find('thead > tr > th').mouseup(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead').mouseleave(function() { |
colFlag = false; |
}); |
$('#horaire-table').find('thead > tr > th').mouseover(function() { |
if (colFlag == true){ |
head_colorize_body($(this)) |
} |
}); |
// selection à partir de l'entête de ligne |
//.mouseleave event is allready defined |
$('#horaire-table').find('tbody > tr > th').mousedown(function() { |
rowFlag = true; |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
}); |
$('#horaire-table').find('tbody > tr > th').mouseup(function() { |
rowFlag = false; |
}); |
$('#horaire-table').find('tbody > tr > th').mouseover(function() { |
if (rowFlag == true){ |
selectedrow = $(this).parent(); |
row_colorize_body(selectedrow); |
} |
}); |
function calcule_plage_jour(horaires){ |
var d, f, i, deb, tmp; |
deb = true; |
tmp = new Array(); |
for (i=0 ; i<=47 ; i++) { |
if ( jQuery.inArray(i, horaires) !== -1){ |
if (deb){ |
d = i; |
deb = false; |
} |
if (i == 47){ |
f = i; |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} else { |
if (!(deb)){ |
f = eval(i-1); |
tmp.push(new Array(d,f)); |
deb = true; |
} |
} |
} |
return tmp; |
} |
function parsePlage(plage){ |
alert(plage[0]); |
for (i=0 ; i < plage.length-1 ; i++){ |
deb = plage[i][0]; |
fin = plage[i][1]; |
debh = eval(deb/2); |
alert(deb); |
if (eval(deb%2) == 0){ |
debm = "00"; |
} else { |
debm = "30"; |
} |
deb = debh + debm; |
finh = parseInt(eval(fin/2)); |
if (eval(fin%2) == 0){ |
finm = "00"; |
} else { |
finm = "30"; |
} |
fin = finh + finm; |
} |
return deb+fin; |
} |
//Wk2305-0855,Sa,Su2305-1655 |
$('#button_test').click(function(){ |
a = new Array(); |
mo = new Array(); |
tu = new Array(); |
we = new Array(); |
th = new Array(); |
fr = new Array(); |
sa = new Array(); |
so = new Array(); |
plageMo = new Array(); |
/* |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, td){ |
if ($(td).hasClass('horaireIsSelected')) a.push(index); |
}) |
*/ |
tds = $('#horaire-table').find('tbody > tr > td').get(); |
$(tds).each( function(index, tda){ |
if ($(tda).hasClass('horaireIsSelected')) a.push(index); |
}); |
td_mo = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_mo).each( function(index, td_mo_a){ |
if ($(td_mo_a).hasClass('horaireIsSelected')) mo.push(index); |
}); |
//alert(mo); |
td_tu = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_tu).each( function(index, td_tu_a){ |
if ($(td_tu_a).hasClass('horaireIsSelected')) tu.push(index); |
}); |
//alert(tu); |
td_we = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_we).each( function(index, td_we_a){ |
if ($(td_we_a).hasClass('horaireIsSelected')) we.push(index); |
}); |
//alert(we); |
td_th = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_th).each( function(index, td_th_a){ |
if ($(td_th_a).hasClass('horaireIsSelected')) th.push(index); |
}); |
//alert(th); |
td_fr = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_fr).each( function(index, td_fr_a){ |
if ($(td_fr_a).hasClass('horaireIsSelected')) fr.push(index); |
}); |
//alert(fr); |
td_sa = $('#horaire-table').find('tbody > tr:eq(1) > td').get(); |
$(td_sa).each( function(index, td_sa_a){ |
if ($(td_sa_a).hasClass('horaireIsSelected')) sa.push(index); |
}); |
//alert(sa); |
td_so = $('#horaire-table').find('tbody > tr:eq(0) > td').get(); |
$(td_so).each( function(index, td_so_a){ |
if ($(td_so_a).hasClass('horaireIsSelected')) so.push(index); |
}); |
//alert(so); |
plageMo = calcule_plage_jour(mo); |
plageTu = calcule_plage_jour(tu); |
plageWe = calcule_plage_jour(we); |
plageTh = calcule_plage_jour(th); |
plageFr = calcule_plage_jour(fr); |
plageSa = calcule_plage_jour(sa); |
plageSo = calcule_plage_jour(so); |
//alert(plage); |
//alert(a); |
$('#test').val(parsePlage(plageMo)); |
//la suite ? |
}); |
}); |
//fonctions de sélection/déselection |
function row_colorize_body(row_ref){ |
if (row_ref.find('td').hasClass('horaireIsNotSelected') || !(row_ref.find('td').hasClass('horaireIsSelected'))){ |
row_ref.find('td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
row_ref.find('td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function colorize_body(td_ref){ |
if (td_ref.hasClass('horaireIsNotSelected') || !(td_ref.hasClass('horaireIsSelected'))){ |
td_ref.removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
td_ref.removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
$('#periode_perso').attr("checked","checked"); |
} |
function head_colorize_body(head_ref){ |
horaire_head = false; |
var index = head_ref.index(); |
index = (parseInt(index) - 1) *2; |
index2 = index + 1; |
if (head_ref.hasClass('headSelect')){ |
head_ref.removeClass('headSelect').addClass('headNoSelect'); |
horaire_head = false; |
} else { |
head_ref.removeClass('headNoSelect').addClass('headSelect'); |
horaire_head = true; |
} |
var rows = $('#horaire-table').find('tbody > tr').get(); |
$.each(rows, function() { |
if (horaire_head){ |
$(this).find('td:eq('+index+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} else { |
$(this).find('td:eq('+index+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
$(this).find('td:eq('+index2+')').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
}); |
$('#periode_perso').attr("checked","checked"); |
} |
//fonctions de sélection/déselection des profils pre-définis |
function no_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function all_limite(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected'); |
} |
function wk(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected').addClass('horaireIsNotSelected');; |
$('#horaire-table').find('tbody > tr:lt(5) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
function we(){ |
$('#horaire-table').find('tbody > tr > td').removeClass('horaireIsSelected'); |
$('#horaire-table').find('tbody > tr:gt(4) > td').removeClass('horaireIsNotSelected').addClass('horaireIsSelected'); |
} |
//parse Time-limite et affiche le résultat dans le calendrier |
function parseHoraire(Time_limite){ |
if (Time_limite == ''){ |
no_limite(); |
return; |
} |
} |
</script> |
<style type="text/css"> |
.datepicker{ |
background:url(../images/calendrier.gif) no-repeat 110px 3px; |
} |
</style> |
</head> |
<body> |
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des usagers</span> |
</div> |
<div id="usager"> |
<div id=""> |
<br /> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Usager :</td><td><input type="text" name="User" id="User" value="<?php echo $username; ?>" ></td><td></td><tr> |
<tr><td>Mot de passe :</td><td><input type="text" name="User-mdp" id="User-mdp" value="********"></td><td><button>Générer MDP</button></td><tr> |
<tr><td>Date d'expiration :</td><td><input type="text" value="" name="" id="" class="datepicker"></td><td></td></tr> |
<tr> |
<td>Membre de :</td> |
<td> |
<table width="100%"> |
<?php |
$users = array(); // faire une boucle pour les groupes |
foreach ($users as $user){ |
echo "<tr> <td></td> <td width='10'><image src='".ALCASAR_ADMIN_PATH_IMG."/delete.png'></td> </tr>"; |
} ?> |
</table> |
</td> |
<td><button>Ajouter à un groupes</button></td> |
</tr> |
<tr><td colspan="2"><br /></td><td></td><tr> |
<tr><td colspan="2"><input type="button" value="Supprimer" name="" id=""> <input type="button" value="Modifier" name="" id=""></td><td></td><tr> |
</table> |
<br /> |
</div> |
<div id="tabs-user"> |
<ul> |
<li><a href="#tabs0">Infos personnelles</a></li> |
<li><a href="#tabs01">Plage horaire</a></li> |
<li><a href="#tabs1">Caractéristiques</a></li> |
<li><a href="#tabs2">Etats</a></li> |
<li><a href="#tabs3">Sessions ouvertes</a></li> |
<li><a href="#tabs4">Connexion</a></li> |
</ul> |
<div id="tabs01"> |
<style> |
#testa td, #testa th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
width:50px; |
vertical-align: bottom; /* Alignement vertical, le contenu des cellules sera placé en bas */ |
border: 1px solid black; |
font-family: "Comic Sans MS", "Trebuchet MS", Times, "Times New Roman", serif; |
text-align: center; |
} |
#testb td { |
height: 10px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#testb th { |
height: 5px; /* J'agrandis la hauteur des cellules pour que l'on puisse voir l'alignement vertical */ |
} |
#horaire-table th{ |
} |
#horaire-table td{ |
} |
#horaire-table thead, #horaire-table tfoot { |
background-color:#D0E3FA; |
/*background-image:url(monimage.jpg);*/ |
border:1px solid #6495ed; |
} |
#horaire-table tbody { |
background-color:#FFFFFF; |
/*border:1px solid #6495ed;*/ |
} |
#horaire-table thead th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table tbody th { |
font-family:monospace; |
border:1px solid #6495ed; |
padding:3px; |
background-color:#EFF6FF; |
/*width:25%;*/ |
-moz-user-select: none; |
-khtml-user-select: none; |
user-select: none; |
} |
#horaire-table td { |
font-family:sans-serif; |
font-size:80%; |
border:1px dotted #6495ed; |
/*border-style: dotted;*/ |
text-align:left; |
width:9px; |
} |
.horaireIsSelected { |
background-color:blue; |
} |
.horaireIsNotSelected { |
background-color:#FFFFFF; |
} |
</style> |
<div id="plage_horaire"> |
<table border=1 id='horaire-table' cellpadding='0' cellspacing='1'> |
<thead> |
<tr id="horaireRow"> |
<th>Horaires</th> |
<th colspan="2">0</th><th colspan="2">1</th><th colspan="2">2</th><th colspan="2">3</th><th colspan="2">4</th><th colspan="2">5</th><th colspan="2">6</th><th colspan="2">7</th><th colspan="2">8</th><th colspan="2">9</th><th colspan="2">10</th><th colspan="2">11</th><th colspan="2">12</th> |
<th colspan="2">13</th><th colspan="2">14</th><th colspan="2">15</th><th colspan="2">16</th><th colspan="2">17</th><th colspan="2">18</th><th colspan="2">19</th><th colspan="2">20</th><th colspan="2">21</th><th colspan="2">22</th><th colspan="2">23</th> |
<tr> |
</thead> |
<tbody> |
<tr id='MoRow'> |
<th>Lundi</th> |
<td id='Mo'><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='TuRow'> |
<th>Mardi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='WeRow'> |
<th>Mercredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='ThRow'> |
<th>Jeudi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='FrRow'> |
<th>Vendredi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SaRow'> |
<th>Samedi</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
<tr id='SoRow'> |
<th>Dimanche</th> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
<td id=''><br /></td><td id=''><br /></td><td id=''><br /></td><td id=''><br /></td> |
</tr> |
</tbody> |
</table> |
<br /> |
Legende :<br /> |
<style> |
.autorise{ |
border:1px dotted #6495ed; |
background-color:blue; |
width: 20px; |
} |
.refuse{ |
border:1px dotted #6495ed; |
background-color:#FFFFFF; |
width: 20px; |
} |
</style> |
<table> |
<tr><td class="autorise"><br /></td><td>Autorisé</td></tr> |
<tr><td class="refuse"><br /></td><td>Refusé</td></tr> |
</table> |
<br /> |
Période :<br /> |
<input type="radio" name="periode" value="0" onclick="no_limite();"> Aucune limite<br /> |
<input type="radio" name="periode" value="1" onclick="wk();"> En semaine uniquement<br /> |
<input type="radio" name="periode" value="2" onclick="we();"> Week end uniquement<br /> |
<input type="radio" name="periode" value="3" id="periode_perso" checked> Personalisé <br /> |
<br /> |
<button>Annuler</button><button id="button_test">Modifier</button> |
<input type="text" name="test" id="test" size="255" value=""> |
<!--input type='text' value='' id='debugtest'--><br /> |
<!-- |
<table> |
<tr valign="top"><td> |
<table id="testb"> |
<tr><th><br /></th><tr> |
<tr><td>00:00</td><tr> |
<tr><td>00:30</td><tr> |
<tr><td>01:00</td><tr> |
<tr><td>01:30</td><tr> |
<tr><td>02:00</td><tr> |
<tr><td>02:30</td><tr> |
<tr><td>03:00</td><tr> |
<tr><td>03:30</td><tr> |
<tr><td>04:00</td><tr> |
<tr><td>04:30</td><tr> |
<tr><td>05:00</td><tr> |
<tr><td>05:30</td><tr> |
<tr><td>06:00</td><tr> |
<tr><td>06:30</td><tr> |
<tr><td>07:00</td><tr> |
<tr><td>07:30</td><tr> |
<tr><td>08:00</td><tr> |
<tr><td>08:30</td><tr> |
<tr><td>09:00</td><tr> |
<tr><td>09:30</td><tr> |
</table> |
</td> |
<td> |
<table id="testa" border="1" cellpadding='0' cellspacing='1'> |
<thead> |
<tr><th>Lundi</th><th>Mardi</th><th>Mercredi</th><th>Jeudi</th><th>Vendredi</th><th>Samedi</th><th>Dimanche</th></tr> |
</thead> |
<tbody> |
<tr><td>a </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td><td><br /></td></tr> |
</body> |
</table> |
</td></tr> |
</table> |
<table id="test"> |
<thead> |
<tr><th></th><th>0</th><th>.</th><th>1</th><th>.</th><th>2</th><th>.</th><th>3</th></tr> |
</thead> |
<tbody> |
<tr><td>Lundi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Mardi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Mercredi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Jeudi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Vendredi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Samedi</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tr><td>Dimanche</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><tr> |
<tbody> |
</table> |
--> |
</div> |
</div> |
<div id="tabs0"> |
<table class="ui-widget ui-widget-content"> |
<tr><td>Nom complet (NOM Prénom)</td><td><input type="text" name="" id="" value="<?php echo $user['Name'];?>"></td><tr> |
<tr><td>Mail</td><td><input type="text" name="email" id="email" value="<?php echo $user['Mail'];?>"></td><tr> |
<tr><td>Service</td><td><input type="text" name="service" id="service" value="<?php echo $user['Department'];?>"></td><tr> |
<tr><td>Téléphone personnel</td><td><input type="text" name="phone" id="phone" value="<?php echo $user['HomePhone'];?>"></td><tr> |
<tr><td>Téléphone bureau</td><td><input type="text" name="bureau" id="bureau" value="<?php echo $user['WorkPhone'];?>"></td><tr> |
<tr><td>Téléphone mobile</td><td><input type="text" name="mobile" id="mobile" value="<?php echo $user['Mobile'];?>"></td><tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
</table> |
</div> |
<div id="tabs1"> |
<table class="ui-widget ui-widget-content"> |
<!--thead><tr class="ui-widget-header"><td></td><td></td></tr></thead--> |
<tbody> |
<tr><td>Nombre de session simultanée</td><td><input type="text" value="" name="Simultaneous-Use0" id=""></td></tr> |
<tr><td>Durée limite d'une session</td><td><input type="hidden" name="Session-Timeout0" id="" value=""><input type="text" value="" name="Session-Timeout0_h" id="" size="4">h<input type="text" value="" name="Session-Timeout0_mm" id="" size="2">mm<input type="text" value="" name="Session-Timeout0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite journalière</td><td><input type="hidden" name="Max-Daily-Session0" id="" value=""><input type="text" value="" name="Max-Daily-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Daily-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Daily-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Durée limite mensuelle</td><td><input type="hidden" name="Max-Monthly-Session0" id="" value=""><input type="text" value="" name="Max-Monthly-Session0_h" id="" size="4">h<input type="text" value="" name="Max-Monthly-Session0_mm" id="" size="2">mm<input type="text" value="" name="Max-Monthly-Session0_s" id="" size="2">s</td></tr> |
<tr><td>Période hebdomadaire</td><td><input type="text" value="" name="Login-Time0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en émission (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Input-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. en réception (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Output-Octets0" id=""></td></tr> |
<tr><td>Nombre d'octets max. total transmit (en octets)</td><td><input type="text" value="" name="ChilliSpot-Max-Total-Octets0" id=""></td></tr> |
<tr><td>Bande passante montante max. (en kbits/seconde) </td><td><input type="text" value="" name="ChilliSpot-Bandwidth-Max-Up0" id=""></td></tr> |
<tr><td>Bande passante descendante max. (en kbits/seconde)</td><td><input type="text" value="" name="ChilliSpot-Bandwidth-Max-Down0" id=""></td></tr> |
<tr><td>URL de redirection</td><td><input type="text" value="" name="" id=""></td></tr> |
<tr><td><br /></td><td></td></tr> |
<tr><td><button>Annuler</button><button>Modifier</button></td><td></td></tr> |
</tbody> |
</table> |
</div> |
<div id="tabs2"></div> |
<div id="tabs3"> |
Nb. sessions ouvertes : X<br /> |
<br /> |
<button>Déconnectet toutes les sessions ouvertes</button> |
<br /><br /> |
<table class="ui-widget ui-widget-content"> |
<thead><tr class="ui-widget-header"><td width="50">#</td><td width="100">MAC</td><td width="100">IP</td><td>Hôte</td><td>Date/heure</td><td>-</td></tr></thead> |
<tbody> |
<tr><td>1</td><td>exemple</td><td>exemple</td><td>exemple</td><td>exemple</td><td><a href="">déconnecter</a></td></tr> |
<tr><td>2</td><td>exemple</td><td>exemple</td><td>exemple</td><td>exemple</td><td><a href="">déconnecter</a></td></tr> |
</tbody> |
</table> |
</div> |
<div id="tabs4"></div> |
</div> |
<div> |
</body> |
</body> |
/web/admin/old/auth_users.php.old |
---|
0,0 → 1,608 |
<?php |
/* |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Users page</title> |
<!-- include default CSS --> |
<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"> |
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/datatables/css/demo_table.css"> |
<!-- include custom page CSS --> |
<style type="text/css"> |
div#users-contain { width: 450px; margin: 20px 0; } |
div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; } |
div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; text-align: left; } |
div#users-contain table th { ui-widget-header } |
</style> |
<!-- include JQUERY --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script> |
<!-- include JQUERY UI --> |
<script type="text/javascript" language="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.quicksearch.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"> |
$(document).ready(function(){ |
// Tabs |
$('#tabs-users').tabs(); |
// buttons |
$( "button, input:submit, input:button, input:reset").button(); |
// Users table |
$("#test") |
.tablesorter({widthFixed: true, widgets: ['zebra']}) |
.tablesorterPager({container: $("#pager")}); |
$('input#searchtest').quicksearch('table#test tbody tr'); |
$('#example').dataTable( |
/*{ |
"bPaginate": true, // Active la pagination (10 par défaut) |
"bLengthChange":true, // Affiche le choix du nombre de résultat affiché |
"bFilter": true, // Affiche le champ de recherche (filtre) |
"bSort": true, // Active la possibilité de trie |
"bInfo": true, // Affiche le nombre de résultat affiché et total |
"bAutoWidth": true // ? |
}*/ |
{ |
"oLanguage": { |
/* |
//"sUrl": "media/language/de_DE.txt" |
"sProcessing": "Bitte warten...", |
"sLengthMenu": "_MENU_ Einträge anzeigen", |
"sZeroRecords": "Keine Einträge vorhanden.", |
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", |
"sInfoEmpty": "0 bis 0 von 0 Einträgen", |
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", |
"sInfoPostFix": "", |
"sSearch": "Suchen", |
"sUrl": "", |
"oPaginate": { |
"sFirst": "Erster", |
"sPrevious": "Zurück", |
"sNext": "Nächster", |
"sLast": "Letzter" |
} |
*/ |
"sProcessing": "Patientez...", |
"sLengthMenu": "Afficher _MENU_ enregistrements", |
"sZeroRecords": "Aucun enregistrement disponible.", |
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", |
"sInfoEmpty": "0 bis 0 von 0 Einträgen", |
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", |
"sInfoPostFix": "", |
"sSearch": "Recherche : ", |
"sUrl": "", |
"oPaginate": { |
"sFirst": "Première page", |
"sPrevious": "Page précédente", |
"sNext": "Page suivante", |
"sLast": "Dernière page" |
} |
} |
/* |
{ |
"sProcessing": "Bitte warten...", |
"sLengthMenu": "_MENU_ Einträge anzeigen", |
"sZeroRecords": "Keine Einträge vorhanden.", |
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", |
"sInfoEmpty": "0 bis 0 von 0 Einträgen", |
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", |
"sInfoPostFix": "", |
"sSearch": "Suchen", |
"sUrl": "", |
"oPaginate": { |
"sFirst": "Erster", |
"sPrevious": "Zurück", |
"sNext": "Nächster", |
"sLast": "Letzter" |
} |
} |
*/ |
} |
); |
}); |
</script> |
</head> |
<body> |
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des usagers</span> |
</div> |
<br /> |
<div id="tabs-users"> |
<ul> |
<li><a href="#tabs1">Usagers</a></li> |
<li><a href="#tabs2">Vouchers</a></li> |
<li><a href="#tabs3">Profils</a></li> |
</ul> |
<div id="tabs1"> |
<div> |
Un usager est un utilisateur standard de votre réseau de consultation.<br> |
<font color="red">ATTENTION POUR DEMONSTRATION DES OPTIONS A UTILISER (exemple avec bug)</font> |
</div> |
<table id="example" cellspacing="1" class="tablesorter" border="0" width="100%"> |
<thead> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</thead> |
<tfoot> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</tfoot> |
<tbody> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
</tbody> |
</table> |
<br> |
<div id="rechercher_usager_box" style="float:left;"> |
<form name="searchform"> |
<label for="searchtest">Recherche :</label> |
<input type="text" id="searchtest" value=""> |
<a href="" title="Recherche avancée">Avancée</a> |
</form> |
</div> |
<div style="float:right;"> |
<form name="searchform"> |
<input type="button" value="Nouvel usager"> |
</form> |
</div> |
<table id="test" cellspacing="1" class="tablesorter" border="0" width="100%"> |
<thead> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</thead> |
<tfoot> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</tfoot> |
<tbody> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
<tr> |
<td>1</td> |
<td>User1</td> |
<td>Dupond Jean</td> |
<td>01/12/2011</td> |
</tr> |
<tr> |
<td>2</td> |
<td>User2</td> |
<td>Smith John</td> |
<td>20/06/2011</td> |
</tr> |
<tr> |
<td>3</td> |
<td>User3</td> |
<td>monsieur anonyme</td> |
<td>30/07/2011</td> |
</tr> |
</tbody> |
</table> |
<div id="pager" class="pager"> |
<form> |
<img src="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/first.png" class="first"/> |
<img src="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/prev.png" class="prev"/> |
<input type="text" class="pagedisplay" size="5"/> |
<img src="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/next.png" class="next"/> |
<img src="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/last.png" class="last"/> |
<select class="pagesize"> |
<option selected="selected" value="10">10</option> |
<option value="20">20</option> |
<option value="30">30</option> |
<option value="40">40</option> |
</select> |
</form> |
</div> |
<br><br><br> |
</div> |
<div id="tabs2"> |
<div> |
Un "Voucher" est un compte d'accès de type "pré-payé" qui dépend d'une durée d'utilisation ou d'un délai dans le temps. |
</div> |
</div> |
<div id="tabs3"> |
<div> |
Afin de gagner du temps dans la création des comptes usagers et vouchers, vous avez la possibilité de prédéfinir des profils de création de compte. |
</div> |
</div> |
</div> |
</body> |
</html> |
/web/admin/old/example.class.php |
---|
0,0 → 1,33 |
<?php |
/* |
*/ |
class example |
{ |
// public properties |
// private properties |
// protected properties |
// Class constructor |
public function __construct() |
{ |
} |
// Class destructor |
public function __destruct() |
{ |
} |
// public methods |
// private methods |
// protected methods |
} |
?> |
/web/admin/old/users.php |
---|
0,0 → 1,253 |
<?php |
/* |
*/ |
require_once('includes/defines.inc.php'); |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php'); |
//include(ALCASAR_ADMIN_PATH_LIB.'/user.class.php'); |
include(ALCASAR_ADMIN_PATH_LIB.'/radiusMysqlUser.class.php'); |
$options['fields'] = "*"; |
/* |
$list_users = new user(); |
$users = $list_users->find($options); |
*/ |
$users = radiusMysqlUser::find($options); |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0"> |
<html> |
<head> |
<title>Users page</title> |
<!-- include default CSS --> |
<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"> |
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/datatables/css/demo_table.css"> |
<!-- include custom page CSS --> |
<style type="text/css"> |
div#users-contain { width: 450px; margin: 20px 0; } |
div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; } |
div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; text-align: left; } |
div#users-contain table th { ui-widget-header } |
.dataTables_filter { |
float: left; |
text-align: left; |
width: 220px; |
} |
</style> |
<!-- include JQUERY --> |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script> |
<!-- include JQUERY UI --> |
<script type="text/javascript" language="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.quicksearch.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 = { |
/* |
//"sUrl": "media/language/de_DE.txt" |
"sProcessing": "Bitte warten...", |
"sLengthMenu": "_MENU_ Einträge anzeigen", |
"sZeroRecords": "Keine Einträge vorhanden.", |
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", |
"sInfoEmpty": "0 bis 0 von 0 Einträgen", |
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", |
"sInfoPostFix": "", |
"sSearch": "Suchen", |
"sUrl": "", |
"oPaginate": { |
"sFirst": "Erster", |
"sPrevious": "Zurück", |
"sNext": "Nächster", |
"sLast": "Letzter" |
} |
*/ |
"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(){ |
// Tabs |
$('#tabs-users').tabs(); |
// buttons |
$( "button, input:submit, input:button, input:reset").button(); |
// Users table |
/* |
$("#test") |
.tablesorter({widthFixed: true, widgets: ['zebra']}) |
.tablesorterPager({container: $("#pager")}); |
*/ |
//$('input#searchtest').quicksearch('table#test tbody tr'); |
$('#users_table').dataTable( |
{ |
// fonction suivante permet d'avoir une colone numéroté 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 |
/* |
"bPaginate": true, // Active la pagination (10 par défaut) |
"bLengthChange":true, // Affiche le choix du nombre de résultat affiché |
"bFilter": true, // Affiche le champ de recherche (filtre) |
"bSort": true, // Active la possibilité de trie |
"bInfo": true, // Affiche le nombre de résultat affiché et total |
"bAutoWidth": true // ? |
"bJQueryUI": true, // pour utiliser les styles JQUERY UI |
"sPaginationType": "full_numbers", // affiche la pagination en nombre de page |
"bProcessing": true, // active source de donnée AJAX |
"bServerSide": true, // pagnination, filtre, etc... du coté du serveur |
"sAjaxSource": "../examples_support/server_processing.php", // URL de la source de donnée (SI AJAX activé!) |
*/ |
"oLanguage": table_data_lang |
}); |
$('#users_table_filter').after('<div style="float:left"><a href="javascript:alert(\'Fonction prochainement dispobible.\');" title="Recherche avancée">Avancée</a></div>'); |
$('#vouchers_table').dataTable({ |
// fonction suivante permet d'avoir une colone numéroté 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 |
}); |
}); |
</script> |
</head> |
<body> |
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des usagers</span> |
</div> |
<br /> |
<div id="tabs-users"> |
<ul> |
<li><a href="#tabs1">Usagers</a></li> |
<li><a href="#tabs2">Vouchers</a></li> |
<li><a href="#tabs3">Profils</a></li> |
</ul> |
<div id="tabs1"> |
<div> |
Un usager est un utilisateur standard de votre réseau de consultation.<br> |
<font color="red">ATTENTION POUR DEMONSTRATION DES OPTIONS A UTILISER. Données du serveur RADIUS traitées (tri, pagination) par la page dans l'exemple , gérées par le serveur (AJAX) en production</font> |
</div> |
<br> |
<div style="float:right;"> |
<form name="newUserform"> |
<input type="button" value="Nouvel usager"> |
</form> |
</div> |
<br> |
<table id="users_table" cellspacing="1" class="tablesorter" border="0" width="100%"> |
<thead> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</thead> |
<tfoot> |
<tr> |
<th width="20">#</th><th width="200">Usagers</th><th>Nom, prénom</th><th width="100">Date validitée</th> |
</tr> |
</tfoot> |
<tbody> |
<?php |
foreach ($users as $user){ |
echo "<tr><td></td><td><a href='user.php?username=".$user['username']."' title='Edit User'>".$user['username']."</a></td><td>".$user['Name']."</td><td><font color=red>ND</font></td></tr>"; |
} |
?> |
</tbody> |
</table> |
<br><br><br> |
</div> |
<div id="tabs2"> |
<div> |
Un "Voucher" est un compte d'accès de type "pré-payé" qui dépend d'une durée d'utilisation ou d'un délai dans le temps. |
</div> |
<br> |
<table id="vouchers_table" cellspacing="1" class="tablesorter" border="0" width="100%"> |
<thead> |
<tr> |
<th width="20">#</th> |
<th>Vouchers</th> |
<th>Description</th> |
<th>Nom complet (identifier la personne)</th> |
<th>Date validitée</th> |
</tr> |
</thead> |
<tfoot> |
<tr> |
<th width="20">#</th> |
<th>Vouchers</th> |
<th>Description</th> |
<th>Nom complet (identifier la personne)</th> |
<th>Date validitée</th> |
</tr> |
</tfoot> |
<tbody> |
<!-- |
<tr><td>1</td><td><a href="user.php">cfjdjpjsdpajdazpjpaz</a></td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td>2</td><td>cfjdjpjsdpajdazpjpaz</td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td>3</td><td>casas456defe5zsd6saz</td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td>4</td><td>cfjdjpjsdddzd54zsd5q</td><td><br /></td><td><br /></td><td><br /></td></tr> |
<tr><td>5</td><td>cfd5d1s5d5df5fzpjpaz</td><td><br /></td><td><br /></td><td><br /></td></tr> |
--> |
</tbody> |
</table> |
</div> |
<div id="tabs3"> |
<div> |
Afin de gagner du temps dans la création des comptes usagers et vouchers, vous avez la possibilité de prédéfinir des profils de création de compte. |
</div> |
</div> |
</div> |
</body> |
</html> |
/web/admin/old/user.class.php |
---|
0,0 → 1,156 |
<?php |
/* |
*/ |
require_once('mysql.class.php');// the mysql class in already OK! |
class user // rename to radius_user! |
{ |
// public properties |
public $username = null; |
public $properties = Array(); |
// private properties |
private $database = null; |
// protected properties |
// Class constructor |
public function __construct($options = Array()) //see later how tp do the mysql init (init value in option or included with this file) |
{ |
$this->database = new mysql("127.0.0.1","root","","radius"); |
} |
// Class destructor |
public function __destruct() |
{ |
//$this->mysql->close(); //is private ! |
$this->database = null; |
} |
// public methods |
public function find($options = Array(), $escape=false) |
{ |
/* |
If the options are not xss clean, escape all options string by calling _escapeDatas() method. |
*/ |
if ($escape == true) { |
//$this->_extractArray($options, true); //create variable from $options array and get xss clean for mysql database |
$options = $this->_escapeDatas($options); //create variable from $options array and get xss clean for mysql database |
} |
/* |
The differents $options values are : |
$distinct -> only distinct response ? |
$username -> only for this username |
$fields -> fields to return (default : username) |
$search -> search value to find |
$search_IN -> search in this/those field(s)(text or array) |
$limit -> to limit the resultset |
$offset -> offset (work with $limit for pagination) |
$sortby -> sort by x field (default : no sorting) |
$sortdir -> sort direction (ASC/DESC) (default : no sorting) |
$radius_attr-> radius attribute to find (text or array) if search_IN = radius |
*/ |
//mysql_real_escape_string |
$sql = "SELECT "; |
// distinct option |
if ((isset($distinct))&&($distinct=="distinct")) |
$sql .= "DISTINCT "; |
// field option (make sure that the field exist!) |
if ((isset($options['fields']))&&($options['fields']!='')){ |
$sql .= $options['fields'].", username "; |
}else{ |
$sql .= "username "; |
} |
$sql .= "FROM userinfo "; |
// search option |
if ((isset($options['username']))&&($options['username']!='')){ |
} |
// where option |
if ((isset($options['username']))&&($options['username']!="")) |
{ |
$sql .= "WHERE username='".$options['username']."'"; |
$this->username = $options['username']; |
} |
// sort |
if ((isset($options['sortby']))&&($options['sortby']!='')){ |
$sql .= "ORDER BY ".$options['sortby']." "; |
if ((isset($options['sortdir']))&&($options['sortdir']!='')){ |
$sql .= "LIMIT ".$options['sortdir']." "; |
} |
} |
// limit / offset |
if ((isset($options['limit']))&&($options['limit']!='')){ |
if ((isset($options['offset']))&&($options['offset']!='')){ |
$sql .= "LIMIT $offset $limit "; |
} else { |
$sql .= "LIMIT $limit "; |
} |
} |
$sql .= ";"; |
// query |
$result = $this->database->query($sql); |
// return the result values |
return $result; |
} |
public function add($username, $options = array()) |
{ |
/* |
$username : user to add |
$options : others user infos or attribute to add |
userinfo table : Name, Mail, Departement, WorkPhone, HomePhone, Mobile) |
radcheck table : see in attrmap.php (i get it from the "freeradius dialupadmin" package) |
radreply table : see in attrmap.php |
*/ |
} |
public function addAttribute($attribute) |
{ |
// add attribute in radcheck or radreply table |
// return true or false |
} |
public function delete($username) |
{ |
// $username : user to delete |
} |
public function deleteAttribute($attribute) |
{ |
// delete attribute in radcheck or radreply table |
// return true or false |
} |
public function update($username, $options = array()) |
{ |
/* |
$username : user to update |
$options : user infos or attribute to update |
userinfo table : Name, Mail, Departement, WorkPhone, HomePhone, Mobile) |
radcheck table : see in attrmap.php (i get it from the "freeradius dialupadmin" package) |
radreply table : see in attrmap.php |
*/ |
} |
public function updateAttribute($attribute) |
{ |
// update attribute in radcheck or radreply table |
// return true or false |
} |
public function passwordCheck($pwd, $username ="") // make it static? |
{ |
// Check the user password |
// Return true or false |
} |
public function passwordSet($pwd, $username ="") // make it static? |
{ |
// Set or change the user password |
} |
// private methods |
// protected methods |
} |
?> |