source: spip-zone/_galaxie_/galactic/galactic_spip_net/galactic_spip_net_fonctions.php

Last change on this file was 105541, checked in by nicolas.dorigny@…, 3 years ago

Un squelette basé sur le design créé par Jordan
cf la capture écran sur l'article https://contrib.spip.net/Refonte-de-l-identite-graphique

Ce squelette Z et SCSS est conçu pour être surchargé par des thèmes spécialisé, sous la forme d'autres plugins à installer.

Ce ne sont pas des thèmes au sens de ceux qui existent pour la dist ou pour Spipr, ces thèmes là peuvent déclarer des dépendances, des configurations, des options etc.
Ils s'installent donc comme des plugins et pas avec Zen-Garden.

Deux thèmes pour l'instant : programmer.spip.net, et spip.net

C'est un travail en cours, j'uploade tout ça sur la zone pour le partager et en discuter.

TODO : une documentation du squelette et de la façon de créer un thème (surcharges).

File size: 1.8 KB
Line 
1<?php
2
3$GLOBALS['puce'] = '- ';
4
5# pour ceux qui ont le vieux modele et utilisent [-><version|stableurl>]
6function filtres_telecharger($texte) {
7        return str_replace('&lt;version|stableurl&gt;', 'https://files.spip.net/spip/', $texte);
8}
9
10// pour les forums
11function raccourcir_nom($nom) {
12        if (strpos($nom, "@")) {
13                $nom = substr($nom, 0, strpos($nom, "@"));
14        }
15        return $nom;
16}
17
18// pour afficher proprement le nom des langues
19function afficher_nom_langue ($lang) {
20        if (preg_match(",^oc(_|$),", $lang))
21                return "occitan";
22        else
23                return traduire_nom_langue($lang);
24}
25
26// hack pour ne jamais afficher les secteurs d'aide en ligne
27// sauf evidemment dans le cas de l'aide en ligne, ou dans l'espace prive
28define('secteurs_aide', '324');
29if (!defined('aide_en_ligne')
30AND !_DIR_RACINE) {
31        function boucle_ARTICLES($id_boucle, &$boucles) {
32                $boucles[$id_boucle]->where[] = array("'NOT IN'", "'articles.id_secteur'", '"('.secteurs_aide.')"');
33                return boucle_DEFAUT_dist($id_boucle, $boucles);
34        }
35        function boucle_RUBRIQUES($id_boucle, &$boucles) {
36                $boucles[$id_boucle]->where[] = array("'NOT IN'", "'rubriques.id_secteur'", '"('.secteurs_aide.')"');
37                return boucle_DEFAUT_dist($id_boucle, $boucles);
38        }
39        function boucle_HIERARCHIE($id_boucle, &$boucles) {
40                $boucles[$id_boucle]->where[] = array("'NOT IN'", "'rubriques.id_secteur'", '"('.secteurs_aide.')"');
41                return boucle_HIERARCHIE_dist($id_boucle, $boucles);
42        }
43}
44
45// Prend une URL et lui ajoute/retire une ancre après l'avoir nettoyee
46// pour l'ancre on vire les non alphanum du debut, et on remplace ceux dans le mot par -
47// https://code.spip.net/@ancre_url replace{}
48function ancre_url_propre($url, $ancre) {
49        // lever l'#ancre
50        if (preg_match(',^([^#]*)(#.*)$,', $url, $r)) {
51                $url = $r[1];
52        }
53        $ancre = preg_replace(array('/^[^-_a-zA-Z0-9]+/', '/[^-_a-zA-Z0-9]/'), array('', '-'), $ancre);
54        return $url .'#'. $ancre;
55}
56
Note: See TracBrowser for help on using the repository browser.