en | fr  | Contact  | Print  | Share

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);
}


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved