Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 jpm 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
530 ddelon 22
// CVS : $Id: pap_style.fonct.php,v 1.3 2005-10-12 17:20:33 ddelon Exp $
4 jpm 23
/**
24
* Les fonctions permettant d'inclure des styles CSS.
25
*
26
* Ces fonctions permettent d'inclure des CSS directement dans les pages
27
* des applications. Elles peuvent donc être appelées par les applications
28
* intégrées à Papyrus.
29
*
30
*@package Papyrus
31
*@subpackage Fonctions
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
35
*@author        Aucun
36
*@copyright     Tela-Botanica 2000-2004
530 ddelon 37
*@version       $Revision: 1.3 $ $Date: 2005-10-12 17:20:33 $
4 jpm 38
// +------------------------------------------------------------------------------------------------------+
39
*/
40
// +------------------------------------------------------------------------------------------------------+
41
// |                                           LISTE de FONCTIONS                                         |
42
// +------------------------------------------------------------------------------------------------------+
43
 
44
/** Fonction GEN_modifierTypeStyle() - Permet de stocker le type des styles intégrés.
45
*
46
* Papyrus permet à une application donnée d'intégrer des styles directement dans
47
* l'entête de la page. Cette fonction définit le type Mime des styles utilisés.
48
* En XHTML strict, cette fonction ne devrait pas être utilisé car les styles devraient être
49
* stockés dans des fichiers séparés.
50
*
51
* @deprecated déprécier dans le cadre d'application XHTML.
52
* @global   string  "style_type" : utilisé pour stocker le type des styles intégrés dans l'entête de la page.
53
* @param    string  le type des styles intégrés.
54
* @return   void    le type des styles intégrés est stocké dans une variable globale.
55
*/
56
function GEN_modifierTypeStyle($type = 'text/css')
57
{
58
    global $_GEN_commun;
59
 
60
    $_GEN_commun['style_type'] .= $type;
61
}
62
 
63
/** Fonction GEN_stockerStyleIntegree() - Permet de stocker un style utilisé par une application.
64
*
65
* Papyrus permet à une application donnée de stocker des styles intégrés
66
* directement dans l'entête de la page. En XHTML strict, l'utilisation de cette
67
* fonction est déconseillée. Utiliser plutôt une feuille de styles externes qui
68
* sera appelé par l'entête. Cette fonction peut être appelé plusieurs fois. Elle ne
69
* fait que stocker les styles dans une variable globale utilisée par Génésia.
70
*
71
* @deprecated déprécier dans le cadre d'application XHTML.
72
* @global   string  "style_integree" : utilisé pour stocker les styles intégrés.
73
* @param    string  le style à insérer.
74
* @return   void    le style est stocké dans une variable globale.
75
*/
76
function GEN_stockerStyleIntegree($style_integree)
77
{
78
    global $_GEN_commun;
79
 
80
    $_GEN_commun['style_integree'] .= $style_integree;
81
}
82
 
83
/** Fonction GEN_stockerStyleExterne() - Permet de stocker des fichiers de styles externes.
84
*
85
* Papyrus permet à une application donnée de stocker des feuilles de styles externes qui seront
86
* appelés depuis l'entête de la page. En XHTML strict, l'utilisation de cette
87
* fonction est conseillée.
88
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les chemin des
89
* feuilles de styles externes dans une variable (tableau associatif) globale utilisée par Papyrus.
90
*
91
* @global   array   "style_fichier" : utilisé pour stocker les chemins des feuilles de styles externes.
92
* @param    string  la clé du tableau de fichiers, par exemple le nom de la feuille de styles externes à insérer.
93
* @param    string  le chemin complet du fichier de styles à insérer.
94
* @param    string  le titre de la feuille de styles externes.
95
* @param    string  la relation de la feuille de style (stylesheet, alternate stylesheet, ...).
96
* @param    string  le type MIME des styles (text/css, ...).
97
* @param    string  le type de média concerné par la feuille de styles (screen, print, aural, ...).
98
* @return   void    le chemin du fichier CSS est stocké dans une variable (tableau associatif) globale.
99
*/
100
function GEN_stockerStyleExterne($id_fichier, $chemin_fichier, $titre = '', $rel = 'stylesheet', $type = 'text/css', $media = 'screen')
101
{
102
    global $_GEN_commun;
103
 
104
    if (empty($_GEN_commun['style_externe'][$id_fichier])) {
105
        $_GEN_commun['style_externe'][$id_fichier]['rel'] = $rel;
106
        $_GEN_commun['style_externe'][$id_fichier]['type'] = $type;
107
        $_GEN_commun['style_externe'][$id_fichier]['media'] = $media;
108
        $_GEN_commun['style_externe'][$id_fichier]['titre'] = $titre;
109
        $_GEN_commun['style_externe'][$id_fichier]['chemin'] = $chemin_fichier;
530 ddelon 110
    }
4 jpm 111
}
112
 
113
/** Fonction GEN_afficherStyle() - Permet de renvoyer les styles dans l'entete.
114
*
115
* Cette fonction récupère les feuilles de styles stockés dans les variables globales de Papyrus
116
* et les retourne formatés pour l'affichage dans l'entête du squelette du site.
117
* C'est la balise Génésia <!-- STYLES --> qui permet de situer l'endroit où afficher
118
* les CSS.
119
*
120
* @global   array   "style_externe" : utilisé pour stocker les chemins des feuilles de styles externes et
121
* "style_integree" : utilisé pour stocker les styles intégrés directement dans l'entête.
122
* @return string le code XHTML contenant les styles à insérer dans l'entête.
123
*/
124
function GEN_afficherStyle()
125
{
126
    global $_GEN_commun;
127
    $sortie = '';
128
 
129
    $styles_externes = '';
130
    if (isset($_GEN_commun['style_externe'])) {
131
       foreach ($_GEN_commun['style_externe'] as $cle => $valeur) {
132
            $styles_externes .= str_repeat(' ', 8).
133
                                '<link rel="'.$valeur['rel'].'" '.
134
                                    'type="'.$valeur['type'].'" '.
135
                                    'media="'.$valeur['media'].'" '.
136
                                    'title="'.$valeur['titre'].'" '.
137
                                    'href="'.$valeur['chemin'].'" />'."\n";
138
        }
139
        $sortie .= $styles_externes;
140
    } else {
141
        $sortie .= '<!-- Aucun style externe -->'."\n";
142
    }
143
 
144
    $styles_integrees = '';
145
    $styles_integrees = $_GEN_commun['style_integree'];
146
    if ($styles_integrees != '') {
147
        $sortie .= "\n";
148
        $sortie .= str_repeat(' ', 8).'<style type="'.$_GEN_commun['style_type'].'">'."\n";
149
        $sortie .= str_repeat(' ', 12).'<!--/*--><![CDATA[//><!--'."\n";
150
        $sortie .=                        $styles_integrees."\n";
151
        $sortie .= str_repeat(' ', 12).'//--><!]]>'."\n";
152
        $sortie .= str_repeat(' ', 8).'</style>';
153
    } else {
154
        $sortie .= '<!-- Aucun style intégré -->'."\n";
155
    }
156
 
157
    return $sortie;
158
}
159
 
160
/* +--Fin du code ----------------------------------------------------------------------------------------+
161
*
162
* $Log: not supported by cvs2svn $
530 ddelon 163
* Revision 1.2  2004/12/06 17:53:32  jpm
164
* Correction Génésia en Papyrus.
165
*
210 jpm 166
* Revision 1.1  2004/06/15 15:14:32  jpm
167
* Changement de nom et d'arborescence de Genesia en Papyrus.
168
*
4 jpm 169
* Revision 1.3  2004/04/20 15:25:58  jpm
170
* Ajout de commentaire html à la place d'une chaine vide lors du remplacement de balise Genesia.
171
*
172
* Revision 1.1  2004/04/20 10:46:43  jpm
173
* Ajout de la bibliothèque gérant les styles.
174
*
175
*
176
* +-- Fin du code ----------------------------------------------------------------------------------------+
177
*/
178
?>