Envoi de bilan saisie sous forme numérique par le client
This commit is contained in:
parent
f69703dc2c
commit
e42f1ac8ce
15
config/update/update-sql-20110127.sql
Normal file
15
config/update/update-sql-20110127.sql
Normal file
@ -0,0 +1,15 @@
|
||||
CREATE TABLE `sdv1`.`bilansaisie` (
|
||||
`ref` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
|
||||
`clientId` INT NOT NULL ,
|
||||
`utilisateurId` INT NOT NULL ,
|
||||
`utilisateurLogin` VARCHAR( 50 ) NOT NULL ,
|
||||
`utilisateurEmail` VARCHAR( 100 ) NOT NULL ,
|
||||
`siren` VARCHAR( 9 ) NOT NULL ,
|
||||
`bilanCloture` VARCHAR( 10 ) NOT NULL ,
|
||||
`bilanDuree` INT( 2 ) NOT NULL ,
|
||||
`dateInsert` DATETIME NOT NULL
|
||||
) ENGINE = MYISAM ;
|
||||
|
||||
ALTER TABLE `bilansaisie` ADD `method` VARCHAR( 20 ) NOT NULL AFTER `utilisateurEmail`;
|
||||
|
||||
ALTER TABLE `bilansaisie` ADD `confidentiel` INT( 1 ) NOT NULL AFTER `method`;
|
194
includes/liasse/bilanclient.php
Normal file
194
includes/liasse/bilanclient.php
Normal file
@ -0,0 +1,194 @@
|
||||
<?php
|
||||
$siren = isset($_REQUEST['siren']) ? $_REQUEST['siren'] : '';
|
||||
$ref = isset($_REQUEST['ref']) ? $_REQUEST['ref'] : '';
|
||||
|
||||
function setInformations($email, $method, $confidentiel, $siren, $bilanCloture, $bilanDuree){
|
||||
$wdb = new WDB('sdv1');
|
||||
$add = array(
|
||||
'clientId' => $_SESSION['tabInfo']['idClient'],
|
||||
'utilisateurId' => $_SESSION['tabInfo']['id'],
|
||||
'utilisateurLogin' => $_SESSION['tabInfo']['login'],
|
||||
'utilisateurEmail' => $email,
|
||||
'method' => $method,
|
||||
'confidentiel' => $confidentiel,
|
||||
'siren' => $siren,
|
||||
'bilanCloture' => $bilanCloture,
|
||||
'bilanDuree' => $bilanDuree,
|
||||
'dateInsert' => date('Y-m-d H:i:s'),
|
||||
);
|
||||
return $wdb->insert('bilansaisie', $add);
|
||||
}
|
||||
|
||||
function getFilename($ref){
|
||||
$wdb = new WDB('sdv1');
|
||||
$result = $wdb->select('bilansaisie', '*', " ref='$ref'", true);
|
||||
FB::log($result, 'result');
|
||||
$item = $result[0];
|
||||
return $item['ref'].'-'.$item['siren'];
|
||||
}
|
||||
|
||||
if ( isset($_REQUEST['upload']) ){
|
||||
if ( count($_FILES)==1 ){
|
||||
$n = $_FILES['fichier']['name'];
|
||||
$s = $_FILES['fichier']['size'];
|
||||
$tmp_name = $_FILES['fichier']['tmp_name'];
|
||||
//Vérifier que l'extension du fichier est bien correcte
|
||||
$extValide = array('pdf', 'tiff');
|
||||
$extension = strrchr($n,'.');
|
||||
$extension = substr($extension,1);
|
||||
FB::log($ref, 'ref');
|
||||
if ( in_array($extension, $extValide) ){
|
||||
//Lecture dans la bdd des informations
|
||||
$name = getFilename($ref).'.'.$extension;
|
||||
if ( move_uploaded_file($tmp_name, PATH_DATA.'/bilanclient/'.$name) ){
|
||||
echo '<br/>Fichier: <a href="./servefile.php?q=bilanclient/'.
|
||||
$name.'" target="_blank">'.$name.'</a> ('.$s.' octets)';
|
||||
echo '<br/><i>Cliquer pour vérifier votre fichier.</i>';
|
||||
} else {
|
||||
echo "<br/>Erreur lors de l'envoi du fichier!";
|
||||
}
|
||||
} else {
|
||||
echo "Extension de fichier invalide.";
|
||||
}
|
||||
} else {
|
||||
echo "<br/>Erreur.";
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
if ( isset($_REQUEST['method']) ){
|
||||
//Obtention de la référence et enregistrement dans la bdd
|
||||
$email = $_REQUEST['email'];
|
||||
$method = $_REQUEST['method'];
|
||||
$siren = $_REQUEST['siren'];
|
||||
$bilanCloture = $_REQUEST['dateCloture'];
|
||||
$bilanDuree = $_REQUEST['dureeExercice'];
|
||||
$confidentiel = $_REQUEST['confidentiel'];
|
||||
|
||||
$valideField = true;
|
||||
if ( empty($email)) {
|
||||
$valideField = false;
|
||||
}
|
||||
if ( empty($method)) {
|
||||
$valideField = false;
|
||||
}
|
||||
if ( empty($siren)) {
|
||||
$valideField = false;
|
||||
}
|
||||
if ( empty($bilanCloture) &&
|
||||
!preg_match('/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}/', $bilanCloture) ){
|
||||
$valideField = false;
|
||||
}
|
||||
if ( empty($bilanDuree)) {
|
||||
$valideField = false;
|
||||
}
|
||||
|
||||
if ( $valideField ){
|
||||
FB::info('Formulaire valide');
|
||||
$ref = setInformations($email, $method, $confidentiel, $siren, $bilanCloture, $bilanDuree);
|
||||
if ( $ref ){
|
||||
FB::info('Affichage suite');
|
||||
?>
|
||||
Votre référence : BS<?=$ref?>
|
||||
<br/><br/>
|
||||
<?php
|
||||
// Affichage du formulaire pour l'upload
|
||||
if ( $method=='fichier' ){
|
||||
?>
|
||||
<style>
|
||||
#progressbar { border:none; }
|
||||
.ui-progressbar-value { background-image: url(img/pbar-ani.gif); }
|
||||
</style>
|
||||
<form id="uploadForm" name="uploadForm" action="./?page=bilanclient" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="siren" value="<?=$siren?>" />
|
||||
<input type="hidden" name="ref" value="<?=$ref?>" />
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="50000000" />
|
||||
Votre fichier : <input type="file" name="fichier" />
|
||||
<input type="submit" name="upload" value="Envoyer" />
|
||||
</form>
|
||||
<div id="progressbar"></div>
|
||||
<div id="uploadOutput"></div>
|
||||
<script type="text/javascript" src="js/jquery.form.js">
|
||||
</script type="text/javascript">
|
||||
<script>
|
||||
$('#uploadForm').ajaxForm({
|
||||
beforeSubmit: function() {
|
||||
$('#progressbar').progressbar({value: 100});
|
||||
$('#uploadOutput').html('Envoi en cours...');
|
||||
},
|
||||
success: function(data) {
|
||||
$('#progressbar').progressbar('destroy');
|
||||
$('#uploadOutput').html('<strong>' + data + '</strong>');
|
||||
}
|
||||
});
|
||||
$('#dialogbilanclient').dialog({ buttons: [ {
|
||||
text: "Quitter",
|
||||
click: function() { $(this).dialog("close"); }
|
||||
} ] });
|
||||
</script>
|
||||
<?php
|
||||
exit;
|
||||
}
|
||||
// Affichage des informations pour le courrier
|
||||
if ( $method=='courrier' ){
|
||||
?>
|
||||
Merci d'envoyer votre courrier à l'adresse suivante :<br/>
|
||||
Scores & Décisions,<br/>
|
||||
Service Production, BS<?=$ref?><br/>
|
||||
19 rue de Clairefontaine,<br/>
|
||||
78120 Rambouillet
|
||||
<?php
|
||||
exit;
|
||||
}
|
||||
}
|
||||
} // Fin validation formulaire
|
||||
} // Fin controle soumission formulaire
|
||||
?>
|
||||
<form id="formEnvoiBilan" name="formEnvoiBilan" method="post" action="./?page=bilanclient">
|
||||
<input type="hidden" name="siren" value="<?=$siren?>" />
|
||||
<label>Votre email :</label>
|
||||
<input type="text" name="email" size="40" value="<?=$_SESSION['tabInfo']['email']?>">
|
||||
<br/><br/>
|
||||
<label>Date de clôture du bilan : </label>
|
||||
<input type="text" name="dateCloture" value="" size="10" maxlength="10" id="datepicker">
|
||||
(JJ/MM/AAAA)
|
||||
<br/><br/>
|
||||
<label>Durée de l'exercice (en mois) : </label>
|
||||
<select name="dureeExercice">
|
||||
<?php
|
||||
for ( $i=0; $i<23; $i++){
|
||||
$select = '';
|
||||
if ($i==11) $select = 'selected';
|
||||
?>
|
||||
<option value="<?=$i+1?>" <?=$select?>><?=$i+1?></option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<br/><br/>
|
||||
<label>Confidentialité : </label><br/>
|
||||
<input type="radio" name="confidentiel" value="0" checked>
|
||||
Ce bilan n'est pas confidentiel (saisie gratuite)
|
||||
<br/>
|
||||
<input type="radio" name="confidentiel" value="1">
|
||||
Ce bilan est confidentiel et ne doit être utilisé que pour les utilisateurs
|
||||
de votre société (+5€ HT par bilan saisit)
|
||||
<br/><br/>
|
||||
<label>Mode d'envoi du bilan : </label><br/>
|
||||
<input type="radio" name="method" value="fichier" checked>
|
||||
Instantané par le site : envoi du bilan au format numérique
|
||||
<br/>
|
||||
<input type="radio" name="method" value="courrier">
|
||||
Par courrier
|
||||
<br/><br/>
|
||||
<span><i>
|
||||
Vous obtiendrez une référence à l'étape suivante avec au choix
|
||||
l'adresse de Scores & Décisions ou la possibilité d'envoyer votre bilan au
|
||||
format numérique (PDF, TIFF)
|
||||
</i></span>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
$('#datepicker').datepicker( $.datepicker.regional['fr'] );
|
||||
$('#datepicker').datepicker( "option", "dateFormat", 'dd/mm/yy' );
|
||||
$('#datepicker').datepicker( "option", "defaultDate", '31/12/<?=date('Y')-1?>' );
|
||||
</script>
|
10
includes/liasse/bilanclientupload.php
Normal file
10
includes/liasse/bilanclientupload.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
// return text var_dump for the html request
|
||||
echo "VAR DUMP:<p />";
|
||||
var_dump($_POST);
|
||||
foreach($_FILES as $file) {
|
||||
$n = $file['name'];
|
||||
$s = $file['size'];
|
||||
if (!$n) continue;
|
||||
echo "File: $n ($s bytes)";
|
||||
}
|
@ -75,8 +75,6 @@ switch ($action)
|
||||
case 'export':
|
||||
require_once realpath(dirname(__FILE__)).'/liassexls.php';
|
||||
exit; break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
@ -513,6 +513,9 @@ switch ($page)
|
||||
$page2 = 'bdf.php';
|
||||
require_once realpath(dirname(__FILE__)).'/pages/main.php';
|
||||
break;
|
||||
case 'bilanclient':
|
||||
require_once 'liasse/bilanclient.php';
|
||||
exit; break;
|
||||
case 'main':
|
||||
require_once realpath(dirname(__FILE__)).'/pages/main.php';
|
||||
break;
|
||||
|
@ -14,4 +14,43 @@ $(document).ready(function()
|
||||
objet.html(data);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$('#bilanClient').live('click', function(e){
|
||||
e.preventDefault();
|
||||
var url = $(this).attr('href');
|
||||
var title = $(this).attr('title');
|
||||
var dialogOpts = {
|
||||
bgiframe: true,
|
||||
title: title,
|
||||
width: 500,
|
||||
height: 400,
|
||||
modal: true,
|
||||
open: function(event, ui) {
|
||||
$(this).html('Chargement...');
|
||||
$(this).load(url);
|
||||
},
|
||||
buttons: {
|
||||
Valider: function() { formEnvoiBilanSubmit(); },
|
||||
Annuler: function() { $(this).dialog('close'); }
|
||||
},
|
||||
close: function() { $('#dialogbilanclient').remove(); }
|
||||
};
|
||||
$('<div id="dialogbilanclient"></div>').dialog(dialogOpts);
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function formEnvoiBilanSubmit(){
|
||||
var url = $('#formEnvoiBilan').attr('action');
|
||||
$.post(url, $('#formEnvoiBilan').serialize(),
|
||||
function (data, textStatus) {
|
||||
if (textStatus!='success'){
|
||||
$('#dialogbilanclient').html('Erreur');
|
||||
} else {
|
||||
$('#dialogbilanclient').html(data);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -18,14 +18,15 @@ FB::log($tabBilan, 'Bilan');
|
||||
<tr>
|
||||
<td width="30"> </td>
|
||||
<td width="200" class="StyleInfoLib">Numéro identifiant Siren</td>
|
||||
<td width="350" class="StyleInfoData"><?=substr($siren,0,3).' '.substr($siren,3,3).' '.substr($siren,6,3)?></td>
|
||||
<td width="350" class="StyleInfoData">
|
||||
<?=substr($siren,0,3).' '.substr($siren,3,3).' '.substr($siren,6,3)?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="30"> </td>
|
||||
<td width="200" class="StyleInfoLib">Raison Sociale</td>
|
||||
<td width="350" class="StyleInfoData"><?=$raisonSociale?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
if (count($tabBilans)>0)
|
||||
{
|
||||
@ -121,6 +122,21 @@ if( isset($_REQUEST['mil'])
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
//Envoi d'un bilan de la part du client
|
||||
if ( $_SESSION['tabInfo']['idClient']==1 ){
|
||||
?>
|
||||
<tr>
|
||||
<td width="30"> </td>
|
||||
<td colspan="2">
|
||||
<a id="bilanClient" href="./?page=bilanclient&siren=<?=$siren?>"
|
||||
title="Envoi du bilan">
|
||||
Vous possèdez un bilan plus récent</a>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
@ -50,6 +50,15 @@ switch ( $type ) {
|
||||
$content_type = 'application/vnd.ms-excel';
|
||||
$path = PATH_SITE.'/cache/liasse/';
|
||||
break;
|
||||
case 'bilanclient':
|
||||
$explode = explode('.', $file);
|
||||
switch ($explode[1]) {
|
||||
case 'pdf' : $content_type = 'application/pdf'; break;
|
||||
case 'jpeg':
|
||||
case 'jpg' : $content_type = 'image/jpeg'; break;
|
||||
}
|
||||
$path = PATH_DATA.'/bilanclient/';
|
||||
break;
|
||||
default:
|
||||
exit;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user