view->headScript()->appendFile('/themes/default/scripts/enrichissement.js', 'text/javascript'); $this->view->headLink()->appendStylesheet('/themes/default/styles/enrichissement.css'); } /** * Enter description here ... */ public function indexAction(){} public function fileformAction() { $this->view->headScript()->appendFile('/themes/default/scripts/jquery.form.js', 'text/javascript'); $this->view->headScript()->appendFile('/themes/default/scripts/jqueryprogressbar.js', 'text/javascript'); $this->view->assign('filesize', ini_get('upload_max_filesize')); } public function fileuploadAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $config = Zend_Registrey::get('configuration'); $path = realpath($config->path->data).'/clients'; if(!file_exists($path)) mkdir($path); if ( isset($_FILES) && count($_FILES)==1 ){ $n = $_FILES['fichier']['name']; $s = $_FILES['fichier']['size']; $tmp_name = $_FILES['fichier']['tmp_name']; $name = $_REQUEST['ref']; $extValide = array('csv'); $extension = strrchr($n,'.'); $extension = substr($extension,1); //@todo : vérifier l'extension du fichier if (move_uploaded_file($tmp_name, $path.'/'.$name.'.'.$extension)){ echo "Uploadé !"; } else { echo "Erreur : ".$_FILES['fichier']['error']; } } } /** * Etat de progression de l'upload du fichier */ public function fileprogressAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $request = $this->getRequest(); $key = $request->getParam('key', ''); if (!empty($key)) { //$rep sera égal à false si la clef n'existe pas dans le cache apc $rep = apc_fetch('upload_'.$key); echo json_encode($rep); } } /** * Enregistrement de la commande pour l'ennrichissement */ public function commandeAction() { $request = $this->getRequest(); $idCriteres = $request->getParam('id', null); //Récupération des critères du ciblage $criteresM = new Table_Criteres(); $criteresRow = $criteresM->find($idCriteres); $criteres = $criteresRow->current(); $structure = json_decode($criteres->criteres, true); //@todo : comment envoyé la structure de la bdd dans fields require_once 'Scores/Field.php'; $field = new Fields(); //Actualisation du comptage require_once 'Scores/Ciblage.php'; $ciblage = new Ciblage($field->getValues()); $infosExtraction = $ciblage->extract(); //Enregistrement du nouveau comptage $data = array( 'idDefinition' => $criteres->id, 'resultat' => $infosExtraction['total'], 'uniteInsee' => $infosExtraction['insee'], 'dateAjout' => date('YmdHis'), ); $comptagesM = new Table_Comptages(); $idComptage = $comptagesM->insert($data); //Récupération des SIRET $data = array( 'idComptage' => $idComptage, 'identifiants' => $infosExtraction['result'], ); $identifiantsM = new Table_EnrichissementIdentifiants(); $idIdentifiant = $identifiantsM->insert($data); //Mise en attente de l'enrichissement $idProfil = $request->getParam('profil'); //Vérifier les profils du client //Attention calcul uniteInsee réelle //car si donnée insee alors toutes les lignes doivent être comptés en unité insee $data = array( 'idIdentifiant' => $idIdentifiant, 'idProfil' => $idProfil, 'fichier' => '', 'nbLigneTotales' => $infosExtraction['total'], 'nbLigneTraites' => '', 'uniteInsee' => $infosExtraction['insee'], 'error' => '', 'dateAdded' => date('YmdHis'), ); $commandesM = new Table_EnrichissementCommandes(); $commandesM->insert($data); } /** * Demande de référence pour l'enrichissement */ public function referenceAction() { $this->_helper->layout()->disableLayout(); $request = $this->getRequest(); $idCritere = $request->getParam('id', null); $comptagesM = new Table_Comptages(); $sql = $comptagesM->select() ->where('idDefinition = ?', $idCritere) ->order('dateAjout DESC') ->limit(1); $comptages = $comptagesM->fetchAll($sql); if ( $comptages->count()>0 ) { $item = $comptages[0]; //Si le ciblage n'est pas du jour, refaire le comptage par rapport aux critères de ciblage $this->view->assign('resultat', $item['resultat']); $this->view->assign('uniteInsee', $item['uniteInsee']); //Récupération du profil de l'utilisateur //Calcul du prix $this->view->assign('id', $item['id']); } } }