You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.6 KiB
82 lines
2.6 KiB
<?php |
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) return; |
|
|
|
/* pour que le pipeline ne rale pas ! */ |
|
function legendes_autoriser(){} |
|
|
|
/** |
|
* Autorisation d'ajout d'une legende a un document |
|
* |
|
* @param string $faire |
|
* @param string $quoi |
|
* @param int $id du document |
|
* @param int $qui |
|
* @param array $options |
|
* @return bool |
|
*/ |
|
function autoriser_legende_creerdans_dist($faire,$quoi,$id,$qui,$options){ |
|
if (!$id) return false; // interdit de creer une legende sur un document vide ! |
|
// autorisation personnalisee par config |
|
if(lire_config('legendes/statuts_creerdans') and $qui['statut']) |
|
return ($qui['statut']<=lire_config('legendes/statuts_creerdans','0minirezo')); |
|
// ou autorisation du document associe |
|
return autoriser('modifier','document',$id,$qui); |
|
} |
|
|
|
/** |
|
* Autorisation de modifier une legende |
|
* |
|
* @param string $faire |
|
* @param string $quoi |
|
* @param int $id de la legende |
|
* @param int $qui |
|
* @param array $options |
|
* @return bool |
|
*/ |
|
function autoriser_legende_modifier_dist($faire,$quoi,$id,$qui,$options){ |
|
if (!isset($options['id_document']) or !$id_document=$options['id_document']) |
|
$legende = sql_fetsel('*','spip_legendes','id_legende='.intval($id)); |
|
if (!$legende['id_document']) return false; |
|
// autorisation personnalisee par config |
|
if (lire_config('legendes/statuts_modifier') and $qui['statut']){ |
|
if ($qui['statut'] <= lire_config('legendes/statuts_modifier','0minirezo')){ |
|
if (($qui['statut'] != '0minirezo') and ($qui['id_auteur'] != $legende['id_auteur'])) { |
|
return false; |
|
} |
|
return true; |
|
} |
|
} |
|
// ou autorisation du document associe |
|
return autoriser('modifier','document',$legende['id_document'],$qui); |
|
} |
|
|
|
|
|
/** |
|
* Autorisation de supprimer une legende |
|
* |
|
* @param string $faire |
|
* @param string $quoi |
|
* @param int $id de la legende |
|
* @param int $qui |
|
* @param array $options |
|
* @return bool |
|
*/ |
|
function autoriser_legende_supprimer_dist($faire,$quoi,$id,$qui,$options){ |
|
if (!isset($options['id_document']) or !$id_document=$options['id_document']) |
|
$id_document = sql_getfetsel('id_document','spip_legendes','id_legende='.intval($id)); |
|
// autorisation personnalisee par config |
|
if (lire_config('legendes/statuts_supprimer') and $qui['statut']){ |
|
if ($qui['statut'] <= lire_config('legendes/statuts_supprimer','0minirezo')){ |
|
$legende = sql_getfetsel('id_auteur','spip_legendes','id_legende='.intval($id)); |
|
if (($qui['statut'] != '0minirezo') and ($qui['id_auteur'] != $legende['id_auteur'])) { |
|
return false; |
|
} |
|
return true; |
|
} |
|
} |
|
// ou autorisation du document associe |
|
return autoriser('modifier','document',$id_document,$qui); |
|
} |
|
|
|
?>
|