MOD Topic anywhere pour phpbb3

Toutes les questions et les aides qui concernent le langage PHP
Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Mar Avr 27, 2010 10:03 pm

C'est un problème avec tes règles de réécritures d'url ça, dans ton fichier .htaccess
C'est pas normal qu'il y ait du code php et qu'il soit exécuté dans tes pages .htm déjà ^^
Vive les tutomakers ;)

Maxime
Tutomaker Junior
Tutomaker Junior
 
Messages: 6
Enregistré le: Jeu Nov 05, 2009 11:51 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Maxime le Mar Avr 27, 2010 10:10 pm

Je suis un peu dépassé niveau compétences dans ce que tu me dis

Le .htaccess dans le repertoire 'projet', c'est celui de base de phpBB3
#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#<IfModule mod_rewrite.c>
#RewriteEngine on
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#</IfModule>

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>


Ensuite, le script s'exécute dans un calque, effectivement sur une page HTML. Un peu comme c'est le cas actuellement sur la page d'accueil de mon site www.laryngo.com (sauf que là, je passe par un mod topics_anywhere, que je ne retrouve pas pour phpBB3).

Je dois modifier le fichier .htaccess ?

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Mar Avr 27, 2010 10:15 pm

Le problème c'est que tu vois bien dans les erreurs il fait appel a des fichiers avec extensions .htm alors qu'il devrait rechercher des fichiers à extension .php.

Par exemple il dit ne pas trouver comon.htm, c'est normal vu que le fichier s'appelle comon.php. Il y a donc un souci de configuration au niveau des extensions sur ton hébergement. Demande à l'administrateur de ton système ce qu'il se passe alors.

Ou alors c'est toi qui a modifié des choses et tu en es le seul responsable :)
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Jeu Juil 08, 2010 11:25 pm

Bonsoir,

J'ai actuellement un forum phpbb3.0.7 avec un MOD seo url rewriting avancé.

Je souhaitais faire comme jerome (page 1), c'est à dire installer le script php qui permet d'afficher le titre des derniers messages sur une page différente de celle du forum. J'ai donc copier le script et aussi ajouté les include avant ce même script.

J'ai une erreur qui diffère de la sienne, et qui est :
Fatal error: Call to a member function on a non-object in /homepages/32/d249915576/htdocs/test.php on line 30

Si quelqu'un a une solution ? merci d'avance...

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Jeu Juil 08, 2010 11:42 pm

Oui salut, dit nous ce qu'il y a à cette ligne 30 ? :D
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 11:36 am

Voici le code :

Code: Tout sélectionner
$result $db->sql_query($sql); 


L'erreur affiche cette ligne, mais l'erreur viens normalement d'une ligne antérieure, mais laquelle :arf:

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 1:13 pm

T'es bien en PHP5 ? :d A mon avis le chemin vers les fichiers php ne sont pas les bons et les includes ne sont pas fait correctement.
Je viens de prendre tel quel le code de cette page mod-topic-anywhere-pour-phpbb3-t404.html#p4111 et ca marche direct. Donc ca vient bien de ta configuration.

Tu dois avoir mal configuré ceci:

Code: Tout sélectionner
$phpbb_root_path =  './forum/'; 


Tu dois le changer avec la disposition de ton forum par rapport à ton script sur ton ftp !
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 1:31 pm

normalement le forum phpbb3 fonctionne avec php 5 non ? ce qui voudrait dire que oui.

voici comment les repertoires sont constitués :

monsite.com/forum/phpbb3/ puis le contenu du forum

Là ou les titres doivent apparaître :

monsite.com/test.php

voici le début du code que tu as fourni, mais que j'ai modifié (repertoires):

Code: Tout sélectionner
include('forum/phpbb3/common.php');
include(
'forum/phpbb3/includes/functions_posting.php');

define('IN_SITE'true);
define('IN_PHPBB'true);
$phpbb_root_path =  'forum/phpbb3/';
$phpEx substr(strrchr(__FILE__'.'), 1);
include(
$phpbb_root_path 'common.' $phpEx); 

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 1:32 pm

Bah voila l'erreur, remplace

Code: Tout sélectionner
include('forum/phpbb3/common.php');
include(
'forum/phpbb3/includes/functions_posting.php');

define('IN_SITE'true);
define('IN_PHPBB'true);
$phpbb_root_path =  'forum/phpbb3/';
$phpEx substr(strrchr(__FILE__'.'), 1);
include(
$phpbb_root_path 'common.' $phpEx);  


par

Code: Tout sélectionner
define('IN_SITE', true);
define('IN_PHPBB', true);
$phpbb_root_path =  './forum/phpbb3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include(
$phpbb_root_path . 'common.' . $phpEx);
include(
$phpbb_root_path . 'includes/functions_posting.' . $phpEx); 
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 1:40 pm

Je viens d'ajouter le ./ mais j'ai la même erreur

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 1:42 pm

T'as bien changé tout le code que je t'ai dit de remplacer et pas seulement ajouté "./" ? Parce que tu fais deux fois le même include je te signal ;)

Code: Tout sélectionner
include(....common.php); 
include($phpbb_root_path . 'common.' . $phpEx); 
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 1:48 pm

Oui je viens de remplacer le block indiqué mais l'erreur est toujours la même

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 2:10 pm

systemz a écrit:Voici le code :

Code: Tout sélectionner
$result = $db->sql_query($sql); 


