wpeloquin
03-02-2011, 10:07 PM
I found a few posts in similar nature to this request, but none seem to key in on what I am trying to do, or provide enough information for me to figure it out.
[EDIT] I figured it out while typing out this request. I will still post the data for others, if they need it.
I have added a new custom table to my database where i store character data. each user is allowed to create more than 1 character, and i would like to display a list of the user's characters in the postbit beneath the signature.
[EDIT] The code i am posting is rough code designed for simple functionality, feel free to edit/design as needed!
I am using the postbit_display_complete hook with the following code for the plugin:
global $vbulletin;
$vbulletin->db->hide_errors();
$wp_postbit1 = $vbulletin->db->query_read("
SELECT char_id, char_name
FROM " . TABLE_PREFIX . "roster
WHERE user_id = " . $this->post['userid'] . "
ORDER BY char_id
");
$vbulletin->db->show_errors();
$count=0;
while ($wp_postbit2 = $vbulletin->db->fetch_array($wp_postbit1))
{
$wp_postbit[$count] = array(
'char_id' => htmlspecialchars($wp_postbit2['char_id']),
'char_name' => htmlspecialchars($wp_postbit2['char_name']),
);
$count++;
}
$templater = vB_Template::create('roster_postbit');
$templater->register('post', $post);
$templater->register('wp_postbit', $wp_postbit);
$template_hook['postbit_signature_end'] .= $templater->render();
Then, in the custom 'roster_postbit' template, i put:
<br />
<fieldset>
<legend>{vb:raw post.username}'s Characters</legend>
<ul>
<vb:each from="wp_postbit" value="postchar">
<li style="display: inline;"><a href="roster.php?do=viewchar&char={vb:raw postchar['char_id']}">{vb:raw postchar['char_name']}</a> </li>
</vb:each>
</ul>
</fieldset>
If anyone has advice on cleaning up the code, or knows a better way of doing this, please advise. Thank you!
[EDIT] I figured it out while typing out this request. I will still post the data for others, if they need it.
I have added a new custom table to my database where i store character data. each user is allowed to create more than 1 character, and i would like to display a list of the user's characters in the postbit beneath the signature.
[EDIT] The code i am posting is rough code designed for simple functionality, feel free to edit/design as needed!
I am using the postbit_display_complete hook with the following code for the plugin:
global $vbulletin;
$vbulletin->db->hide_errors();
$wp_postbit1 = $vbulletin->db->query_read("
SELECT char_id, char_name
FROM " . TABLE_PREFIX . "roster
WHERE user_id = " . $this->post['userid'] . "
ORDER BY char_id
");
$vbulletin->db->show_errors();
$count=0;
while ($wp_postbit2 = $vbulletin->db->fetch_array($wp_postbit1))
{
$wp_postbit[$count] = array(
'char_id' => htmlspecialchars($wp_postbit2['char_id']),
'char_name' => htmlspecialchars($wp_postbit2['char_name']),
);
$count++;
}
$templater = vB_Template::create('roster_postbit');
$templater->register('post', $post);
$templater->register('wp_postbit', $wp_postbit);
$template_hook['postbit_signature_end'] .= $templater->render();
Then, in the custom 'roster_postbit' template, i put:
<br />
<fieldset>
<legend>{vb:raw post.username}'s Characters</legend>
<ul>
<vb:each from="wp_postbit" value="postchar">
<li style="display: inline;"><a href="roster.php?do=viewchar&char={vb:raw postchar['char_id']}">{vb:raw postchar['char_name']}</a> </li>
</vb:each>
</ul>
</fieldset>
If anyone has advice on cleaning up the code, or knows a better way of doing this, please advise. Thank you!