Compare commits

...

37 Commits

Author SHA1 Message Date
Claire DELBOS
22e92d676a SD-13 Stable before 2017-04-06 16:18:44 +02:00
Claire DELBOS
ca628690ca SD-1 Poss de saisir le siret si absent 2017-03-31 16:19:14 +02:00
Claire DELBOS
67ecccb832 SD-13 CDC V3 2017-03-30 17:21:06 +02:00
Claire DELBOS
f7a07d0882 Merge remote-tracking branch 'origin/develop' into inextenso 2017-03-29 11:54:49 +02:00
Claire DELBOS
273f6c1976 SD-1 mise en place des factures 2017-03-29 09:14:10 +02:00
Claire DELBOS
1e2182d34e SD-22 amelioration esthetique 2017-03-28 15:36:07 +02:00
Claire DELBOS
e5e0b7baa7 SD-22 minifix pour betatesteurs 2017-03-27 17:13:09 +02:00
Claire DELBOS
5214ba03d1 SD-22 Contacts 2017-03-27 15:42:30 +02:00
Claire DELBOS
aebe1ddaca Prise en compte des messages de contact - mise en place de comptes beta 2017-03-27 10:13:37 +02:00
Claire DELBOS
e1f5fe03bd SD-12 Ergonomisation et export 2017-03-22 15:33:50 +01:00
Claire DELBOS
9aca193415 SD-21 Correction des appels surnuméraires au webservice + export excel
des conso
2017-03-21 16:14:55 +01:00
Claire DELBOS
3d565b7d96 Stabilisation du cache extranet 2017-03-17 17:23:14 +01:00
Claire DELBOS
645ce94332 Lissage complet des getRapport/getIndiscore2/getIndiscore + page contact 2017-03-14 14:04:51 +01:00
Claire DELBOS
92db1b7c0d SD-5 Verif siren valide 2017-03-09 10:17:02 +01:00
Claire DELBOS
7d5cb9bbdb SD-12 Decrement operationnel 2017-03-08 18:55:37 +01:00
Claire DELBOS
0a57a8300b Avec test de decrement 2017-03-03 15:21:19 +01:00
benoitpotier
b2391e9cca composer.lock 2017-03-03 10:14:52 +01:00
Claire DELBOS
874c7428b2 Correction instabilité 2017-03-03 09:57:11 +01:00
Claire DELBOS
3b08476a4f Testé avec a7e.bigmac loggué methode bp 2017-03-01 17:21:25 +01:00
Claire DELBOS
1a538ed012 Optimisation Gestion d'erreur 2017-03-01 10:05:52 +01:00
Claire DELBOS
61a3878b5b Merge branch 'inextenso' of ssh://git@gogs.sd.lan:10022/SCORES/extranet.git into inextenso 2017-03-01 10:02:22 +01:00
Claire DELBOS
81cbe98dfc Modif gestion d'erreur 2017-03-01 09:53:36 +01:00
Claire DELBOS
75ff12b7b6 Amelioration de la gestion d'erreur 2017-02-28 17:44:00 +01:00
benoitpotier
91417dbf5a Merge branch 'inextenso' of ssh://gogs.sd.lan:10022/SCORES/extranet into inextenso 2017-02-28 16:55:06 +01:00
Claire DELBOS
076a59c5bf Module achat operationnel 2017-02-28 16:52:10 +01:00
Claire DELBOS
591958dee8 Avec log des achats 2017-02-28 14:25:39 +01:00
benoitpotier
56da5829b7 Merge branch 'inextenso' of ssh://gogs.sd.lan:10022/SCORES/extranet into inextenso 2017-02-28 09:38:21 +01:00
Claire DELBOS
99b461b292 Avec ws->getCredit uniquement int 2017-02-27 17:17:23 +01:00
Claire DELBOS
9576cb16d6 Webservice operationnel 2017-02-27 15:36:07 +01:00
benoitpotier
03d7564a11 Merge branch 'inextenso' of ssh://gogs.sd.lan:10022/SCORES/extranet into inextenso 2017-02-27 15:35:48 +01:00
Claire DELBOS
ed8e991677 Paybox operationnel 2017-02-27 12:16:23 +01:00
Claire DELBOS
397fb4ec63 Formulaire d'achat a tester 2017-02-24 2017-02-24 17:22:35 +01:00
benoitpotier
52d0b4d577 Merge branch 'inextenso' of ssh://gogs.sd.lan:10022/SCORES/extranet into inextenso 2017-02-24 13:26:37 +01:00
benoitpotier
202b37c801 composer 2017-02-24 13:26:32 +01:00
Claire DELBOS
996423d7ca Module d'achat de credit en cours + inscription et test du ws getCredit 2017-02-24 12:44:16 +01:00
Claire DELBOS
52bf3a4d45 Modifs cosmétiques des écrans d'accueil 2017-02-22 15:43:46 +01:00
Claire DELBOS
d431b01981 Mise en place de la redirection au logout 2017-02-22 11:09:37 +01:00
41 changed files with 2085 additions and 116 deletions

View File

@ -27,7 +27,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
'default' => __DIR__ . '/modules/default/controllers',
'admin' => __DIR__ . '/modules/admin/controllers',
'file' => __DIR__ . '/modules/file/controllers',
));
'achatclient' => __DIR__ . '/modules/achatclient/controllers',
'compteclient' => __DIR__ . '/modules/compteclient/controllers',
));
return $front;
}

View File

@ -0,0 +1,437 @@
<?php
class Achatclient_IndexController extends Zend_Controller_Action
{
protected $theme;
/**
* Logger
* @var \Monolog\Logger
*/
protected $logger;
protected $tranches=array(
'1' => array(
'200' => array('montant' => 2400,'montantht' => 2000, 'tva' => 400, ),
'500' => array('montant' => 6000,'montantht' => 5000, 'tva' => 1000, ),
'1000' => array('montant' => 12000,'montantht' => 10000, 'tva' => 2000, ),
),
'195' => array(
'200' => array('montant' => 2400,'montantht' => 2000, 'tva' => 400, ),
'500' => array('montant' => 6000,'montantht' => 5000, 'tva' => 1000, ),
'1000' => array('montant' => 12000,'montantht' => 10000, 'tva' => 2000, ),
),
);
protected $maxcredit=2000;
protected $libdroits = 'portemonnaie';
public function init()
{
if (Zend_Registry::isRegistered('logger')) {
$this->logger = Zend_Registry::get('logger');
}
$autoloader = Zend_Loader_Autoloader::getInstance();
// --- Theme
$this->theme = Zend_Registry::get('theme');
$this->view->title='Votre compte crédits en ligne';
require_once 'Scores/WsScores.php';
}
/**
* Page d'accueil et de redirection
*/
public function indexAction()
{
//Validation des droits
$request = $this->getRequest();
if(!$this->verifHttps()){
$this->error('index','Connexion imposible');
}
$this->view->msg=$request->getParam('message');
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->error('index','Fonction indisponible');
}
$ws = new Scores_Ws_Client('credit', '0.1');
$infocredit = $ws->infoCredit();
//var_dump($infocredit);die;
try {
} catch(Exception $e) {
$this->error('index','Pas de crédit');
}
if($infocredit===false){
$this->error('index','Service indisponible');
}
if ($infocredit === false || empty($infocredit)) {
$this->error('index','Accès au Service indisponible');
}
if(!isset($this->tranches[$user->getIdClient()])){
$this->error('index','Fonction indisponible pour ce client');
}
$infos=array('user' => $user,'tranches' => $this->tranches[$user->getIdClient()]);
//$infos['balance']=array('balance'=>0);
if(!isset($infocredit->balance)){
$infos['balance']['balance']=0;
}else{
foreach($infocredit->balance as $k => $v){
$infos['balance'][$v->key]=$v->value;
}
}
if(intval($infos['balance']['balance'])>$this->maxcredit){
$this->view->msg='Vous détenez le plafond de crédits autorisé.';
unset($infos['tranches']);
}
$infos['paid']=array();
foreach($infocredit->paid as $no => $r){
$infos['paid'][$no]=array();
foreach($r as $o){foreach($o as $k => $v){
$infos['paid'][$no][$v->key]=$v->value;
}}
}
$infos['used']=array();
foreach($infocredit->used as $no => $r){
$infos['used'][$no]=array();
foreach($r as $o){foreach($o as $k => $v){
$infos['used'][$no][$v->key]=$v->value;
}}
}
$infos['libelle']=array();
foreach($infocredit->libelle as $no => $o){
$infos['libelle'][$o->key]=$o->value;
}
$this->logger->info(print_r($user,1));
$this->view->infos=$infos;
//echo __LINE__;var_dump($this->view->infos);die;
$this->view->submitValue='Commander';
}
public function paiementAction()
{
//Validation
$request = $this->getRequest();
if(!$this->verifHttps()){
$this->error('index','Connexion imposible');
}
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->error('paiement', __LINE__);
}
$nb_credit=$request->getParam('nb_credit');
if(intval($nb_credit)==0){
$this->error('paiement','Vous devez définir le nombre de crédits');
}
$idClient=$user->getIdClient();
if(intval($idClient)==0){
$this->error('paiement', 'Problème d\'identification du client');
}
if(!isset($this->tranches[$idClient]) || !isset($this->tranches[$idClient][$nb_credit])){
$this->error('paiement', 'Pas de tarification pour ce client');
}
// Recuperation des infos societe
$ws = new Scores_Ws_Client('credit', '0.1');
$params = new stdClass();
$params->id = 0;
$infocredit = $ws->getfactinfosCredit($params);
foreach($infocredit->result as $item){
$infos[$item->key]=array();
foreach($item->value->item as $obj){
$infos[$item->key][$obj->key]=$obj->value;
}
}
if(empty($infos['societe'])){
$infos['commande']['nb_credit']=$nb_credit;
if(intval($infos['commande']['siret'])==0){
$this->view->message='Merci d\'entrer votre numéro de siret';
}else{
$this->view->message='Votre numero de siret : '.$infos['commande']['siret'].' n\'a pas été trouvé';
}
$this->view->inlineScript()->appendFile($this->theme->pathScript.'/recherche.js', 'text/javascript');
$this->view->infosfact=$infos['commande'];
$this->view->pbparams=null;
$this->view->info='siret';
return;
}
//Calcul de la TVA
// N° de TVA obligatoire pour la France sauf les dom
if(strtoupper($infos['entrep']['Pays'])=="FRANCE" && empty($infos['entrep']['TvaNumero'])){
if(substr($infos['entrep']['CP'],0,3)=='971' || substr($infos['entrep']['CP'],0,3)=='972' ||substr($infos['entrep']['CP'],0,3)=='974'){
$tva=0.085;
}else{
$infos['commande']['nb_credit']=$nb_credit;
$this->view->message='Merci d\'entrer votre numéro de TVA intracommunautaire';
$this->view->inlineScript()->appendFile($this->theme->pathScript.'/recherche.js', 'text/javascript');
$this->view->infosfact=$infos['commande'];
$this->view->pbparams=null;
$this->view->info='tva';
return;
}
}
//Si pays France > TVA = 20,00 %
$tva=0.2;
//var_dump($infos['entrep']);die;
if(!empty($infos['entrep']['Pays']) && strtoupper($infos['entrep']['Pays'])!="FRANCE"){
//Si étranger > TVA = Export exonération 0 %
$tva=0;
//si le client renseigne son N° de TVA intracommunautaire appliquer la TVA à 0 Auto liquidation ,
if(!empty($infos['entrep']['TvaNumero']) && substr($infos['entrep']['TvaNumero'],0,2!="FR")){
$tva=0;
}else{
//si au contraire le N° de TVA intracommunautaire nest pas renseigné il faut appliquer le taux normal de TVA actuellement 20.00 %
$tva=0.2;
}
}
//Si Guadeloupe (971), Martinique (972), La Réunion (974) > TVA = 8,50 %
if(substr($infos['entrep']['CP'],0,3)=='971' || substr($infos['entrep']['CP'],0,3)=='972' ||substr($infos['entrep']['CP'],0,3)=='974'){
$tva=0.085;
}
//Calcul des montants
$this->tranches[$idClient][$nb_credit]['tva']=$this->tranches[$idClient][$nb_credit]['montantht']*$tva;
$this->tranches[$idClient][$nb_credit]['montant']=$this->tranches[$idClient][$nb_credit]['montantht']+$this->tranches[$idClient][$nb_credit]['tva'];
//Parametrage
$pbparam=array();
$pbparams['cmdId']=implode('ww',array($user->identity->id,time()));
$pbparams['email']=$user->identity->email;
$pbparams['montant']=$this->tranches[$idClient][$nb_credit]['montant'];
$pbparams['montantht']=$this->tranches[$idClient][$nb_credit]['montantht'];
$pbparams['tva']=$this->tranches[$idClient][$nb_credit]['tva'];
$pbparams['login']=$user->identity->username;
$pbparams['nb_credit']=$nb_credit;
$ligneCredit=array(
'idUser' =>$user->identity->id,
'idCmd' => $pbparams['cmdId'],
'login' => $user->identity->username,
'nbCredit' => $nb_credit,
'amount' => $this->tranches[$idClient][$nb_credit]['montant'],
'amount_ht' => $this->tranches[$idClient][$nb_credit]['montantht'],
'amount_tva' => $this->tranches[$idClient][$nb_credit]['tva'],
'currency' => 'EUR',
'valid' => 0,
'date_sent' => Date('Y-m-d H:i:s'),
'date_received' => null,
'paybox_answer' => null,
'transaction' => json_encode(array('level' => 'Not confirmed', 'date' => Date('Y-m-d H:i:s'),'user' => $user->identity->id,'infosfact'=>$paidResult)),
'comment' => null,
);
//Stockage des informations de facturation
$paidResult=new stdClass();
$paidResult->UserId= $user->identity->id;
$paidResult->UserName = $user->identity->nom.' '.$user->identity->prenom;
$paidResult->ClientName = $infos['societe']['NOM'];
$paidResult->siret=$infos['societe']['SIREN'].$info['societe']['NIC'];
$paidResult->Clienttvanbr=$infos['entrep']['TvaNumero'];
$paidResult->ClientFacDest = $user->identity->email;
$paidResult->ClientFacAdr1 = $infos['societe']['ADR_NUMVOIE'].' '.$infos['societe']['ADR_TYPVOIE'].' '.$infos['societe']['ADR_LIBVOIE'];
$paidResult->ClientFacAdr2 = $infos['societe']['ADR_CP'].' '.$infos['societe']['ADR_LIBCOM'];
$paidResult->ClientFacAdr3 = $infos['societe']['PAYS'];
$paidResult->idCmd = $ligneCredit['idCmd'];
$paidResult->numRC=$infos['societe']['NUMRC'];
$ws = new Scores_Ws_Client('credit', '0.1');
try {
$params = new stdClass();
$params->ligneCredit = json_encode($ligneCredit);
$stage = $ws->payCredit($params);
} catch(Exception $e) {
$this->error('paiement', 'Impossible d\'enregistrer la commande');
}
//Paybox
Zend_Loader::loadClass('Paybox_Config');
Zend_Loader::loadClass('Paybox_System');
$paybox = new Paybox_System(true);
$paybox->setUrlPaiement();
$paybox->setEmail($pbparams['email']);
$paybox->setReference($pbparams['cmdId']);
$paybox->setMontant($pbparams['montant']/100);
//echo "http://".$request->getHttpHost()."/achatclient/pbanswer";die;
//$paybox->setUrlRepondreA("http://".$request->getHttpHost()."/achatclient/checkpmt");
$paybox->setUrlParameters("http://".$request->getHttpHost()."/achatclient/pbanswer");
$paybox->calculateHMAC();
//$_POST=$paybox->getFormParameters();
//$this->redirect($paybox->getFormUrl());
$this->view->pbparams = $pbparams;
$this->view->infosfact=$paidResult;
$this->view->PayboxUrl = $paybox->getFormUrl();
$this->view->PayboxValues = $paybox->getFormParameters();
}
public function errorAction(){
$request = $this->getRequest();
$this->view->msg=$request->getParam('message');
}
public function contactAction(){
$request = $this->getRequest();
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
$message=$request->getParam('message');
$categorie=$request->getParam('categorie');
$objet=$request->getParam('objet');
$histo=$this->getHistoContacts();
$this->view->histocontact=$histo;
if(empty($message) && empty($objet)){
$this->view->msg="Entrez l'objet et votre message";
return;
}
if((empty($message) || empty($objet)) && !empty($categorie)){
$this->view->msg="Entrez l'objet et votre message";
}else{
$data=array(
'idUser' => $user->identity->id,
'begin' => Date('Y-m-d H:i:s'),
'subject' => '['.$categorie.']'.$objet,
'message' => 'From : '.$user->identity->username.' Message : '.$message,
'stage' => 1,
'answer' => '[Date : '.Date('Y-m-d H:i:s').'] Message enregistré'
);
$ok=$this->sendContact($data,$user);
$this->view->msg="Votre message a bien été pris en compte";
}
$this->redirect('/achatclient/index/contact');
}
public function setsiretAction(){
//Validation
$request = $this->getRequest();
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->error('paiement', __LINE__);
}
$siret=$request->getParam('siret');
$nb_credit=$request->getParam('nb_credit');
$ws = new Scores_Ws_Client('account', '0.1');
$parameters = new stdClass();
$parameters->siret = $siret;
$created = $ws->setUserSiret($parameters);
$this->redirect('/achatclient/index/paiement?nb_credit='.$nb_credit);
}
public function consocsvAction(){
//Validation
$request = $this->getRequest();
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->error('paiement', __LINE__);
}
$ws = new Scores_Ws_Client('credit', '0.1');
$infocredit = $ws->mensuelconsoCredit();
$infos->libelle=array();
foreach($infocredit->libelle as $no => $o){
$infos->libelle[$o->key]=$o->value;
}
$infos->used=$infocredit->used;
header('X-Sendfile: consommation.tsv');
header('Content-Type: application/csv-tab-delimited-table');
header('Content-Disposition: attachment; filename="consommation.tsv"');
echo $this->view->partial('index/consocsv.phtml',$infos);
die;
}
private function sendContact($data,$user){
$ws = new Scores_Ws_Client('credit', '0.1');
$params = new stdClass();
$params->contactdata = (string)json_encode($data);
$infocredit = $ws->contactCredit($params);
//@todo: envoyer le mail
$c = Zend_Registry::get('config');
$mail = new Scores_Mail_Method();
$mail->setSubject($data['subject']. ' - '.$user->identity->name.' -'.date('Y-m-d'));
$mail->setBodyTextC($data['message']);
$mail->setFromKey('support');
$mail->addToKey('supportdev');
//var_dump($mail);die;
//$mail->execute();
return true;
}
private function getHistoContacts(){
$libelles=array(
'id' => 'Reference enregistrement',
'idUSer' => 'Reference utilisateur',
'begin' => 'Message du',
'subject' => 'Objet',
'message' => 'Votre message',
'stage' => 'Etape',
'answer' => 'Suivi');
$etapes=array(
'1' => 'En attente de reponse',
'2' => 'En cours de traitement',
'3' => 'Resolu'
);
$ws = new Scores_Ws_Client('credit', '0.1');
$infocredit = $ws->getcontactsCredit();
if(count($infocredit->result)>0){
$infos=array();
foreach($infocredit->result as $n => $item){
$infos[$n]=array();
foreach($item as $obj){
foreach($obj as $field){
if($field->key=='begin'){
$infos[$n][$libelles[$field->key]]=Date('d/m/Y à H:i',strtotime($field->value));
}
if($field->key=='message'){
$infos[$n][$libelles[$field->key]]=substr($field->value,strpos($field->value,'Message :')+9);
}
if($field->key=='stage'){
$infos[$n][$libelles[$field->key]]='<b>'.$etapes[$field->value].'</b>';
}
if($field->key=='answer'){
$infos[$n][$libelles[$field->key]]=str_replace('[DE','<br>[DE',$field->value);
}
if($field->key=='subject'){
$infos[$n][$libelles[$field->key]]=str_replace(']','</b> : ',str_replace('[','<b>',$field->value));
}
}
}
}
return $infos;
}
return array();
}
private function verifHttps(){
if (
( ! empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|| ( ! empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
|| ( ! empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
|| (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)
|| (isset($_SERVER['HTTP_X_FORWARDED_PORT']) && $_SERVER['HTTP_X_FORWARDED_PORT'] == 443)
|| (isset($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https')
) {
return true;
} else {
if(getenv('APPLICATION_ENV')=='development'){return true;}
return false;
}
}
private function error($ligne=0,$message=""){
$request = $this->getRequest();
switch($ligne){
case "index":
$this->redirect("/achatclient/index/error?message=".$message);
break;
case "paiement":
$this->redirect("/achatclient/?message=".$message);
break;
case "siret":
$this->redirect("/achatclient/index/error?message=".$message);
break;
default:
echo $ligne.' : '.$message;die;
}
}
}
?>

View File

@ -0,0 +1,282 @@
<?php
class Achatclient_InextensoController extends Zend_Controller_Action
{
protected $theme;
/**
* Logger
* @var \Monolog\Logger
*/
protected $logger;
protected $libdroits = 'portemonnaie';
protected $maxcredit=2000;
public function init()
{
if (Zend_Registry::isRegistered('logger')) {
$this->logger = Zend_Registry::get('logger');
}
}
/**
* Page d'accueil et de redirection
*/
public function indexAction()
{
$user = new Scores_Utilisateur();
$idUser=$user->identity->id;
//var_dump($user);die;
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->msg = 'Fonction indisponible';
}
$request = $this->getRequest();
$id=intval($request->getParam('id'));
if($id==0){
$this->view->message=__LINE__;
return false;
}
$ws = new Scores_Ws_Client('credit', '0.1');
$params = new stdClass();
$params->id = $id;
$infocredit = $ws->getfactinfosCredit($params);
foreach($infocredit->result as $item){
$infos[$item->key]=array();
foreach($item->value->item as $obj){
$infos[$item->key][$obj->key]=$obj->value;
}
}
//var_dump($infos);die;
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Intescia');
$pdf->SetTitle('bill');
$pdf->SetSubject('Bill');
$pdf->SetKeywords('Bill, PDF, facture');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE. ' ' . date('d/m/Y'), PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(20, 20, 20);
// $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// ---------------------------------------------------------
// set default font subsetting mode
$pdf->setFontSubsetting(true);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('dejavusans', '', 11, '', true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();
// Vendeur
$pdf->SetLineStyle(['color' => [255, 255, 255]]);
//$pdf->Cell(80, 0, 'Intescia', 1, 1, 'L', 0, '', 1);
//$pdf->Cell(80, 0, 'Scores & Decisions', 1, 1, 'L', 0, '', 2);
//$pdf->Cell(80, 0, '8, rue Rouget de Lisle', 1, 1, 'L', 0, '', 3);
//$pdf->Cell(80, 0, '92442 Issy les Moulineaux Cedex', 1, 1, 'L', 0, '', 4);
//$pdf->Ln(5);
// Acheteur
$pdf->SetXY(120, 60);
$transaction=json_decode($infos['commande']['transaction']);
if(isset($transaction->infosfact) && !empty($transaction->infosfact)){
$paidResult=$transaction->infosfact;
}else{
$paidResult=new stdClass();
$paidResult->UserId= $infos['commande']['idUser'];
$paidResult->UserName = $infos['commande']['nom'].' '.$infos['commande']['prenom'];
$paidResult->ClientName = $infos['societe']['NOM'];
$paidResult->siret=$infos['societe']['SIREN'].$info['societe']['NIC'];
$paidResult->Clienttvanbr=$infos['entrep']['TvaNumero'];
$paidResult->ClientFacDest = $infos['commande']['email'];
$paidResult->ClientFacAdr1 = $infos['societe']['ADR_NUMVOIE'].' '.$infos['societe']['ADR_TYPVOIE'].' '.$infos['societe']['ADR_LIBVOIE'];
$paidResult->ClientFacAdr2 = $infos['societe']['ADR_CP'].' '.$infos['societe']['ADR_LIBCOM'];
$paidResult->ClientFacAdr3 = $infos['societe']['PAYS'];
$paidResult->idCmd = $infos['commande']['idCmd'];
$paidResult->numRC=$infos['societe']['NUMRC'];
}
if($paidResult->UserId!=$idUser){
$this->view->message=__LINE__;
return false;
}
$paidResult->idFact= 'CB.'.Date('y',strtotime($infos['commande']['date_sent'])).sprintf("%1$06d",$infos['commande']['id']);
$paidResult->nbCredit = $infos['commande']['nbCredit']*$infos['commande']['valid'];
$paidResult->amount = number_format($infos['commande']['amount']*$infos['commande']['valid']/100,2,","," ");
$paidResult->amount_ht = number_format($infos['commande']['amount_ht']*$infos['commande']['valid']/100,2,","," ");
$paidResult->amount_tva = number_format($infos['commande']['amount_tva']*$infos['commande']['valid']/100,2,","," ");
$paidResult->taux_tva = number_format(($infos['commande']['amount_tva']/$infos['commande']['amount_ht'])*100,2,","," ");
$paidResult->dateCmd = Date('d/m/Y',strtotime($infos['commande']['date_sent']));
$paidResult->dateExpir = Date('d/m/Y',strtotime($infos['commande']['date_sent'])+365*24*3600);
$paidResult->hmCmd = Date('H\hi',strtotime($infos['commande']['date_sent']));
$logotbl = <<<EOD
<img src="https://extranet.scores-decisions.com/themes/default/images/logos/logo-scores-et-decisions.png" width="200">
<br />
<br />
EOD;
$pdf->SetXY(20, 25);
$pdf->writeHTML($logotbl, true, false, false, false, '');
$facttbl = <<<EOD
<table cellspacing="0" cellpadding="1" border="1" width="220px">
<tr>
<th style="text-align: center;background-color:#E6E6FF" colspan="3">Facture</th>
</tr>
<tr>
<th style="text-align: center;background-color:#E6E6FF" width="80px"> Facture</th>
<th style="text-align: center;background-color:#E6E6FF" width="70px">Date</th>
<th style="text-align: center;background-color:#E6E6FF" width="70px"> Client</th>
</tr>
<tr>
<td style="text-align: right;font-size:8px;" width="80px">$paidResult->idFact</td>
<td style="text-align: right;font-size:8px;" width="70px">$paidResult->dateCmd</td>
<td style="text-align: right;font-size:8px;" width="70px">CB$paidResult->UserId</td>
</tr>
</table>
<br />
<br />
EOD;
$pdf->SetXY(110, 25);
$pdf->writeHTML($facttbl, true, false, false, false, '');
$prestattbl = <<<EOD
<table border="1" width="220px"><tr><td> <table cellspacing="1" cellpadding="1" width="210px" style="font-size:10px;">
<tr><td>&nbsp;</td></tr>
<tr><td>Numero siret : $paidResult->siret</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>Numéro TVA : $paidResult->Clienttvanbr</td></tr>
<tr><td>&nbsp;</td></tr>
</table></td></tr></table>
<br />
<br />
EOD;
$pdf->SetXY(20, 65);
$pdf->writeHTML($prestattbl, true, false, false, false, '');
$clienttbl = <<<EOD
<table cellspacing="0" cellpadding="1" border="1" width="220px" style="font-size:10px;">
<tr>
<th style="text-align: center;background-color:#E6E6FF">Destinataire</th>
</tr>
<tr><td>$paidResult->ClientName</td></tr>
<tr><td>$paidResult->ClientFacAdr1</td></tr>
<tr><td>$paidResult->ClientFacAdr2</td></tr>
<tr><td>$paidResult->ClientFacAdr22</td></tr>
<tr><td>$paidResult->ClientFacAdr3</td></tr>
<tr><td>$paidResult->ClientFacDest</td></tr>
</table>
<br />
<br />
EOD;
$pdf->SetXY(110, 65);
$pdf->writeHTML($clienttbl, true, false, false, false, '');
$detailtbl = <<<EOD
<table cellspacing="0" cellpadding="1" border="1" width="475" style="font-size:8px;">
<tr>
<td style="text-align: center;background-color:#E6E6FF;width:50;">Date Commande</td>
<td style="text-align: center;background-color:#E6E6FF;width:100;">Référence Commande</td>
<td style="text-align: center;background-color:#E6E6FF;width:100;">Description Commande</td>
<td style="text-align: center;background-color:#E6E6FF;width:50;">Date d'expiration</td>
<td style="text-align: center;background-color:#E6E6FF;width:50;">Quantite</td>
<td style="text-align: center;background-color:#E6E6FF;width:50;">Prix H.T.</td>
<td style="text-align: center;background-color:#E6E6FF;width:75;">Total H.T.</td>
</tr>
<tr><td style="width:50;">$paidResult->dateCmd</td>
<td style="width:100;">$paidResult->idCmd</td>
<td style="width:100;">Crédits à consommer<br>Stock minimum</td>
<td style="text-align: right;width:50;">$paidResult->dateExpir</td>
<td style="text-align: center;width:50;">$paidResult->nbCredit</td>
<td style="text-align: right;width:50;">$paidResult->amount_ht </td>
<td style="text-align: right;width:75;">$paidResult->amount_ht </td></tr>
</table>
<br />
<br />
EOD;
$pdf->SetXY(20, 140);
$pdf->writeHTML($detailtbl, true, false, false, false, '');
$totaltbl = <<<EOD
<span style="text-align:right;font-size:8px;">
TVA acquittée sur les encaissements</span><br><br><br><br>
<table cellspacing="0" cellpadding="1" border="1" width="475" style="font-size:10px;">
<tr>
<th style="text-align: center;background-color:#E6E6FF">Total H.T.</th>
<th style="text-align: center;background-color:#E6E6FF">Taux T.V.A.</th>
<th style="text-align: center;background-color:#E6E6FF">Montant T.V.A.</th>
<th style="text-align: center;background-color:#E6E6FF">Total T.T.C.</th>
<th style="text-align: center;background-color:#E6E6FF">Net à payer</th>
</tr>
<tr><td style="text-align: right;">$paidResult->amount_ht </td>
<td style="text-align: right;">$paidResult->taux_tva %</td>
<td style="text-align: right;">$paidResult->amount_tva </td>
<td style="text-align: right;">$paidResult->amount </td>
<td style="text-align: right;">$paidResult->amount </td></tr>
</table>
EOD;
$pdf->SetXY(20, 180);
$pdf->writeHTML($totaltbl, true, false, false, false, '');
$footertbl = <<<EOD
<table cellspacing="0" cellpadding="1" border="1" width="475" style="font-size:10px;">
<tr>
<th style="text-align: center;background-color:#E6E6FF;">Mode de paiement</th>
<th style="text-align: center;background-color:#E6E6FF;">Date de paiement</th>
</tr>
<tr><td style="text-align: center;">Paiement en ligne - carte bancaire</td>
<td style="text-align: center;">$paidResult->dateCmd à $paidResult->hmCmd</td>
</tr>
</table>
EOD;
$pdf->SetXY(20, 230);
$pdf->writeHTML($footertbl, true, false, false, false, '');
$footer = <<<EOD
<span style="font-size:8px;text-align:center;" align="center">
Scores & Decisions 8 Rue Rouget de lIsle Axe Seine Immeuble A - 92130 ISSY LES MOULINEAUX
<br>Tél 01.75.43.61.02 Contact : compta@scores-decisions.com SAS au capital de 618 450,00
<br>R.C.S. : 2012B01581 RCS NANTERRE - - SIRET : 494 967 938 00072 TVA intra. : FR84 494967938
</span>
EOD;
$pdf->SetXY(20, 280);
$pdf->writeHTML($footer, true, false, false, false, '');
// Close and output PDF document
$pdf->Output('bill_'.date('YmdHis').'.pdf', 'I');
echo 'inex'.__LINE__;die;
$this->_helper->layout()->disableLayout();
//}
}
}
?>

View File

@ -0,0 +1,98 @@
<?php
class Achatclient_PbanswerController extends Zend_Controller_Action
{
protected $theme;
/**
* Logger
* @var \Monolog\Logger
*/
protected $logger;
protected $libdroits = 'searchent';
public function init()
{
if (Zend_Registry::isRegistered('logger')) {
$this->logger = Zend_Registry::get('logger');
}
$autoloader = Zend_Loader_Autoloader::getInstance();
// --- Theme
$this->theme = Zend_Registry::get('theme');
$this->view->title='Votre achat crédits en ligne';
require_once 'Scores/WsScores.php';
}
/**
* Page d'accueil et de redirection
*/
public function indexAction()
{
//Validation des droits
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->msg = 'Fonction indisponible';
}
$request = $this->getRequest();
$idCmd=$request->getParam('id');
$infos=$request->getParams();
if($infos['eta']=="00000"){
$valid=1;
$this->msg = 'Transaction enregistrée';
}else{
$valid=0;
$this->msg = 'Transaction annulée';
}
$ligneCredit=array(
'idUser' =>$user->identity->id,
'idCmd' => $idCmd,
'login' => $user->identity->username,
'valid' => $valid,
'date_received' => Date('Y-m-d H:i:s'),
'paybox_answer' => json_encode($infos),
'transaction' => json_encode(array('level' => $this->msg, 'date' => Date('Y-m-d H:i:s'),'user' => $user->identity->id)),
'comment' => null,
);
$ws = new Scores_Ws_Client('credit', '0.1');
try {
$params = new stdClass();
$params->ligneCredit = json_encode($ligneCredit);
$stage = $ws->payCredit($params);
} catch(Exception $e) {
echo $e->getMessage();
}
$this->redirect("http://".$request->getHttpHost()."/achatclient/?message=".$this->msg);
}
public function wspoloAction(){
$json='[{"nomPartie":"BANQUE POPULAIRE DU MASSIF CENTRAL (BPMC)","qualite":"DE","numero":0,"adresse":{"lignes":["18 BOULEVARD JEAN MOULIN"],"codePostal":"63000","bureauDistributeur":"CLERMONT FERRAND"},"entreprise":{"idDossier":{"codeGreffe":"6303","dossierMillesime":null,"dossierStatut":null,"dossierChrono":"00000"},"nomGreffeImmat":null,"siren":0,"denomination":null,"etatposeSurveillance":null},"nomGreffeImmat":"CLERMONT-FERRAND","representants":[{"qualite":"DE","nom":"ME FRANCOIS-XAVIER DOS SANTOS","numeroPartie":1,"numeroRepresentant":1}]},{"nomPartie":"SARLh DELTA 2 I (SARL)","qualite":"DF","numero":0,"adresse":{"lignes":["18 RUE JEAN CLARET","PARC TECHNOLOGIQUE LA PARDIEU"],"codePostal":"63000","bureauDistributeur":"CLERMONT FERRAND"},"entreprise":{"idDossier":{"codeGreffe":"6303","dossierMillesime":"89","dossierStatut":"B","dossierChrono":"00507"},"nomGreffeImmat":null,"siren":950372318,"denomination":null,"etatposeSurveillance":null},"nomGreffeImmat":"CLERMONT-FERRAND","representants":[{"qualite":"DF","nom":"ME STEPHANE DEBERLE","numeroPartie":1,"numeroRepresentant":1}]},{"nomPartie":"EL MOUDNI SI Mohamed","qualite":"DF","numero":0,"adresse":{"lignes":["7 RUE DU CONSUL"],"codePostal":"63670","bureauDistributeur":"ORCET"},"entreprise":{"idDossier":{"codeGreffe":"6303","dossierMillesime":null,"dossierStatut":null,"dossierChrono":"00000"},"nomGreffeImmat":null,"siren":0,"denomination":null,"etatposeSurveillance":null},"nomGreffeImmat":"CLERMONT-FERRAND","representants":[{"qualite":"DF","nom":"ME STEPHANE DEBERLE","numeroPartie":2,"numeroRepresentant":1}]},{"nomPartie":"SELARL MANDATUM, repr\u00e9sent\u00e9e par Me Rapha\u00ebl PETAVY (INTERVENANTE VOLONTAIRE)","qualite":"DF","numero":0,"adresse":{"lignes":["29 BOULEVARD BERTHELOT"],"codePostal":"63400","bureauDistributeur":"CHAMALIERES"},"entreprise":{"idDossier":{"codeGreffe":"6303","dossierMillesime":null,"dossierStatut":null,"dossierChrono":"00000"},"nomGreffeImmat":null,"siren":0,"denomination":null,"etatposeSurveillance":null},"nomGreffeImmat":"CLERMONT-FERRAND","representants":[{"qualite":"DF","nom":"ME STEPHANE DEBERLE","numeroPartie":3,"numeroRepresentant":1}]}]';
$val=json_decode($json);
var_dump($val);die;
$ws = new Scores_Ws_Client('entreprise', '0.9');
$params = new stdClass();
$params->companyId = 552144503;
$params->tiers = 'DE';
$params->p = 0;
$params->limit = 10;
$params = new stdClass();
$params->companyId = 552144503;//siren
$infocredit = $ws->getGreffeAffaireList($params);
var_dump($infocredit);die;
}
private function error($ligne=0,$message=""){
switch($ligne){
case "index":
case "paiement":
$this->view->msg=$message;
$this->redirect("http://".$request->getHttpHost()."/achatclient/pbanswer?answer=error");
throw new Exception($message);
break;
default:
echo $ligne.' : '.$message;die;
}
}
}
?>

View File

@ -0,0 +1,29 @@
fonction<?php echo chr(9); ?>login<?php echo chr(9); ?>nb_credit<?php echo chr(9); ?>siren<?php echo chr(9); ?>date<?php echo chr(10); ?>
<?php foreach($this->used as $row):
foreach($row->item as $obj):
?><?php
//var_dump($this->libelle);
if($obj->key=='idLog'){
if(isset($this->libelle[$obj->value]))
{echo $this->libelle[$obj->value];}
else{echo $obj->value;}
echo chr(9);
}
if($obj->key=='login'){
echo $obj->value;
echo chr(9);
}
if($obj->key=='consumption'){
echo $obj->value;
echo chr(9);
}
if($obj->key=='created'){
echo Date('d/m/Y H:i:s',strtotime($obj->value));
echo chr(10);
}
if($obj->key=='siret'){
echo substr($obj->value,0,9);
echo chr(9);
}
?>
<?php endforeach;endforeach;?>

View File

@ -0,0 +1,70 @@
<style>
div .credit{
margin:25px;
padding:50px;
background-color:#bebebe;
}
td.nbr{
text-align:right;
}
#message{
color:red;
font-size:14px;
}
.spacer{
min-height=20px;
}
.top{
text-align:top;
}
</style>
<div id="center">
<h1>Votre compte crédits en ligne</h1>
<h2>Demande de contact</h2>
<div id="credit">
<div id="message"><?=$this->msg?></div>
<form action="<?=$this->url(array('controller'=>'index', 'action'=>'contact'))?>" method="POST" id="contactform">
<div class="credit">
<div class="form-group">
<label for="objet" class="required">Demande concernant :</label>
<select name="categorie" style="min-width:180px;"><option value="facturation">La facturation</option>
<option value="commercial">Une demande commerciale</option>
<option value="autre">Un autre sujet</option></select>
</div>
<div class="spacer">&nbsp;</div>
<div class="form-group">
<label for="objet">Objet :</label>
<input name="objet" placeholder="Objet de votre message" style="min-width:275px;">
</div>
<div class="spacer">&nbsp;</div>
<div class="form-group">
<textarea name="message" ROWS=5 COLS=50 placeholder="Entrez votre message"></textarea>
</div>
</div>
<div class="submit">
<p class="submit-button">
<input type="submit" class="button" value="Envoyer" />
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'index'))?>" class="button ui-button ui-corner-all ui-widget" >
Retour</a>
</p>
</div>
</form>
</div>
<?php if(count($this->histocontact)>0):?>
<h2>Vos précédentes demandes</h2>
<?php foreach($this->histocontact as $item):?>
<div class="data"><hr>
<ul>
<li><i>Message du</i> : <?=$item['Message du']?>
<li><i>Etat du suivi</i> : <?=$item['Etape']?>
<li><i>Objet</i> : <?=$item['Objet']?>
<li><i>Demande</i> : <?=$item['Votre message']?>
<li><i>Suivi</i> : <?=$item['Suivi']?>
</ul>
</div>
<?php endforeach;?>
<?php endif;?>
</div>

View File

@ -0,0 +1,23 @@
<style>
div .credit{
margin-left:25px;
}
td.nbr{
text-align:right;
}
#message{
color:red;
font-size:14px;
}
</style>
<div id="center">
<h1>Votre compte crédits en ligne</h1>
<h2>Résumé de vos crédits</h2>
<div class="credit">
<div id="message"><?=$this->msg?></div>
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'index'))?>">Retour</a>
</div>
</div>

View File

@ -0,0 +1,92 @@
<style>
div .credit{
margin-left:25px;
}
td.nbr{
text-align:right;
}
#message{
color:red;
font-size:14px;
}
</style>
<div id="center">
<h1>Votre compte crédits en ligne</h1>
<h2>Résumé de vos crédits</h2>
<div class="credit">
<p>
Le compte <?=isset($this->infos['user']->identity->username)?$this->infos['user']->identity->username:""?>&nbsp;
détient actuellement <?=intval($this->infos['balance']['balance'])?> crédits.<br>
<?php if(isset($this->infos['balance']['created'])):?>
Premier achat le <?=Date('d/m/Y',strtotime($this->infos['balance']['created']))?>.<br>
<?php endif;?>
<?php if(isset($this->infos['balance']['updated']) && !empty($this->infos['balance']['updated']) && $this->infos['balance']['updated']!="0000-00-00 00:00:00"):?>
Dernière mise à jour le <?=Date('d/m/Y',strtotime($this->infos['balance']['updated']))?>.<br>
<?php endif;?>
</p>
<div id="message" class="alert alert-info"><?=$this->msg?></div>
<div class="col-sm-10">
Une remarque ? <a href="<?=$this->url(array('controller'=>'index', 'action'=>'contact'))?>">
<button name="contact" id="contact" class="button ui-button ui-corner-all ui-widget" role="button">Nous contacter</button></a>
<?php if(isset($this->infos) && isset($this->infos['paid']) && count($this->infos['paid'])>3): ?>
>>&nbsp<a href="#achats">Achats</a>
>>&nbsp<a href="#consommations">Consommations</a><?php endif;?>
</div></div>
<?php if(isset($this->infos) && isset($this->infos['tranches'])):?>
<h2>Commander des crédits</h2>
<form action="<?=$this->url(array('controller'=>'index', 'action'=>'paiement'))?>" method="POST" id="creditform">
<div class="credit">
<?php $ok=true;foreach($this->infos['tranches'] as $credit => $item):?>
<br><input type="radio" name="nb_credit" value="<?=$credit?>" <?php if($ok){?>checked="checked"<?php }$ok=false;?> />&nbsp;&nbsp;<?=$credit?>&nbsp;Crédits (<?=$item['montantht']/100?> Euros H.T.)
<?php endforeach;?>
</div>
<div class="submit">
<p class="submit-button">
<input type="submit" class="button" value="<?php echo $this->submitValue?>" />
</p>
</div>
</form>
<script>
$('#creditform').submit(function($data){
//@todo des vérifs si besoin
});
</script>
<?php endif;?>
<?php if(isset($this->infos) && isset($this->infos['paid'])):?>
<h2 id="achats">Historique de vos achats</h2>
<table class="data" style="max-width:90%;">
<tr><th></th><th>Date d'achat</th><th>Montant de l'achat</th><th>Nb Crédits</th><th>Statut</th><th>Date de <br>validité des crédits</th><th></th></tr>
<?php foreach($this->infos['paid'] as $row):?>
<tr><td></td>
<td><?=Date('d/m/Y H:i:s',strtotime($row['date_sent']))?></td>
<td class="nbr"><?=$row['amount']/100?>&nbsp;Euros TTC</td>
<td class="nbr"><?=$row['nbCredit']?>&nbsp;Credits</td>
<td><?=($row['valid']==0?'Annulée':'Enregistrée')?></td>
<td><?=($row['valid']==1?Date('d/m/Y',strtotime($row['date_sent'])+365*24*3600):'-')?></td>
<td><a href="<?=$this->url(array('module' => 'achatclient','controller' => 'inextenso','action' => 'index', 'id' => $row['id']))?>" target="_blank">Facture</a></td>
</tr>
<?php endforeach;?>
</table>
<?php endif;?>
<?php if(isset($this->infos) && isset($this->infos['used'])):?>
<h2 id="consommations">Historique de vos consommations <a href="<?=$this->url(array('controller'=>'index', 'action'=>'consocsv'))?>" alt="Télécharger l'historique" title="Télécharger l'historique"><img src="/themes/default/images/menu/downloadcsv.jpg" width="20px" alt="Télécharger l'historique" title="Télécharger l'historique"></a></h2>
<table class="data" style="max-width:90%;">
<tr><th></th><th>Date d'utilisation</th><th>Nb Crédits</th><th>Fonctionnalité utilisée</th><th>Siren</th></tr>
<?php foreach($this->infos['used'] as $row):?>
<tr><td></td>
<td><?=Date('d/m/Y H:i:s',strtotime($row['created']))?></td>
<td class="nbr"><?=$row['consumption']?>&nbsp;Credit</td>
<td><?php
if(isset($this->infos['libelle'][$row['idLog']]))
{echo $this->infos['libelle'][$row['idLog']];}
else{echo $row['idLog'];}?>
</td>
<td class="nbr"><?=substr($row['siret'],0,9)?></td>
</tr>
<?php endforeach;?>
</table>
<?php endif;?>
</div>

