Browse Source

Ticket #3 : indiquer l'auteur incarné lors de l'appel à l'autorisation d'incarner dans le pipeline boite_infos. Aucune différence fonctionnelle, cette info n'est pour l'instant pas utilisée par l'autorisation dist, mais peut l'être si l'on surcharge l'autorisation. Et on peut donc surcharger soit avec autoriser_auteur_incarner(), soit avec autoriser_incarner(). Up de z : v1.5.2

v1
tcharlss 3 months ago
parent
commit
09e9614edb
  1. 25
      incarner_autorisations.php
  2. 10
      incarner_pipelines.php
  3. 2
      paquet.xml

25
incarner_autorisations.php

@ -15,8 +15,29 @@
function incarner_autoriser() {
}
/* On n'est autorisé à changer d'utilisateur que si l'on est webmestre, ou qu'on
a un cookie connu. */
/**
* Autorisation d'incarner
*
* On n'est autorisé à changer d'utilisateur que si l'on est webmestre, ou qu'on a un cookie connu.
*
* @note
* Lors de l'appel à l'autorisation, indiquer l'id de l'auteur incarné même si l'info n'est pas utilisée :
* Ex. : `autoriser('incarner', 'auteur', $id_auteur)`
* Pour surcharger, il est possible de créer soit une autorisation autoriser_auteur_incarner(), soit autoriser_incarner()
*
* @param $faire
* Action demandée
* @param $type
* Type d'objet sur lequel appliquer l'action (auteur)
* @param $id
* Identifiant de l'objet (id_auteur)
* @param $qui
* Description de l'auteur demandant l'autorisation
* @param $opt
* Options de cette autorisation
* @return bool
* true s'il a le droit, false sinon
*/
function autoriser_incarner_dist($faire, $type, $id, $qui, $opt) {
include_spip('incarner_fonctions');

10
incarner_pipelines.php

@ -34,13 +34,15 @@ function incarner_login_affiche($login, $email) {
*/
function incarner_boite_infos($flux) {
if (($flux['args']['type'] === 'auteur')
and (autoriser('incarner'))) {
if (
$flux['args']['type'] === 'auteur'
and isset($flux['args']['id'])
and $id_auteur = $flux['args']['id']
and autoriser('incarner', 'auteur', $id_auteur)
) {
include_spip('base/abstract_sql');
include_spip('inc/session');
$id_auteur = $flux['args']['id'];
if ($id_auteur != session_get('id_auteur')) {
$auteur = sql_fetsel(
'login,email',

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="incarner"
categorie="outil"
version="1.5.1"
version="1.5.2"
etat="stable"
compatibilite="[3.0.11;4.0.*]"
logo="prive/themes/spip/images/logo_incarner-48.png"

Loading…
Cancel
Save