/**
*   Anti-grillé : permet de savoir si quelqu'un a édité la news entre temps
*   et de fusionner les 2 versions
**/
function get_info_abonnement($where)
{
    $donnees = array();
    $query = Nw::$DB->query('SELECT a_id, a_id_membre, a_email, a_ip, a_token, ' . decalageh('a_date', 'date') . ' FROM ' . Nw::$prefix_table . 'abonnes WHERE ' . $where) or Nw::$DB->trigger(__LINE__, __FILE__);
    $dn = $query->fetch_assoc();
    return $dn;
}
function get_info_mbr($res, $by = null)
{
    if (is_null($by)) {
        if (is_numeric($res)) {
            $where_clause = 'u_id = ' . intval($res);
        } else {
            $where_clause = 'u_alias = \'' . insertBD(trim($res)) . '\'';
        }
    } elseif ($by == 'alias') {
        $where_clause = 'u_alias = \'' . insertBD(trim($res)) . '\'';
    } elseif ($by == 'id') {
        $where_clause = 'u_id = ' . intval($res);
    } elseif ($by == 'mail') {
        $where_clause = 'u_email = \'' . insertBD($res) . '\'';
    } elseif ($by == 'identifier') {
        $where_clause = 'u_identifier = \'' . insertBD($res) . '\'';
    } elseif ($by == 'pseudo') {
        $where_clause = 'u_pseudo = \'' . insertBD($res) . '\'';
    }
    $query = Nw::$DB->query('SELECT u_id, u_alias, u_avatar, u_pseudo, u_group,
    u_localisation, u_ident_unique, u_bio, ' . decalageh('u_date_register', 'date_register') . ',
    ' . decalageh('u_last_visit', 'last_visit') . ', u_password, u_code_act, u_active,
    u_email, u_decalage, DATE_FORMAT(u_date_naissance, "%d/%m/%Y") AS date_naissance, 
    g_titre, g_icone
    FROM ' . Nw::$prefix_table . 'members
        LEFT JOIN ' . Nw::$prefix_table . 'groups ON g_id = u_group
    WHERE ' . $where_clause) or Nw::$DB->trigger(__LINE__, __FILE__);
    return $query->fetch_assoc();
}
function get_list_news($where = '', $ordre = 'n_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = strlen($where) > 0 ? 'WHERE ' . $where . ' ' : '';
    $add_champs_sql = '';
    $add_jointure_sql = '';
    $end_rqt_sql = '';
    $list_news = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Si l'utilisateur est connecté
    if (is_logged_in()) {
        $add_champs_sql .= ', f_id_membre, f_type, vp.v_id_membre';
        $add_jointure_sql = ' LEFT JOIN ' . Nw::$prefix_table . 'news_flags ON (n_id = f_id_news AND f_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ')';
        $add_jointure_sql .= ' LEFT JOIN ' . Nw::$prefix_table . 'news_vote vp ON (n_id = vp.v_id_news AND vp.v_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ' AND vp.v_etat = n_etat)';
    }
    // Rqt SQL
    $rqt_list_news = Nw::$DB->query('SELECT t_tag AS first_tag, c_id, c_rewrite, c_nom, n_resume, n_nb_votes, n_nb_votes_neg, n_nb_versions, n_id, n_id_auteur, n_id_cat, n_titre, n_etat, n_vues, n_private, n_nbr_coms, i_id, i_nom,
        ' . decalageh('n_date', 'date_news') . ', u_id, u_pseudo, u_alias, u_avatar' . $add_champs_sql . '
        FROM ' . Nw::$prefix_table . 'news
            LEFT JOIN ' . Nw::$prefix_table . 'members ON n_id_auteur = u_id' . $add_jointure_sql . '
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON c_id = n_id_cat
            LEFT JOIN ' . Nw::$prefix_table . 'news_images ON i_id = n_id_image
            LEFT JOIN ' . Nw::$prefix_table . 'tags ON (t_id_news = n_id AND t_position = 1)
        ' . $where_clause . 'GROUP BY n_id ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees_news = $rqt_list_news->fetch_assoc()) {
        $list_news[] = $donnees_news;
    }
    return $list_news;
}
function get_list_abonnements()
{
    $donnees = array();
    $query = Nw::$DB->query('SELECT a_id, a_id_membre, a_email, a_ip, a_token, ' . decalageh('a_date', 'date') . ' FROM ' . Nw::$prefix_table . 'abonnes ORDER BY a_id_membre ASC') or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($dn = $query->fetch_assoc()) {
        $donnees[] = $dn;
    }
    return $donnees;
}
Beispiel #5
0
function check_ip($ip)
{
    $query = Nw::$DB->query("SELECT DISTINCT u_id, u_pseudo, u_ip, g_nom, " . decalageh('u_date_register', 'date_register') . ", u_identifier\n        FROM " . Nw::$prefix_table . "members_ip \n        LEFT JOIN " . Nw::$prefix_table . "members ON ip_id_mbr = u_id\n        LEFT JOIN " . Nw::$prefix_table . "groups ON u_group = g_id\n        WHERE ip_ip = " . ip2long($ip) . "\n        ORDER BY ip_date_last DESC") or Nw::$DB->trigger(__LINE__, __FILE__);
    $list_mbr = array();
    while ($donnees = $query->fetch_assoc()) {
        $list_mbr[] = $donnees;
    }
    return $list_mbr;
}
/**
 *  Retourne les infos sur un article.
 *  @param integer $id      L'id de l'article.
 *  @return array
 */
