Changeset 93027 in spip-zone


Ignore:
Timestamp:
Nov 20, 2015, 5:35:55 PM (4 years ago)
Author:
teddy.spip@…
Message:

Indentation du code et warnings en moins

Location:
_plugins_/spip_proprietaire/spip_3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip_proprietaire/spip_3/balise/proprietaire.php

    r49596 r93027  
    11<?php
    2 if (!defined("_ECRIRE_INC_VERSION")) return;
    32
    4 function balise_PROPRIETAIRE($p) {
    5         spip_proprio_charger_toutes_les_langues();
    6         return calculer_balise_dynamique($p,PROPRIETAIRE,array());
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4    return;
    75}
    86
    9 function balise_PROPRIETAIRE_dyn($wich='', $who='', $separator='<br />') {
    10         include_spip('inc/presentation');
    11         $conf = spip_proprio_recuperer_config();
    12         static $spip_proprio_no_config = false;
    13         if (is_null($conf)) {
    14                 include_spip('inc/autoriser');
    15                 if ($spip_proprio_no_config===false && autoriser('ecrire')) {
    16                         $div = propre( _T('proprietaire:pas_config', array(
    17                                 'url_config' => generer_url_ecrire('spip_proprio')
    18                         )) );
    19                         echo $div;
    20                         $spip_proprio_no_config = true;
    21                 }
    22                 return;
    23         }
     7function balise_PROPRIETAIRE($p)
     8{
     9    spip_proprio_charger_toutes_les_langues();
    2410
    25         $nb = '&nbsp;';
    26         $div = '';
    27 
    28         if (isset($conf[$wich])) $div = $conf[$wich];
    29         else switch($wich){
    30                 case 'footer':
    31                 case 'copyright':
    32                         $nom_site = typo($conf['proprietaire_nom'])
    33                                 .( strlen($conf['adresse_pays']) ? ' - '.$conf['adresse_pays'] : '');
    34                         if ($wich == 'footer') $div .= '<small>';
    35                         $div .= _T('proprietaire:copyright_info', array(
    36                                 'nom_site' => $nom_site,
    37                                 'date' => ( strlen($conf['copyright_annee']) ? $conf['copyright_annee'].'-' : '').date("Y"),
    38                         ));
    39                         if (strlen($conf['copyright_complement']))
    40                                 $div .= $separator.typo($conf['copyright_complement']);
    41                         if (strlen($conf['copyright_comment']))
    42                                 $div .= $separator.typo($conf['copyright_comment']);
    43                         if ($wich == 'footer') $div .= '</small>';
    44                         break;
    45                 case 'googlemap_string':
    46                         if ($google = make_google_map_proprietaire($conf)) $div .= $google;
    47                         break;
    48                 case 'vcard' :
    49                         $div .= propre( _T('proprietaire:vcard_info', array(
    50                                 'vcard_url'=>url_absolue(generer_url_public('vcard')),
    51                                 'vcard_url_download'=>url_absolue(generer_url_public('vcard','telechargement=oui')),
    52                         )));
    53                         break;
    54                 case 'cartes_visite' :
    55                         $cartes_visite_urls = array(
    56                                 'classique'=>url_absolue(generer_url_public('carte_visite')),
    57                                 'complete'=>url_absolue(generer_url_public('carte_visite','type=site')),
    58                                 'responsable'=>url_absolue(generer_url_public('carte_visite','type=chef')),
    59                                 'administrateur'=>url_absolue(generer_url_public('carte_visite','type=admin')),
    60                         );
    61                         if ( isset($GLOBALS['meta']['email_webmaster']) AND strlen($GLOBALS['meta']['email_webmaster']) )
    62                                 $cartes_visite_urls['webmaster'] = url_absolue(generer_url_public('carte_visite','type=webmaster'));
    63                         $div .= propre( _T('proprietaire:carte_visite_info', $cartes_visite_urls) );
    64                         break;
    65                 case 'business_cards' :
    66                         $div .= propre( _T('proprietaire:business_cards') );
    67                         $cartes_visite_urls = array(
    68                                 'classique'=>url_absolue(generer_url_public('carte_visite')),
    69                                 'complete'=>url_absolue(generer_url_public('carte_visite','type=site')),
    70                                 'responsable'=>url_absolue(generer_url_public('carte_visite','type=chef')),
    71                                 'administrateur'=>url_absolue(generer_url_public('carte_visite','type=admin')),
    72                         );
    73                         if ( isset($GLOBALS['meta']['email_webmaster']) AND strlen($GLOBALS['meta']['email_webmaster']) )
    74                                 $cartes_visite_urls['webmaster'] = url_absolue(generer_url_public('carte_visite','type=webmaster'));
    75                         $div .= propre( _T('proprietaire:carte_visite_info', $cartes_visite_urls) );
    76                         $div .= propre( _T('proprietaire:vcard_info', array(
    77                                 'vcard_url'=>url_absolue(generer_url_public('vcard')),
    78                                 'vcard_url_download'=>url_absolue(generer_url_public('vcard','telechargement=oui')),
    79                         )));
    80                         break;
    81                 case 'carte_visite' :
    82                 case 'carte_visite_image' :
    83                         $contexte = $conf;
    84                         if (strlen($who)){
    85                                 if (in_array(trim($who), array('admin', 'administrateur', 'administration')))
    86                                         $who = 'admin';
    87                                 elseif (in_array(trim($who), array('webmaster', 'webmestre')))
    88                                         $who = 'webmaster';
    89                                 elseif (in_array(trim($who), array('responsable', 'boss', 'chef')))
    90                                         $who = 'chef';
    91                         }
    92                         $contexte['who'] = $who;
    93                         if ( $wich == 'carte_visite_image' )
    94                                 $contexte['type'] = 'image';
    95                         $div .= recuperer_fond("modeles/carte_visite", $contexte);
    96                         break;
    97                 case 'googlemap' :
    98                         if (!strlen($who)) $who = 'proprietaire';
    99                         $contexte['googlemap_string'] = make_google_map_proprietaire($conf, $who);
    100                         $div .= recuperer_fond("modeles/noisette_googlemap", $contexte);
    101                         break;
    102                 case 'logo' :
    103                 default :
    104                         $contexte = $conf;
    105                         $contexte['separator'] = $separator;
    106                         if ($wich == 'logo') $contexte['logo'] = 'oui';
    107                         $div .= recuperer_fond("modeles/noisette_proprietaire", $contexte);
    108                         break;
    109         }
    110 
    111         echo $div;
     11    return calculer_balise_dynamique($p, 'PROPRIETAIRE', array());
    11212}
    11313
    114 ?>
     14function balise_PROPRIETAIRE_dyn($wich = '', $who = '', $separator = '<br />')
     15{
     16    include_spip('inc/presentation');
     17    $conf = spip_proprio_recuperer_config();
     18    static $spip_proprio_no_config = false;
     19    if (is_null($conf)) {
     20        include_spip('inc/autoriser');
     21        if ($spip_proprio_no_config === false && autoriser('ecrire')) {
     22            $div = propre(_T('proprietaire:pas_config', array(
     23                'url_config' => generer_url_ecrire('spip_proprio'),
     24            )));
     25            echo $div;
     26            $spip_proprio_no_config = true;
     27        }
     28
     29        return;
     30    }
     31
     32    $nb = '&nbsp;';
     33    $div = '';
     34
     35    if (isset($conf[$wich])) {
     36        $div = $conf[$wich];
     37    } else {
     38        switch ($wich) {
     39        case 'footer':
     40        case 'copyright':
     41            $nom_site = typo($conf['proprietaire_nom'])
     42                .((isset($conf['adresse_pays']) and strlen($conf['adresse_pays'])) ? ' - '.$conf['adresse_pays'] : '');
     43            if ($wich == 'footer') {
     44                $div .= '<small>';
     45            }
     46            $div .= _T('proprietaire:copyright_info', array(
     47                'nom_site' => $nom_site,
     48                'date' => ((isset($conf['copyright_annee']) and strlen($conf['copyright_annee'])) ? $conf['copyright_annee'].'-' : '').date('Y'),
     49            ));
     50            if (isset($conf['copyright_complement']) and strlen($conf['copyright_complement'])) {
     51                $div .= $separator.typo($conf['copyright_complement']);
     52            }
     53            if (isset($conf['copyright_comment']) and strlen($conf['copyright_comment'])) {
     54                $div .= $separator.typo($conf['copyright_comment']);
     55            }
     56            if ($wich == 'footer') {
     57                $div .= '</small>';
     58            }
     59            break;
     60        case 'googlemap_string':
     61            if ($google = make_google_map_proprietaire($conf)) {
     62                $div .= $google;
     63            }
     64            break;
     65        case 'vcard' :
     66            $div .= propre(_T('proprietaire:vcard_info', array(
     67                'vcard_url' => url_absolue(generer_url_public('vcard')),
     68                'vcard_url_download' => url_absolue(generer_url_public('vcard', 'telechargement=oui')),
     69            )));
     70            break;
     71        case 'cartes_visite' :
     72            $cartes_visite_urls = array(
     73                'classique' => url_absolue(generer_url_public('carte_visite')),
     74                'complete' => url_absolue(generer_url_public('carte_visite', 'type=site')),
     75                'responsable' => url_absolue(generer_url_public('carte_visite', 'type=chef')),
     76                'administrateur' => url_absolue(generer_url_public('carte_visite', 'type=admin')),
     77            );
     78            if (isset($GLOBALS['meta']['email_webmaster']) and strlen($GLOBALS['meta']['email_webmaster'])) {
     79                $cartes_visite_urls['webmaster'] = url_absolue(generer_url_public('carte_visite', 'type=webmaster'));
     80            }
     81            $div .= propre(_T('proprietaire:carte_visite_info', $cartes_visite_urls));
     82            break;
     83        case 'business_cards' :
     84            $div .= propre(_T('proprietaire:business_cards'));
     85            $cartes_visite_urls = array(
     86                'classique' => url_absolue(generer_url_public('carte_visite')),
     87                'complete' => url_absolue(generer_url_public('carte_visite', 'type=site')),
     88                'responsable' => url_absolue(generer_url_public('carte_visite', 'type=chef')),
     89                'administrateur' => url_absolue(generer_url_public('carte_visite', 'type=admin')),
     90            );
     91            if (isset($GLOBALS['meta']['email_webmaster']) and strlen($GLOBALS['meta']['email_webmaster'])) {
     92                $cartes_visite_urls['webmaster'] = url_absolue(generer_url_public('carte_visite', 'type=webmaster'));
     93            }
     94            $div .= propre(_T('proprietaire:carte_visite_info', $cartes_visite_urls));
     95            $div .= propre(_T('proprietaire:vcard_info', array(
     96                'vcard_url' => url_absolue(generer_url_public('vcard')),
     97                'vcard_url_download' => url_absolue(generer_url_public('vcard', 'telechargement=oui')),
     98            )));
     99            break;
     100        case 'carte_visite' :
     101        case 'carte_visite_image' :
     102            $contexte = $conf;
     103            if (strlen($who)) {
     104                if (in_array(trim($who), array('admin', 'administrateur', 'administration'))) {
     105                    $who = 'admin';
     106                } elseif (in_array(trim($who), array('webmaster', 'webmestre'))) {
     107                    $who = 'webmaster';
     108                } elseif (in_array(trim($who), array('responsable', 'boss', 'chef'))) {
     109                    $who = 'chef';
     110                }
     111            }
     112            $contexte['who'] = $who;
     113            if ($wich == 'carte_visite_image') {
     114                $contexte['type'] = 'image';
     115            }
     116            $div .= recuperer_fond('modeles/carte_visite', $contexte);
     117            break;
     118        case 'googlemap' :
     119            if (!strlen($who)) {
     120                $who = 'proprietaire';
     121            }
     122            $contexte['googlemap_string'] = make_google_map_proprietaire($conf, $who);
     123            $div .= recuperer_fond('modeles/noisette_googlemap', $contexte);
     124            break;
     125        case 'logo' :
     126        default :
     127            $contexte = $conf;
     128            $contexte['separator'] = $separator;
     129            if ($wich == 'logo') {
     130                $contexte['logo'] = 'oui';
     131            }
     132            $div .= recuperer_fond('modeles/noisette_proprietaire', $contexte);
     133            break;
     134    }
     135    }
     136
     137    echo $div;
     138}
  • _plugins_/spip_proprietaire/spip_3/prive/squelettes/contenu/spip_proprio_tech_fonctions.php

    r60914 r93027  
    11<?php
    2 if (!defined("_ECRIRE_INC_VERSION")) return;
     2
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4    return;
     5}
    36//ini_set('display_errors', 1);error_reporting(E_ALL);
    47
    5 function spip_proprio_exporter(){
    6         $ok_export = _request('do_proprio_export');
    7         if (empty($ok_export) || $ok_export!='oui') return false;
     8function spip_proprio_exporter()
     9{
     10    $ok_export = _request('do_proprio_export');
     11    if (empty($ok_export) || $ok_export != 'oui') {
     12        return false;
     13    }
    814
    9         $data = array(
    10                 'configuration' => _request('configuration'),
    11                 'languages' => _request('languages'),
    12         );
     15    $data = array(
     16        'configuration' => _request('configuration'),
     17        'languages' => _request('languages'),
     18    );
    1319
    14         $code = '';
    15         if(isset($data['configuration']) && $data['configuration']=='oui') {
    16                 $conf = spip_proprio_recuperer_config();
    17                 $code .= "\n".'$proprio_config = '.var_export($conf, true).";\n";
    18         }
    19         if(isset($data['languages']) && $data['languages']=='oui') {
    20                 $langues_du_site = array('fr');
    21                 foreach(array('langues_utilisees', 'langues_multilingue', 'langue_site') as $ln_meta) {
    22                         if (isset($GLOBALS['meta'][$ln_meta]))
    23                                 $langues_du_site = array_merge($langues_du_site, explode(',',$GLOBALS['meta'][$ln_meta]));
    24                 }
    25                 $langues_du_site = array_unique($langues_du_site);
    26                 foreach($langues_du_site as $ln) {
    27                         spip_proprio_proprietaire_texte('', '', $ln);
    28                         $code .= "\n".'$proprio_i18n_proprietaire_'.$ln.' = '.var_export($GLOBALS['i18n_proprietaire_'.$ln], true).";\n";
    29                 }
    30         }
     20    $code = '';
     21    if (isset($data['configuration']) && $data['configuration'] == 'oui') {
     22        $conf = spip_proprio_recuperer_config();
     23        $code .= "\n".'$proprio_config = '.var_export($conf, true).";\n";
     24    }
     25    if (isset($data['languages']) && $data['languages'] == 'oui') {
     26        $langues_du_site = array('fr');
     27        foreach (array('langues_utilisees', 'langues_multilingue', 'langue_site') as $ln_meta) {
     28            if (isset($GLOBALS['meta'][$ln_meta])) {
     29                $langues_du_site = array_merge($langues_du_site, explode(',', $GLOBALS['meta'][$ln_meta]));
     30            }
     31        }
     32        $langues_du_site = array_unique($langues_du_site);
     33        foreach ($langues_du_site as $ln) {
     34            spip_proprio_proprietaire_texte('', '', $ln);
     35            $code .= "\n".'$proprio_i18n_proprietaire_'.$ln.' = '.var_export($GLOBALS['i18n_proprietaire_'.$ln], true).";\n";
     36        }
     37    }
    3138
    32         $code = "// Exportation config SPIP Proprio\n// Site d'origine : ".$GLOBALS['meta']['nom_site']."\n// Cree le : ".date("Y-m-d H:i:s")."\n".$code;
    33         $fichier_dump = 'spiproprio_export_'.date('Ymd').'.php.gz';
    34         $log = ecrire_fichier(_DIR_DUMP.$fichier_dump, '<'."?php\n$code\n?".'>', true);
     39    $code = "// Exportation config SPIP Proprio\n// Site d'origine : ".$GLOBALS['meta']['nom_site']."\n// Cree le : ".date('Y-m-d H:i:s')."\n".$code;
     40    $fichier_dump = 'spiproprio_export_'.date('Ymd').'.php.gz';
     41    $log = ecrire_fichier(_DIR_DUMP.$fichier_dump, '<'."?php\n$code\n?".'>', true);
    3542
    36         if ($log) {
    37                 return _T('spipproprio:ok_export', array('fichier'=>_DIR_DUMP.$fichier_dump));
    38         }
    39         return _T('spipproprio:erreur_export');
     43    if ($log) {
     44        return _T('spipproprio:ok_export', array('fichier' => _DIR_DUMP.$fichier_dump));
     45    }
     46
     47    return _T('spipproprio:erreur_export');
    4048}
    4149
    42 function spip_proprio_importer(){
    43         $ok_import = _request('do_proprio_import');
    44         if (empty($ok_import) || $ok_import!='oui') return false;
     50function spip_proprio_importer()
     51{
     52    $ok_import = _request('do_proprio_import');
     53    if (empty($ok_import) || $ok_import != 'oui') {
     54        return false;
     55    }
    4556
    46         $file = _request('import_archive');
    47         if (is_null($file)) return;
    48         $ok = false;
     57    $file = _request('import_archive');
     58    if (is_null($file)) {
     59        return;
     60    }
     61    $ok = false;
    4962
    50         $archive = _DIR_DUMP.$file;
    51         if (@file_exists($archive) AND $gz = gzopen($archive, "rb")) {
    52                 $php='';
    53             while(!gzeof($gz)) {
    54                 $text = gzgets($gz, 1024);
    55                 if(!substr_count($text, '<?php') && !substr_count($text, '?>'))
    56                         $php .= $text;
    57             }
     63    $archive = _DIR_DUMP.$file;
     64    if (@file_exists($archive) and $gz = gzopen($archive, 'rb')) {
     65        $php = '';
     66        while (!gzeof($gz)) {
     67            $text = gzgets($gz, 1024);
     68            if (!substr_count($text, '<?php') && !substr_count($text, '?>')) {
     69                $php .= $text;
     70            }
     71        }
    5872//          var_export($php); exit;
    59             eval("$php");
    60             if (isset($proprio_config)) {
    61                         include_spip('inc/meta');
    62                         $ok = ecrire_meta(_META_SPIP_PROPRIO, serialize($proprio_config), 'non');
    63                         ecrire_metas();
    64                        
    65                 }
    66                 foreach(explode(',', $GLOBALS['meta']['langues_proposees']) as $ln_spip) {
    67                         $ln_glb = "proprio_i18n_proprietaire_$ln_spip";
    68                         if (isset($$ln_glb)) {
    69                                 $ok = creer_fichier_textes_proprietaire($ln_glb, $ln_spip);
    70                         }
    71                 }
    72         }
     73        eval("$php");
     74        if (isset($proprio_config)) {
     75            include_spip('inc/meta');
     76            $ok = ecrire_meta(_META_SPIP_PROPRIO, serialize($proprio_config), 'non');
     77            ecrire_metas();
     78        }
     79        foreach (explode(',', $GLOBALS['meta']['langues_proposees']) as $ln_spip) {
     80            $ln_glb = "proprio_i18n_proprietaire_$ln_spip";
     81            if (isset($$ln_glb)) {
     82                $ok = creer_fichier_textes_proprietaire($ln_glb, $ln_spip);
     83            }
     84        }
     85    }
    7386
    74         if( $ok ) return _T('spipproprio:ok_import');
    75         else return _T('spipproprio:erreur_import');
     87    if ($ok) {
     88        return _T('spipproprio:ok_import');
     89    } else {
     90        return _T('spipproprio:erreur_import');
     91    }
    7692}
    7793
    78 function liste_proprio_dump() {
    79         $str = '';
    80         $liste_dump = preg_files(_DIR_DUMP,'\.php\.gz?$',50,false);
    81         if ($liste_dump && count($liste_dump))
    82                 foreach($liste_dump as $i=>$file) {
    83                         $filename = substr($file, strrpos($file, '/')+1);
    84                         $filename_short = str_replace('.php.gz', '', $filename);
    85                         $str .= "<option value='$filename'>$filename_short</option>";
    86                 }
    87         return strlen($str) ? $str : 0;
     94function liste_proprio_dump()
     95{
     96    $str = '';
     97    $liste_dump = preg_files(_DIR_DUMP, '\.php\.gz?$', 50, false);
     98    if ($liste_dump && count($liste_dump)) {
     99        foreach ($liste_dump as $i => $file) {
     100            $filename = substr($file, strrpos($file, '/') + 1);
     101            $filename_short = str_replace('.php.gz', '', $filename);
     102            $str .= "<option value='$filename'>$filename_short</option>";
     103        }
     104    }
     105
     106    return strlen($str) ? $str : 0;
    88107}
    89 
    90 ?>
  • _plugins_/spip_proprietaire/spip_3/spip_proprio_fonctions.php

    r60914 r93027  
    11<?php
    2 if (!defined("_ECRIRE_INC_VERSION")) return;
     2
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4    return;
     5}
    36
    47// ---------------------------------------
     
    69// ---------------------------------------
    710
    8 function make_google_map_proprietaire($conf, $who='proprietaire'){
    9         $str = $google_str = '';
    10         if (strlen($conf[$who.'_adresse_rue']))
    11                 $str .= str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_rue']));
    12         if (strlen($conf[$who.'_adresse_code_postal']))
    13                 $str .= ' '.str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_code_postal']));
    14         if (strlen($conf[$who.'_adresse_ville']))
    15                 $str .= ' '.str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_ville']));
    16         if (strlen($str)) {
    17                 $entries = explode(' ', $str);
    18                 foreach($entries as $entry)
    19                         if (strlen($entry)) $google_str .= urlencode($entry).'+';
    20                 $google_str = trim($google_str, '+');
    21                 return $google_str;
    22         }
    23         return false;
     11function make_google_map_proprietaire($conf, $who = 'proprietaire')
     12{
     13    $str = $google_str = '';
     14    if (isset($conf[$who.'_adresse_rue']) and strlen($conf[$who.'_adresse_rue'])) {
     15        $str .= str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_rue']));
     16    }
     17    if (isset($conf[$who.'_adresse_code_postal']) and strlen($conf[$who.'_adresse_code_postal'])) {
     18        $str .= ' '.str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_code_postal']));
     19    }
     20    if (isset($conf[$who.'_adresse_ville']) and strlen($conf[$who.'_adresse_ville'])) {
     21        $str .= ' '.str_replace(array(',', ';', '.', ':', '/'), '', strip_tags($conf[$who.'_adresse_ville']));
     22    }
     23    if (strlen($str)) {
     24        $entries = explode(' ', $str);
     25        foreach ($entries as $entry) {
     26            if (strlen($entry)) {
     27                $google_str .= urlencode($entry).'+';
     28            }
     29        }
     30        $google_str = trim($google_str, '+');
     31
     32        return $google_str;
     33    }
     34
     35    return false;
    2436}
    2537
     
    2840// ---------------------------------------
    2941
    30 function spip_proprio_enregistrer_config($args){
    31         if (!is_array($args)) return;
    32         $mess = array();
    33         $_conf = spip_proprio_recuperer_config();
    34         $conf = $_conf ? array_merge($_conf, $args) : $args;
    35         include_spip('inc/meta');
    36         ecrire_meta(_META_SPIP_PROPRIO, serialize($conf), 'non');
    37         ecrire_metas();
    38         return true;
    39 }
    40 
    41 function spip_proprio_recuperer_config($str=''){
    42         if (!isset($GLOBALS['meta'][_META_SPIP_PROPRIO])) return NULL;
    43         $_conf = unserialize($GLOBALS['meta'][_META_SPIP_PROPRIO]);
    44         if (strlen($str)) {
    45                 if (isset($_conf[$str])) return $_conf[$str];
    46                 return false;
    47         }
    48         return $_conf;
    49 }
    50 
    51 /**
    52  * Choix par defaut des options de presentation pour les formulaires
    53  */
    54 function spip_proprio_form_config() {
    55         global $spip_ecran, $spip_lang, $spip_display;
    56         $config = $GLOBALS['meta'];
    57         $config['lignes'] = ($spip_ecran == "large") ? 8 : 5;
    58         $config['lignes_longues'] = $config['lignes']+15;
    59         $config['afficher_barre'] = $spip_display != 4;
    60         $config['langue'] = $spip_lang;
    61         $config['_browser_caret'] = $GLOBALS['browser_caret'];
    62         return $config;
     42function spip_proprio_enregistrer_config($args)
     43{
     44    if (!is_array($args)) {
     45        return;
     46    }
     47    $mess = array();
     48    $_conf = spip_proprio_recuperer_config();
     49    $conf = $_conf ? array_merge($_conf, $args) : $args;
     50    include_spip('inc/meta');
     51    ecrire_meta(_META_SPIP_PROPRIO, serialize($conf), 'non');
     52    ecrire_metas();
     53
     54    return true;
     55}
     56
     57function spip_proprio_recuperer_config($str = '')
     58{
     59    if (!isset($GLOBALS['meta'][_META_SPIP_PROPRIO])) {
     60        return;
     61    }
     62    $_conf = unserialize($GLOBALS['meta'][_META_SPIP_PROPRIO]);
     63    if (strlen($str)) {
     64        if (isset($_conf[$str])) {
     65            return $_conf[$str];
     66        }
     67
     68        return false;
     69    }
     70
     71    return $_conf;
     72}
     73
     74/**
     75 * Choix par defaut des options de presentation pour les formulaires.
     76 */
     77function spip_proprio_form_config()
     78{
     79    global $spip_ecran, $spip_lang, $spip_display;
     80    $config = $GLOBALS['meta'];
     81    $config['lignes'] = ($spip_ecran == 'large') ? 8 : 5;
     82    $config['lignes_longues'] = $config['lignes'] + 15;
     83    $config['afficher_barre'] = $spip_display != 4;
     84    $config['langue'] = $spip_lang;
     85    $config['_browser_caret'] = $GLOBALS['browser_caret'];
     86
     87    return $config;
    6388}
    6489
     
    6893
    6994/**
    70  * Fonction de gestion des textes proprietaire
    71  */
    72 function spip_proprio_proprietaire_texte($str='', $args=array(), $langdef='fr'){
    73         $souvenir = $GLOBALS['spip_lang'];
    74         $GLOBALS['spip_lang'] = $langdef;
    75        
    76         // Verification que la langue existe
     95 * Fonction de gestion des textes proprietaire.
     96 */
     97function spip_proprio_proprietaire_texte($str = '', $args = array(), $langdef = 'fr')
     98{
     99    $souvenir = $GLOBALS['spip_lang'];
     100    $GLOBALS['spip_lang'] = $langdef;
     101
     102    // Verification que la langue existe
    77103//      $test = _T('proprietaire:exemple');
    78         // Ne fonctionne pas correctement avec '_T', on reprend la traduction pure de SPIP
    79         static $traduire=false ;
    80         if (!$traduire) {
    81                 $traduire = charger_fonction('traduire', 'inc');
    82                 include_spip('inc/lang');
    83         }
    84         $text = $traduire('proprietaire:test_fichier_langue',$GLOBALS['spip_lang']);
    85 
    86         if (!isset($GLOBALS['i18n_proprietaire_'.$langdef])){
    87                 $test = _T('texteslegaux:exemple');
    88                 creer_fichier_textes_proprietaire( $GLOBALS['i18n_texteslegaux_'.$langdef], $langdef );
    89                 $GLOBALS['i18n_proprietaire_'.$langdef] = $GLOBALS['i18n_texteslegaux_'.$langdef];
    90         }
    91         $GLOBALS['spip_lang'] = $souvenir;
    92         return _T('proprietaire:'.$str, $args);
     104    // Ne fonctionne pas correctement avec '_T', on reprend la traduction pure de SPIP
     105    static $traduire = false;
     106    if (!$traduire) {
     107        $traduire = charger_fonction('traduire', 'inc');
     108        include_spip('inc/lang');
     109    }
     110    $text = $traduire('proprietaire:test_fichier_langue', $GLOBALS['spip_lang']);
     111
     112    if (!isset($GLOBALS['i18n_proprietaire_'.$langdef])) {
     113        $test = _T('texteslegaux:exemple');
     114        creer_fichier_textes_proprietaire($GLOBALS['i18n_texteslegaux_'.$langdef], $langdef);
     115        $GLOBALS['i18n_proprietaire_'.$langdef] = $GLOBALS['i18n_texteslegaux_'.$langdef];
     116    }
     117    $GLOBALS['spip_lang'] = $souvenir;
     118
     119    return _T('proprietaire:'.$str, $args);
    93120}
    94121
    95122/**
    96123 * Creation de tous les fichiers de langue 'proprietaire_XX'
    97  * pour toutes les langues utilisees en partie publique
    98  */
    99 function spip_proprio_charger_toutes_les_langues(){
    100         // on force le chargement de proprietaire_XX si present
    101         // pour toutes les langues utilisees en partie publique
    102         $langues_du_site = array('fr');
    103         foreach(array('langues_utilisees', 'langues_multilingue', 'langue_site') as $ln_meta) {
    104                 if (isset($GLOBALS['meta'][$ln_meta]))
    105                         $langues_du_site = array_merge($langues_du_site, explode(',',$GLOBALS['meta'][$ln_meta]));
    106         }
    107         $langues_du_site = array_unique($langues_du_site);
    108         foreach($langues_du_site as $ln) {
    109                 spip_proprio_proprietaire_texte('', '', $ln);
    110         }
    111         return;
    112 }
    113 
    114 function textes_proprietaire( $array=false, $lang=null ){
    115         if (is_null($lang)) $lang = $GLOBALS['spip_lang'];
    116         $globale = 'i18n_proprietaire_'.$lang;
    117 
    118         $ok1 = spip_proprio_proprietaire_texte();
    119         if ($lang != 'fr')
    120                 $ok2 = spip_proprio_proprietaire_texte('', '', $lang);
    121         if (isset($GLOBALS["$globale"]))
    122                 $GLOBALS["$globale"] = array_merge($GLOBALS['i18n_proprietaire_fr'], $GLOBALS["$globale"]);
    123         else
    124                 $GLOBALS["$globale"] = $GLOBALS['i18n_proprietaire_fr'];
    125         if ($array)
    126                 return $GLOBALS["$globale"];
    127         return false;
    128 }
    129 
    130 function charger_textes_proprietaire($bloc=true){
    131         include_spip('inc/presentation');
    132         include_spip('inc/texte');
    133         $div = '';
    134 
    135         $valeurs = array();
    136         $tableau = textes_proprietaire(true);
    137         if (isset($tableau) AND is_array($tableau)) {
    138                 ksort($tableau);
    139                 if($bloc) $div .= debut_cadre_relief('',true,'','','raccourcis');
    140                 $div .= "\n<table class='spip' style='border:0;'>";
    141                 $div .= "\n<tr class='titrem'><th class='verdana1'>"._T('module_raccourci')."</th>\n<th class='verdana2'>"._T('module_texte_affiche')."</th></tr>\n";
    142                 $i = 0;
    143                 foreach ($tableau as $raccourci => $val) {
    144                         $bgcolor = alterner(++$i, 'row_even','row_odd');
    145                         $div .= "\n<tr class='$bgcolor'><td class='verdana2' style='min-width:150px;'>"
    146                                 ."<a href='".generer_url_ecrire('spip_proprio_textes','raccourci='.$raccourci)."' title='"._T('spipproprio:ptexte_cliquez_pour_editer')."'><b>$raccourci</b></td>\n"
    147                                 ."<td id='$raccourci' class='arial2 editable' style='min-width:300px;'>".propre( $val )."</td></tr>";
    148                 }
    149                 $div .= "</table>";
    150                 if ($bloc) $div .= fin_cadre_relief(true);
    151         }
    152         return $div;
    153 }
    154 
    155 function traiter_textes_proprietaire($raccourci, $lang='fr'){
    156         include_spip('inc/texte');
    157         $valeur = _request('value');
    158         $array_langue = textes_proprietaire(true);
     124 * pour toutes les langues utilisees en partie publique.
     125 */
     126function spip_proprio_charger_toutes_les_langues()
     127{
     128    // on force le chargement de proprietaire_XX si present
     129    // pour toutes les langues utilisees en partie publique
     130    $langues_du_site = array('fr');
     131    foreach (array('langues_utilisees', 'langues_multilingue', 'langue_site') as $ln_meta) {
     132        if (isset($GLOBALS['meta'][$ln_meta])) {
     133            $langues_du_site = array_merge($langues_du_site, explode(',', $GLOBALS['meta'][$ln_meta]));
     134        }
     135    }
     136    $langues_du_site = array_unique($langues_du_site);
     137    foreach ($langues_du_site as $ln) {
     138        spip_proprio_proprietaire_texte('', '', $ln);
     139    }
     140
     141    return;
     142}
     143
     144function textes_proprietaire($array = false, $lang = null)
     145{
     146    if (is_null($lang)) {
     147        $lang = $GLOBALS['spip_lang'];
     148    }
     149    $globale = 'i18n_proprietaire_'.$lang;
     150
     151    $ok1 = spip_proprio_proprietaire_texte();
     152    if ($lang != 'fr') {
     153        $ok2 = spip_proprio_proprietaire_texte('', '', $lang);
     154    }
     155    if (isset($GLOBALS["$globale"])) {
     156        $GLOBALS["$globale"] = array_merge($GLOBALS['i18n_proprietaire_fr'], $GLOBALS["$globale"]);
     157    } else {
     158        $GLOBALS["$globale"] = $GLOBALS['i18n_proprietaire_fr'];
     159    }
     160    if ($array) {
     161        return $GLOBALS["$globale"];
     162    }
     163
     164    return false;
     165}
     166
     167function charger_textes_proprietaire($bloc = true)
     168{
     169    include_spip('inc/presentation');
     170    include_spip('inc/texte');
     171    $div = '';
     172
     173    $valeurs = array();
     174    $tableau = textes_proprietaire(true);
     175    if (isset($tableau) and is_array($tableau)) {
     176        ksort($tableau);
     177        if ($bloc) {
     178            $div .= debut_cadre_relief('', true, '', '', 'raccourcis');
     179        }
     180        $div .= "\n<table class='spip' style='border:0;'>";
     181        $div .= "\n<tr class='titrem'><th class='verdana1'>"._T('module_raccourci')."</th>\n<th class='verdana2'>"._T('module_texte_affiche')."</th></tr>\n";
     182        $i = 0;
     183        foreach ($tableau as $raccourci => $val) {
     184            $bgcolor = alterner(++$i, 'row_even', 'row_odd');
     185            $div .= "\n<tr class='$bgcolor'><td class='verdana2' style='min-width:150px;'>"
     186                ."<a href='".generer_url_ecrire('spip_proprio_textes', 'raccourci='.$raccourci)."' title='"._T('spipproprio:ptexte_cliquez_pour_editer')."'><b>$raccourci</b></td>\n"
     187                ."<td id='$raccourci' class='arial2 editable' style='min-width:300px;'>".propre($val).'</td></tr>';
     188        }
     189        $div .= '</table>';
     190        if ($bloc) {
     191            $div .= fin_cadre_relief(true);
     192        }
     193    }
     194
     195    return $div;
     196}
     197
     198function traiter_textes_proprietaire($raccourci, $lang = 'fr')
     199{
     200    include_spip('inc/texte');
     201    $valeur = _request('value');
     202    $array_langue = textes_proprietaire(true);
    159203//      $valeur = propre( $valeur );
    160         if (strlen($valeur)) $array_langue[$raccourci] = $valeur;
    161         elseif (isset($array_langue[$raccourci])) unset($array_langue[$raccourci]);
    162         if ($ok = creer_fichier_textes_proprietaire($array_langue, $lang))
    163                 return $valeur;
    164         return false;
    165 }
    166 
    167 function creer_fichier_textes_proprietaire($array_langue, $lang='fr'){
    168         $file = 'proprietaire_'.$lang;
    169         $globale = 'i18n_proprietaire_'.$lang;
    170         if ( !file_exists( find_in_path('lang/'.$file) ) ){
    171                 include_spip('inc/flock');
    172                 $contenu = var_export($array_langue, true);
    173                 $contenu_final = '<'."?php\n\$GLOBALS['$globale'] = $contenu;\n?".'>';
    174                 $dir = _DIR_PLUGIN_SPIP_PROPRIO;
    175                 $a = ecrire_fichier(
    176                         ($dir[strlen($dir)-1] == '/' ? substr($dir, 0, -1) : $dir).'/lang/'.$file.'.php', $contenu_final
    177                 );
    178                 return $a;
    179         }
    180 }
    181 
    182 function transformer_raccourci($str){
    183         include_spip('spip_proprio_fonctions');
    184         return spip_proprio_formater_nom_fichier($str);
     204    if (strlen($valeur)) {
     205        $array_langue[$raccourci] = $valeur;
     206    } elseif (isset($array_langue[$raccourci])) {
     207        unset($array_langue[$raccourci]);
     208    }
     209    if ($ok = creer_fichier_textes_proprietaire($array_langue, $lang)) {
     210        return $valeur;
     211    }
     212
     213    return false;
     214}
     215
     216function creer_fichier_textes_proprietaire($array_langue, $lang = 'fr')
     217{
     218    $file = 'proprietaire_'.$lang;
     219    $globale = 'i18n_proprietaire_'.$lang;
     220    if (!file_exists(find_in_path('lang/'.$file))) {
     221        include_spip('inc/flock');
     222        $contenu = var_export($array_langue, true);
     223        $contenu_final = '<'."?php\n\$GLOBALS['$globale'] = $contenu;\n?".'>';
     224        $dir = _DIR_PLUGIN_SPIP_PROPRIO;
     225        $a = ecrire_fichier(
     226            ($dir[strlen($dir) - 1] == '/' ? substr($dir, 0, -1) : $dir).'/lang/'.$file.'.php', $contenu_final
     227        );
     228
     229        return $a;
     230    }
     231}
     232
     233function transformer_raccourci($str)
     234{
     235    include_spip('spip_proprio_fonctions');
     236
     237    return spip_proprio_formater_nom_fichier($str);
    185238}
    186239
     
    189242// ----------------------
    190243
    191 /**
     244/*
    192245 * Délimiteurs pour découpage, notamment des contacts
    193246 */
    194247global $spip_proprio_usual_delimiters;
    195 $spip_proprio_usual_delimiters = array(" ", "-", "_", "/", ".","#","\\","@");
     248$spip_proprio_usual_delimiters = array(' ', '-', '_', '/', '.','#','\\','@');
    196249
    197250/**
    198251 * @param string $str La chaîne à analyser
     252 *
    199253 * @return boolean/string Le délimiteur trouvé (en plus grand nombre), FALSE sinon
    200254 */
    201 function spip_proprio_usual_delimiters($str){
    202         global $spip_proprio_usual_delimiters;
    203         $delim = false;
    204         foreach($spip_proprio_usual_delimiters as $delimiter) {
    205                 if (strpos($str, $delimiter)) $delim = $delimiter;
    206         }
    207         return $delim;
    208 }
    209 
    210 /**
    211  * fonction qui transforme les noms de fichiers
     255function spip_proprio_usual_delimiters($str)
     256{
     257    global $spip_proprio_usual_delimiters;
     258    $delim = false;
     259    foreach ($spip_proprio_usual_delimiters as $delimiter) {
     260        if (strpos($str, $delimiter)) {
     261            $delim = $delimiter;
     262        }
     263    }
     264
     265    return $delim;
     266}
     267
     268/**
     269 * fonction qui transforme les noms de fichiers.
     270 *
    212271 * @todo decouper le nom du fichier pour enlever l'extension avant traitement, puis la remettre avant retour
    213272 */
    214 function spip_proprio_formater_nom_fichier($string, $spacer='_') {
    215         $search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[^a-zA-Z0-9]@');
    216         $replace = array ('e','a','i','u','o','c',' ');
    217         $string =  preg_replace($search, $replace, $string);
    218         $string = strtolower($string);
    219         $string = str_replace(" ",$spacer,$string);
    220         $string = preg_replace('#\-+#',$spacer,$string);
    221         $string = preg_replace('#([-]+)#',$spacer,$string);
    222         trim($string,$spacer);
    223         return $string;
    224 }
    225 
    226 function spip_proprio_recuperer_extension($str){
    227         return substr(strrchr($str, '.'), 1);
     273function spip_proprio_formater_nom_fichier($string, $spacer = '_')
     274{
     275    $search = array('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[^a-zA-Z0-9]@');
     276    $replace = array('e','a','i','u','o','c',' ');
     277    $string = preg_replace($search, $replace, $string);
     278    $string = strtolower($string);
     279    $string = str_replace(' ', $spacer, $string);
     280    $string = preg_replace('#\-+#', $spacer, $string);
     281    $string = preg_replace('#([-]+)#', $spacer, $string);
     282    trim($string, $spacer);
     283
     284    return $string;
     285}
     286
     287function spip_proprio_recuperer_extension($str)
     288{
     289    return substr(strrchr($str, '.'), 1);
    228290}
    229291
    230292/**
    231293 * Revue pour autoriser les numéros avec la mention "appel surtaxé"
    232  * Basiquement, on ne re-formate que les chiffres, et on laisse '(+33)' le cas échéant
    233  */
    234 function spip_proprio_formater_telephone($str){
     294 * Basiquement, on ne re-formate que les chiffres, et on laisse '(+33)' le cas échéant.
     295 */
     296function spip_proprio_formater_telephone($str)
     297{
    235298
    236299//echo "entrée dans la fct avec '$str'<br />";
    237300
    238         // on isole ce qu'on considère comme la partie numéro
    239         $numstr = spip_proprio_isoler_telephone($str, false);
     301    // on isole ce qu'on considère comme la partie numéro
     302    $numstr = spip_proprio_isoler_telephone($str, false);
    240303//echo "numéro isolé '$numstr'<br />";
    241304
    242         // on recupère le numéro formaté
    243         $numstr_formated = spip_proprio_isoler_telephone($str);
     305    // on recupère le numéro formaté
     306    $numstr_formated = spip_proprio_isoler_telephone($str);
    244307//echo "numéro formaté '$numstr_formated'<br />";
    245308
    246         $str = str_replace(trim($numstr), $numstr_formated, $str);
     309    $str = str_replace(trim($numstr), $numstr_formated, $str);
    247310//      $str = preg_replace('/[^0-9]/', '', $str);
    248311//      $str = str_replace(array('(+33)',' ','.'), '', $str);
     
    251314
    252315
    253         return $str;
    254 }
    255 
    256 /**
    257  * Ne renvoie que le numéro de tel, sans le +33
     316    return $str;
     317}
     318
     319/**
     320 * Ne renvoie que le numéro de tel, sans le +33.
     321 *
    258322 * @param bool $strip_spaces Doit-on retirer les espaces (non pour la fonction 'spip_proprio_formater_telephone' | oui par defaut)
    259323 */
    260 function spip_proprio_isoler_telephone($str, $strip_spaces=true){
    261         $str = str_replace(array('(33)', '(+33)', '+33'), ' ', $str);
    262         // isoler les chiffres en laissant les espaces internes
    263         $str = trim($str, ' ');
    264         $str = preg_replace('/[^0-9 \-\.\/]/', '', $str);
    265         if ($strip_spaces)
    266                 $str = str_replace(array(' ', '.'), '', $str);
    267         return $str;
     324function spip_proprio_isoler_telephone($str, $strip_spaces = true)
     325{
     326    $str = str_replace(array('(33)', '(+33)', '+33'), ' ', $str);
     327    // isoler les chiffres en laissant les espaces internes
     328    $str = trim($str, ' ');
     329    $str = preg_replace('/[^0-9 \-\.\/]/', '', $str);
     330    if ($strip_spaces) {
     331        $str = str_replace(array(' ', '.'), '', $str);
     332    }
     333
     334    return $str;
    268335}
    269336
     
    291358/**
    292359 * Fonction mettant une apostrophe si nécessaire
    293  * Cette fonction ne traite pas les cas particuliers (nombreux ...) ni les 'h' muet
    294  */
    295 function apostrophe($str='', $article='', $exception=false){
    296         // On retourne direct si non FR
    297         if ($GLOBALS['spip_ang']!='fr') return $article.' '.$str;
    298 
    299         $voyelles = array('a', 'e', 'i', 'o', 'u');
    300         $article = trim($article);
    301 
    302         $str_deb = substr(spip_proprio_formater_nom_fichier($str), 0, 1);
    303         $article_fin = substr($article, -1, 1);
    304 
    305         if (in_array($str_deb, $voyelles) OR $exception)
    306                 return substr($article, 0, strlen($article)-1)."'".$str;
    307         return $article.' '.$str;
    308 }
    309 
    310 function modifier_guillemets($str){
    311         return str_replace("'", '"', $str);
     360 * Cette fonction ne traite pas les cas particuliers (nombreux ...) ni les 'h' muet.
     361 */
     362function apostrophe($str = '', $article = '', $exception = false)
     363{
     364    // On retourne direct si non FR
     365    if ($GLOBALS['spip_ang'] != 'fr') {
     366        return $article.' '.$str;
     367    }
     368
     369    $voyelles = array('a', 'e', 'i', 'o', 'u');
     370    $article = trim($article);
     371
     372    $str_deb = substr(spip_proprio_formater_nom_fichier($str), 0, 1);
     373    $article_fin = substr($article, -1, 1);
     374
     375    if (in_array($str_deb, $voyelles) or $exception) {
     376        return substr($article, 0, strlen($article) - 1)."'".$str;
     377    }
     378
     379    return $article.' '.$str;
     380}
     381
     382function modifier_guillemets($str)
     383{
     384    return str_replace("'", '"', $str);
    312385}
    313386
     
    317390
    318391// Avec l'aide inestimable de Paris-Bayrouth (http://www.paris-beyrouth.org/)
    319 function spip_proprio_image_alpha($img, $alpha='', $src=false){
    320         if (!$alpha OR !strlen($alpha) OR $alpha == '0') return $img;
    321         include_spip("inc/filtres_images");
    322         $image = _image_valeurs_trans($img, "one", "png");
     392function spip_proprio_image_alpha($img, $alpha = '', $src = false)
     393{
     394    if (!$alpha or !strlen($alpha) or $alpha == '0') {
     395        return $img;
     396    }
     397    include_spip('inc/filtres_images');
     398    $image = _image_valeurs_trans($img, 'one', 'png');
    323399//var_export($image);
    324         $img = image_alpha($img, $alpha);
    325         if ($src) return( extraire_attribut($img, 'src') );
    326         return $img;
    327 }
    328 
    329 ?>
     400    $img = image_alpha($img, $alpha);
     401    if ($src) {
     402        return(extraire_attribut($img, 'src'));
     403    }
     404
     405    return $img;
     406}
Note: See TracChangeset for help on using the changeset viewer.