Ejemplo n.º 1
0
//	de commande 																//
//             																	//
//  1. une requête récupère le nombre de taxon par projet à produire			//
//  2. Vérification des taxons déjà produits									//
//  3. fonction de production de carte.											//
//             																	//
//  Version 1.00  05/10/2015 - FCBN		                                        //
//------------------------------------------------------------------------------//
// ------------------------------------------------------------------------------ INIT.
include "fonctions.inc.php";
include "commun.inc.php";
// ------------------------------------------------------------------------------ VAR.
$mode = 'masse';
$flag = 0;
// ------------------------------------------------------------------------------ Core
/* $req_nb_taxon rassemble les requête de récupération du nombre de taxon par projet */
foreach ($req_nb_taxon as $projet => $requete) {
    /*récupération de la liste des taxons*/
    $table = query_bdd($requete, 1);
    echo "nombre total de taxons : " . $table[0] . "\n";
    /*test si toutes les cartes ont été produites ou non*/
    $result_verif = verif($projet, $output);
    echo "carte pour le projet" . $projet . " : " . $result_verif[1] . "\n";
    if ($result_verif[1] < $table[0] and $flag == 0) {
        $projet_todo = $projet;
        $flag = 1;
    }
}
echo "projet en cours de production : " . $projet_todo . "<BR>";
/*Toute la gestion de la production de la carte est géré dans cette fonction*/
prod_cart($projet_todo, $projection, $mode, $input, $output);
Ejemplo n.º 2
0
function prod_cart($projet, $projection, $mode, $nb_carte)
{
    /*FONCTION DE PRODUCTION DE CARTE EN MASSE*/
    include "_INCLUDE/commun.inc.php";
    if (securite($projet) == "ok") {
        /*création ou test du fichier de log*/
        $result_verif = verif($projet, $output);
        /*Affichage*/
        if ($mode == "html") {
            echo "nb carte produites : " . $result_verif[1] . "<BR>";
        } else {
            echo "";
        }
        if ($mode == "html") {
            echo "PROJET : " . $projet . "<BR>";
        } else {
            echo "";
        }
        /* $req_liste_taxon récupère la liste de taxon en fonction du projet*/
        $query = $req_liste_taxon[$projet] . " " . $result_verif[0];
        echo "{$query}<BR>";
        $reponse = query_bdd($query, 2);
        $table = $reponse[0];
        $nom = $reponse[1];
        /*Construction de l'URL utilisé pour produire la carte*/
        /*$URL initialisé dans .sql_config.inc*/
        $URL = $URL_qgisserver;
        $URL .= "{$projet}.out.qgs";
        $URL .= $source[$projet] . $layer[$projet];
        /*Affichage*/
        if ($mode == "html") {
            $nb_carte_prod = $nb_carte;
        } else {
            $nb_carte_prod = count($table);
        }
        if (!empty($table[0])) {
            for ($i = 0; $i < $nb_carte_prod; $i++) {
                /*Création du nouveau fichier projet avec le taxon à interroger*/
                $file = file_get_contents("{$input}/{$projet}.qgs");
                $texte = str_replace("100024", $table[$i], $file);
                file_put_contents("{$input}/{$projet}.out.qgs", $texte);
                /*Soucis d'encodage*/
                $espece = nettoyerChaine($nom[$i]);
                $espece = utf8_decode($espece);
                /*Affichage*/
                if ($mode == "html") {
                    echo "{$table[$i]}<BR>";
                } else {
                    echo "Taxon {$table[$i]} \n ";
                }
                if ($mode == "html") {
                    echo "{$URL}<BR>";
                } else {
                    echo "{$URL}\n";
                }
                /*Enregistrement de l'image*/
                if (file_get_contents($URL)) {
                    $taxprod = "ok";
                    $img = file_get_contents($URL);
                    file_put_contents("{$output}/{$projet}/" . $espece . "_" . $short[$projet] . "_" . $table[$i] . ".jpg", $img);
                    imagethumb("{$output}/{$projet}/" . $espece . "_" . $short[$projet] . "_" . $table[$i] . ".jpg", "{$output}/{$projet}/" . $espece . "_" . $short[$projet] . "_thumb_" . $table[$i] . ".jpg", 400);
                } else {
                    $taxprod = "no";
                }
                /*Nettoyage et log*/
                unlink("{$input}/{$projet}.out.qgs");
                if ($taxprod == "ok") {
                    file_put_contents("{$output}/{$projet}/cartes_taxons_produit_{$projet}.txt", "'{$table[$i]}'\n", FILE_APPEND);
                }
                /*activation affichage*/
                $buffer = strlen($table[$i]) + 3;
                flush_buffers($buffer);
            }
        }
    }
}