10-16-2000, 01:24 PM
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:
// ############################### 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,$bbusergroup id,$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,postusernam e,lastposter,dateline,iconid,visible FROM thread WHERE threadid=$threadid");
$curforumid=$threadinfo[forumid];
$permissions=getpermissions($bbuserid,$bbusergroup id,$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,p ostusername,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,allowsmili e,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,pa getext,allowsmilie,email,signature,ipaddress,iconi d,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=threadc ount+1 WHERE forumid=$forumid");
eval("echo standardredirect(\$bbtitle,\"".gettemplate("redirect_copythread")."\",\"showthread.php?threadid=$threadid\");");
}
-ChadG
[Edited by ChadG on 10-16-2000 at 11:23 PM]
postings.php:
// ############################### 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,$bbusergroup id,$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,postusernam e,lastposter,dateline,iconid,visible FROM thread WHERE threadid=$threadid");
$curforumid=$threadinfo[forumid];
$permissions=getpermissions($bbuserid,$bbusergroup id,$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,p ostusername,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,allowsmili e,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,pa getext,allowsmilie,email,signature,ipaddress,iconi d,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=threadc ount+1 WHERE forumid=$forumid");
eval("echo standardredirect(\$bbtitle,\"".gettemplate("redirect_copythread")."\",\"showthread.php?threadid=$threadid\");");
}
-ChadG
[Edited by ChadG on 10-16-2000 at 11:23 PM]