Skip to content

Commit 0cbc75f

Browse files
committed
fix #78 : pas de lien si vide
1 parent 943b1d3 commit 0cbc75f

File tree

10 files changed

+467
-464
lines changed

10 files changed

+467
-464
lines changed

plugins/cicas/inc/cicas_commun.php

Lines changed: 357 additions & 359 deletions
Large diffs are not rendered by default.

plugins/cicas/inc/cicas_login.php

Lines changed: 75 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
/**
34
* Plugin Authentification CAS
45
* @copyright 2010 MTECT
@@ -37,28 +38,27 @@
3738
$ci_id_serveur_auth = '';
3839

3940
// Cas classique (sans serveurs CAS additionnels)
40-
if ($ci_nbre_serveurs_additionnels<1){
41+
if ($ci_nbre_serveurs_additionnels < 1) {
4142

4243
// configure phpCAS
4344
cicas_configure_phpCAS();
44-
45+
4546
// forcer l'authentication CAS
4647
phpCAS::forceAuthentication();
47-
4848
} else {
49-
// Cas avec serveurs CAS additionnels
49+
// Cas avec serveurs CAS additionnels
5050
$request_cicas = _request('cicas');
5151

5252
// Memoriser, le cas echeant, le choix de l'utilisateur dans un cookie
53-
if (_request('memoriser') AND _request('memoriser')=='oui'){
54-
if ($request_cicas AND ($request_cicas=='oui' OR intval($request_cicas)>=1)){
53+
if (_request('memoriser') and _request('memoriser') == 'oui') {
54+
if ($request_cicas and ($request_cicas == 'oui' or intval($request_cicas) >= 1)) {
5555
include_spip('inc/cookie');
5656
spip_setcookie('cicas_choix', $request_cicas, time() + 365 * 24 * 3600);
5757
}
5858
}
5959

6060
// authentification CAS demandee par un clic sur le lien
61-
if ($request_cicas AND intval($request_cicas)>=1){
61+
if ($request_cicas and intval($request_cicas) >= 1) {
6262
$ci_id_serveur_auth = intval($request_cicas);
6363
cicas_configure_phpCAS($ci_id_serveur_auth);
6464
phpCAS::forceAuthentication();
@@ -72,83 +72,84 @@
7272
// et l'identifiant de l'utilisateur renvoye par CAS peut etre lu avec phpCAS::getUser().
7373

7474
$ci_cas_userid = '';
75-
if ($ci_cas_userid=phpCAS::getUser()) {
76-
75+
if ($ci_cas_userid = phpCAS::getUser()) {
76+
7777
$auteur = array();
7878
$auteur = cicas_verifier_identifiant($ci_cas_userid);
7979

8080
if (!isset($auteur['id_auteur'])) {
81-
81+
8282
// Lire la configuration pour cette session
83-
$tableau_config = cicas_lire_meta(0,false,true);
84-
83+
$tableau_config = cicas_lire_meta(0, false, true);
84+
8585
// compatibilit� avec les anciennes adresses email
86-
if (!isset($tableau_config['cicasuid'])
87-
OR $tableau_config['cicasuid']==""
88-
OR $tableau_config['cicasuid']=="email") {
86+
if (
87+
!isset($tableau_config['cicasuid'])
88+
or $tableau_config['cicasuid'] == ""
89+
or $tableau_config['cicasuid'] == "email"
90+
) {
8991

9092
$ci_pos = strpos($ci_cas_userid, '@');
91-
if ($ci_pos AND $ci_pos > 0) {
92-
$ci_tableau_email = explode('@',$ci_cas_userid);
93+
if ($ci_pos and $ci_pos > 0) {
94+
$ci_tableau_email = explode('@', $ci_cas_userid);
9395
$ci_nom_mail = strtolower($ci_tableau_email[0]);
9496
$ci_domaine_mail = strtolower($ci_tableau_email[1]);
9597

9698
// compatibilite par defaut
9799
$cicasmailcompatible = array('equipement.gouv.fr' => 'developpement-durable.gouv.fr');
98-
100+
99101
// compatibilite figurant dans le fichier de parametrage config/_config_cas.php
100102
if (isset($tableau_config['cicasmailcompatible'])) {
101103
if (is_array($tableau_config['cicasmailcompatible'])) {
102104
$cicasmailcompatible = $tableau_config['cicasmailcompatible'];
103105
}
104106
}
105-
106-
foreach ($cicasmailcompatible as $cle=>$valeur) {
107-
if ($ci_domaine_mail==$valeur) {
108-
$auteur = cicas_verifier_identifiant($ci_nom_mail.'@'.$cle);
107+
108+
foreach ($cicasmailcompatible as $cle => $valeur) {
109+
if ($ci_domaine_mail == $valeur) {
110+
$auteur = cicas_verifier_identifiant($ci_nom_mail . '@' . $cle);
109111
if (isset($auteur['id_auteur']))
110112
break;
111113
}
112114
}
113115
}
114116
}
115-
116117
}
117118

118119
// Si l'authentification sur ce serveur CAS a reussi mais que l'auteur n'existe pas dans SPIP
119120
// le creer automatiquement si le parametrage l'autorise
120-
if (!isset($auteur['id_auteur']) AND isset($tableau_config['cicas_creer_auteur']) AND $tableau_config['cicas_creer_auteur']){
121+
if (!isset($auteur['id_auteur']) and isset($tableau_config['cicas_creer_auteur']) and $tableau_config['cicas_creer_auteur']) {
121122
$c = array();
122123
$c['login'] = '';
123124
$c['pass'] = '';
124125
$c['webmestre'] = 'non';
125-
$c['statut'] = $tableau_config['cicas_creer_auteur'];
126-
$c['source'] = 'cas';
126+
$c['statut'] = $tableau_config['cicas_creer_auteur'];
127+
$c['source'] = 'cas';
127128

128-
if ($tableau_config['cicasuid']=='' OR $tableau_config['cicasuid']=='email'){
129+
if ($tableau_config['cicasuid'] == '' or $tableau_config['cicasuid'] == 'email') {
129130
$c['email'] = strtolower($ci_cas_userid);
130-
$ci_tableau_cicasuid = explode('@',$ci_cas_userid);
131+
$ci_tableau_cicasuid = explode('@', $ci_cas_userid);
131132
$c['nom'] = strtolower($ci_tableau_cicasuid[0]);
132-
$c['login'] = $c['nom'];
133-
} else {
133+
$c['login'] = $c['nom'];
134+
} else {
134135
$c['nom'] = $ci_cas_userid;
135-
$c['login'] = $ci_cas_userid;
136-
}
137-
138-
// important (suite aux tests)
139-
$couples = $c;
140-
141-
// inserer l'auteur
142-
$id_auteur = sql_insertq("spip_auteurs", $couples);
143-
144-
// tracer le cas echeant
145-
if (defined('_DIR_PLUGIN_CITRACE')){
146-
$commentaire = interdire_scripts(supprimer_numero($couples['nom']))
147-
.' ('.interdire_scripts($couples['email']).')'.' - statut:'.$couples['statut'];
148-
if ($citrace = charger_fonction('citrace', 'inc'))
149-
$citrace('auteur', $id_auteur, "creation automatique de l'auteur", $commentaire);
150-
}
151-
136+
$c['login'] = $ci_cas_userid;
137+
}
138+
139+
// important (suite aux tests)
140+
$couples = $c;
141+
142+
// inserer l'auteur
143+
$id_auteur = sql_insertq("spip_auteurs", $couples);
144+
145+
// tracer le cas echeant
146+
if (defined('_DIR_PLUGIN_CITRACE')) {
147+
$commentaire = interdire_scripts(supprimer_numero($couples['nom']))
148+
. ' (' . interdire_scripts($couples['email']) . ')' . ' - statut:' . $couples['statut'];
149+
if ($citrace = charger_fonction('citrace', 'inc'))
150+
$citrace('auteur', $id_auteur, "creation automatique de l'auteur", $commentaire);
151+
}
152+
152153
// seconde tentative
153154
$auteur = cicas_verifier_identifiant($ci_cas_userid);
154155
}
@@ -157,20 +158,21 @@
157158
if (!isset($auteur['id_auteur'])) {
158159
// Envoyer au pipeline
159160
$cipipeline = true;
160-
if (@is_readable($charger = _CACHE_PIPELINES)){
161+
if (@is_readable($charger = _CACHE_PIPELINES)) {
161162
include_once($charger);
162163
if (!function_exists('execute_pipeline_cicas'))
163164
$cipipeline = false;
164165
}
165-
166+
166167
if ($cipipeline)
167-
$auteur = pipeline('cicas',
168+
$auteur = pipeline(
169+
'cicas',
168170
array(
169171
'args' => $ci_cas_userid,
170172
'data' => array()
171173
)
172174
);
173-
}
175+
}
174176

175177
if (isset($auteur['id_auteur'])) {
176178

@@ -180,64 +182,59 @@
180182
// bloquer ici le visiteur qui tente d'abuser de ses droits
181183
if (isset($auteur['statut'])) {
182184
if (cicas_is_url_prive($cible)) {
183-
if ($auteur['statut']=='6forum'){
185+
if ($auteur['statut'] == '6forum') {
184186
$ciredirect = generer_url_public("cicas_erreur3");
185187
// redirection immediate
186188
redirige_par_entete($ciredirect);
187189
}
188190
}
189191
}
190192

191-
// memorise ci_id_serveur_auth a cause des redirections
192-
if ($ci_id_serveur_auth)
193-
$auteur['cicas_id_serveur'] = $ci_id_serveur_auth;
194-
193+
// memorise ci_id_serveur_auth a cause des redirections
194+
if ($ci_id_serveur_auth)
195+
$auteur['cicas_id_serveur'] = $ci_id_serveur_auth;
196+
195197
// on a ete authentifie, construire la session
196-
// en gerant la duree demandee pour son cookie
197-
// if ($session_remember !== NULL)
198-
// $auteur['cookie'] = $session_remember;
198+
// en gerant la duree demandee pour son cookie
199+
// if ($session_remember !== NULL)
200+
// $auteur['cookie'] = $session_remember;
199201
$session = charger_fonction('session', 'inc');
200202
$session($auteur);
201-
203+
202204
// Si on est admin, poser le cookie de correspondance
203205
if (isset($auteur['statut'])) {
204206
if ($auteur['statut'] == '0minirezo') {
205207
include_spip('inc/cookie');
206-
spip_setcookie('spip_admin', '@'.$auteur['login'],time() + 7 * 24 * 3600);
208+
spip_setcookie('spip_admin', '@' . $auteur['login'], time() + 7 * 24 * 3600);
207209
}
208210
}
209-
211+
210212
// Si on est connecte, envoyer vers la destination
211213
if ($cible)
212214
$ciredirect = $cible;
213-
214215
} else {
215216
// Si l'auteur a un compte CAS qui n'existe pas dans la base SPIP
216217
$ciredirect = generer_url_public("cicas_erreur2");
217218
}
218-
219219
} else {
220220
$ciredirect = generer_url_public("cicas_erreur1");
221221
}
222222

223-
if (!headers_sent($filename, $linenum)){
224-
redirige_par_entete($ciredirect);
225-
}else{
226-
// si les entetes ont deja ete envoyee, redirection par une page
227-
echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">',"\n",
228-
html_lang_attributes(),'
223+
if (!headers_sent($filename, $linenum)) {
224+
redirige_par_entete($ciredirect);
225+
} else {
226+
// si les entetes ont deja ete envoyee, redirection par une page
227+
echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">', "\n",
228+
html_lang_attributes(), '
229229
<head><title>Error</title>
230230
</head>
231231
<body>
232-
<h1>Error : headers already sent by file '.$filename. ', line '.$linenum.'</h1>
232+
<h1>Error : headers already sent by file ' . $filename . ', line ' . $linenum . '</h1>
233233
<a href="',
234-
quote_amp(htmlentities($ciredirect)),
235-
'">',
236-
_T('navigateur_pas_redirige'),
237-
'</a></body></html>';
234+
quote_amp(htmlentities($ciredirect)),
235+
'">',
236+
_T('navigateur_pas_redirige'),
237+
'</a></body></html>';
238238

239239
exit;
240-
241240
}
242-
243-
?>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
if (!defined('_ECRIRE_INC_VERSION')) {
4+
return;
5+
}
6+
7+
// cicas
8+
function fictions_cicas($ci_cas_userid) {
9+
spip_log($ci_cas_userid, 'test_fictions');
10+
11+
return $ci_cas_userid;
12+
}

plugins/fictions/paquet.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<paquet
22
prefix="fictions"
33
categorie="squelette"
4-
version="1.0.0"
4+
version="1.0.1"
55
etat="stable"
66
logo=""
77
schema=""
@@ -21,4 +21,6 @@
2121
<necessite nom="notation" />
2222
<necessite nom="spip_bonux" />
2323
<necessite nom="vider_rubrique" />
24+
25+
<pipeline nom="cicas" inclure="fictions_pipelines.php" />
2426
</paquet>

plugins/fictions/squelettes/chapitre-ecriture.html

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<div class="ecriture-chapitre">
1010

1111
<div class="ecriture-chapitre-picto">
12-
<img src="#CHEMIN{img/ecriture/picto-crayon.png}" width="50" height="50" />
12+
<img src="#CHEMIN{img/ecriture/picto-crayon.png}" width="50" height="50" />
1313
</div>
1414

1515
<div class="ecriture-chapitre-texte">
@@ -19,18 +19,17 @@
1919

2020
<div class="ecriture-chapitre-auteur">
2121
<BOUCLE_auteur_article(AUTEURS){id_article}{0,1}>
22-
<div class="ecriture-chapitre-avatar">[(#LOGO_AUTEUR||image_reduire{42,42})]</div>
22+
<div class="ecriture-chapitre-avatar">[(#LOGO_AUTEUR|image_reduire{42,42})]</div>
2323
<div class="ecriture-chapitre-nom">#NOM</div>
2424
#SET{var_auteur_article, #NOM}
2525
</BOUCLE_auteur_article>
2626
</div>
2727

28-
<!-- TEXTE -->
29-
<div class="texte_courant ecriture-edition #EDIT{descriptif}">
30-
[(#DESCRIPTIF)]
31-
</div>
32-
33-
<INCLURE{fond=chapitre-ecriture-script, id_article}>
28+
<!-- TEXTE -->
29+
<div class="texte_courant ecriture-edition #EDIT{descriptif}">
30+
[(#DESCRIPTIF)]
31+
</div>
3432

33+
<INCLURE{fond=chapitre-ecriture-script, id_article} />
3534
</div>
3635
</BOUCLE_article>

plugins/fictions/squelettes/chapitre-verrouille.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@
1818
</div>
1919

2020
<div class="ecriture-chapitre-auteur">
21-
2221
<BOUCLE_auteur_article(AUTEURS){id_article}{0,1}>
2322
<div class="ecriture-chapitre-avatar">[(#LOGO_AUTEUR|image_reduire{42,42})]</div>
2423
<div class="ecriture-chapitre-nom">#NOM</div>
2524
</BOUCLE_auteur_article>
2625
</div>
2726

2827
[(#ENV{fin}|=={oui}|non)
29-
<INCLURE{fond=logos-script-forum,id_article,class=ecriture-chapitre-liens}>
28+
<INCLURE{fond=logos-script-forum,id_article,class=ecriture-chapitre-liens} />
3029
[<div class="ecriture-chapitre-nom">(#DESCRIPTIF|cleanCut)</div>]
3130
]
3231

plugins/fictions/squelettes/chapitre-visible.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
</div>
1717
<div class="ecriture-chapitre-auteur">
1818
<BOUCLE_auteur_article(AUTEURS){id_article}{0,1}>
19-
<div class="ecriture-chapitre-avatar">[(#LOGO_AUTEUR|image_reduire{42,42})]</div>
20-
<div class="ecriture-chapitre-nom">#NOM</div>
21-
#SET{var_auteur_article, #NOM}
19+
<div class="ecriture-chapitre-avatar">[(#LOGO_AUTEUR|image_reduire{42,42})]</div>
20+
<div class="ecriture-chapitre-nom">#NOM</div>
21+
#SET{var_auteur_article, #NOM}
2222
</BOUCLE_auteur_article>
2323
</div>
2424
</div>

plugins/fictions/squelettes/footer.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#SET{id_art,#ID_ARTICLE}
66
</BOUCLE_id_forum>
77
</BOUCLE_annee>
8-
8+
#SET{url_blog_auteur, ''}
99
<BOUCLE_rubrique_contenant_annees(RUBRIQUES){titre_mot=rubrique-contenant-annees}>
1010
<BOUCLE_rubrique_annee(RUBRIQUES){id_parent}{!par titre}{titre==^[2]}{0,1}>
1111
#SET{url_blog_auteur, #TEXTE}
@@ -60,7 +60,7 @@
6060
</BOUCLE_espace_doc>
6161
</BOUCLE_rubriques>
6262

63-
<a href="[(#GET{url_blog_auteur}|extraire_attribut{href})]">Blog de l'auteur</a>
63+
[<a href="(#GET{url_blog_auteur}|extraire_attribut{href})">Blog de l'auteur</a>]
6464
</div>
6565

6666
<div id="footer-nav">

0 commit comments

Comments
 (0)