/admin/attachrenew.php
https://github.com/maddogfyg/itangyou · PHP · 151 lines · 148 code · 3 blank · 0 comment · 23 complexity · e10f7fdf3bf36fbf0638c10a663e20fb MD5 · raw file
- <?php
- !function_exists('adminmsg') && exit('Forbidden');
-
- $basename="$admin_file?adminjob=attachrenew";
- ($attach_url || $db_ifftp) && adminmsg('attachrenew_forbidden');
-
- if(empty($_POST['action'])){
- InitGP(array('S_start','orderway'));
- $rs = $db->get_one("SELECT COUNT(*) AS count FROM pw_attachs");
- $A_count = $rs['count'];
- $threaddb = array();
- if($A_count!=0){
- $P_N = 1000;
- $A_C = ceil($A_count/$P_N);
- $L_N = $P_N-$A_C*$P_N+$A_count;
- $S_end = $L_N;
- for($i=1;$i<=$A_C;$i++){
- $num = ($i-1)*$P_N;
- $E_num = $i==$A_C ? $num+$L_N : $num+$P_N;
- $S_num = "$num To $E_num";
- $A_option.="<option value=$i>$S_num</option>";
- }
- !$S_start && $S_start=1;
- $S_start==$A_C ? $S_end=$L_N : $S_end=$P_N;
- $start_limit=($S_start-1)*$P_N;
- $orderway!='size' && $orderway='aid';
- $query=$db->query("SELECT aid,fid,name,size,attachurl FROM pw_attachs ORDER BY $orderway".pwLimit($start_limit,$S_end));
-
- while($attach=$db->fetch_array($query)){
- if(!file_exists("$attachdir/$attach[attachurl]")){
- $thread['aid']=$attach['aid'];
- $thread['size']=$attach['size'];
- $thread['url']=$attach['attachurl'];
- $thread['name']=$attach['name'];
- $thread['where']="thread.php?fid=$fid";
- $threaddb[]=$thread;
- }
- }
- }
- include PrintEot('attachrenew');exit;
- } else{
- $count = 0;
- $ttable_a = array('pw_tmsgs');
- if($db_tlist){
- $tlistdb = unserialize($db_tlist);
- foreach($tlistdb as $key=>$val){
- $ttable_a[] = 'pw_tmsgs'.$key;
- }
- }
- foreach($ttable_a as $pw_tmsgs){
- $query=$db->query("SELECT t.fid,t.tid,t.authorid,aid FROM $pw_tmsgs tm LEFT JOIN pw_threads t ON t.tid=tm.tid WHERE aid<>''");
- while($aids=$db->fetch_array($query)){
- $attachs= unserialize(stripslashes($aids['aid']));
- if(is_array($attachs)){
- $update=0;
- foreach($attachs as $key=>$attach){
- if($attach['attachurl'] && file_exists($attachdir.'/'.$attach['attachurl'])){
- $check=$db->get_one("SELECT aid FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- if(!$check){
- $uploadtime=pwFilemtime($attachdir.'/'.$attach['attachurl']);
- $count++;
- $db->update("INSERT INTO pw_attachs"
- . " SET " . pwSqlSingle(array(
- 'aid' => $attach['aid'], 'fid' => $aids['fid'],
- 'uid' => $aids['authorid'], 'tid' => $aids['tid'],
- 'pid' => 0, 'name' => $attach['name'],
- 'type' => $attach['type'], 'size' => $attach['size'],
- 'attachurl' => $attach['attachurl'],'hits' => $attach['hits'],
- 'needrvrc' => $attach['needrvrc'], 'uploadtime'=> $uploadtime,
- 'descrip' => $attach['desc']
- ),false));
- }
- } else{
- $count++;
- $check=$db->get_one("SELECT aid FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- if($check){
- $db->update("DELETE FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- }
- $update=1;
- unset($attachs[$key]);
- }
- }
- if($update){
- $attachs=$attachs ? serialize($attachs):'';
- $db->update("UPDATE $pw_tmsgs SET aid=".pwEscape($attachs,false)."WHERE tid=".pwEscape($aids['tid']));
- }
- } else{
- $count++;
- $db->update("UPDATE $pw_tmsgs SET aid='' WHERE tid=".pwEscape($aids['tid']));
- }
- }
- }
- $ptable_a = array('pw_posts');
- if($db_plist){
- $p_list=explode(',',$db_plist);
- foreach($p_list as $val){
- $ptable_a[] = 'pw_posts'.$val;
- }
- }
- foreach($ptable_a as $pw_posts){
- $query=$db->query("SELECT fid,tid,authorid,aid FROM $pw_posts WHERE aid<>''");
- while($aids=$db->fetch_array($query)){
- $attachs= unserialize(stripslashes($aids['aid']));
- if(is_array($attachs)){
- $update=0;
- foreach($attachs as $key=>$attach){
- if($attach['attachurl'] && file_exists($attachdir.'/'.$attach['attachurl'])){
- $check=$db->get_one("SELECT aid FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- if(!$check){
- $uploadtime=pwFilemtime($attachdir.'/'.$attach['attachurl']);
- $count++;
- $db->update("INSERT INTO pw_attachs"
- . " SET " . pwSqlSingle(array(
- 'aid' => $attach['aid'],
- 'fid' => $aids['fid'],
- 'uid' => $aids['authorid'],
- 'tid' => $aids['tid'],
- 'pid' => 0,
- 'name' => $attach['name'],
- 'type' => $attach['type'],
- 'size' => $attach['size'],
- 'attachurl' => $attach['attachurl'],
- 'hits' => $attach['hits'],
- 'needrvrc' => $attach['needrvrc'],
- 'uploadtime'=> $uploadtime,
- 'descrip' => $attach['desc']
- ),false));
- }
- } else{
- $count++;
- $check=$db->get_one("SELECT aid FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- if($check){
- $db->update("DELETE FROM pw_attachs WHERE aid=".pwEscape($attach['aid']));
- }
- $update=1;
- unset($attachs[$key]);
- }
- }
- if($update){
- $attachs=$attachs ? addslashes(serialize($attachs)):'';
- $db->update("UPDATE $pw_posts SET aid=".pwEscape($attachs)."WHERE tid=".pwEscape($aids['tid']));
- }
- } else{
- $count++;
- $db->update("UPDATE $pw_posts SET aid='' WHERE tid=".pwEscape($aids['tid']));
- }
- }
- }
- adminmsg('attach_renew');
- }
- ?>