L'erreur affiche cette ligne, mais l'erreur viens normalement d'une ligne antérieure, mais laquelle :arf:


Tu utilises pas la variable $db avant pour autre chose ?. Faudrait que tu me montres la page entière parce que la je vois pas trop d'où ça peut venir ! Si tu utilises $db auparant dans ton script, ce n'est donc pas un objet et c'est normal.
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 2:12 pm

Ok, je te colle même le HTML :D

Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>

<ul>
<?php
    define
('IN_SITE'true);
    
define('IN_PHPBB'true);
    
$phpbb_root_path =  './forum/phpbb3/';
    
$phpEx substr(strrchr(__FILE__'.'), 1);
    include(
$phpbb_root_path 'common.' $phpEx);
    include(
$phpbb_root_path 'includes/functions_posting.' $phpEx); 
 
// Sélection des 10 derniers posts
$sql "SELECT t.topic_replies_real,t.topic_replies,t.topic_title,t.forum_id,t.topic_id,t.topic_type,t.topic_last_post_id,f.forum_name,t.topic_last_poster_name
FROM " 
TOPICS_TABLE " t, " FORUMS_TABLE " f
WHERE t.topic_approved = 1 
AND t.topic_status <> 2
AND t.forum_id = f.forum_id
ORDER BY t.topic_last_post_time DESC 
LIMIT 10"
;
$result $db->sql_query($sql);

// Boucle d'affichage du post
while($topic_data $db->sql_fetchrow($result)) 
{
    
// Données du topic
    
$topic_title $topic_data['topic_title'];
    
$topic_replies $topic_data['topic_replies'];
    
$topic_replies_real $topic_data['topic_replies_real'];
    
$forum_id $topic_data['forum_id'];
    
$topic_id $topic_data['topic_id'];
    
$forum_name $topic_data['forum_name'];
    
$topic_last_post_id $topic_data['topic_last_post_id'];
    
$topic_last_poster_name $topic_data['topic_last_poster_name'];
       
$replies = ($auth->acl_get('m_approve'$forum_id)) ? $topic_replies_real $topic_replies
    
$start floor(($replies) / $config['posts_per_page']) * $config['posts_per_page']; 
    
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$topic_data['topic_title'] = censor_text($topic_data['topic_title']);
if (empty(
$phpbb_seo->seo_opt['virtual_folder']) || !empty($phpbb_seo->seo_url['forum'][$forum_id]) || $topic_data['topic_type'] == POST_GLOBAL) {
   
$phpbb_seo->prepare_iurl($topic_data'topic'$topic_data['topic_type'] == POST_GLOBAL $phpbb_seo->seo_static['global_announce'] : $phpbb_seo->seo_url['forum'][$forum_id]);
}
// www.phpBB-SEO.com SEO TOOLKIT END
   
    
$post_url append_sid("{$phpbb_root_path}viewtopic.$phpEx"'t=' $topic_id '&amp;f=' $forum_id '&amp;start=' $start ) . '#p' $topic_last_post_id
    
$topic_url append_sid("{$phpbb_root_path}viewtopic.$phpEx"'t=' $topic_id '&amp;f=' $forum_id ); 

    
//On affiche
    
echo '<li><a href="'.$topic_url.'">'.$topic_title.'</a> - '.$forum_name.' - <a rel="nofollow" href="'.$post_url.'">Dernier message par '.$topic_last_poster_name.'</a></li>';

}
$db->sql_freeresult($result);

?>
</ul>

</body>
</html>

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 2:14 pm

Je viens de copier/coller ton code dans une page et ça marche.

C'est quand même fou :D

A je crois que j'ai trouvé ! Je crois que ton chemin ./forum/phpbb3/ est faux. Ca serait pas plutôt ./forum/phpBB3/ par hasard ? :cry:
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 2:35 pm

:D Oui effectivement ca fonctionne !! Il faut donc aussi faire attention à la casse...
En tout merci de m'avoir aidé et d'être aussi actif

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar Yoyo le Ven Juil 09, 2010 2:39 pm

De rien ^^

Et oui la casse est importante et figure toi que j'ai provoqué l'erreur en mettant exprès ./forUm/

Et dans les logs j'ai vu :

Code: Tout sélectionner
[error] PHP Warning:  include(./forUm/common.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/xx/www/test2.php on line 16
[error] PHP Warning:  include() [<a href='function.include'>function.include</a>]: Failed opening './forUm/common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/xx/www/test2.php on line 16
[error] PHP Warning:  include(./forUm/includes/functions_posting.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/xx/www/test2.php on line 17
[error] PHP Warning:  include() [<a href='function.include'>function.include</a>]: Failed opening './forUm/includes/functions_posting.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/xx/www/test2.php on line 17
PHP Fatal error
:  Call to a member function sql_query() on a non-object in /home/xx/www/test2.php on line 27


Tu aurais du voir les warnings, ils sont beaucoup plus explicites que l'erreur et ca nous aurait permis de résoudre le problème beaucoup plus vite :)

A la prochaine ! :)
Vive les tutomakers ;)

systemz
Tutomaker Junior
Tutomaker Junior
 
Messages: 9
Enregistré le: Jeu Juil 08, 2010 10:59 pm

Re: MOD Topic anywhere pour phpbb3

Messagepar systemz le Ven Juil 09, 2010 2:49 pm

Ah d'accord, bonne technique !
Bonne après midi ! a+ ou peut être à bientôt :wink:


Précédente

Retourner vers Langage PHP

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités