Changeset 95934 in spip-zone


Ignore:
Timestamp:
Mar 12, 2016, 4:00:57 PM (5 years ago)
Author:
tcharlss@…
Message:

Onglet "répartition" : on se débarrasse du javascript qui se retrouvait échappé dans le tableau. Bizarrement, #REM|intval|enfants_objets_aff fonctionne correctement, tandis que #ENV{objet}|enfants_objets_aff renvoie le script échappé. On déplace dans le paramètre $objets à la fin des paramètres de la fonction. Peut-être une raison de plus pour sortir le HTML du ficher de fonctions. +Z

Location:
_plugins_/statistiques_objets/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/statistiques_objets/trunk/lang/statistiques_fr.php

    r95922 r95934  
    2020        'info_visites_objets_derniers' => 'Les derniers publiés :',
    2121        'info_0_referer' => 'Aucun lien entrant',
     22        'info_1_referer' => '1 lien entrant',
     23        'info_nb_referers' => '@nb@ lien entrants',
    2224        'info_0_visite' => 'Aucune visite',
     25        'info_1_visite' => '1 visite',
     26        'info_nb_visites' => '@nb@ visites',
    2327       
    2428        // O
  • _plugins_/statistiques_objets/trunk/paquet.xml

    r95922 r95934  
    22        prefix="statsobjets"
    33        categorie="statistique"
    4         version="1.0.15"
     4        version="1.0.16"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.1.*]"
  • _plugins_/statistiques_objets/trunk/prive/squelettes/contenu/stats_repartition.html

    r95922 r95934  
    2929[(#BOITE_OUVRIR{#CHEMIN_IMAGE{repartition-24.png}|balise_img{'',cadre-icone}})]
    3030
    31 [(#ENV{objet}|enfants_objets_aff{0,400, 400, #ENV{critere}|=={debut}|?{visites,popularite}})]
     31[(#REM|intval|enfants_objets_aff{400, 400, #ENV{critere}|=={debut}|?{visites,popularite}, 0, #ENV{objet}})]
    3232
    3333<p>
  • _plugins_/statistiques_objets/trunk/prive/squelettes/contenu/stats_repartition_fonctions.php

    r95922 r95934  
    1313 * sinon on retourne les visites de tous les types d'objets trouvés dans spip_visites_articles et spip_visites_objets
    1414 *
    15  * @param  array $objets              Types d'objets
    16  * @param  integer $id_parent         
    17  * @param  string $critere            critère pour le comptage : visites|popularite
    18  * @param  integer $nombre_branche   
    19  * @param  integer $nombre_rub
    20  * @return integer Nombre
     15 * @param  integer $id_parent         Identifiant de la rubrique parente à partir de laquelle compter
     16 * @param  string  $critere           Critère pour le comptage : visites|popularite
     17 * @param  integer $nombre_branche    Nombre d'objets dans la branche
     18 * @param  integer $nombre_rub        Nombre d'objets dans la rubrique
     19 * @param  array   $objets            Types d'objets
     20 * @return integer                    Nombre d'objets
    2121 */
    22 function enfants_objets($objets=array(), $id_parent, $critere, &$nombre_branche, &$nombre_rub) {
     22function enfants_objets($id_parent, $critere, &$nombre_branche, &$nombre_rub, $objets=array()) {
    2323
    2424        include_spip('base/objets'); // on ne sait jamais
     
    3131                $id_rubrique = $row['id_rubrique'];
    3232                foreach($objets as $objet){
    33                         $table_objet_sql = table_objet_sql($objet);
    34                         $visites += intval(sql_getfetsel("SUM(" . $critere . ")", $table_objet_sql, "id_rubrique=" . intval($id_rubrique)));
     33                        $visites += intval(sql_getfetsel("SUM(" . $critere . ")", table_objet_sql($objet), "id_rubrique=" . intval($id_rubrique)));
    3534                }
    3635                $nombre_rub[$id_rubrique] = $visites;
    3736                $nombre_branche[$id_rubrique] = $visites;
    38                 $nombre += $visites + enfants_objets($objets, $id_rubrique, $critere, $nombre_branche, $nombre_rub);
     37                $nombre += $visites + enfants_objets($id_rubrique, $critere, $nombre_branche, $nombre_rub, $objets);
    3938        }
    4039        if (!isset($nombre_branche[$id_parent])) {
     
    5352 * sinon on retourne les visites de tous les types d'objets trouvés dans spip_visites_articles et spip_visites_objets
    5453 *
    55  * @param  array|string $objets      Un ou plusieurs types d'objets
    56  * @param  integer $id_parent       
    57  * @param  integer $decalage         
    58  * @param  integer $taille           
    59  * @param  string $critere           critère pour le comptage : visites|popularite
    60  * @param  integer [$gauche = 0]     
    61  * @return string Contenu HTML
     54 * @param  array|string $objets       Un ou plusieurs types d'objets
     55 * @param  integer      $id_parent    Identifiant de la rubrique parente à partir de laquelle compter
     56 * @param  integer      $decalage     
     57 * @param  integer      $taille       
     58 * @param  string       $critere      Critère pour le comptage : visites|popularite
     59 * @param  integer      $gauche       Décalage entre les pourcentages et les barres
     60 * @param  array        $objets       Types d'objets
     61 * @return string                     Contenu HTML
    6262 */
    63 function enfants_objets_aff($objets='', $id_parent, $decalage, $taille, $critere, $gauche = 0) {
     63function enfants_objets_aff($id_parent, $decalage, $taille, $critere, $gauche = 0, $objets='') {
    6464
     65        include_spip('base/objets'); // on ne sait jamais
     66       
    6567        // sans objets demandés explicitement, on va chercher tous les types d'objets
    6668        // ayant un champ id_rubrique dans spip_visites_articles et spip_visites_objets
     
    98100                $nombre_branche = array();
    99101                $nombre_rub = array();
    100                 $total_site = enfants_objets($objets, 0, $critere, $nombre_branche, $nombre_rub);
     102                $total_site = enfants_objets(0, $critere, $nombre_branche, $nombre_rub, $objets);
    101103                if ($total_site < 1) {
    102104                        $total_site = 1;
    103105                }
    104106        }
     107
    105108        $visites_abs = 0;
    106109        $out = "";
    107110        $width = intval(floor(($nombre_branche[$id_parent] / $total_site) * $taille));
    108111        $width = "width:{$width}px;float:$spip_lang_left;";
    109 
    110112
    111113        $result = sql_select("id_rubrique, titre, descriptif", "spip_rubriques", "id_parent=$id_parent", '', '0+titre,titre');
     
    117119
    118120                if ($nombre_branche[$id_rubrique] > 0 or $nombre_rub[$id_rubrique] > 0) {
    119                         $largeur_branche = floor(($nombre_branche[$id_rubrique] - $nombre_rub[$id_rubrique]) * $taille / $total_site);
    120                         $largeur_rub = floor($nombre_rub[$id_rubrique] * $taille / $total_site);
     121                        $largeur_branche = ceil(($nombre_branche[$id_rubrique] - $nombre_rub[$id_rubrique]) * $taille / $total_site);
     122                        $largeur_rub = ceil($nombre_rub[$id_rubrique] * $taille / $total_site);
    121123
    122124                        if ($largeur_branche + $largeur_rub > 0) {
     
    137139
    138140                                if ($largeur_branche > 2) {
    139                                         $out .= bouton_block_depliable("<a href='" . generer_url_entite($id_rubrique,
    140                                                         'rubrique') . "' style='color: black;' title=\"$descriptif\">$titre</a>", "incertain",
    141                                                 "stats$id_rubrique");
     141                                        $out .= bouton_block_depliable(
     142                                                "<a href='" . generer_url_entite($id_rubrique,'rubrique') . "' style='color: black;' title=\"$descriptif\">$titre</a>",
     143                                                "incertain",
     144                                                "stats$id_rubrique"
     145                                        );
    142146                                } else {
    143147                                        $out .= "<div class='rubsimple' style='padding-left: 18px;'>"
     
    151155                                // pourcentage de visites dans la branche par rapport au total du site
    152156                                $pourcent = round($nombre_branche[$id_rubrique] / $total_site * 1000) / 10;
    153                                 $out .= "\n<td class='verdana1' style='text-align: $spip_lang_right; width: 40px; border-bottom: 1px solid #aaaaaa;'>$pourcent%</td>";
     157                                $nb_visites = singulier_ou_pluriel($nombre_branche[$id_rubrique], 'statistiques:info_1_visite', 'statistiques:info_nb_visites');
     158                                $out .= "\n<td class='verdana1' style='text-align: $spip_lang_right; width: 40px; border-bottom: 1px solid #aaaaaa;'><abbr title='$nb_visites'>$pourcent%</abbr></td>";
    154159
    155160
     
    182187                        $niveau++;
    183188                        $out .= debut_block_depliable(false, "stats$id_rubrique");
    184                         $out .= enfants_objets_aff($objets, $id_rubrique, $largeur_branche, $taille, $critere, $visites_abs + $gauche);
     189                        $out .= enfants_objets_aff($id_rubrique, $largeur_branche, $taille, $critere, $visites_abs + $gauche, $objets);
    185190                        $out .= fin_block();
    186191                        $niveau--;
Note: See TracChangeset for help on using the changeset viewer.