function get_info_article($id)
{
    $rqt_list_articles = Nw::$DB->query('SELECT p_id, p_ressource_name, p_link,
        p_lang, ' . decalageh('p_date', 'date', DATE) . ', p_description, p_num, p_description,
        u_id, u_pseudo
        FROM ' . Nw::$prefix_table . 'press
        LEFT JOIN ' . Nw::$prefix_table . 'members ON p_id_admin = u_id
        WHERE p_id = ' . intval($id)) or Nw::$DB->trigger(__LINE__, __FILE__);
    return $rqt_list_articles->fetch_assoc();
}
function get_info_vrs($id_vrs)
{
    $query = Nw::$DB->query('SELECT v_id, v_ip, v_texte, v_raison, v_number, 
        ' . decalageh('v_date', 'date') . ', v_ip, u_id, u_pseudo, u_alias
        FROM ' . Nw::$prefix_table . 'news_versions
            LEFT JOIN ' . Nw::$prefix_table . 'members ON u_id=v_id_membre
        WHERE v_id=' . intval($id_vrs)) or Nw::$DB->trigger(__LINE__, __FILE__);
    $donnees = $query->fetch_assoc();
    return $donnees;
}
function get_list_ban_ip($finis = null, $ip = null)
{
    $where = array();
    if (!is_null($finis)) {
        $where[] = 'ban_is_end = ' . (int) $finis;
    }
    if (!is_null($ip)) {
        $where[] = 'ban_ip = ' . ip2long($ip);
    }
    $query = Nw::$DB->query("SELECT ban_id, ban_ip, ban_motif, ban_motif_admin,\n        " . decalageh('ban_date', 'date') . ", " . decalageh('ban_date_end', 'date_end') . ",\n        ban_id_modo, u_pseudo, u_alias, ban_is_end\n        FROM " . Nw::$prefix_table . "ban_ip\n        LEFT JOIN " . Nw::$prefix_table . "members ON ban_id_modo = u_id\n        " . (!empty($where) ? 'WHERE ' . implode(' AND ', $where) : '') . "\n        ORDER BY ban_is_end, ban_date DESC");
    return $query->fetch_all();
}
/**
 *  Retourne la liste des articles de presse enregistrés.
 *  @return array
 */
function get_list_articles()
{
    $rqt_list_articles = Nw::$DB->query('SELECT p_id, p_ressource_name, p_link,
        p_lang, ' . decalageh('p_date', 'date', DATE) . ', p_description, p_num, p_description,
        u_id, u_pseudo
        FROM ' . Nw::$prefix_table . 'press
        LEFT JOIN ' . Nw::$prefix_table . 'members ON p_id_admin = u_id
        ORDER BY p_date DESC') or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees_articles = $rqt_list_articles->fetch_assoc()) {
        $list_articles[] = $donnees_articles;
    }
    return $list_articles;
}
function get_last_registered($limit = 0)
{
    $list_membres = array();
    $end_rqt_sql = $limit != 0 ? ' LIMIT ' . $limit : '';
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT u_id, u_pseudo, u_alias, u_avatar, u_localisation, u_bio,
        ' . decalageh('u_date_register', 'date_register') . ', ' . decalageh('u_last_visit', 'last_visit') . '
        FROM ' . Nw::$prefix_table . 'members
        WHERE u_active = 1 GROUP BY u_id ORDER BY u_date_register DESC' . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list_membres[] = $donnees;
    }
    return $list_membres;
}
function get_list_live_messages($id_live, $limit = 0)
{
    $list_post = array();
    $limit_clause = $limit > 0 ? ' LIMIT ' . $limit : '';
    $rqt = Nw::$DB->query('SELECT u_id, u_pseudo, u_alias, u_avatar, post_id, post_id_membre, post_id_live, post_contenu, ' . decalageh('post_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'w_live_posts
        LEFT JOIN ' . Nw::$prefix_table . 'members ON u_id = post_id_membre
        WHERE post_id_live = ' . intval($id_live) . '
        ORDER BY post_date DESC' . $limit_clause) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list_post[] = $donnees;
    }
    return $list_post;
}
function get_list_alerts_news($id_news = null, $solved = null)
{
    $where = array();
    if (!is_null($id_news)) {
        $where[] = 'a_id_news = ' . intval($id_news);
    }
    if (!is_null($solved)) {
        $where[] = 'a_solved = ' . (int) $solved;
    }
    $query = Nw::$DB->query("SELECT c_id, c_nom, c_rewrite, a_id, a_solved, a_texte, a_ip, a_motif, \n        " . decalageh('a_date', 'date') . ", a_auteur, a_admin, u1.u_pseudo AS pseudo_auteur,\n        u2.u_pseudo AS pseudo_admin, a_id_news, n_titre, u1.u_alias\n        FROM " . Nw::$prefix_table . "news_alerts \n        LEFT JOIN " . Nw::$prefix_table . "members u1 ON a_auteur = u1.u_id\n        LEFT JOIN " . Nw::$prefix_table . "members u2 ON a_admin = u2.u_id \n        LEFT JOIN " . Nw::$prefix_table . "news ON a_id_news = n_id \n        LEFT JOIN " . Nw::$prefix_table . "categories ON n_id_cat = c_id" . (!empty($where) ? ' WHERE ' . implode(' AND ', $where) : '') . "\n        ORDER BY a_solved") or Nw::$DB->trigger(__LINE__, __FILE__);
    $dn = array();
    while ($row = $query->fetch_assoc()) {
        $dn[] = $row;
    }
    return $dn;
}
function get_list_votes_news($where = '', $ordre = 'v_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = strlen($where) > 0 ? 'WHERE ' . $where . ' ' : '';
    $list = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT v_etat, v_id, v_type, ' . decalageh('v_date', 'date') . ', u_id, u_pseudo, u_alias, u_avatar
        FROM ' . Nw::$prefix_table . 'news_vote
            LEFT JOIN ' . Nw::$prefix_table . 'members ON v_id_membre = u_id
        ' . $where_clause . 'GROUP BY v_id ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list[] = $donnees;
    }
    return $list;
}
function get_list_news_related($ids_news = array(), $limit = 3, $etat = 3)
{
    $news_related = array();
    $count_nb_related_bynews = array();
    $ids_related_passed = array();
    $add_champs_sql = '';
    $add_jointure_sql = '';
    if (is_array($ids_news)) {
        $rqt_sql = ' IN (' . implode(', ', $ids_news) . ')';
    } else {
        $rqt_sql = ' = ' . intval($ids_news);
    }
    // Si l'utilisateur est connecté
    if (is_logged_in()) {
        $add_champs_sql = ', v_id_membre';
        $add_jointure_sql = ' LEFT JOIN ' . Nw::$prefix_table . 'news_vote
            ON (n_id = v_id_news AND v_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ')';
    }
    $rqt_list_news = Nw::$DB->query('SELECT t1.t_id_news AS old_news, t1.t_tag,
        n_id, n_titre, n_nb_votes, n_nbr_coms, i_id, i_nom, c_id, c_nom, c_rewrite,
        ' . decalageh('n_date', 'date_news') . $add_champs_sql . '
        FROM ' . Nw::$prefix_table . 'tags t1
            LEFT JOIN ' . Nw::$prefix_table . 'tags t2 ON (t2.t_tag = t1.t_tag)
            LEFT JOIN ' . Nw::$prefix_table . 'news ON t2.t_id_news = n_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON n_id_cat = c_id
            LEFT JOIN ' . Nw::$prefix_table . 'news_images ON i_id = n_id_image' . $add_jointure_sql . '
        WHERE n_etat = ' . $etat . ' AND t1.t_id_news' . $rqt_sql . ' AND t1.t_position = 1
        ORDER BY t1.t_id_news, n_date DESC') or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees_news = $rqt_list_news->fetch_assoc()) {
        if ($donnees_news['old_news'] != $donnees_news['n_id']) {
            $count_nb_related_bynews[$donnees_news['old_news']] = isset($count_nb_related_bynews[$donnees_news['old_news']]) ? $count_nb_related_bynews[$donnees_news['old_news']] + 1 : 1;
            if ($count_nb_related_bynews[$donnees_news['old_news']] <= $limit && !in_array($donnees_news['n_id'], $ids_related_passed)) {
                $vars_imp = array('id' => $donnees_news['n_id'], 'titre' => $donnees_news['n_titre'], 'cat_rewrite' => $donnees_news['c_rewrite'], 'rewrite' => rewrite($donnees_news['n_titre']), 'date' => date_sql($donnees_news['date_news'], $donnees_news['heures_date_news'], $donnees_news['jours_date_news']), 'nbr_votes' => $donnees_news['n_nb_votes'], 'nbr_coms' => sprintf(Nw::$lang['news']['nbr_comments_news'], $donnees_news['n_nbr_coms'], $donnees_news['n_nbr_coms'] > 1 ? Nw::$lang['news']['add_s_comments'] : ''), 'has_voted' => is_logged_in() ? $donnees_news['v_id_membre'] : 0, 'image_id' => $donnees_news['i_id'], 'image_nom' => $donnees_news['i_nom']);
                if (is_array($ids_news)) {
                    $news_related[$donnees_news['old_news']][] = $vars_imp;
                } else {
                    $news_related[] = $vars_imp;
                }
                $ids_related_passed[] = $donnees_news['n_id'];
            }
        }
    }
    return $news_related;
}
function get_news_contrib($where = '', $ordre = 'n_date, v_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = strlen($where) > 0 ? 'WHERE ' . $where . ' ' : '';
    $list = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT c_id, c_nom, c_rewrite, i_id, i_nom, v_ip, v_nb_mots, v_diff_mots, v_id, v_id_membre, v_id_news, v_raison, n_etat, n_id, n_titre, ' . decalageh('v_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'news_versions
            LEFT JOIN ' . Nw::$prefix_table . 'news ON v_id_news = n_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON n_id_cat = c_id
            LEFT JOIN ' . Nw::$prefix_table . 'news_images ON i_id = n_id_image
        ' . $where_clause . 'ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list[] = $donnees;
    }
    return $list;
}
function get_list_mbr($where = '', $ordre = 'u_pseudo ASC', $page = '', $element_par_page = 0)
{
    $where_clause = strlen($where) > 0 ? ' WHERE ' . $where . ' ' : '';
    $list_membres = array();
    $end_rqt_sql = '';
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT s_nb_news, s_nb_contrib, s_nb_coms, u_id, u_pseudo, u_alias, u_avatar, u_localisation, u_bio, g_id, g_titre, g_icone,
        ' . decalageh('u_date_register', 'date_register') . ', ' . decalageh('u_last_visit', 'last_visit') . ', DATE_FORMAT(u_last_visit, "%Y-%m-%dT%H:%i:%s+01:00") AS date_sitemap, DATE_FORMAT(u_date_register, "%Y-%m-%dT%H:%i:%s+01:00") AS date_sitemap_register
        FROM ' . Nw::$prefix_table . 'members
            LEFT JOIN ' . Nw::$prefix_table . 'groups ON u_group = g_id
            LEFT JOIN ' . Nw::$prefix_table . 'members_stats ON s_id_membre = u_id
        ' . $where_clause . 'GROUP BY u_id ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list_membres[] = $donnees;
    }
    return $list_membres;
}
function get_comments_mbr($where = '', $ordre = 'c_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = strlen($where) > 0 ? 'WHERE ' . $where . ' ' : '';
    $list = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT cat.c_nom, cat.c_rewrite, g_id, g_icone, g_titre, u_id, u_pseudo, u_avatar, u_alias, com.c_masque, com.c_id, com.c_id_news, com.c_id_membre, com.c_ip, com.c_texte, com.c_plussoie, n_etat, n_id, n_titre, ' . decalageh('c_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'news_commentaires com
            LEFT JOIN ' . Nw::$prefix_table . 'news ON c_id_news = n_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories cat ON n_id_cat = cat.c_id
            LEFT JOIN ' . Nw::$prefix_table . 'members ON c_id_membre = u_id
            LEFT JOIN ' . Nw::$prefix_table . 'groups ON u_group = g_id
        ' . $where_clause . 'ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list[] = $donnees;
    }
    return $list;
}
function get_list_last_cmt($etat_news = 0, $ordre = 'com.c_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = $etat_news != 0 ? 'WHERE n_etat = ' . intval($etat_news) . ' ' : '';
    $add_champs_sql = '';
    $add_jointure_sql = '';
    $list_cmts = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT cat.c_nom, cat.c_rewrite, n_id, n_titre, u_alias, u_avatar, u_id, u_pseudo,
        com.c_id, com.c_id_news, com.c_id_membre, com.c_texte, com.c_ip, com.c_plussoie, ' . decalageh('com.c_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'news_commentaires com
            LEFT JOIN ' . Nw::$prefix_table . 'members ON com.c_id_membre = u_id
            LEFT JOIN ' . Nw::$prefix_table . 'news ON com.c_id_news = n_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories cat ON n_id_cat = cat.c_id
        ' . $where_clause . 'ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list_cmts[] = $donnees;
    }
    return $list_cmts;
}
function get_list_cmt_news($id_news, $ordre = 'c_date ASC', $page = '', $element_par_page = 0)
{
    $where_clause = $id_news != 0 ? 'WHERE c_id_news = ' . intval($id_news) . ' ' : '';
    $add_champs_sql = '';
    $add_jointure_sql = '';
    $list_cmts = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT g_nom, g_titre, g_icone, u_avatar, u_id, u_pseudo, 
        u_alias, c_masque, c_masque_raison, c_id, c_id_news, c_id_membre, c_texte,
        c_ip, c_plussoie, ' . decalageh('c_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'news_commentaires
            LEFT JOIN ' . Nw::$prefix_table . 'members ON c_id_membre = u_id
            LEFT JOIN ' . Nw::$prefix_table . 'groups ON u_group = g_id
        ' . $where_clause . 'ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list_cmts[] = $donnees;
    }
    return $list_cmts;
}
function get_news_logs($where = '', $ordre = 'l_date DESC', $page = '', $element_par_page = 0)
{
    $where_clause = !empty($where) ? 'WHERE ' . $where . ' ' : '';
    $add_champs_sql = '';
    $add_jointure_sql = '';
    $end_rqt_sql = '';
    $list = array();
    if (!empty($page) && is_numeric($page)) {
        $premierMessageAafficher = ($page - 1) * $element_par_page;
        $end_rqt_sql = ' LIMIT ' . $premierMessageAafficher . ', ' . $element_par_page . ' ';
    }
    // Rqt SQL
    $rqt = Nw::$DB->query('SELECT n_id, n_titre, l_id_news, l_id_membre, l_titre, l_action, l_texte, l_ip, u_id, u_pseudo, u_avatar, u_alias, ' . decalageh('l_date', 'date') . '
        FROM ' . Nw::$prefix_table . 'news_logs
            LEFT JOIN ' . Nw::$prefix_table . 'members ON l_id_membre = u_id
            LEFT JOIN ' . Nw::$prefix_table . 'groups ON u_group = g_id
            LEFT JOIN ' . Nw::$prefix_table . 'news ON l_id_news = n_id
        ' . $where_clause . 'ORDER BY ' . $ordre . $end_rqt_sql) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees = $rqt->fetch_assoc()) {
        $list[] = $donnees;
    }
    return $list;
}
function get_list_top_actu($limit = 5)
{
    $add_champs_sql = '';
    $add_jointure_sql = '';
    $list_news = array();
    // Si l'utilisateur est connecté
    if (is_logged_in()) {
        $add_champs_sql = ', v_id_membre';
        $add_jointure_sql = ' LEFT JOIN ' . Nw::$prefix_table . 'news_vote ON (n_id = v_id_news AND v_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ')';
    }
    $rqt_list_news = Nw::$DB->query('SELECT i_id, i_nom, ' . decalageh('n_date', 'date_news') . ',
        n_id, n_id_auteur, n_id_cat, n_titre, n_etat, n_vues, n_private, c_id, c_rewrite, c_nom,
        n_nbr_coms, n_nb_votes' . $add_champs_sql . '
        FROM ' . Nw::$prefix_table . 'news
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON c_id = n_id_cat
            LEFT JOIN ' . Nw::$prefix_table . 'news_images ON i_id = n_id_image' . $add_jointure_sql . '
        WHERE n_etat = 3 AND n_date >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
        GROUP BY n_id ORDER BY n_nb_votes DESC, n_vues DESC
        LIMIT ' . $limit) or Nw::$DB->trigger(__LINE__, __FILE__);
    while ($donnees_news = $rqt_list_news->fetch_assoc()) {
        $list_news[] = $donnees_news;
    }
    return $list_news;
}
Beispiel #22
0
function get_info_news($id_news, $id_version = 0)
{
    $id_version_sql = $id_version != 0 ? intval($id_version) : 'n_last_version';
    $add_champs_sql = '';
    $add_jointure_sql = '';
    // Si l'utilisateur est connecté
    if (is_logged_in()) {
        $add_champs_sql .= ', f_id_membre, f_type, vp.v_id_membre';
        $add_jointure_sql .= ' LEFT JOIN ' . Nw::$prefix_table . 'news_flags ON (n_id = f_id_news AND f_type = 1 AND f_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ')';
        $add_jointure_sql .= ' LEFT JOIN ' . Nw::$prefix_table . 'news_vote vp ON (n_id = vp.v_id_news AND vp.v_id_membre = ' . intval(Nw::$dn_mbr['u_id']) . ' AND vp.v_etat = n_etat)';
    }
    // Rqt SQL
    $rqt_dn_news = Nw::$DB->query('SELECT c_id, c_rewrite, c_nom, v_texte, n_nb_votes, n_nb_votes_neg, n_resume, n_nb_src,
        n_last_version, n_nb_versions, n_id, n_id_auteur, n_id_cat, n_titre, n_etat,
        n_vues, n_private, n_nbr_coms, i_id, i_nom, ' . decalageh('n_date', 'date_news') . ',
        u_id, u_pseudo, u_alias, u_avatar, u_bio' . $add_champs_sql . '
        FROM ' . Nw::$prefix_table . 'news
            LEFT JOIN ' . Nw::$prefix_table . 'members ON n_id_auteur = u_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON c_id = n_id_cat
            LEFT JOIN ' . Nw::$prefix_table . 'news_versions ON (v_id_news = n_id AND v_id = ' . $id_version_sql . ')
            LEFT JOIN ' . Nw::$prefix_table . 'news_images ON i_id = n_id_image' . $add_jointure_sql . '
        WHERE n_id = ' . intval($id_news)) or Nw::$DB->trigger(__LINE__, __FILE__);
    return $rqt_dn_news->fetch_assoc();
}
function get_list_vrs($id_news = 0, $limit = 0)
{
    $add_sql = '';
    $add_sql2 = '';
    if ($id_news != 0) {
        $add_sql = ' WHERE v_id_news=' . intval($id_news);
    }
    if ($limit != 0) {
        $add_sql2 = ' LIMIT ' . intval($limit);
    }
    $query = Nw::$DB->query('SELECT c_id, c_nom, c_rewrite, n_id, n_titre, v_id, v_id_news, v_ip, v_texte, v_raison, v_number, v_mineure,
        ' . decalageh('v_date', 'date') . ', v_ip, u_id, u_alias, u_avatar, u_pseudo
        FROM ' . Nw::$prefix_table . 'news_versions
            LEFT JOIN ' . Nw::$prefix_table . 'news ON v_id_news = n_id
            LEFT JOIN ' . Nw::$prefix_table . 'categories ON n_id_cat = c_id
            LEFT JOIN ' . Nw::$prefix_table . 'members ON u_id=v_id_membre' . $add_sql . '
        ORDER BY v_date DESC, v_id DESC' . $add_sql2) or Nw::$DB->trigger(__LINE__, __FILE__);
    $dn_versions = array();
    while ($donnees = $query->fetch_assoc()) {
        $dn_versions[] = $donnees;
    }
    $query->free();
    return $dn_versions;
}