Changeset 84132 in spip-zone


Ignore:
Timestamp:
Aug 10, 2014, 4:09:53 PM (5 years ago)
Author:
arthemis78@…
Message:
  • Correction de bugs : recherches abonnées
  • Correction ergonomie : modification du css + affichage (mode verbeux)
Location:
_plugins_/spip-listes/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-listes/trunk/exec/spiplistes_abonnes_tous.php

    r60173 r84132  
    352352} // end spiplistes_cherche_auteur()
    353353
     354function mots_ressemblants($mot, $table_mots, $table_ids='') {
     355
     356        $result = array();
     357
     358        if (!$table_mots) return $result;
     359
     360        $lim = 2;
     361        $nb = 0;
     362        $opt = 1000000;
     363        $mot_opt = '';
     364        $mot = reduire_mot($mot);
     365        $len = strlen($mot);
     366
     367        while (!$nb AND $lim < 10) {
     368                reset($table_mots);
     369                if ($table_ids) reset($table_ids);
     370                while (list(, $val) = each($table_mots)) {
     371                        if ($table_ids) list(, $id) = each($table_ids);
     372                        else $id = $val;
     373                        $val2 = trim($val);
     374                        if ($val2) {
     375                                if (!isset($distance[$id])) {
     376                                        $val2 = reduire_mot($val2);
     377                                        $len2 = strlen($val2);
     378                                        if ($val2 == $mot)
     379                                                $m = -2; # resultat exact
     380                                        else if (substr($val2, 0, $len) == $mot)
     381                                                $m = -1; # sous-chaine
     382                                        else {
     383                                                # distance
     384                                                $m = levenshtein255($val2, $mot);
     385                                                # ne pas compter la distance due a la longueur
     386                                                $m -= max(0, $len2 - $len);
     387                                        }
     388                                        $distance[$id] = $m;
     389                                } else $m = 0;
     390                                if ($m <= $lim) {
     391                                        $selection[$id] = $m;
     392                                        if ($m < $opt) {
     393                                                $opt = $m;
     394                                                $mot_opt = $val;
     395                                        }
     396                                        $nb++;
     397                                }
     398                        }
     399                }
     400                $lim += 2;
     401        }
     402
     403        if (!$nb) return $result;
     404        reset($selection);
     405        if ($opt > -1) {
     406                $moy = 1;
     407                while(list(, $val) = each($selection)) $moy *= $val;
     408                if($moy) $moy = pow($moy, 1.0/$nb);
     409                $lim = ($opt + $moy) / 2;
     410        }
     411        else $lim = -1;
     412
     413        reset($selection);
     414        while (list($key, $val) = each($selection)) {
     415                if ($val <= $lim) {
     416                        $result[] = $key;
     417                }
     418        }
     419        return $result;
     420}
     421
     422// reduit un mot a sa valeur translitteree et en minuscules
     423function reduire_mot($mot) {
     424        return strtr(
     425                        translitteration(trim($mot)),
     426                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
     427                        'abcdefghijklmnopqrstuvwxyz'
     428        );
     429}
     430
     431// ne pas faire d'erreur si les chaines sont > 254 caracteres
     432function levenshtein255 ($a, $b) {
     433        $a = substr($a, 0, 254);
     434        $b = substr($b, 0, 254);
     435        return @levenshtein($a,$b);
     436}
     437
    354438/******************************************************************************************/
    355439/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
  • _plugins_/spip-listes/trunk/inc/spiplistes_api.php

    r65152 r84132  
    2929if(!defined('_ECRIRE_INC_VERSION')) return;
    3030
    31 include_spip ('inc/utils');
    32 include_spip ('inc/filtres');    /* email_valide() */
    33 include_spip ('inc/acces');      /* creer_uniqid() */
     31include_spip('inc/utils');
     32include_spip('inc/filtres');    /* email_valide() */
     33include_spip('inc/acces');      /* creer_uniqid() */
    3434include_spip('inc/charsets');
    3535include_spip('inc/mail');
  • _plugins_/spip-listes/trunk/inc/spiplistes_api_presentation.php

    r60173 r84132  
    302302 */
    303303function spiplistes_boite_raccourcis ($return = false) {
    304 
    305     return recuperer_fond("prive/inclure/boite_raccourcis");
     304        // initialise les options
     305        foreach(array(
     306                        'opt_console_debug'
     307        ) as $key) {
     308                $$key = spiplistes_pref_lire($key);
     309        }
     310       
     311    return recuperer_fond("prive/inclure/boite_raccourcis", array('opt_console_debug' => $opt_console_debug, 'ip_serveur' => $_SERVER['SERVER_ADDR']));
    306312
    307313}
  • _plugins_/spip-listes/trunk/inc/spiplistes_meleuse.php

    r64070 r84132  
    389389                       
    390390                        if($total_abonnes) {
    391                
    392                                 $limit = intval($GLOBALS['meta']['spiplistes_lots']); // nombre de messages envoyes par boucles.       
     391                                // Fix bug : La meleuse tourne en boucle si spiplistes_lots non définie dans les varaibles meta
     392                                if(!isset($GLOBALS['meta']['spiplistes_lots'])) {
     393                                        $GLOBALS['meta']['spiplistes_lots'] = _SPIPLISTES_LOT_TAILLE;
     394                                }
     395                                $limit = intval($GLOBALS['meta']['spiplistes_lots']); // nombre de messages envoyes par boucles.
    393396                               
    394397                                if($is_a_test) {
  • _plugins_/spip-listes/trunk/prive/inclure/boite_raccourcis.html

    r60176 r84132  
    1 
    21#BOITE_OUVRIR{'','raccourcis'}
    32
     
    2322
    2423                        [(#REM)// lecture du journal log]
    25                         [(#INCLURE{fond=prive/inclure/raccourcis_journal})]
     24                        [(#INCLURE{fond=prive/inclure/raccourcis_journal, opt_console_debug=#OPT_CONSOLE_DEBUG, ip_serveur=#IP_SERVEUR})]
    2625
    2726]
     
    3029                |icone_horizontale{<:spiplistes:aide_en_ligne:>, #CHEMIN_IMAGE{aide-24.png},'','',onclick="javascript:window.open(this.href,'spip_aide', 'scrollbars=yes, resizable=yes, width=740, height=580'); return false;"})]
    3130
    32 
    33 
    3431#BOITE_FERMER
    35 
    36 
    37 
    38 
    39 
    40 
    41 
  • _plugins_/spip-listes/trunk/prive/inclure/raccourcis_journal.html

    r60176 r84132  
    22    |icone_horizontale{<:spiplistes:log_voir_le_journal:>, #CHEMIN_IMAGE{log-24.png}})]
    33
     4[(#REM) Informe si le mode verbeuse est actif avec l'adresse IP pour info]
     5[(#OPT_CONSOLE_DEBUG|=={'oui'}|?{
    46<span class="verdana2" style="display:block;padding:0.5ex;text-align:center">
    57    <a href="#URL_ECRIRE{spiplistes_config}#regler-console" title="<:spiplistes:log_configurer:>" class="cellule-h" style="text-align:center">
    6 [(#REM) avertir qu'on est en mode debug]
    7 <span style="display:block;font-weight:700;color:white;background-color:red;">
    8 <:spiplistes:mode_debug_actif:></span>
    9 </a>
    10 [(#REM) l'adresse IP pour info]
    11 <span style="display:block;"><?php echo($_SERVER['SERVER_ADDR']);?></span>
     8        <span style="display:block;font-weight:700;color:white;background-color:red;"><:spiplistes:mode_debug_actif:></span></a>
     9        <span style="display:block;">[(#IP_SERVEUR)]</span>
    1210</span>
    13 
    14 
    15 
    16 
    17 
    18 
    19 
     11, ''})]
  • _plugins_/spip-listes/trunk/spiplistes_style.css

    r60173 r84132  
    6262  margin-top:10px
    6363}
     64
  • _plugins_/spip-listes/trunk/spiplistes_style_prive.css

    r64257 r84132  
    8383}
    8484hr.spiplistes { border:1px solid #ccc; }
     85
     86/* Style_vieilles_def.html */
     87.fondl {background-color: #E4E4E4; background-position: center bottom; border: 1px solid #9DBA00; float: none; font-size: 11px; margin-top: 0; padding: 3px;}
     88
Note: See TracChangeset for help on using the changeset viewer.