Dopadł mnie ostatnio problem niedziałających linków ze starego forum w treści postów.. dodatkowo nie działały link z google.. początkowo chciałem przebudować wszystkie posty i utworzyć nowe linki.. trwałoby to długo, a efekt mógłby nie być zadowalający..
wymyśliłem rozwiązanie do którego potrzebujemy jednak starą bazę z phpbb (u mnie wisi cały czas więc nie ma problemu)..
zakładamy plik:
viewforum.php i w jego treści wklejamy:
Kod php:
<?PHP
$forum = 'http://twojeforum';
mysql_connect("localhost","loginDoBazy","hasloDoBazy");
mysql_select_db("nazwaBazy");
if (is_numeric($_GET['f'])&&!empty($_GET['f'])) {
$zap = mysql_query("SELECT * FROM `phpbb_forums` WHERE `forum_id` = '".$_GET['f']."' LIMIT 1");
$idPost=mysql_fetch_array($zap);
//echo $idPost['topic_id'];
$tytul = $idPost['forum_name'];
echo $tytul;
}
mysql_close();
mysql_connect("localhost","loginDoBazyVB","hasloDoBazyVB");
mysql_select_db("nazwaBazyB");
$wyn = mysql_query("SELECT * FROM `forum` WHERE `title_clean` LIKE '".$tytul."' LIMIT 1");
$find = mysql_fetch_array($wyn);
mysql_close();
// przeadresowanie na nowe forum do tego samego tematu
if (is_numeric($find['forumid'])&&!empty($find['forumid']))
header('Location: '.$forum.'/forumdisplay.php?f='.$find['forumid'].'');
else
header('Location: '.$forum.'/');
exit;
?>
oraz plik
viewtopic.php i w jego treści wklejamy:
Kod php:
<?PHP
$forum = 'http://twojeForumURL';
if (isset($_GET['t'])) {
if (is_numeric($_GET['t'])&&!empty($_GET['t'])) {
mysql_connect("localhost","loginDoBazy","hasloDoBazy");
mysql_select_db("nazwaBazy");
$zap = mysql_query("SELECT * FROM `phpbb_topics` WHERE `topic_id` = '".$_GET['t']."' LIMIT 1");
$idPost=mysql_fetch_array($zap);
//echo $idPost['topic_id'];
$tytul = $idPost['topic_title'];
mysql_close();
mysql_connect("localhost","loginDoBazyVB","hasloDoBazyVB");
mysql_select_db("nazwaBazyB");
$wyn = mysql_query("SELECT * FROM `thread` WHERE `title` LIKE '".$tytul."' LIMIT 1");
$find = mysql_fetch_array($wyn);
mysql_close();
}
// przeadresowanie na nowe forum do tego samego tematu
if (is_numeric($find['threadid'])&&!empty($find['threadid']))
header('Location: '.$forum.'/showthread.php?t='.$find['threadid'].'');
else
header('Location: '.$forum.'/');
exit;
}
if (isset($_GET['p'])) {
if (is_numeric($_GET['p'])&&!empty($_GET['p'])) {
mysql_connect("localhost","loginDoBazy","hasloDoBazy");
mysql_select_db("nazwaBazy");
$zap = mysql_query("SELECT * FROM `phpbb_posts_text` WHERE `post_id` = '".$_GET['p']."' LIMIT 1");
$post = mysql_fetch_array($zap);
$tytul = $post['post_subject'];
$tekst = $post['post_text'];
mysql_close();
mysql_connect("localhost","loginDoBazyVB","hasloDoBazyVB");
mysql_select_db("nazwaBazyB");
$wyn = mysql_query("SELECT * FROM `post` WHERE `title` LIKE '".$tytul."' AND `pagetext` LIKE '".$tekst."' LIMIT 1");
$find = mysql_fetch_array($wyn);
mysql_close();
if (is_numeric($find['postid'])&&!empty($find['postid']))
header('Location: '.$forum.'/showthread.php?p='.$find['postid'].'#post'.$find['postid'].'');
else
header('Location: '.$forum.'/');
}
}
?>
u mnie wszystkie linki są prawidłowo przekierowywane..
mam nadzieję, że pomoże.. pozdrawiam