extranet/www/pages/administration.php

232 lines
8.5 KiB
PHP

<?
$siret=trim(preg_replace('/[^0-9]/', '', $_REQUEST['siret']));
$idEntreprise=trim(preg_replace('/[^0-9]/', '', $_REQUEST['idEntreprise']))*1;
if (!$_SESSION['connected'])
echo ('Vous devez être connecté afin de pouvoir utiliser cette fonctionnalité');
elseif ( $_SESSION['tabInfo']['profil']!='Administrateur' && $_SESSION['tabInfo']['profil']!='SuperAdministrateur') {
echo ('Vous n\'avez pas les droits nécessaires pour utiliser cette fonctionnalité ('.$_SESSION['tabInfo']['profil'].')');
$siret=$_REQUEST['siret'];
}
else
{
if ($_REQUEST['action']=='delete') {
$message='Erreur lors de la suppression du compte utilisateur !';
try {
$tabOptions=array('delete'=>true);
$O = $client->setInfosLogin($_REQUEST['login'], $tabOptions);
//action=delete&login=bpanaccione&idUti=3
if ($O['result']==1) $message='Compte "'.$_REQUEST['login'].'" supprimé !';
} catch (SoapFault $fault) {
$message='Erreur SOAP lors de la suppression du compte utilisateur !';
}
} elseif ($_REQUEST['action']=='activate') {
$message='Erreur lors de l\'activation du compte utilisateur !';
try {
$tabOptions=array('actif'=>true);
$O = $client->setInfosLogin($_REQUEST['login'], $tabOptions);
if ($O['result']==1) $message='Compte "'.$_REQUEST['login'].'" activé !';
} catch (SoapFault $fault) {
$message='Erreur SOAP lors de l\'activation du compte utilisateur !';
}
} elseif ($_REQUEST['action']=='unactivate') {
$message='Erreur lors de la désactivation du compte utilisateur !';
try {
$tabOptions=array('actif'=>false);
$O = $client->setInfosLogin($_REQUEST['login'], $tabOptions);
if ($O['result']==1) $message='Compte "'.$_REQUEST['login'].'" désactivé !';
} catch (SoapFault $fault) {
$message='Erreur SOAP lors de la désactivation du compte utilisateur !';
}
}
/** Utilisation du WS **/
try {
$O = $client->getListeUtilisateurs($_SESSION['tabInfo']['login']);
$utilisateurs=$O['results'];
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client,$fault,$tabInfo);
die();
}
?>
<style type="text/css">
#utilisateur { border-collapse:collapse; margin:0 5px;}
#utilisateur tr.titre td { background-color: #D9EEF1; font-weight:bold; }
#utilisateur tr.border td { border:1px dashed #939393; padding:5px; margin:0;}
</style>
<script type="text/javascript">
$(document).ready(function(){
var holdTheInterval;
var nbEssai = 10;
var essai = 0;
var login;
var date;
var url;
var details = false;
var all = false;
var dl = false;
$.ajaxSetup({timeout: 4001});
$('#submitmois').click(function(){
//On disable tout les champs
$('input[name=details]:checkbox').attr('disabled', true);
$('select[name=mois]').attr('disabled', true);
$('input[name=all]:checkbox').attr('disabled', true);
//Valeur de la date
date = $('select[name=mois]').val();
//Vérification
if(date!='' && date!='-'){
login = $('input[name=utilisateur]').val();
details = $('input[name=details]').attr('checked') ? true : false ;
all = $('input[name=all]').attr('checked') ? true : false ;
checkFile();
holdTheInterval = setInterval(checkFile, 4000);
}
});
$('input[name=details]:checkbox').click(function(){
if( $('input[name=all]:checkbox').attr('checked') && $('input[name=details]:checkbox').attr('checked') ){
var ok = confirm('Le Détail et l\'option Tous les clients ont été selectionnées, le téléchargement risque d\'être long. Voulez-vous continuez ?');
if(!ok){ $('input[name=details]:checkbox').attr('checked', false); }
}
})
function checkFile(){
essai++;
if(essai>nbEssai){
essai = 0;
updateInfo('Le temps maximum d\'attente a été atteint. Merci de rééssayez.');
$('input[name=details]:checkbox').removeAttr('disabled');
$('select[name=mois]').removeAttr('disabled');
$('input[name=all]:checkbox').removeAttr('disabled');
}else if(essai==1){
$('#message').text('Patientez pendant la construction du fichier ('+essai+')...');
$.post( 'pages/ajax/conso.php',
{ login: login, date: date, details: details, all: all, start: essai},
function (data, textStatus) { url = data; }
);
}else{
$('#message').text('Patientez pendant la construction du fichier ('+essai+')...');
$.post( 'pages/ajax/conso.php',
{ login: login, date: date, details: details, all: all, start: essai, url: url},
function (data, textStatus) { if( data!='' && data!='FALSE' ){ updateInfo(data); } });
}
}
function updateInfo(data){
$('#message').html(data);
clearInterval(holdTheInterval);
$('input[name=details]:checkbox').removeAttr('disabled');
$('select[name=mois]').removeAttr('disabled');
$('input[name=all]:checkbox').removeAttr('disabled');
essai = 0;
}
});
</script>
<div id="center">
<h1>ADMINISTRATION</h1>
<h2>Relevé de consommation complet</h2>
<table>
<tr>
<td width="30">&nbsp;</td>
<td>
<input type="hidden" name="utilisateur" value=""/>
<?php
if($_SESSION['tabInfo']['profil']=='SuperAdministrateur')
{
?>
<label title="Renvoi les logs de tous les clients. Avec le détails le téléchargement peut être long.">Tous les clients</label><input type="checkbox" name="all" value="1"/>
<?php
}
?>
<label>Détails</label><input type="checkbox" name="details" value="1"/>
<label>Sélectionnez le mois :</label>
<select name="mois">
<option value="-">-</option>
<?php
for($i=1; $i<=12; $i++ ){
$date = date('m', mktime(0, 0, 0, date("m")-$i, date("d"), date("Y"))).'/'.date('Y', mktime(0, 0, 0, date("m")-$i, date("d"), date("Y")));
print '<option value="'.$date.'">'.$date.'</option>';
}
?>
</select>
<a href="#" id="submitmois">Ok</a>
</td>
</tr>
<tr><td width="30">&nbsp;</td><td><div id="message"></div></td></tr>
</table>
<h2>Liste des profils utilisateurs</h2>
<table id="utilisateur" >
<?php
if(isset($message) && $message!='')
{
?>
<tr>
<td width="30">&nbsp;</td>
<td colspan="5" class="StyleInfoData" align="center"><h3><?=$message;?></h3></td>
</tr>
<?php
}
?>
<tr class="border titre">
<td class="StyleInfoLib">Login</td>
<td class="StyleInfoLib">Actions</td>
<td class="StyleInfoLib">Actif</td>
<td class="StyleInfoLib">Informations</td>
<td class="StyleInfoLib">Référence</td>
</tr>
<?php
foreach ($utilisateurs as $uti)
{
?>
<tr class="border">
<td class="StyleInfoData"><?=$uti['login']?></td>
<td align="center" valign="middle">
<a href="/?page=moncompte&idEntreprise=<?=$idEntreprise?>&siret=<?=$siret?>&login=<?=$uti['login']?>&idUti=<?=$uti['idUti']?>&referer=administration"><img src="/img/edit0.gif" title="Editer le profil utilisateur" width="16" height="16"/></a>
<a href="Javascript:if (confirm('Voulez-vous supprimer le compte de <?=$uti['login']?>')){document.location.href='/?page=administration&idEntreprise=<?=$idEntreprise?>&siret=<?=$siret?>&action=delete&login=<?=$uti['login']?>&idUti=<?=$uti['idUti']?>'}"><img src="/img/delete.gif" title="Supprimer le profil utilisateur" width="11" height="11"/></a>
</td>
<td class="StyleInfoData"><?
if ($uti['actif']==1) { ?><a href="Javascript:if (confirm('Voulez-vous désactiver le compte de <?=$uti['login']?>')){document.location.href='/?page=administration&idEntreprise=<?=$idEntreprise?>&siret=<?=$siret?>&action=unactivate&login=<?=$uti['login']?>&idUti=<?=$uti['idUti']?>'}" title="Désactiver le profil utilisateur"><u><font color="green">Oui</font></u></a><? }
else { ?><a href="Javascript:if (confirm('Voulez-vous activer le compte de <?=$uti['login']?>')) {document.location.href='/?page=administration&idEntreprise=<?=$idEntreprise?>&siret=<?=$siret?>&action=activate&login=<?=$uti['login']?>&idUti=<?=$uti['idUti']?>'}" title="Activer le profil utilisateur"><u><font color="red" >Non</font></u></a><? } ?></td>
<td class="StyleInfoData">
<?=$uti['nom']?> <?=$uti['prenom']?> <br/>
<a href="mailto:<?=$uti['email']?>"><?=str_replace(';','<br/>',$uti['email'])?></a>
</td>
<td class="StyleInfoData"><?=$uti['reference']?></a></td>
</tr>
<?php
}
?>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td colspan="5" align="center">
<form name="form_admin" action="./?page=moncompte&action=new&referer=administration" method="POST" enctype="multipart/form-data"><input type="submit" value="Créer un profil utilisateur" /></form></td>
</tr>
</table>
<?php
if($_SESSION['tabInfo']['profil']=='SuperAdministrateur')
{
?>
<h2>Gestion des clients</h2>
<table>
<tr>
<td width="30">&nbsp;</td>
<td><a href="./index.php?page=administration_client">Liste des clients</a></td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td><a href="./index.php?page=administration_client&action=new">Création d'un nouveau client</a></td>
</tr>
</table>
<?php
}
?>
<?
}
?>
</div>