?????????????? ?????????????? ?????????????? ?????????????? backend.html000066600000002367151465510760007047 0ustar00[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] [(#NOM_SITE_SPIP|textebrut|texte_backend)] #URL_SITE_SPIP/ [(#DESCRIPTIF_SITE_SPIP|supprimer_tags|texte_backend)] #LANG SPIP - www.spip.net [ [(#NOM_SITE_SPIP|texte_backend)] (#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{src}|url_absolue|texte_backend) #URL_SITE_SPIP/ [(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{height})] [(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{width})] ] rss_forum_rubrique.html000066600000002564151465510760011414 0ustar00#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET} [[(#NOM_SITE_SPIP|texte_backend)] <:ecrire:titre_page_forum_suivi:> ]RSS[ (#TITRE|texte_backend)] [(#URL_RUBRIQUE|url_absolue|texte_backend)] [(#ENV{lang}|texte_backend)] [(#TITRE|texte_backend)][ ((#ENV{page}|=={publie}|?{#STATUT, "publie"}|=={publie}|?{'', #STATUT}))] [(#URL_FORUM|url_absolue|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#DATE|date_iso)] text/html [(#LANG|texte_backend)] ['; [(#AUTEUR|texte_backend)][ <(#EMAIL_AUTEUR|texte_backend)>] [ (#TEXTE|liens_absolus|texte_backend)]#NOTES spip.ico000066600000002576151465510760006243 0ustar00h( {Ssi:`Wwf5\xPphea|hk [[(#NOM_SITE_SPIP|texte_backend)] <:ecrire:titre_page_forum_suivi:> ]RSS[ (#NOM_SITE|texte_backend)] [(#URL_SITE|url_absolue|texte_backend)] [(#ENV{lang}|texte_backend)] [(#TITRE|texte_backend)][ ((#ENV{page}|=={publie}|?{#STATUT, "publie"}|=={publie}|?{'', #STATUT}))] [(#URL_FORUM|url_absolue|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#DATE|date_iso)] text/html [(#LANG|texte_backend)] ['; [(#AUTEUR|texte_backend)][ <(#EMAIL_AUTEUR|texte_backend)>] [ (#TEXTE|liens_absolus|texte_backend)]#NOTES rubrique.html000066600000014151151465510760007310 0ustar00[(#REM) Un cache plus court, pour la boucle syndic_articles ]#CACHE{3600} [(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [(#REM) Lien vers le flux RSS des articles la rubrique ]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : contenu de la rubrique ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > [(#TITRE|couper{80})][ > (#TITRE|couper{80})]
[(#LOGO_RUBRIQUE|image_reduire{200,200})]

#TITRE

[

<:dernier_ajout:> : (#DATE|affdate_jourcourt).

]
[
(#TEXTE)
] [(#REM) Articles de la rubrique ] [(#REM) Si aucun article, affiche un plan de la rubrique ] [(#REM) supprimer pour toujours avoir le miniplan] [(#REM) Documents joints a la rubrique ] [(#REM) Breves du secteur ] [(#REM) Sites de la rubrique ] [(#REM) Proposer un site ] #FORMULAIRE_SITE [

<:info_notes:>

(#NOTES)
]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Menu de navigation mots-cles ]
[(#REM) Pied de page ]
win_width.htc000066600000000755151465510760007265 0ustar00 inc-head.html000066600000003400151465510760007115 0ustar00[ (#REM) Head standard de toutes les pages ; les elements specifiques (title, description) figurent dans le squelette article.html ][ (#REM) Preciser le charset ] [ (#REM) Fierement fabrique avec SPIP ] [ (#REM) Lien vers le flux RSS du site ][ ][ (#REM) Feuille de style par defaut pour le code genere par SPIP ][ ][ (#REM) Feuille de style par defaut pour les formulaires de SPIP ][ ][ (#REM) Balise permettant aux plugins d'inserer des CSS ]#INSERT_HEAD_CSS [ (#REM) Feuille de style CSS pour l'affichage du site a l'ecran ][ ][ (#REM) Feuille de style CSS pour l'impression ][ ][ (#REM) Feuille de style personnalisee pour surcharger les precedentes A noter par defaut cette css n'existe pas ][ ][ (#REM) Balise permettant aux plugins d'inserer des appels javascript ; C'est ici que SPIP va inserer l'appel de la librairie jQuery Et appeler a la fin compacte_head pour agreger et compacter tout le head dans des fichiers statiques si l'option est cochee dans Configuration ]#INSERT_HEAD sommaire.html000066600000006104151465510760007265 0ustar00[(#REM) Un cache plus court, pour la boucle syndic_articles ]#CACHE{3600} [(#NOM_SITE_SPIP|textebrut)] []
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : derniers articles publies ]
[
(#DESCRIPTIF_SITE_SPIP)
] [(#REM) Derniers articles ] [(#REM) Breves ] [(#REM) Liens des forums ] [(#REM) Sur le Web ]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Inscription au site ] #FORMULAIRE_INSCRIPTION
[(#REM) Pied de page ]
agenda_trimestre.html000066600000000224151465510760010763 0ustar00#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET} [(#VAL{0}|agenda_affiche{'',trimestre})] identifiants.html000066600000001064151465510760010132 0ustar00#CACHE{0} [(#HTTP_HEADER{Content-Type: text/html[; charset=(#CHARSET)]})] <:pass_vousinscrire:> [] #FORMULAIRE_INSCRIPTION{#ENV{mode},#ENV{focus},#ENV{id_rubrique}} inc-petition.html000066600000004476151465510760010065 0ustar00[(#REM) Signer la petition ] #FORMULAIRE_SIGNATURE [(#REM) Signatures de la petition ]
[(#SELF|form_hidden)] #ANCRE_PAGINATION [(#REM) Afficher la colonne des messages si autorises ] [(#REM) Afficher la colonne des messages si autorises ]

#GRAND_TOTAL <:signatures_petition:>

<:date:> <:nom:><:message:>
[(#DATE|affdate_jourcourt)] #NOM[ <:site_web:>][(#MESSAGE|PtoBR)]
[

(#PAGINATION)

] [(#REM) Afficher un moteur de recherche si plus de 30 signatures ou s'il etait deja present au coup d'avant] [(#ENV{recherche_signatures}|?{31,#_signatures:GRAND_TOTAL}|>{30}|oui)
]
sitemap.xml.html000066600000002471151465510760007715 0ustar00[(#REM) Exemple tres simple de sitemap.xml accessible via URL_SITE_SPIP/sitemap.xml (copier htaccess.txt en .htaccess pour en beneficier) Ce sitemap affiche la liste des rubriques, breves et articles, en se limitant a 1000 rubriques, 1000 breves et 2000 articles pour des raisons de performances. Duree de reindexation et priorite ne sont pas precisees, sauf pour l'accueil. Mais si date_modif est recente (1 jour) on l'indique, pour que ce soit reindexe en priorite (On pose un cache a zero pour echapper au test _IS_BOT) ]#CACHE{0} #HTTP_HEADER{Content-Type: text/xml; charset=utf-8} [(#REM) Accueil] #URL_SITE_SPIP/ hourly [(#REM) Rubriques ] [ (#URL_RUBRIQUE|url_absolue)] [(#REM) Articles ] [(#SET{recent,[(#VAL{Y-m-d H:i:s}|date{#VAL{"-1 day"}|strtotime})]})] [ (#URL_ARTICLE|url_absolue)[(#DATE_MODIF**|>{#GET{recent}} |?{[(#DATE_MODIF**|date_iso)]})]] [(#REM) Breves ] [ (#URL_BREVE|url_absolue)] inc-entete.html000066600000000332151465510760007501 0ustar00 formulaires/administration.html000066600000003063151465510760013027 0ustar00 [ <:analyse_xml:>[ ((#ENV{xhtml_error}))]] [<:article:> (#ENV{id_article})] [<:breve:> (#ENV{id_breve})] [<:rubrique:> (#ENV{id_rubrique})] [<:mots_clef:> (#ENV{id_mot})] [(#ENV{id_syndic}|oui)[(#AUTORISER{modifier,site,#ENV{id_syndic}}|oui) <:info_site:> [(#ENV{id_syndic})]]] [<:auteur:> (#ENV{id_auteur})][ <:espace_prive:>] <:admin_recalculer:>[(#ENV{use_cache})][ [<:info_visites:> (#ENV{visites})][; <:info_popularite_5:> (#ENV{popularite})]][ <:previsualisation:>][ <:admin_debug:>] formulaires/inc-forum_bloc_choix_mots.html000066600000000603151465510760015131 0ustar00#SET{table,#VAL{'(^|,)('}|concat{#ENV{table,rienderien}}|concat{#CONFIG{mots_cles_forums}|choixsiegal{oui,'|forum',''},')(,|$)'} [(#ID_GROUPE|in_any{#ENV**{ajouter_groupe},' '})
<:mots_clefs:> : #TITRE
]formulaires/mot_de_passe.php000066600000006722151465510760012274 0ustar00'5poubelle'","pass<>''")); } elseif ($p=_request('p')) { $p = preg_replace(',[^0-9a-f.],i','',$p); if ($p AND $id_auteur = sql_getfetsel('id_auteur','spip_auteurs',array('cookie_oubli='.sql_quote($p),"statut<>'5poubelle'","pass<>''"))) $valeurs['_hidden'] = ''; } if ($id_auteur){ $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire } else { $valeurs['_hidden'] = _T('pass_erreur_code_inconnu'); $valeurs['editable'] = false; // pas de saisie } return $valeurs; } /** * Verification de la saisie du mot de passe. * On verifie qu'un mot de passe est saisi, et que sa longuer est suffisante * Ce serait le lieu pour verifier sa qualite (caracteres speciaux ...) * * @param int $id_auteur */ function formulaires_mot_de_passe_verifier_dist($id_auteur=null){ $erreurs = array(); if (!_request('oubli')) $erreurs['oubli'] = _T('info_obligatoire'); else if (strlen(_request('oubli')) < 6) $erreurs['oubli'] = _T('info_passe_trop_court'); return $erreurs; } /** * Modification du mot de passe d'un auteur. * Utilise le cookie d'oubli fourni en url ou l'argument du formulaire pour identifier l'auteur * * @param int $id_auteur */ function formulaires_mot_de_passe_traiter_dist($id_auteur=null){ $message = ''; include_spip('base/abstract_sql'); if ($id_auteur=intval($id_auteur)) { $row = sql_fetsel('id_auteur,login','spip_auteurs',array('id_auteur='.intval($id_auteur),"statut<>'5poubelle'","pass<>''")); } elseif ($p=_request('p')) { $p = preg_replace(',[^0-9a-f.],i','',$p); $row = sql_fetsel('id_auteur,login,source','spip_auteurs',array('cookie_oubli='.sql_quote($p),"statut<>'5poubelle'","pass<>''")); } if ($row && ($id_auteur = $row['id_auteur']) && ($oubli = _request('oubli'))) { include_spip('action/editer_auteur'); auteurs_set($id_auteur, array('pass'=>$oubli,'cookie_oubli'=>'')); $login = $row['login']; $message = "" . _T('pass_nouveau_enregistre') . "". "

" . _T('pass_rappel_login', array('login' => $login)); } return array('message_ok'=>$message); } ?> formulaires/inscription.php000066600000017223151465510760012171 0ustar00'','mail_inscription'=>'', 'id'=>$id); if ($mode=='1comite') $valeurs['_commentaire'] = _T('pass_espace_prive_bla'); else $valeurs['_commentaire'] = _T('pass_forum_bla'); if (!tester_config($id, $mode)) $valeurs['editable'] = false; return $valeurs; } // Si inscriptions pas autorisees, retourner une chaine d'avertissement function formulaires_inscription_verifier_dist($mode, $focus, $id=0) { $erreurs = array(); include_spip('inc/filtres'); if (!tester_config($id, $mode) OR (strlen(_request('nobot'))>0)) $erreurs['message_erreur'] = _T('rien_a_faire_ici'); if (!$nom = _request('nom_inscription')) $erreurs['nom_inscription'] = _T("info_obligatoire"); if (!$mail = _request('mail_inscription')) $erreurs['mail_inscription'] = _T("info_obligatoire"); // compatibilite avec anciennes fonction surchargeables // plus de definition par defaut if (!count($erreurs)){ if (function_exists('test_inscription')) $f = 'test_inscription'; else $f = 'test_inscription_dist'; $declaration = $f($mode, $mail, $nom, $id); if (is_string($declaration)) { $k = (strpos($declaration, 'mail') !== false) ? 'mail_inscription' : 'nom_inscription'; $erreurs[$k] = _T($declaration); } else { include_spip('base/abstract_sql'); if ($row = sql_fetsel("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($declaration['email']))){ if (($row['statut'] == '5poubelle') AND !$declaration['pass']) // irrecuperable $erreurs['message_erreur'] = _T('form_forum_access_refuse'); elseif (($row['statut'] != 'nouveau') AND !$declaration['pass']) // deja inscrit $erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre'); spip_log($row['id_auteur'] . " veut se resinscrire"); } } } return $erreurs; } function formulaires_inscription_traiter_dist($mode, $focus, $id=0) { $nom = _request('nom_inscription'); $mail_complet = _request('mail_inscription'); if (function_exists('test_inscription')) $f = 'test_inscription'; else $f = 'test_inscription_dist'; $desc = $f($mode, $mail_complet, $nom, $id); if (!is_array($desc)) { $desc = _T($desc); } else { include_spip('base/abstract_sql'); $res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email'])); if (!$res) $desc = _T('titre_probleme_technique'); else { $row = sql_fetch($res); // s'il n'existe pas deja, creer les identifiants $desc = $row ? $row : inscription_nouveau($desc); } } if (is_array($desc)) { // generer le mot de passe (ou le refaire si compte inutilise) $desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']); // charger de suite cette fonction, pour ses utilitaires $envoyer_mail = charger_fonction('envoyer_mail','inc'); if (function_exists('envoyer_inscription')) $f = 'envoyer_inscription'; else $f = 'envoyer_inscription_dist'; list($sujet,$msg,$from,$head) = $f($desc, $nom, $mode, $id); if (!$envoyer_mail($mail_complet, $sujet, $msg, $from, $head)) $desc = _T('form_forum_probleme_mail'); // Notifications if ($notifications = charger_fonction('notifications', 'inc')) { $notifications('inscription', $desc['id_auteur'], array('nom' => $desc['nom'], 'email' => $desc['email']) ); } } return array('message_ok'=>is_string($desc) ? $desc : _T('form_forum_identifiant_mail')); } // fonction qu'on peut redefinir pour filtrer les adresses mail et les noms, // et donner des infos supplementaires // Std: controler que le nom (qui sert a calculer le login) est plausible // et que l'adresse est valide. On les normalise au passage (trim etc). // Retour: // - si ok un tableau avec au minimum email, nom, mode (redac / forum) // - si ko une chaine de langue servant d'argument a _T expliquant le refus // http://doc.spip.org/@test_inscription_dist function test_inscription_dist($mode, $mail, $nom, $id=0) { include_spip('inc/filtres'); $nom = trim(corriger_caracteres($nom)); if((strlen ($nom) < _LOGIN_TROP_COURT) OR (strlen($nom) > 64)) return 'ecrire:info_login_trop_court'; if (!$r = email_valide($mail)) return 'info_email_invalide'; return array('email' => $r, 'nom' => $nom, 'bio' => $mode); } // On enregistre le demandeur comme 'nouveau', en memorisant le statut final // provisoirement dans le champ Bio, afin de ne pas visualiser les inactifs // A sa premiere connexion il obtiendra son statut final. // http://doc.spip.org/@inscription_nouveau function inscription_nouveau($desc) { if (!isset($desc['login'])) $desc['login'] = test_login($desc['nom'], $desc['email']); $desc['statut'] = 'nouveau'; $n = sql_insertq('spip_auteurs', $desc); if (!$n) return _T('titre_probleme_technique'); $desc['id_auteur'] = $n; return $desc; } // construction du mail envoyant les identifiants // fonction redefinissable qui doit retourner un tableau // dont les elements seront les arguments de inc_envoyer_mail // http://doc.spip.org/@envoyer_inscription_dist function envoyer_inscription_dist($desc, $nom, $mode, $id) { $nom_site_spip = nettoyer_titre_email($GLOBALS['meta']["nom_site"]); $adresse_site = $GLOBALS['meta']["adresse_site"]; if ($mode == '6forum') { $adresse_login = generer_url_public('login'); $msg = 'form_forum_voici1'; } else { $adresse_login = $adresse_site .'/'. _DIR_RESTREINT_ABS; $msg = 'form_forum_voici2'; } $msg = _T('form_forum_message_auto')."\n\n" . _T('form_forum_bonjour', array('nom'=>$nom))."\n\n" . _T($msg, array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site . '/', 'adresse_login' => $adresse_login)) . "\n\n- " . _T('form_forum_login')." " . $desc['login'] . "\n- " . _T('form_forum_pass'). " " . $desc['pass'] . "\n\n"; return array("[$nom_site_spip] "._T('form_forum_identifiants'), $msg); } // http://doc.spip.org/@test_login function test_login($nom, $mail) { include_spip('inc/charsets'); $nom = strtolower(translitteration($nom)); $login_base = preg_replace("/[^\w\d_]/", "_", $nom); // il faut eviter que le login soit vraiment trop court if (strlen($login_base) < 3) { $mail = strtolower(translitteration(preg_replace('/@.*/', '', $mail))); $login_base = preg_replace("/[^\w\d]/", "_", $mail); } if (strlen($login_base) < 3) $login_base = 'user'; // eviter aussi qu'il soit trop long (essayer d'attraper le prenom) if (strlen($login_base) > 10) { $login_base = preg_replace("/^(.{4,}(_.{1,7})?)_.*/", '\1', $login_base); $login_base = substr($login_base, 0,13); } $login = $login_base; for ($i = 1; ; $i++) { if (!sql_countsel('spip_auteurs', "login='$login'")) return $login; $login = $login_base.$i; } } // http://doc.spip.org/@creer_pass_pour_auteur function creer_pass_pour_auteur($id_auteur) { include_spip('inc/acces'); $pass = creer_pass_aleatoire(8, $id_auteur); include_spip('action/editer_auteur'); instituer_auteur($id_auteur, array('pass'=>$pass)); return $pass; } ?> formulaires/mot_de_passe.html000066600000002410151465510760012437 0ustar00

[

(#ENV*{message_erreur})

] [

(#ENV*{message_ok})

] [(#ENV*{editable}|?{' '})
[(#REM) activer le traitement auto et dispatch sur charger/verifier/traiter] #ACTION_FORMULAIRE{#ENV{action}}
<:pass_nouveau_pass:>
  • [(#ENV**{erreurs}|table_valeur{oubli})]
[(#REM) Piege a robots spammeurs ]

]
formulaires/oubli.html000066600000002376151465510760011122 0ustar00
[

(#ENV*{message_erreur})

] [

(#ENV*{message_ok})

] [(#ENV*{editable}|?{' '})
[(#REM) activer le traitement auto et dispatch sur charger/verifier/traiter] #ACTION_FORMULAIRE{#ENV{action}}
<:pass_nouveau_pass:>
  • [(#ENV**{erreurs}|table_valeur{oubli})]
[(#REM) Piege a robots spammeurs ]

]
formulaires/inc-forum_ajouter_mot.html000066600000000170151465510760014305 0ustar00formulaires/inscription.html000066600000004502151465510760012342 0ustar00
[

(#ENV*{message_ok})

] [

(#ENV*{message_erreur})

] [(#ENV{editable})
#ACTION_FORMULAIRE{#ENV{action}}
[(#REM) on affiche plus ce message en cas d'erreur pour eviter d'allonger trop le formulaire] [(#ENV*{message_erreur}|non) [<:pass_vousinscrire:>

(#ENV*{_commentaire})

] ]<:form_forum_identifiants:>

<:form_forum_indiquer_nom_email:>

  • [(#ENV*{erreurs}|table_valeur{nom_inscription})]
  • [(#ENV*{erreurs}|table_valeur{mail_inscription})]
[(#REM) Piege a robots spammeurs ]

[] ]
[(#ENV{focus,''}|?{' '})
]formulaires/oubli.php000066600000006211151465510760010735 0ustar00''); return $valeurs; } // http://doc.spip.org/@message_oubli function message_oubli($email, $param) { $r = formulaires_oubli_mail($email); if (is_array($r) AND $r[1]) { include_spip('inc/acces'); # pour creer_uniqid include_spip('inc/texte'); # pour corriger_typo $cookie = creer_uniqid(); sql_updateq("spip_auteurs", array("cookie_oubli" => $cookie), "id_auteur=" . $r[1]['id_auteur']); $nom = textebrut(corriger_typo($GLOBALS['meta']["nom_site"])); $envoyer_mail = charger_fonction('envoyer_mail','inc'); if ($envoyer_mail($email, ("[$nom] " . _T('pass_oubli_mot')), _T('pass_mail_passcookie', array('nom_site_spip' => $nom, 'adresse_site' => url_de_base(), 'sendcookie' => generer_url_public('spip_pass', "$param=$cookie", true)))) ) return _T('pass_recevoir_mail'); else return _T('pass_erreur_probleme_technique'); } return _T('pass_erreur_probleme_technique'); } // la saisie a ete validee, on peut agir function formulaires_oubli_traiter_dist(){ $message = message_oubli(_request('oubli'),'p'); return array('message_ok'=>$message); } // fonction qu'on peut redefinir pour filtrer les adresses mail // http://doc.spip.org/@test_oubli function test_oubli_dist($email) { include_spip('inc/filtres'); # pour email_valide() if (!email_valide($email) ) return _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($email))); return array('mail' => $email); } function formulaires_oubli_verifier_dist(){ $erreurs = array(); $email = strval(_request('oubli')); $r = formulaires_oubli_mail($email); if (!is_array($r)) $erreurs['oubli'] = $r; else { if (!$r[1]) $erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($email))); elseif ($r[1]['statut'] == '5poubelle' OR $r[1]['pass'] == '') $erreurs['oubli'] = _T('pass_erreur_acces_refuse'); } return $erreurs; } function formulaires_oubli_mail($email) { if (function_exists('test_oubli')) $f = 'test_oubli'; else $f = 'test_oubli_dist'; $declaration = $f($email); if (!is_array($declaration)) return $declaration; else { include_spip('base/abstract_sql'); return array($declaration, sql_fetsel("id_auteur,statut,pass", "spip_auteurs", "email =" . sql_quote($declaration['mail']))); } } ?> formulaires/forum.html000066600000014444151465510760011137 0ustar00
[(#REM) pour IE qui sinon se perd dans l'ajax !, ne pas retirer]
[

(#ENV*{message_ok})

] [

(#ENV*{message_erreur})

] [(#ENV{login_forum_abo}) ] [(#ENV{editable}) [(#REM) Bloc de previsualisation du forum envoye Si on valide la previsu, on n'envoie pas en ajax car, si le post reussit il faudra certainement redessiner toute la page pour afficher le nouveau forum ][
[(#ACTION_FORMULAIRE{#ENV{action}})] [] [(#INCLURE{fond=formulaires/inc-forum_ajouter_mot}{ajouter_mot})] (#ENV*{erreurs}|table_valeur{previsu})
]
[(#ACTION_FORMULAIRE{#ENV{action}})] [] [
<:bouton_radio_modere_priori:>

(#ENV{modere})<:forum_info_modere:>

] [(#ENV**{afficher_texte}|choixsiegal{'non', ' ',''}) []

] [(#ENV**{afficher_texte}|choixsiegal{'non', '',' '})
<:form_pet_message_commentaire:>[ (#CONFIG{forums_titre}|!={non}|non) ]
    [
  • (#INCLURE{fond=formulaires/inc-forum_bloc_choix_mots}{table=#ENV*{table}}{ajouter_mot})
  • ] [(#CONFIG{forums_titre}|!={non}|oui)
  • [(#ENV**{erreurs}|table_valeur{titre})]
  • ] [(#CONFIG{forums_texte}|!={non}|?{
  • [(#ENV**{erreurs}|table_valeur{texte})]

    <:info_creation_paragraphe:>

  • })]
[(#CONFIG{forums_urlref}|!={non}|?{
<:forum_lien_hyper:>

<:forum_page_url:>

  • [(#ENV**{erreurs}|table_valeur{nom_site})]
  • [(#ENV**{erreurs}|table_valeur{url_site})]
})] [
<:bouton_ajouter_document:>
  • [(#ENV**{erreurs}|table_valeur{document_forum})] [
    (#ENV{ajouter_document})
    ]
    []
] [(#REM) Piege a robots spammeurs ]

]
[(#REM) Sauver les donnees du formulaire dans un cookie, si on quitte la page, et les remettre quand on revient (dans les limites de 4ko etc) ] ]
formulaires/forum.php000066600000027442151465510760010764 0ustar00 '', #ne sert pas dans ce cas, on la vide pour mutualiser le cache 'editable'=>false, 'login_forum_abo'=>' ', 'inscription' => generer_url_public('identifiants', 'lang='.$GLOBALS['spip_lang']), 'oubli' => generer_url_public('spip_pass','lang='.$GLOBALS['spip_lang'],true), ); } } // Tableau des valeurs servant au calcul d'une signature de securite. // Elles seront placees en Input Hidden pour que inc/forum_insert // recalcule la meme chose et verifie l'identite des resultats. // Donc ne pas changer la valeur de ce tableau entre le calcul de // la signature et la fabrication des Hidden // Faire attention aussi a 0 != '' // id_rubrique est parfois passee pour les articles, on n'en veut pas $ids = array(); if ($id_rubrique > 0 AND ($id_article OR $id_breve OR $id_syndic)) $id_rubrique = 0; foreach (array('id_article', 'id_breve', 'id_forum', 'id_rubrique', 'id_syndic') as $o) { $ids[$o] = ($x = intval($$o)) ? $x : ''; } // ne pas mettre '', sinon le squelette n'affichera rien. $previsu = ' '; // au premier appel (pas de Post-var nommee "retour_forum") // memoriser eventuellement l'URL de retour pour y revenir apres // envoi du message ; aux appels suivants, reconduire la valeur. // Initialiser aussi l'auteur if ($retour_forum = rawurldecode(_request('retour'))) $retour_forum = str_replace('&var_mode=recalcul','',$retour_forum); else { // par defaut, on veut prendre url_forum(), mais elle ne sera connue // qu'en sortie, on inscrit donc une valeur absurde ("!") $retour_forum = "!"; // sauf si on a passe un parametre en argument (exemple : {#SELF}) if ($url_param_retour) $retour_forum = str_replace('&', '&', $url_param_retour); $retour_forum = rawurlencode($retour_forum); } if (_request('retour_forum')){ $arg = forum_fichier_tmp(join('', $ids)); $securiser_action = charger_fonction('securiser_action', 'inc'); // on sait que cette fonction est dans le fichier associe $hash = calculer_action_auteur("ajout_forum-$arg"); } // pour les hidden $script_hidden = ""; foreach ($ids as $id => $v) $script_hidden .= ""; $script_hidden .= ""; $script_hidden .= ""; $script_hidden .= ""; $script_hidden .= ""; $script_hidden .= ""; // l'ajout de documents est-il autorise ? // cf. verifier.php if ($formats = forum_documents_acceptes()) { include_spip('inc/securiser_action'); $cle_ajouter_document = calculer_cle_action('ajouter-document-'.join('-',array_map('intval',$ids))); } return array( 'modere' => (($type != 'pri') ? '' : ' '), 'nom_site' => '', 'table' => $table, 'texte' => '', 'config' => array('afficher_barre' => ($GLOBALS['meta']['forums_afficher_barre']!='non'?' ':'')), 'titre' => str_replace('~', ' ', extraire_multi($titre)), 'action' => $script, # ce sur quoi on fait le action='...' '_hidden' => $script_hidden, # pour les variables hidden 'url_site' => "http://", 'cle_ajouter_document' => $cle_ajouter_document, 'formats_documents_forum' => $formats, 'ajouter_document' => $_FILES['ajouter_document']['name'], 'nobot' => _request('nobot'), 'ajouter_groupe' => $ajouter_groupe, 'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot)), 'id_forum' => $id_forum, // passer id_forum au formulaire pour lui permettre d'afficher a quoi l'internaute repond '_sign'=>implode('_',$ids) ); } // Une securite qui nous protege contre : // - les doubles validations de forums (derapages humains ou des brouteurs) // - les abus visant a mettre des forums malgre nous sur un article (??) // On installe un fichier temporaire dans _DIR_TMP (et pas _DIR_CACHE // afin de ne pas bugguer quand on vide le cache) // Le lock est leve au moment de l'insertion en base (inc-messforum) // Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment // si $afficher_texte = 'non') // http://doc.spip.org/@forum_fichier_tmp function forum_fichier_tmp($arg) { # astuce : mt_rand pour autoriser les hits simultanes while (($alea = time() + @mt_rand()) + intval($arg) AND @file_exists($f = _DIR_TMP."forum_$alea.lck")) {}; spip_touch ($f); # et maintenant on purge les locks de forums ouverts depuis > 4 h if ($dh = @opendir(_DIR_TMP)) while (($file = @readdir($dh)) !== false) if (preg_match('/^forum_([0-9]+)\.lck$/', $file) AND (time()-@filemtime(_DIR_TMP.$file) > 4*3600)) spip_unlink(_DIR_TMP.$file); return $alea; } function formulaires_forum_verifier_dist( $titre, $table, $type, $script, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic, $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour) { include_spip('inc/acces'); include_spip('inc/texte'); include_spip('inc/forum'); include_spip('inc/session'); include_spip('base/abstract_sql'); $erreurs = array(); // desactiver id_rubrique si un id_article ou autre existe dans le contexte if ($id_article OR $id_breve OR $id_forum OR $id_syndic) $id_rubrique = 0; // stocker un eventuel document dans un espace temporaire // portant la cle du formulaire ; et ses metadonnees avec if (!isset($GLOBALS['visiteur_session']['tmp_forum_document'])) session_set('tmp_forum_document', sous_repertoire(_DIR_TMP,'documents_forum').md5(uniqid(rand()))); $tmp = $GLOBALS['visiteur_session']['tmp_forum_document']; $doc = &$_FILES['ajouter_document']; if (isset($_FILES['ajouter_document']) AND $_FILES['ajouter_document']['tmp_name']) { // securite : // verifier si on possede la cle (ie on est autorise a poster) // (sinon tant pis) ; cf. charger.php pour la definition de la cle if (_request('cle_ajouter_document') != calculer_cle_action($a = "ajouter-document-$id_article-$id_breve-$id_forum-$id_rubrique-$id_syndic")) { $erreurs['document_forum'] = _T('public:documents_interdits_forum') . "ajouter-document-$id_article-$id_breve-$id_forum-$id_rubrique-$id_syndic" .", " ._request('cle_ajouter_document') ; unset($_FILES['ajouter_document']); } else { include_spip('inc/ajouter_documents'); list($extension,$doc['name']) = fixer_extension_document($doc); $acceptes = forum_documents_acceptes(); if (!in_array($extension, $acceptes)) { # normalement on n'arrive pas ici : pas d'upload si aucun format if (!$formats = join(', ',$acceptes)) $formats = '-'; //_L('aucun'); $erreurs['document_forum'] = _T('public:formats_acceptes', array('formats' => $formats)); } else { include_spip('inc/getdocument'); if (!deplacer_fichier_upload($doc['tmp_name'], $tmp.'.bin')) $erreurs['document_forum'] = _T('copie_document_impossible'); # else if (...) # verifier le type_document autorise # retailler eventuellement les photos } // si ok on stocke les meta donnees, sinon on efface if (isset($erreurs['document_forum'])) { spip_unlink($tmp.'.bin'); unset ($_FILES['ajouter_document']); } else { $doc['tmp_name'] = $tmp.'.bin'; ecrire_fichier($tmp.'.txt', serialize($doc)); } } } // restaurer le document uploade au tour precedent else if (file_exists($tmp.'.bin')) { if (_request('supprimer_document_ajoute')) { spip_unlink($tmp.'.bin'); spip_unlink($tmp.'.txt'); } else if (lire_fichier($tmp.'.txt', $meta)) $doc = @unserialize($meta); } if (strlen($texte = _request('texte')) < 10 AND !$ajouter_mot AND $GLOBALS['meta']['forums_texte'] == 'oui') $erreurs['texte'] = _T('forum_attention_dix_caracteres'); else if (defined('_FORUM_LONGUEUR_MAXI') AND _FORUM_LONGUEUR_MAXI > 0 AND strlen($texte) > _FORUM_LONGUEUR_MAXI) $erreurs['texte'] = _T('forum_attention_trop_caracteres', array( 'compte' => strlen($texte), 'max' => _FORUM_LONGUEUR_MAXI )); if (strlen($titre=_request('titre')) < 3 AND $GLOBALS['meta']['forums_titre'] == 'oui') $erreurs['titre'] = _T('forum_attention_trois_caracteres'); if (!count($erreurs) AND !_request('confirmer_previsu_forum')){ if ($afficher_texte != 'non') { $previsu = inclure_previsu($texte, $titre, _request('url_site'), _request('nom_site'), _request('ajouter_mot'), $doc, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic); $erreurs['previsu'] = $previsu; } } return $erreurs; } function forum_documents_acceptes() { $formats = trim($GLOBALS['meta']['formats_documents_forum']); if (!$formats) return array(); if ($formats !== '*') $formats = array_filter(preg_split(',[^a-zA-Z0-9/+_],', $formats)); else { include_spip('base/typedoc'); $formats = array_keys($GLOBALS['tables_mime']); } sort($formats); return $formats; } // http://doc.spip.org/@inclure_previsu function inclure_previsu($texte,$titre, $url_site, $nom_site, $ajouter_mot, $doc, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic) { global $table_des_traitements; $bouton = _T('forum_message_definitif'); include_spip('public/assembler'); include_spip('public/composer'); // appliquer les traitements de #TEXTE a la previsu // comme on voit c'est complique... y a peut-etre plus simple ? // recuperer les filtres eventuels de 'mes_fonctions.php' sur les balises include_spip('public/parametrer'); $evaltexte = isset($table_des_traitements['TEXTE']['forums']) ? $table_des_traitements['TEXTE']['forums'] : $table_des_traitements['TEXTE'][0]; $evaltexte = '$tmptexte = '.str_replace('%s', '$texte', $evaltexte).';'; // evaluer... eval($evaltexte); // supprimer les
de la previsualisation // (sinon on ne peut pas faire ... dans les forums) return preg_replace("@<(/?)form\b@ism", '<\1div', inclure_balise_dynamique(array('formulaires/inc-forum_previsu', 0, array( 'titre' => safehtml(typo($titre)), 'texte' => $tmptexte, 'notes' => safehtml(calculer_notes()), 'url_site' => vider_url($url_site), 'nom_site' => safehtml(typo($nom_site)), 'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot)), 'ajouter_document' => $doc, 'erreur' => $erreur, 'bouton' => $bouton, 'id_rubrique' => $id_rubrique, 'id_forum' => $id_forum, 'id_article' => $id_article, 'id_breve' => $id_breve, 'id_syndic' => $id_syndic ) ), false)); } function formulaires_forum_traiter_dist() { // le formulaire forum n'est jamais traite en ajax car il s'acheve par une redirection vers // la bonne page qui doit etre reaffichee dans son ensemble refuser_traiter_formulaire_ajax(); $forum_insert = charger_fonction('forum_insert', 'inc'); list($redirect,$id_forum) = $forum_insert(); return array('redirect'=>$redirect,'id_forum'=>$id_forum); } ?> formulaires/site.html000066600000003447151465510760010754 0ustar00
[

(#ENV*{message_ok})

] [

(#ENV*{message_erreur})

] [(#ENV{editable}) #ACTION_FORMULAIRE{#ENV{action}}
<:info_site:>

<:proposer_site:>

  • [(#ENV*{erreurs}|table_valeur{nom_site})]
  • [(#ENV*{erreurs}|table_valeur{url_site})]
  • [(#ENV*{erreurs}|table_valeur{description_site})]
[(#REM) Piege a robots spammeurs ]

]
formulaires/inc-login_forum.html000066600000002434151465510760013072 0ustar00[(#REM) Formulaire d'identification sur le forum Si la session est authentifiee, on propose la deconnexion Si la session n'est pas authentifiee, on presente un formulaire nom/email Pour les forums sur abonnement, un squelette specifique presente les regles ]
<:forum_qui_etes_vous:> [(#SESSION{auth}|?{' '}) [

<:forum_votre_nom:> (#SESSION{nom}|typo) [<:icone_deconnecter:>]

] ] [(#SESSION{auth}|?{'',' '})
  • [(#CONFIG{accepter_inscriptions}|=={oui}|?{' '}) [<:lien_connecter:>] ]
]
formulaires/signature.html000066600000006107151465510760012005 0ustar00
[

(#ENV*{message_ok,#ENV*{_confirm}|affiche_reponse_confirmation})

] [

(#ENV*{message_erreur})

] [(#ENV{editable})
#ACTION_FORMULAIRE{#ENV{action}} [
<:info_descriptif:>
(#ENV*{_texte}|propre)
]
<:form_forum_identifiants:>
  • [(#ENV*{erreurs}|table_valeur{session_nom})]
  • [(#ENV*{erreurs}|table_valeur{session_email})]
<:info_lien_hypertexte:> [

(#ENV{site_obli})<:form_pet_votre_site:>

]
  • [(#ENV*{erreurs}|table_valeur{signature_nom_site})]
  • [(#ENV*{erreurs}|table_valeur{signature_url_site})]
[(#REM) Piege a robots spammeurs ]

[(#ENV{_message})
<:form_pet_message_commentaire:>
]

]
formulaires/ecrire_auteur.php000066600000005543151465510760012470 0ustar00'', 'texte_message_auteur'=>'', 'email_message_auteur'=>$GLOBALS['visiteur_session']['email'] ); // id du formulaire (pour en avoir plusieurs sur une meme page) $valeurs['id'] = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article); // passer l'id_auteur au squelette $valeurs['id_auteur'] = $id_auteur; $valeurs['id_article'] = $id_article; return $valeurs; } function formulaires_ecrire_auteur_verifier_dist($id_auteur, $id_article, $mail){ $erreurs = array(); include_spip('inc/filtres'); if (!$adres = _request('email_message_auteur')) $erreurs['email_message_auteur'] = _T("info_obligatoire"); elseif(!email_valide($adres)) $erreurs['email_message_auteur'] = _T('form_prop_indiquer_email'); else { include_spip('inc/session'); session_set('email', $adres); } if (!$sujet=_request('sujet_message_auteur')) $erreurs['sujet_message_auteur'] = _T("info_obligatoire"); elseif(!(strlen($sujet)>3)) $erreurs['sujet_message_auteur'] = _T('forum_attention_trois_caracteres'); if (!$texte=_request('texte_message_auteur')) $erreurs['texte_message_auteur'] = _T("info_obligatoire"); elseif(!(strlen($texte)>10)) $erreurs['texte_message_auteur'] = _T('forum_attention_dix_caracteres'); if (!_request('confirmer') AND !count($erreurs)) $erreurs['previsu']=' '; return $erreurs; } function formulaires_ecrire_auteur_traiter_dist($id_auteur, $id_article, $mail){ $adres = _request('email_message_auteur'); $sujet=_request('sujet_message_auteur'); $texte=_request('texte_message_auteur'); $texte .= "\n\n-- "._T('envoi_via_le_site')." ".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))." (".$GLOBALS['meta']['adresse_site']."/) --\n"; $envoyer_mail = charger_fonction('envoyer_mail','inc'); if ($envoyer_mail($mail, $sujet, $texte, $adres, "X-Originating-IP: ".$GLOBALS['ip'])) $message = _T('form_prop_message_envoye'); else $message = _T('pass_erreur_probleme_technique'); return array('message_ok'=>$message); } ?> formulaires/signature.php000066600000031531151465510760011627 0ustar00 $id_article, 'session_nom' => sinon($GLOBALS['visiteur_session']['session_nom'], $GLOBALS['visiteur_session']['nom']), 'session_email'=> sinon($GLOBALS['visiteur_session']['session_email'], $GLOBALS['visiteur_session']['email']), 'signature_nom_site'=>'', 'signature_url_site'=>'http://', '_texte'=>$petition, '_message'=>$message, 'message'=>'', 'site_obli' => $site_obli, 'debut_signatures'=>'' // pour le nettoyer de l'url d'action ! ); if ($c = _request('var_confirm')) { $valeurs['_confirm'] = $c; $valeurs['editable'] = false; } return $valeurs; } function affiche_reponse_confirmation($confirm) { $reponse_confirmation = charger_fonction('reponse_confirmation','formulaires/signature/'); return $reponse_confirmation($confirm); # calculee plus tot: assembler.php } function formulaires_signature_verifier_dist($id_article, $petition, $texte, $site_obli, $message) { $erreurs = array(); $oblis = array('session_email','session_email'); if ($site_obli){ $oblis[] = 'signature_nom_site'; $oblis[] = 'signature_url_site'; set_request('signature_url_site', vider_url(_request('signature_url_site'))); } foreach ($oblis as $obli) if (!_request($obli)) $erreurs[$obli] = _T('info_obligatoire'); if ($nom = _request('session_nom') AND strlen($nom) < 2) $erreurs['nom_email'] = _T('form_indiquer_nom'); include_spip('inc/filtres'); if (($mail=_request('session_email')) == _T('info_mail_fournisseur')) $erreurs['adresse_email'] = _T('form_indiquer'); elseif ($mail AND !email_valide($mail)) $erreurs['adresse_email'] = _T('form_email_non_valide'); elseif (strlen(_request('nobot')) OR (@preg_match_all(',\bhref=[\'"]?http,i', // bug PHP $message # , PREG_PATTERN_ORDER ) >2)) { #$envoyer_mail = charger_fonction('envoyer_mail','inc'); #envoyer_mail('email_moderateur@example.tld', 'spam intercepte', var_export($_POST,1)); $erreurs['message_erreur'] = _T('form_pet_probleme_liens'); } if ($site_obli){ if (!vider_url($url_site = _request('signature_url_site'))) { $erreurs['signature_url_site'] = _T('form_indiquer_nom_site'); } elseif (!count($erreurs)) { include_spip('inc/distant'); if (!recuperer_page($url_site, false, true, 0)) $erreurs['signature_url_site'] = _T('form_pet_url_invalide'); } } if (!count($erreurs)){ // tout le monde est la. include_spip('base/abstract_sql'); $row = sql_fetsel('*', 'spip_petitions', "id_article=".intval($id_article)); if (!$row) $erreurs['message_erreur'] = _T('form_pet_probleme_technique'); else { $email_unique = $row['email_unique'] == "oui"; $site_unique = $row['site_unique'] == "oui"; // Refuser si deja signe par le mail ou le site quand demande // Il y a un acces concurrent potentiel, // mais ca n'est qu'un cas particulier de qq n'ayant jamais confirme'. // On traite donc le probleme a la confirmation. if ($email_unique) { $r = sql_countsel('spip_signatures', "id_article=$id_article AND ad_email=" . sql_quote($mail) . " AND statut='publie'"); if ($r) $erreurs['message_erreur'] = _T('form_pet_deja_signe'); } if ($site_unique) { $r = sql_countsel('spip_signatures', "id_article=$id_article AND url_site=" . sql_quote($url_site) . " AND (statut='publie' OR statut='poubelle')"); if ($r) $erreurs['message_erreur'] = _T('form_pet_site_deja_enregistre'); } } } return $erreurs; } function formulaires_signature_traiter_dist($id_article, $petition, $texte, $site_obli, $message) { $reponse = _T('form_pet_probleme_technique'); include_spip('base/abstract_sql'); if (spip_connect()) { $controler_signature = charger_fonction('controler_signature', 'inc'); $reponse = $controler_signature($id_article, _request('session_nom'), _request('session_email'), _request('message'), _request('signature_nom_site'), _request('signature_url_site'), _request('url_page')); } return array('message_ok'=>$reponse); } // Retour a l'ecran du lien de confirmation d'une signature de petition. // Si var_confirm est non vide, c'est l'appel dans public/assembler.php // pour vider le cache au demarrage afin que la nouvelle signature apparaisse. // Sinon, c'est l'execution du formulaire et on retourne le message // de confirmation ou d'erreur construit lors de l'appel par assembler.php // Le controle d'unicite du mail ou du site (si requis) refait ici correspond // au cas de mails de demande de confirmation laisses sans reponse // http://doc.spip.org/@reponse_confirmation_dist function formulaires_signature_reponse_confirmation_dist($var_confirm = '') { static $confirm = null; // reponse mise en cache dans la session ? $code_message = 'signature_message_'.strval($var_confirm); if (isset($GLOBALS['visiteur_session'][$code_message])) return $GLOBALS['visiteur_session'][$code_message]; // reponse deja calculee depuis public/assembler.php if (isset($confirm)) return $confirm; if ($var_confirm == 'publie' OR $var_confirm == 'poubelle') return ''; if (!spip_connect()) { $confirm = _T('form_pet_probleme_technique'); return ''; } include_spip('inc/texte'); include_spip('inc/filtres'); // Suppression d'une signature par un moderateur ? // Cf. plugin notifications if (isset($_GET['refus'])) { // verifier validite de la cle de suppression // l'id_signature est dans var_confirm include_spip('inc/securiser_action'); if ($id_signature = intval($var_confirm) AND ( $_GET['refus'] == _action_auteur("supprimer signature $id_signature", '', '', 'alea_ephemere') OR $_GET['refus'] == _action_auteur("supprimer signature $id_signature", '', '', 'alea_ephemere_ancien') )) { sql_updateq("spip_signatures", array("statut" => 'poubelle'), "id_signature=$id_signature"); $confirm = _T('info_signature_supprimee'); } else $confirm = _T('info_signature_supprimee_erreur'); return ''; } $row = sql_fetsel('*', 'spip_signatures', "statut=" . sql_quote($var_confirm), '', "1"); if (!$row) { $confirm = _T('form_pet_aucune_signature'); return ''; } $id_signature = $row['id_signature']; $id_article = $row['id_article']; $adresse_email = $row['ad_email']; $url_site = $row['url_site']; $row = sql_fetsel('email_unique, site_unique', 'spip_petitions', "id_article=$id_article"); $email_unique = $row['email_unique'] == "oui"; $site_unique = $row['site_unique'] == "oui"; sql_updateq('spip_signatures', array('statut' => 'publie', 'date_time' => date('Y-m-d H:i:s')), "id_signature=$id_signature"); if ($email_unique) { $r = "id_article=$id_article AND ad_email=" . sql_quote($adresse_email); if (signature_entrop($r)) $confirm = _T('form_pet_deja_signe'); } if ($site_unique) { $r = "id_article=$id_article AND url_site=" . sql_quote($url_site); if (signature_entrop($r)) $confirm = _T('form_pet_site_deja_enregistre'); } include_spip('inc/session'); if (!$confirm) { $confirm = _T('form_pet_signature_validee'); // noter dans la session que l'email est valide // de facon a permettre de signer les prochaines // petitions sans refaire un tour d'email session_set('email_confirme', $adresse_email); // invalider les pages ayant des boucles signatures include_spip('inc/invalideur'); suivre_invalideur("id='varia/pet$id_article'"); } // Conserver la reponse dans la session du visiteur if ($confirm) session_set($code_message, $confirm); } // // Recevabilite de la signature d'une petition // les controles devraient mantenant etre faits dans formulaires_signature_verifier() // // http://doc.spip.org/@inc_controler_signature_dist function inc_controler_signature_dist($id_article, $nom, $mail, $message, $site, $url_site, $url_page) { include_spip('inc/texte'); include_spip('inc/filtres'); // tout le monde est la. // cela a ete verifie en amont, dans formulaires_signature_verifier() if (!$row = sql_fetsel('*', 'spip_petitions', "id_article=$id_article")) return _T('form_pet_probleme_technique'); $statut = ""; if (!$ret = signature_a_confirmer($id_article, $url_page, $nom, $mail, $site, $url_site, $message, $lang, $statut)) return _T('form_pet_probleme_technique'); $id_signature = sql_insertq('spip_signatures', array( 'id_article' => $id_article, 'date_time' => date('Y-m-d H:i:s'), 'statut' => $statut, 'ad_email' => $mail, 'url_site' => $url_site)); if (!$id_signature) return _T('form_pet_probleme_technique'); include_spip('inc/modifier'); revision_signature($id_signature, array( 'nom_email' => $nom, 'ad_email' => $mail, 'message' => $message, 'nom_site' => $site, 'url_site' => $url_site )); return $ret; } // http://doc.spip.org/@signature_a_confirmer function signature_a_confirmer($id_article, $url_page, $nom, $mail, $site, $url, $msg, $lang, &$statut) { // Si on est deja connecte et que notre mail a ete valide d'une maniere // ou d'une autre, on entre directement la signature dans la base, sans // envoyer d'email. Sinon email de verification if ( // Cas 1: on est loge et on signe avec son vrai email ( isset($GLOBALS['visiteur_session']['statut']) AND $GLOBALS['visiteur_session']['session_email'] == $GLOBALS['visiteur_session']['email'] AND strlen($GLOBALS['visiteur_session']['email']) ) // Cas 2: on a deja signe une petition, et on conserve le meme email OR ( isset($GLOBALS['visiteur_session']['email_confirme']) AND $GLOBALS['visiteur_session']['session_email'] == $GLOBALS['visiteur_session']['email_confirme'] AND strlen($GLOBALS['visiteur_session']['session_email']) ) ) { // Si on est en ajax on demande a reposter sans ajax, car il faut // recharger toute la page pour afficher la signature refuser_traiter_formulaire_ajax(); $statut = 'publie'; // invalider le cache ! include_spip('inc/invalideur'); suivre_invalideur("id='varia/pet$id_article'"); // message de reussite : en ajax, preciser qu'il faut recharger la page // pour voir le resultat return _T('form_pet_signature_validee'); } // // Cas normal : envoi d'une demande de confirmation // $row = sql_fetsel('titre,lang', 'spip_articles', "id_article=$id_article"); $lang = lang_select($row['lang']); $titre = textebrut(typo($row['titre'])); if ($lang) lang_select(); if (!strlen($statut)) $statut = signature_test_pass(); if ($lang != $GLOBALS['meta']['langue_site']) $url_page = parametre_url($url_page, "lang", $lang,'&'); $url_page = parametre_url($url_page, 'var_confirm', $statut, '&') . "#sp$id_article"; $r = _T('form_pet_mail_confirmation', array('titre' => $titre, 'nom_email' => $nom, 'nom_site' => $site, 'url_site' => $url, 'url' => $url_page, 'message' => $msg)); $titre = _T('form_pet_confirmation')." ". $titre; $envoyer_mail = charger_fonction('envoyer_mail','inc'); if ($envoyer_mail($mail,$titre, $r)) return _T('form_pet_envoi_mail_confirmation',array('email'=>$mail)); return false; # erreur d'envoi de l'email } // Pour eviter le recours a un verrou (qui bloque l'acces a la base), // on commence par inserer systematiquement la signature // puis on demande toutes celles ayant la propriete devant etre unique // (mail ou site). S'il y en a plus qu'une on les retire sauf la premiere // En cas d'acces concurrents il y aura des requetes de retraits d'elements // deja detruits. Bizarre ? C'est mieux que de bloquer! // http://doc.spip.org/@signature_entrop function signature_entrop($where) { $where .= " AND statut='publie'"; $query = sql_select('id_signature', 'spip_signatures', $where,'',"date_time desc"); $n = sql_count($query); if ($n>1) { $entrop = array(); for ($i=$n-1;$i;$i--) { $r = sql_fetch($query); $entrop[]=$r['id_signature']; } sql_free($query); $where .= " OR " . sql_in('id_signature', $entrop); sql_delete('spip_signatures', $where); } return $entrop; } // Creer un mot de passe aleatoire et verifier qu'il est unique // dans la table des signatures // http://doc.spip.org/@signature_test_pass function signature_test_pass() { include_spip('inc/acces'); do { $passw = creer_pass_aleatoire(); } while (sql_countsel('spip_signatures', "statut='$passw'") > 0); return $passw; } ?> formulaires/recherche.html000066600000000761151465510760011734 0ustar00
[(#ENV{action}|form_hidden)] []
formulaires/recherche.php000066600000002371151465510760011556 0ustar00 ($lien ? $lien : generer_url_public('recherche')), # action specifique, ne passe pas par Verifier, ni Traiter 'recherche' => _request('recherche'), 'lang' => $lang ); } ?> formulaires/inc-choix_mots.html000066600000000757151465510760012734 0ustar00
  • []
formulaires/site.php000066600000004240151465510760010567 0ustar00'','url_site'=>'http://','description_site'=>''); } function formulaires_site_verifier_dist($id_rubrique){ $erreurs = array(); if (!$nom = _request('nom_site')) $erreurs['nom_site'] = _T("info_obligatoire"); else { if((strlen ($nom) < 2) OR (strlen(_request('nobot'))>0)) $erreurs['email_message_auteur'] = _T('form_prop_indiquer_nom_site'); } if (!$url = _request('url_site')) $erreurs['url_site'] = _T("info_obligatoire"); if (!count($erreurs)) { // Tester l'URL du site include_spip('inc/distant'); if (!recuperer_page($url)) $erreurs['url_site'] = _T('form_pet_url_invalide'); } return $erreurs; } function formulaires_site_traiter_dist($id_rubrique){ $res = array('message_erreur'=>_T('titre_probleme_technique')); $nom = _request('nom_site'); $url = _request('url_site'); $desc = _request('description_site'); include_spip('base/abstract_sql'); if ($id_syndic = sql_insertq('spip_syndic', array( 'nom_site' => $nom, 'url_site' => $url, 'id_rubrique' => $id_rubrique, 'id_secteur' => sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.sql_quote($id_rubrique)), 'descriptif' => $desc, 'date' => date('Y-m-d H:i:s'), 'date_syndic' => date('Y-m-d H:i:s'), 'statut' => 'prop', 'syndication' => 'non'))) $res = array('message_ok' => _T('form_prop_enregistre'), 'id_syndic'=>$id_syndic); return $res; } ?> formulaires/inc-forum_previsu.html000066600000002444151465510760013460 0ustar00
<:previsualisation:>
  • [
  • (#ENV*{erreur})
  • ]
[

]
formulaires/ecrire_auteur.html000066600000005306151465510760012642 0ustar00

[

(#ENV*{message_ok})

] [

(#ENV*{message_erreur})

] [(#ENV{editable})
[(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE{#ENV{action}} [(#REM) Previsualisation... ] [(#ENV*{erreurs}|table_valeur{previsu}|oui)
<:previsualisation:>
  • #ENV{sujet_message_auteur} - #ENV{email_message_auteur}
  • [(#ENV{texte_message_auteur}|nl2br)]

] [(#REM) Sinon, formulaire normal ]
<:envoyer_message:>
  • [(#ENV*{erreurs}|table_valeur{email_message_auteur})]
  • [(#ENV*{erreurs}|table_valeur{sujet_message_auteur})]
  • [(#ENV*{erreurs}|table_valeur{texte_message_auteur})]
[(#REM) Piege a robots spammeurs ]

]
formulaires/inc-login_forum_abo.html000066600000001613151465510760013711 0ustar00[(#REM) Presenter les regles du jeu du forum sur abonnement avec un lien vers la connexion / l'inscription / le rappel ]
<:Forum:> <:bouton_radio_modere_abonnement:>

<:forum_vous_enregistrer:> <:forum_vous_inscrire:>

[<:login:>] [[<:login_sinscrire:>]] [[<:login_motpasseoublie:>]]

inc-documents.html000066600000003573151465510760010230 0ustar00[(#REM) Portfolio : album d'images ] [(#REM) Afficher en grand le document demande dans l'URL ] [(#MODELE{emb}|image_reduire{500,0})] [(#REM) Si un seul document est joint a l'article, et si le texte est vide, on incruste automatiquement ce document ] [ (#TOTAL_BOUCLE|=={1} |?{[(#INCLURE{fond=modeles/emb}{id_document} |trim)]})] [(#REM) Sinon, liste des autres documents joints ] agenda_mois.html000066600000000406151465510760007716 0ustar00[(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, calendrier-couleur[(#ID_SECTEUR| modulo{14,1})]})][(#DATE| agenda_affiche{<:aucun_article:>, 'mois'} )]recherche.html000066600000007145151465510760007407 0ustar00 <:resultats_recherche:> - [(#NOM_SITE_SPIP|textebrut)]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : Resultats de la recherche ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > <:info_rechercher:>[ > (#RECHERCHE)]
[

<:resultats_recherche:>

« (#RECHERCHE) »

] [(#REM) Articles trouves ] [(#REM) Rubriques trouvees ] [(#REM) Mots-cles trouves ] [(#REM) Breves trouvees ] [(#REM) Messages trouves ] [(#REM) Sites web trouves ]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
 
[(#REM) Pied de page ]
modeles/article_mots.html000066600000000760151465510760011570 0ustar00[(#REM) Liste des mots-cles d'un article ][(#REM) Modele : liste des mots-cles d'un article #MODELE{article_mots} Pour la notation rel="tag" voir ] modeles/lesauteurs.html000066600000000565151465510760011302 0ustar00[(#REM) Affiche la liste des auteurs d'un article ][(#REM) Modele pour la balise #LESAUTEURS, dans le cas des auteurs d'un article (pour un article syndique, la balise affiche directement la valeur du champ) ] #NOMmodeles/favicon.html000066600000000406151465510760010525 0ustar00[] modeles/article_traductions.html000066600000001405151465510760013142 0ustar00[(#REM) Affiche les traductions disponibles d'un article. La langue de l'article courant s'affiche en gras, sans lien. ][(#REM) Note : le lien indique qu'il s'agit d'une traduction (version alternative dans la langue xx) ]

<:trad_article_traduction:> [(#TOTAL_BOUCLE|>{1}|?{' '}) [[(#EXPOSE{'',})][(#LANG|traduire_nom_langue)]#EXPOSE{'',}] ]

modeles/foreach.html000066600000000046151465510760010507 0ustar00#PUCE #ENV{cle} => #ENV{valeur}
distrib.html000066600000000774151465510760007120 0ustar00#HTTP_HEADER{Content-Type: application/x-javascript; charset=#CHARSET} document.write('
'); document.write('

[(#NOM_SITE_SPIP|addslashes)]

'); auteur.html000066600000006136151465510760006763 0ustar00 [(#NOM|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [(#REM) Favicon personnalisee a partir du logo (si filtres d'image) ] [(#MODELE{favicon}{favicon=#LOGO_AUTEUR})] [(#REM) Lien vers le flux RSS des articles de l'auteur ]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : affichage de l'auteur ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > <:info_auteurs:>[ > (#NOM|couper{80})]
[(#REM) microformat vcard]
[(#LOGO_AUTEUR|image_reduire{200,200})]

#NOM

[
(#BIO)
] [

<:voir_en_ligne:> : [(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]

]
[(#REM) / vcard] [(#REM) Articles de l'auteur ] #FORMULAIRE_ECRIRE_AUTEUR [

<:info_notes:>

(#NOTES)
]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Autres auteurs ]
[(#REM) Pied de page ]
agenda.css000066600000017311151465510760006516 0ustar00/* ------------------------------------------ */ /* Styles pour l'agenda de SPIP /* ce serait bien de trouver une methodologie de nommage ... */ /* ------------------------------------------ */ /* (pour le prive, style_prive predomine en ce qui concerne la couleur */ table.calendrier { border: 0; border-collapse: collapse; } table.calendrier-large { width: 70em; } table.calendrier-etroit { width: 60em; } table.calendrier caption { color: #FFF; background-color: #CCC; font-family: Verdana, Geneva, Sans, sans-serif; font-weight: bold; font-size: 1em; padding-bottom: 3px;} table.calendrier caption img { border: 0; vertical-align: middle; margin: 1px; } table.calendrier th { background: #DDD; width: 14%; padding: 5px; text-align: center; vertical-align: middle; font-size: 0.8em; font-weight: bold; font-family: Verdana, Geneva, Sans, sans-serif; } table.calendrier th a { color: #000; } table.calendrier td { border-color: #666; border-bottom: 1px solid; border-top: 0; height: 8em; vertical-align: top;} table.calendrier td > a { float: left; font-family: arial, helvetica, sans-serif; font-size: 1.2em; color: #000; } table.calendrier td > a+a { float: right; font-family: arial, helvetica, sans-serif; font-size: 1.2em; color: #000; } table.calendrier td > a + div {clear: both;} table.calendrier tr.heure td { border: 0; height: 8em; vertical-align: top;} tr.calendrier-titre-jour > th { width: 18%; } tr.calendrier-titre-jour > th+th { width: 3%; } tr.calendrier-titre-jour > th+th+th { width: 58%; } tr.calendrier-titre-jour > th+th+th+th { width: 3%; } tr.calendrier-titre-jour > th+th+th+th+th { width: 18%; } tr.calendrier-3jours > td { width: 18%; border: 1px solid; border-top: 0; } tr.calendrier-3jours > td+td { width: 3%; border: 0;} tr.calendrier-3jours > td+td+td { width: 58%; border: 1px solid; border-top: 0; } tr.calendrier-3jours > td+td+td+td { width: 3%; border: 0;} tr.calendrier-3jours > td+td+td+td+td { width: 18%; border: 1px solid; border-top: 0; } tr.calendrier-3jours > td > div {border: 0;} /* complements pour la bordure d'une case */ .bordure_left { border-left: 1px solid; } .bordure_right { border-right: 1px solid; } .bordure_double { border-right: 1px solid; border-left: 1px solid;} /* et pour son fond */ .jour_dimanche { background: #eee;color: #000; } .jour_encours { background: #FFF;color: #000; } .jour_gris { background: #eee;color: #000; } .jour_pris { background: #FFF;color: #000; } /* polices */ .calendrier-arial9 { font-family: Arial, Sans, sans-serif; font-size: 9px; } .calendrier-arial10 { font-family: Arial, Sans, sans-serif; font-size: 10px; } .calendrier-arial11 { font-family: Arial, Sans, sans-serif; font-size: 11px; } .calendrier-verdana { font-family: Verdana, Geneva, Sans, sans-serif; } .calendrier-helvetica16 { font-family: arial, helvetica, sans-serif; font-size: 16px; color: #000; } .calendrier-agenda-abb11 { border: 1px solid #000; margin-left: 1px; margin-top: 1px; padding: 1px; text-align: center; font-family: Arial, Sans, sans-serif; font-size: 11px; font-weight: bold;} .calendrier-agenda-abb11 a { color: black; } .calendrier-evt { cursor: auto; position: absolute; overflow: hidden; -moz-opacity: 0.6; filter: alpha(opacity=60); font-family: Arial, Sans, sans-serif;} .calendrier-annee { background: #AAA; padding: 3px; margin: 1px; font-family: Verdana, Geneva, Sans, sans-serif; font-size: 10px; font-weight: bold; color: #FFF; } .calendrier-annee:hover { color: #000; background-color: #FFF; } /* Typo des horaires dans une journee */ .calendrier-jour { position: relative; color: #999; border: 1px solid #AAA; border-right: 0;} /* heure pile */ .calendrier-jour > span { position: absolute; margin-left: 2px; margin-right: 2px; border-top: 1px solid #CCC; font-weight: bold; } /* minutes lors du zoom intelligent */ span.calendrier-jour-m { font-weight: normal; } .calendrier-agenda { margin-left: 1px; margin-top: 1px; padding: 1px; text-align: center; background-color: #FFF; } .calendrier-demiagenda { margin-left: 1px; margin-top: 0; padding: 0; text-align: center; background-color: #FFF; } .calendrier-tripleagenda { vertical-align: top; width: 33%; } .calendrier-cadreagenda { position: absolute; padding-bottom: 5px; border: 0; background: #eee; margin-top:20px; z-index: 1000;} .calendrier-titre { padding: 5px; text-align: center; font-weight: bold; } .calendrier-evenement { padding: 2px; margin-top: 2px; } .calendrier-opacity { -moz-opacity: 0.3; filter: alpha(opacity=30); } .calendrier-png { width: 12px; height: 12px; } .calendrier-icone { width: 14px; height: 7px; border: 0; } .calendrier-noir { color: #000; } /* style anar */ .calendrier-nb { background-color: #FFF; border: 1px solid #000; color: #000; } /* style cinemat(yp)ographe */ .calendrier-couleur1 { background: #FDE5F2; border: 1px solid #CD006F; color: #CD006F; } /* Fushia */ .calendrier-couleur1i { background: #CD006F; border: 1px solid #FDE5F2; color: #FDE5F2; } /* Fushia */ .calendrier-couleur2 { background: #EDF3FE; border: 1px solid #5da7c5; color: #5da7c5; } /* Bleu */ .calendrier-couleur2i { background: #5da7c5; border: 1px solid #EDF3FE; color: #EDF3FE; } /* Bleu */ .calendrier-couleur3 { background: #EBE9FF; border: 1px solid #766CF6; color: #766CF6; } /* Bleu pastel */ .calendrier-couleur3i { background: #766CF6; border: 1px solid #EBE9FF; color: #EBE9FF; } /* Bleu pastel */ .calendrier-couleur4 { background: #FEC; border: 1px solid #FA9A00; color: #FA9A00; } /* Orange */ .calendrier-couleur4i { background: #FA9A00; border: 1px solid #FEC; color: #FEC; } /* Orange */ .calendrier-couleur5 { background: #FFEDED; border: 1px solid #F00; color: #F00; } /* Rouge (Vermillon) */ .calendrier-couleur5i { background: #F00; border: 1px solid #FFEDED; color: #FFEDED; } /* Rouge (Vermillon) */ .calendrier-couleur6 { background: #FFF2EB; border: 1px solid #E95503; color: #E95503; } /* Orange */ .calendrier-couleur6i { background: #E95503; border: 1px solid #FFF2EB; color: #FFF2EB; } /* Orange */ .calendrier-couleur7 { background: #FFE; border: 1px solid #ccaa00; color: #ccaa00; } /* Jaune */ .calendrier-couleur7i { background: #ccaa00; border: 1px solid #FFE; color: #FFE; } /* Jaune */ .calendrier-couleur8 { background: #E2FDEC; border: 1px solid #009F3C; color: #009F3C; } /* Vert pastel */ .calendrier-couleur8i { background: #009F3C; border: 1px solid #E2FDEC; color: #E2FDEC; } /* Vert pastel */ .calendrier-couleur9 { background: #e5fd63; border: 1px solid #9DBA00; color: #9DBA00; } /* Vert */ .calendrier-couleur9i { background: #9DBA00; border: 1px solid #e5fd63; color: #e5fd63; } /* Vert */ .calendrier-couleur10 { background: #FFE0E0; border: 1px solid #640707; color: #640707; } /* Rouge (Bordeaux) */ .calendrier-couleur10i { background: #640707; border: 1px solid #FFE0E0; color: #FFE0E0; } /* Rouge (Bordeaux) */ .calendrier-couleur11 { background: #F2F2F2; border: 1px solid #3F3F3F; color: #3F3F3F; } /* Gris */ .calendrier-couleur11i { background: #3F3F3F; border: 1px solid #F2F2F2; color: #F2F2F2; } /* Gris */ .calendrier-couleur12 { background: #AAA; border: 1px solid #000; color: #000; } .calendrier-couleur12i { background: #000; border: 1px solid #AAA; color: #AAA; } .calendrier-couleur13 { background: #FFFFE0; border: 1px solid #666500; color: #666500; } /* Caca d'oie */ .calendrier-couleur13i { background: #666500; border: 1px solid #FFFFE0; color: #FFFFE0; } /* Caca d'oie */ .calendrier-couleur14 { background: #F5EEE5; border: 1px solid #8C6635; color: #8C6635; } /* Marron */ .calendrier-couleur14i { background: #8C6635; border: 1px solid #F5EEE5; color: #F5EEE5; } /* Marron */ .calendrier-summary {font-family: Verdana, Geneva, Sans, sans-serif; font-weight: bold;} .calendrier-location {font-family: Verdana, Geneva, Sans, sans-serif; border:0} .calendrier-attendee {border:0} .calendrier-url {border: 0} inc-forum.html000066600000005506151465510760007355 0ustar00[(#REM) Cette balise (invisible) provoque le recalcul du forum la premiere fois qu'un message est poste (cf. inc/invalideur). ] [(#PARAMETRES_FORUM|?{''})] [(#REM) Nombre total de messages ] [

(#TOTAL_BOUCLE|>{0}|?{#TOTAL_BOUCLE,''}) [(#TOTAL_BOUCLE|=={1}|?{<:message:>,<:messages_forum:>})]

] [(#REM) Messages du forum ]
  • #TITRE [(#DATE|affdate_jourcourt)][ (#DATE|heures)][:(#DATE|minutes)][, <:par_auteur:> (#NOM|couper{80})]
    [(#TEXTE|lignes_longues)] [
    (#NOTES|safehtml|lignes_longues)
    ] [

    <:voir_en_ligne:> : [(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]

    ] [(#EXTENSION|match{'^(gif|jpg|png)$'}|?{ [(#MODELE{emb}|image_reduire{300})] , [(#LOGO_DOCUMENT{#URL_DOCUMENT})] })] [

    <:repondre_message:>

    ]
    • #TITRE [(#DATE|affdate_jourcourt)][ (#DATE|heures)][:(#DATE|minutes)][, <:par_auteur:> (#NOM|couper{80})]
      [(#TEXTE|lignes_longues)] [
      (#NOTES|safehtml|lignes_longues)
      ] [

      <:voir_en_ligne:> : [(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]

      ] [(#EXTENSION|match{'^(gif|jpg|png)$'}|?{ [(#MODELE{emb}|image_reduire{300})] , [(#LOGO_DOCUMENT{#URL_DOCUMENT})] })] [

      <:repondre_message:>

      ]
inc-pied.html000066600000001725151465510760007145 0ustar00
SPIP | <:squelette:>[ (#SESSION{id_auteur}|?{' '})| <:icone_deconnecter:> ][(#SESSION{id_auteur}|?{'',' '})| ][ (#AUTORISER{ecrire})| <:espace_prive:>] | <:plan_site:> | <:icone_suivi_activite:> RSS 2.0
[(#REM) Cette balise permet de deporter les calculs lourds (indexation etc) dans une image cachee, ce qui evite de ralentir l'affichage des pages. ]#SPIP_CRON engines-list.txt000066600000006404151465510760007730 0ustar00# ----------------------------------------------------------------------------- # Les Visiteurs - Engines List # ----------------------------------------------------------------------------- # [Engine Name] # word= | word => query | directory # host 1 # host 2 # hots ... # ----------------------------------------------------------------------------- # sort the list according your visits (see your referrers). # ----------------------------------------------------------------------------- [IP] rien= [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ [Google] (^q|\&q|as_q)= (www\.|ww\.|maps\.)?(google|gogole)\.(.*) (web|www).toile.com www\.cegetel\.net search\.conduit\.com search\.sweetim\.com chello\.fr [Voila] (kw|rdata)= (search|moteur)(.*)\.voila\.(fr|com) [Yahoo!] p= (.*)(search|ink|dir|google)\.yahoo\.([a-z]+)$ [AltaVista] q= (.*)altavista\.com [Ask] q= (.*)\.ask\.com [HotBot] query= www\.hotbot\.com [Freeserve] q= search\.freeserve\.com [Skeech] query= skeech\.com [Dogpile] query= (.*)dogpile\.com [Metacrawler] query= metacrawler\.com [Mirago] qry= www.mirago\.([a-z]+)$ [Nomade] s= (.*)\.nomade\.fr (.*)\.nomade\.tiscali\.fr (.*)\.nomade\.aliceadsl\.fr [Alice] qs= \.aliceadsl\. [Lycos] query= search\.lycos\.com vachercher\.lycos\.fr [Francite] name= recherche\.francite\.com [MSN] (q|s)= search(.*)\.msn\.([a-z.]+)$ leguide(.*)\.msn\.([a-z]+)$ search\.ninemsn\.com\.au [Bing] q= (.*)\.bing\.com bing\.com search\.live\.com [Excite] search= www\.excite\.fr (.*)\.excite\.co\.jp [AOL France] (query|q|r)= (.*)recherchet?\.aol\.fr [AOLsearch] query= (.*)search\.aol\.(.*) [AllTheWeb] q= www\.alltheweb\.com [ixquick] query= ixquick\.com [Netscape] search= search-intl\.netscape\.com search\.netscape\.com www\.netscape\.fr [Free] q= search(.*)\.free\.fr [9online] query= www\.9online\.fr [Naver] query= search\.naver\.com [Club Internet] q= recherche\.club-internet\.fr [Sympatico] query= search\.sli\.sympatico\.ca [Overture] Keywords= www\.overture\.com [moteur-recherche.net] keyword= www\.moteur-recherche\.net [Reacteur.com] kw= www\.reacteur\.com [francesurf] q= www\.francesurf\.net [n9uf] ((K|k)eywords|query)= (www\.)?neuf\.fr [MozBot] q= www\.mozbot\.([a-z]+)$ [Cegetel] q= (www\.)?cegetel\.([a-z]+)$ [MyWay] searchfor= kf\.mysearch\.myway\.com www\.mywebsearch\.com (.*)\.mysearch\.com [MonGenie] Keywords= www\.mongenie\.com [Need2Find] searchfor= kx\.search\.need2find\.com [Exalead] q= www\.exalead\.fr www\.exalead\.com [Virgilio.it] qs= search\.virgilio\.it [Libero.it] query= arianna\.libero\.it [LemmeFind] t= www\.lemmefind\.fr [NovoNeo] q= www\.novoneo\.com [MyWebSearch] searchfor= search\.mywebsearch\.com [Copernic] query= find\.copernic\.com [Seek] qry_str= \.seek\.fr [Orange, le moteur] rdata= www\.lemoteur\.fr [alOt] q= search\.alot\.com # # Dmoz # [dmoz.org] rien= (.*\.)?dmoz\.org [FoxRef] key= www\.foxref\.org [OneBigWorld] Keywords= fr\.onebigworld\.com [BlueWin] query= search\.bluewin\.ch [EO] q= www\.eo\.st [HooSeek] recherche= (www\.)?hooseek\.com [Lost] x_query= (www\.)?lo\.st [Babylon] q= search\.babylon\.com # # Services de mail # [(email)] rien= imp(.*)\.free\.fr fc\.kayenta\.com courrielweb\.cmaisonneuve\.qc\.ca (.*)mail\.(.*)\.([a-z]+)$ webmail([0-9]*)\.wanadoo\.fr www\.laposte\.net mail([0-9]*)\.voila\.fr \/(web)?mail\/ backend-breves.html000066600000004660151465510760010331 0ustar00[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] [(#NOM_SITE_SPIP|textebrut|texte_backend)] #URL_SITE_SPIP/ [(#DESCRIPTIF_SITE_SPIP|texte_backend)] #LANG SPIP - www.spip.net [ [(#NOM_SITE_SPIP|texte_backend)] (#LOGO_SITE_SPIP|image_reduire{150,150}|extraire_attribut{src}|url_absolue|texte_backend) #URL_SITE_SPIP/ [(#LOGO_SITE_SPIP|image_reduire{150,150}|extraire_attribut{height})] [(#LOGO_SITE_SPIP|image_reduire{150,150}|extraire_attribut{width})] ] [(#TITRE|supprimer_tags|texte_backend)] [(#URL_BREVE|url_absolue)] [(#URL_BREVE|url_absolue)] [(#DATE|date_iso)] text/html [(#LANG)] [(#REM) Le bloc qui suit diffuse diffuse les mots-cles a la mode RSS ][ (#TITRE|texte_backend)] [(#INTRODUCTION|texte_backend)] [(#REM) Le bloc qui suit diffuse la rubrique et les mots-cles sous forme de "microformats" ]- [<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|texte_backend)</a>] / [<a href="[(#URL_MOT|url_absolue)]" rel="tag">(#TITRE|texte_backend)</a>] [(#REM) Le bloc qui suit diffuse aussi le texte integral de la breve, ce qui permet une syndication plus riche (mais plus "lourde"). Fonction desactivable depuis les reglages du site. ][ (#CONFIG{syndication_integrale}|=={oui}|?{' ',''})[(#LOGO_BREVE{right}|image_reduire{150,150}|texte_backend) ][<div class='rss_texte'>(#TEXTE|texte_backend)</div> ][<hr /> <div class='rss_notes'>(#NOTES|texte_backend)</div>] ] plan.html000066600000006302151465510760006403 0ustar00 <:plan_site:> - [(#NOM_SITE_SPIP|textebrut)] []
[(#REM) Entete de la page + titre du site ] [(#REM) Le plan de site ci-dessous est a adapter selon les besoins. En particulier, on n'aura pas necessairement besoin de tous les elements (sous-rubriques, articles, breves et sites) ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > <:plan_site:>

<:plan_site:>

#TITRE

[(#REM) Articles et sous-rubriques ]

<:articles:>

[(#REM) Breves ]

<:breves:>

[(#REM) Sur le Web ]

<:sites_web:>

[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
 
[(#REM) Pied de page ]
favicon.ico.html000066600000000141151465510760007642 0ustar00#HTTP_HEADER{Content-Type: image/x-icon}[(#INCLURE{favicon.ico} |sinon{#INCLURE{spip.ico}})] agenda_jour.html000066600000004712151465510760007732 0ustar00

[(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, calendrier-couleur[(#ENV{theme,0}|modulo{14,1})]})][(#DATE|agenda_affiche{<:aucun_article:>, 'jour', calendrier-couleur[(#ENV{theme,0}|modulo{14,1})]})][(#TOTAL_BOUCLE|?{' ',''}) ] habillage.css000066600000021402151465510760007203 0ustar00/* --------------------------------------------------------- */ /* Feuille de style des squelettes par defaut pour SPIP 2.0 */ /* --------------------------------------------------------- */ /* ------------------------------------------ /* Typographie generale (style transversaux) /* ------------------------------------------ */ html { font-size: 100%; } /* Cf.: http://pompage.net/pompe/definir-des-tailles-de-polices-en-CSS/ */ body { font-size: 0.8125em; font-family: "Luxi sans", "Lucida Grande", Lucida, "Lucida Sans Unicode", sans-serif; color: #333; } /* Titraille / Intertitres */ h1,h2,h3,h4,h5,h6 { margin: 0; padding: 0; font-weight: normal; font-size: 1em; font-family: Georgia, Times, serif; } h1 { font-size: 1.70em; color: #000; } h2 { font-size: 1.40em; font-weight: normal; } h2, h2 a, h2 a:focus, h2 a:hover, h2 a:active { color: #003; } h3 { font-size: 1.20em; font-weight: bold; } h3.spip {} /* Cf.: spip_style.css */ hr.spip {} /* Cf.: spip_style.css */ /* Autres enrichissements typo */ strong { font-weight: bold; } em { font-style: italic; } abbr, acronym { border-bottom: 1px dotted; cursor: help; } small { font-size: 0.90em; color: #666; } dfn { font-weight: bold; color: #666; } del { text-decoration: line-through; } ins { color: red !important; text-decoration: none; } sup, sub { font-size: .8em; font-variant: normal; } /* Listes */ ul.spip {} /* Cf.: spip_style.css */ ol.spip {} /* Cf.: spip_style.css */ dl {} dt {} dd {} /* Citations, code et poesie */ cite {} q {} blockquote {} blockquote.spip {} /* Cf.: spip_style.css */ blockquote.spip_poesie {} /* Cf.: spip_style.css */ .spip_code {} /* Cf.: spip_style.css */ .spip_cadre {} /* Cf.: spip_style.css */ address {} /* Tableaux */ table.spip {} /* Cf.: spip_style.css */ /* Logos, documents et images */ img { margin: 0; padding: 0; border: 0; } .spip_logos {} /* Cf.: spip_style.css */ .spip_documents {} /* Cf.: spip_style.css */ .spip_documents_center {} /* Cf.: spip_style.css */ .spip_documents_left {} /* Cf.: spip_style.css */ .spip_documents_right {} /* Cf.: spip_style.css */ .spip_doc_titre {} /* Cf.: spip_style.css */ .spip_doc_descriptif {} /* Cf.: spip_style.css */ /* ------------------------------------------ /* Disposition a l'ecran des blocs principaux /* ------------------------------------------ */ body { background: #FFF; margin: 0; padding: 0; text-align: center; } #page { position: relative; width: 58em; margin: 0 auto; text-align: left; } #entete { width: 58em; margin: 0; padding-top: 1.60em; border-bottom: 2px solid #8B6F92; } #entete a.accueil { display: block; width: 67%; } #entete a.accueil img.spip_logos { vertical-align: bottom; line-height: 1em; } #entete a.accueil #nom_site_spip { vertical-align: bottom; font-size: 2.2em; font-family: Georgia, Times, serif; font-weight: normal; } #entete .formulaire_menu_lang { position: absolute; right: 0; top: 0.90em; display: block; width: 30%; } /*Cf.: spip_formulaires.css*/ #conteneur { clear: both; float: left; width: 67%; overflow: hidden; } #contenu { padding-top: 0.30em; } #navigation { float: right; width: 30%; margin-top: 1em; overflow: hidden; } #extra { float: right; clear: right; width: 30%; margin-top: 1em; overflow: hidden; } #pied { clear: both; width: 100%; margin: 0; padding: 0.40em 0; border-top: 1px solid #8B6F92; text-align: center; font-size: 0.90em; } #pied img { vertical-align: middle; } /* Espaceur de blocs */ .nettoyeur { clear: both; height: 0; margin: 0; padding: 0; border: 0; line-height: 1px; font-size: 1px; } /* Non visible a l'ecran */ .invisible { position: absolute; top: -3000em; height: 1%; } /* ------------------------------------------ /* Habillage des elements du contenu /* ------------------------------------------ */ #hierarchie { clear: both; margin-bottom: 2em; font-size: 0.90em; } #hierarchie, #hierarchie a { color: #666; } .cartouche { margin-bottom: 2em; } .cartouche .spip_logos { float: right; margin-left: 16px; margin-bottom: 4px; } .cartouche p { margin: 0; padding: 0; clear: left; } .surtitre, .soustitre { font-size: 0.90em; color: #666; text-transform: uppercase; letter-spacing: 0.10em; } .cartouche .surtitre { margin-bottom: 0.30em; } .cartouche .soustitre { margin-top: 0.50em; margin-bottom: 0.30em; } .cartouche .traductions { font-size: 0.90em; } .chapo { margin-bottom: 1.50em; line-height: 1.40em; font-weight: bold; color: #669; } .texte { line-height: 1.60em; } .hyperlien { display: block; background: #EEE; padding: 0.50em 1em; font-weight: bold; color: #8B6F92; } .ps, .notes { margin-bottom: 2em; line-height: 1.40em; } .notes { clear: both; font-size: 0.90em; } abbr.published { border: 0; } /* Portfolio */ #documents_portfolio { clear: both; margin: 2em auto; text-align: center; } #documents_portfolio .spip_logos { margin: 6px 3px 0 3px; border: 4px solid #DDD; } #documents_portfolio a.on .spip_logos { border-color: #F57900; } #documents_portfolio a:focus .spip_logos, #documents_portfolio a:hover .spip_logos, #documents_portfolio a:active .spip_logos { border-color: #8B6F92; } /* Habillage des forums ---------------------------------------------- */ .repondre { clear: both; margin-top: 2.50em; margin-right: 1em; text-align: right; font-weight: bold; } /* Habillage des forums */ ul.forum { display: block; clear: both; margin: 0; padding: 0; } ul.forum, ul.forum ul { list-style: none; } .forum-fil { margin-top: 1.50em; } .forum-fil ul { display: block; margin: 0; padding: 0; margin-left: 1em; } .forum-chapo .forum-titre, .forum-chapo .forum-titre a { display: block; margin: 0; padding: 0; font-weight: bold; color: #333; } .forum-texte { margin: 0; padding: 0.50em 1em; color: #333; } .forum-texte .hyperlien {} .forum-texte .repondre { margin: 0; padding: 0.10em 0; text-align: right; } /* Boite d'un forum : eclaircissement progressif des bords */ ul .forum-message { border: 1px solid #666; margin: 0; padding: 0; margin-bottom: 1em; } ul ul .forum-message { border: 1px solid #A4A4A4; } ul ul ul .forum-message { border: 1px solid #B8B8B8; } ul ul ul ul .forum-message { border: 1px solid #CCC; } ul ul ul ul ul .forum-message { border: 1px solid #E0E0E0; } ul ul ul ul ul ul .forum-message { border: 1px dotted #E0E0E0; } /* Boite de titre d'un forum : mise en couleur selon la profondeur du forum */ ul .forum-chapo { border: 0; border-bottom: 1px dotted #B8B8B8; margin: 0; padding: 3px 6px 2px 6px; background: #C4E0E0; } ul ul .forum-chapo { background: #D4E8E8; } ul ul ul .forum-chapo { background: #E4F0F0; } ul ul ul ul .forum-chapo { background: #F4F8F8; border-bottom: 1px dotted #E0E0E0; } ul ul ul ul ul .forum-chapo { background: #FFF; } /* Habillage des petitions ---------------------------------------------- */ #signatures { clear: both; margin: 0 0 2em 0; padding: 0; background: none; } #signatures table { width: 100%; margin: 1em 0 0 0; } #signatures thead { text-align: center; color: #555; } #signatures td { padding: 0.50em; border: 2px solid #FEFEFE; vertical-align: top; } #signatures td.signature-date { background: #E4F0F0; text-align: center; white-space: nowrap; } #signatures td.signature-nom { background: #ECF4F4; text-align: center; } #signatures td.signature-nom small { display: block; } #signatures td.signature-message { background: #F4F8F8; } #signatures .formulaire_recherche { margin: 1em 0; text-align: right; } /*Cf.: spip_formulaires.css*/ #signatures .formulaire_recherche input.text { width: 10em; text-align: left; } /*Cf.: spip_formulaires.css*/ /* ------------------------------------------ /* Sous-navigation et autres menus /* ------------------------------------------ */ /* Habillage general des menus de navigation */ .menu { clear: both; margin-bottom: 2em; text-align: left; } .menu p { margin: 0.20em 0; padding: 0.20em 0.10em; } .menu ul { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #DDD; } .menu ul li { margin: 0.20em 0; padding: 0.20em; border-top: 1px solid #DDD; } .menu ul li ul { margin-left: 1em; border: 0; } .menu ul li li { padding: 0; border: 0; } /* Pagination */ .pagination { clear: both; text-align: right; font-size: 0.90em; color: #666; } .pagination .on { font-weight: bold; color: #666; } /* Rubriques */ .rubriques ul { border: 0; } .rubriques ul li { background: #EEE; border: 0; } .formulaire_recherche { margin-bottom: 2em; } /*Cf.: spip_formulaires.css*/ /* Listes d'articles et extraits introductifs */ .articles ul li { clear: both; padding: 0.40em 0.20em; } .articles ul li h3 { margin: 0.30em 0; } .articles .spip_logos { float: right; clear: right; margin: 0 0 4px 16px; } .articles ul li .enclosures { float: right; text-align: right; max-width: 60%; margin: 0; } .articles ul li .introduction { margin-top: 0.30em; line-height: 1.40em; } /* Couleurs des liens ---------------------------------------------- */ a { color: #604A7F; text-decoration: none; } a:focus,a:hover,a:active { color: #F57900; text-decoration: underline; }forum.html000066600000011041151465510760006575 0ustar00 <:poster_message:> - [(#NOM_SITE_SPIP|textebrut)]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu : poster un message dans le forum ]
[(#REM) Fil d'Ariane ]

<:poster_message:>

#FORMULAIRE_FORUM
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
 
[(#REM) Pied de page ]
nouveautes.html000066600000001543151465510760007651 0ustar00[[(#NOM_SITE_SPIP|textebrut)]] <:nouveautes:> <:bonjour:> <:texte_lettre_information:> "[(#NOM_SITE_SPIP|textebrut)]" (#URL_SITE_SPIP). <:texte_lettre_information_2:> [(#ENV{jours_neuf})] <:jours:>. <:nouveaux_articles:> -------------------------- [** (#TITRE|textebrut) **] [<:par_auteur:> (#LESAUTEURS|textebrut)] [- (#DATE|affdate)] [ (#INTRODUCTION|textebrut) ] -> [(#URL_ARTICLE|url_absolue)] <:nouvelles_breves:> -------------------------- [* (#TITRE|textebrut) *] [ - (#DATE|affdate)] [ (#INTRODUCTION|textebrut) ] -> [(#URL_BREVE|url_absolue)] feed.png000066600000001325151465510760006174 0ustar00PNG  IHDRaIDAT8uAhTWsߛ7dĘĄ6m q *R)\:Ս !* (F身i(H.ąDJLb&޽x#^.sGF/ʝÅP5b1kq "2υrp{j_cB!0 &4@{Cwhhr-G܋1c$* H)CǤƯ"v={Nt6 &4H.N#uAo!~=iPEkBDD6n_>$DYI#&#D_| Q(zB'7v]MK<#&. R&{Ww`qYhqIV;*Й1V~4Hx ڶi$_"|ӦQ<>v, _I+?ࣝGi@Fс_ b4 [J%TނM V0}Hxol4gtU46ly,, L[7>$/?"* "/t ImFTV=i&y9E2;E!'ܷv%iFOoBGGcn/@3M4QR8NFPc  AKH,s2]Q>IENDB`polices/dustismo_bold.ttf000066600000147660151465510760011624 0ustar00@OS/2VOΤVPCLT"ڱ6cmapo0cvt io.fpgm3OglyfHi?`hdmxؼLheadx46hhea l$hmtxV2`kernG,loca&|dmaxpx-ϐ name postXc@prepبk& >d)"X% E ,     >d ) "  X%Copyright (c) Dustin Norlander, 2002. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later Copyright (c) Dustin Norlander, 2002. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later DustismoDustismo Bold BoldDustismo BoldDustismo BoldDustinNorlander: Dustismo: 2002DustinNorlander: Dustismo: 2002Version 1.06 2003Version 1.06 2003DustismoBoldDustismoBoldDustismo is a trademark of Dustin Norlander.Dustismo is a trademark of Dustin Norlander.@,vE %E#ah#h`D-~YiEfZbZb@ EhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDF+F+EhDEhDV@ @ Fv/7?..@/* *-(' &%!+*(-%('&Fv/7?Mءrrvv(PMuuutNP%m42@:33@4%$ 2%$" .  '++ Fv/7?//////....................10Ih 3Iha@RX8738Y"654#32?6'3'#"&547&'&547632j_l24Lh@_)6jõ,-WQox1%`]I[6\oM2YR-/n&5tr5]D8ˈaB4emD?yc>0:\jM?@@Fv/7?@@Fv/7/9;@\rnmqqnns _ i@- @     Fv/7?/'^@$((@)'& '&Fv/7?IAK&V@ ''@( #" "Fv/7?////........10Ih'Iha@RX87'8Y"327#654&%632# '&576!"~RdOJ|wSPm}~q2@1BAndOVkrtmb|^@%@Fv/7?;ZZynOYXQmkRYYRkyxMxxMX64j;AjjC>?DhhBV-+Cڌqhd[1 ǧت۷[ GӮR澶ABXhQ+Hoݒprnn=%+ܧڤ0أ|AùǚM @>@          Fv/7? @     Fv/7?K Mnzob+d.[@#//@0-,*)*),#''Fv/7??/p<34ZߴocPbMY@#@   Fv/7?@@Fv/7?;^bf-0 Ml@1@     Fv/7?H\WM_njfIO [@$@      Fv/7?? @     Fv/7?54&57&4654&'7f','-SR-'*'fEHQbn,1]-dt2ӨKBE2DwMG@BHH@I /.D/.(9 F1 C *=7'('#DCA A#A,##A'Fv/7?/<</<<<[Mf.ON%G0)0xN8ZKH& s q 6@ @  Fv/7///10Ih Iha@RX87 8Y4632#"& ^]^_^\]~&a@(@    Fv/7?33@4*%$ $ &&%%&* 0 '&"-'-0Fv/7?//<<///<54'&#"3!53&5476$kD@c2mu||uBBl2c?E'ecʧ@wzAܧ%L@IMM@N@HFE? FE@76 8# )*17*)..!&%.87<3/.LCFv/7?< */LJ0*Zbju_D_b"vURiYT@gU$@6%%@&    ""Fv/7?< 6529/.  )%< ';0./+6567632&'&547650#"'&4JLNe a&H $K2LOQcw 9H4i]` , $2+',/DuEL2e_b .  /,#M %)5AO@PPP@Q-EDED(&&)&''())&(() 9-G#3?M6* &0'J 0<('B)& MFv/7??<?/.DFrssv!rst4tSSvt|>,,==,+?@+->,)B/://<=.+>MѠssvursss(PNtvtr&$h5]&(et&$yr5]w&(^]&(CkC&,lJ&,n0|&,&,Cn$&24e$&2t$&2Ck,&8o,&8n,U&8C5UN@@Fv/7?@@Fv/7?MF@@  Fv/7?///10IhIha@RX878Y"3254'2#"&54699>>JhgKGgg8888ucJJbeGGf' D@@  Fv/7?Cxu;2+NSݬuomtuk?iB&<h}M&\'e "@?##@$     Fv/7/@@Fv/7/&HgA5]M @8@      Fv/7?;^bf-0( @=t5]&(qM&H$&*{M&J$&*g>&J5A,&8p.2&XW, &8.C&XW$&2n2&R$1&2P&R3&10{5M&Q&7{?%&W q&,n2'M @>@       Fv/7?&QM&7_/&WmM&'"M&GW;M{@6@       Fv/7?\$<  !f"$"$$%&8&'h(B)8)*|*+n+,,-0.../0X1(123h445v567D789:;;?@@A(ABXBpBBBBBCCC.CFC^CvCCCCCDDD0DHD`DxDDDDDEEE4ELF.FGHJJK LZMhN2NOPQ.QRSTV WWXtXYZZ[X[p[[\]^ ^d_8`>`aPbbb0bcd,dddef\fgipiiiiijjj0jHj`jxjjjjkFkl^lmmnnoopnq8qPqfq~qr rtt(t@u4vvvwBwZwpwwwwwwwwwwwwwwwwwxyyyyyyzzzzzzzzzzzzzz{J{J{J{J{J{J{J{J{J{{{{|4|F|^|v|||||}}.}F}^}v}}}}}~~*BZr<Tl*BZr2Jbz ":R0F^t0H`x4Ld| ":Rjbzt0H^nVS%\5#(+8,33w& ./%12)F*6/3X<#~5n$g555$.5(533$B3$g3B,W6%3{B"N3!HK3( j95j3})5{5w56w3 !..W2n/2Z'J`$53|$,ududududududpppp8Tm5uuuuu . . . .+ E2[ $c%U< 0:}%U.\V! /|$P,/3N#(=`6$/?3pE9Rf(55tttt|$|$|$,,,5$m/' >64, &(%/M;6(`'/N$j !n$n$\  HKK@~53~53~53n$w3g3w3g3w3g3$B,.. ! !,..,..,..HKHKn$3{5^ 5}%/%/6nHKn$g5=55555$j$j,..,..$$3{5B$j.59PM/(j35$n5}5}3{59p.>Bgm ;z,,1.HK`$,..:~5<2  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0glyph218uni20ACglyph219uni00DFmiddotuni0192glyph224glyph226glyph227glyph228ch262ch263glyph232glyph233glyph234glyph235glyph236glyph237glyph238glyph239rcaronRcaronuni0157uni0156racuteRacuteomacronOmacronuni0162uni0163UogonekuogonekSacutesacute Scircumflex scircumflexUtildeutildeUmacronumacronUringuringAmacronamacronAogonekaogonek Ccircumflex ccircumflexNacutenacuteItildeitildeImacronimacronuni0130 Jcircumflex jcircumflexLacutelacuteZacutezacuteuni017Buni017C Wcircumflex wcircumflex Ycircumflex ycircumflexAbreveabreveuni010Auni010BDcarondcaronEmacronemacronEbreveebreveuni0116uni0117EogonekeogonekEcaronecaron Gcircumflex gcircumflexuni0120uni0121Ubreveubreveuni0170uni0171Obreveobreveuni0150uni0151NcaronncaronTcarontcaronIbreveibreveIogonekiogonekuni0122uni0123 Hcircumflex hcircumflexIJijuni0136uni0137uni013Buni013CLcaronlcaronLdotldotuni0145uni0146hbarHbaruni0149Tbartbaruni0110uni0111EngengUhornuhornuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4Alphauni0390uni038FBetaGamma$$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aՆbcdefgݏhjikmlnoqprsutvwxzy{}|~۩ B@~7~     " & 0 : D !"!&""" 9     & 0 9 D !"!&"""B4$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh jikmlnoqprsutvwxzy{}|~34LM5678NOPQRSTUVWXYZ[\]^_pqrs;<=>lmno?tu@AvwBCxyz{|}9:~hi$#defg"! )*+,%&jk-./0`a12bc'(HIJKDEFG$@$*$2$62$92DWD\HYHZKHLMNHQ pRZUDUHUJUQ8URUUVGAYHYRZR[H                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           fJADBE Kqc `MuDustismo 7DUSR00Mo_<zz>Rk2>PL@ Npolices/dustismo-license.txt000066600000045227151465510760012262 0ustar00Dustismo is Copyright (C) 2002 Dustin Norlander Homepage: http://www.cheapskatefonts.com email: nutso@cheapskatefonts.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ------------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. polices/dustismo.ttf000066600000146200151465510760010611 0ustar00@OS/2UNtVPCLT"ڤ6cmapmL0cvt oq 6fpgm3Oglyf"zdhdmxx,Hheadڦ 6hhea B<$hmtxCS`@kernG|locaDmaxpj&` name O@ postYeprep&>X)"X  9!,    >X ) "  X Copyright (c) Dustin Norlander, 2002. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later Copyright (c) Dustin Norlander, 2002. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later DustismoDustismoRegularRegularDustismoDustismoDustinNorlander: Dustismo: 2002DustinNorlander: Dustismo: 2002Version 1.06 2003Version 1.06 2003DustismoDustismoDustismo is a trademark of Dustin Norlander.Dustismo is a trademark of Dustin Norlander.@,vE %E#ah#h`D-sWK-nvWZbZb@' EhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDF+F+EhDEhDV@ @ Fv/7?@@  Fv/7///....10IhIha@RX878Y56'5:VŻV:+mRRm+@1@Y@             Fv/7/FA,iU[ :/D?/2?HS>@@Fv/7/?..@m/@@/.??*KQ@@Fv/7? 9CJECIp$q^@%@Fv/7?;;>CJtsLFFLstJCxiosiheehisۯoi(o%N@&&@'#  Fv/7?///FU-@A,.BBA,iU[ :/D?/2?L'k@-@Fv/7?/.ć........10IhIha@RX878Y 5'q%osHBT@ @ Fv/7/FhiA7z @HroIBckokЦi_K9c#R@$$@% # Fv/7??/<<......10Ih$Iha@RX87$8Y47632#&'&#"327673#"'&59ӵ~!]`c``c`]!~ӋS֙{vQSrllrSQv{JK W@!@    Fv/7? @     Fv/7?m^W1K o@. @    Fv/7?@@Fv/7?M [@$@      Fv/7??:ru~%ZE\~}dE}6{<UQ/XT39{&$9j&$(9c&&""Ja&(!kH&19v&2Ar&8zK&DHzK&DCYzJ&Dz &Dz&Dzx&D.-3&F@0K&HA0K&HCS0K&H0&HwQ&fS&Cf`K&i&/rJ&Q4K&RA4K&RC!4K&R4 &R4&RCK&XCK&XCQCN&XC&Xx@\mF&n@-''@(     #%  Fv/7/"M!>tB#~PJJPd#8%%%&5.@DK D@@   Fv/7??///10Ih Iha@RX878Y2#"&546"32654&7ppnn6OM88RSKoonnK58JK76J!>g@- @!     Fv/7??))99)*>?))98tK@M@      Fv/7?GI#=4 Fv/7?<EAP@N JJ[9[T?sG K@@    Fv/7?KQ@@Fv/7?@@Fv/7?/......10IhIha@RX878Y J H*>@@Fv/7?/......10IhIha@RX878Y 5HL85YM&I8LMcK&I,Oh@@BAA@B@10 9810  @%5<+%  (->3# 980Fv/7?t t<<t " FF#2&&&&2 SLSFF 2&&&&24 6@ @  Fv/7///10Ih Iha@RX87 8Y4632#"&4?//>?..@%/@@/.??5K-:@@  Fv/7///..10IhIha@RX878Y72'67.546,C?Dfy/>FA,iU[ :/D?/2?9. {:TQ.VR1K>@@Fv/7?}H(yK @F @       Fv/7?}H<&6p@K&Vα1&=hDpT&]η Q}KO@@ Fv/7?l>@@Fv/7/+p1&=nDp@&]1&=3Dp&]'=5-&:Jn<-K&ZV&<n!qK&\9&$ta(&D9&&a3&FW=J&'sPyf&GR<Ja1&( dq4&H Ja&({4(&HJa&(4&HgAJaK x@4@        Fv/7?>@?.,$86#;1 ,+( 5 Fv/7???Iha@RX87>8Y%27654'&#""'&54763253#"&'7326="&54767\WV]`\[āwȪ TW{|,C?Dfy/>FlskkssllrɓɳԨzILȓ[WA,iU[ :/D?/2?J&+nx&K,z1K&,-o/qM&LMr=K&.HK&NJ K&/K&O>`J e&/`T&O>#~J K&/#WK&O>4HK&1TJ&QeK&K %S@G@      Fv/7?&`'l;&JK%R(J@@Fv/7?v??@@A@AXApAAAAABBB.BFB^BvBBBBBCCC0CHC`CxCCCCCDDD4EEFrGHIIJKLM>MNOPQRxSTTUVW^WXlXYZ>ZVZnZ[\\]J]^_0_`\`t``b"bbccdVde,eg`gxggggghh h8hPhhhhhhi6ijjljkfklJlmNnnnooo4opqqqrstNu:uRuhuuuuuuuuuvwwwwwwx|x|x|x|x|x|x|x|x|x|x|x|x|x|yDyDyDyDyDyDyDyDyDyyyyz.z@zXzpzzzzz{{({@{X{p{{{{{||}}}}~~*~B~Z~r~~~~.F^v4Ld| $<Tl,,D\t0H`v~ ":Rj(4Ld|<(@Xn *@Pwlil!k!(:hsJ8 @)hEHHY;5D( F)$ 1(\CLHn%~9`JP9IJJJs9Jd1=JsHHl9$Hs9IHe5$~A9!5i91H]X=0Ha*arH<3Ye4!L/J/ LHcV J]Je4YJLYH9dC9!<=P!DGq c,p9p9B9JH^9pAWzWzWzWzWzWz3R0R0R0R0`iOJW4W4W4W4W4CCCC@.!b[G=5p%..9v:7 !.1_:k%{s-826D~9p9^92ADH0.8<b$b0 B!!A!HRYMhH4h5<1p9Jp9JJV1V VV^9^9^9pApApAJL,ODT=T=a,(e<@1D/QL B!<Dyds9L/e59P93P93> ~9*aaU`JrH`JrH`JrHP93YHIHYHIHYHIHe4l9$d~ACe59e59~AC~AC~AC~9*a~9*aP93H]Jdd@!d1~-J1D1D5<P!~9*aP93IJPJe4Je4Je4Je4Je4s9L/s9L/~AC~ACl9e4l9e4H]J$ddd1/s9L/Jx/1/=LHJJJH]JW$dI0uQ\AAC~9*adBl9e4~AC9#`JR2  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0glyph218uni20ACglyph219uni00DFmiddotuni0192glyph224glyph226glyph227glyph228ch262ch263glyph232glyph233glyph234glyph235glyph236glyph237glyph238glyph239rcaronRcaronuni0157uni0156racuteRacuteomacronOmacronuni0162uni0163UogonekuogonekSacutesacute Scircumflex scircumflexUtildeutildeUmacronumacronUringuringAmacronamacronAogonekaogonek Ccircumflex ccircumflexNacutenacuteItildeitildeImacronimacronuni0130 Jcircumflex jcircumflexLacutelacuteZacutezacuteuni017Buni017C Wcircumflex wcircumflex Ycircumflex ycircumflexAbreveabreveuni010Auni010BDcarondcaronEmacronemacronEbreveebreveuni0116uni0117EogonekeogonekEcaronecaron Gcircumflex gcircumflexuni0120uni0121Ubreveubreveuni0170uni0171Obreveobreveuni0150uni0151NcaronncaronTcarontcaronIbreveibreveIogonekiogonekuni0122uni0123 Hcircumflex hcircumflexIJijuni0136uni0137uni013Buni013CLcaronlcaronLdotldotuni0145uni0146hbarHbaruni0149Tbartbaruni0110uni0111EngengUhornuhornuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4Alphauni0390uni038FBetaGamma$$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aՆbcdefgݏhjikmlnoqprsutvwxzy{}|~۩ B@~7~     " & 0 : D !"!&""" 9     & 0 9 D !"!&"""B4$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~+,DE-./0FGHI}~JKLMNOPQRSTUVWhijkyx3456defg7lm89no:;pqrstu12vw`az\]^_!"#$bc{|%&'(XY)*Z[ @ABC<=>?   $@$*$2$62$92DWD\HYHZKHLMNHQ pRZUDUHUJUQ8URUUVGAYHYRZR[H                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           fJADBE@ Kqc `KuDustismo 7DUSR00jg_<zzWnk2WRM@ Dspip_formulaires.css000066600000011312151465510760010655 0ustar00/* ------------------------------------------ /* Habillage des formulaires /* ------------------------------------------ */ input, select, textarea { font-size: 100%; font-family: inherit; } /* Structure generale des formulaires ----------------------------------------------- */ .formulaire_spip { clear: both; margin-bottom: 2em; padding: 0; border: 0; text-align: left; font-size: 1em; } .formulaire_spip form { margin: 0; padding: 0; } /* Bug IE/Win */ /* Fieldset */ .formulaire_spip fieldset { clear: both; margin: 0 0 1em 0; padding: 0; border: 0; } .formulaire_spip fieldset legend { margin: 0; padding: 0; font-size: 1.05em; font-weight: bold; background-color: #fff; color: #333; } /* Preciser la couleur des legend et du fond pour IE/Win */ .formulaire_spip fieldset fieldset { margin-top: 1em; } .formulaire_spip fieldset fieldset legend { font-size: 1em; font-weight: normal; } /* Explications */ .formulaire_spip .explication { margin: 0.50em 0; color: #444; } /* Lignes */ .formulaire_spip ul { margin: 0; padding: 0; list-style: none; } .formulaire_spip ul li { clear: both; margin: 0; padding: 0.50em 0; } /* Labels */ .formulaire_spip label { display: block; text-align: left; color: #444; font-weight: bold; /* pour IE/Win */ position: relative; } .formulaire_spip li p { margin-top: 0; margin-bottom: 0; } .formulaire_spip .choix label{display:inline;font-weight:normal;} .formulaire_spip .choix input.radio, .formulaire_spip .choix input.checkbox {width:auto;} /* Champs de saisie */ .formulaire_spip input.text { width: 15em; border: 1px inset; } .formulaire_spip textarea { width: 99%; border: 1px inset; } .formulaire_spip select { width: 99%; } /* Boutons */ .formulaire_spip .boutons { clear: both; margin: 0; padding: 0; text-align: right; } .formulaire_spip .boutons input { margin-left: 1em; } .formulaire_spip .boutons input, input.submit {} /* Reponses, previsu et erreurs ----------------------------------------------- */ /* Champs obligatoires */ .formulaire_spip li.obligatoire {} .formulaire_spip li.obligatoire label {} /* Previsualisation du message */ .formulaire_spip fieldset.previsu { margin-bottom: 2em; padding: 1em; border: 2px dashed #F57900; } .formulaire_spip fieldset.previsu legend { padding: 0 0.50em; font-weight: bold; color: #F57900; } .formulaire_spip fieldset.previsu li { padding: 3px; border: none; } .formulaire_spip fieldset.previsu p { margin: 1em 0; } /* Reponse du formulaire */ .reponse_formulaire { font-weight: bold; color: #e86519; font-size: 1.20em; } fieldset.reponse_formulaire { border-color: #e86519; font-weight: normal; } fieldset.reponse_formulaire.reponse_formulaire legend { color: #F57900; } /* Preciser la couleur des legend et du fond pour IE/Win */ /* * Erreurs */ .formulaire_spip li.erreur .erreur_message { display: block; color: #C30; font-weight: bold; } .formulaire_spip li.erreur input.text, .formulaire_spip li.erreur textarea { background-color: #FCC; border-style: solid; border-color: #C30; } .reponse_formulaire_erreur { margin: 0; color: #C30; font-weight: bold; } /* * OK */ .reponse_formulaire_ok { margin: 0; color: #53AD20; font-weight: bold; } /* Variantes et cas particuliers ----------------------------------------------- */ /* Barre de raccourcis typographiques */ table.spip_barre { width: 100%; } table.spip_barre a img { background: #FDA; padding: 3px; border: 1px outset #CC9; } table.spip_barre a:focus img, table.spip_barre a:hover img, table.spip_barre a:active img { background: #FFF; border: 1px solid #CC9; } table.spip_barre input.barre { width: 99%; background: transparent; border: 0; color:inherit; } /* Formulaire de forum */ .formulaire_forum .saisie_titre input.text, .formulaire_forum .saisie_titre textarea { width: 98%; } /* Selection des langues */ .formulaire_menu_lang { margin: 0; padding: 0; background: none; } /* Formulaires de recherche (site / petitions) */ .formulaire_recherche { margin: 0; padding: 0; background: none; } .formulaire_recherche * { display: inline; vertical-align: middle; } .formulaire_recherche label {} .formulaire_recherche input.text { width: 10em; padding-left: 25px; background: #FFF url(rechercher.gif) no-repeat left center; } .formulaire_recherche input.submit {} .spip_surligne {} /* Cf.: spip_style.css */ /* Choix des mots-clefs */ ul.choix_mots { display: block; margin: 0; padding: 0; list-style: none; } ul.choix_mots li { clear: none; float: left; display: block; width: 30%; padding: 1%; } ul.choix_mots li label { display: inline; font-weight: normal; } .formulaire_spip .bugajaxie { display: none; } /* Bug IE/Win */ /* Formulaire de login dans une page */ .formulaire_login ul li {clear:left;} .formulaire_login .editer_password .details {display:block;} .formulaire_login #spip_logo_auteur {float:right;} rechercher.gif000066600000001224151465510760007362 0ustar00GIF89aaᬮްϭ񴷷ū찲Ÿï갲ܫĭ꬯!a,aN7a` RWB'` -T< F `?53;9`I_KXC`Q`4JU`Y /Z(P> +$!@_1OP:"`6(膨 C)&*Ѐ(0) `A>°PNJ4O,8dW:q(hHO.AAT1.D< ;breve.html000066600000006301151465510760006553 0ustar00 [(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [(#REM) Lien vers le flux RSS des breves ]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu : corps de la breve ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > [(#TITRE|couper{80})][ > (#TITRE|couper{80})]
[(#LOGO_BREVE|image_reduire{200,200})]

#TITRE

[(#DATE|nom_jour) ][(#DATE|affdate)]

[
(#TEXTE)
] [

<:voir_en_ligne:> : [(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]

] [

<:info_notes:>

(#NOTES)
] [(#REM) Forum de la breve NB : pour desactiver les forums de breve, supprimez simplement les lignes ci-dessous ] [

<:repondre_breve:>

]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Breves dans la meme rubrique ] [(#REM) Menu de navigation mots-cles ]
[(#REM) Pied de page ]
inc-rss-item.html000066600000004417151465510760007770 0ustar00 [(#TITRE|supprimer_tags|texte_backend)] [(#URL_ARTICLE|url_absolue)] [(#URL_ARTICLE|url_absolue)] [(#DATE|date_iso)] text/html [(#LANG)] [(#LESAUTEURS|supprimer_tags|texte_backend)] [(#REM) Le bloc qui suit diffuse les mots-cles a la mode RSS ] [(#TITRE|texte_backend)] [(#INTRODUCTION|texte_backend)] [(#REM) Le bloc qui suit diffuse la rubrique et les mots-cles sous forme de "microformats" ]- [<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|supprimer_tags|texte_backend)</a>] / [<a href="[(#URL_MOT|url_absolue)]" rel="tag">(#TITRE|texte_backend)</a>] [(#REM) Le bloc qui suit diffuse aussi le texte integral de l'article, ce qui permet une syndication plus riche (mais plus "lourde"). Fonction desactivable depuis les reglages du site. ][ (#CONFIG{syndication_integrale}|=={oui}|?{' ',''})[(#LOGO_ARTICLE|right||image_reduire{150,150}|texte_backend) ][<div class='rss_chapo'>(#CHAPO|texte_backend)</div> ][<div class='rss_texte'>(#TEXTE| image_reduire{500,0}|texte_backend)</div> ][<div class="hyperlien"><:voir_en_ligne|html2unicode:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]}|texte_backend)]</a></div> ][<hr /> <div class='rss_notes'>(#NOTES|texte_backend)</div> ][<div class='rss_ps'>(#PS|texte_backend)</div>] ] [(#REM) Le bloc qui suit diffuse l'adresse des documents associes aux articles ; ajouter par ex. {extension=mp3} pour limiter a un certain type de document. ] [ ] mot.html000066600000011770151465510760006255 0ustar00 [(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [(#REM) Lien vers le flux RSS des articles du mot cle ]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : contenu du mot-cle ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > <:mots_clefs:> > [(#TITRE|couper{80})][ > (#TITRE|couper{80})]
[(#LOGO_MOT|image_reduire{200,200})]

#TITRE

[
(#TEXTE)
] [(#REM) Articles lies au mot-cle ] [(#REM) Rubriques liees au mot-cle ] [(#REM) Breves liees au mot-cle ] [(#REM) Liens des forums ] [(#REM) Sites web lies au mot-cle ] [

<:info_notes:>

(#NOTES)
]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Menu de navigation mots-cles : les autres mots cles du meme groupe ] [(#REM) Menu de navigation mots-cles : les autres groupes avec un lien sur le premier mot du groupe ]
[(#REM) Pied de page ]
rss_forum_breve.html000066600000002550151465510760010654 0ustar00#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET} [[(#NOM_SITE_SPIP|texte_backend)] <:ecrire:titre_page_forum_suivi:> ]RSS[ (#TITRE|texte_backend)] [(#URL_BREVE|url_absolue|texte_backend)] [(#ENV{lang}|texte_backend)] [(#TITRE|texte_backend)][ ((#ENV{page}|=={publie}|?{#STATUT, "publie"}|=={publie}|?{'', #STATUT}))] [(#URL_FORUM|url_absolue|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#DATE|date_iso)] text/html [(#LANG|texte_backend)] ['; [(#AUTEUR|texte_backend)][ <(#EMAIL_AUTEUR|texte_backend)>] [ (#TEXTE|liens_absolus|texte_backend)]#NOTES rss_forum_article.html000066600000002620151465510760011172 0ustar00#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET} [[(#NOM_SITE_SPIP|texte_backend)] <:ecrire:titre_page_forum_suivi:> ]RSS[ (#TITRE|texte_backend)] [(#URL_ARTICLE|url_absolue|texte_backend)] [(#ENV{lang}|texte_backend)] [(#TITRE|texte_backend)][ ((#ENV{page}|=={publie}|?{#STATUT, "publie"}|=={publie}|?{'', #STATUT}))] [(#URL_FORUM|url_absolue|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#DATE|date_iso)] text/html [(#LANG|texte_backend)] ['; [(#AUTEUR|texte_backend)][ <(#EMAIL_AUTEUR|texte_backend)>] [ (#TEXTE|liens_absolus|texte_backend)][(#NOTES|texte_backend)] robots.txt.html000066600000000561151465510760007600 0ustar00#HTTP_HEADER{Content-Type: text/plain; charset=#CHARSET} # robots.txt # @url: #URL_SITE_SPIP # @generator: SPIP #SPIP_VERSION # @template: #SQUELETTE User-agent: * Disallow: /local/ Disallow: /ecrire/ Disallow: /extensions/ Disallow: /lib/ Disallow: /plugins/ Disallow: /prive/ Disallow: /squelettes-dist/ Disallow: /squelettes/ Sitemap: #URL_SITE_SPIP/sitemap.xml puce.gif000066600000000123151465510760006201 0ustar00GIF89a ===JJJqqqFFF!, xܾ؀ QguQ2 ;agenda_periode.html000066600000000521151465510760010374 0ustar00[ (#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, 'calendrier-couleur6'}) ][(#TOTAL_BOUCLE| agenda_affiche{<:aucun_article:>, 'periode', 'calendrier-couleur6'} )]404.html000066600000002734151465510760005765 0ustar00#HTTP_HEADER{#VAL{"HTTP/1.0 "}|concat{#ENV{code,"404 Not Found"}}} #HTTP_HEADER{"Cache-Control: no-store, no-cache, must-revalidate"} #HTTP_HEADER{Pragma: no-cache} <:pass_erreur:> [(#ENV{status,404}) ]- [(#NOM_SITE_SPIP|textebrut)]
[(#REM) Entete de la page + titre du site ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > <:pass_erreur:> [(#ENV{status,404})]

<:pass_erreur:> [(#ENV{status,404})]

[

(#ENV{erreur})

]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
 
[(#REM) Pied de page ]
puce_rtl.gif000066600000000124151465510760007063 0ustar00GIF89a ===JJJqqqFFF!, xkXx"BDF;rss_forum_thread.html000066600000002604151465510760011020 0ustar00#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET} [[(#NOM_SITE_SPIP|texte_backend)] <:ecrire:titre_page_forum_suivi:> ]RSS[ (#TITRE|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#ENV{lang}|texte_backend)] [(#TITRE|texte_backend)][ ((#ENV{page}|=={publie}|?{#STATUT, "publie"}|=={publie}|?{'', #STATUT}))] [(#URL_FORUM|url_absolue|texte_backend)] [(#URL_FORUM|url_absolue|texte_backend)] [(#DATE|date_iso)] text/html [(#LANG|texte_backend)] ['; [(#AUTEUR|texte_backend)][ <(#EMAIL_AUTEUR|texte_backend)>] [ (#TEXTE|liens_absolus|texte_backend)]#NOTES impression.css000066600000006351151465510760007471 0ustar00/* ---------------------------------------------------------------- */ /* Feuille de style specifique a l'impression */ /* ---------------------------------------------------------------- */ /* Correction des styles HTML par defaut ---------------------------------------------- */ body { background: #FFF; margin: 15pt; text-align: left; font: 12pt "Luxi sans", "Lucida Grande", Lucida, "Lucida Sans Unicode", sans-serif; color: #000; } img, table { margin: 0; padding: 0; border: 0; } ul, ol, li { margin: 0; padding: 0; list-style: none; } h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-size: 1em; font-weight: normal; } /* Ne pas imprimer : on elimine les elements de navigation (display: none; ) ---------------------------------------------- */ #entete, #hierarchie, #navigation, #extra, #pied { display: none; } .repondre, .repondre, .formulaire_spip { display: none; } .spip-admin, .spip-admin-float, .spip-previsu, .invisible { display: none; } /* Disposition a l'ecran ---------------------------------------------- */ .nettoyeur { clear: both; } /* Pour les liens, on les souligne et /* on affiche l'URL cible a la suite des liens sortants (!) ---------------------------------------------- */ a { color: #520; text-decoration: underline; } a.spip_out:after, a.spip_glossaire:after, a.spip_mail:after { display: inline; content: " [" attr(href) "]"; } /* Un peu de coquetterie ---------------------------------------------- */ .cartouche { margin-bottom: 2em; } .cartouche small { font-size: 0.71em; } h1 { font-size: 1.27em; font-weight: bold; } .cartouche p { margin: 0; padding: 0; clear: left; } .cartouche .traductions { display: none; } .cartouche .surtitre, .cartouche .soustitre { font-size: 0.82em; font-variant: small-caps; } .spip_logos { float: right; margin-left: 0.80em; } .chapo { margin-bottom: 1.5em; font-size: 0.82em; font-weight: bold; line-height: 1.40em; } .hyperlien { font-size: 0.82em; font-weight: bold; } .texte { line-height: 1.40em; } .ps, .notes, #documents_portfolio, #documents_joints { clear: both; margin-top: 1.40em; padding-top: 0.20em; border-top: 2pt solid #CCC; font-size: 0.82em; } .ps h2, .notes h2, #documents_joints h2 { font-weight: bold; clear: both; } /* Citations, tableaux, etc... ---------------------------------------------- */ .hyperlien, .articles li .texte { background: #FFF; margin: 1em; padding: 1em; border: 1pt dotted #CCC; } /* Messages de forums ---------------------------------------------- */ .forum { margin: 2em 0; font-size: 0.82em; } .forum-fil ul { margin-left: 0.50em; } .forum-chapo .forum-titre { display: block; font-weight: bold; } ul .forum-message { background: #EEE; border: 1pt solid #CCC; padding: 1em; margin-bottom: 1em; } /* Listes d'articles ----------------------------------------------- */ .articles li { margin-bottom: 1em; padding-top: 0.30em; } .articles li .titre { font-size: 1.03em; font-weight: bold; } .articles li p { margin: 0; padding: 0; } .articles li small { display: block; font-size: 0.71em; } /* Plan du site ---------------------------------------------- */ .page_plan #contenu h2 { font-size: 1.15em; font-weight: bold; } .page_plan #contenu ul { margin-left: 1em; margin-bottom: 1em; } .page_plan #contenu li { list-style: square; }article.html000066600000007565151465510760007110 0ustar00 [(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] []
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : contenu de l'article ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > [(#TITRE|couper{80})][ > (#TITRE|couper{80})]
[(#LOGO_ARTICLE|image_reduire{200,200})] [

(#SURTITRE)

]

#TITRE

[

(#SOUSTITRE)

]

[(#DATE|nom_jour) ][(#DATE|affdate)][, <:par_auteur:> (#LESAUTEURS)][ (<:texte_date_publication_anterieure:> (#DATE_REDAC|affdate)).]

[(#REM) Inclure le modele des liens de traductions ] #MODELE{article_traductions}
[
(#CHAPO|image_reduire{500,0})
] [
(#TEXTE|image_reduire{500,0})
]
[

<:voir_en_ligne:> : [(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]

] [

<:info_ps:>

(#PS|image_reduire{500,0})
] [(#REM) Gestion du portfolio et des documents Le critere {env} permet de passer d'autres arguments de la page par exemple l'id_document choisi pour un affichage complet ] [(#INCLURE{fond=inc-documents}{id_article}{env})] [(#REM) Petition : La petition ayant une PAGINATION il faut absolument {env} et pourquoi pas ajax ][(#PETITION|?{' '})] [

<:info_notes:>

(#NOTES)
] [(#REM) Forum de l'article ] [

<:repondre_article:>

]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Articles dans la meme rubrique ] [(#REM) Menu de navigation mots-cles ] #MODELE{article_mots}
[(#REM) Pied de page ]
site.html000066600000007676151465510760006434 0ustar00[(#REM) Un cache plus court, pour la boucle syndic_articles ]#CACHE{3600} [(#REM) Les sites n'ont pas de "lang" a proprement parler ; on se base donc sur la langue de la rubrique qui les contient. Les articles syndiques, eux, ont une "lang". ] [(#NOM_SITE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [(#REM) On demande aux moteurs de ne pas indexer cette page pour ne pas passer devant le site qu'on reference. ]
[(#REM) Entete de la page + titre du site ] [(#REM) Contenu principal : affichage du site ]
[(#REM) Fil d'Ariane ]
<:accueil_site:> > [(#TITRE|couper{80})][ > (#NOM_SITE|couper{80})]
[
(#DESCRIPTIF)
] [

(#URL_SITE|couper{80})

] [(#REM) Articles issus de la syndication ] [

<:info_notes:>

(#NOTES)
]
[(#REM) Menu de navigation laterale ] [(#REM) Menu de navigation laterale ]
[(#REM) Autres sites web ] [(#REM) Menu de navigation mots-cles ]
[(#REM) Pied de page ]
ical.html000066600000002002151465510760006352 0ustar00#HTTP_HEADER{Content-Type: text/calendar; charset:#CHARSET} BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID: SPIP http://www.spip.net VERSION:2.0 X-WR-CALNAME;VALUE=TEXT:[(#NOM_SITE_SPIP|filtrer_ical)] X-WR-RELCALID:[(#URL_SITE_SPIP|filtrer_ical)] BEGIN:VEVENT SUMMARY:[(#TITRE|filtrer_ical)] [[(#NOM_SITE_SPIP|filtrer_ical)]] UID:article#ID_ARTICLE @ [(#URL_SITE_SPIP|filtrer_ical)] DTSTAMP:[(#DATE|date_ical)] DTSTART:[(#DATE|date_ical)] DTEND:[(#DATE|date_ical{60})] CATEGORIES:<:articles|filtrer_ical:> URL:[(#URL_ARTICLE|url_absolue)] STATUS:CONFIRMED END:VEVENT BEGIN:VEVENT SUMMARY:[(#TITRE|filtrer_ical)] [[(#NOM_SITE_SPIP|filtrer_ical)]] UID:breve#ID_BREVE @ [(#URL_SITE_SPIP|filtrer_ical)] DTSTAMP:[(#DATE|date_ical)] DTSTART:[(#DATE|date_ical)] DTEND:[(#DATE|date_ical{60})] CATEGORIES:<:breves|filtrer_ical:> URL:[(#URL_BREVE|url_absolue)] STATUS:CONFIRMED END:VEVENT END:VCALENDAR agenda_semaine.html000066600000000547151465510760010376 0ustar00[(#DATE|agenda_memo{#DESCRIPTIF, #TITRE, #URL_ARTICLE, [(#COMPTEUR_BOUCLE| alterner{'calendrier-couleur2', 'calendrier-couleur4'})]})][(#DATE| agenda_affiche{<:aucun_article:>, 'semaine', 'calendrier-couleur2','calendrier-couleur4'} )] inc-rubriques.html000066600000001527151465510760010245 0ustar00[(#REM) Barre de navigation, ouverte sur la hierarchie courante On fait un plan, et, quand on avance vers une rubrique, on l'affiche si son parent est expose ou est la racine du site. ] agenda.html000066600000001510151465510760006664 0ustar00 [ ] <:icone_agenda:> - [(#NOM_SITE_SPIP|textebrut)] [(#ENV{type, mois}|agenda_connu)] spip.png000066600000003411151465510760006242 0ustar00PNG  IHDR0PsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATHVmPSW~or/B0!afVYq.iٵ;:Jwש팝YlڝUڪ`AܕHT$p>䆄s=.2NlysDD.\O ?pOM>cL ŻvlߜBb==7559/fi0;^С2YBZJ2&/T@EE/XUO>fBzaT*Ex);ᓩ=t+#Sܪh>YChB "B755)4uێ*j-**rtvv-BĒ]U*ϲ>l6?dj]]Ő59Xx%%z/ 'm9r3 p2T7m]ζ,J%bCE3iۆƴd|&hBB=eY,DN71l6BZsCUygjAF[Z .rGwttr4==-9t`cff+Um OO@z+ɘxxI~zZ5WQwrS'π"!pwwwt Po \.oIj=zpzjǎ!@?{`0BTFp#GL$.^;*02Ư(X D p˝}~6; ! K|ݮ>X~Dْ衡!E~#BDQ¦?yF6:zT9%i9I݇;4Ej&|{.V|njNR_9kZXxCG3RZs8xw@I(QĢt.p"!Ι7ou=f7;7 ccc2 ..E"~qzz("tYTE(_ץ<Bd ҙb<!2Fn-˄g2tZ$WMnޭr?B;O~eRLOt0C$8>8}<)))!D`fFqGBpYe9].BVܹmBX/]+ ^YR><;]"+~9ˎ~tΆ-%BV5 (Lݷ!#/ .0 ^銊3?7߿U"y0 .(ȿxe议8!PǏ%333tFFŋΧ\呚" !z?ƃ}CJCr^ξnPznXTݩ%smz'\xyiᄏ9^X"'s騢hT#ԊǑZ7Jxw:ǜ:pn!"R0_4,b,BQzMز<ۭ(--7Lu֎ݷohkkKO~VӈQgqov!ASk5t*JF?}ӈ[ L !{Ѝ1,.pţ( t⵾8^XTY0Fq;^f~ Y}Iԓ9IENDB`