Surcharger un fonction _dist - Le fichier "mes_fonctions.php" ne semble pas marcher...
Sous SPIP 3.0.5
Salut à tous !
Cette question résulte d’un autre thread (marqué comme résolu même si pas vraiment ^^ > ICI ), visant à surcharger une fonction particulière, cependant, malgré le code qui à l’air correcte, la surcharge ne marche pas.
Donc création d’un fichier "mes_fonctions.php" dans squelettes/.
J’y ajoute ce code :
<?php
// surcharge de la fonction _dist
// limiter pour un rédacteur la visibilité des
// articles à ceux publiés (par n'importe qui)
// et proposés que s'il en est l'auteur
function autoriser_article_voir($faire, $type, $id, $qui, $opt){
if ($qui['statut'] == '0minirezo') return true;
// cas des articles : dépend du statut de l'article et de l'auteur
if (isset($opt['statut']))
$statut = $opt['statut'];
else {
if (!$id) return false;
$statut = sql_getfetsel("statut", "spip_articles", "id_article=".intval($id));
}
return
// si on est pas auteur de l'article,
// seuls les publiés sont visibles
in_array($statut, array('publie'))
// sinon si on est auteur, on a le droit de le voir, évidemment !
OR
($id AND $qui['id_auteur']
AND (function_exists('auteurs_article') OR include_spip('inc/auth'))
AND auteurs_article($id, "id_auteur=".$qui['id_auteur']));
}
?>
Suite à cette manipulation visant les autorisations de visibilité des articles selon leurs statuts et celui de l’auteur, un message d’erreur apparaît sur l’espace privé.
Warning : include_once(C :\Program Files (x86)\EasyPHP-12.1\www\ecrire/../squelettes/mes_fonctions.php) : failed to open stream : No such file or directory in C :\Program Files (x86)\EasyPHP-12.1\www\ecrire\inc\autoriser.php on line 45
Warning : include_once() : Failed opening ’C :\Program Files (x86)\EasyPHP-12.1\www\ecrire/../squelettes/mes_fonctions.php’ for inclusion (include_path=’. ;C :\php\pear’) in C :\Program Files (x86)\EasyPHP-12.1\www\ecrire\inc\autoriser.php on line 45
Warning : include_once(C :\Program Files (x86)\EasyPHP-12.1\www\ecrire/../squelettes/mes_fonctions.php) : failed to open stream : No such file or directory in C :\Program Files (x86)\EasyPHP-12.1\www\ecrire\public\parametrer.php on line 21
Warning : include_once() : Failed opening ’C :\Program Files (x86)\EasyPHP-12.1\www\ecrire/../squelettes/mes_fonctions.php’ for inclusion (include_path=’. ;C :\php\pear’) in C :\Program Files (x86)\EasyPHP-12.1\www\ecrire\public\parametrer.php on line 21
Après avoir lancé un recalcule de la page ce message n’apparaît plus mais aucun résultats :/
Et j’avoue que sa commence à me courir sur le haricot car après avoir parcouru la doc en long, en large, fouiner sur le web je suis à cours d’idées...en plus je suis sure que c’est tout bête !
En plus c’est la dernière opération à faire avant la mise en ligne du site donc ^^.
Avis aux âmes charitables !