Thread: Show Thread Enhancements - First post on all pages
View Single Post
  #64  
Old 05-05-2010, 07:59 PM
Ronya Ronya is offline
 
Join Date: Jun 2006
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great Mod Thank you
But can you make radio button on "Administrative" dropdown menu to enable it for different thread. Idea is to enable not all treads in some forum but just some threads.

i used mod like this on 3.6
Table "Thread" has field named showfirstpost

anyway you can see it on that code:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="firstpostonall" active="1">
    <title>First Post on every pages 1.0.4</title>
    <description>This will allow you to show the first post on every page of a thread. (Eng. version)</description>
    <version>1.0.4</version>
    <codes>
        <code version="1.0.4">
            <installcode><![CDATA[$db->hide_errors();
$db->query_write("ALTER TABLE `". TABLE_PREFIX ."thread` ADD `showfirstpost` INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL");
$db->show_errors();]]></installcode>
            <uninstallcode><![CDATA[$db->hide_errors();
$db->query_write("ALTER TABLE `". TABLE_PREFIX ."thread` DROP `showfirstpost`");
$db->show_errors();]]></uninstallcode>
        </code>
    </codes>
    <templates>
    </templates>
    <plugins>
        <plugin active="1">
            <title>First Post on every pages - postbit display complete</title>
            <hookname>postbit_display_complete</hookname>
            <phpcode><![CDATA[if ($this->thread['showfirstpost']=='1' AND $post['postid']==$this->thread['firstpostid'])
{
   if ($vbulletin->options['legacypostbit']=='1')
   {
    $this->templatename = 'postbit_legacy';
   }
   else
   {
    $this->templatename = 'postbit';
   }
}
$show['firstpostonall'] = true;]]></phpcode>
        </plugin>
        <plugin active="1">
            <title>First Post on every pages - showthread postbit create</title>
            <hookname>showthread_postbit_create</hookname>
            <phpcode><![CDATA[if ($thread['showfirstpost'] AND $vbulletin->GPC['pagenumber'] > 1) 
{ 
    if ($post['postid'] == $thread['firstpostid']) 
    { 
        $counter--; 
        $post['postcount'] = '1'; 
    } 
    else 
    { 
        $post['postcount']--; 
    } 
}]]></phpcode>
        </plugin>
        <plugin active="1">
            <title>First Post on every pages - showthread post start</title>
            <hookname>showthread_post_start</hookname>
            <phpcode><![CDATA[if ($thread['showfirstpost']=='1' AND $threadedmode == 0 AND $thread['attach']) 
{ 
    $thread['hasattach'] = $thread['attach']; 
    unset($thread['attach']); 
}]]></phpcode>
        </plugin>
        <plugin active="1">
            <title>First Post on every pages - showthread query</title>
            <hookname>showthread_query</hookname>
            <phpcode><![CDATA[if ($thread['showfirstpost'])
{
    $ids .= ",$thread[firstpostid]";
    $postids = "post.postid IN (0" . $ids . ")"; 
    if ($thread['hasattach'])
    {
        $attachments = $db->query_read("
            SELECT dateline, thumbnail_dateline, filename, filesize, visible, attachmentid, counter,
                postid, IF(thumbnail_filesize > 0, 1, 0) AS hasthumbnail, thumbnail_filesize,
                attachmenttype.thumbnail AS build_thumbnail, attachmenttype.newwindow
            FROM " . TABLE_PREFIX . "attachment
            LEFT JOIN " . TABLE_PREFIX . "attachmenttype AS attachmenttype USING (extension)
            WHERE postid IN (-1" . $ids . ")
            ORDER BY attachmentid
        ");
        $postattach = array();
        while ($attachment = $db->fetch_array($attachments))
        {
            if (!$attachment['build_thumbnail'])
            {
                $attachment['hasthumbnail'] = false;
            }
            $postattach["$attachment[postid]"]["$attachment[attachmentid]"] = $attachment;
        }      
        $thread['attach'] = $thread['hasattach'];
        unset($thread['hasattach']);
    }
}]]></phpcode>
        </plugin>
        <plugin active="1">
            <title>First Post on every pages - action switch</title>
            <hookname>threadmanage_action_switch</hookname>
            <phpcode><![CDATA[if ($_REQUEST['do'] == 'stickpost')
{
    $handled_do = true;
    if (!$threadinfo['threadid'])
    {
        eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink'])));
    }
}]]></phpcode>
        </plugin>
        <plugin active="1">
            <title>First Post on every pages - main</title>
            <hookname>threadmanage_start</hookname>
            <phpcode><![CDATA[// ##### start stick/unstick post mod by YaR & kerk ######
if ($_POST['do'] == 'stickpost')
{
    if (($threadinfo['isdeleted'] AND !can_moderate($threadinfo['forumid'], 'candeleteposts')) OR (!$threadinfo['visible'] AND !can_moderate($threadinfo['forumid'], 'canmoderateposts')))
    {
        if (can_moderate($threadinfo['forumid']))
        {
            print_no_permission();
        }
        else
        {
            eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink'])));
        }
    }

    if (!can_moderate($threadinfo['forumid'], 'canmanagethreads'))
    {
        print_no_permission();
    }

    verify_forum_password($foruminfo['forumid'], $foruminfo['password']);

  $is_sticked    = $threadinfo['showfirstpost'];

    if ($threadinfo['showfirstpost'])
    {
        $db->query_write("UPDATE ".TABLE_PREFIX."thread SET showfirstpost = 0 WHERE  threadid = ". $threadinfo['threadid'] );
        $action = " Done: \"First Post Sticked\"";
    }
    else
    {
        $db->query_write("UPDATE ".TABLE_PREFIX."thread SET showfirstpost = 1 WHERE  threadid = ". $threadinfo['threadid'] );
        $action = " Done: \"First Post Unsticked\"";
    }

    $vbulletin->url = 'showthread.php?goto=newpost&' . $vbulletin->session->vars['sessionurl'] . "t=$threadid";
    eval(print_standard_redirect('redirect_sticky', true, true));
}
// ##### end stick/unstick post mod by YaR & kerk ######]]></phpcode>
        </plugin>
    </plugins>
    <phrases>
        <phrasetype name="Show Thread" fieldname="showthread">
            <phrase name="stick_post"><![CDATA[Stick First Post.]]></phrase>
            <phrase name="unstick_post"><![CDATA[Unstick First Post.]]></phrase>
        </phrasetype>
        <phrasetype name="Front-End Redirect Messages" fieldname="frontredirect">
            <phrase name="stickyp"><![CDATA[$action]]></phrase>
        </phrasetype>
    </phrases>
    <options>
    </options>
</product>
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01256 seconds
  • Memory Usage 1,799KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete