vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Advanced Templates: Dynamic Templates Changing according to different conditions (https://vborg.vbsupport.ru/showthread.php?t=43325)

Logician 08-30-2003 07:37 AM

Quote:

Today at 03:43 AM 7thgenCivic.Com said this in Post #240
ya, i should have explained it better.

I want to use it for any user in the postbit. I tried using the $onlinestatus=='Online' and it doesn't work. I tried several variations of it in fact.
I want to show a graphic if the user is in x usergroup and currently online.

Derek

PHP Code:

[[($post[userid]!=AND $post[lastactivity] > $datecut and !$post[invisible] and $post[lastvisit] != $post[lastactivity])]]
Your code
[[/($post[userid]!=AND $post[lastactivity] > $datecut and !$post[invisible] and $post[lastvisit] != $post[lastactivity])]] 

This may work. If it does not, it means your request can not be done via this hack.

scudly 09-11-2003 05:32 PM

Ok I've got a slight problem, I've got the hack installed perfectly and all is well. But what I wanted to use it for was to restrict access to a specific forum based on user-group, [ie, only supermods and above] only I can't do that via any template can I or am I not looking in the right place?

Logician 09-11-2003 05:44 PM

why don't you do it with default usergroup/forum permissions?

Pollo 10-08-2003 06:02 PM

I've got an odd issue... (and hope to goodness someone didn't post it before). Conditionals work.. sometimes.

In header template, this does NOT work:
[[($foruminfo[forumid]==44)]] Display this HTML code if forum id is 44 [[/($foruminfo[forumid]==44)]]

-but this DOES:
[[($bbuserinfo[userid]==1)]] Display this HTML code if page visitor's user id is 1 [[/($bbuserinfo[userid]==1)]]

I know it used to work at the time. Since installing this hack, I've installed:
Easy Archive Final
Forum Quick Stats
A 'Contact Us' form hack
Subforums on Forumhome (no queries) by Xenon.

The last one may be tripping this up, it's the only thing I can think of that may be conflicting.

I'd reinstall this hack, but it *is* working, for some things. Any ideas?

Logician 10-08-2003 07:51 PM

Quote:

Originally Posted by Pollo
I've got an odd issue... (and hope to goodness someone didn't post it before). Conditionals work.. sometimes.

In header template, this does NOT work:
[[($foruminfo[forumid]==44)]] Display this HTML code if forum id is 44 [[/($foruminfo[forumid]==44)]]

Not related to the hack, it is a technical restriction.

Your problem is: the header template is formed by vbulletin before "$foruminfo[forumid]" variable gets a value so when you use such a variable in your header, it will be always equal to 0, regardless of your location in board.

That conditional will only work in forumdisplay templates as $foruminfo[forumid] variable will be assigned a value when these templates are parsed. It should also work if you use "$forumid" variable in your header because apparently it is assigned a value before header template is parsed but I didn't test it.

Pollo 10-08-2003 08:06 PM

Logician, thank you very much for the reply. I *may* have been mistaken in regards to it working before (according to what you wrote), or at least the syntax of the code. I had a custom header hack installed along with yours which was broken by the subforums on forumhome hack (custom header hack was removed as it didn't work and I didn't think it was needed in addition to your hack). It is likely I used that to display the custom code.

I changed my coding to:

[[($forumid==24)]] Show this only on forum 24 [[/($forumid==24)]]

-and it worked fine in the header template. It's a great hack, and again, thank you for helping.

squawell 10-15-2003 12:49 AM

hello Logocian,i need some help...

see the link first

https://vborg.vbsupport.ru/showthrea...602#post440602

how should i use this hack to do that?

what code should i use and which template should i place it

to?thankz...:)

Pollo 10-16-2003 08:11 AM

Confused once again... sad really.

In the postbit, the signature: $post[signature]

What I'd like to do is remove the signature for two users. One userID being 1669 and the other being 1472. I don't care if they see their own signature, but I do not want any other user on the board to see it, including admins, mods, etc. So for them, they'll think it's still there (just so they won't bug me), but for everyone else, it won't exist.

I've tried this a bunch of ways, can't get it to work, and I know it's simple and as soon as someone posts it, I'll be smacking myself on the head. Any help would be appreciated, and I (again) hope this hasn't been asked before in this thread. I've read this entire thread before, but can't recall if it is in here.

Logician 10-16-2003 10:18 AM

[[(($post[userid]!=1669 AND $post[userid]!=1472) OR ($bbuserinfo[userid]!=1669 AND $bbuserinfo[userid]!=1472))]]
$post[signature]
[[/(($post[userid]!=1669 AND $post[userid]!=1472) OR ($bbuserinfo[userid]!=1669 AND $bbuserinfo[userid]!=1472))]]

Not tested but seems ok.. give it a shot..

Pollo 10-16-2003 08:01 PM

It didn't work :( I do appreciate the try though.

XrayHead 11-19-2003 06:30 PM

WOW

This is yet another simply stunning hack by yourself.
Your hacks have changed my site way beyond imaginationÂ…?

Absolutely brilliant, Installs

K.Michael 11-28-2003 08:00 PM

How to get $forumid in showthread.php ( in header and footer templates)
showtread.php small hack ?
somebody can help me ? :surprised:

thakikka 12-07-2003 11:51 AM

Need help too :)

I want to display a message always and only in the last 7 days of a month (e.g. from 23th to 30th of each month). how can i do that?

Sadie Frost 12-09-2003 03:49 AM

Has anyone gotten this to work with forumid, because I tried what people were posting but it's not working for me. I'm trying to make it so signatures only show in a certain forum :)

Logician 12-09-2003 12:24 PM

Quote:

Originally Posted by Sadie Frost
Has anyone gotten this to work with forumid, because I tried what people were posting but it's not working for me. I'm trying to make it so signatures only show in a certain forum :)

$thread[forumid]==X should work in showthread related templates. (your request is so)

For forumdisplay related templates use $forumid==X

Sadie Frost 12-17-2003 03:27 AM

Works perfectly - thanks so much! :D

Marulatree 12-17-2003 06:45 AM

I am finding it hard to understand exactly where to put the conditionals. do I put it in Functions.php if so where. I have made the adjustments as you said to my functions.php.

All I really want to do is;
Change the header template to refect another header template for a specific forumid and for a specific group.

e.g.
Group 5 is a members only usergroup.
Forumid 8 is a members only forum.
When usergroup 5 enters forumid 8 then change the header to "Members only" forum header logo.

What would I have to do. All I need is for someone to give me the code for this as an example so I see how this works...

I am not lazy, and just need a working example so I can put my own conditionals into practice...

Many thanks in advance...

Logician 12-17-2003 09:10 AM

Quote:

Originally Posted by Marulatree
I am finding it hard to understand exactly where to put the conditionals. do I put it in Functions.php if so where.

Provided that you installed the hack, you don't edit any .php files anymore to apply conditionals. These are "template conditionals" so you put them inside templates.

For instance if you want to display different header template according to different conditions, you edit your header template and apply your conditionals here.

a sample template with conditionals:
Quote:

[[($bbuserinfo[usergroupid]==6)]]
show this text to admins
[[/($bbuserinfo[usergroupid]==6)]]
[[($bbuserinfo[usergroupid]==2)]]
show this text to registered users
[[/($bbuserinfo[usergroupid]==2)]]
show this text everybody else who is not registered user nor admin.
Needless to say you'll replace "show this text" texts with HTML code that you want to display

Marulatree 12-17-2003 09:25 AM

Quote:

Originally Posted by Logician
Provided that you installed the hack, you don't edit any .php files anymore to apply conditionals. These are "template conditionals" so you put them inside templates.

For instance if you want to display different header template according to different conditions, you edit your header template and apply your conditionals here.

a sample template with conditionals:

Needless to say you'll replace "show this text" texts with HTML code that you want to display

Hmmm...thanks for the fast reply! I am still a little slow on the take here.

So in my HEADER template, If I would say use; usergroup 6 to get a different HEADER (Banner,logo etc.) to view when they click into the Member Club forum, What code would I use for VB to see that it needs to change the header to an entirely differently designed Header?

Would I need to create an alternative HEADER (say HEADER2) template? What would the exact code be?

Sorry to be a pain!!!

Marulatree 12-17-2003 09:59 AM

Here's my original header:

Code:

<table width="100%" border="0" cellpadding="0" cellspacing="0" dwcopytype="CopyTableRow">
              <tr>
                <td width="14%"><img src="images/forumlogoxmas.gif" width="229" height="71"></td>
                <td width="86%" background="images/bs2.gif"><div align="center"><a href="http://www.jpg.com/cgi-bin/betaSchool.exe/sendtomain" target="_blank"><img src="http://www.******.com/images/jpg.jpg" border=0></a></div></td>
              </tr>
              <tr>
              </tr>
            </table>
 <!-- toplinks -->
  <table width="100%" border="0" cellpadding="0" cellspacing="0">
<td align="center"><a href="http://www.*******.com/"><img src="{imagesfolder}/top_home.gif" alt="Hompage" border="0"></a> 
<a href="usercp.php?s=$session[sessionhash]"><img src="{imagesfolder}/top_profile.gif" alt="Here you can view your subscribed threads, work with private messages and edit your profile and preferences" border="0"></a>
  <a href="register.php?s=$session[sessionhash]&action=signup"><img src="{imagesfolder}/top_register.gif" alt="Registration is free!" border="0"></a>
  <a href="calendar.php?s=$session[sessionhash]"><img src="{imagesfolder}/top_calendar.gif" alt="Calendar" border="0"></a>
  <a href="http://forum.marulatree.com/proarcade.php?action=arcade&s=$session[sessionhash]"><img src="{imagesfolder}/arcade.gif" alt="Med's Arcade - Can you Beat the high Score?" border="0"></a>
  <a href="memberlist.php?s=$session[sessionhash]"><img src="{imagesfolder}/top_members.gif" alt="Find other members" border="0"></a>
  <a href="misc.php?s=$session[sessionhash]&action=faq"><img src="{imagesfolder}/top_faq.gif" alt="Frequently Asked Questions" border="0"></a>
  <a href="search.php?s=$session[sessionhash]"><img src="{imagesfolder}/top_search.gif" alt="Search" border="0"></a>
  <a href="member.php?s=$session[sessionhash]&action=logout"><img src="{imagesfolder}/top_logout.gif" alt="Logout" border="0"></a>
<a href="http://www.********.com/gallery/"><img src="http://www.******.com/forum/images/gallery.gif" alt="Browse the Gallery" border="0"></a>
<a href="http://www.*******.com/mtchat/"><img src="{imagesfolder}/livechat.gif" alt="Join Live Chat" border="0"></a></td></table>
  <!-- /toplinks -->

The usergroup is (lets say): 3
The Forumid is: 8

If usergroup 3 logs into Forumid 8 change header to:

A newley desiger header with a different logo, banner etc...

Marulatree 12-17-2003 10:20 AM

:( Please, I know I'm been a pain in the royal ass, but please...***resorts to begging****

Logician 12-17-2003 01:12 PM

change your header template like this:

Quote:

[[($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8))]]
put your custom header's html code here
[[/($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8))]]
put your regular header code here

Marulatree 12-17-2003 01:47 PM

Ahhhhhhhhhhhhhhhhh.....you beauty!!! Many thanks for helping a real pain in the ass!!! :)

Marulatree 12-17-2003 02:13 PM

oooops, Spoke to soon,

I have done that now and it add's my additional code in, but still inserts the original header information as well...any ideas? Maybe some type if IF statement to not include the original HEADER if userid you are userid 3?

Logician 12-17-2003 04:53 PM

ok try this:
PHP Code:

[[(($bbuserinfo[usergroupid]==AND ($forumid==OR $thread[forumid]==8)))]]
put your custom header's html code here
[[/(($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]]
[[(!($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]]
put your regular header code here
[[/(!($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]] 


Marulatree 12-17-2003 06:03 PM

Quote:

Originally Posted by Logician
ok try this:
PHP Code:

[[(($bbuserinfo[usergroupid]==AND ($forumid==OR $thread[forumid]==8)))]]
put your custom header's html code here
[[/(($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]]
[[(!($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]]
put your regular header code here
[[/(!($bbuserinfo[usergroupid]==3 AND ($forumid==8 OR $thread[forumid]==8)))]] 


I have explained what goes wrong in the below comments in the code:

Code:

[[(($bbuserinfo[usergroupid]==6 AND ($forumid==23 OR $thread[forumid]==23)))]]

This displays the different header perfectly when this usergroup logs into this forumid....

[[/(($bbuserinfo[usergroupid]==6 AND ($forumid==23 OR $thread[forumid]==23)))]]
[[(!($bbuserinfo[usergroupid]==1 AND ($forumid==8 OR $thread[forumid]==8)))]]


This is where the problem comes in....What ever I put in this condition it duplicates it underneath the new different HEADER.


[[/(!($bbuserinfo[usergroupid]==1 AND ($forumid==8 OR $thread[forumid]==8)))]]


Logician 12-17-2003 06:08 PM

well this is because you dont use my exact code, you change it. For instance usergroup numbers are changed in your quoted code.

My code will work ok for the given condition which you asked in the first place:
"If usergroup 3 logs into Forumid 8 change header to:"

Marulatree 12-17-2003 06:22 PM

ha-ha - Man I feel like a dumbass!!! Logican you are a pure genius, really!!! Thank you very very much!

Marulatree 12-17-2003 06:37 PM

.....I just can't get it!


-------------------------
Usergroupid's 2 and 3 that should see OLD HEADER when they click into
Forumid's: 21,3,4,17,26,27,24,20,25,32,7,33,34,35,30,8,5,29,9
-------------------------

AND

-------------------------
Usergroupid's 6,7 and 9 that should see NEW HEADER when they click into
Forumid's: 23 and 28. When these user id's click on any other forumid's the banner needs to return to the OLD HEADER state.
-------------------------

All I want to do is if a Member's Club member (userid: 6,7 and 9) enter the Members Club forum (forumid's 28 and 23) they get greeted with Member welcome HEADER and if they exit or go to another forum (forumid's: 21,3,4,17,26,27,24,20,25,32,7,33,34,35,30,8,5,29 and 9) they get that Normal HEADER (I would also like to include the FORUMHOME HEADER to be the normal HEADER all round for every member.

I just can't get it right! I tried and tried using your tutorial on the first page and no luck!

I hope I'm not giving you a headache (I hope headache ain't contageous :))

Logician 12-18-2003 08:02 AM

PHP Code:

[[((($bbuserinfo[usergroupid]==OR $bbuserinfo[usergroupid]==OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]] 
put your custom header's html code here 
[[/((($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]] 
[[(!(($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]] 

put your regular header code here 
[[/(!(($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]] 

This will do the trick for your request. Though it will work only in forumdisplay pages, not thread read pages. I take a look at the showthread.php and see that changing the header inside threads is not possible with this hack.

Also you may consider trying unique forum header hack which changes forum headers according to forumid. Although it does not change according to usergroup, if you make that forum private and allow only these usergroups can access it, this wont be a problem.

Marulatree 12-18-2003 02:23 PM

nope - that didn't work.

It puts this prints back to code all over the top of my page:

[[(((6==6 OR 6==7 OR 6==9) AND (23==28 OR ==28 OR 23==23 OR ==23)))]] Please ingnore [[/((6==3 AND (23==8 OR ==8)))]] [[(!(6==3 AND (23==8 OR ==8)))]] Please ingnore [[/(!((6==6 OR 6==7 OR 6==9) AND (23==28 OR ==28 OR 23==23 OR ==23)))]]

Logician 12-18-2003 06:17 PM

previous post edited, try again

Marulatree 12-19-2003 02:38 PM

Puuurrrrfect! - That woulded like a charm! Thanks for all your help!

daFish 12-19-2003 03:47 PM

Hiho,

first of all: wonderfull and great hack, Logician. :)

But now my question:

Whats the variable where the Style ID is stored when a member is logged in?

-Fish

Logician 12-19-2003 07:14 PM

Quote:

Originally Posted by daFish
Whats the variable where the Style ID is stored when a member is logged in?

what style id are you referring to? if it is user's style choice, try $bbuserinfo[styleid]

Frozen Dreams 12-20-2003 06:51 AM

Can I just say that this hack rocks?!
Since seriously it does. I cant believe I never saw this any earlier. Would have saved me so much brainwrecking it aint funny. Two thumbs up - this is really awesome work.

ETA:

Either I am too tired or just too blonde :p
Could someone help me with the following conditional:

1.) Certain Number of PMs in all Folders and Certain Usergroup (I have PM Quota per Usergroup hack installed). Notice to go onto Index and into the private messaging templates.

2.) Birthday note on index. I fiddled around but I just couldnt get it right :(

I dont want to use the Dynamic Announcement for either of both since I am using that for something else - and well I just have the announcement variable as a global one and in too many templates.

Mighty thanks in advance. Help is very appriciated. :)

Kerrek Cage 12-30-2003 06:49 PM

How would I go about creating a forum that is only open at certain times during the day, any other time it's hidden and closed to posts? Is that possible with this hack?

Logician 12-30-2003 07:44 PM

Not really. But IIRC I gave this hack in hack requests forum to make the forum "something" (closed?) in certain times during day.

gmarik 01-01-2004 06:13 PM

Logician

Are you remaking any of your hacks under vb3 or are you waiting for RC1? Interesting question ...

Logician 01-02-2004 08:55 AM

Quote:

Originally Posted by gmarik
Are you remaking any of your hacks under vb3 or are you waiting for RC1? Interesting question ...

Some of my hacks (like this one) become default feature in vb3 so there is no need to import them.

I will import the rest but I can not give an ETA for any of them because:
a) I have too many hacks some of which are major projects so recoding them takes time.
b) I'm busy nowadays with professional projects so I can't spend time on this converting hacks.
c) I don't plan to migrate to VB3 until its final release comes up+a few more weeks to ensure stability. So RC1 does not mean anything to me regarding my board's imigration.

Bottom line is I will recode all my hacks for VB3 but it is really not possible for me to give a date for any of them. For small projects you can expect "soon", for large ones sometime after final VB3 version comes up.


All times are GMT. The time now is 07:26 AM.

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.01778 seconds
  • Memory Usage 1,867KB
  • 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
  • (4)bbcode_php_printable
  • (10)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)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