vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   How To New Pages in vb style (https://vborg.vbsupport.ru/showthread.php?t=88565)

tomp 03-02-2004 10:00 PM

How To New Pages in vb style
 
Ok ive seen that alot of people have been asking how to create new pages with the vbulletin style on them like i have used on forum.imaedia.com for the link/games etc pages, so ive decided to write this to tell everyone how to do it

Ok i usualy start by creating a basic template in the admin cp that i will use for all the pages that im going to add.

log into your admin cp go to styles and templates then go to the style manager and expand the style that you are currently using on the right of the page you will see a drop down menu, select add new template from it and then you need to name it

for this example im naming mine : "test"

now we need to create a very basic html template to go in this template:

because im doing this quickly i just added any css i wanted to use onto this page instad of using the vbulletin css styles

ok so put the following into your temoplate and change the parts that say page name and page content to suit your needs :)

Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<!-- end no cache headers -->
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
<style type="text/css">
<!--
.top {
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-style: solid;
        border-top-color: #000000;
        border-right-color: #000000;
        border-bottom-color: #000000;
        border-left-color: #000000;
}
.all {
        border: 1px solid #000000;
        background-color: #FFFFFF;
}
-->
</style>

$headinclude </head> <body> $header $navbar
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="$stylevar[cellspacing]" class="all">
  <thead>
    <tr align="center">
      <td align="left" valign="top" class="thead">
<div align="left"></div>
        <div align="left">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
            <tr>
              <td class="tcat">**********Test Page**********</td>
            </tr>
            <tr>
              <td>********Page Content would go here :)**********</td>
            </tr>
          </table>
          <font size="2"><font face="Verdana, Arial, Helvetica, sans-serif"></font></font></div></td>
      <if condition="$vboptions[showmoderatorcolumn]"> </if> </tr>
  </thead>
  $forumbits
  <tbody>
  </tbody>
</table>
$footer
</body>
</html>

save the template.

The next step is to create the php file that will call the template,

Here is the code i used, to incldue the naviation and header/footer

Code:

<?php
 // ####################### SET PHP ENVIRONMENT ###########################
 error_reporting(E_ALL & ~E_NOTICE);
 
 // #################### DEFINE IMPORTANT CONSTANTS #######################
 define('NO_REGISTER_GLOBALS', 1);
 define('THIS_SCRIPT', 'yourscript');
 
 // ################### PRE-CACHE TEMPLATES AND DATA ######################
 // get special phrase groups
 $phrasegroups = array();
 
 // get special data templates from the datastore
 $specialtemplates = array();
 
 // pre-cache templates used by all actions
 $globaltemplates = array(
 'TEMPLATENAME'
 );
 
 // pre-cache templates used by specific actions
 $actiontemplates = array();
 
 // ######################### REQUIRE BACK-END ############################
 require_once('./global.php');
 
 // ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###
 
 eval('$navbar = "' . fetch_template('navbar') . '";');
 eval('print_output("' . fetch_template('TEMPLATENAME') . '");');
 
 
 ?>

rite now save that as a .php file, and upload it into your vbulletin root directory

then go to yourforumurl/pagename.php and you got yourself a non vb page with vb template on it

hope that helps post any questions, i prolli missed something or done something totaly wrong but hehe just trying to help :P

Ryan Ashbrook 03-03-2004 06:16 PM

Nice job, but I don't like the way you coded the PHP file, looks like you just threw it in there, un-organized so to speak.

But still good job. ^_^

MrNase 03-03-2004 07:06 PM

replace TEMPLATENAME with your template's name :) (it's 2 times on this file)

Code:

