Changeset 43252 in spip-zone for _squelettes_/sarkaspip/stable_30


Ignore:
Timestamp:
Dec 30, 2010, 5:42:53 PM (8 years ago)
Author:
eric@…
Message:

On supprime les liens du mini calendrier à partir du moment ou il n'y a d'évènement accessible.
Ca devrait éviter que les bots suivent des liens sans fin

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/sarkaspip/stable_30/inc/sarkaspip_filtres_agenda.php

    r39461 r43252  
    455455        $mois_courant = affdate_base(date('Y-m-d'), 'mois');
    456456        $annee_courante = affdate_base(date('Y-m-d'), 'annee');
     457       
     458        // Calcul des dates min et max des evenements
     459        $secteur_agenda = calcul_rubrique_specialisee('agenda', 'secteur', 'in');
     460        $date_min = sql_getfetsel('date_redac', 'spip_articles',
     461                                                        array('id_secteur=' . sql_quote($secteur_agenda),
     462                                                                'date_redac>' . sql_quote('0000-00-00'),
     463                                                                'statut=' . sql_quote('publie')),
     464                                                                '',     'date_redac');
     465        if ($date_min < date('Y-m-d')) {
     466                $mois_min = affdate_base($date_min, 'mois');
     467                $annee_min = affdate_base($date_min, 'annee');
     468        }
     469        else {
     470                $mois_min = $mois_courant;
     471                $annee_min = $annee_courante;
     472        }
     473        $date_max = sql_getfetsel('date_redac', 'spip_articles',
     474                                                        array('id_secteur=' . sql_quote($secteur_agenda),
     475                                                        'date_redac>' . sql_quote('0000-00-00'),
     476                                                        'statut=' . sql_quote('publie')),
     477                                                        '', 'date_redac DESC');
     478        if ($date_max > date('Y-m-d')) {
     479                $mois_max = affdate_base($date_max, 'mois');
     480                $annee_max = affdate_base($date_max, 'annee');
     481        }
     482        else {
     483                $mois_max = $mois_courant;
     484                $annee_max = $annee_courante;
     485        }
    457486
    458487        // Calcul des mois precedent et suivant
     
    483512        // Init de la chaine
    484513        $header = NULL;
     514        $lien_vide = '<h2><a class="titre_bloc bord" rel="nofollow" href="#">&nbsp;</a></h2>';
    485515        // Debut de l'en-tete
    486516        // Ligne 1 : pagination par annee
    487         $header .= '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_choisi.'&amp;calendrier_annee='.$annee_choisie_prec.'" title="'.$nom_mois[$mois_choisi].'&nbsp;'.$annee_choisie_prec.'">'.$icone_prec.'</a></h2>';
     517        $header .= ($annee_min < $annee_choisie)
     518                ? '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_choisi.'&amp;calendrier_annee='.$annee_choisie_prec.'" title="'.$nom_mois[$mois_choisi].'&nbsp;'.$annee_choisie_prec.'">'.$icone_prec.'</a></h2>'
     519                : $lien_vide;
    488520        $header .= '<h2 class="titre_bloc centre">'.$annee_choisie.'</h2>';   
    489         $header .= '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_choisi.'&amp;calendrier_annee='.$annee_choisie_suiv.'" title="'.$nom_mois[$mois_choisi].'&nbsp;'.$annee_choisie_suiv.'">'.$icone_suiv.'</a></h2>';
     521        $header .= ($annee_max > $annee_choisie)
     522                ? '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_choisi.'&amp;calendrier_annee='.$annee_choisie_suiv.'" title="'.$nom_mois[$mois_choisi].'&nbsp;'.$annee_choisie_suiv.'">'.$icone_suiv.'</a></h2>'
     523                : $lien_vide;
    490524        // Ligne 2 : pagination par mois
    491         $header .= '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_prec.'&amp;calendrier_annee='.$annee_prec.'" title="'.$nom_mois[$mois_prec].'&nbsp;'.$annee_prec.'">'.$icone_prec.'</a></h2>';
     525        $header .= (($annee_min < $annee_choisie) OR (($annee_min == $annee_choisie) AND ($mois_min < $mois_choisi)))
     526                ? '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_prec.'&amp;calendrier_annee='.$annee_prec.'" title="'.$nom_mois[$mois_prec].'&nbsp;'.$annee_prec.'">'.$icone_prec.'</a></h2>'
     527                : $lien_vide;
    492528        $header .= '<h2 class="titre_bloc centre">'.$nom_mois[$mois_choisi].'</h2>';   
    493         $header .= '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_suiv.'&amp;calendrier_annee='.$annee_suiv.'" title="'.$nom_mois[$mois_suiv].'&nbsp;'.$annee_suiv.'">'.$icone_suiv.'</a></h2>';
     529        $header .= (($annee_max > $annee_choisie) OR (($annee_max == $annee_choisie) AND ($mois_max > $mois_choisi)))
     530                ? '<h2><a class="titre_bloc bord ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_suiv.'&amp;calendrier_annee='.$annee_suiv.'" title="'.$nom_mois[$mois_suiv].'&nbsp;'.$annee_suiv.'">'.$icone_suiv.'</a></h2>'
     531                : $lien_vide;
    494532        // Ligne 3 : retour au mois du jour courant
    495533        $header .= '<h2><a id="auj" class="titre_bloc ajax" rel="nofollow" href="'.$url_base.'calendrier_mois='.$mois_courant.'&amp;calendrier_annee='.$annee_courante.'" title="'.$nom_mois[intval($mois_courant)].'&nbsp;'.$annee_courante.'">'.ucfirst(_T('sarkaspip:aujourdhui')).'</a></h2>';
Note: See TracChangeset for help on using the changeset viewer.