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