vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   * Torrent Tracker for vB 3.5.4 * (https://vborg.vbsupport.ru/showthread.php?t=114808)

tanand79 05-05-2006 05:18 AM

* Torrent Tracker for vB 3.5.4 *
 
Does anyone know where can i get the torrent tracker for vB 3.5.4 as iam running a site www.desibbrg.com without a tracker...for the past 15 days and i want it to be tracker enabled......

Its quite strange..........how come vBulletin dint release a version of the torrent tracker ?

Pls someone help me its urgent !

XTF 05-11-2006 02:09 PM

<a href="http://xbt.leiden.xwis.net/" target="_blank">http://xbt.leiden.xwis.net/</a>

Connector 05-21-2006 12:15 AM

Quote:

Originally Posted by XTF

Some one told me that he give you a close source code is that truth ?

TruthElixirX 05-21-2006 03:33 AM

I don't know, but contacting him, getting it, and trying it out can let you find on your own. I haven't seen this script before so I don't know.

Anyway here is another one:

http://sourceforge.net/projects/vbtt

JohnBee 05-21-2006 06:13 AM

I have purchased and installed this script.

So far it is very impressive and the coder has proven to be a very nice individual to deal with. In my oppinion it is well worth the price.

XTF 05-25-2006 09:24 AM

Quote:

Originally Posted by Connector
Some one told me that he give you a close source code is that truth ?

No, you get normal PHP files.

And posting the same question in multiple topics isn't really nice.

ankitp23 09-08-2006 11:00 PM

<a href="http://sourceforge.net/projects/vbtt" target="_blank">http://sourceforge.net/projects/vbtt</a>
will that work with Vbulletin 3.6?

Jarllax 09-09-2006 10:32 AM

How much is he asking by chance for it? Or if you are the author of it XTF (see that you are in the screen shots on that page) how much? :)

And is there much work involved in the install?

ankitp23 09-09-2006 06:27 PM

XTF is charging 100 Eruos for that mod.....and installintion idk!

toolmanwill 09-15-2006 05:28 PM

Quote:

Originally Posted by ankitp23
http://sourceforge.net/projects/vbtt
will that work with Vbulletin 3.6?

No that wont work on 3.5.x or 3.6.x vbulletin, but we are updating VBTT to version 3, which is fully compatable with 3.6.x versions.

oldfan 09-16-2006 07:54 PM

Quote:

Originally Posted by ankitp23
XTF is charging 100 Eruos for that mod.....and installintion idk!

worth every penny!!
www.metallifukinca.com for a demo :)

toolmanwill 10-18-2006 05:15 PM

I have released a few versions of a free torrent tracker for use with vbulletin 3.6.x
you can get it here : http://sourceforge.net/projects/vbtt
The modification as well as support is free.

ericgtr 10-18-2006 06:05 PM

Quote:

Originally Posted by toolmanwill
I have released a few versions of a free torrent tracker for use with vbulletin 3.6.x
you can get it here : http://sourceforge.net/projects/vbtt
The modification as well as support is free.

Great, glad to see a free version of this available. Must a torrent tracker be installed seperately?

toolmanwill 10-18-2006 06:56 PM

it depends on which version you choose
the PHP version has an integrated tracker while the XBT version requires SSH access to install XBT tracker backend(tons more efficient)

ericgtr 10-18-2006 07:13 PM

Okay, so it's built in for the php version, thanks. Also, I had the issue with forumdisplay where it gave me the "Column 'size' in field list is ambiguous" error. for anyone else installing this, here is the fix http://borget.info/forum/viewtopic.php?p=444#p444

We are going to start testing it on my board, I will report back on how it's working. Thanks again for this, toolmanwill. :)

toolmanwill 10-18-2006 07:36 PM

sure thing, yeah i couldn't figure out what else to do so i just eliminated the size field from query to stop the error.

Also this is a work in progress so i'm still working on features and the few bugs there are.

ericgtr 10-18-2006 09:43 PM

Okay, I can't seem to get around this error:
Quote:

Warning: Division by zero
I have tried what you've mentioned on your site but can't get rid of it.

toolmanwill 10-19-2006 09:52 AM

the temporary fix for that untill i can find another way to do it is

Find in VBTT Functions Include plugin :
Code:

$percent = 100 * (1 - ($e["to_go"] / $size)) ;
                $progress = sprintf("%.2f%%", 100 * (1 - ($e["to_go"] / $size)))  ;

Replace with :
Code:

//$percent = 100 * (1 - ($e["to_go"] / $size)) ;
                //$progress = sprintf("%.2f%%", 100 * (1 - ($e["to_go"] / $size)))  ;

Like i said this is just a temporary fix to remove those errors untill I can eliminate problem. The progress bars will not work once this is done, again temporary.

ericgtr 10-19-2006 01:23 PM

I have it running now and the errors are gone. Do you mean the progress bars in the showthread? I am assuming so because it looks like a normal attachment without displaying any of the files in the torrent. Here is the thread for reference http://www.guitarblast.com/showthread.php?t=1647&page=2

bashy 10-19-2006 04:09 PM

Hi guys/gals

I am a little intruiged with this?
I use torrents myself but do not understand how a tracker works?

If i installed this onto my site how would it work please?

toolmanwill 10-19-2006 05:07 PM

Eric,
edit your postbit_attachment template for any non-default skins and add this at end :
Code:

<tr><td>  </td><td>
$attachment[tstats]
<br>
$attachment[torrentinfo]
</td>
</tr>


ericgtr 10-19-2006 05:12 PM

Whoa! That did it lol. I didn't see that in the instructions or maybe it didn't make it in from the plugin? I also had to rebuild (edit any template and his save) my bitfields after installation.. Just an FYI.

toolmanwill 10-19-2006 05:22 PM

yeah i'll actually put that in the next releases install readme. If you have any other skins besides default some of the features dont carry over thru templates and have to be manually entered in templates.
I will supply all the necessary docs in the next release this weekend. I've also got a new announce.php which fixes 2 bugs in it to be included in that release.

ericgtr 10-19-2006 06:48 PM

Quote:

Originally Posted by toolmanwill
yeah i'll actually put that in the next releases install readme. If you have any other skins besides default some of the features dont carry over thru templates and have to be manually entered in templates.
I will supply all the necessary docs in the next release this weekend. I've also got a new announce.php which fixes 2 bugs in it to be included in that release.

Great, looking forward to it and thanks for the support.

oldfan 10-20-2006 12:48 AM

Lookin good toolmanwill!

Revpolar 10-20-2006 07:56 AM

Quote:

Originally Posted by toolmanwill
Eric,
edit your postbit_attachment template for any non-default skins and add this at end :
Code:

<tr><td>  </td><td>
$attachment[tstats]
<br>
$attachment[torrentinfo]
</td>
</tr>


Will is there an <if conditional here so the toorent info bits dont show up for other types of attachemnts?

toolmanwill 10-20-2006 10:44 AM

actually that will be included in next release of both PHP and XBT.

to fix it now before new release edit VBTT Showthread Stuff plugin
This is ONLY for PHP version, XBT plugin/code for this is totally different

replace entire plugin code with :

Code:

