PDA

View Full Version : API? Hook? PHP Condition code not working


Bilderback
10-25-2007, 04:20 PM
When writing to a php file outside the forum directory (global.php is included),
what are the php equivalents to the template conditionals:
<if condition="$show['member']">
<if condition="$bbuserinfo[field5]">
<if condition="is_member_of($bbuserinfo, array(5,6,9))">

In my portal navigation (level up from /forum),
I am trying to set conditions on the viewing of certain navigation buttons.
Does anyone know why the following do not work?
~trying to limit viewing of this url to members

<?php if ($vbulletin->userinfo['userid']) { ?>
<li><a href="forum/mypage.php">My Page</a></li>
<?php } ?>


~trying to limit viewing to admins

<?php if (is_member_of($vbulletin->userinfo, 6)) { ?>
<li><a href="admin.php">Admin</a></li>
<?php } ?>


What is the proper way to write vb variables to php files outside the forum directory?
Would I need to write hooks?
Thanks

Dankness
10-25-2007, 04:27 PM
When writing to a php file outside the forum directory (global.php is included),
what are the php equivalents to the template conditionals:
<if condition="$show['member']">
<if condition="$bbuserinfo[field5]">
<if condition="is_member_of($bbuserinfo, array(5,6,9))">

In my portal navigation (level up from /forum),
I am trying to set conditions on the viewing of certain navigation buttons.
Does anyone know why the following do not work?
~trying to limit viewing of this url to members

<?php if ($vbulletin->userinfo['userid']) { ?>
<li><a href="forum/mypage.php">My Page</a></li>
<?php } ?>


~trying to limit viewing to admins

<?php if (is_member_of($vbulletin->userinfo, 6)) { ?>
<li><a href="admin.php">Admin</a></li>
<?php } ?>


What is the proper way to write vb variables to php files outside the forum directory?
Would I need to write hooks?
Thanks

hmm,try declaring vbullletin as a global for one. Check your error_log and see if any errors are coming up?

Opserty
10-25-2007, 04:31 PM
Theres no need to leave PHP for just single lines use echo() instead.

As for your problem...it does seem odd. Make sure you are logged in to start with. Then do a var_dump() of $vbulletin to check that global.php is being included correctly. Also make sure you didn't just use require_once(...); but used the proper chdir() then require_once().

Bilderback
10-25-2007, 04:54 PM
Theres no need to leave PHP for just single lines use echo() instead.

As for your problem...it does seem odd. Make sure you are logged in to start with. Then do a var_dump() of $vbulletin to check that global.php is being included correctly. Also make sure you didn't just use require_once(...); but used the proper chdir() then require_once().

I have tried both the following to include the global.php
<?php
$curdir = getcwd ();
chdir('/path/to/my/forum');
@include('/global.php');
chdir ($curdir);
?>
<?php
chdir('./forum');
require_once('./global.php');
chdir('../');
?>
How would I check to see if it is including properly?
I assumed that because I did not get a white page, it was working.

I do use vbDrupal as a front end.Could it be something conflicting?