vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Latest Threads On Forum Home (https://vborg.vbsupport.ru/showthread.php?t=83230)

jason_x 04-30-2006 11:05 AM

Quote:

Originally Posted by Vierie
Did you test it as a guest?

yes.

temporary solution:
i have added the forumid to $limitfids (hook forum_complete).

Code:

fetch_permissions($forum['forumid']);

$limitfids = "1,2";

// ## HIDE FORUMS WITHOUT THE CANVIEW PERMISSION ##

threads with this forumid will not show up on latest threads (unfortunately for all usergroups!).

Pathor 04-30-2006 04:53 PM

Quote:

Originally Posted by Mike-D
Pathor? Your SN sounds known for me. Are you from vB Germany?

Yes, I am. ;)

Welche Version hast Du ? L?uft hervorragend unter 3.54. Ich habe einige ?nderungen am Code gemacht, so das die ?bersicht nun als Tabelle dargestellt wird. Ist nur halt das Problem, das G?ste es auch seheh k?nnen, und das m?chte ich nicht. Hast Du irgendeine Idee, wie man das abschalten kann? Meine PHP Kentnisse sind sehr begrenzt - leider :( -Mike

Du musst eine if-condition um den ganzen Templatecode setzen.

<if condition="$bbuserinfo['userid']">
<Latest Threads on Forum Home>
</if>

Somit sehen nur registrierte Benutzer dein Forum. :)

Pathor 04-30-2006 06:52 PM

Quote:

Danke mein Freund. Ich schulde Dir was. Wenn ich auch mal irgendwas f?r Dich tun kann - z?gere mich nicht, mich zu fragen -Micha
Kein Prob. ;)
Quote:

Somit sehen nur registrierte Benutzer dein Forum.
Soll nat?rlich 'Plugin' am Ende hei?en. :D

Tim Simms 05-13-2006 10:31 AM

I needed to be able to see the names of the forums in the list, so I modified it a bit... Here's the XML code:

Code:

