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.
144 lines
4.4 KiB
144 lines
4.4 KiB
<?php |
|
|
|
/***************************************************************************\ |
|
* SPIP, Systeme de publication pour l'internet * |
|
* * |
|
* Copyright (c) 2001-2020 * |
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
|
* * |
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
|
\***************************************************************************/ |
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) { |
|
return; |
|
} |
|
|
|
/** |
|
* Fonction vide pour charger ce fichier sans declencher de warning |
|
* |
|
* @return void |
|
*/ |
|
function organiseur_autoriser() { |
|
} |
|
|
|
function autoriser_calendrier_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if ($GLOBALS['meta']['messagerie_agenda'] == 'oui') { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function autoriser_messagerie_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if ($GLOBALS['meta']['messagerie_agenda'] == 'oui') { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function autoriser_message_modifier_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if (!intval($qui['id_auteur'])) { |
|
return false; |
|
} |
|
$row = sql_fetsel('statut,type,id_auteur', 'spip_messages', 'id_message=' . intval($id)); |
|
// on peut modifier ses penses betes ou ses messages brouillons |
|
if ($row['id_auteur'] == $qui['id_auteur'] and ($row['statut'] == 'prepa' or $row['type'] == 'pb')) { |
|
return true; |
|
} |
|
// on peut modifier les annonces si on est admin |
|
if ($qui['statut'] == '0minirezo' and $row['type'] == 'affich') { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function autoriser_message_instituer_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
// rediriger vers la bonne autorisation en cas de suppression |
|
if ($opt['statut'] == 'poub') { |
|
return autoriser('supprimer', 'message', $id, $qui, $opt); |
|
} |
|
|
|
return autoriser('modifier', 'message', $id, $qui, $opt); |
|
} |
|
|
|
function autoriser_message_supprimer_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
// on peut supprimer un message que l'on peut modifier |
|
if (autoriser('modifier', 'message', $id, $qui, $opt)) { |
|
return true; |
|
} |
|
// mais on peut aussi supprimer un message envoye par soi |
|
// si tous ses dest l'on supprime aussi |
|
if ( |
|
$qui['id_auteur'] |
|
and sql_countsel( |
|
'spip_messages', |
|
"statut='publie' AND id_auteur=" . intval($qui['id_auteur']) . ' AND id_message=' . intval($id) |
|
) and !sql_countsel( |
|
'spip_auteurs_liens', |
|
"objet='message' AND id_objet=" . intval($id) . " AND vu!='poub' AND id_auteur!=" . intval($qui['id_auteur']) |
|
)) { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function autoriser_messagerecu_effacer_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if (isset($opt['id_auteur'])) { |
|
$id_auteur = $opt['id_auteur']; |
|
} else { |
|
$id_auteur = $qui['id_auteur']; |
|
} |
|
// seul le destinataire peut supprimer un message qui lui est destine |
|
if (!intval($id_auteur) or intval($id_auteur) != intval($qui['id_auteur'])) { |
|
return false; |
|
} |
|
|
|
// rien d'autre a verifier?... |
|
return true; |
|
} |
|
|
|
function autoriser_message_dater_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
return false; |
|
} |
|
|
|
function autoriser_envoyermessage_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if (!($GLOBALS['meta']['messagerie_agenda'] == 'oui') or !intval($qui['id_auteur'])) { |
|
return false; |
|
} |
|
// on peut envoyer une annonce si on est admin |
|
if (!($qui['statut'] == '0minirezo') and $type == 'affich') { |
|
return false; |
|
} |
|
|
|
return true; |
|
} |
|
|
|
function autoriser_message_voir_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
if (!intval($qui['id_auteur'])) { |
|
return false; |
|
} |
|
// message annonce ou message dont $qui est l'auteur : droit de le voir |
|
if (sql_countsel( |
|
'spip_messages', |
|
'id_message=' . intval($id) . ' AND (type=\'affich\' OR id_auteur=' . intval($qui['id_auteur']) . ')' |
|
)) { |
|
return true; |
|
} |
|
// message dont $qui est destinataire |
|
if (sql_countsel( |
|
'spip_auteurs_liens', |
|
'objet=\'message\' AND id_objet=' . intval($id) . " AND vu!='poub' AND id_auteur=" . intval($qui['id_auteur']) |
|
)) { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function autoriser_message_repondre_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
|
return autoriser('ecrire', '', '', $qui['id_auteur']); |
|
}
|
|
|