vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=242)
-   -   vB4 Template Conditionals List (https://vborg.vbsupport.ru/showthread.php?t=231525)

Mr_Running 06-15-2011 02:21 AM

what are the conditions so only friends can see...and yes logged in to see...

Bisha 06-15-2011 09:08 PM

Quote:

Originally Posted by BirdOPrey5 (Post 2207534)
Unfortunately preregistering variables was never something I mastered, one of the big reasons I prefer VB 3.x over VB 4.x. I just try to avoid doing anything where I have to preregister.

This is the article that is supposed to help: https://vborg.vbsupport.ru/showthread.php?t=228078

I'm not sure what yo mean by POSTBIT A and B?

If I make a plugin for postbit_legacy, on what Hook Location I have to send?

Thank you!

BirdOPrey5 06-15-2011 10:54 PM

The only template $onlinestatus is used is postbit_onlinestatus.

postbit_legacy is a template, you wouldn't make a plugin on a template, you'd make a plugin on a hook. Some hooks are postbit_display_start and posbit_display_complete. There are many others of course but I'd imagine you'd need to make a plugin on one of them.

Tautmann 06-17-2011 09:51 AM

Great! Thank you...

kether1 06-24-2011 02:11 PM

Hey Joe, if you are still reading this thread, I have an update and a question.

As I said, I posted at vbadvanced.com and finally got a response that helped a bit, but I haven't solved the complete issue. I am so close and was hoping if you see what I have you could offer a suggestion:

SO, I have finally got the custom field to display to both the admin and the user who posted it. Now, I need an else statement that tells the forum to not display it to any one else.

Here is what I have:

Code:

<vb:if condition="$field['fieldid'] == 5 AND (is_member_of($bbuserinfo, 6) OR $bbuserinfo['userid'] == $entry['userid'])">
                                <div>{vb:raw entry.field5}</div>
</vb:if>

I need an else statement to follow this that says if anyone else is viewing this, do not post the information in {vb:raw entry.field5}.

Any ideas?

Thanks,
Kether

BirdOPrey5 06-24-2011 02:42 PM

Quote:

Originally Posted by kether1 (Post 2212201)
Hey Joe, if you are still reading this thread, I have an update and a question.

As I said, I posted at vbadvanced.com and finally got a response that helped a bit, but I haven't solved the complete issue. I am so close and was hoping if you see what I have you could offer a suggestion:

SO, I have finally got the custom field to display to both the admin and the user who posted it. Now, I need an else statement that tells the forum to not display it to any one else.

Here is what I have:

Code:

<vb:if condition="$field['fieldid'] == 5 AND (is_member_of($bbuserinfo, 6) OR $bbuserinfo['userid'] == $entry['userid'])">
                                <div>{vb:raw entry.field5}</div>
</vb:if>

I need an else statement to follow this that says if anyone else is viewing this, do not post the information in {vb:raw entry.field5}.

Any ideas?

Thanks,
Kether

An else statement is if you want to display alternative information, an example would be:

Code:

<vb:if condition="$field['fieldid'] == 5 AND (is_member_of($bbuserinfo, 6) OR $bbuserinfo['userid'] == $entry['userid'])">
                                <div>{vb:raw entry.field5}</div>
<vb:else />
<div>You are not allowed to see this field.</div>
</vb:if>

You do not need an "else" to tell it not show anything, that is implied in the original IF to behgin with.

kether1 06-24-2011 03:01 PM

Quote:

Originally Posted by BirdOPrey5 (Post 2212221)
An else statement is if you want to display alternative information, an example would be:

Code:

<vb:if condition="$field['fieldid'] == 5 AND (is_member_of($bbuserinfo, 6) OR $bbuserinfo['userid'] == $entry['userid'])">
                                <div>{vb:raw entry.field5}</div>
<vb:else />
<div>You are not allowed to see this field.</div>
</vb:if>

You do not need an "else" to tell it not show anything, that is implied in the original IF to behgin with.

Oh, then I suppose I have another issue then. The custom field is still displayed to everyone. If logged in as the member who posted it or as the admin, it is displays correctly. For everyone else, the information is just there. :( I was hoping I could use an else statement with an "!=" in it somehow and make it not display.

I really appreciate your help. Wish I could get a response as fast in the vba site. :)

Thanks,
Kether

-----------

I wonder if instead of editing a template, I should be editing a php file and putting the condition around a specific field ID. So, if that field ID is called, it will only be displayed to the conditions of the field. Not sure here.... just guessing. Thoughts?

BirdOPrey5 06-24-2011 03:43 PM

Editing the PHP wouldn't be of any help- any condition you can test in PHP you can test in the template.

The only part of your conditional I don't know off hand is $entry['userid']- I've never used it before so I don't know what data it's returning.

In the template put this code:

Code:

{vb:raw entry.userid}
That should have it "print out" the value of the variable so you can see exactly what is stored in it. My guess is it's not storing the value you expect. Make sure to test it with multiple users.

EDIT- Looking over your code are you sure it's $field['fieldid'] and not $entry['fieldid'] ?

kether1 06-24-2011 03:59 PM

Quote:

Originally Posted by BirdOPrey5 (Post 2212246)
Editing the PHP wouldn't be of any help- any condition you can test in PHP you can test in the template.

The only part of your conditional I don't know off hand is $entry['userid']- I've never used it before so I don't know what data it's returning.

In the template put this code:

Code:

{vb:raw entry.userid}
That should have it "print out" the value of the variable so you can see exactly what is stored in it. My guess is it's not storing the value you expect. Make sure to test it with multiple users.

EDIT- Looking over your code are you sure it's $field['fieldid'] and not $entry['fieldid'] ?

I copied what was given to me at vba.com. So, yes, $field['fieldid'] is correct. I will try it with $entry['fieldid'] to see if it makes any difference. (Wouldn't that be lovely if it fixed it!?!)

$entry['userid'] - I believe is returning the user who posted the article. (But again- I am guessing as I copied what suggested.) I will work on it some more and post back anything I find. Thanks Joe!!

Kether

--------------- Added [DATE]1308935315[/DATE] at [TIME]1308935315[/TIME] ---------------

Quote:

Originally Posted by BirdOPrey5 (Post 2212246)
In the template put this code:

Code:

{vb:raw entry.userid}
That should have it "print out" the value of the variable so you can see exactly what is stored in it. My guess is it's not storing the value you expect. Make sure to test it with multiple users

Tested it with multiple users from different user groups. The results returned are the same. A number: 122
Not sure what to make of that as it is not a field id nor is it a user id. But it always placed it where i put that code.

Kether

BirdOPrey5 06-24-2011 04:55 PM

Sorry man... VBA Dynamics is a commercial mod I just don't have access to so I don't know how it's designed or what fields may be available.

If there is a php hook available somewhere you could make a plugin with this code, it will print out all available fields for $entry and see if any of them match the userid.

Code:

echo "<pre>";
print_r ($entry);
echo "</pre>";

But don't do it while your forum is on (use a test forum if you have one) otherwise everyone will see the code output.


All times are GMT. The time now is 10:51 PM.

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

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01782 seconds
  • Memory Usage 1,755KB
  • 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
  • (8)bbcode_code_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete