odea/application/modules/frontend/controllers/EnrichissementController.php

139 lines
3.8 KiB
PHP
Raw Normal View History

2012-02-15 12:46:40 +00:00
<?php
class EnrichissementController extends Zend_Controller_Action
{
public function init()
{
$this->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);
2012-02-15 12:56:55 +00:00
$config = Zend_Registrey::get('configuration');
$path = realpath($config->path->data).'/clients';
2012-02-15 12:46:40 +00:00
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);
}
}
2012-02-21 09:38:04 +00:00
/**
* Enregistrement de la commande pour l'ennrichissement
*/
public function commandeAction()
{
2012-02-22 09:30:25 +00:00
$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);
//Actualisation du comptage
require_once 'Scores/Ciblage.php';
$ciblage = new Ciblage($structure);
$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);
2012-02-21 09:38:04 +00:00
}
2012-02-22 11:38:57 +00:00
/**
* Demande de référence pour l'enrichissement
*/
public function referenceAction()
{
$this->_helper->layout()->disableLayout();
}
2012-02-15 12:46:40 +00:00
}