Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
vbBux / vbPlaza v1.5.8 (Points + Store System) Details »»
vbBux / vbPlaza v1.5.8 (Points + Store System)
Version: 1.5.8, by CMX_CMGSCCC CMX_CMGSCCC is offline
Developer Last Online: Sep 2014 Show Printable Version Email this Page

Category: Major Additions - Version: 3.5.4 Rating:
Released: 02-01-2006 Last Update: 07-13-2006 Installs: 771
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

vbBux / vbPlaza v1.5.8 by CMX (http://www.cmgsccc.com)
Official Homepage - http://www.vbplaza.com

v1.5.7 AND HIGHER are now compatible with vBulletin v3.5.x and v3.6.x

Welcome to the largest points/store system for vBulletin! READ THE ENTIRE POST AGAIN AS THERE HAVE BEEN CHANGES SINCE THE CONVERSION TO vbBux / vbPlaza!!

Credits: MrZeropage for ibProArcade Support, John for v3 Arcade Support, Caimakale for various additions including ribbons and his other addons for vbPlaza, defi for the addon for Paypal Subscriptions.

New Premium Modification Forum: https://vborg.vbsupport.ru/forumdisplay.php?f=171
If you post a new thread in there, it will be easier to track the answer to your thread folks!

Now with 135 Options for purchasing at your forums and this is still rising folks!

NOTE: As of this version, there is a Template Patcher helper inside the Admin CP. Admin CP -> vbPlaza Maintenance -> Auto Patch Templates, when you run this the first time, it will just list the changes that it has found/not found. If you press Attempt Auto Patches, it will modify the template changes it has found only. It will also modify all styles for your forums. I have tested this on all 3 of my licensed vBulletin production websites and the patches all worked great.

UPDATED MUST READ NOTES:
1) RE-READ THE UPGRADING OR NEW INSTALLATION INSTRUCTIONS AS THEY HAVE CHANGED FROM THE PREVIOUS VERSIONS!!
2) IF UPGRADING FROM A PREVIOUS VERSION OF eBux / eStore. YOU MUST INSTALL THIS ONE FIRST TO SAVE YOUR SETTINGS. (BUT YOU WOULD KNOW THIS IF YOU READ THE UPGRADING INSTRUCTIONS!! DONT SAY I DIDNT WARN YOU!!)

Branding Free Option
If you have donated in the past, you can get the Branding Free Option for Free by sending CMX a PM on the http://www.vbplaza.com/forums Message Board.
Otherwise, you will need to purchase it by signing up for an account at http://www.vbplaza.com/forums/register.php and then going to http://www.vbplaza.com/forums/payments.php

Features List:
This section has been moved due to its length. Look in the file included insize the zip named features.txt.

Release Notes:
This section will only show the most recent changes. For the rest of the changes, look in the file included inside the zip named changes.txt.

NOTE: If you want ibProArcade, v3 Arcade or vBookie integration now, you'll have to install the appropriate Addon included in the download. The reason for these parts being packaged as Addons, is to make the install a little smaller for users who do not have an Arcade, and because both Arcades cant be installed simultaneously as well. So it saves space only installing the one that you currently have.

v1.5.8 Updates:
1) Bugfix: Quick editing a post with BB Codes, modified the post directly instead of modifying a copy.
2) Bugfix: Some phrases fixed.
3) Bugfix: TABLEPREFIX bug has been fixed.
4) Bugfix: Addon Product XML sheets do not have executionorder in them anymore for vB 3.5 compatibility.

Database Backups Recommended!
Although I have upgraded 3 forums with this script already, it IS recommended that you backup your database before installing this product!!

Upgrading Instructions:
NOTE: THESE INSTRUCTIONS ARE FOR UPGRADING IF YOU HAD A PREVIOUS VERSION OF eBux / eStore INSTALLED!!
1) DO NOT UNINSTALL eBux / eStore (UNLESS YOU WANT TO LOSE ANY AND ALL SETTINGS.)
2) Reupload all of the files in the upload folder to your forum's root folder. Make sure that all files are being overwritten. Do not move on to the next step until all files are transferred successfully!
NOTE: It could take a long time to install if you have a lot of registered users, be PATIENT! It should display the messages as it goes along to let you know that it IS working.
3) After finished with step 2!! Reimport the product-vbbuxplaza.xml file via Admin CP -> Plugin System -> Manage Products -> Add/Import Product. Make sure that Allow Overwrite is set to YES.
4) Refresh the Admin CP and you will see all of the vbBux / vbPlaza Admin CP features at the top.
5) UNINSTALL THE OLD eBux / eStore NOW!! Go to Admin CP -> Plugin System -> Manage Products -> eBux / eStore -> Uninstall.
6) You can delete all files/folders that have the word estore or elottery in them from the FTP as well.
7) You will need to redo the template edits listed below as almost all of them have changed since the previous eBux / eStore.

If upgrading from a previous version of vbBux / vbPlaza follow these instructions:
1) Reupload all of the files in the upload folder to your forum's root folder. Make sure that all files are being overwritten. Do not move on to the next step until all files are transferred successfully!
2) After finished with step 2!! Reimport the product-vbbuxplaza.xml file via Admin CP -> Manage Products -> Add/Import Product. Make sure that Allow Overwrite is set to YES.
3) Refresh the Admin CP and get to checking your settings!
NOTE: You will be happy know that NO templates have been updated from v1.5.0 to v1.5.2!

New Installation Instructions:
1) Upload all of the files/folders in the UPLOAD folder to your forum's root folder.
2) Import the product-vbbuxplaza.xml via Admin CP -> Manage Products -> Add/Import Product.
NOTE: It could take a long time to install if you have a lot of registered users, be PATIENT! It should display the messages as it goes along to let you know that it IS working.
3) Refresh the Admin CP and start setting up your settings!
4) You will need to do all of the template edits listed below as well.

Template Edits:
A) Inside templates 'postbit' AND 'postbit_legacy':

Find:
Code:
<div id="postmenu_$post[postid]">
Replace With:
Code:
<!-- vbPlaza start -->
<div id="postmenu_$post[postid]" <if condition="$post['namestyle']">style="$post[namestyle]"</if>>
<!-- vbPlaza end -->
Next Find:
Code:
<if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
<if condition="$post['usertitle']"><div class="smallfont" <if condition="$post['titlestyle']">style="$post[titlestyle]"</if>>$post[usertitle]</div></if>
<!-- vbPlaza end -->
Then Find:
Code:
$vbphrase[posts]: $post[posts]
Replace With:
Code:
$vbphrase[posts]: $post[posts]
<!-- vbPlaza start -->
<if condition="$show['pointsinpostbit']"><br />
$vbphrase[vbbux_points]: $post[points]<br />
$vbphrase[vbbux_bank]: $post[bank]<br />
<phrase 1="$vbphrase[vbbux_points]">$vbphrase[vbbux_total_points]</phrase>: $post[totalpoints]<br />
<a href="vbplaza.php?do=donate&amp;userid=$post[userid]">$vbphrase[vbplaza_donate]</a><br />
</if>
<!-- vbPlaza end -->
Then Find:
Code:
				<div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div>
Add Below:
Code:
<!-- vbPlaza start -->
				<if condition="$post['giftsdisplay']"><div class="smallfont">$post[giftsdisplay]</div></if>
				<if condition="$post['ribbonsdisplay']"><div class="smallfont">$post[ribbonsdisplay]</div></if>
<!-- vbPlaza end -->
B) Inside template 'navbar':

Find:
Code:
		<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
		<if condition="$show['popups']">
Add Below:
Code:
<!-- vbPlaza start -->
			<if condition="$show['member']">
				<if condition="$vboptions['vbplaza_enabled']"><td id="vbplazamenu" class="vbmenu_control"><a href="$show[nojs_link]#vbplazamenu">$vbphrase[vbplaza_name] $vbphrase[vbplaza_menu]</a> <script type="text/javascript"> vbmenu_register("vbplazamenu"); </script></td></if>
			</if>
<!-- vbPlaza end -->
Then Find:
Code:
<!-- / NAVBAR POPUP MENUS -->
Add Above:
Code:
<!-- vbPlaza start -->
	<if condition="$show['member']">
	<!-- vbplaza tools menu -->
	<div class="vbmenu_popup" id="vbplazamenu_menu" style="display:none">
		<table cellpadding="4" cellspacing="1" border="0">

		<tr><td class="thead"><a href="vbplaza.php?$session[sessionurl]">$vbphrase[vbplaza_name] $vbphrase[vbplaza_main]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=48">$vbphrase[vbplaza_lottery]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=27">$vbphrase[vbplaza_give_gifts]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=118">$vbphrase[vbplaza_give_ribbons]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=13">$vbphrase[vbbux_bank]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=7">$vbphrase[vbplaza_donate]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=16">$vbphrase[vbplaza_thief]</a></td></tr>

		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=richestusers">$vbphrase[vbbux_richest_users]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=userhistory">$vbphrase[vbplaza_history]</a></td></tr>
		<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=mostsold">$vbphrase[vbplaza_most_sold]</a></td></tr>

		<if condition="is_member_of($vbulletin->userinfo, $vboptions['vbplaza_adminusergroups'])">
			<tr><td class="thead">$vbphrase[vbplaza_admin_only]</a></td></tr>
			<tr><td class="vbmenu_option"><a href="vbplaza.php?$session[sessionurl]do=action&amp;itemid=12">$vbphrase[vbplaza_admin_donate]</a></td></tr>
		</if>

		</table>
	</div>
	<!-- / vbplaza tools menu -->
	</if>
<!-- vbPlaza end -->
C) Inside template 'MEMBERINFO':

Find:
Code:
				<div class="bigusername">$userinfo[musername] $userinfo[onlinestatus]</div>
Replace With:
Code:
<!-- vbPlaza start -->
				<div class="bigusername" <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>>$userinfo[musername] $userinfo[onlinestatus]</div>
<!-- vbPlaza end -->
Next Find:
Code:
				<if condition="$userinfo['usertitle']"><div class="smallfont">$userinfo[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
				<if condition="$userinfo['usertitle']"><div class="smallfont" <if condition="$userinfo['titlestyle']">style="$userinfo[titlestyle]"</if>>$userinfo[usertitle]</div></if>
<!-- vbPlaza end -->
Then Find:
Code:
			<if condition="$vboptions['usereferrer']">
Add Above:
Code:
<!-- vbPlaza start -->
			<if condition="$vboptions['vbbux_enabled']">$show[vbbuxuserinfo]</if>
			<if condition="$show['gifts']">$show[gifts]</if>
			<if condition="$show['ribbons']">$show[ribbons]</if>
<!-- vbPlaza end -->
D) Inside template 'forumrules':

Find:
Code:
		<div><phrase 1="$htmlcodeon">$vbphrase[html_code_is_x]</phrase></div>
Add Below:
Code:
<!-- vbPlaza start -->
		<if condition="$vboptions['vbbux_enabled']">
			<if condition="!$show['codeonly']">
			<hr />
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perview]">$vbphrase[vbbux_points_perview]</phrase></div>
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perthread]">$vbphrase[vbbux_points_perthread]</phrase></div>
			<div><phrase 1="$vbphrase[vbbux_points]" 2="$foruminfo[points_perreply]">$vbphrase[vbbux_points_perreply]</phrase></div>
			</if>
		</if>
<!-- vbPlaza end -->
E): Inside template 'USERCP_SHELL':

Find:
Code:
<if condition="$show['avatarlink']">
Add Above:
Code:
<!-- vbPlaza start -->
<if condition="$vboptions['vbplaza_enabled']">
	<tr>
		<td class="$navclass[vbplaza]" nowrap="nowrap"><a class="smallfont" href="vbplaza.php?$session[sessionurl]do=editvbpoptions"><phrase 1="$vbphrase[vbplaza_name]">$vbphrase[edit_vbplaza_options]</phrase></a></td>
	</tr>
</if>
<!-- vbPlaza end -->
F): Inside template 'threadbit':

Find:
Code:
		$thread[title_editable]
		<div>
Replace With:
Code:
<!-- vbPlaza start -->
		$thread[title_editable]
		<div <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>
<!-- vbPlaza end -->
vBulletin 3.5.x Only Edit:

Next Find:
Code:
			<if condition="$show['gotonewpost']">
				<strong><a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]">$thread[threadtitle]</a></strong>
			<else />
				<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]">$thread[threadtitle]</a>
			</if>
Replace With:
Code:
<!-- vbPlaza start -->
			<if condition="$show['gotonewpost']">
				<strong><a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]" <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a></strong>
			<else />
				<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]" <if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a>
			</if>
<!-- vbPlaza end -->

vBulletin 3.6.x Only Edit:

Next Find:
Code:
			<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]"<if condition="$show['gotonewpost']"> style="font-weight:bold"</if>>$thread[threadtitle]</a>
Replace With:
Code:
			<a href="showthread.php?$session[sessionurl]t=$thread[threadid]$thread[highlight]" id="thread_title_$thread[realthreadid]"<if condition="$thread['titlestyle']">style="$thread[titlestyle]"</if>>$thread[threadtitle]</a>
G): Inside template 'memberlist_resultsbit':

