9
Indiquez l’intérêt que vous portez à cette question
-1

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 !