예제 #1
0
if (!isset($template)) {
    die;
}
if (isset($_GET['id']) && intval($_GET['id']) > 0) {
    $projet = intval($_GET['id']);
} else {
    erreur_fatale('Erreur : projet non spécifié.');
}
// Requête SQL
$st = $db->prepare('SELECT * from versions WHERE projet=? ORDER BY position');
$st->execute(array($projet));
// Pas de résultat
if ($st->rowCount() == 0) {
    $template->assign_block_vars('ZERO_VERSIONS', array());
} else {
    // Requête SQL : demandes associées
    $st2 = $db->prepare('SELECT * FROM demandes WHERE projet=:projet AND version=:version');
    while ($row = $st->fetch(PDO::FETCH_ASSOC)) {
        $template->assign_block_vars('VERSION', array('NOM' => htmlentities($row['nom'], ENT_COMPAT, 'UTF-8'), 'DESCR' => wikicode2html($row['description'])));
        // FIXME : trop de requêtes SQL ?
        $st2->execute(array(':projet' => $projet, ':version' => $row['id']));
        // Pas de résultat
        if ($st2->rowCount() == 0) {
            $template->assign_block_vars('VERSION.ZERO_DEMANDES', array());
        } else {
            while ($demande = $st2->fetch(PDO::FETCH_ASSOC)) {
                $template->assign_block_vars('VERSION.DEMANDE', array('ID' => $demande['id'], 'TITRE' => htmlentities($demande['titre'], ENT_COMPAT, 'UTF-8'), 'AUTEUR' => $demande['auteur'], 'DESCR' => $demande['description'], 'STATUT' => $demande['statut'] == 0 ? 'ferme' : 'ouvert'));
            }
        }
    }
}
예제 #2
0
if (isset($demande['version'])) {
    $template->assign_block_vars('VERSION', array('NOM' => htmlentities($demande['version'], ENT_COMPAT, 'UTF-8')));
}
// Lien vers la page de modification de la demande
if ($utilisateur->autorise(PERM_MANAGE_REQUESTS, $demande['projet_id'])) {
    $template->assign_block_vars('ADMIN_DEMANDE', array('DEMANDE_ID' => $demande['id']));
}
// Formulaire d'ajout d'un commentaire
if ($utilisateur->autorise(PERM_ADD_COMMENT, $demande['projet_id'])) {
    $template->assign_block_vars('AJOUT_COMMENTAIRE', array());
    $template->assign_var('FORM_TOKEN', validity_token());
}
// Affichage des commentaires
$st = $db->prepare('SELECT c.id, c.auteur, c.texte, c.creation, c.resume, u.pseudo AS auteur_pseudo, u.nom AS auteur_nom, u.promotion AS auteur_promo
FROM commentaires c
    LEFT OUTER JOIN utilisateurs u ON u.id=c.auteur
WHERE c.demande=?
ORDER BY id DESC');
$st->execute(array($demande['id']));
if ($st->rowCount() == 0) {
    $template->assign_block_vars('ZERO_COMMENTAIRES', array());
} else {
    while ($commentaire = $st->fetch(PDO::FETCH_ASSOC)) {
        $template->assign_block_vars('COMMENTAIRE', array('ID' => $commentaire['id'], 'AUTEUR' => $commentaire['auteur'], 'AUTEUR_PSEUDO' => $commentaire['auteur_pseudo'], 'AUTEUR_NOM' => $commentaire['auteur_nom'], 'AUTEUR_PROMO' => $commentaire['auteur_promo'], 'DATE' => format_date($commentaire['creation']), 'TEXTE' => wikicode2html($commentaire['texte'])));
        if ($commentaire['resume'] == 1) {
            $template->assign_block_vars('COMMENTAIRE.RESUME', array());
        } else {
            $template->assign_block_vars('COMMENTAIRE.TEXTUEL', array());
        }
    }
}