View File

@ -0,0 +1,101 @@
<style>
div .credit{
margin-left:25px;
}
td.nbr{
text-align:right;
}
alert{
border:1px solid red;
}
</style>
<?php if(empty($this->pbparams)):?>
<?php if($this->info=='siret'):?>
<div id="center">
<h1>ACHAT de CREDITS <small>Informations complémentaires</small></h1>
<h2><?=$this->message ?></h2>
<div class="credit">
<form id="siretform" method="post" action="<?=$this->url(array('module' => 'achatclient','controller' => 'index', 'action' => 'setSiret'))?>" class="form-inline horizontal">
<input type="hidden" name="nb_credit" value="<?=$this->infosfact['nb_credit'] ?>">
<label for="siret">Siret :</label>
<input type="text" name="siret">
<input type="submit" name="submitsiret" value="Enregistrer" class="button ui-button ui-corner-all ui-widget">
<a href="/achatclient/" class="button ui-button ui-corner-all ui-widget">Abandon</a>
</form>
</div>
<div id="errors"></div>
<script>
$(function(){
$('input[name=submitsiret').click(function(e){
e.preventDefault();
siret=$('input[name=siret]').val();
if(EstSiretValide(siret)){
$('#siretform').submit();
}else{
$('input[name=siret]').addClass('alert alert-danger');
$('#errors').addClass('alert alert-danger');
$('#errors').html('Veuillez entrer un siret valide pour vous identifier');
}
//$('form[name=cgu]').submit();
});
});
</script>
<?php echo $this->inlineScript(); ?>
<?php endif;?>
<?php if($this->info=='tva'):?>
<div id="center">
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'contact'))?>">
Le numero de TVA intracommunautaire n'a pas été trouvé pour votre société.
<br>Merci de contacter le service comptable.
<br>
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'contact'))?>">
<button name="contact" id="contact" class="button ui-button ui-corner-all ui-widget" role="button">Nous contacter</button>
</a>
<?php endif;?>
<?php else:?>
<div id="center">
<h1>ACHAT de CREDITS <small>Confirmation</small></h1>
<?php //if ( $this->CmdID ):?>
<h2>Informations de la commande</h2>
<div class="credit"><table class="data" style="max-width:80%;">
<tr><td>Identifiant de commande : </td><td><?=$this->pbparams['cmdId']?></td></tr>
<tr><td>Utilisateur : </td><td><?=$this->pbparams['login']?></td></tr>
<tr><td>Société : </td><td><?=$this->infosfact->siret?><br><b><?=$this->infosfact->ClientName?></b>
<br><i><?=$this->infosfact->ClientFacAdr1?>-<?=$this->infosfact->ClientFacAdr2?> <?=$this->infosfact->ClientFacAdr3?></i>
<br><?=$this->infosfact->Clienttvanbr?></td></tr>
<tr><td>Nombre de crédits commandés : </td><td class="nbr"><?=$this->pbparams['nb_credit']?></td></tr>
<tr><td>Montant HT : </td><td class="nbr"><?=number_format($this->pbparams['montantht']/100,2,","," ")?> euros</td></tr>
<tr><td>Tva : </td><td class="nbr"><?=number_format($this->pbparams['tva']/100,2,","," ")?> euros</td></tr>
<tr><td>Montant TTC : </td><td class="nbr"><?=number_format($this->pbparams['montant']/100,2,","," ")?> euros</td></tr>
</table>
<p>Une fois le paiement effectué cliquer sur le bouton "Retour boutique" afin de
consulter vos documents, si la redirection automatique ne se fait pas.</p><p>Si vous constatez une anomalie dans les informations ci-dessus
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'contact'))?>">
<button name="contact" id="contact" class="button ui-button ui-corner-all ui-widget" role="button">Nous contacter</button></a>
</div>
<h2>Démarrer le paiement</h2>
<div class="credit">
<?php if ($this->PayboxValues) {?>
<?=$this->PayboxVerif?>
<form method="post" action="<?=$this->PayboxUrl?>" class="form-inline horizontal">
<?php foreach ( $this->PayboxValues as $field) {?>
<input type="hidden" name="<?=$field['name']?>" value="<?=$field['value']?>" />
<?php }?>
<input type="submit" class="button ui-button ui-corner-all ui-widget" value="Paiement"/>
<a href="/achatclient/" class="button ui-button ui-corner-all ui-widget">Abandon</a>
</form>
</div>
<?php // }?>
<?php } else {?>
<div class="alert alert-danger"><strong>Erreur !</strong> </div>
<?php }?>
</div>
<?php endif;?>

