en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Rhum/Sujet/modeleSujet.php

<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.

function Rhum_queryTousSujets() {
    return array(
'SELECT' => array('S.IdSujet',                            'S.Sujet',
                                    
'S.IdSection',                        'S.NbrCommentaires',
                                    
'U.IdUser',                            'U.User',
                                    
'H.TsAction',                        'S.TsMajElements',
                                    
'S.IdEtat',                            'S.Alerte',
                                    
'S.NbrVisites',                        'S.Donnees',
                                    
'S.Import',                            'S.IdSujetRef',
                                    
'S.NoOrdre'),
                
'FROM' => 'Rhum_Sujet AS S '
                    
'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = S.IdSujet AND H.NoVersion = 1 '
                    
' LEFT JOIN Uzers_User AS U ON U.IdUser = H.IdUser ');
}

function 
Rhum_querySujet($IdSujet) {
    
$tabQuery Rhum_queryTousSujets();
    
$tabQuery['WHERE'] = "S.IdSujet = '$IdSujet'";
    return 
Uzers_ajoutePermissionQUERY($tabQuery);
}

function 
Rhum_querySujetsSection($IdSection$topArchivees) {
    
$tabQuery Rhum_queryTousSujets();                    // pour les sujets multi-parties  : seulement la 1ère
    
$tabQuery['WHERE'] = "S.IdSection = '$IdSection' AND S.NoOrdre = '1' AND S.IdEtat " . (($topArchivees) ? ("= '" Beurk_id('R') . "'") : ("<> '" Beurk_id('R') . "'"));
    
$tabQuery['ORDER BY'] = 'S.IdSection, S.TsMajElements DESC, S.IdSujet DESC';
    
$tabQuery Uzers_ajoutePermissionQUERY($tabQuery);
    return 
Kom1_pagineRequete($tabQuery);
}

function 
Rhum_queryMenuSujetsSection($IdSection) {
    
$tabQuery = array('SELECT' => array('S.IdSujet''S.Sujet',    'S.IdEtat''Count(*)'),
                        
'FROM' => 'Rhum_Sujet AS S '
                                
'LEFT JOIN Rhum_Sujet AS L ON L.IdSujetRef = S.IdSujet',
                        
'WHERE' => "S.IdSection = '$IdSection' AND S.NoOrdre = '1' AND S.IdEtat <> '" Beurk_id('R') . "' ",
                        
'GROUP BY' => 'S.IdSujet, S.Sujet, S.IdEtat',
                        
'ORDER BY' => 'S.Sujet');
    
$tabQuery Uzers_ajoutePermissionQUERY($tabQuery);
    return 
Kom1_pagineRequete($tabQuery);
}

function 
Rhum_queryPartiesSujet($IdSujetRef) {
    
$tabQuery = array('SELECT' => array('S.IdSujet',                        'S.Sujet',
                                        
'S.IdEtat',                            'S.NoOrdre'),
                    
'FROM' => 'Rhum_Sujet AS S ',
                    
'WHERE' => "IdSujetRef = '" $IdSujetRef "'",
                    
'ORDER BY' => 'S.IdSujetRef, S.NoOrdre');

    return 
Uzers_ajoutePermissionQUERY($tabQuery);
}

function 
Rhum_queryModereSujet() {
    
$tabQuery Rhum_queryTousSujets();
    
$tabQuery['WHERE'] = "S.Alerte = 'O'";
    
$tabQuery['ORDER BY'] = 'S.IdSection, S.IdSujet';
    return 
Uzers_ajoutePermissionQUERY($tabQuery);
}
            
// fonction appelée par la fonction de recherche commune
function Rhum_queryRechercheSujet($TsCREMin$TsCREMax$MotCle$Createur) {
    
$tabQuery['SELECT'] = array("'Sujet'"'S.IdSujet''S.Sujet''U.IdUser''U.User''H.TsAction''S.NbrCommentaires''S.NbrVisites''S.Donnees''0');
    
$tabQuery['FROM'] = 'Rhum_Sujet AS S '
                    
'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = S.IdSujet AND H.NoVersion = 1 '
                    
'LEFT JOIN Uzers_User AS U ON U.IdUser = H.IdUser ';
    
$tabQuery['WHERE'] = '';
    
    if (
$MotCle != '') {
        
$tabQuery['SELECT']['score'] = "MATCH(S.Sujet, S.Donnees) AGAINST ('$MotCle')";
        
$tabQuery['WHERE'] = db_AND($tabQuery['WHERE'], "MATCH(S.Sujet, S.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'][] = 'S.IdEtat';
    return 
Uzers_ajoutePermissionQUERY($tabQuery);
}

// pour les fils rss Forum, Section et Commentaire
function Rhum_queryRssSujet($IdSection '') {
    global 
$TRANSAC;
    
$tabQuery = array('SELECT' => array("'Sujet'",                            'F.IdSujet',
                                        
'S.IdSection',                        'F.Sujet',
                                        
'S.Section',                        'U.IdUser',
                                        
'U.User',                            'H.TsAction',
                                        
'F.IdEtat',                            'F.Alerte',
                                        
'F.Donnees',                        'F.IdSujetRef'),
        
'FROM' => 'Rhum_Section AS S '
                
'LEFT JOIN Rhum_Sujet AS F ON S.IdSection = F.IdSection '
                    
'LEFT JOIN Beurk_Historique AS H ON H.IdNoeud = F.IdSujet 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' " ''));
    return 
Uzers_ajoutePermissionQUERY($tabQuery);
}


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