PDA

View Full Version : Plugin Problem


Carnage
03-12-2006, 04:08 PM
i wrote this plugin for postbit display start

global $vbulletin,$post;

$races = array(1=>"Roman",
2=>"Greek",
3=>"Egyptian",
4=>"Celt",
5=>"Viking",
6=>"Japaneese"
);

$link = mysql_connect($host,$user,$password);
mysql_select_db($db,$link);

$result = mysql_query("SELECT * FROM user,rankings where user.userid = '" . $post['foeuserid'] . "' AND user.userid = rankings.user_id Limit 1 ");

while ($row = @mysql_fetch_array($result))
{
$post['foeinfo'] = "<br /><u><b>Fall of Empires Stats</b></u><br />
<b>Username:</b> <a href=http://www.fallofempires.com/warroom.php?user=$row[userid]>$row[username]</a>
<br /> <b>Rank:</b> $row[ranking_id] <br />
<b>Race:</b> " . $races[$row[race]] . "<br /><br />";
}


it works perfectly fine on the forum post bit when i put $post['foeinfo'] into the template, however when i have the plugin enabled it prevents pms from being displayed at all. Any ideas about where its going wrong?

Code Monkey
03-12-2006, 04:24 PM
$post[foeinfo]

Drop the quotes when used in the template.

Oh, You are using a new db call. To a second db? You need to reconnect to the vbulletin database afterward I believe.

Carnage
03-12-2006, 05:46 PM
yeah, it comes up fine on the post bit but it totally wrecks pms. . . why would it need to reconnect to the db; i've done things using multiple db's before without a problem.

Code Monkey
03-12-2006, 06:29 PM
You probably don't if you are using a different var to hold the connection. Try puting , $link at the end of your SELECT statement so the query knows to use that connection. That may or may not change anything.

I've never tried a second connection in vb so I'm only guessing based on other experiences.

Looking at class_core.php I see that vb is also using $link.

Carnage
03-12-2006, 08:27 PM
yes, but thats a variable inside a class. it should have no effect what so ever.

Code Monkey
03-12-2006, 10:05 PM
Yes, but something is having an effect.

When you initialize mysql_select_db() you are changing the default database.

It's the $db

When you use that in mysql_select_db($db,$link) you are making the new database the default for vbulletins $db.

Try this


$link = mysql_connect($host,$user,$password);
mysql_select_db('database_name',$link);

$result = mysql_query("SELECT * FROM user,rankings where user.userid = '" . $post['foeuserid'] . "' AND user.userid = rankings.user_id Limit 1", $link);
mysql_close($link);

Carnage
03-13-2006, 10:05 PM
tried that, same problem

Carnage
03-18-2006, 03:45 PM
Anyone else got a suggestion?