Changeset 111408 in spip-zone


Ignore:
Timestamp:
Aug 23, 2018, 7:11:11 PM (2 years ago)
Author:
eric@…
Message:

Mise à jour de la démo qui permet de voir pour cahque code spip quelle norme est utilisée pour son code.

Location:
_plugins_/isocode/trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/isocode/trunk/demo/isocode.html

    r100264 r111408  
    11#CACHE{0}
    2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
     2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
     3<html xml:lang="#LANG" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml">
     4<head>
     5        <meta http-equiv='Content-Type' content='text/html; charset=#CHARSET' />
     6        <title>ISOCODE - Demo</title>
     7        [<link rel="stylesheet" href="(#CSS{demo/demo.css})" type="text/css" />]
     8        #INSERT_HEAD
     9</head>
    410
    511<body dir="#LANG_DIR">
    612<div id="container">
    7 <?php
    8 ?>
     13        <div id="header">
     14                <h1>
     15                        <img height="48" width="48" title="Plugin Isocode" alt="Plugin Isocode" src="#CHEMIN{isocode_logo-64.png}"/>
     16                        PLUGIN ISOCODE[&nbsp;((#PLUGIN{ISOCODE, version}))]
     17                </h1>
     18        </div>
    919
    10         <h1>SERVICE SPIP</h1>
     20        <div id="wrapper">
     21                <div id="content">
     22                        <h2 class="h2">VERIFICATION DES CODES DE LANGUE SPIP</h2>
     23                        <B_langues>
     24                        <table class="spip">
     25                                <thead>
     26                                        <tr>
     27                                                <th>Code SPIP</th>
     28                                                <th>Nom SPIP</th>
     29                                                <th>Code 639-1</th>
     30                                                <th>Code 639-3</th>
     31                                                <th>Code 639-5</th>
     32                                                <th>Nom référence EN</th>
     33                                                <th>Hierarchie</th>
     34                                        </tr>
     35                                </thead>
     36                                <tbody>
     37                        <BOUCLE_langues(DATA) {source table, #VAL|isocode_verifier_codes_spip} {par cle}>
     38                                        <tr class="[row_(#COMPTEUR_BOUCLE|alterner{odd,even})]">
     39                                                <td[ (#VALEUR{erreur}|oui)class="erreur"]>#CLE</td>
     40                                                <td>#VALEUR{nom_spip}</td>
     41                                                <td[ (#VALEUR{type_code}|=={639-1}|oui)class="code_ok"]>#VALEUR{code_639_1, ''}</td>
     42                                                <td[ (#VALEUR{type_code}|=={639-3}|oui)class="code_ok"]>#VALEUR{code_639_3, ''}</td>
     43                                                <td[ (#VALEUR{type_code}|=={639-5}|oui)class="code_ok"]>#VALEUR{code_639_5, ''}</td>
     44                                                <td>#VALEUR{ref_name, #VALEUR{label_en, ''}}</td>
     45                                                <td>#VALEUR{hierarchy, ''}</td>
     46                                        </tr>
     47                        </BOUCLE_langues>
     48                                </tbody>
     49                        </table>
     50                        </B_langues>
     51                </div>
     52        </div>
    1153
    12         <h2>Verifier les codes</h2>
    13 <?php
    14         $codes = isocode_verifier_codes_spip();
    15         if (isset($codes['ok']['iso6395'])) var_dump('SPIP 5', count($codes['ok']['iso6395']), $codes['ok']['iso6395']);
    16         if (isset($codes['nok']['iso6391'])) var_dump('SPIP 1', count($codes['nok']['iso6391']), $codes['nok']['iso6391']);
    17         if (isset($codes['nok']['iso6393'])) var_dump('SPIP 3', count($codes['nok']['iso6393']), $codes['nok']['iso6393']);
    18         if (isset($codes['nok']['spip'])) var_dump('SPIP 0', count($codes['nok']['spip']), $codes['nok']['spip']);
    19 ?>
     54        <div id="navigation">
     55        </div>
     56        <div id="extra">
     57        </div>
     58        <div id="footer">
     59        </div>
    2060
    2161</div>
  • _plugins_/isocode/trunk/demo/isocode_fonctions.php

    r99228 r111408  
    1313 * @return array
    1414 */
    15 function isocode_verifier_codes_spip() {
     15function isocode_erreur_codes_spip() {
    1616
    1717        $codes_verifies = array();
     
    2626                                // un élément dont le code ISO639-1 est égal.
    2727                                $where = array('code_639_1=' . sql_quote($_code));
    28                                 $codes_iso = sql_allfetsel($select, $from, $where);
     28                                $codes_iso = sql_fetsel($select, $from, $where);
    2929                                if ($codes_iso) {
    3030                                        $codes_verifies['ok']['iso6391'][$_code] = $codes_iso;
     
    6161 * @return array
    6262 */
     63function isocode_verifier_codes_spip() {
     64
     65        $codes_verifies = array();
     66
     67        include_spip('inc/lang_liste');
     68        if ($GLOBALS['codes_langues']) {
     69                foreach ($GLOBALS['codes_langues'] as $_code => $_nom) {
     70                        $from = array('spip_iso639codes');
     71                        $select = array('*');
     72                        $default = array('nom_spip' => $_nom, 'type_code' => '', 'erreur' => false);
     73                        if (strlen($_code) == 2) {
     74                                // Si le code a une taille de 2 caractères on recherche de suite dans la table iso639codes
     75                                // un élément dont le code ISO639-1 est égal.
     76                                $where = array('code_639_1=' . sql_quote($_code));
     77                                $codes_iso = sql_fetsel($select, $from, $where);
     78                                if ($codes_iso) {
     79                                        $codes_verifies[$_code] = array_merge($default, $codes_iso);
     80                                        $codes_verifies[$_code]['type_code'] = '639-1';
     81                                } else {
     82                                        $codes_verifies[$_code]['erreur'] = true;
     83                                }
     84                        } elseif (strlen($_code) == 3) {
     85                                // Si le code a une taille de 3 caractères on recherche :
     86                                // - dans la table iso639codes un élément dont le code ISO639-3 est égal.
     87                                // - et sinon dans la table iso639families un élément dont le code ISO639-5 est égal.
     88                                $where = array('code_639_3=' . sql_quote($_code));
     89                                $codes_iso = sql_fetsel($select, $from, $where);
     90                                if ($codes_iso) {
     91                                        $codes_verifies[$_code] = array_merge($default, $codes_iso);
     92                                        $codes_verifies[$_code]['type_code'] = '639-3';
     93                                } else {
     94                                        $where = array('code_639_5=' . sql_quote($_code));
     95                                        $code_famille = sql_fetsel($select, array('spip_iso639families'), $where);
     96                                        if ($code_famille) {
     97                                                $codes_verifies[$_code] = array_merge($default, $code_famille);
     98                                                $codes_verifies[$_code]['type_code'] = '639-5';
     99                                        } else {
     100                                                $codes_verifies[$_code]['erreur'] = true;
     101                                        }
     102                                }
     103                        } else {
     104                                $codes_verifies[$_code]['erreur'] = true;
     105                        }
     106                }
     107        }
     108
     109        return $codes_verifies;
     110}
     111
     112
     113/**
     114 * @return array
     115 */
    63116function isocode_verifier_iso639_5() {
    64117
  • _plugins_/isocode/trunk/paquet.xml

    r111402 r111408  
    22        prefix="isocode"
    33        categorie="outil"
    4         version="0.1.3"
     4        version="0.1.4"
    55        etat="dev"
    66        compatibilite="[3.1.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.