FrameBeurk File
Fmbk/Module/Rhum/Commentaire/modeleCommentaire.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
function Rhum_queryTousCommentaires() {
return array('SELECT' => array('C.IdElementDe', 'C.IdCommentaire',
'C.Commentaire', 'C.IdCommentaireRef',
'U.IdUser', 'U.User',
'H.TsAction', 'C.IdEtat',
'C.Alerte', 'C.NbrVotes',
'C.Note', 'C.Donnees',
'C.Import', 'S.IdSection'),
'FROM' => 'Rhum_Commentaire AS C '
. 'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = C.IdCommentaire AND H.NoVersion = 1 '
. 'LEFT JOIN Uzers_User AS U ON U.IdUser = H.IdUser '
. 'LEFT JOIN Rhum_Sujet AS S ON C.IdElementDe = S.IdSujet '); //pour récupérer le numéro de section du sujet (pour les permissions)
}
function Rhum_queryCommentaire($IdCommentaire) {
$tabQuery = Rhum_queryTousCommentaires();
$tabQuery['WHERE'] = "C.IdCommentaire = '$IdCommentaire'";
return Uzers_ajoutePermissionQUERY($tabQuery);
}
function Rhum_queryReponsesCommentaire($IdCommentaire) {
$tabQuery = Rhum_queryTousCommentaires();
$tabQuery['WHERE'] = "C.IdCommentaireRef = '$IdCommentaire'";
return Uzers_ajoutePermissionQUERY($tabQuery);
}
function Rhum_queryCommentairesSujet($IdElementDe, $IdEtat = 0) { //sans les réponses aux commentaires
$tabQuery = Rhum_queryTousCommentaires();
$tabQuery['WHERE'] = "C.IdElementDe = '$IdElementDe' AND IdCommentaireRef = 0" . (($IdEtat) ? " AND C.IdEtat = '$IdEtat'" : '');
$tabQuery['ORDER BY'] = 'C.IdElementDe, C.IdCommentaire DESC';
$tabQuery = Uzers_ajoutePermissionQUERY($tabQuery);
return Kom1_pagineRequete($tabQuery);
}
// sélectionne soit les commentaire à activer, soit les commentaires en alerte
function Rhum_queryModereCommentaire($topAActiver) {
$tabQuery = Rhum_queryTousCommentaires();
$tabQuery['WHERE'] = (($topAActiver) ? ("C.IdEtat = '" . Beurk_id('T') . "' ") : "C.Alerte = 'O' ");
$tabQuery['ORDER BY'] = 'C.IdElementDe, C.IdCommentaire';
return Uzers_ajoutePermissionQUERY($tabQuery);
}
// fonction appelée par la fonction de recherche commune
function Rhum_queryRechercheCommentaire($TsCREMin, $TsCREMax, $MotCle, $Createur) {
$tabQuery['SELECT'] = array("'Commentaire'", 'C.IdCommentaire', 'C.Commentaire', 'U.IdUser', 'U.User', 'H.TsAction', 'C.NbrVotes', 'C.Note', 'C.Donnees', 'C.IdElementDe');
$tabQuery['FROM'] = 'Rhum_Commentaire AS C '
. 'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = C.IdCommentaire AND H.NoVersion = 1 '
. 'LEFT JOIN Uzers_User AS U ON U.IdUser = H.IdUser '
. 'LEFT JOIN Rhum_Sujet AS S ON S.IdSujet = C.IdElementDe';
$tabQuery['WHERE'] = '';
if ($MotCle != '') {
$tabQuery['SELECT']['score'] = "MATCH(C.Commentaire, C.Donnees) AGAINST ('$MotCle')";
$tabQuery['WHERE'] = db_AND($tabQuery['WHERE'], "MATCH(C.Commentaire, C.Donnees) AGAINST ('$MotCle')");
} else
$tabQuery['SELECT']['score'] = '1'; // score
if ($TsCREMin != '' && $TsCREMax != '')
$tabQuery['WHERE'] = db_AND($tabQuery['WHERE'], "H.TsAction BETWEEN $TsCREMin AND $TsCREMax");
if ($Createur != '')
$tabQuery['WHERE'] = db_AND($tabQuery['WHERE'], "U.User = '$Createur'");
$tabQuery['SELECT'][] = "S.IdSection"; // champs utile pour les permissions
$tabQuery['SELECT'][] = 'C.IdEtat';
return Uzers_ajoutePermissionQUERY($tabQuery);
}
// pour les fils rss Forum, Section et Commentaire
// séléction possible sur section et sujet. Si IdSujet < 0, exclusion du sujet (utiles pour filtrer les news)
function Rhum_queryRssCommentaire($IdSection = '', $IdSujet = '') {
global $TRANSAC;
$tabQuery = array('SELECT' => array("'Commentaire'", 'P.IdCommentaire',
'P.IdElementDe', 'P.Commentaire',
'F.Sujet', 'U.IdUser',
'U.User', 'H.TsAction',
'P.IdEtat', 'P.Alerte',
'P.Donnees', 'P.IdCommentaireRef'),
'FROM' => 'Rhum_Commentaire AS P '
. 'LEFT JOIN Rhum_Sujet AS F ON P.IdElementDe = F.IdSujet '
. 'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = P.IdCommentaire AND H.NoVersion = 1 '
. 'LEFT JOIN Uzers_User AS U ON U.IdUser = H.IdUser ',
'WHERE' => "H.TsAction >= '" . $TRANSAC['Rss']['DateLimite'] . "' "
. (($IdSection != '') ? " AND F.IdSection = '$IdSection' " : '')
. (($IdSujet != '') ? (" AND F.IdSujet " . (($IdSujet < 0) ? '<>' : '=') . " '" . abs($IdSujet) . "' ") : ''));
return Uzers_ajoutePermissionQUERY($tabQuery);
}