vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Query Database in global.php and print it in Postbit (https://vborg.vbsupport.ru/showthread.php?t=125486)

rin 09-01-2006 07:15 AM

Query Database in global.php and print it in Postbit
 
Hello,

I have this query in global.php and want to print it in postbit. Basically showing a small notice wether the member has agreed to the Terms of Service or not.
$tos is for showing a global notice to everyone who has not yet agreed.
$tospost should be the small notice in the postbit. However, if I add $tospost in my postbit nothing will be shown... Why is that?

Code:

if(isset($vbulletin->userinfo['userid']) AND $vbulletin->userinfo[username] != "Unregistered")
{
                $tos = $db->query_first("
                        SELECT rules
                        FROM " . TABLE_PREFIX . "user WHERE userid = " . $vbulletin->userinfo['userid'] . "");
                $tos = $tos['rules'];
                if($tos == 0)
                {
                $tos = "<table class='tborder' cellpadding='$stylevar[cellpadding]' cellspacing='$stylevar[cellspacing]' border='0' width='100%' align='center'>
<tr>
<td class='alt1' width='64' align='left'><a href='terms.php'><img src='images/misc/terms.png' border='0' /></a></td><td class='alt2' align='left' vAlign='top'><span style='font-size:x-large;'><strong><i>Terms of Service</i></strong></span><br />Hello " . $vbulletin->userinfo[username] . "! You currently show up as 'Not Agreed'. This is most likely because you still have not agreed to our <i>Terms of Service</i> or because the <i>Terms of Service</i> have been changed and need to be reapplied. You can take the neccessarry steps when you follow <a href='terms.php'>this link.</a> Thanks for your cooperation.
<br /><i>If you can not change your status, please contact the administrator <b><a href='private.php?do=newpm&u=1'>aio</a></b></i></td>
</tr>
</table><br />";
                $tospost = "<a href='terms.php'>Not Agreed</a>";
                }
                else
                {
                $tos = "";
                $tospost = "Agreed";
                }
}


rin 09-04-2006 05:49 AM

I hope someone can help me. At vBulletin they told me to ask here.

rin 09-06-2006 11:37 PM

Thanks for any help

Mitch100degrees 09-08-2006 03:22 AM

Quote:

Originally Posted by rin
Hello,

I have this query in global.php and want to print it in postbit. Basically showing a small notice wether the member has agreed to the Terms of Service or not.
$tos is for showing a global notice to everyone who has not yet agreed.
$tospost should be the small notice in the postbit. However, if I add $tospost in my postbit nothing will be shown... Why is that?

Code:

if(isset($vbulletin->userinfo['userid']) AND $vbulletin->userinfo[username] != "Unregistered")
{
                $tos = $db->query_first("
                        SELECT rules
                        FROM " . TABLE_PREFIX . "user WHERE userid = " . $vbulletin->userinfo['userid'] . "");
                $tos = $tos['rules'];
                if($tos == 0)
                {
                $tos = "<table class='tborder' cellpadding='$stylevar[cellpadding]' cellspacing='$stylevar[cellspacing]' border='0' width='100%' align='center'>
<tr>
<td class='alt1' width='64' align='left'><a href='terms.php'><img src='images/misc/terms.png' border='0' /></a></td><td class='alt2' align='left' vAlign='top'><span style='font-size:x-large;'><strong><i>Terms of Service</i></strong></span><br />Hello " . $vbulletin->userinfo[username] . "! You currently show up as 'Not Agreed'. This is most likely because you still have not agreed to our <i>Terms of Service</i> or because the <i>Terms of Service</i> have been changed and need to be reapplied. You can take the neccessarry steps when you follow <a href='terms.php'>this link.</a> Thanks for your cooperation.
<br /><i>If you can not change your status, please contact the administrator <b><a href='private.php?do=newpm&u=1'>aio</a></b></i></td>
</tr>
</table><br />";
                $tospost = "<a href='terms.php'>Not Agreed</a>";
                }
                else
                {
                $tos = "";
                $tospost = "Agreed";
                }
}


Alert me as to why it has to be in global.php? If you only want to display it in your postbit, you can throw it in a plugin.

Put it in the postbit_display_complete hook.

Additionally, there's no need to query the database for the user's information. Use this code:

PHP Code:

if(isset($post['userid']) AND $post['username'] != "Unregistered")
{
                
$tos $post['rules'];
                if(
$tos == 0)
                {
                
$tos "<table class='tborder' cellpadding='$stylevar[cellpadding]' cellspacing='$stylevar[cellspacing]' border='0' width='100%' align='center'>
<tr>
<td class='alt1' width='64' align='left'><a href='terms.php'><img src='images/misc/terms.png' border='0' /></a></td><td class='alt2' align='left' vAlign='top'><span style='font-size:x-large;'><strong><i>Terms of Service</i></strong></span><br />Hello " 
$vbulletin->userinfo[username] . "! You currently show up as 'Not Agreed'. This is most likely because you still have not agreed to our <i>Terms of Service</i> or because the <i>Terms of Service</i> have been changed and need to be reapplied. You can take the neccessarry steps when you follow <a href='terms.php'>this link.</a> Thanks for your cooperation.
<br /><i>If you can not change your status, please contact the administrator <b><a href='private.php?do=newpm&u=1'>aio</a></b></i></td>
</tr>
</table><br />"
;
                
$tospost "<a href='terms.php'>Not Agreed</a>";
                }
                else
                {
                
$tos "";
                
$tospost "Agreed";
                }
                } 


socomcup 09-08-2006 09:53 PM

I have pretty much been looking for the same exact thingm thank you for posting this.

So can I make my own SQL query now from another database in this plugin?

Thanks for the help

rin 09-09-2006 02:14 AM

Works like a charm! Thanks a lot for your help!~


All times are GMT. The time now is 05:52 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01137 seconds
  • Memory Usage 1,747KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete