source: spip-zone/_plugins_/ocr/trunk/formulaires/configurer_ocr.php @ 75086

Last change on this file since 75086 was 75086, checked in by lesage.sylvain@…, 8 years ago

Param de config "taille_texte_max" + inutile d'initialiser la config dans ocr_administrations.php

File size: 2.8 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4include_spip('inc/config');
5
6function formulaires_configurer_ocr_charger_dist(){
7        //Recuperation de la configuration
8        $ocr = lire_config('ocr',array());
9
10        /* Valeurs prealablement saisie ou par defaut/d'exemple
11         * -* intervalle de 600s entre les lancements de CRON
12         * -* 5 fichiers analysés par CRON
13         * -* binaire de reconnaissance des caractères : /usr/bin/tesseract
14         * -* options du binaire : -fra (modèle de langue : français)
15         * -* taille maximale du texte inséré dans la base de données
16         * */
17        $valeur = array(
18                'intervalle_cron' =>  $ocr['intervalle_cron'] ? $ocr['intervalle_cron'] : 600,
19                'nb_docs' =>  $ocr['nb_docs'] ? $ocr['nb_docs'] : 5,
20                'ocr_bin' => $ocr['ocr_bin'] ? $ocr['ocr_bin'] : '/usr/bin/tesseract',
21                'ocr_opt' => $ocr['ocr_opt'] ? $ocr['ocr_opt'] : '-fra',
22                'taille_texte_max' => $ocr['taille_texte_max'] ? $ocr['taille_texte_max'] : '50000',
23        );
24        return $valeur;
25}
26function formulaires_configurer_ocr_verifier_dist(){
27        $erreurs = array();
28        //Il faut au moins une seconde
29        if((!_request('intervalle_cron'))||(_request('intervalle_cron') < 1)){
30                $erreurs['intervalle_cron'] = _T('ocr:erreur_intervalle_cron');
31        }
32        //Il faut au moins un document a la fois
33        if((!_request('nb_docs'))||(_request('nb_docs') < 1)){
34                $erreurs['nb_docs'] = _T('ocr:erreur_nb_docs');
35        }
36        //Il faut un nombre positif
37        if((!_request('taille_texte_max'))||(_request('taille_texte_max') < 0)){
38                $erreurs['taille_texte_max'] = _T('ocr:erreur_taille_texte_max');
39        }
40        /**
41         * On teste les binaires
42         */
43        $binaire = 'ocr_bin';
44        /**
45         * Pas de binaire => on doit en avoir un pour récupérer le contenu
46         */
47        if(!_request($binaire)){
48                $erreurs[$binaire] = _T('ocr:erreur_ocr_bin');
49        }else{
50                /**
51                 * On teste avec la commande de base ...
52                 * Le code de retour normal doit être 0
53                 */
54                @exec(_request($binaire),$retour_bin,$retour_bin_int);
55                if($retour_bin_int != 0){
56                        /**
57                         * Sinon on fait un test que le binaire est executable
58                         * Cela nécessite un chemin complet du binaire
59                         */
60                        @exec('test -x '._request($binaire),$retour_bin,$retour_bin_int);
61                        if($retour_bin_int != 0){
62                                $erreurs[$binaire] = _T('ocr:erreur_binaire_indisponible');
63                        }
64                }
65        }
66       
67        if(count($erreurs) > 0){
68                $erreurs['message_erreur'] = _T('ocr:erreur_verifier_configuration');
69        }
70        return $erreurs;
71}
72
73function formulaires_configurer_ocr_traiter_dist(){
74        //Recuperation de la configuration et serialization
75        $ocr = array(
76                'intervalle_cron' => intval(_request('intervalle_cron')),
77                'nb_docs' => intval(_request('nb_docs')),
78                'taille_texte_max' => intval(_request('taille_texte_max')),
79               
80                'ocr_bin' => _request('ocr_bin'),
81                'ocr_opt' => _request('ocr_opt'),
82        );
83        //Insere ou update ?
84        ecrire_config('ocr',$ocr);
85        $res = array('message_ok'=>_T('ocr:message_ok_configuration'));
86        return $res;
87       
88}
89?>
Note: See TracBrowser for help on using the repository browser.