Find:
Code:
		<a href="member.php?$session[sessionurl]u=$userinfo[userid]">$userinfo[musername]</a>
		<if condition="$show['usertitlecol']"><div class="smallfont">$userinfo[usertitle]</div></if>
Replace With:
Code:
<!-- vbPlaza start -->
		<div <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>><a href="member.php?$session[sessionurl]u=$userinfo[userid]" <if condition="$userinfo['namestyle']">style="$userinfo[namestyle]"</if>>$userinfo[musername]</a></div>
		<if condition="$show['usertitlecol']"><div class="smallfont" <if condition="$userinfo['titlestyle']">style="$userinfo[titlestyle]"</if>>$userinfo[usertitle]</div></if>
<!-- vbPlaza end -->
-CMX

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #3252  
Old 04-21-2006, 02:57 AM
Dark Riku Dark Riku is offline
 
Join Date: May 2005
Posts: 83
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey guys, I Couldent look through ALL The pages so imma try this question, Is there an option where if someone buys something from the system (Specific item) It pm's the Admins that it was bought?
Reply With Quote
  #3253  
Old 04-21-2006, 03:31 AM
Soljah's Avatar
Soljah Soljah is offline
 
Join Date: Feb 2006
Posts: 37
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I uploaded all of the files. I have done it twice already.
Reply With Quote
  #3254  
Old 04-21-2006, 11:23 AM
fly fly is offline
 
Join Date: Oct 2003
Posts: 1,215
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

THERE IS A SUPPORT FORUM FOR THIS HACK. THIS THREAD IS NOT THE SUPPORT FORUM. thx
If you don't know where the support forum is, see the very first post at the top of every plage.
Reply With Quote
  #3255  
Old 04-21-2006, 09:23 PM
pseudocode pseudocode is offline
 
Join Date: May 2002
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome!!
Reply With Quote
  #3256  
Old 04-22-2006, 06:12 AM
DevinM DevinM is offline
 
Join Date: Mar 2006
Location: The Bayou
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I went to the support forums but it appears none of the support requests are actually getting answered.
Reply With Quote
  #3257  
Old 04-22-2006, 12:08 PM
Tyegurl's Avatar
Tyegurl Tyegurl is offline
 
Join Date: Mar 2006
Location: NY
Posts: 480
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DevinM
I went to the support forums but it appears none of the support requests are actually getting answered.
he answered my problem.....be patient....lots of threads to answer.
Reply With Quote
  #3258  
Old 04-22-2006, 01:36 PM
Ski-Whiz's Avatar
Ski-Whiz Ski-Whiz is offline
 
Join Date: May 2003
Posts: 214
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DevinM
I went to the support forums but it appears none of the support requests are actually getting answered.

First off, this is one of the BEST supported and written hacks (especially since it's FREE) on 3.5.x...

Secondly, CMX replies to just about every thread in that forum. So please be patient.

There isn't a more supported and updated hack on 3.5.x.....
Reply With Quote
  #3259  
Old 04-23-2006, 01:01 AM
Shuichi Shuichi is offline
 
Join Date: Apr 2006
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey. I installed this hack, and it works GREAT! ^_^ Only, when I try to access the Ribbons or Gifts links, it tells me that I do not have the permission to purchase those items, despite me saving it as giving me permission.

Any idea's how to fix? ^^
Reply With Quote
  #3260  
Old 04-23-2006, 02:02 AM
defcon_420's Avatar
defcon_420 defcon_420 is offline
 
Join Date: Jun 2004
Location: next to you
Posts: 116
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Shuichi
Hey. I installed this hack, and it works GREAT! ^_^ Only, when I try to access the Ribbons or Gifts links, it tells me that I do not have the permission to purchase those items, despite me saving it as giving me permission.

Any idea's how to fix? ^^
https://vborg.vbsupport.ru/showpost....postcount=3253
Reply With Quote
  #3261  
Old 04-23-2006, 05:36 AM
Zia's Avatar
Zia Zia is offline
 
Join Date: Dec 2005
Location: golpo.net
Posts: 931
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmm hi..
wondering..

Quote:
The vbBux / vbPlaza Product XML you have imported does not match the same Version number as the PHP files uploaded. Please reupload all PHP files to your forum's root folder. Then re-import the Product XML file with Allow Overwrite set to Yes.
still facing it...in the support forum..there are also no solution for this....

what to do now?
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:19 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.06159 seconds
  • Memory Usage 2,353KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (30)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (5)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete