ajout page extraction: surveillances et logs, issue #0000099

This commit is contained in:
Sebastien BEAUGRAND 2010-04-09 13:41:14 +00:00
parent 0182abb78d
commit a0fd8a9210
7 changed files with 442 additions and 270 deletions

View File

@ -19,7 +19,7 @@ $tabScripts = array(
'pages' => array('ratios', 'rsynthese'),
),
'scripts_surveillance' => array(
'list' => array('jquery.tablesorter.js', 'surveillance.js'),
'list' => array('jquery.tablesorter.js', 'telechargement.js'),
'pages' => array('surveillance'),
),
'scripts_portefeuille' => array(

View File

@ -1,61 +1,65 @@
$(document).ready(function()
{
$("select[name=type]").change(function(){
var value = $(this).val();
if (value == '-'){
$(location).attr('href','./?page=surveillance');
}else{
$(location).attr('href','./?page=surveillance&vue=source&source='+value+'');
}
});
$(document).ready(function() {
$("select[name=type]").change(function() {
var value = $(this).val();
if (value == '-') {
$(location).attr('href', './?page=surveillance');
} else {
$(location).attr('href',
'./?page=surveillance&vue=source&source=' +
value + '');
}
});
//Récupération du fichier de surveillance
var holdTheInterval;
var nbEssai = 25;
var essai = 0;
var login;
var date;
var url = '';
var source = '-';
// Récupération du fichier de surveillance
var holdTheInterval;
var nbEssai = 25;
var essai = 0;
var login;
var date;
var url = '';
var source = '-';
//$.ajaxSetup({timeout: 4001});
$('#getSurveillanceCsv').click(function() {
// On disable tout les champs
$('select[name=source]').attr('disabled', true);
// Valeur
source = $('select[name=source]').val();
checkFile();
holdTheInterval = setInterval(checkFile, 4000);
});
$('#getSurveillanceCsv').click(function()
{
//On disable tout les champs
$('select[name=source]').attr('disabled', true);
//Valeur
source = $('select[name=source]').val();
checkFile();
holdTheInterval = setInterval(checkFile, 4000);
});
function checkFile() {
essai++;
if (essai > nbEssai) {
essai = 0;
updateInfo('Le temps maximum d\'attente a été atteint.' +
' Merci de réessayez.');
} else {
$('#getSurveillanceMsg').
text('Patientez pendant la construction du fichier (' +
essai + ')...');
$.post('pages/ajax/surveillance.php',
{ source: source, url: url, start: essai },
function (data, textStatus) {
if (data != '' && data != 'FALSE') {
if (essai == 1) {
url = data;
if (url == '') {
updateInfo('Erreur');
}
} else {
updateInfo(data);
}
}
}
);
}
}
function checkFile()
{
essai++;
if(essai>nbEssai){
essai = 0;
updateInfo('Le temps maximum d\'attente a été atteint. Merci de rééssayez.');
}else{
$('#getSurveillanceMsg').text('Patientez pendant la construction du fichier ('+essai+')...');
$.post( 'pages/ajax/surveillance.php', { source: source, url: url, start: essai},
function (data, textStatus){
if( data!='' && data!='FALSE' ){
if(essai==1) {
url = data;
if(url ==''){updateInfo('Erreur');}
}
else updateInfo(data);
}
});
}
}
function updateInfo(data)
{
$('#getSurveillanceMsg').html(data);
clearInterval(holdTheInterval);
$('select[name=source]').removeAttr('disabled');
essai = 0;
}
});
function updateInfo(data) {
$('#getSurveillanceMsg').html(data);
clearInterval(holdTheInterval);
$('select[name=source]').removeAttr('disabled');
essai = 0;
}
});

80
www/js/telechargement.js Normal file
View File

@ -0,0 +1,80 @@
// --------------------------------------------------------------------------- //
// telechargement.js
// --------------------------------------------------------------------------- //
$(document).ready(
function() {
// Récupération du fichier de surveillance
var holdTheInterval;
var nbEssai = 25;
var essai = 0;
var url = '';
var menuD;
var caseC;
var page;
var argv;
$('#telechargementjs').click(
function() {
if ($('select[name=telechargementjsMenu]').val() == 'invalide') {
$('#telechargementjsMsg').
html('Vous devez sélectionner une période.');
return;
}
// On disable tout les champs
$('select[name=telechargementjsMenu]').attr('disabled', true);
$( 'input[name=telechargementjsCase]:checkbox').
attr('disabled', true);
// Valeur
menuD = $('select[name=telechargementjsMenu]').val();
caseC = $( 'input[name=telechargementjsCase]').attr('checked') ?
true : false;
page = $( 'input[name=page]').val();
argv = $( 'input[name=argv]').val();
checkFile();
holdTheInterval = setInterval(checkFile, 4000);
}
);
function checkFile() {
essai++;
if (essai > nbEssai) {
essai = 0;
updateInfo('Le temps maximum d\'attente a été atteint.' +
' Merci de réessayez.');
$('select[name=telechargementjsMenu]').removeAttr('disabled');
$( 'input[name=telechargementjsCase]:checkbox').
removeAttr('disabled');
} else {
$('#telechargementjsMsg').
text('Patientez pendant la construction du fichier (' +
essai + ')...');
$.post('pages/ajax/telechargement.php',
{ menuD: menuD, caseC: caseC, url: url, start: essai,
page: page, argv: argv },
function (data, textStatus) {
if (data != '' &&
data != 'FALSE') {
if (essai == 1) {
url = data;
if (url == '') {
updateInfo('Erreur');
}
} else {
updateInfo(data);
}
}
}
);
}
}
function updateInfo(data) {
$('#telechargementjsMsg').html(data);
clearInterval(holdTheInterval);
$('select[name=telechargementjsMenu]').removeAttr('disabled');
$( 'input[name=telechargementjsCase]:checkbox').
removeAttr('disabled');
essai = 0;
}
}
);

View File

@ -1,78 +1,84 @@
<?php
require_once 'common/curl.php';
isset($_REQUEST['start']) ? $start=$_REQUEST['start'] : $start=0;
isset($_REQUEST['url']) ? $url=$_REQUEST['url'] : $url='';
isset($_REQUEST['source']) && $_REQUEST['source']!='-' ? $source=$_REQUEST['source'] : $source='';
$path = PATH_DATA.'/surveillance/';
//Debug
$start = (isset($_REQUEST['start']) == true) ? $_REQUEST['start'] : 0;
$url = (isset($_REQUEST['url']) == true) ? $_REQUEST['url'] : '';
$source = (isset($_REQUEST['source']) == true &&
$_REQUEST['source'] != '-') ? $_REQUEST['source'] : '';
$path = PATH_DATA.'/surveillance/';
$return = '';
//Connection au webservice
$client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1,
'location' => 'http://78.31.45.206/ws2/',
'uri' => 'http://78.31.45.206/',
'login' => $_SESSION['tabInfo']['login'],
'password' => $_SESSION['tabInfo']['password'],
));
// Connection au webservice
$client =
new SoapClient(null,
array('trace' => 1,
'soap_version' => SOAP_1_1,
'location' => 'http://78.31.45.206/ws2/',
'uri' => 'http://78.31.45.206/',
'login' => $_SESSION['tabInfo']['login'],
'password' => $_SESSION['tabInfo']['password']));
//Recuperation de l'url pour le telechargement du fichier
if($start==1){
$firephp->log($source, 'source');
try {
$O = $client->getListeSurveillancesCsv($source, $_SESSION['tabInfo']['login']);
$surveillances = $O['result'];
$url = $surveillances['Url'];
$firephp->log($url, 'URL');
$return = $url;
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client,$fault,$_SESSION['tabInfo']);
exit;
}
}else{
$firephp->log($url, 'url');
//Recuperation du nom du fichier
$tableau = explode('/',$url);
$file = $tableau[sizeof($tableau)-1];
// Recuperation de l'url pour le telechargement du fichier
if ($start == 1) {
$firephp->log($source, 'source');
try {
$O = $client->getListeSurveillancesCsv($source,
$_SESSION['tabInfo']['login']);
$surveillances = $O['result'];
$url = $surveillances['Url'];
$firephp->log($url, 'URL');
$return = $url;
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client, $fault, $_SESSION['tabInfo']);
exit;
}
} else {
$firephp->log($url, 'url');
// Recuperation du nom du fichier
$tableau = explode('/', $url);
$file = $tableau[sizeof($tableau) - 1];
//Suppression du fichier si le temps de cache est depasse
if( file_exists($path.$file) && filemtime($path.$file) > mktime(date("H")+1, date("i"), date("s"), date("m"), date("d"), date("Y")) )
{
unlink($path.$file);
}
// Suppression du fichier si le temps de cache est depasse
if (file_exists($path.$file) &&
filemtime($path.$file) > mktime(date("H") + 1, date("i"), date("s"),
date("m"), date("d"), date("Y"))) {
unlink($path.$file);
}
//Recuperation du fichier sur le serveur
if ( !file_exists($path.$file))
{
$firephp->info('Demarage recuperation du fichier');
//On check si le fichier est present sur l'url
(isset($_REQUEST['url']) && url!='')? $url=$_REQUEST['url']: '';
$page = getUrl($url, '', '', '', false);
//Fichier non disponible
if($page['code']==408 || $page['code']==400 || $page['code']==404){
$return = 'FALSE';
//Ecriture du fichier sur le serveur en local
}else{
if(!file_exists($path)) mkdir($path);
$body = $page['body'];
$fp = fopen($path.$file, 'w');
fwrite($fp, $body);
fclose($fp);
$return = 'FALSE';
}
}
// Recuperation du fichier sur le serveur
if (!file_exists($path.$file)) {
$firephp->info('Demarage recuperation du fichier');
// On check si le fichier est present sur l'url
$page = getUrl($url, '', '', '', false);
// Fichier non disponible
if ($page['code'] == 408 ||
$page['code'] == 400 ||
$page['code'] == 404) {
$return = 'FALSE';
// Ecriture du fichier sur le serveur en local
} else {
if (!file_exists($path)) {
mkdir($path);
}
$body = $page['body'];
$fp = fopen($path.$file, 'w');
fwrite($fp, $body);
fclose($fp);
chmod($path.$file, 0666);
$return = 'FALSE';
}
}
//Le fichier existe sur l'extranet, etc....
if (file_exists($path.$file) && filesize($path.$file)>0)
{
$firephp->info('Fichier sur le serveur local');
$return = '<u><a title="T&eacute;l&eacute;charger le fichier" target="_blank" href="/datafile.php?q='.$file.'&type=surveillance">Cliquez-ici pour t&eacute;l&eacute;charger le fichier.</a></u>';
}elseif (file_exists($path.$file) && filesize($path.$file)==0){
$return = 'Aucune surveillance enregistr&eacute;e.';
}
// Le fichier existe sur l'extranet, etc....
if (file_exists($path.$file) && filesize($path.$file) > 0) {
$firephp->info('Fichier sur le serveur local');
$return = '<u><a title="T&eacute;l&eacute;charger le fichier"'.
' target="_blank" href="/datafile.php?q='.$file.
'&type=surveillance">Cliquez-ici pour t&eacute;l&eacute;charger'.
' le fichier.</a></u>';
} else if (file_exists($path.$file) && filesize($path.$file) == 0) {
$return = 'Aucune surveillance enregistr&eacute;e.';
}
}
echo $return;
print $return;

View File

@ -0,0 +1,102 @@
<?php
// --------------------------------------------------------------------------- //
// telechargement.php
// --------------------------------------------------------------------------- //
$page = $_POST['page' ];
if ($page == 'moncompte') {
$page = 'conso';
}
$start = $_POST['start'];
$argv = explode(',', $_POST['argv']);
for ($i = 0; $i < count($argv); $i += 2) {
$$argv[$i] = $argv[$i + 1];
}
$return = '';
// Recuperation de l'url pour le telechargement du fichier
if ($start == 1) {
$client = new SoapClient(null,
array('trace' => 1,
'soap_version' => SOAP_1_1,
'location' => 'http://78.31.45.206/ws2/',
'uri' => 'http://78.31.45.206/',
'login' => $_SESSION['tabInfo']['login'],
'password' => $_SESSION['tabInfo']['password']));
try {
switch ($page) {
case 'surveillance':
$res = $client->
getListeSurveillancesCsv($_POST['menuD'],
$_SESSION['tabInfo']['login']);
break;
case 'conso':
$date = substr($_POST['menuD'], 3, 4).
substr($_POST['menuD'], 0, 2);
$detail = ($_POST['caseC'] == 'true') ? true : false;
$res = $client->
getLogsClients($date, $detail, $idClient, $login, false);
break;
}
if (isset($res['result']['Url']) == true) {
$return = $res['result']['Url'];
} else {
$return = 'FALSE';
}
} catch (SoapFault $e) {
require_once 'soaperror.php';
processSoapFault($client, $e, $_SESSION['tabInfo']);
exit;
}
} else {
require_once 'common/curl.php';
$url = (isset($_POST['url']) == true) ? $_POST['url'] : '';
$path = PATH_DATA.'/'.$page.'/';
// Recuperation du nom du fichier
$tableau = explode('/', $url);
$file = $tableau[sizeof($tableau) - 1];
// Suppression du fichier si le temps de cache est depasse
if (file_exists($path.$file) &&
filemtime($path.$file) > mktime(date("H") + 1, date("i"), date("s"),
date("m"), date("d"), date("Y"))) {
unlink($path.$file);
}
// Recuperation du fichier sur le serveur
if (!file_exists($path.$file)) {
// On check si le fichier est present sur l'url
$url_tab = getUrl($url, '', '', '', false);
if ($url_tab['code'] == 408 ||
$url_tab['code'] == 400 ||
$url_tab['code'] == 404) {
// Fichier non disponible
$return = 'FALSE';
} else {
// Ecriture du fichier sur le serveur en local
if (!file_exists($path)) {
mkdir($path);
}
$body = $url_tab['body'];
$fp = fopen($path.$file, 'w');
fwrite($fp, $body);
fclose($fp);
chmod($path.$file, 0666);
$return = 'FALSE';
}
}
// Le fichier existe sur l'extranet
if (file_exists($path.$file)) {
if (filesize($path.$file) > 0) {
$return = '<u><a title="T&eacute;l&eacute;charger le fichier"'.
' target="_blank" href="/datafile.php?q='.$file.
'&type='.$page.'">Cliquez-ici pour t&eacute;l&eacute;charger'.
' le fichier.</a></u>';
} else {
$return = 'Aucune '.$page.' enregistr&eacute;e.';
}
}
}
print $return;

View File

@ -112,96 +112,37 @@ div.submit p.required-note span{color:#4B911C;_color:#666;font-size:170%;vertica
#message {margin-left:30px;}
#dialog { display:none; }
</style>
<script type="text/javascript">
$(document).ready(function(){
var holdTheInterval;
var nbEssai = 25;
var essai = 0;
var login;
var date;
var url;
var details = false;
var all = false;
var dl = false;
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 180,
modal: true,
buttons: {
'Modifier': function() {
var pass = $('input[name=npass1]').val();
if( pass!=$('input[name=npass2]').val() ){
$('#form-message').html('Mots de passe différents.');
} else {
$('input[name=frmOptions[changepwd]]').val('1');
$('input[name=frmOptions[password]]').val(pass);
$('#password').html('Sauver pour enregistrer' +
' la modification du mot de passe');
$(this).dialog('close');
}
},
'Annuler': function() {
$(this).dialog('close');
}
}
});
//$.ajaxSetup({timeout: 4001});
$('#password').click(function(){
$("#dialog").dialog('open');
});
$('#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);
}
});
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;
}
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 180,
modal: true,
buttons: {
'Modifier': function() {
var pass = $('input[name=npass1]').val();
if( pass!=$('input[name=npass2]').val() ){
$('#form-message').html('Mots de passe différents.');
}else{
$('input[name=frmOptions[changepwd]]').val('1');
$('input[name=frmOptions[password]]').val(pass);
$('#password').html('Sauver pour enregistrer la modification du mot de passe');
$(this).dialog('close');
}
},
'Annuler': function() {
$(this).dialog('close');
}
}
});
$('#password').click(function(){
$("#dialog").dialog('open');
});
});
});
</script>
<div id="center">
@ -307,31 +248,47 @@ Num&eacute;ros de t&eacute;l&eacute;phone<br/><i>(Fixe, Fax, Mobile)</i>
</div>
<?php
if( $tabInfo['profil']=='Administrateur' ||
$tabInfo['profil']=='SuperAdministrateur' )
{
// --------------------------------------------------------------------------- //
// Consommation
// --------------------------------------------------------------------------- //
if ($tabInfo['profil'] == 'Administrateur' ||
$tabInfo['profil'] == 'SuperAdministrateur') {
$argv = '';
if (isset($loginVu) == true) {
$argv .= "login,$loginVu,";
}
if (isset($idClient) == true) {
$argv .= "idClient,$idClient";
} else {
$argv .= "idClient,0";
}
?>
<script type="text/javascript" src="js/telechargement.js"></script>
<div class="infoTitle StyleInfoLib">Relevé de consommation</div>
<div class="infoData">
<input type="hidden" name="utilisateur" value="<?=$loginVu?>"/>
<label>Détails</label>
<input type="checkbox" name="details" value="1" class="noborder"/>
<select name="mois">
<option value="-">Mois/Année</option>
<?php
for($i=1; $i<=12; $i++ ){
$date =
date('m', mktime(0, 0, 0, date('m')-$i, 1, date('Y'))).'/'.
date('Y', mktime(0, 0, 0, date('m')-$i, 1, date('Y')));
echo '<option value="'.$date.'">'.$date.'</option>';
}
?>
</select>
<a href="#" id="submitmois">Ok</a>
<label>Détails</label>
<input type="hidden" name="page" value="<?print $page; ?>"/>
<input type="hidden" name="argv" value="<?php print $argv; ?>"/>
<input type="checkbox" name="telechargementjsCase" value="1" class="noborder"/>
<select name="telechargementjsMenu">
<option value="invalide">Mois/Année</option>
<?php
for ($i = 1; $i <= 12; ++$i) {
$date = date('m', mktime(0, 0, 0, date('m') - $i, 1, date('Y'))).'/'.
date('Y', mktime(0, 0, 0, date('m') - $i, 1, date('Y')));
print '<option value="'.$date.'">'.$date.'</option>';
}
?>
</select>
<a href="#" id="telechargementjs">Ok</a>
</div>
<div id="message" class="infoData last"></div>
<div id="telechargementjsMsg" class="infoData last"></div>
<?php
}
// --------------------------------------------------------------------------- //
// Moteur de recherche
// --------------------------------------------------------------------------- //
?>
<h2>Moteur de recherche</h2>
<div class="infoTitle StyleInfoLib">R&eacute;sultats par page</div>
@ -399,7 +356,7 @@ if ($_SESSION['tabInfo']['login']=='ylenaour')
$login['profil'] : 'Utilisateur';?>
</div>
<div class="infoTitle StyleInfoLib">Droits d'acc&egrave;s</div>
<div class="infoTitle StyleInfoLib">Droits d&apos;acc&egrave;s</div>
<div class="infoData">
<?php
FB::log($login, 'login');

View File

@ -120,7 +120,7 @@ if($vue=='default'){
?>
<table id="info">
<tr>
<td width="200" class="StyleInfoLib">Nombre d'entités affichées</td>
<td width="200" class="StyleInfoLib">Nombre d&apos;entités affichées</td>
<td><?=$nbEtab?></td>
</tr>
<tr>
@ -139,49 +139,72 @@ if($vue=='default'){
</table>
<?php
}
// --------------------------------------------------------------------------- //
// Extraction
// --------------------------------------------------------------------------- //
?>
<h2>Extraction des surveillances</h2>
<p class="options">
<label>Extraire uniquement les surveillances de type</label>
<select name="source">
<option value="-">toutes</option>
<?php
foreach($tabSource as $s => $perm)
{
if(hasPerm('surv'.$perm))
{
?>
<option value="<?=$s?>" <?php if(isset($source) && $source==$s){print 'selected';}?>><?=$s?></option>
<?php
}
}
?>
</select>
<a href="#" id="getSurveillanceCsv">Ok</a>
<label>Extraire uniquement les surveillances de type</label>
<input type="hidden" name="page" value="<?=$page?>"/>
<select name="telechargementjsMenu">
<option value="-">toutes</option>
<?php
foreach ($tabSource as $s => $perm) {
if (hasPerm('surv'.$perm)) {
print '<option value="'.$s.'"';
if (isset($source) && $source == $s) {
print 'selected';
}
print '>'.$s.'</option>';
}
}
?>
</select>
<a href="#" id="telechargementjs">Ok</a>
</p>
<div id="getSurveillanceMsg"></div>
<div id="telechargementjsMsg"></div>
<?php
// --------------------------------------------------------------------------- //
// Affichage
// --------------------------------------------------------------------------- //
?>
<h2>Options de tri</h2>
<p class="options">
Afficher uniquement les suveillances de type
<select name="type">
<option value="-">toutes</option>
<?php
foreach($tabSource as $s => $perm)
{
if(hasPerm('surv'.$perm))
{
?>
<option value="<?=$s?>"
<?=(isset($source) && $source==$s) ? 'selected' : '' ;?>><?=$s?>
</option>
<?php
}
}
?>
</select>
<label>Afficher uniquement les suveillances de type</label>
<select name="type">
<option value="-">toutes</option>
<?php
foreach($tabSource as $s => $perm) {
if (hasPerm('surv'.$perm)) {
print '<option value="'.$s.'"';
if (isset($source) && $source == $s) {
print 'selected';
}
print '>'.$s.'</option>';
}
}
?>
</select>
</p>
<script type="text/javascript">
$(document).ready(function() {
$("select[name=type]").change(function() {
var value = $(this).val();
if (value == '-') {
$(location).attr('href', './?page=surveillance');
} else {
$(location).attr('href',
'./?page=surveillance&vue=source&source=' +
value + '');
}
});
});
</script>
<p class="options">
<ul id="tri">
<li>
@ -204,7 +227,7 @@ Tri par Référence
</li>
<li>
<a href="<?=lienTri('dateajout', $vue, $source, $siret, $idEntreprise)?>">
Tri par Date d'ajout
Tri par Date d&apos;ajout
</a>
</li>
<li>