Announcement

Collapse
No announcement yet.

[Release v2] Options for forums - display or don't display on forum home

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Release v2] Options for forums - display or don't display on forum home

    This hack adds a yes/no option for forums, to select whether you want to display that forum (or category) on the main page.
    I added a "sanity check", so you can't hide forums that have no parent (because then you won't be able to access any of its sub-forums).
    I'll get a demo in a few minutes.

    Demo::
    http://www.vbulletin.com/forum/attac...&postid=172718

    Installation::
    Run this query:
    Code:
    ALTER TABLE forum ADD showonhome SMALLINT(6) DEFAULT '1' not null AFTER allowicons
    In forum.php (admin folder) replace
    PHP Code:
      makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1); 
    with
    PHP Code:
      makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1);

      
    maketableheader("Other Options");

      
    makeyesnocode("Display this forum on main page","showonhome",1); 
    Still in forum.php, replace
    PHP Code:
      makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]); 
    with
    PHP Code:
      makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]);

      
    maketableheader("Other Options");

      
    makeyesnocode("Display this forum on main page","showonhome",$forum[showonhome]); 
    Still in forum.php, replace
    PHP Code:
                           moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons
    with
    PHP Code:
                           moderatenew,allowhtml,allowbbcode,allowimages,allowsmilies,allowicons,showonhome
    Still in forum.php, replace
    PHP Code:
                           '$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons'
    with
    PHP Code:
                           '$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons','$showonhome'
    Still in forum.php, replace
    PHP Code:
                         allowimages='$aallowimgcode'allowsmilies='$aallowsmilies'allowicons='$aallowicons'
    with
    PHP Code:
                         allowimages='$aallowimgcode'allowsmilies='$aallowsmilies'allowicons='$aallowicons'showonhome='$showonhome'
    Still in forum.php, replace
    PHP Code:
      // SANITY CHECK (prevent invalid nesting)
      
    if ($parentid==$forumid) {
          echo 
    "<b>ERROR:</b> You can't parent a forum to itself!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
        exit;
      }
      
    $foruminfo $DB_site->query_first("SELECT forumid,title,parentlist FROM forum WHERE forumid='$parentid'");
      
    $parents explode(","$foruminfo[parentlist]);
      while (list(,
    $val) = each($parents)) {
        if (
    $val==$forumid) {
          echo 
    "<b>ERROR:</b> You can't parent a forum to one of its own children!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
          exit;
        }
      }
      
    // end Sanity check 
    with
    PHP Code:
      // SANITY CHECK (prevent invalid nesting)
      
    if ($parentid==$forumid) {
          echo 
    "<b>ERROR:</b> You can't parent a forum to itself!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
        exit;
      }
      
    $foruminfo $DB_site->query_first("SELECT forumid,title,parentlist FROM forum WHERE forumid='$parentid'");
      
    $parents explode(","$foruminfo[parentlist]);
      while (list(,
    $val) = each($parents)) {
        if (
    $val==$forumid) {
          echo 
    "<b>ERROR:</b> You can't parent a forum to one of its own children!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
          exit;
        }
      }
      if (
    $parentid==-and $showonhome==0) {
          echo 
    "<b>ERROR:</b> You can't hide a forum with no parent!<br><br>".makelinkcode("Go back","javascript:history.back(1)");
        exit;
      }
      
    // end Sanity check 
    We don'e with forum.php, save and upload.

    In index.php (main folder) replace
    PHP Code:
    $forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND active=1 ORDER BY parentid,displayorder'); 
    with
    PHP Code:
    $forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND showonhome=1 AND active=1 ORDER BY parentid,displayorder'); 
    We don'e with index.php, save and upload.

    That's it!
    Last edited by Chen; Mon 17th Sep '01, 7:12am.
    Chen Avinadav
    Better to remain silent and be thought a fool than to speak out and remove all doubt.

    גם אני מאוכזב מסיקור תחרות לתור מוטור של NRG הרשת ע"י מעריב

  • #2
    Demo:

    It says "You can hide a forum with a parent!" but it's "You can't hide a forum with no parent!".
    Chen Avinadav
    Better to remain silent and be thought a fool than to speak out and remove all doubt.

    גם אני מאוכזב מסיקור תחרות לתור מוטור של NRG הרשת ע"י מעריב

    Comment


    • #3
      master i am first reply your post!!

      but i still can not use this hack in my forum~~~

      cause i haven't phpmyadmin right now~~~

      i think next time ba!!

      by the way have any picture??--haha!!sorry~i see it!!

      it looks great!! thanks your hack~~
      Last edited by squawell; Mon 17th Sep '01, 7:16am.

      Comment


      • #4
        Tested on 2.0.3
        Working great.

        Great hack!!!
        Windows: ctrl+alt+del

        Comment


        • #5
          Squawell this is the second time that I will ask you to enter your license into your profile.

          Comment


          • #6
            I'm not sure exactly what this does? Here's my idea of it:

            You have the forum depth set at 2, so forums 4 deep aren't shown. But if you want one of those shown, you use this and select to have it shown, then its on the forum homepage?

            I'm not really sure about this...

            squawell: Enter your license info in your profile. To do that go to [url=http://www.vbulletin.com/forum/member.php?s=&action=editprofile]this[url] page and scroll down. Then enter your license and password.
            Seriously! - The Definitive Home of All Things Serious
            Seriously! Forums

            To recieve support on these forums, enter your username here.

            Comment


            • #7
              It's the other way around

              Say you have the depth at 3 and have a category with three forums in it:

              cat-->forum1
              forum2
              forum3

              Now all forums are shown on forumhome under the category
              turn of the show on forumhome switch and they are not shown on main page but if you click the category they're there.
              Windows: ctrl+alt+del

              Comment


              • #8
                Oh! So its sorta like what happens when a forum is beyond the depth that is shown. Sweet.
                Seriously! - The Definitive Home of All Things Serious
                Seriously! Forums

                To recieve support on these forums, enter your username here.

                Comment


                • #9
                  I just wanted to add, FireFly you rock!!!

                  I was looking for a collapsable forum feature, but this is just as good if not better!!!


                  Thanks I'm going to add this tonight.
                  ::B i l l B e n s e n::
                  Founder and Senior Editor
                  www.Surfthisphotography.com
                  e: [email protected]
                  icq: 132161316
                  m$n: [email protected]

                  Comment

                  widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
                  Working...
                  X