<?php
 // ####################### SET PHP ENVIRONMENT ###########################
 error_reporting(E_ALL & ~E_NOTICE);
 
 // #################### DEFINE IMPORTANT CONSTANTS #######################
 define('NO_REGISTER_GLOBALS', 1);
 define('THIS_SCRIPT', 'yourscript');
 
 // ################### PRE-CACHE TEMPLATES AND DATA ######################
 // get special phrase groups
 $phrasegroups = array();
 
 // get special data templates from the datastore
 $specialtemplates = array();
 
 // pre-cache templates used by all actions
 $globaltemplates = array(
 'TEMPLATENAME'
 );
 
 // pre-cache templates used by specific actions
 $actiontemplates = array();
 
 // ######################### REQUIRE BACK-END ############################
 require_once('./global.php');
 
 // ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###
 
 eval('$navbar = "' . fetch_template('navbar') . '";');
 eval('print_output("' . fetch_template('TEMPLATENAME') . '");');
 
 
 ?>


tomp 03-03-2004 08:05 PM

yea thats better hehe, alot nicer organised

MrNase 03-03-2004 09:53 PM

That's why i posted it ;)

Kier and his team made an amazing job in commenting all the functions and stuff you can find in that files so let's honor that work and use their comments :)

tomp 03-04-2004 06:09 AM

yea.....ill put that code into the first post aswell :)

Ryan Ashbrook 03-04-2004 06:20 PM

Now that is better! :) Nice job!

tomp 03-04-2004 09:47 PM

thanks, and thanks to MrNase too :)

hollyboy 05-12-2004 03:24 PM

white page seeing this



http://www.interfans.org/forum/rules.php

some of my members don't see this page. They get a white page.
Why?

JagFan 05-12-2004 03:39 PM

Thanks .. I really like this and have started using it!! :)

tomp 05-13-2004 09:45 AM

glad you like it

Quote:

http://www.interfans.org/forum/rules.php

some of my members don't see this page. They get a white page.
Why?
It works fine for me, so i have no idea, sorry

Arcanum 05-13-2004 10:16 AM

Okay but what about coding a .php file to handle more than 1 template?

Ryan Ashbrook 05-13-2004 11:56 AM

Quote:

Originally Posted by vdm
white page seeing this



http://www.interfans.org/forum/rules.php

some of my members don't see this page. They get a white page.
Why?

The template must be made on all styles. Your members who see a white are using a style without the template in it.

moley 08-07-2004 01:37 PM

Hi, i dont everything correctly and still i cannot see the page :S it comes up white....
can someone help please.

/moley

Beermonster 08-23-2004 09:08 AM

This looks like the same hack Livewire released on his forum :confused:

benj.w00t 09-23-2004 10:21 AM

how would i go about calling a post on a vbulletin powered page in the template ???

benj.w00t 09-27-2004 10:02 AM

any 1 *bump*

StevenIsProek 10-10-2004 06:17 AM

thanks works

Mokster 11-25-2004 12:02 AM

thanks! very helpful!!!

Mokster 11-28-2004 02:04 AM

actually i am having a problem, only users that are logged in are able to see this page, guests see a white screen with some text... see for yourself :/ http://www.torontogolfnuts.com/links.php

says:
Quote:

Unable to add cookies, header already sent.
File: /home2/golfnuts/public_html/links.php
Line: 1

Mokster 11-29-2004 05:57 PM

bump :)

TheEnd 11-29-2004 06:18 PM

1 Attachment(s)
Thanks a bunch.
I did EVERYTHING you said to do, but I get this

roster2.php
Code:

$headinclude </head> <body> $header $navbar
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="$stylevar[cellspacing]" class="all">
<thead>
<tr align="center">
<td align="left" valign="top" class="thead">
<div align="left"></div>
<div align="left">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td class="tcat">**********Test Page**********</td>
</tr>
<tr>
<td>********Page Content would go here **********</td>
</tr>
</table>
<font size="2"><font face="Verdana, Arial, Helvetica, sans-serif"></font></font></div></td>
<if condition="$vboptions[showmoderatorcolumn]"> </if> </tr>
</thead>
$forumbits
<tbody>
</tbody>
</table>
$footer
</body>
</html>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<!DOCTYPE html PUBLIC "-

Output in IE:
Code:

$headinclude $header $navbar **********Test Page**********
********Page Content would go here **********
 
$forumbits  $footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<!DOCTYPE html PUBLIC "-

The PHP file is located in my /forums/ directory. Is that a problem? I am trying to get a page that I can use HTML on and update about once every week that is linked from my VB Index on VB 3.0.0 RC4. I want all the VB Index stuff surrounding it, but have where normally is news to be a clan roster.

I eventually want to have multipul styles so I don't want to half-*** it.
I attached an image of what i'm trying to do. There might be an easier way. And no, I don't want to have a forum for each page and post the roster in a forum and have VB Index read it. I want to fully HTML whats inside each block (eg. block= roster)

The problem:
roster2.php

TheEnd 11-30-2004 06:16 PM

Ok, I got it working now. I copied it wrong. I edited it and it worked. Looks great!

Is there an easy way to get all the VB Index stuff on the side of the pages?

GetGamer.com 12-29-2004 07:18 PM

Is there a way to store my custom .php page in a non-forum directory?

Tony G 12-30-2004 01:25 AM

I don't think so considering all vBulletin data is read within the main directory.

Motoscene 02-08-2005 03:07 AM

I am getting a white page as well. Not sure what I did wrong. I copyed and pasted everything you typed and changed the TEMPLATE NAME to the correct template I have added. Also I created a php file as well. Do I need to change anything else besides TEMPLATE NAME to make this work. Sorry I am very new at this. But edger to learn it. Thanks, Chain

Jolten 02-08-2005 05:34 AM

Quote:

Originally Posted by GetGamer.com
Is there a way to store my custom .php page in a non-forum directory?

yes.. add

chdir('/server/path/to/forum/directory');

after

define('THIS_SCRIPT', 'yourscript');


in the php file.

Motoscene 02-09-2005 05:34 AM

Well I am still having problems with this wo if anyone could help me out that would be great. I go ahead and tell you the way I uploaded it to my site.

First made the template (rules) in my styles. Also when I did that it placed it under custom templates. I sure that is right but one thing is that it is the only templete that looks tabed out????
Rules Template
Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<!-- end no cache headers -->
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
<style type="text/css">
<!--
.top {
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-style: solid;
        border-top-color: #000000;
        border-right-color: #000000;
        border-bottom-color: #000000;
        border-left-color: #000000;
}
.all {
        border: 1px solid #000000;
        background-color: #FFFFFF;
}
-->
</style>

$headinclude </head> <body> $header $navbar
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="$stylevar[cellspacing]" class="all">
  <thead>
    <tr align="center">
      <td align="left" valign="top" class="thead">
<div align="left"></div>
        <div align="left">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
            <tr>
              <td class="tcat">**********Test Page**********</td>
            </tr>
            <tr>
              <td>********Page Content would go here :)**********</td>
            </tr>
          </table>
          <font size="2"><font face="Verdana, Arial, Helvetica, sans-serif"></font></font></div></td>
      <if condition="$vboptions[showmoderatorcolumn]"> </if> </tr>
  </thead>
  $forumbits
  <tbody>
  </tbody>
</table>
$footer
</body>
</html>

And here is the php file that I made with notepad:
PHP Code:

<?php
 
// ####################### SET PHP ENVIRONMENT ###########################
 
error_reporting(E_ALL & ~E_NOTICE);
 
 
// #################### DEFINE IMPORTANT CONSTANTS #######################
 
define('NO_REGISTER_GLOBALS'1);
 
define('THIS_SCRIPT''yourscript');
 
 
// ################### PRE-CACHE TEMPLATES AND DATA ######################
 // get special phrase groups
 
$phrasegroups = array();
 
 
// get special data templates from the datastore
 
$specialtemplates = array();
 
 
// pre-cache templates used by all actions
 
$globaltemplates = array(
 
'rules'
 
);
 
 
// pre-cache templates used by specific actions
 
$actiontemplates = array();
 
 
// ######################### REQUIRE BACK-END ############################
 
require_once('./global.php');
 
 
// ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###
 
 
eval('$navbar = "' fetch_template('navbar') . '";');
 eval(
'print_output("' fetch_template('rules') . '");');
 
 
 
?>


Jolten 02-09-2005 06:33 AM

you don't mention what the problems are.

Motoscene 02-09-2005 04:53 PM

oh sorry the problem is that I still get a white page like the others were getting. I not sure if I did all the code correctly.

Motoscene 02-11-2005 01:54 AM

Nevermind I don't know what I did but I got it to work. And thanks very much for showing me how to do this. I like this "how to". Thanks

Insert Username 01-18-2007 07:36 PM

Nothing like bumping a very old topic...

I've used this tutorial to create a page, and for the most part, it's working. But this part:

define('THIS_SCRIPT', 'yourscript');

What does 'yourscript' refer to? I'm not sure what to replace there.

jbrohan 01-20-2007 02:30 PM

Hello just feeling my way too...
I havce an insight and a question...
There are two places in the .php program where you must put the name of your script. If the .php program is calles say "wunderbar.php" then near the top of the program is define('THIS_SCRIPT', 'wunderbar');// note no .php

towards the end of the program you need
eval('print_output("' . fetch_template('wunderbar') . '");');

In my case the template is called wunderbar too so that things work.

My question.
I'd like to know the user name in the program wunderbar.php. I've jsut got it working a little.
I have a post with a link to my-forum/wunderbar.php If I click on the link it executes wunderbar.php. wunderbar.php calls the template script wuinderbar. I need some way to get the username in here.

I'd really like to put some dynamic content into the template script. Or perhaps have two templates, a top and a tail, and I'll put in the dynamic content in wunderbar.php.

John

pablo 03-25-2007 06:43 PM

Is there an updated version for 3.6.x ?

Lott 01-18-2008 09:02 PM

Ok I'm stumped

I have put in the php file betaform.php
http://askatech.autorepairdata.com/betaform.php
Modified the base template
Code:

<?php
 // ####################### SET PHP ENVIRONMENT ###########################
 error_reporting(E_ALL & ~E_NOTICE);

 // #################### DEFINE IMPORTANT CONSTANTS #######################
 define('NO_REGISTER_GLOBALS', 1);
 define('THIS_SCRIPT', 'yourscript');

 // ################### PRE-CACHE TEMPLATES AND DATA ######################
 // get special phrase groups
 $phrasegroups = array();

 // get special data templates from the datastore
 $specialtemplates = array();

 // pre-cache templates used by all actions
 $globaltemplates = array(
 'BetaForm'
 );

 // pre-cache templates used by specific actions
 $actiontemplates = array();

 // ######################### REQUIRE BACK-END ############################
 require_once('./global.php');

 // ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###

 eval('$navbar = "' . fetch_template('navbar') . '";');
 eval('print_output("' . fetch_template('BetaForm') . '");');


 ?>

I even installed the supplied template with no modifications.

Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<!-- end no cache headers -->
<title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title>
<style type="text/css">
<!--
.top {
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-style: solid;
        border-top-color: #000000;
        border-right-color: #000000;
        border-bottom-color: #000000;
        border-left-color: #000000;
}
.all {
        border: 1px solid #000000;
        background-color: #FFFFFF;
}
-->
</style>

$headinclude </head> <body> $header $navbar
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="$stylevar[cellspacing]" class="all">
  <thead>
    <tr align="center">
      <td align="left" valign="top" class="thead">
<div align="left"></div>
        <div align="left">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
            <tr>
              <td class="tcat">**********Test Page**********</td>
            </tr>
            <tr>
              <td>********Page Content would go here :)**********</td>
            </tr>
          </table>
          <font size="2"><font face="Verdana, Arial, Helvetica, sans-serif"></font></font></div></td>
      <if condition="$vboptions[showmoderatorcolumn]"> </if> </tr>
  </thead>
  $forumbits
  <tbody>
  </tbody>
</table>
$footer
</body>
</html>

And all I get is the white screen of death. I only use the default style on my board. Any help would be great. I really need this to work.

Opserty 01-19-2008 01:18 PM

You need to include global.php from your forum directory...

Change:
PHP Code:

 require_once('./global.php'); 

To:
PHP Code:

$cwd getcwd();
chdir('path/to/your/forums');
require_once(
'global.php');
chdir($cwd); 


Lott 02-27-2008 02:02 AM

Quote:

Originally Posted by Opserty (Post 1424433)
You need to include global.php from your forum directory...

Change:
PHP Code:

 require_once('./global.php'); 

To:
PHP Code:

$cwd getcwd();
chdir('path/to/your/forums');
require_once(
'global.php');
chdir($cwd); 


I have tried his the way I understand it, but maybe I am getting this wrong so I will throw in more info. I have been able to get the test pages to work and several live pages that live in the forum folder. But now I really need to put a php page in another folder.

Here is my folderstructure.

/rootfolder/forum

I want a php file to work in

/rootfolder/anotherfolder

So here is the code I am trying to use in my php file in /rootfolder/anotherfolder

PHP Code:

$cwd getcwd();
chdir('/rootfolder/forum');
require_once(
'global.php');
chdir($cwd); 

Can anyone spot a typo or syntax error.

Thanks if you can help.

BTW, I have dropped a straight HTML file in /rootfolder/anotherfolder and that works fine. The php files gives me a white screen and when I view the source all I see are the default html structure tags.

Opserty 02-27-2008 01:43 PM

Try:
PHP Code:

chdir('./../rootfolder/forum'); 

Notice the two dots, else try:
PHP Code:

chdir('../rootfolder/forum'); 


petteyg359 02-28-2008 02:46 PM

Code:

<?php
// ###SET PHP ENVIRONMENT###
error_reporting(E_ALL & ~E_NOTICE);
// ###DEFINE IMPORTANT CONSTANTS###
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'PHPFILENAMEWITHOUTEXTENSION'); // If your PHP file is goober.php, this should be goober
// ###PRE-CACHE TEMPLATES AND DATA###
// get special phrase groups
$phrasegroups = array(
);
// get special data templates from the datastore
$specialtemplates = array(
);
// pre-cache templates used by all actions
$globaltemplates = array(
    'INSERTTHENAMEOFTHETEMPLATEYOUAREUSINGHERE',
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
// ###REQUIRE BACK-END###
require_once('./global.php'); // If your PHP file is not in your root forum directory, then change this path.
// ###START MAIN SCRIPT###
$navbits = array();
$navbits[$parent] = 'EVEIT';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');

// ###YOUR PHP CODE###
// Put all your PHP code here. You want to store all output in variables,
// and then display those variables from the template, rather than echoing
// data directly from the PHP file. Anything output by this PHP file will screw
// up your layout and not follow the CSS and styles of your forum.
$outputvara = '<table width="50%"><tr><td>Hello</td><td>'
$outputvara .= $vbulletin->userinfo['username'].'</td></tr></table>';
// ###END OF YOUR PHP CODE###

// ###TEMPLATE OUTPUT###
eval('print_output("' . fetch_template('INSERTTHENAMEOFTHETEMPLATEYOUAREUSINGHERE') . '");');
?>

In your template, you then put

Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$header

$navbar

<!-- PUT YOUR CONTENT AFTER THIS -->
<if condition="is_member_of($bbuserinfo, array(2))">
<!-- If user if a member of group 2 ("Registered Users") display the content -->
<div>$outputvara</div>
<else />
<div>You aren't registered. Please register</div>
</if>
<!-- PUT YOUR CONTENT BEFORE THIS -->

$footer
</body>
</html>

You can use whatever you want to in your template, but these will at least give you a working start and shows where your code should actually be placed. If your post was the actual code you were using, seems like you had a few things out of order. You don't necessarily need anything at all in the "YOUR PHP CODE" section if you don't want to set any custom data, but you need the rest of the file.

If the code you posted is what you're actually using, you need to change the DEFINE 'yourscript' to the name of the PHP file, minus the .php extension.

Never2Day 02-29-2008 02:47 PM

I have no idea how to do this sorry I have managed to do the first part but the second code i have no idea what to do with where to put it or what i should do cause when i did put it onto a blank page i got errors.


All times are GMT. The time now is 06:22 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01534 seconds
  • Memory Usage 1,907KB
  • 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
  • (10)bbcode_code_printable
  • (8)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)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