diff --git a/application/modules/achatclient/controllers/IndexController.php b/application/modules/achatclient/controllers/IndexController.php index 1f3a9335c..2167750fa 100644 --- a/application/modules/achatclient/controllers/IndexController.php +++ b/application/modules/achatclient/controllers/IndexController.php @@ -18,6 +18,8 @@ class Achatclient_IndexController extends Zend_Controller_Action protected $maxcredit=2000; + protected $libdroits = 'searchent'; + public function init() { if (Zend_Registry::isRegistered('logger')) { @@ -26,7 +28,7 @@ class Achatclient_IndexController extends Zend_Controller_Action $autoloader = Zend_Loader_Autoloader::getInstance(); // --- Theme $this->theme = Zend_Registry::get('theme'); - $request = $this->getRequest(); + $this->view->title='Votre compte crédits en ligne'; require_once 'Scores/WsScores.php'; } @@ -35,40 +37,97 @@ class Achatclient_IndexController extends Zend_Controller_Action */ public function indexAction() { + //Validation des droits $user = new Scores_Utilisateur(); - $ok=$user->checkperm('searchent'); + $ok=$user->checkperm($this->libdroits); if(!$ok){ $this->redirect('/'); } $ws = new WsScores(); $customer_credit = $ws->getCredit(); + $infos=array('user' => $user,'wscredit' => $customer_credit,'tranches' => $this->tranches); if(intval($customer_credit)>$this->maxcredit){ $this->view->msg='Vous détenez déjà le plafond de crédits autorisé.'; + return; } - $infos=array('user' => $user,'wscredit' => $customer_credit); - $this->view->infos=$infos; - var_dump($infos);die; - $this->logger->info(print_r($infos,1)); - if ($infos === false) { + $this->logger->info(print_r($user,1)); + if ($customer_credit === false and false) { $this->forward('soap', 'error'); } - //Paybox - Zend_Loader::loadClass('Paybox_System'); - $paybox = new \Paybox\System(false); - $paybox->setUrlPaiement(); - $paybox->setEmail($row->email); - $paybox->setReference($cmdId); - $paybox->setMontant($this->montant); - $paybox->setUrlRepondreA("http://".$request->getHttpHost()."/report/checkpmt"); - $paybox->setUrlParameters("http://".$request->getHttpHost()."/report/retour"); - $paybox->calculateHMAC(); + //Récupération des Parametres + $infos=array('user' => $user,'wscredit' => intval($customer_credit),'tranches' => $this->tranches); + //var_dump($infos);die; + $this->view->infos=$infos; + $this->view->submitValue='Commander'; + } + public function paiementAction() + { + //Validation + $request = $this->getRequest(''); + $nb_credit=$request->getParam('nb_credit'); + if(intval($nb_credit)==0){ + $this->error(__LINE__); + } + if(!isset($this->tranches[$nb_credit])){ + $this->error(__LINE__); + } + $user = new Scores_Utilisateur(); + $ok=$user->checkperm($this->libdroits); + if(!$ok){ + $this->error(__LINE__); + } + //Parametrage + + $pbparam=array(); + $pbparams['cmdId']=implode('#',array($user->identity->id,time())); + $pbparams['email']=$user->identity->email; + $pbparams['montant']=$this->tranches[$nb_credit]['montant']/100; + $pbparams['montantht']=$this->tranches[$nb_credit]['montantht']/100; + $pbparams['tva']=$this->tranches[$nb_credit]['tva']/100; + $ws = new WsScores(); + //$customer_credit = $ws->addCredit(); + + /* + $this->view->Siren = isset($session->CmdSiren)?$session->CmdSiren:'000000000'; + $this->view->RaisonSociale = isset($session->CmdRaisonSociale)?$session->CmdRaisonSociale:'testdev'; + $this->view->AdresseL1 = isset($session->CmdAdresseL1)?$session->CmdAdresseL1:''; + $this->view->AdresseL2 = isset($session->CmdAdresseL2)?$session->CmdAdresseL2:''; + $this->montantht=20; + $this->montant=20; + $this->tva=0; + //Lire la bdd + //$commandM = new Application_Model_Command(); + //$row = $commandM->fetchRow('cmdId="'.$cmdId.'"'); + + $this->view->montant = $this->montantht." € HT" . " (".$this->montant." € TTC)"; + + $data = array( + 'mt' => $this->montantht, + 'tax' => $this->tva, + ); + //$commandM->update($data, 'id='.$row->id);*/ + //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']); + //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->PayboxUrl = $paybox->getFormUrl(); $this->view->PayboxValues = $paybox->getFormParameters(); - //$pb=new Paybox_System('test'); - //var_dump($pb); - } + } + public function pbanswer(){ + echo 'thanks';die; + } /** * Sélection du mode de paiement */ @@ -130,6 +189,9 @@ class Achatclient_IndexController extends Zend_Controller_Action } } + private function error($ligne=0,$message=""){ + echo $ligne;die; + } } ?> diff --git a/application/modules/achatclient/views/default/scripts/index/index.phtml b/application/modules/achatclient/views/default/scripts/index/index.phtml index 2b1035556..8a8ad30aa 100644 --- a/application/modules/achatclient/views/default/scripts/index/index.phtml +++ b/application/modules/achatclient/views/default/scripts/index/index.phtml @@ -1,30 +1,33 @@ +
+Le compte =isset($this->infos['user']->identity->username)?$this->infos['user']->identity->username:""?> détient actuellement =intval($this->infos['wscredit'])?> crédits.
+=$this->msg?>
+