View File

@ -0,0 +1,23 @@
<style>
div .credit{
margin-left:25px;
}
td.nbr{
text-align:right;
}
#message{
color:red;
font-size:14px;
}
</style>
<div id="center">
<h1>Votre compte crédits en ligne</h1>
<h2>Résumé de vos crédits</h2>
<div class="credit">
<div id="message">Votre demande ne peut aboutir.N'hésitez pas à nous contacter en mentionnant le code erreur : 12-<?=$this->message; ?></div>
<a href="<?=$this->url(array('controller'=>'index', 'action'=>'index'))?>">Retour</a>
</div>
</div>

View File

@ -11,6 +11,7 @@ class AuthController extends Zend_Controller_Action
'authType' => 'userSSO',
'login' => 'mail',
'token' => 'token',
'css' => '/inexweb.css',
)
);
@ -40,7 +41,6 @@ class AuthController extends Zend_Controller_Action
$this->_helper->layout()->disableLayout();
$this->view->headLink()
->appendStylesheet($this->theme->pathStyle.'/inexweb.css', 'all')
->appendStylesheet($this->theme->pathStyle.'/user.css', 'all');
$request = $this->getRequest();
@ -84,10 +84,11 @@ class AuthController extends Zend_Controller_Action
$urlParams = array('controller'=>'auth', 'action'=>'userssoform');
$urlParams = array_merge($params, $urlParams);
$this->view->FormUrlParams = $urlParams;
}
$this->view->headLink()
->appendStylesheet($this->theme->pathStyle.'/inexweb.css', 'all');
}
// --- Redirection
else {
$auth = Zend_Auth::getInstance();
// --- Set partial identity
@ -114,7 +115,7 @@ class AuthController extends Zend_Controller_Action
$identity = $user->updateProfil($InfosLogin);
$auth->getStorage()->write($identity);
// --- Redirect
$this->redirect('/');
$this->redirect('/recherche');
}
} catch ( Exception $e ) {
switch ( $e->getCode() ) {
@ -150,7 +151,12 @@ class AuthController extends Zend_Controller_Action
{
// --- Désactiver le layout
$this->_helper->layout()->disableLayout();
$this->view->headLink()->appendStylesheet($this->theme->pathStyle.'/user.css', 'all');
$this->view->headLink()
->appendStylesheet($this->theme->pathStyle.'/user.css', 'all')
//->appendStylesheet($this->theme->pathStyle.$config['css'], 'all')
;
$this->view->inlineScript()->appendFile($this->theme->pathScript.'/recherche.js', 'text/javascript');
$request = $this->getRequest();
/**
@ -159,6 +165,9 @@ class AuthController extends Zend_Controller_Action
$partner = $request->getParam('partner');
if ( array_key_exists($partner, $this->partnerConfig) ) {
$config = $this->partnerConfig[$partner];
$this->view->headLink()
->appendStylesheet($this->theme->pathStyle.$config['css'], 'all')
;
$this->view->logo = $config['logo'];
$params = $request->getParams();
$objectParams = array();

View File

@ -37,13 +37,16 @@ class DirigeantController extends Zend_Controller_Action
$siren = substr($this->siret, 0, 9);
$ws = new WsScores();
if (empty($autrePage)) {
$this->view->headTitle()->prepend('Liste des dirigeants');
$this->view->headTitle()->prepend('Siret '.$this->siret);
}else{
$ws->freeService=true;
}
$ws = new WsScores();
$infos = $ws->getDirigeants($siren);
$ws->freeService=false;
if ($infos === false){
$this->forward('soap', 'error');

View File

@ -88,7 +88,14 @@ class ErrorController extends Zend_Controller_Action
}
}
public function soapAction(){}
public function soapAction($error_code=null){
try{
$user=new Scores_Utilisateur();
}catch(Exception $e){$user=stdClass;}
//var_dump($user);die;
$ok=$ok=$user->checkperm('portemonnaie');
$this->view->portemonnaie=$ok;
}
public function permsAction(){}

View File

@ -279,12 +279,15 @@ class EvaluationController extends Zend_Controller_Action
$entreprise = new Scores_Session_Entreprise($this->siret, $this->id);
//@todo : transformer le webservice pour ne faire qu'une seule requete
$ws = new WsScores();
$indiscore = $ws->getIndiScore($siren, 0, 1);
if ($indiscore === false) {
$indiscore = $ws->getIndiScore($siren, 0, 4);
$ws->freeService=true;
if ($indiscore === false) {
$this->forward('soap', 'error');
}
$identite = $ws->getIdentite($siren);
$identite = $ws->getIdentite($siren);
$infos = $ws->getRatios($siren, 'indiscore2');
if ($infos === false) $this->forward('soap', 'error');
$ws->freeService=false;
$score = array();
$tabRatio = array(
@ -438,9 +441,9 @@ class EvaluationController extends Zend_Controller_Action
$this->view->headTitle()->prepend("Siret ".$this->siret);
$user = new Scores_Utilisateur();
if(!$user->checkPerm('INDISCORE3') && !$user->checkPerm('INDISCORE3P'))
if(!$user->checkPerm('INDISCORE3') && !$user->checkPerm('INDISCORE3P')){
$this->forward('perms', 'error');
}
// Lien pour le rapport personnalisé
if ($user->getIdClient() == '110' || $user->checkModeEdition()) {
$this->view->assign('customRapport', $this->view->url(array(
@ -465,6 +468,7 @@ class EvaluationController extends Zend_Controller_Action
$email = $request->getParam('email', '');
$infos = $ws->getRapport($siren, 3, 0, $plus, $ref, $encours, $email);
if(empty($infos)){$this->_forward('soap', 'error');}
$this->logger->info(print_r($infos,1));
if ($infos === false) {
$this->forward('soap', 'error');
@ -1045,7 +1049,9 @@ class EvaluationController extends Zend_Controller_Action
$email = $request->getParam('email', '');
$infos = $ws->getEntrepriseValo($siren);
if(empty($infos)){
$this->_forward('soap', 'error');
}
require_once 'Scores/RapportComment.php';
$rapportComment = new RapportComment($siren, $this->id,
$infos->Indiscore->tabCommentaires->item,

View File

@ -228,7 +228,7 @@ class FinanceController extends Zend_Controller_Action
$this->view->headTitle()->prepend("Bilan, Compte de résultat");
$this->view->headTitle()->prepend("Siret ".$this->siret);
$ws = new WsScores();
$infos = $ws->getRatios(substr($this->siret, 0, 9), 'ratios');
$infos = $ws->getRatios(substr($this->siret, 0, 9), 'bilan');
if ($infos === false) $this->_forward('soap', 'error');
} else {
$infos = $this->getRequest()->getParam('infos');
@ -1096,7 +1096,10 @@ class FinanceController extends Zend_Controller_Action
$entreprise = new Scores_Session_Entreprise($this->siret, $this->id);
$this->view->assign('raisonSociale', $entreprise->getRaisonSociale());
$infos = $ws->getRatios($siren, 'ratios');
$infos = $ws->getRatios($siren, 'flux');
if ($infos === false) {
$this->forward('soap', 'error');
}
//Formattage des données
$ratiosData = new Scores_Finance_Ratios_Data($infos);

View File

@ -678,6 +678,7 @@ class IdentiteController extends Zend_Controller_Action
$this->view->assign('edition', $user->checkModeEdition());
$ws = new WsScores();
if (!empty($autrePage)) {$ws->freeService=true;}
if ($lienRef) {
@ -685,6 +686,8 @@ class IdentiteController extends Zend_Controller_Action
if (empty($autrePage)) {
$this->view->headTitle()->prepend('Liens inter-entreprises - Id '.$lienRef);
}else{
$ws->freeService=true;
}
$identite = $ws->getLienRef($lienRef);
@ -712,7 +715,7 @@ class IdentiteController extends Zend_Controller_Action
}
//Get links
$infos = $ws->getLiensById($lienRef);
$infos = $ws->getLiensById($lienRef);
} else {
$siren = substr($this->siret,0,9);
@ -762,6 +765,7 @@ class IdentiteController extends Zend_Controller_Action
$this->view->assign('civilite', $result->civilite);
$this->view->assign('naissanceDate', $result->naissance_Date);
}
$ws->freeService=false;
if ( in_array($session->getFormeJuridique(), array(5488,5498,5720)) ) {
$this->view->assign('FJ1', true);
@ -1146,6 +1150,9 @@ class IdentiteController extends Zend_Controller_Action
$ws = new WsScores();
$infos = $ws->getListeEvenements($siren, $nic, $position, $nbReponses);
if ($infos === false) {
$this->forward('soap', 'error');
}
$evens = $infos->result->item;
$this->view->assign('evens', $evens);
@ -1626,6 +1633,9 @@ class IdentiteController extends Zend_Controller_Action
$ws = new WsScores();
$result = $ws->getGroupeInfos($siren);
if ($result === false) {
$this->forward('soap', 'error');
}
$this->view->assign('result', $result);
$this->view->assign('siren', $siren);

View File

@ -74,6 +74,9 @@ class JuridiqueController extends Zend_Controller_Action
$position = ($page - 1) * $nbAffichage;
$ws = new WsScores();
if(!empty($autrePage)){
$ws->freeService=true;
}
switch ($vue) {
case 'balo':
$infos = $ws->getAnnoncesBalo($siren, $idAnn, null, $position, $nbAffichage);
@ -108,6 +111,7 @@ class JuridiqueController extends Zend_Controller_Action
$infos = $ws->getAnnoncesLegales($siren, $idAnn, null, $position, $nbAffichage);
break;
}
$ws->freeService=false;
$this->logger->info(print_r($infos,1));
if ($infos === false) {
$this->forward('soap', 'error');
@ -217,6 +221,9 @@ class JuridiqueController extends Zend_Controller_Action
} else {
$this->view->assign('vue', $vue);
$ws = new WsScores();
if(!empty($autrePage)){
$ws->freeService=true;
}
switch ($vue) {
case 'balo':
$infos = $ws->getAnnoncesBalo($siren, $idAnn, null, $position, $nbAffichage);
@ -559,6 +566,7 @@ class JuridiqueController extends Zend_Controller_Action
$this->view->assign('raisonSociale', $session->getRaisonSociale());
$ws = new WsScores();
$infos = $ws->getListeConventions($siren);
if ($infos === false) $this->_forward('soap', 'error');
$conventions = $infos->result->item;
$this->logger->info(print_r($conventions,1));
$this->view->assign('conventions', $conventions);

View File

@ -104,7 +104,7 @@ class UserController extends Zend_Controller_Action
$this->logger->info('setInfosLogin');
$this->logger->info(print_r($options,1));
$reponse = $ws->setInfosLogin($login, $action, $options);
$this->logger->info(print_r($response,1));
$this->logger->info('setInfosLogin'.print_r($response,1));
$isProfilUpdated = true;
$message = 'Erreur lors de la mise à jour du compte !';
@ -505,7 +505,11 @@ class UserController extends Zend_Controller_Action
*/
public function logoutAction()
{
Zend_Auth::getInstance()->clearIdentity();
$auth = Zend_Auth::getInstance();
if ( $auth->hasIdentity() ) {
$this->identity = $auth->getIdentity();
}
Zend_Auth::getInstance()->clearIdentity();
$session = new Zend_Session_Namespace('wcheck');
$session->unsetAll();
$this->_helper->layout()->disableLayout();
@ -518,12 +522,14 @@ class UserController extends Zend_Controller_Action
$this->view->assign('ajax', $ajax);
$refresh = 5;
$url = 'http://'.$_SERVER['SERVER_NAME'].$this->view->url(array(
if($this->identity->idClient==195){//Redirection spéciale inextenso
$url="http://inexweb.fr";
}else{
$url = 'http://'.$_SERVER['SERVER_NAME'].$this->view->url(array(
'controller' => 'user',
'action' => 'login',
), 'default', true);
}
$this->view->assign('url', $url);
if ( $ajax == 0 ) {

View File

@ -0,0 +1,22 @@
<div class="panel-body">
<h4 class="text-primary text-center">Spécialiste de l'information légale et financière sur les entreprises, Scores & Décisions vous permet par
confirmation des éléments ci-contre d'accéder à toute sa base de données.</h4>
<ul class="list-group">
<li class="list-group-item text-center">
Télécharger nos Conditions Générales de Services
<a href="<?=$this->baseUrl()?>/documents/inextenso_cgs.pdf" target="_blank">
<span class="glyphicon glyphicon-file" ></span></a>
</li>
<li class="list-group-item text-center">
Télécharger nos Conditions Tarifaires
<a href="#" target="_blank">
<span class="glyphicon glyphicon-file" ></span></a>
</li>
<li class="list-group-item text-center">
Télécharger les coordonnées de vos contacts
<a href="<?=$this->baseUrl()?>/documents/inextenso_contacts.pdf" target="_blank">
<span class="glyphicon glyphicon-file"></span></a>
</li>
</ul>
</div>

View File

@ -28,28 +28,7 @@
<br/>
<div class="panel panel-default">
<div class="panel-body">
<p class="text-primary">Spécialiste de l'information légales et financières sur les entreprises, Scores & Décisions vous permet par
confirmation des éléments ci-contre d'accéder à toute sa base de données.</p>
<ul class="list-group">
<li class="list-group-item">
Télécharger nos Conditions Générales de Services
<a href="<?=$this->baseUrl()?>/documents/inextenso_cgs.pdf" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
<li class="list-group-item">
Télécharger nos Conditions Tarifaires
<a href="#" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
<li class="list-group-item">
Télécharger les coordonnées de vos contacts
<a href="<?=$this->baseUrl()?>/documents/inextenso_contacts.pdf" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
</ul>
</div>
<?php echo $this->partial('auth/cgu.phtml',array()); ?>
</div>
</div>
@ -72,12 +51,12 @@
<li><strong>Découvrez la valeur de votre entreprises ou celles de vos concurrents ></strong> Mon entreprise a t elle de la
valeur ? combien me coûterait le rachat d'un concurrent ?</li>
<li><strong>Trouvez vos futurs clients ></strong> Où sont et qui sont mes prospects ?</li>
<li><strong>Trouvez vos futurs clients ></strong> Où sont et qui sont mes prospects ?
<p>Les données agrégées sont officielles, exhaustives, fraîches et opposables aux tiers. Elles sont utilisées
par des grands groupes et institutionnels dans des cadres contentieux, de conformité, de fraude...</p></li>
</ul>
<p>Les données agrégées sont officielles, exhaustives, fraîches et opposables aux tiers. Elles sont utilisées
par des grands groupes et institutionnels dans des cadres contentieux, de conformité, de fraude...</p>
<?php if ($this->FormUrlParams) {?>
<a type="button" class="btn btn-success btn-lg" href="<?=$this->url($this->FormUrlParams, 'default', true)?>">Accédez au site</a>
@ -85,7 +64,10 @@
</div>
</div>
<div class="row">
<div class="bannierebas">&nbsp;</div>
<div class="alert alert-info"><?=$this->msg;?></div>
</div>
</div>
</div>

View File

@ -6,6 +6,7 @@
<?php echo $this->headStyle(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headScript(); ?>
</head>
<body>
@ -17,34 +18,13 @@
<div class="col-md-6">
<p><img src="/themes/default/images/partner/<?=$this->logo?>"/></p>
<div class="panel panel-default">
<div class="panel-body">
<p class="text-primary">Spécialiste de l'information légales et financières sur les entreprises, Scores & Décisions vous permet par
confirmation des éléments ci-contre d'accéder à toute sa base de données.</p>
<ul class="list-group">
<li class="list-group-item">
Télécharger nos Conditions Générales de Services
<a href="<?=$this->baseUrl()?>/documents/inextenso_cgs.pdf" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
<li class="list-group-item">
Télécharger nos Conditions Tarifaires
<a href="#" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
<li class="list-group-item">
Télécharger les coordonnées de vos contacts
<a href="<?=$this->baseUrl()?>/documents/inextenso_contacts.pdf" target="_blank">
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
</li>
</ul>
<?php echo $this->partial('auth/cgu.phtml',array()); ?>
</div>
</div>
<span id="errors"></span>
</div>
<div class="col-md-6">
<form method="post" action="<?=$this->url(array('controller'=>'auth', 'action'=>'userssocreate'), 'default', true)?>">
<form id="ssoform" method="post" action="<?=$this->url(array('controller'=>'auth', 'action'=>'userssocreate'), 'default', true)?>">
<h2 class="form-signin-heading">Extranet <small>Scores &amp; Décisions</small></h2>
<?php
//Error
@ -83,7 +63,7 @@
</div>
<div class="form-group">
<label for="siret">SIRET</label>
<label for="siret">SIRET *</label>
<input type="text" class="form-control" name="siret" value="<?=$this->FormSiret?>">
</div>
@ -102,7 +82,7 @@
<input type="text" class="form-control" name="tel" value="<?=$this->FormTel?>">
</div>
<button class="btn btn-lg btn-primary btn-block clearfix" type="submit">Valider</button>
<button class="btn btn-lg btn-primary btn-block clearfix" id="ssosubmit" type="submit">Valider</button>
<?php }?>
</form>
@ -119,7 +99,23 @@
<p class="text-muted credit"> &copy; <?=date('Y')?> <a href="http://www.scores-decisions.com">Scores & Décisions SAS</a>.</p>
</div>
</div>
<script>
$(function(){
$('#ssosubmit').click(function(e){
e.preventDefault();
siret=$('input[name=siret]').val();
if(EstSiretValide(siret)){
$('#ssoform').submit();
}else{
$('input[name=siret]').addClass('alert alert-danger');
$('#errors').addClass('alert alert-danger');
$('#errors').html('Veuillez entrer un siret valide pour vous identifier');
}
//$('form[name=cgu]').submit();
});
});
</script>
<?php echo $this->inlineScript(); ?>
</body>
</html>

View File

@ -2,12 +2,19 @@
<h2>Erreur</h2>
<div class="paragraph">
<div style="padding:0.7em;" class="ui-state-error ui-corner-all">
<p><span style="float: left; margin-right: 0.3em;" class="ui-icon ui-icon-alert"></span>
<?php if($this->portemonnaie):?>
Votre requete n'a pas abouti.
Merci de vérifier que vous possédez les crédits suffisants pour cette opération.
Pour consulter ou renouveler vos crédits utiliser le
<a href="/achatclient" class="btn">
<button name="contact" id="contact" class="button ui-button ui-corner-all ui-widget" role="button">Porte-monnaie en ligne</button></a>
<?php else: ?>
Une erreur est survenue lors de votre requête...<br/>
Un message à été envoyé à l'administrateur.<br/>
Nous vous remercions de bien vouloir renouveler votre demande ultérieurement.
<?php endif;?>
</p>
</div>

73
composer.lock generated
View File

@ -92,21 +92,21 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "6.2.2",
"version": "6.2.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "ebf29dee597f02f09f4d5bbecc68230ea9b08f60"
"reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/ebf29dee597f02f09f4d5bbecc68230ea9b08f60",
"reference": "ebf29dee597f02f09f4d5bbecc68230ea9b08f60",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006",
"reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006",
"shasum": ""
},
"require": {
"guzzlehttp/promises": "^1.0",
"guzzlehttp/psr7": "^1.3.1",
"guzzlehttp/psr7": "^1.4",
"php": ">=5.5"
},
"require-dev": {
@ -150,7 +150,7 @@
"rest",
"web service"
],
"time": "2016-10-08T15:01:37+00:00"
"time": "2017-02-28T22:50:30+00:00"
},
{
"name": "guzzlehttp/promises",
@ -205,16 +205,16 @@
},
{
"name": "guzzlehttp/psr7",
"version": "1.3.1",
"version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b"
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/5c6447c9df362e8f8093bda8f5d8873fe5c7f65b",
"reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
"shasum": ""
},
"require": {
@ -250,29 +250,36 @@
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
}
],
"description": "PSR-7 message implementation",
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"request",
"response",
"stream",
"uri"
"uri",
"url"
],
"time": "2016-06-24T23:00:38+00:00"
"time": "2017-03-20T17:10:46+00:00"
},
{
"name": "monolog/monolog",
"version": "1.22.0",
"version": "1.22.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "bad29cb8d18ab0315e6c477751418a82c850d558"
"reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/bad29cb8d18ab0315e6c477751418a82c850d558",
"reference": "bad29cb8d18ab0315e6c477751418a82c850d558",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0",
"reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0",
"shasum": ""
},
"require": {
@ -337,7 +344,7 @@
"logging",
"psr-3"
],
"time": "2016-11-26T00:15:39+00:00"
"time": "2017-03-13T07:08:03+00:00"
},
{
"name": "phpoffice/phpexcel",
@ -597,16 +604,16 @@
},
{
"name": "symfony/browser-kit",
"version": "v3.2.2",
"version": "v3.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
"reference": "548f8230bad9f77463b20b15993a008f03e96db5"
"reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/548f8230bad9f77463b20b15993a008f03e96db5",
"reference": "548f8230bad9f77463b20b15993a008f03e96db5",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8",
"reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8",
"shasum": ""
},
"require": {
@ -650,20 +657,20 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
"time": "2017-01-02T20:32:22+00:00"
"time": "2017-02-21T09:12:04+00:00"
},
{
"name": "symfony/css-selector",
"version": "v3.2.2",
"version": "v3.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "f0e628f04fc055c934b3211cfabdb1c59eefbfaa"
"reference": "a48f13dc83c168f1253a5d2a5a4fb46c36244c4c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/f0e628f04fc055c934b3211cfabdb1c59eefbfaa",
"reference": "f0e628f04fc055c934b3211cfabdb1c59eefbfaa",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/a48f13dc83c168f1253a5d2a5a4fb46c36244c4c",
"reference": "a48f13dc83c168f1253a5d2a5a4fb46c36244c4c",
"shasum": ""
},
"require": {
@ -703,20 +710,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2017-01-02T20:32:22+00:00"
"time": "2017-02-21T09:12:04+00:00"
},
{
"name": "symfony/dom-crawler",
"version": "v3.2.2",
"version": "v3.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "27d9790840a4efd3b7bb8f5f4f9efc27b36b7024"
"reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/27d9790840a4efd3b7bb8f5f4f9efc27b36b7024",
"reference": "27d9790840a4efd3b7bb8f5f4f9efc27b36b7024",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee",
"reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee",
"shasum": ""
},
"require": {
@ -759,7 +766,7 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2017-01-02T20:32:22+00:00"
"time": "2017-02-21T09:12:04+00:00"
},
{
"name": "symfony/polyfill-mbstring",

71
library/Paybox/Config.php Normal file
View File

@ -0,0 +1,71 @@
<?php
class Paybox_Config
{
protected $PBX_SITE;
protected $PBX_RANG;
protected $PBX_IDENTIFIANT;
protected $KEY;
protected $SERVER;
protected $URL_PAIEMENT;
protected $PBX_TYPEPAIEMENT="CARTE";
protected $PBX_TYPECARTE="VISA";
protected $PBX_MODE=1;
public function __construct($test = false)
{
if ($test === false) {
Zend_Loader::loadClass('Paybox_Config_Prod');
$config = new Paybox_Config_Prod();
} else {
Zend_Loader::loadClass('Paybox_Config_Test');
$config = new Paybox_Config_Test();
}
foreach ( $config->variables as $var => $value ) {
$this->{'PBX_'.$var} = $value;
}
$this->KEY = $config->key;
$this->SERVER = $config->server;
}
/**
* Check server availability and set the paiement url
* @return boolean
*/
public function checkservers()
{
$serveurOK = "";
foreach($this->SERVER as $serveur)
{
$doc = new DOMDocument();
$doc->loadHTMLFile($serveur['ping']);
$server_status = "";
$element = $doc->getElementById('server_status');
if($element){
$server_status = $element->textContent;
}
if($server_status == "OK"){
//Le serveur est prêt et les services opérationnels
$serveurOK = $serveur;
$this->URL_PAIEMENT = $serveur['url'];
return true;
break;
}
// else : La machine est disponible mais les services ne le sont pas.
}
if(!$serveurOK){
return false;
}
}
}

View File

@ -0,0 +1,23 @@
<?php
class Paybox_Config_Prod
{
public $key = '249DE9DBD388E3430AC464ACFE23A668F1F3221432F96028468A5A0775AFEB8438C7F4DED096066109BBB5E1B2E22DC53D9D31181CC06DD4C6C1239110ADFFD7';
public $server = array(
array(
'ping' => "https://tpeweb.paybox.com/load.html",
'url' => "https://tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi",
),
array(
'ping' => "https://tpeweb1.paybox.com/load.html",
'url' => "https://tpeweb1.paybox.com/cgi/MYchoix_pagepaiement.cgi",
),
);
public $variables = array(
'SITE' => '5136925',
'RANG' => '01',
'IDENTIFIANT' => '533616985',
);
}

View File

@ -0,0 +1,26 @@
<?php
class Paybox_Config_Test
{
//public $key = '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF';
public $key = '249DE9DBD388E3430AC464ACFE23A668F1F3221432F96028468A5A0775AFEB8438C7F4DED096066109BBB5E1B2E22DC53D9D31181CC06DD4C6C1239110ADFFD7';
//public $key = 'E941B48379E0C65997F52FDA8DC920B358B1AAB99A6E3CCF584F97E6AC55FB3C701DE0CC0CCFAEC82A1B0AA865CCDA36A420C4043376BBAFB51790D8480E2F77';
public $server = array(
array(
'ping' => "https://preprod-tpeweb.paybox.com/load.html",
'url' => "https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi",
),
);
/*public $variables = array(
'SITE' => '1999888',
'RANG' => '32',
'IDENTIFIANT' => '110647233',
);*/
public $variables = array(
'SITE' => '5136925',
'RANG' => '01',
'IDENTIFIANT' => '533616985',
);
}

View File

@ -0,0 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe+hkicNP7ROHUssGNtHwiT2Ew
HFrSk/qwrcq8v5metRtTTFPE/nmzSkRnTs3GMpi57rBdxBBJW5W9cpNyGUh0jNXc
VrOSClpD5Ri2hER/GcNrxVRP7RlWOqB1C03q4QYmwjHZ+zlM4OUhCCAtSWflB4wC
Ka1g88CjFwRw/PB9kwIDAQAB
-----END PUBLIC KEY-----

198
library/Paybox/Response.php Normal file
View File

@ -0,0 +1,198 @@
<?php
class Paybox_Response
{
protected $data;
protected $sign;
protected $errCode = 0;
protected $errLabel = 'Impossible de valider le paiement.';
protected $values = array();
public function __construct(){}
/**
*
* @param array $values
*/
public function setData($values)
{
if ( !array_key_exists('sign', $values) )
return;
//Set and remove the sign
$this->setSign($values['sign']);
unset($values['sign']);
$this->values = $values;
//Concat datas with &
$this->data = '';
$i = 0;
$max = count($values);
foreach( $values as $key => $val ) {
if ( !in_array($key, array('eta', 'id', 'type', 'mt', 'auto', 'idtrans')))
continue;
$this->data.= $key."=".urlencode($val);
$i++;
if ( $i<$max ) {
$this->data.= '&';
}
}
// If the last char is &, remove it
if ( substr($this->data, -1) == '&' ) {
$this->data = substr($this->data, 0, strlen($this->data)-1);
}
}
/**
* Défini la signature
* @param string $value
*/
protected function setSign($value)
{
$this->sign = base64_decode($value);
}
/**
*
*/
protected function isDataSign()
{
if (empty($this->data))
return false;
if (empty($this->sign))
return false;
$cert = file_get_contents(__DIR__.'/Key/pubkey.pem');
$pubkeyid = openssl_pkey_get_public($cert);
// state whether signature is okay or not
$ok = openssl_verify($this->data, $this->sign, $pubkeyid, OPENSSL_ALGO_SHA1);
// free the key from memory
openssl_free_key($pubkeyid);
if ($ok == 1) {
return true;
} elseif ($ok == 0) {
return false;
} else {
return false;
}
}
/**
* Vérifie le code retour
* @return boolean
*/
protected function checkEta()
{
$code = $this->values['eta'];
if ( intval($code) === 0 ) {
return true;
}
switch($code) {
/*
00000
Opération réussie.
00001
La connexion au centre dautorisation a échoué ou une erreur interne est survenue. Dans ce cas, il est souhaitable de faire une tentative sur le site secondaire : tpeweb1.paybox.com.
001xx
Paiement refusé par le centre dautorisation [voir §12.1 Codes réponses du centre dautorisation].
En cas dautorisation de la transaction par le centre dautorisation de la banque ou de létablissement financier privatif, le code erreur “00100” sera en fait remplacé directement par “00000”.
=> Liste des codes erreurs
00003
Erreur Paybox. Dans ce cas, il est souhaitable de faire une tentative sur le site secondaire FQDN tpeweb1.paybox.com.
00004
Numéro de porteur ou cryptogramme visuel invalide.
00006
Accès refusé ou site/rang/identifiant incorrect.
00008
Date de fin de validité incorrecte.
00009
Erreur de création dun abonnement.
00010
Devise inconnue.
00011
Montant incorrect.
00015
Paiement déjà effectué.
00016
Abonné déjà existant (inscription nouvel abonné). Valeur U de la variable PBX_RETOUR.
00021
Carte non autorisée.
00029
Carte non conforme. Code erreur renvoyé lors de la documentation de la variable « PBX_EMPREINTE ».
00030
Temps dattente > 15 mn par linternaute/acheteur au niveau de la page de paiements.
00031
Réservé
00032
Réservé
00033
Code pays de ladresse IP du navigateur de lacheteur non autorisé.
00040
Opération sans authentification 3-DSecure, bloquée par le filtre.
99999
Opération en attente de validation par lémetteur du moyen de paiement.
*/
default:
$this->errCode = 0;
$this->errLabel = 'Validation du paiement incorrect';
}
return false;
}
/**
*
* @return boolean
*/
public function checkData()
{
//Vérification de la signature
if ( $this->isDataSign() === false ) {
return false;
}
//Vérifier le retour des données
$vars = array('eta');
foreach ( $vars as $var ) {
if ( method_exists($this, 'check'.ucfirst($var)) ) {
if ( $this->{'check'.ucfirst($var)}() === true ) {
return true;
}
}
}
//eta:E;id:R;type:P;pays:Y;mt:M;auto:A;idtrans:S;sign:K
return false;
}
/**
* Get error message
* @return stdClass
*/
public function getError()
{
$return = new stdClass();
$return->code = $this->errCode;
$return->label = $this->errLabel;
return $return;
}
}

309
library/Paybox/System.php Normal file
View File

@ -0,0 +1,309 @@
<?php
/*
Page scores
===========
Choix du moyen de paiement
- Liste les cartres de paiement autorisées
Forçage du moyen de paiement
PBX_TYPEPAIEMENT
PBX_TYPECARTE
URL de Paybox System :
Variables à transmettre
- PBX_SITE = Numéro de site (fourni par Paybox)
- PBX_RANG = Numéro de rang (fourni par Paybox)
- PBX_IDENTIFIANT = Identifiant interne (fourni par Paybox)
- PBX_TOTAL = Montant total de la transaction
- PBX_DEVISE = Devise de la transaction
- PBX_CMD = Référence commande côté commerçant
- PBX_PORTEUR = Adresse E-mail de lacheteur
- PBX_RETOUR = Liste des variables à retourner par Paybox
- PBX_HASH = Type dalgorithme de hachage pour le calcul de lempreinte
- PBX_TIME = Horodatage de la transaction
- PBX_HMAC = Signature calculée avec la clé secrète
Gestion du HMAC
1 - Générer un clé par l'interface de backoffice
2 - Valider la clé, reception d'un email demandant la validation (la clé est valable 31 jours)
Pas possible plusieurs clés...
=> Pour le test clé définie
Page de paiement paybox
========================
Personnalisation
- Le logo en haut de page
- Laffichage du logo Paybox
- Les boutons de validation/annulation/retour boutique
- Les langues
- Le fond décran
- Et bien dautres options via un fichier CSS
=> Transmettre ces éléments à PayBox
*/
class Paybox_System extends Paybox_Config
{
/**
* Algorithme utilisé pour la signature du message
* SHA512, RIPEMD160, SHA224, SHA256, SHA384, MDC2
* @var string
*/
protected $PBX_HASH = 'SHA512';
/**
* Date à laquelle lempreinte HMAC a été calculée. Doit être URL-encodée
* Date au format ISO8601.
* @var string
*/
protected $PBX_TIME;
protected $PBX_HMAC;
/**
* Référence de commande
* @var string
*/
protected $PBX_CMD;
/**
* Devise (monnaie)
* Code monnaie de la transaction suivant la norme ISO 4217 (code numérique)
* Exemples :
* - Euro : 978
* - US Dollar : 840
* @var string
*/
protected $PBX_DEVISE = '978';
/**
* URL de retour en cas de succès
* @var string
*/
protected $PBX_EFFECTUE;
/**
* URL de retour en cas d'abandon
* @var string
*/
protected $PBX_ANNULE;
/**
* URL de retour en cas de refus de paiement
* @var string
*/
protected $PBX_REFUSE;
/**
* URL IPN (Instant Payement Notification)
* @var string
*/
protected $PBX_REPONDRE_A;
/**
* Configuration de la réponse
* Chaine <nom de variable>:<lettre> concaténé par ;
* mt:M => Montant de la transaction
* eta:E
* Liste des erreurs possible
*
* id:R => Référence commande (précisée dans PBX_CMD)
* auto:A => numéro d'Autorisation (numéro remis par le centre dautorisation)
* type:P => Type de Paiement retenu (cf. PBX_TYPEPAIEMENT)
* idtrans:S => Numéro de TranSaction Paybox
* pays:Y => Code paYs de la banque émettrice de la carte. Format : ISO 3166 (alphabétique)
* sign:K => Signature sur les variables de l'URL. Format : url-encodé (toujours en dernier)
* @var string
*/
protected $PBX_RETOUR = 'eta:E;id:R;type:P;mt:M;auto:A;idtrans:S;sign:K';
/**
* Langue de la page de paiement
* @var string
*/
protected $PBX_LANGUE = '';
/**
* Adresse email du client
* @var string
*/
protected $PBX_PORTEUR = '';
/**
* TEST
* Code erreur à renvoyer pour tests
* @var string
*/
protected $PBX_ERRORCODETEST;
/**
* ORDRE des champs pour l'affichage du formulaire et le calcul du HMAC
* @var array
*/
protected $stackfields = array(
'PBX_SITE',
'PBX_RANG',
'PBX_IDENTIFIANT',
'PBX_TOTAL',
'PBX_DEVISE',
'PBX_CMD',
'PBX_PORTEUR',
'PBX_RETOUR',
'PBX_HASH',
'PBX_TIME',
);
public $URL_PARAMETERS;
public function __construct($test = false) {
parent::__construct($test);
}
public function getFormUrl()
{
return $this->URL_PAIEMENT;
}
public function getFormParameters()
{
$params = array();
foreach ( $this->stackfields as $field ) {
$value = $this->{$field};
if ( !empty($value) ) {
$params[] = array(
'name' => $field,
'value' => $value,
);
}
}
$params[] = array(
'name' => 'PBX_HMAC',
'value' => $this->PBX_HMAC,
);
return $params;
}
/**
* Défini le montant
* @param float $value
*/
public function setMontant($value)
{
$montant = str_replace(',', '', number_format($value, 2, ',', ''));
$this->PBX_TOTAL = $montant;
}
/**
* Set the command reference
* @param string $value
*/
public function setReference($value)
{
$this->PBX_CMD = $value;
}
/**
* Set user email
* @param string $value
*/
public function setEmail($value)
{
$this->PBX_PORTEUR = $value;
}
/**
* Set the IPN Url
* @param string $url
*/
public function setUrlRepondreA($url)
{
$this->PBX_REPONDRE_A = $url;
}
/**
* Define URL parameters as string to calculate HMAC
* @param string $withReturnUrl
*/
public function setUrlParameters($withReturnUrl = '')
{
if ( !empty($withReturnUrl) ) {
$this->setReturnUrl($withReturnUrl);
$this->stackfields = array_merge($this->stackfields, array(
'PBX_EFFECTUE',
'PBX_REFUSE',
'PBX_ATTENTE',
'PBX_ANNULE',
));
}
if ( !empty($this->PBX_REPONDRE_A) ) {
$this->stackfields = array_merge($this->stackfields, array(
'PBX_REPONDRE_A',
));
}
$dateTime = date('c');
$this->PBX_TIME = $dateTime;
$params = '';
$i = 0;
foreach ( $this->stackfields as $field ) {
$value = $this->{$field};
if ( !empty($value) ) {
$params.= $field.'='.$value;
$i++;
if ( $i < count($this->stackfields) ) {
$params.= '&';
}
}
}
// If the last char is &, remove it
if ( substr($params, -1) == '&' ) {
$params = substr($params, 0, strlen($params)-1);
}
$this->URL_PARAMETERS = $params;
}
/**
* Return the paiement URL if available
* @return string|boolean
*/
public function setUrlPaiement()
{
$this->checkservers();
if ( !empty($this->URL_PAIEMENT) ) {
return $this->URL_PAIEMENT;
}
return false;
}
/**
* Calcul le HMAC
* @return void
*/
public function calculateHMAC()
{
$binKey = pack("H*", $this->KEY);
//echo "URL_PARAMETERS : ".$this->URL_PARAMETERS;die;
$this->PBX_HMAC = strtoupper(hash_hmac('sha512', $this->URL_PARAMETERS, $binKey));
}
/**
* Define Return URL
* @param string $url
*/
public function setReturnUrl($url)
{
$this->PBX_EFFECTUE = $url;
$this->PBX_REFUSE = $url;
$this->PBX_ATTENTE = $url;
$this->PBX_ANNULE = $url;
}
}

View File

@ -71,6 +71,7 @@ class Scores_Utilisateur
$identity->lang = $lang;
$identity->langtmp = $lang;
$identity->browser = $this->getBrowserInfo();
$identity->siret = $InfosLogin->result->siret;
$this->identity = $identity;
@ -277,6 +278,14 @@ class Scores_Utilisateur
return $hasPref;
}
/**
* Retourne le siret du client
*/
public function getSiret()
{
return $this->identity->siret;
}
/**
* Retourne la langue par défaut du client
*/

View File

@ -46,6 +46,9 @@ return array(
'setUserEmail' => array(
'log' => 'mail',
),
'setUserSiret' => array(
'log' => 'mail',
),
'setUserPassword' => array(
'log' => 'mail',
),

View File

@ -0,0 +1,34 @@
<?php
return array(
'0.1' => array(
'payCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'infoCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'mensuelconsoCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'useCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'contactCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'getcontactsCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
'getfactinfosCredit' => array(
'debug' => true,
'errorMsg' => array('MSG'),
),
),
);

View File

@ -5,10 +5,10 @@ return array(
'debug' => true,
'log' => 'mail',
),
'dupliqueAnnonce' => array(
'debug' => true,
'errorMsg' => array('MSG'),
'log' => 'mail',
),
'dupliqueAnnonce' => array(
'debug' => true,
'errorMsg' => array('MSG'),
'log' => 'mail',
),
)
);

View File

@ -45,6 +45,12 @@ class WsScores
*/
protected $logger;
/**
* Free service
* @var boolean
*/
public $freeService=false;
/**
* Load WebService config
* @param string $login
@ -192,6 +198,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getContactEt');
return $cache->getBlock();
}
}
@ -283,6 +290,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getValo',$siren)){return false;}
return $cache->getBlock();
}
}
@ -1171,6 +1179,7 @@ class WsScores
$params = new stdClass();
$params->siren = $siren;
$client = $this->loadClient('interne');
if(!$this->decLog('getGroupeInfos',$siren)){return false;}
try {
$reponse = $client->getGroupeInfos($params);
return $reponse->getGroupeInfosResult;
@ -1201,6 +1210,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getGroupesArbo',$siren);
return $cache->getBlock();
}
}
@ -1304,6 +1314,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getListeDepots');
return $cache->getBlock();
}
}
@ -1474,6 +1485,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getRapport',$siren)){return false;}
return $cache->getBlock();
}
}
@ -1588,6 +1600,11 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if($niveau==4){
if(!$this->decLog('getReportSynthese',$siren)){return false;}
}else{
if(!$this->decLog('getIndiScore',$siren)){return false;}
}
return $cache->getBlock();
}
}
@ -1898,7 +1915,8 @@ class WsScores
$filename = 'listejalcollecte';
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
return $cache->getBlock();
$this->decLog('getListeJalCollecte');
return $cache->getBlock();
}
$params = new stdClass();
$client = $this->loadClient('interne');
@ -2061,6 +2079,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getMarques', $siren)){return false;}
return $cache->getBlock();
}
}
@ -2094,6 +2113,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getListeConventions',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2128,6 +2148,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getListeCompetences',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2162,6 +2183,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getInfosReg',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2221,6 +2243,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getAnnoncesBalo',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2256,6 +2279,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getAnnoncesBoamp',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2295,6 +2319,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getAnnoncesAsso',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2326,6 +2351,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getAnnoncesLegales',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2366,6 +2392,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getAnnonces',$siren);
return $cache->getBlock();
}
}
@ -2462,6 +2489,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getListeBilans',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2496,6 +2524,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getBilan',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2530,6 +2559,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getBanques',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2561,6 +2591,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getInfosBourse',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2597,6 +2628,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('get'.ucfirst($page),$siren)){return false;}
return $cache->getBlock();
}
}
@ -2631,6 +2663,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getDirigeants',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2663,6 +2696,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getDirigeantsOp');
return $cache->getBlock();
}
}
@ -2721,6 +2755,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getAvisRncs');
return $cache->getBlock();
}
}
@ -2793,6 +2828,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getIdentite',$siret)){return false;}
return $cache->getBlock();
}
}
@ -2831,6 +2867,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getIdentiteProcol',$siret)){return false;}
return $cache->getBlock();
}
}
@ -2865,6 +2902,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getLiensById');
return $cache->getBlock();
}
}
@ -2901,6 +2939,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getLiens',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2940,6 +2979,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getListeEvenements',$siren)){return false;}
return $cache->getBlock();
}
}
@ -2979,6 +3019,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
if(!$this->decLog('getListeEtablissements',$siren)){return false;}
return $cache->getBlock();
}
}
@ -3021,6 +3062,7 @@ class WsScores
if ($this->cacheWrite) {
$cache = new Cache($filename);
if ($cache->exist() && $this->cacheEnable ){
$this->decLog('getEtablissementsGeo');
return $cache->getBlock();
}
}
@ -3376,7 +3418,7 @@ class WsScores
$message.= "\n\n";
}
$message.= "Referer : ".$_SERVER['HTTP_REFERER']."\n\n";
$message.= "Referer : ".isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:''."\n\n";
$message.= "Requete :\n ".$requete."\n";
$message.= "Reponse :\n ".$reponse."\n";
@ -3394,4 +3436,15 @@ class WsScores
}
}
}
private function decLog($idLog,$siren='extranet'){
if(!$this->freeService){
$wsc = new Scores_Ws_Client('credit', '0.1');
$params = new stdClass();
$params->idLog = $idLog;
$params->siren = $siren;
$infocredit = $wsc->useCredit($params);
return $infocredit->result;
}
return $this->freeService;
}
}

View File

@ -10,3 +10,5 @@ webservices.pieces.wsdl = "pieces/v0.1?wsdl"
webservices.pieces.options.soap_version = SOAP_1_2
webservices.catalog.wsdl = "catalog/v0.1?wsdl"
webservices.catalog.options.soap_version = SOAP_1_2
webservices.credit.wsdl = "credit/v0.1?wsdl"
webservices.credit.options.soap_version = SOAP_1_2

Binary file not shown.

View File

@ -12,4 +12,5 @@ require_once realpath(__DIR__ . '/../vendor/autoload.php');
// --- Create application, bootstrap, and run
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
error_reporting(E_ERROR);
$application->bootstrap()->run();

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -1,5 +1,6 @@
body {
background-color: #004489;
}
p {
@ -27,3 +28,13 @@ p.inexweb {
margin-top: 20px;
vertical-align: middle;
}
div.bannierebas{
background-image: url('/themes/default/images/partner/inextenso_bandeau_bas.jpg');
background-repeat: no-repeat;
background-position: top left;
height:65px;
width:940px;
}
.text-primary{
color:#004489;
}