示例#1
0
/**
 * Duplicata de la fonction disponible dans _core_/forum/urls
 * pour permettre l'utilisation du plugin urls_etendues avec spip 2.0
 * A retirer a la release 2.1
 *
 * @param <type> $id_forum
 * @param <type> $args
 * @param <type> $ancre
 * @return <type>
 */
function urls_generer_url_forum_dist($id_forum, $args='', $ancre='') {
	if ($id_forum = intval($id_forum)) {
		include_spip('inc/forum');
		list($type, $id,) = racine_forum($id_forum);
		if ($type) {
			if (!$ancre) $ancre = "forum$id_forum";
			return generer_url_entite($id, $type, $args, $ancre, true);
		}
	}
	return '';
}
示例#2
0
function autoriser_forum_moderer_dist($faire, $type, $id, $qui, $opt)
{
    // si on fournit un id : deleguer a modererforum sur l'objet concerne
    if ($id) {
        include_spip('inc/forum');
        if ($racine = racine_forum($id) and list($objet, $id_objet, ) = $racine and $objet) {
            return autoriser('modererforum', $objet, $id_objet);
        }
    }
    // sinon : admins uniquement
    return $qui['statut'] == '0minirezo';
    // les admins restreints peuvent moderer leurs messages
}
示例#3
0
文件: forum.php 项目: rhertzog/lcs
function racine_forum($id_forum){
	if (!$id_forum = intval($id_forum)) return false;

	$row = sql_fetsel("id_parent, id_rubrique, id_article, id_breve, id_syndic, id_message, id_thread", "spip_forum", "id_forum=".$id_forum);

	if (!$row) return false;

	if ($row['id_parent']
	AND $row['id_thread'] != $id_forum) // eviter boucle infinie
		return racine_forum($row['id_thread']);

	if ($row['id_message'])
		return array('message', $row['id_message'], $id_forum);
	if ($row['id_rubrique'])
		return array('rubrique', $row['id_rubrique'], $id_forum);
	if ($row['id_article'])
		return array('article', $row['id_article'], $id_forum);
	if ($row['id_breve'])
		return array('breve', $row['id_breve'], $id_forum);
	if ($row['id_syndic'])
		return array('site', $row['id_syndic'], $id_forum);

	// On ne devrait jamais arriver ici, mais prevoir des cas de forums
	// poses sur autre chose que les objets prevus...
	spip_log("erreur racine_forum $id_forum");
	return array();
} 
示例#4
0
function racine_forum($id_forum)
{
    if (!($id_forum = intval($id_forum))) {
        return false;
    }
    $row = sql_fetsel("id_parent, objet, id_objet, id_thread", "spip_forum", "id_forum=" . $id_forum);
    if (!$row) {
        return false;
    }
    if ($row['id_parent'] and $row['id_thread'] != $id_forum) {
        return racine_forum($row['id_thread']);
    }
    return array($row['objet'], $row['id_objet'], $id_forum);
}