$s="";
    if ($attachment['info_hash'] != '')
  {
        $myid = $attachment['attachmentid'];
     

    // now we display the files inside the torrent
        $subres = $db->query("SELECT * FROM " . TABLE_PREFIX . "files WHERE info_hash ='".$attachment['info_hash']."' ORDER BY fileid ASC");

        $s.="<table id='torrent$myid' class=\"tborder\" cellpadding=\"6\" cellspacing=\"1\" width=\"100%\" border=\"0\">\n";
        $s.="<thead><tr><td class=\"tcat\" colspan=\"7\"><a href=\"#top\" style=\"float:right\" ";
        $s .= " onclick=\"return toggle_collapse('torrent".$myid."')\">";
        $coll =  "collapseimg_torrent".$myid ;
        $s.= "<img id=\"collapseimg_torrent$myid\" src='".$stylevar[imgdir_button]."/collapse_alt".str_replace('_collapsed','',$vbcollapse[$coll]).".gif' alt=\"\" border=\"0\">";
        $s.="</a><strong><a href=\"#top\" onclick=\"return toggle_collapse('torrent".$myid."')\">Files</a></strong></td></tr></thead>\n";
        $s.="<tbody id=\"collapseobj_torrent".$myid."\" style=\"\">" ;
        $s.=" <tr><td class=\"alt1\" width=\"15%\"><div align=\"center\"><strong>Size</strong></div></td>
                  <td class=\"alt1\" width=\"70%\"><div align=\"center\"><strong>Filename</strong></div></td>
                  <td class=\"alt1\" width=\"15%\"><div align=\"center\"><strong>MD5</strong></div></td></tr>\n"  ;
        $i=0;


        while ($subrow = $db->fetch_array($subres))
        {
        $i++;
        if ($i % 2 == 0 )
        $s.= "<tr><td class=\"alt1\" width=\"15%\"><div align=\"center\">" . vb_number_format($subrow["size"], 1, true) . "</div></td>
                  <td class=\"alt1\" width=\"85%\"><div align=\"center\">" . $subrow["filename"] ."</div></td>
                  <td class=\"alt1\" width=\"15%\"><div align=\"center\">" . $subrow["md5sum"] . "</div></td></tr>\n";
        else    $s.= "<tr><td class=\"alt2\" width=\"15%\"><div align=\"center\">" . vb_number_format($subrow["size"], 1, true) . "</div></td>
                          <td class=\"alt2\" width=\"85%\"><div align=\"center\">" . $subrow["filename"] ."</div></td>
                          <td class=\"alt2\" width=\"15%\"><div align=\"center\">" .$subrow["md5sum"] . "</div></td></tr>\n";
        }

        $s.= "</tbody>\n</table>\n";
        $s.="<script type='text/javascript'> toggle_collapse('torrent$myid');</script>";

//now we display seeds/peers on this torrent

        $downloaders = array();
        $seeders = array();

        $subres = $db->query("SELECT agent, ulspeed, dlspeed, seeder, ip, port, uploaded, downloaded, to_go, UNIX_TIMESTAMP(started) AS st, connectable, UNIX_TIMESTAMP(last_action) AS la FROM peers WHERE info_hash = '".$attachment[info_hash]."' ") ;

        while ($subrow = $db->fetch_array($subres))
                {
                    if ($subrow["seeder"] == "yes")
                        $seeders[] = $subrow;
                    else
                        $downloaders[] = $subrow;
                }


        usort($seeders, "seed_sort");
        usort($downloaders, "leech_sort");


        $s.="<table class=\"tborder\" cellpadding=\"6\" cellspacing=\"1\" width=\"100%\" border=\"0\">\n";
        $s.="<thead>\n";
        $s.="<tr><td class=\"tcat\" colspan=\"9\">\n";
        $s.="<a href=\"#top\" style=\"float:right\"  onclick=\"return toggle_collapse('tpeers$myid')\">";
        $coll =  "collapseimg_tpeers".$myid ;
        $s.="<img id=\"collapseimg_tpeers$myid\" src='".$stylevar[imgdir_button]."/collapse_alt".str_replace('_collapsed','',$vbcollapse[$coll]).".gif' alt=\"\" border=\"0\"></a> ";
        $s.="<strong><a href=\"#top\" onclick=\"return toggle_collapse('tpeers$myid')\">Statistics</a></strong>";
        $s.="</td></tr>";
        $s.="</thead>";
        $s.="<tbody id=\"collapseobj_tpeers$myid\" style=\"\">"  ;
        $s.="<tr><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>User</strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Connected</strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Downloaded</strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Uploaded</strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Ratio<strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Progress<strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>UL Speed<strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>DL Speed<strong></div></td><td class=\"alt1\" width=\"10%\"><div align=\"center\"><strong>Agent<strong></div></td></tr>";



        $s.=dltable("Seeder(s)", $seeders,$attachment[size]) ;
        $s.=dltable("Leecher(s)", $downloaders,$attachment[size]) ;



        $s.="</tbody></table>";
        $s.="<script type='text/javascript'> toggle_collapse('tpeers$myid'); </script>";


// advanced stats
                  $s.="<table id='detail$myid' class=\"tborder\" cellpadding=\"6\" cellspacing=\"1\" width=\"100%\" border=\"0\">\n";
        $s.="<thead><tr><td class=\"tcat\" colspan=\"5\"><a href=\"#top\" style=\"float:right\" ";
        $s .= " onclick=\"return toggle_collapse('detail".$myid."')\">";
        $coll =  "collapseimg_detail".$myid ;
        $s.= "<img id=\"collapseimg_detail$myid\" src='".$stylevar[imgdir_button]."/collapse_alt".str_replace('_collapsed','',$vbcollapse[$coll]).".gif' alt=\"\" border=\"0\">";
        $s.="</a><strong><a href=\"#top\" onclick=\"return toggle_collapse('detail".$myid."')\">More details on torrent</a></strong></td></tr></thead>\n";
        $s.="<tbody id=\"collapseobj_detail".$myid."\" style=\"\">" ;
        $s.=" <tr><td class=\"alt1\" width=\"75%\">";

        $s .= "<strong><u>Created By:</u></strong><br>";
        $s .= $attachment[created_by];

        $s .= "<br><br><strong><u>Comment:</u></strong><br>";
        if ($attachment[comment] != "")
        $s .= $attachment[comment];
        else $s .= "No comment for this torrent";

        $s .= "<br><br><strong><u>Announce List:</u></strong><br>";
        $s .= $attachment[announce_list];
       
        $s .= "<br><br><strong><u>Completed by:</u></strong><br>";

        if ($attachment[completed_by] = '".$passkey."')
        {       
                if ($attachment[completed_by]{0} == ";")
                        $attachment[completed_by] = substr($attachment[completed_by],1);
                       
                $query_user = $db->query("SELECT userid,username FROM " . TABLE_PREFIX . "user WHERE userid IN (" .str_replace(";",", ",$attachment[completed_by]). ")");
            while ($result_user = $db->fetch_array($query_user) )
                {   
                $s .= '<a href="member.php?u='.$result_user['userid'].'">'.$result_user['username'].'</a>, ';
                }
               
                $s = substr($s,0,-2)."</td>";
        }
        else
        {
                $s .= "Nobody has completed this torrent yet !</td>";
        }
       
                $s.="<td width=\"25%\" align=\"right\">";
               
                require_once("charts.php");
       
                //insert the charts.swf flash file into the web page
                //tell charts.swf to get the chart's data from sample.php created in the first step
                $s.= InsertChart ( "charts.swf", "torrent.php?id=".$attachment['attachmentid'],200,200,"f5f5ff");
               
                $s .= "</td></tr>\n"  ;
        $i=0;


        $s.= "</tbody>\n</table>\n";
        $s.="<script type='text/javascript'> toggle_collapse('detail$myid');</script>";

        $attachment[tstats] = "<b>Full Size:</b> ".mksize($attachment[size], 1, true).", <b>Seeders:</b> ".$attachment[seeders].", <b>Leechers:</b> ".$attachment[leechers].", <b>Completed:</b> ".$attachment[completed].", <b>UL Speed:</b> ".mksize($attachment[ulspeed], 1, true)."/s" .", <b>DL Speed:</b> ".mksize($attachment[dlspeed], 1, true)."/s" ." ";
        $attachment[torrentinfo] = $s;
}


Revpolar 10-20-2006 03:49 PM

I use Xbt myself thanks.
Also my stats wont update. Shows no seeds ect.
I had a small problem with one of the file edits also.
Code:

9) Open showthread.php
--------------------------------
FIND:
--------------------------------

        // load attachments
        if ($thread['attach'])
        {
                $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
                ");
--------------------------------
AND REPLACE IT WITH:
--------------------------------

        // load attachments
        if ($thread['attach'])
        {
                $attachments = $db->query_read("
                        SELECT info_hash, size,comment,created_by,announce_list,completed_by, completed, seeders, leechers, ulspeed, dlspeed, 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
                ");

I had to change size to filesize.

toolmanwill 10-20-2006 04:52 PM

hum yeah that would work, never thought of that altho its not reporting the size I need, the actual size of the files in the torrent should be there, hence the size query. filesize is the size of the .torrent attachment.

Hopefully somebody can possibly figure out a workaround for the ambiguious size field error. I'm fresh outta ideas on that one.

Revpolar 10-20-2006 05:22 PM

I get the correct size of the files in the dropdown menu. But the size of the torrent is correct as they are usually only a a few kb. I hope that makes sense to you.

Example: The torrent file I am using is 22kb which is correct in my postbit.
In the dropdown for torrent info it shows a list of files. The one metioned above has one file which is 1.88GB which is correct.

So any idea why my stats wont update? It wont show me seeding when I am. Also the site Im doing this on has thousand of zip attachments. Every one of them shows a torrent stats section under the zips. Very annoying. Im using XBT not PHP. Tommorrow Id like to catch you on MSN or something. I have some thoughts for you.

toolmanwill 10-20-2006 06:13 PM

msn = vze27hv5@verizon.net
yahoo = wvatschool

I've got a new release coming by sunday which will include all bugfixes as well as additional features.

Revpolar 10-20-2006 06:20 PM

thank you.

toolmanwill 10-22-2006 02:45 AM

Quote:

Originally Posted by ericgtr
Okay, so it's built in for the php version, thanks. Also, I had the issue with forumdisplay where it gave me the "Column 'size' in field list is ambiguous" error. for anyone else installing this, here is the fix http://borget.info/forum/viewtopic.php?p=444#p444

We are going to start testing it on my board, I will report back on how it's working. Thanks again for this, toolmanwill. :)


That site is down but the fix is in showthread.php find:

Code:

        // load attachments
        if ($thread['attach'])
        {
                $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
                ");

replace with :

Code:

// load attachments
        if ($thread['attach'])
        {
                $attachments = $db->query_read("
                        SELECT info_hash, attachment.size,comment,created_by,announce_list,completed_by, completed, seeders, leechers, ulspeed, dlspeed, 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
                ");


Thanx to Rev for the fix!!!

eXtremeTim 10-22-2006 01:18 PM

I am also hard at work on a torrent tracker that wont rely on the forums and attachment systems. My torrent tracker will have unpresidented control over every aspect of it. As well as advanced reporting advanced perm controls and so much more. You will have the ability to ban users from downloading certain torrents as well as torrents in certain categories and so much more.

Not to mention ability to ban users from downloading torrents due to bad ratio and allow them to seed only.

toolmanwill 10-22-2006 03:17 PM

that will be interesting to see.

eXtremeTim 10-22-2006 05:54 PM

yea i have already figured out how to go about pulling everything off i just have to get the code finished but im not trying to rush it since its some complex code to pull off everything i want.

Revpolar 10-23-2006 04:55 AM

Quote:

Originally Posted by toolmanwill
Thanx to Rev for the fix!!!

No problem at all bud. BTW we managed to fix all known bugs including the Division By Zero error. That error occurs when using mysql older than 5.0.20 but we found a work around for it. It was cool to help out Will on this. The Vbulletin tracker works better than any of the other out there. I know because Ive used them all. Im only speaking for the XBT version that hasnt been released yet.

toolmanwill 10-31-2006 10:10 AM

Now in FINAL release.
VBTT 3 for XBT v1.0 FINAL - http://sourceforge.net/project/showf...ease_id=459292

LaCN 10-31-2006 11:43 AM

And that one is for vb 3.6.2 ?

And as someone asked in here earlier, what exactly is this torrent-tracker for, and how does it work ?
I know torrents are p2p-stuff... so where does the forum step in ?
And how does this involve the bandwith ?

toolmanwill 10-31-2006 01:41 PM

Yes this is for 3.6.x versions only.
What a torrent tracker does is it manages torrent downloads thru your vbulletin forum, allowing you to post new torrents by attaching them as a normal attachment. As far as bandwidth goes, I have made VBTT 3 for XBT to be as lean as possible and it uses existing db tables rather than using extra tables. It also has a lot of visual features that would pertain to a torrent tracker(uploaded/downloaded, ratio, ul/dl speeds, etc)


All times are GMT. The time now is 10:06 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.01417 seconds
  • Memory Usage 1,878KB
  • 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
  • (8)bbcode_code_printable
  • (10)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)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