<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="chrism_latestthreads" active="1">
        <title>Latest Threads on Forum Home</title>
        <description>This product will show the Latest Threads posted (using permissions) on your forumhome</description>
        <version>1.1.2</version>
        <codes>
        </codes>
        <templates>
                <template name="forumhome_latestthreadbit" templatetype="template" date="1129992702" username="Chris M" version="3.5.0"><![CDATA[<div class="smallfont">
        <if condition="$show['firstnew']">
                <a href="showthread.php?t=$thread[threadid]&amp;goto=newpost"><img src="$stylevar[imgdir_button]/firstnew.gif" alt="$vbphrase[go_to_first_new_post]" border="0" /></a>
        </if>
        <if condition="$show['icon'] && !$show['firstnew']">
                <img src="$vboptions[bburl]/$thread[threadiconpath]" border="0" alt="$thread[threadicontitle]" title="$thread[threadicontitle]" style="vertical-align: text-middle" />
        </if>
        <a href="showthread.php?t=$thread[threadid]" title="$thread[preview]"><strong>$thread[title]</strong></a>
        <em>$vbphrase[last_post]:</em> $thread[date] <if condition="$vboptions['yestoday'] != 2"><span class="time">$thread[time]</span></if> <phrase 1="member.php?find=lastposter&amp;t=$thread[threadid]" 2="$thread[lastposter]">$vbphrase[by_x]</phrase>
        &raquo; $vbphrase[replies]: $thread[replycount]
        &raquo; $vbphrase[views]: $thread[views]
</div>]]></template>
        </templates>
        <plugins>
                <plugin active="1">
                        <title>Latest Threads on Forum Home</title>
                        <hookname>cache_templates</hookname>
                        <phpcode><![CDATA[global $globaltemplates;

$globaltemplates = array_merge($globaltemplates, array('forumhome_latestthreadbit'));]]></phpcode>
                </plugin>
                <plugin active="1">
                        <title>Latest Threads on Forum Home</title>
                        <hookname>forumhome_complete</hookname>
                        <phpcode><![CDATA[// #################### PROCESS LATEST THREADS #######################
// fetch the permissions for each forum
global $vbulletin;

$forumperms = array();
foreach($vbulletin->forumcache AS $forum) {

        $forumperms[$forum["forumid"]] = fetch_permissions($forum['forumid']);

        // ## HIDE FORUMS WITHOUT THE CANVIEW PERMISSION ##
        if (!($forumperms[$forum["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview']) AND !$vbulletin->options['showprivateforums']) {
                $limitfids .= ','.$forum['forumid'];
        }
}
unset($forum);

if ($vbulletin->options['threadpreview'] > 0) {
        $previewfield = ', post.pagetext AS preview';
        $previewjoin = 'LEFT JOIN '.TABLE_PREFIX.'post AS post ON(post.postid = thread.firstpostid)';
}

$getthreads = $db->query_read("
        ## GET LATEST THREADS ##
        SELECT thread.*,forum.title AS forumtitle,thread.iconid AS threadiconid $previewfield
        FROM ".TABLE_PREFIX."thread AS thread
        LEFT JOIN ".TABLE_PREFIX."deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')
        $previewjoin,
        ".TABLE_PREFIX."forum AS forum WHERE forum.forumid = thread.forumid
        AND open <> 10
        AND thread.forumid NOT IN (0$limitfids)
        AND thread.visible = '1'
        AND deletionlog.primaryid IS NULL
        ORDER BY lastpost
        DESC LIMIT 5");

while($thread = $db->fetch_array($getthreads)) {

        $threads = true;
        $thread['title'] = fetch_censored_text(fetch_trimmed_title(unhtmlspecialchars($thread['title']), 22));
        $thread['date'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
        $thread['time'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);
        $thread['preview'] = preg_replace('#\[quote(=(&quot;|"|\'|).*\\2)?\](.*)\[/quote\]#siU', '', $thread['preview']);
        $thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode(fetch_censored_text($thread['preview']), false, true), $vbulletin->options['threadpreview']));
        $thread['replycount'] = vb_number_format($thread['replycount']);
        $thread['views'] = vb_number_format($thread['views']);

        // thread icon
        $show['icon'] = false;
  $icon = fetch_iconinfo($thread['iconid']);

  if (is_array($icon)) {
      $show['icon'] = true;
      $thread['threadiconpath'] = $icon['iconpath'];
      $thread['threadicontitle'] = $icon['title'];
  }

        // show goto new post
        $show['firstnew'] = false;
        $bbforumview = fetch_bbarray_cookie('forum_view', $thread['forumid']);

        if ($bbforumview > $vbulletin->userinfo['lastvisit']) {
                $lastread = $bbforumview;
        } else {
                $lastread = $vbulletin->userinfo['lastvisit'];
        }

        if ($thread['lastpost'] > $lastread) {

                $threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);

                if ($thread['lastpost'] > $threadview) {
                        $show['firstnew'] = true;
                        $show['icon'] = false;
                }
        }

        exec_switch_bg();

        eval("\$threadbits .= \"".fetch_template('forumhome_latestthreadbit')."\";");
}
if ($threads) {
        $show['latestthreads'] = true;
}
// memory saving
unset($thread, $threads);
$db->free_result($getthreads);]]></phpcode>
                </plugin>
        </plugins>
        <phrases>
                <phrasetype name="GLOBAL" fieldname="global">
                        <phrase name="latest_threads"><![CDATA[Latest Threads]]></phrase>
                </phrasetype>
        </phrases>
        <options>
        </options>
</product>


Then, in the FORUMHOME, here's the Lastest Threads section:

PHP Code:

<!-- latest threads -->
<if 
condition="$show['latestthreads']">
<
tbody>
    <
tr>
        <
td class="thead" colspan="2">
            <
a style="float:$stylevar[right]href="#top" onclick="return toggle_collapse('forumhome_latestthreads')"><img id="collapseimg_forumhome_latestthreads" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_latestthreads].gif" alt="" border="0" /></a>
            
$vbphrase[latest_threads]
        </
td>
    </
tr>
</
tbody>
<
tbody id="collapseobj_forumhome_latestthreads" style="$vbcollapse[collapseobj_forumhome_latestthreads]">
    <
tr>
        <
td class="alt2"><img src="$stylevar[imgdir_statusicon]/forum_new.gif" alt="$vbphrase[latest_threads]/></td>
        <
td class="alt1"><div class="smallfont">$threadbits</div></td>
    </
tr>
</
tbody>
</if>
<!-- /
latest threads --> 

Worked like a charm! :cool:

somasimple 05-16-2006 10:28 AM

Hi Tim,

The forumtitle you used isn't used in any another place.
The modidfication doesn't show the forum title! :confused:

criscokid 05-17-2006 05:42 PM

Can this mod be used to show the 'latest threads' block other than on forumhome? like on a portal front page?

jokerz 05-18-2006 08:53 AM

This hack is not about the latest threads, it is only when you post the threads and it'll show the latest post in threads. Weird.. I thought its only list of new threads not new posts.

eg. If I post in old thread or new thread, both will show up as 'Latest Threads'

harishankar 05-18-2006 09:08 AM

That's exactly what I'm looking for jokerz. I wanted latest posts. I guess this is the mod.

For the "Latest threads" as you want it, I think there's a tutorial at vbulletin.com which does that using the external hook.

criscokid 05-18-2006 10:57 AM

I found the HowTo Display Latest Active Threads on ANY normal HTML page document. but it's only the 'last x threads posted' not 'last x postings posted' like this one is.

This is the one that I want - I just loosely used the term 'latest threads' as I took it from the title of this mod. Maybe it should be renamed to be more exact?

Anyway... is it possible to use this mod on a page other than on forumhome ( like on a portal front page)?

harishankar 05-18-2006 12:57 PM

Any way to control to number of new topics which appear?


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

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.01539 seconds
  • Memory Usage 1,780KB
  • 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
  • (1)bbcode_php_printable
  • (4)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