news system, from phpbb to yabb

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
gaogier
Forum Contributor
Posts: 391
Joined: Wed Mar 02, 2005 1:02 pm
Location: Portsmouth, UK
Contact:

news system, from phpbb to yabb

Post by gaogier »

hey,

i need help with conveting my news system from phpbb to yabb

ok, i would be able to find this easier, if the forums was simular, but they cant be close, phpbb is done in php and mysql, whereas, yabb is made from perl, and uses flatfile

ok, here is some of my code for the news,

Code: Select all

<?php
# News Db script - index.php
# Created on 21 January 2005, sitestyle added on 24.07.05
# Created by Joseph Jeffery

include('header.inc');
function displayNews($all = 0) {
global $sitestyle;
	require_once ('../mysql_connect1.php');//connect to db
    if ($all == 0) {   
    		$topic_query = "SELECT * FROM `phpbb_topics` WHERE `forum_id`= '63' ORDER BY `topic_time` DESC LIMIT 7"; // do topic query
    }else{
			$topic_query = "SELECT * FROM `phpbb_topics` WHERE `forum_id`= '63' ORDER BY `topic_time` DESC"; // do topic query
	}
		$topic_result = mysql_query ($topic_query);
			while ($topic_row = mysql_fetch_assoc($topic_result)) {
				$tt = $topic_row['topic_time'];
				$topic = $topic_row['topic_id'];
		  		$poster = $topic_row['topic_poster'];
				$first = $topic_row['topic_first_post_id'];
				$title = $topic_row['topic_title'];
				$topic_replies = $topic_row['topic_replies'];
				$topic_runescape = $topic_row['topic_runescape'];
				$post_query = "SELECT * FROM `phpbb_posts` WHERE  `topic_id` = '$topic' AND `poster_id` = '$poster' AND `post_id` = '$first'"; // do post subject query
				$post_result = mysql_query($post_query);
				while ($post_row = mysql_fetch_assoc($post_result)){
					$post_id = $post_row['post_id'];
				}
				$use_query = "SELECT `username`, `user_avatar`, `user_email`, `user_rank` FROM `phpbb_users` WHERE `user_id` = '$poster'"; // do user query
				$use_result = mysql_query($use_query);
				while ($use_row = mysql_fetch_assoc($use_result)){
					 $user = $use_row['username'];
					 $user_avatar = $use_row['user_avatar'];
					 $user_email = $use_row['user_email'];
					 $rank = $use_row['user_rank'];					
				}
				$news_query = "SELECT `post_text` FROM `phpbb_posts_text` WHERE `post_id`='$post_id'";
				$news_result = mysql_query($news_query);
				while ($news_row = mysql_fetch_assoc($news_result)){
					$news = $news_row['post_text'];
				}
				$rank_result = mysql_query("SELECT `rank_title` FROM `phpbb_ranks` WHERE `rank_id`='$rank'");
				while($rank_row = mysql_fetch_assoc($rank_result)){
					$ranks = $rank_row['rank_title'];
				}
				$date = date("D M jS, Y g:i a", $tt);
				if ($topic_replies == 0){
				$reply = '<a href="http://www.runehints.com/forums/posting.php?mode=reply&t='.$topic.'">Nobody has commented on this piece of news yet. Be the first!</a>';
				$post_new ="";
				}else{
				$reply =  'comments(<a href="http://www.runehints.com/forums/viewtopic.php?t='.$topic.'">'.$topic_replies.'</a>) |';
				$post_new = '<a href="http://www.runehints.com/forums/posting.php?mode=reply&t='.$topic.'">Post a comment</a>';
				}
				if ($topic_runescape == 1){
					$news1 = 'This news topic is taken straight from <a href="http://runescape.com">Runescape.com</a><br />_____________________________________________<br /><br />'.$news;
				}else{
					$news1 = $news;
				}
				// Replace newlines //
				$news2 = str_replace("\n", "\n<br />\n", $news1);
		?>
	
		 <table border="0" cellpadding="0" cellspacing="0" width="100%" class="news">
        <tr>
          <td background="images/<?php echo $sitestyle.'_';?>tabletopl.jpg" height="25" width="30"></td>
          <td background="images/<?php echo $sitestyle.'_';?>tabletopm.jpg" height="25"><div align="center"><p class="small2"><a href="http://www.runehints.com/forums/viewtopic.php?t=<?php echo $topic; ?>" class="news"><?php echo $title; ?></a> posted by <a href="http://www.runehints.com/forums/profile.php?mode=viewprofile&u=<?php echo $poster; ?>"><?php echo $user; ?></a> on <?php echo $date;?></p></font></div></td>
          <td background="images/<?php echo $sitestyle.'_';?>tabletopr.jpg" height="25" width="30"></td>
           </tr>
      </table>

             <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td background="images/<?php echo $sitestyle.'_';?>tablemidl.jpg" width="16"></td>
         <td align="center" border="0" cellpadding="0" cellspacing="0"> 
		  
   			<img src="<?php echo $user_avatar; ?>" ><br /><center><font class="small2"><b><?php echo $ranks; ?></b></font></center></td>
		    <td width="429"> <p><font class="small2">
      <p><?php echo $news2; ?></p><br>
	  <br /><font class="small2"><?php echo $reply. ' '. $post_new;?>
<td background="images/<?php echo $sitestyle.'_';?>tablemidr.jpg" width="16"></td>
          </tr>
          </table>
      
      <table border="0" cellpadding="0" cellspacing="0" width="100%">

       <tr>
                          <td width="16"><img src="images/<?php echo $sitestyle.'_';?>tablebottoml.jpg" height="13" width="16"></td>
                          <td background="images/<?php echo $sitestyle.'_';?>tablebottomm.jpg" height="13"><img src="images/<?php echo $sitestyle.'_';?>tablebottomm.jpg" height="13" width="1"></td>
                          <td width="16"><img src="images/<?php echo $sitestyle.'_';?>tablebottomr.jpg" height="13" width="16"></td>
        </tr>
      </table></div><br />
	<?php
    }
    
    /* if we aren't displaying all news, 
     * then give a link to do so */
    if ($all == 0) {
        echo "<center><a href=\"{$_SERVER['PHP_SELF']}" .
             "?action=all\">View all news</a></center>\n";
    }else{
		echo '<center><a href="'.$_SERVER['PHP_SELF'].'">View recent news only</a></center>';	
	}

}
echo "<CENTER>\n";
switch($_GET['action']) {
    case 'all':
        displayNews(1);
        break;
    default:
        displayNews();
}
echo "</CENTER>\n";
include('footer.inc');
?>
i think i will need to create the script in perl, but i am not 100% sure, HELP
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

Found this link on the yabb community forums. Search for YABB Converters.
gaogier
Forum Contributor
Posts: 391
Joined: Wed Mar 02, 2005 1:02 pm
Location: Portsmouth, UK
Contact:

Post by gaogier »

that is the actural database i think, it wont work for the news script that was made for phpbb
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

Sorry. So you are actually moving away from PHP/MySQL into Perl/Flat File? 'Sup wit dat?
gaogier
Forum Contributor
Posts: 391
Joined: Wed Mar 02, 2005 1:02 pm
Location: Portsmouth, UK
Contact:

Post by gaogier »

im moving away from phpbb, and going into yabb

our news is powered by a forum from my phpbb forums, so i now want to change it to be powered by yabb forum from my forums, but i dont know how
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

Sorry, wish I could help.
gaogier
Forum Contributor
Posts: 391
Joined: Wed Mar 02, 2005 1:02 pm
Location: Portsmouth, UK
Contact:

Post by gaogier »

know anyone who could?
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

You know, you don't necessarily have to create the script in Perl. You could always access the flat files in PHP. Unless the news portion had to be integrated into the Perl based yaBB. Then you would have to convert it. In that case, you may want to look for a Perl forum.
gaogier
Forum Contributor
Posts: 391
Joined: Wed Mar 02, 2005 1:02 pm
Location: Portsmouth, UK
Contact:

Post by gaogier »

things are so confusing, ill try yabb support, see it they know
Post Reply