The Arcive of vBulletin Modifications Site. |
|
![]() |
|||||||||||||||||||||||||
Here is the PHP code to add copy thread to postings.php. From there you just have to add a couple templates (you can pretty much copy and modify the move thread templates). Also, you have to add a "Copy Thread" link in showthreads.php.
postings.php: Code:
// ############################### start copy thread ############################### if ($action=="copy") { $threadid = verifyid("thread",$threadid); makeforumjump(); $threadinfo=$DB_site->query_first("SELECT title,forumid FROM thread WHERE threadid=$threadid"); if ($wordwrap!=0) { $threadinfo[title]=dowordwrap($threadinfo[title]); } $threadtitle=htmlspecialchars($threadinfo[title]); $forumid=$threadinfo[forumid]; $foruminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid=$threadinfo[forumid]"); $forumtitle=htmlspecialchars($foruminfo[title]); $username=$bbusername; $password=$bbpassword; $permissions=getpermissions($bbuserid,$bbusergroupid,$forumid); if ($permissions[canview]==0 or ($permissions[canmove]==0 and $permissions[canadminedit]==0)) { $firstpostinfo=$DB_site->query_first("SELECT userid FROM post WHERE threadid=$threadid ORDER BY dateline LIMIT 1"); eval("echo standarderror(\$bbtitle,\"".gettemplate("error_nopermission")."\");"); exit; } elseif ($permissions[canadminedit]==0) { $firstpostinfo=$DB_site->query_first("SELECT userid FROM post WHERE threadid=$threadid ORDER BY dateline LIMIT 1"); if ($bbuserid!=$firstpostinfo[userid]) { eval("echo standarderror(\$bbtitle,\"".gettemplate("error_nopermission")."\");"); exit; } } eval("echo dovars(\"".gettemplate("copy")."\");"); } // ############################### start do copy thread ############################### if ($action=="docopy") { //check valid username and password and get user id $userid=verifyusername($username,$password); $forumid = verifyid("forum",$forumid); $threadinfo=$DB_site->query_first("SELECT title,lastpost,forumid,open,replycount,postusername,lastposter,dateline,iconid,visible FROM thread WHERE threadid=$threadid"); $curforumid=$threadinfo[forumid]; $permissions=getpermissions($bbuserid,$bbusergroupid,$curforumid); if ($permissions[canview]==0 or ($permissions[canmove]==0 and $permissions[canadminedit]==0)) { $firstpostinfo=$DB_site->query_first("SELECT userid FROM post WHERE threadid=$threadid ORDER BY dateline LIMIT 1"); eval("echo standarderror(\$bbtitle,\"".gettemplate("error_nopermission")."\");"); exit; } elseif ($permissions[canadminedit]==0) { $firstpostinfo=$DB_site->query_first("SELECT userid FROM post WHERE threadid=$threadid ORDER BY dateline LIMIT 1"); if ($bbuserid!=$firstpostinfo[userid]) { eval("echo standarderror(\$bbtitle,\"".gettemplate("error_nopermission")."\");"); exit; } } // create new thread (copy) $title = $threadinfo[title]; $lastpost = $threadinfo[lastpost]; $open = $threadinfo[open]; $replycount = $threadinfo[replycount]; $postusername = $threadinfo[postusername]; $lastposter = $threadinfo[lastposter]; $dateline = $threadinfo[dateline]; $iconid = $threadinfo[iconid]; $visible = $threadinfo[visible]; $DB_site->query("INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,postusername,lastposter,dateline,iconid,visible) VALUES (NULL,'".addslashes($title)."',$lastpost,$forumid,$open,$replycount,'".addslashes($postusername)."','".addslashes($lastposter)."',$dateline,$iconid,$visible)"); $newthreadid=$DB_site->insert_id(); // copy posts $counter = 0; $posts=$DB_site->query("SELECT title,username,userid,dateline,pagetext,allowsmilie,email,signature,ipaddress,iconid,visible FROM post WHERE threadid=$threadid"); while ($post=$DB_site->fetch_array($posts)) { $counter++; $title = $post[title]; $username = $post[username]; $userid = $post[userid]; $dateline = $post[dateline]; $pagetext = $post[pagetext]; $allowsmilie = $post[allowsmilie]; $email = $post[email]; $signature = $post[signature]; $ipaddress = $post[ipaddress]; $iconid = $post[iconid]; $visible = $post[visible]; // create new post (for copy) $DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,email,signature,ipaddress,iconid,visible) VALUES (NULL,$newthreadid,'".addslashes($title)."','".addslashes($username)."',$userid,$dateline,'".addslashes($pagetext)."',$allowsmilie,$email,$signature,'".addslashes($ipaddress)."',$iconid,$visible)"); } indexthread($newthreadid); // update forum stuff $DB_site->query("UPDATE forum SET replycount=replycount+$counter,threadcount=threadcount+1 WHERE forumid=$forumid"); eval("echo standardredirect(\$bbtitle,\"".gettemplate("redirect_copythread")."\",\"showthread.php?threadid=$threadid\");"); } [Edited by ChadG on 10-16-2000 at 11:23 PM] Show Your Support
|
Comments |
#2
|
|||
|
|||
![]()
Nice!
![]() |
#3
|
|||
|
|||
![]()
Thought some of you may like that. Sorry the title didn't have [RELEASE] in it. I'm new to this forum and it's "conventions".
-ChadG |
#4
|
|||
|
|||
![]()
Forum FAQ:
Q: Can I make a [request]? A: As long as you don't put [request] in your subject ![]() Q: How do I include vb info in a non-vb page? A: read the other threads Q: Why are the smilies yellow? A: Ask James ![]() Q: Why does Ed Sullivan have so many names? A: Good question ![]() ![]() |
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|