Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
mettre mon forum dans un site et intégrer des news

 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
::  
Auteur Message
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Lun Avr 30, 2007 7:51 am    Sujet du message: mettre mon forum dans un site et intégrer des news

Bonjour à tous, je me suis inscrit sur ce forum
car durant mes recherches, j'ai eu beaucoup
d'aide de votre part.

Mais ne trouvant pas de solution adéquat,
j'en vien a vous demander de l'aide.

J'ai en faite intégrer le forum phpBB dans mon site web,
en moidifiant les templates, jusque là rien de spécial.

J'ai aussi créer des groupes avec des forum privés.


Et je souhaiterai que sur la page d'accueil de mon site,
celui où phpBB est intégrer, afficher des news,
mais je suis compliqué Very Happy

Je souhaiterai que les membres d'un groupe, une fois connecté puissent lire les news en rapport avec le groupe, et que quand on est pas connecté on voit les news générales.


Pour cela, il faudrait donner des droits a certains membres pour qu'ils postent des news juste pour leurs groupe.



Je peux vous répondre plus en détail si vous le souhaitez.


Ouf! Shocked Confused

J'attend vos réponses


PS: je ne souhaite pas utiliser de portails

Les news doivent apparaitre avec le contenu, les image, etc sur la page d'accueil, pas seulement le titre
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15131

mettre mon forum dans un site et intégrer des newsPosté le: Lun Avr 30, 2007 9:38 am    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

La bienvenue Very Happy

Si tu codes un peu en php, tu pourrais t'inspirer du module mx_annouce.php de mxBB2.8 (dans le dossier modules/mx_phpbb2blocks/ de l'archive sur www.mx-system.com ), il y a toute la trame pour les autorisation et les requêtes sql à effectuer.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Lun Avr 30, 2007 10:57 am    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

oui je code en php je vais m'inspirer de ça merci Wink
Revenir en haut de page
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Lun Avr 30, 2007 4:20 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

Re, je voudrai une explication stp, le mod que tu m'as donné et un mod pour un "portail" et toi tu veux que je prenne juste le bloc de news du portail et l'insérer dans ma page d'accueil mais je n'y arrive pas. STP aide moi Crying or Very sad
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15131

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 10:24 am    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

C'est pour cela que j'ai dit, si tu codes un peu.

Le portail utilises pratiquement les mêmes standards que phpBB, classe SQL et templating, donc, c'est assez proche, très même, mxBB utilises juste un ou deux fonction perso, que tu pourrais même ajouter à phpBB pour faire encore plus simple.

Tu trouvera par exemple la réponse à ta question sur la requète SQL à effectuer :
Code:
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid, p2.post_time AS last_post_time
   FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = t.topic_id
      AND t.topic_type IN ( " . $topic_type . " )
      AND p.post_id = t.topic_first_post_id
        AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
      AND p.post_time >= $min_topic_time
      AND t.forum_id IN ( $auth_data_sql )
      AND t.forum_id IN ( $announce_forum )
      AND p2.post_id = t.topic_last_post_id
      AND u2.user_id = p2.poster_id
   ORDER BY p.post_time $post_time_order
   LIMIT $start, " . $announce_nbr_display;


Dans ton cas, tu pourrais simplifier en :
Code:
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid, p2.post_time AS last_post_time
   FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = t.topic_id
      AND t.topic_type IN ( " . $topic_type . " )
      AND p.post_id = t.topic_first_post_id
        AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
      AND p.post_time >= $min_topic_time
      AND t.forum_id IN ( $auth_data_sql )
      AND p2.post_id = t.topic_last_post_id
      AND u2.user_id = p2.poster_id
   ORDER BY p.post_time $post_time_order
   LIMIT $start, " . $announce_nbr_display;


