footose
01-09-2007, 06:56 AM
I have been building on an exisiting application called "vBGarage". I have been adding a lot of functionality to the software, but I am stuck on one section.
I use the "posters" userID to automatically load what "car" is currently in their "garage" under their user name. It was fairly easy to do this using a select statement with the WHERE userid = " . $post[userid];
The problem I have is that in the PM system, regardless of what user sends you a "PM", $post[userid] always returns the current logged in userID, not the one of the person that sent the PM.
Is there a vb-varible for userid of the person that sent the message?
Sounds confusing?
Example:
User 1 - Owns Honda
User 2 - Owns Volkswagen
User 2 posts on public forum, and their postbit displays "Volkswagen" as their car.
User 2 posts a private message to User 1.
User 1 reads private message, but postbit says "Honda", where it should say "Volkswagen"
I don't understand why it works in the regular forums, but not in private messaging.
here is the code I have written for this part of the software.
global $vbulletin;
$result_data = $vbulletin->db->query_read("SELECT * FROM " . TABLE_PREFIX . "vbgarage_users " . "WHERE userid = " . $post[userid]);
// the data
$data = $vbulletin->db->fetch_Array($result_data);
if (!empty($data))
{
$data['year'] = unhtmlspecialchars($data['year']);
$data['make'] = unhtmlspecialchars($data['make']);
$data['model'] = unhtmlspecialchars($data['model']);
// the link
$garage_info = "<a href=http://forums.generationdub.com/vbgarage.php?do=view&id=" . $post[userid] . ">" . $data['year'] . " " . $data['model'] . "</a>";
}
else
{
// if the user is logged in, but doesn't have a garage all of his/her posts will display this link.
if ($post[userid] == $vbulletin->userinfo['userid'])
{
$garage_info = "<a href=http://forums.generationdub.com/vbgarage.php?do=editgarage><font color=#FF0000>Add Your Ride!</font></a>";
}
}
Any suggestions would be greatly appreciated.
I have turned off this function for private messaging for now, but i'd like to re-enable it with the proper solution.
bump
I use the "posters" userID to automatically load what "car" is currently in their "garage" under their user name. It was fairly easy to do this using a select statement with the WHERE userid = " . $post[userid];
The problem I have is that in the PM system, regardless of what user sends you a "PM", $post[userid] always returns the current logged in userID, not the one of the person that sent the PM.
Is there a vb-varible for userid of the person that sent the message?
Sounds confusing?
Example:
User 1 - Owns Honda
User 2 - Owns Volkswagen
User 2 posts on public forum, and their postbit displays "Volkswagen" as their car.
User 2 posts a private message to User 1.
User 1 reads private message, but postbit says "Honda", where it should say "Volkswagen"
I don't understand why it works in the regular forums, but not in private messaging.
here is the code I have written for this part of the software.
global $vbulletin;
$result_data = $vbulletin->db->query_read("SELECT * FROM " . TABLE_PREFIX . "vbgarage_users " . "WHERE userid = " . $post[userid]);
// the data
$data = $vbulletin->db->fetch_Array($result_data);
if (!empty($data))
{
$data['year'] = unhtmlspecialchars($data['year']);
$data['make'] = unhtmlspecialchars($data['make']);
$data['model'] = unhtmlspecialchars($data['model']);
// the link
$garage_info = "<a href=http://forums.generationdub.com/vbgarage.php?do=view&id=" . $post[userid] . ">" . $data['year'] . " " . $data['model'] . "</a>";
}
else
{
// if the user is logged in, but doesn't have a garage all of his/her posts will display this link.
if ($post[userid] == $vbulletin->userinfo['userid'])
{
$garage_info = "<a href=http://forums.generationdub.com/vbgarage.php?do=editgarage><font color=#FF0000>Add Your Ride!</font></a>";
}
}
Any suggestions would be greatly appreciated.
I have turned off this function for private messaging for now, but i'd like to re-enable it with the proper solution.
bump