vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Looking for a conditional (https://vborg.vbsupport.ru/showthread.php?t=276533)

Scanu 01-06-2012 03:59 PM

Looking for a conditional
 
Hi I'm looking for a conditional like "if his is the last forum" to use in the "forumhome_forumbit_level2_post". For example (of corse not working)

PHP Code:

<vb:if condition="$forumcount == 'last' ">Something to show just if this is the last forum code</vb:if> 


kh99 01-07-2012 03:57 PM

I don't think there's any variable that you can check. But you could create a plugin using hook forumbit_display and set $forum['islastshown'] or something like that. The hook is in function construct_forum_bit() in includes/functions_forumlist.php, and I don't see an easy way to figure out if a forum is the last one, but maybe you will figure something out.

Scanu 01-07-2012 04:35 PM

Ok thanks for your reply kh99 I was looking at "functions_forumlist.php" for some ideas and that's a initial code let me know what do you think
PHP Code:

if ($forum['forumid'] == $lastforumid) { }
//Can i get how many forums are there? (and so the last id) or can i get directly the last id?
//if i can't, i'll put an option in the pca for example "What is the last id of your forum?"
$lastforumid $vbulletin->options['last_forum_id'

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

lol if i was looking for a condition for the first forum, was simple just
PHP Code:

if ($forum['forumid'] =='1') { } 


kh99 01-07-2012 04:56 PM

Well, if you look at that function you'll see that it's bascailly a loop like:

Code:

foreach ($vbulletin->iforumcache["$parentid"] AS $forumid)
{

So you'd have to know when you got to the last one. But if you look a little further down, there are some if's so the last id in the $vbulletin->iforumcache["$parentid"] array might not be the last one displayed. I don't really see any way around that (for a general solution, anyway), except to go through the entire array and apply the conditions to see which one comes last, then compare it to the current forum id.

Also, since this function is called recursively, you are talking about the last one only at the current level, but I guess I was assuming that would work for you.

Scanu 01-07-2012 05:07 PM

PHP Code:

if ($forum['forumid'] == $lastforumid) { }
//Can i get how many forums are there? (and so the last id) or can i get directly the last id?
//if i can't, i'll put an option in the pca for example "What is the last id of your forum?"
$lastforumid $vbulletin->options['last_forum_id'

If this code works how can i use it on the template i mean how can i turn it ona vb:if condition?

kh99 01-07-2012 05:10 PM

Well, sort of echoing the 'islastshown' for posts, you could do something like:

Code:

$forum['islastshown'] = ($forum['forumid'] == $lastforumid);

and then in the template:

Code:

<vb:if condition="$forum[islastshown]">

Scanu 01-07-2012 05:26 PM

Oh that was so simple! I'll try it thank you kh99 :)

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

Everything worked thanks kh99 helpful as always


All times are GMT. The time now is 03:41 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.01101 seconds
  • Memory Usage 1,732KB
  • 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
  • (3)bbcode_code_printable
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)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