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 11-02-2002 07:21 AM

Quote:

Originally posted by Bandit
I installed this hack and all of a sudden my forums started to show the default templates for every style I have. The template is still the same (in the user cp), but my forums just show the default one... I tried uploading the old functions.php but it did not fix the problem. Any ideas??
The hack is quite simple with 2 changes in functions.php. No template editing, no db alterations and no other modifications in any other vb file. Therefore if you replace the functions.php with the older one, it's impossible for the hack to affect your board in anyway. It will be successfully removed. Therefore your problem doesnt look like related to the hack.

And actually I cant think a reason the hack will behave like this either. Technically the hack does not interfere the loading of the template, it just interferes when the already-loaded template is returned to the vb so the behaviour you describe does not fit its algorithm..

I dont know how I can help you about this problem you encountered. I suspect you might applied a step wrong while installing and changed a section which you shouldn't touch. However this still does not explain how come you have the same problem when you reverted the function.php though..

Okiewan 11-16-2002 07:40 PM

I can't believe this hack isn't hack of the year, no doubt the most powerful I've seen, excellent work!

Please excuse the noob question, but...

1) I understand the conditional formating
2) I'm not sure where to place the conditional in the template.
3) Here's the goal:

Usergroup X can not see the "Change Style" portion of their user options.
Usergroups A, b and C can.

4) I assume a copy (modify options2) of modify options needs to be made, then a conditional put in the original. If usergroup x goes to modify, the conditional sends them to the copy ("modify options2")

Someone help me out with this?
Thanks!

Logician 11-16-2002 08:26 PM

Quote:

Usergroup X can not see the "Change Style" portion of their user options.
Usergroups A, b and C can.
it's easier than what you think: ;)

edit template "modifyoptions" and find:
PHP Code:

$stylecell 

Replace it as:

PHP Code:

[[($bbuserinfo[usergroupid]!=X)]]
$stylecell 
[[/($bbuserinfo[usergroupid]!=X)]] 

Enjoy..

Okiewan 11-16-2002 08:39 PM

Oh man, that's sweet :)
Thanks! Again, great hack.

N9ne 11-23-2002 10:42 AM

I voted for the warning system hack for the HOTM, but that's because I hadn't installed this...but now that I have, I vote this hack of the millenium, Logician, you've done one great job here! This tiny change to some code adds so much functionality to my forum!

Just a thumbs up for this, this is truly brilliant, well done.

N9ne 11-25-2002 06:09 PM

Question: Can the ismoderator function somehow be used?

Logician 11-26-2002 11:50 AM

Quote:

Originally posted by N9ne
Question: Can the ismoderator function somehow be used?
give it a try but I'd say no. Conditionals are not designed to run functions and ismoderator is a function that needs to be run to produce a result. Conditional works with variables..

danrak 12-01-2002 04:36 PM

How do I set it up so a group of IPs can see a message? For example say I want everyone from 192.168.1.x to see a message, or say IPs from 192.168.1.x and 255.255.255.x to see a message?

Logician 12-02-2002 09:38 AM

Quote:

Originally posted by danrak
How do I set it up so a group of IPs can see a message? For example say I want everyone from 192.168.1.x to see a message, or say IPs from 192.168.1.x and 255.255.255.x to see a message?
I neither test it, nor sure if it works but give it a try:

[[(substr($REMOTE_ADDR, 0, strlen(X))==192.168.1)]]
your template content for users whose IP is starting with 192.168.1
[[/(substr($REMOTE_ADDR, 0, strlen(X))==192.168.1)]]

Replace X with the character length of IP you used at the end.
For example:
if you use "192.168.1.255" X is 13
if you use "192.168.1" X is 9
if you use "192.168" X is 7
if you use "192" X is 3 etc.

Karmulian 12-08-2002 09:34 PM

I installed this hack on vbb2.2.9

ever since i have been getting PH memory leaks
and over 60mb's worth of leak is somethig to worry about

when i removed (quoted out) the announcements funtion in /admin/functions.php the errors stopped

anything you can guess at that would be causing this problem?

PS - i really love thjis hack and have been using it loads.. until the errorsa started.. i would like to use it again

Logician 12-08-2002 10:59 PM

Quote:

Originally posted by Karmulian
when i removed (quoted out) the announcements funtion in /admin/functions.php the errors stopped

what announcement function? Do you mean this hack or Dynamic Announcement's hack?

Sadie Frost 12-22-2002 05:09 AM

Would there be a way to use this to make a forum appear in a different style for different users? :)

Logician 12-22-2002 07:18 PM

Quote:

Originally posted by Sadie Frost
Would there be a way to use this to make a forum appear in a different style for different users? :)
Although the answer is yes, it would be easier to handle this with an other small hack so I'll give you this solution instead of this hack's solution: :)

Edit global.php, find:
PHP Code:

 $getforum=verifyid('forum',$forumid,0,1);
if (
$getforum['styleoverride']==or $bbuserinfo['styleid']<2) {
    
$codestyleid=$getforum['styleid'];
  } 

After that add:
(If you want to apply different style set for specific user)
PHP Code:

if ($bbuserinfo['userid']==AND $forumid==Z) {$codestyleid=Y;} 

(If you want to apply different style set for specific usergroup)
PHP Code:

if ($bbuserinfo['usergroupid']==AND $forumid==Z) {$codestyleid=Y;} 

Replace X with userid (first code), usergroupid(secondcode) while you replace Y with your style id and Z with the forumid.

It works like this: If user is X and he visited forum Z, his style will change to Y

Boofo 12-25-2002 02:00 PM

Sinan, is there a way to only have the "Edit Post" button appear to those who "candeleteposts" with this hacK? I have been working on this for 2 days now trying to figure out the right variable to work with this. Can it be done or am I missing something? If not with this hack, is there a way this can be done another way? Great hack, buddy! ;)

Logician 12-26-2002 08:25 AM

Quote:

Originally posted by Boofo
Sinan, is there a way to only have the "Edit Post" button appear to those who "candeleteposts" with this hacK? I have been working on this for 2 days now trying to figure out the right variable to work with this. Can it be done or am I missing something? If not with this hack, is there a way this can be done another way? Great hack, buddy! ;)
This should work:
Edit postbit template, find:

PHP Code:

            <a href="editpost.php?s=$session[sessionhash]&action=editpost&postid=$post[postid]"><img src="{imagesfolder}/edit.gif" border="0" alt="Edit/Delete Message"></a

Replace it as:
PHP Code:

[[($post[userid]==$bbuserinfo[userid] or ($bbuserinfo[usergroupid]=="5" or $bbuserinfo[usergroupid]=="6" or $bbuserinfo[usergroupid]=="7"))]]
            <
a href="editpost.php?s=$session[sessionhash]&action=editpost&postid=$post[postid]"><img src="{imagesfolder}/edit.gif" border="0" alt="Edit/Delete Message"></a>
[[/(
$post[userid]==$bbuserinfo[userid] or ($bbuserinfo[usergroupid]=="5" or $bbuserinfo[usergroupid]=="6" or $bbuserinfo[usergroupid]=="7"))]] 


a43079 12-26-2002 09:35 AM

noce hack

Boofo 12-26-2002 10:01 AM

Thanks, Sinan. I have a hack that does that already. What i am looking for is to have it not show up to anyone besides the admin and Supermod unless they are either the poster of the message or a mod that has edit rights to that message. Not all of my mods can edit messages everywhere on the board. I tried the ismoderator variable and it didn't work. Is there another way around this?

I think I will take the hack out and replace it with your code. :)

Quote:

Originally posted by Logician

This should work:
Edit postbit template, find:

PHP Code:

            <a href="editpost.php?s=$session[sessionhash]&action=editpost&postid=$post[postid]"><img src="https://vborg.vbsupport.ru/images/edit.gif" border="0" alt="Edit/Delete Message"></a

Replace it as:
PHP Code:

[[($post[userid]==$bbuserinfo[userid] or ($bbuserinfo[usergroupid]=="5" or $bbuserinfo[usergroupid]=="6" or $bbuserinfo[usergroupid]=="7"))]]
            <
a href="editpost.php?s=$session[sessionhash]&action=editpost&postid=$post[postid]"><img src="https://vborg.vbsupport.ru/images/edit.gif" border="0" alt="Edit/Delete Message"></a>
[[/(
$post[userid]==$bbuserinfo[userid] or ($bbuserinfo[usergroupid]=="5" or $bbuserinfo[usergroupid]=="6" or $bbuserinfo[usergroupid]=="7"))]] 



Sadie Frost 12-30-2002 07:30 PM

Thank you Logician :)

Martin CX 01-02-2003 10:11 PM

This is an extremely fine hack.

Is there some "CanPostReply" variable, I can use to hide the "quote" and "post reply"-buttons if a user isn't allowed to post in a thread (either because it is locked, oe because of their user group).

Highlander 01-06-2003 08:16 AM

i just used your similar hacks in march 2002 .. and it was very great.... i might install this also !..

great work.. the should make you to be one of the master VB code designers !

arracing 01-21-2003 03:26 PM

how can i make it so that my top_stats button still shows but will tell a guest he needs to register the same way the forum defaults do when you set permissions to have guests not see certain forums?

I dont want guests to be able to see my forum stats.

Logician 01-21-2003 04:28 PM

Quote:

Originally posted by arracing
how can i make it so that my top_stats button still shows but will tell a guest he needs to register the same way the forum defaults do when you set permissions to have guests not see certain forums?

Which page or script does your "top_stats" page link to? It is not default vb so should be another hack (eg. vb stats)?

arracing 01-21-2003 09:10 PM

the top_stats button links to vbstats.php
Its a hack i got off these forums. my website is www.ar-racing.com

Mike11212 01-21-2003 09:38 PM

I am having trouble with the hack.
I don't want UserGroup 19 not to see a certin html code in the footer template
so I added
-----------
[[($bbuserinfo[usergroupid]==4 OR[usergroupid]==17 OR[usergroupid]==18 OR[usergroupid]==9 OR[usergroupid]==8 OR[usergroupid]==2 OR[usergroupid]==1 OR[usergroupid]==3 OR[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]

HTML CODE HERE

[[/($bbuserinfo[usergroupid]==4 OR[usergroupid]==17 OR[usergroupid]==18 OR[usergroupid]==9 OR[usergroupid]==8 OR[usergroupid]==2 OR[usergroupid]==1 OR[usergroupid]==3 OR[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]
---------------------------

But it hides the html code from everyone

Boofo 01-21-2003 09:48 PM

Then why don't you just use this and save some code?

[[($bbuserinfo[usergroupid]!=19)]]

HTML CODE HERE

[[/($bbuserinfo[usergroupid]!=19)]]

and you need to add spaces after the OR in your code. ;)

Boofo 01-21-2003 09:53 PM

This:

[[($bbuserinfo[usergroupid]==4 OR[usergroupid]==17 OR[usergroupid]==18 OR[usergroupid]==9 OR[usergroupid]==8 OR[usergroupid]==2 OR[usergroupid]==1 OR[usergroupid]==3 OR[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]

HTML CODE HERE

[[/($bbuserinfo[usergroupid]==4 OR[usergroupid]==17 OR[usergroupid]==18 OR[usergroupid]==9 OR[usergroupid]==8 OR[usergroupid]==2 OR[usergroupid]==1 OR[usergroupid]==3 OR[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]

should be this:

[[($bbuserinfo[usergroupid]==4 OR $bbuserinfo[usergroupid]==17 OR $bbuserinfo[usergroupid]==18 OR $bbuserinfo[usergroupid]==9 OR $bbuserinfo[usergroupid]==8 OR $bbuserinfo[usergroupid]==2 OR $bbuserinfo[usergroupid]==1 OR $bbuserinfo[usergroupid]==3 OR $bbuserinfo[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]

HTML CODE HERE

[[/($bbuserinfo[usergroupid]==4 OR $bbuserinfo[usergroupid]==17 OR $bbuserinfo[usergroupid]==18 OR $bbuserinfo[usergroupid]==9 OR $bbuserinfo[usergroupid]==8 OR $bbuserinfo[usergroupid]==2 OR $bbuserinfo[usergroupid]==1 OR $bbuserinfo[usergroupid]==3 OR $bbuserinfo[usergroupid]==5 OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7)]]

Mike11212 01-21-2003 10:12 PM

thank you very very much :)

Boofo 01-21-2003 10:15 PM

You're welcome. Just curious, which code are you using? The first one I posted or the second one?

Mike11212 01-21-2003 10:22 PM

The secound code because because I want to hide an add for 1 user group but have the rest see it.

Mike11212 01-21-2003 10:24 PM

My visitors have said they would be interesting in paying to visit the site. So I said I would offer an ads free version of the site for those who pay. Lets see if they do

Boofo 01-21-2003 10:27 PM

Quote:

Originally posted by Mike11212
The second code because because I want to hide an add for 1 user group but have the rest see it.
Then use the first code and change the 19 to the number of the group you want to hide it from. The != means is not equal to.

Mike11212 01-21-2003 10:44 PM

I want to hide it from every group except 19

JakeC 01-22-2003 12:57 AM

What would be the correct variable for new private messages? I know that I use this to call the number of new messages: $unreadpm[messages]. I would like to simply use this hack to turn text red when there are more than 0 new messages. Thanks in advance.

JakeC

Boofo 01-22-2003 02:12 AM

Quote:

Originally posted by Mike11212
I want to hide it from every group except 19
Then use this:

[[($bbuserinfo[usergroupid]==19)]]

HTML CODE HERE

[[/($bbuserinfo[usergroupid]==19)]]

Boofo 01-22-2003 02:16 AM

Quote:

Originally posted by JakeC
What would be the correct variable for new private messages? I know that I use this to call the number of new messages: $unreadpm[messages]. I would like to simply use this hack to turn text red when there are more than 0 new messages. Thanks in advance.

JakeC

Try this and let me know if it works.

[[($unreadpm[messages]!=0)]]

HTML CODE HERE

[[/($unreadpm[messages]!=0)]]

arracing 01-23-2003 08:41 PM

wont someone please help me out with my question. What code should I use to make unregistered user group not able to access the top_stats link to vbstats.php. I want them to still be able to see the button but just when they click on it, it takes them to the user not registered page, please log in screen.

Im not sure what template to put this code in as it needs to be always used say if they are in another forum and are unregisterd, i still want them to not be able to access vbstats. And I need the code for this too.

Thanks

JakeC 01-24-2003 12:23 AM

Boofo,

It worked with >0 . I tried it with the !=0 and it didn't work. Thanks for pointing me in the right direction.

JakeC

Logician 01-24-2003 06:12 AM

Quote:

Originally posted by arracing
wont someone please help me out with my question. What code should I use to make unregistered user group not able to access the top_stats link to vbstats.php. I want them to still be able to see the button but just when they click on it, it takes them to the user not registered page, please log in screen.

This hack allows you to display/hide your stats button but this is not what you want. To achieve your goal, you have to either know the template your stats file display or edit the file vbstats.php, find

PHP Code:

require('./global.php'); 

and after that add:
PHP Code:

if ($bbuserinfo[userid]==0
{
  
show_nopermission();



arracing 01-24-2003 02:58 PM

well in stead of userid how about usergroupid to block whole groups from seeing it. Also please double check me, is it usergroupid or just usergroups? Also I want to include more than 1 usergroupid in the list of people not being able to see the stats. I try and put numbers like

if ($bbuserinfo[usergroupid]==1,3,4,11,12)
{
show_nopermission();
}

but that gives me an error.

What am i doing wrong.

I know if i use the code below it works fine to block guests.

if ($bbuserinfo[usergroupid]==1)
{
show_nopermission();
}

Boofo 01-24-2003 03:07 PM

Quote:

Originally posted by arracing
well in stead of userid how about usergroupid to block whole groups from seeing it. Also please double check me, is it usergroupid or just usergroups? Also I want to include more than 1 usergroupid in the list of people not being able to see the stats. I try and put numbers like

if ($bbuserinfo[usergroupid]==1,3,4,11,12)
{
show_nopermission();
}

but that gives me an error.

What am i doing wrong.

I know if i use the code below it works fine to block guests.

if ($bbuserinfo[usergroupid]==1)
{
show_nopermission();
}

Change this:

Code:

if ($bbuserinfo[usergroupid]==1,3,4,11,12)
{
  show_nopermission();
}

To this:

Code:

if (in_array($bbuserinfo['usergroupid'], array(1,3,4,11,12))) {
 show_nopermission();
}



All times are GMT. The time now is 04:20 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.01931 seconds
  • Memory Usage 1,875KB
  • 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
  • (11)bbcode_php_printable
  • (14)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)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