Et t'ocupper des autorisation de cette façon, comme dans rss.php du mode gym sitemaps :
Code:
$auth_data_sql = array();
$auth_data_sql = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
foreach ($auth_data_sql as $f_id => $f_auth) {
   // only keep unauthed ids
   if ( !$not_auth_ary[$f_id]['auth_view'] || !$not_auth_ary[$f_id]['auth_read']) {
      unset($not_auth_ary[$f_id]);
   } else {
      // Only keep forum id
      $auth_data_sql[$f_id] = $f_id;
   }
}
// ici tu pourrais égallement filtrer des forum que tu ne souhaite pas afficher dans ta home
// en utilisant unset() sur les entrées correspondant à leur id dans la tableux $auth_data_sql.
$auth_data_sql = (!empty($auth_data_sql)) ? implode(",", $auth_data_sql) : 0;


Et hop, tu peux envoyer la requète avec les autorisations.
Il te faudra égallement initialiser :
Code:

$min_topic_time = un chiffre en secondes;


A zero pour aucune limite de temps et t'occuper de :

Code:
$topic_type


qui sert à séléctionner les types de sujets, genre :
Code:
$topic_type = POST_ANNOUNCE;


pour les annonces seules :

Code:
$topic_type = POST_STICKY . "," . POST_ANNOUNCE;


pour les annonces et les post its, tu peux lister tous les types que tu veux, séparé par des virgules, ils sont définits dans includes/constants.php :

Code:
// Topic types
define('POST_NORMAL', 0);
define('POST_STICKY', 1);
define('POST_ANNOUNCE', 2);
define('POST_GLOBAL_ANNOUNCE', 3);


Après ça, tu as toutes les donnée, te restes plus qu'à mettre en forme.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 11:45 am    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

Wow, j'admire ton savoir Mr. Green !!!!!!

Merci, je tien juste a rappeler que sur la page d'accueil de mon site, je n'utilise pas les tpl.


merci, je vais esayé Wink
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15131

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 11:55 am    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

C'est pas grave, pour peu que tu partages les sessions de phpbb, ce qu'il faut que tu fasse pour réutiliser la classe $db et les fonctions phpBB, dont celles des autorisations, tu peux le faire.

Et tu peux même t'en passer si tu veux, à coup de echo, là, tu as juste les donnée brutes à formatter et afficher comme tu le sent.

Je ne te cache pas qu'il reste du taf, j'aurais fait direct le mod si non, mais tu as la base.

A noter que l'on peu aussi utiliser GYM sitemaps pour efficher des message sur un page, en utilisant magpie, un sujet a été lancé à ce sujet dans le forum anglophone, je vais bientôt écrire plus sur le sujet.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 12:01 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

ok, mais un problème m'est apparu


voici mon code total:


Code:
$nombre = 5;
$auth = auth(AUTH_READ,AUTH_LIST_ALL,$userdata);
$requete = '(';
for($i=1;$i<=count($auth);$i++)
{
    if ($auth[$i]['auth_read'])
        $requete .= $i . ',';
}
$requete = substr($requete,0,strlen($requete)-1);
$requete .= ')';
 

$news_data = $db->sql_fetchrow($result);

$auth_data_sql = array();
$auth_data_sql = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
foreach ($auth_data_sql as $f_id => $f_auth) {
   // only keep unauthed ids
   if ( !$not_auth_ary[$f_id]['auth_view'] || !$not_auth_ary[$f_id]['auth_read']) {
      unset($not_auth_ary[$f_id]);
   } else {
      // Only keep forum id
      $auth_data_sql[$f_id] = $f_id;
   }
}
// ici tu pourrais égallement filtrer des forum que tu ne souhaite pas afficher dans ta home
// en utilisant unset() sur les entrées correspondant à leur id dans la tableux $auth_data_sql.
$auth_data_sql = (!empty($auth_data_sql)) ? implode(",", $auth_data_sql) : 0;       

$min_topic_time = 0;

$topic_type = POST_NORMAL;

$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid, p2.post_time AS last_post_time
   FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = t.topic_id
      AND t.topic_type IN ( " . $topic_type . " )
      AND p.post_id = t.topic_first_post_id
        AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
      AND p.post_time >= $min_topic_time
      AND t.forum_id IN ( $auth_data_sql )
      AND p2.post_id = t.topic_last_post_id
      AND u2.user_id = p2.poster_id
   ORDER BY p.post_time $post_time_order
   LIMIT $start, " . $announce_nbr_display;
   
   
 


$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result) )
{
    $row['username'] = ( $row['poster_id'] == -1 ) ? ( ($row['post_username'] != '') ? $row['post_username'] : 'Invité' ): $row['username'];
   
   ?>
   
   
   
   
         
      <div class="contenu">
            <div class="roundedcornr_top_758222">
           <div class="roundedcornr_bottom_758222"><span class="titre_news"><?php echo('<a href="' . $phpbb_root_path . 'viewtopic.php?' . POST_POST_URL . '=' . $row['post_id'] . '#' . $row['post_id'] . '" title="' . $row['topic_title'] . '">' . $row['topic_title'] . '</a>');?></span></div>
            </div>
            <div class="contenu2">   
         L'heure se paramètre à deux endroits : dans l'administratoin, et dans le profil.
Ces deux paramètrages ont des buts différents. Dans l'administration, le paramétrage sert pour les non-connectés, et comme paramètre par défaut pour les nouveaux membres (un changement ici ne changera rien dans le profil des membres existants).

- Allez dans le Panneau d'administration, puis Configuration.
- Changez la ligne Format de la date comme désiré. Les lettres utilisées pour le paramétrage sont celles utilisées par la fonction PHP date(). Vous pouvez consulter les informations sur cette fonction dans la documentation PHP.

Exemple :

         </div>
            <div class="roundedcornr_bottom_758222">
   <div>
   <span class="mini"><?php
   
   $lien = append_sid('forum/profile.php?mode=viewprofile&u=' .$row['poster_id']);
   echo
   'Posté par  <a href="'. $lien .'">' . $row['username'] . '</a> le '
   
   
   . create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']) ; ?></span>   </div>
   </div>
   </div>





tu a pu le remarquer, a chaque news, des div viennent mettre en forme la news, car il est placé dans une boucle ,while.

mais sur ma page, rien ne s'affiche aprés le changement, quelles sont les variables qui donne, les titre, contenue, posteur, etc. ?



PS: un text fictif est placé, il parle de l'heure sur phpbb, je souhaite le remplacer par une variable qui contient le contenu, aussi j'ai pas compris avec le unset.
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15131

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 12:11 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

Le début est bizarre :
Code:

$nombre = 5;
$auth = auth(AUTH_READ,AUTH_LIST_ALL,$userdata);
$requete = '(';
for($i=1;$i<=count($auth);$i++)
{
    if ($auth[$i]['auth_read'])
        $requete .= $i . ',';
}
$requete = substr($requete,0,strlen($requete)-1);
$requete .= ')';
 

$news_data = $db->sql_fetchrow($result);


Il ne sert à rien on dirait bien, pas dans la requête en tous cas, et j'ai oublié de te parler des limites :

Code:
   LIMIT $start, " . $announce_nbr_display;

Il faut donc initialiser ces deux là, enfin pas besoin de $start si tu ne compte pas utiliser de pagination, du coup :
Code:

$announce_nbr_display = nombre de new à afficher;


Et utilises plutôt :
Code:
   LIMIT $announce_nbr_display ";


du coup.

Pour le reste, c'est bien dans $row que vont se trouver les résultats, le LIMIT "rien du tout" devait renvoyer un tableau vide Wink

Le coup du unset(), c'est juste pour dire que tu pourrais choisir de ne pas prendre en compte tous les forums pour afficher des news, faire un :
Code:
unset($auth_data_sql[9]);


à l'endroit du commentaire empêcherait par exemple que le forum n°9 serve de source pour les news, peu importe les autorisations.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 12:16 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

olalala t'es vraiment super !


merci

meric !!! Very Happy Very Happy Very Happy


j'ai donc changé mon code pour obtenir ça :


Code:
<?php

   
   
   $auth_data_sql = array();
$auth_data_sql = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
foreach ($auth_data_sql as $f_id => $f_auth) {
   // only keep unauthed ids
   if ( !$not_auth_ary[$f_id]['auth_view'] || !$not_auth_ary[$f_id]['auth_read']) {
      unset($not_auth_ary[$f_id]);
   } else {
      // Only keep forum id
      $auth_data_sql[$f_id] = $f_id;
   }
}
// ici tu pourrais égallement filtrer des forum que tu ne souhaite pas afficher dans ta home
// en utilisant unset() sur les entrées correspondant à leur id dans la tableux $auth_data_sql.


$auth_data_sql = (!empty($auth_data_sql)) ? implode(",", $auth_data_sql) : 0;       

$min_topic_time = 0;

$topic_type = POST_NORMAL;
   
   $announce_nbr_display = 5;      


$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid, p2.post_time AS last_post_time
   FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2, " . POSTS_TEXT_TABLE . " pt
   WHERE p.topic_id = t.topic_id
      AND t.topic_type IN ( " . $topic_type . " )
      AND p.post_id = t.topic_first_post_id
        AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
      AND p.post_time >= $min_topic_time
      AND t.forum_id IN ( $auth_data_sql )
      AND p2.post_id = t.topic_last_post_id
      AND u2.user_id = p2.poster_id
   ORDER BY p.post_time $post_time_order
   LIMIT $start, " . $announce_nbr_display;
   
   
 
 


$result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result) )
{
    $row['username'] = ( $row['poster_id'] == -1 ) ? ( ($row['post_username'] != '') ? $row['post_username'] : 'Invité' ): $row['username'];
   
   ?>
   
   
   
   
         
      <div class="contenu">
            <div class="roundedcornr_top_758222">
           <div class="roundedcornr_bottom_758222"><span class="titre_news"><?php echo('<a href="' . $phpbb_root_path . 'viewtopic.php?' . POST_POST_URL . '=' . $row['post_id'] . '#' . $row['post_id'] . '" title="' . $row['topic_title'] . '">' . $row['topic_title'] . '</a>');?></span></div>
            </div>
            <div class="contenu2">   
         L'heure se paramètre à deux endroits : dans l'administratoin, et dans le profil.
Ces deux paramètrages ont des buts différents. Dans l'administration, le paramétrage sert pour les non-connectés, et comme paramètre par défaut pour les nouveaux membres (un changement ici ne changera rien dans le profil des membres existants).



         </div>
            <div class="roundedcornr_bottom_758222">
   <div>
   <span class="mini"><?php
   
   $lien = append_sid('forum/profile.php?mode=viewprofile&u=' .$row['poster_id']);
   echo
   'Posté par  <a href="'. $lien .'">' . $row['username'] . '</a> le '
   
   
   . create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']) ; ?></span>   </div>
   </div>
   </div>
 
  <?php   
 
}
?>



Mais je ne sais pas le nom de la variable qui contient les news, et aussi rien ne s'affiche Shocked ?!

il doit y avoir un probléme mais je en sais pas lequel.
Revenir en haut de page
bicool



Inscrit le: 29 Avr 2007
Messages: 25

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 1:45 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

personne a une idée ?
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15131

mettre mon forum dans un site et intégrer des newsPosté le: Mar Mai 01, 2007 1:48 pm    Sujet du message: Re: mettre mon forum dans un site et intégrer des news

Le contenu du message se trouvera dans $row['post_text'].

Et à ce propos, il te faudra certainement t'inspirer de viewtopic.php, pour mettre en forme les bbcode etc, le code se trouve à partir de :
Code:

   // If the board has HTML off but the post has HTML
   // on then we process it, else leave it alone


++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
Page 1 sur 1

Navigation Autres sujets de discussion

Sauter vers: