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  
 
   
[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » mod Rewrite phpBB3
::  
Auteur Message
Forge



Inscrit le: 30 Sep 2007
Messages: 17
Localisation: Dans une forge.

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Ven Juil 04, 2008 9:11 am    Sujet du message: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Voilà, je souhaiterais récupérer les titres des derniers topics si possible correctement orthographié.
Jusqu'à présent, j'employais un script similaire à celui-ci mais depuis l'installation de la premod V3.01, cette erreur est renvoyée :
Fatal error: Call to undefined function: utf8_normalize_nfc() in /home.2/nom/www/forum/phpbb_seo/phpbb_seo_class.php
qui renvoie à la ligne :
Code:
// workaround for FF default iso encoding
      if (!$this->is_utf8($this->seo_path['uri']) && function_exists('utf8_encode')) {
         $this->seo_path['uri'] = utf8_normalize_nfc(utf8_encode($this->seo_path['uri']));
      }

Avez vous un petit script qui fonctionne bien avec utilisation du mode rewrite avancé pour PHPBB 3.01.
Merci. Smile


Dernière édition par Forge le Ven Juil 04, 2008 3:48 pm; édité 1 fois
Revenir en haut de page
SeO
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 15 Mar 2006
Messages: 3791

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Ven Juil 04, 2008 9:53 am    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Fait un include de includes/utf/utf_tools.php, ou mieux de common.php si c'est possible, pour vraiment avoir tout le code nécessaire ainsi que la config de phpBB (qui sert dans la classe phpbb_seo). Si tu inclus common.php, tu n'aura pas besoin de lancer la classe phpbb_seo.

_________________
phpBB SEO || SEO Forum || Forum Référencement
GYM Sitemap & RSS for phpBB3 has been released ! || GYM Sitemap & RSS for phpBB3 est disponible !
Revenir en haut de page
Forge



Inscrit le: 30 Sep 2007
Messages: 17
Localisation: Dans une forge.

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Ven Juil 04, 2008 3:11 pm    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Merci SeO.
Voilà donc une solution pour récupérer les titres et le début des posts (260 caractères) et réaliser un affichage en charset ISO-8859-1.

Code:
<?php
$db_serverforum = "xxxxxx"; //adresse du serveur MySQL
$db_nameforum = "xxxxxx"; //nom de la base de données
$db_user_loginforum = "xxxxxx"; //nom d'utilisateur pour la BD
$db_user_passforum = "xxxxxx"; //mot de passe pour la BD

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Sélection des 5 derniers posts
$sql = "SELECT phpbb_topics.topic_id, phpbb_topics.topic_title, phpbb_posts.post_text, phpbb_posts.post_time, phpbb_posts.poster_id, phpbb_posts.post_username, phpbb_users.username

FROM phpbb_topics, phpbb_posts, phpbb_users

WHERE phpbb_posts.post_id = phpbb_topics.topic_first_post_id
AND phpbb_users.user_id = phpbb_topics.topic_poster

GROUP BY phpbb_topics.topic_id
ORDER BY phpbb_topics.topic_id DESC
LIMIT 5";
 
$req = mysql_query($sql) or die(mysql_error());
echo " Les 5 derniers sujets du <a href=\"http://url-de-votre-forum/\" target=\"_blank\">forum de example</a> :";

// Boucle d'affichage du post
while($db_data = mysql_fetch_assoc($req)) {

// Titre du post
$post_title = "<a href=\"http://url-de-votre-forum/". $phpbb_seo->format_url($db_data['topic_title']) . $phpbb_seo->seo_delim['topic'] . $db_data['topic_id'] . $phpbb_seo->seo_ext['topic'] ."\" target=\"_blank\" >" . htmlentities(utf8_decode($db_data['topic_title'])) . "</a>";

// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 260;
if (strlen($post)>$max_caracteres) {
   $max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
   $post = substr($post, 0, $max_caracteres);
   $post .= " (...)";
}
     
$post = preg_replace("(\[.*\])U","",$post );
$post = htmlentities(utf8_decode($post));
$poster = htmlentities(utf8_decode($db_data['username']));
setlocale (LC_TIME, 'fr_FR','fra');
$post_time = strftime("%A %d %B %Y à %H:%M", $db_data['post_time']+(0));
$post_time = htmlentities($post_time);

echo "<p align=\"left\">$post_title par $poster - $post_time.<br />
$post</p>";

}

// on ferme la connexion à mysql
garbage_collection();

?>

Bin, voilà, j'espère que cela pourra servir. Smile

Edit : Le code ci-dessus prend en compte toutes les remarques de SeO ci-dessous. Wink


Dernière édition par Forge le Mar Juil 15, 2008 9:50 am; édité 3 fois
Revenir en haut de page
SeO
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 15 Mar 2006
Messages: 3791

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Sam Juil 05, 2008 9:30 am    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Si tu fait un include sur common.php, tu n'as pas besoin de te connecter à la DB, c'est déjà fait, et tu as même la class db de lancée Wink

_________________
phpBB SEO || SEO Forum || Forum Référencement
GYM Sitemap & RSS for phpBB3 has been released ! || GYM Sitemap & RSS for phpBB3 est disponible !
Revenir en haut de page
Forge



Inscrit le: 30 Sep 2007
Messages: 17
Localisation: Dans une forge.

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Sam Juil 05, 2008 1:08 pm    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Idea J'ai édité le code ci-dessus. Merci pour ta précision, cela devient vraiment enfantin...
PS : Tu me confirmes que la fermeture de la connexion est exacte grâce à ce code ?
Code:
// on ferme la connexion à mysql
$db->sql_close();


Merci. Wink
Revenir en haut de page
SeO
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 15 Mar 2006
Messages: 3791

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Sam Juil 05, 2008 2:47 pm    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Oui, mais pour bien faire, il vaut mieux utiliser garbage_collection() :

Code:
garbage_collection();


qui vides le cache et ferme la connexion à la db, comme ça si une autre tache nécessaire en fin de cycle viens s'ajouter à phpBB, ton code l'utilisera directe Wink

Dans includes/functions.php
Code:
/**
* Closing the cache object and the database
* Cool function name, eh? We might want to add operations to it later
*/
function garbage_collection()
{
   global $cache, $db;

   // Unload cache, must be done before the DB connection if closed
   if (!empty($cache))
   {
      $cache->unload();
   }

   // Close our DB connection.
   if (!empty($db))
   {
      $db->sql_close();
   }
}


Les puristes utiliseraient égallement exit_handler() au lieux de exit; pour tout a fait intégrer les fonctionnalité de phpBB3, les hook en l'occurence (toujours dans includes/functions.php) :
Code:

/**
* Handler for exit calls in phpBB.
* This function supports hooks.
*
* Note: This function is called after the template has been outputted.
*/
function exit_handler()
{
   global $phpbb_hook;

   if (!empty($phpbb_hook) && $phpbb_hook->call_hook(__FUNCTION__))
   {
      if ($phpbb_hook->hook_return(__FUNCTION__))
      {
         return $phpbb_hook->hook_return_result(__FUNCTION__);
      }
   }

   // As a pre-caution... some setups display a blank page if the flush() is not there.
   @flush();

   exit;
}

Mais il y a déjà moins de chances que ce soit vraiment utile. Et note égallement qui si tu passait par page_header() et page_footer() dans tes pages partageant les sessions de phpBB, tu n'aurait pas besoin de faire ça, c'est fait dans page_footer() Wink

_________________
phpBB SEO || SEO Forum || Forum Référencement
GYM Sitemap & RSS for phpBB3 has been released ! || GYM Sitemap & RSS for phpBB3 est disponible !
Revenir en haut de page
Forge



Inscrit le: 30 Sep 2007
Messages: 17
Localisation: Dans une forge.

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Mar Juil 15, 2008 9:41 am    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

Merci SeO,
J'ai pris quelques vacances, ce qui explique que je tarde à te répondre.
J'ai édité le code plus haut en appliquant la fonction garbage_collection();.
Je n'ai pas ajouté d'include de functions.php (sans quoi cela foire) mais la fonction garbage_collection() semble faire son effet...
Merci encore.
++
Forge. Wink
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15123

[Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancéPosté le: Mar Juil 15, 2008 10:30 am    Sujet du message: Re: [Résolu] Récupérer les titres sous PHPBB3 - Rewrite avancé

C'est normal, functions.php est inclus dans common.php Wink

_________________
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  » mod Rewrite phpBB3
Page 1 sur 1

Navigation Autres sujets de discussion

Sauter vers: