function deletepics($picids) { global $_SGLOBAL, $_SC; $delpics = $albumnums = $newids = $sizes = $auids = $spaces = array(); $allowmanage = checkperm('managealbum'); $managebatch = checkperm('managebatch'); $delnum = 0; $pics = array(); $query = $_SGLOBAL['db']->query("SELECT * FROM " . tname('pic') . " WHERE picid IN (" . simplode($picids) . ")"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if ($allowmanage || $value['uid'] == $_SGLOBAL['supe_uid']) { //删除文件 $pics[] = $value; $newids[] = $value['picid']; $delpics[] = $value; $allsize = $allsize + $value['size']; $sizes[$value['uid']] = $sizes[$value['uid']] + $value['size']; if ($value['albumid']) { $auids[$value['albumid']] = $value['uid']; $albumnums[$value['albumid']]++; } if ($value['uid'] != $_SGLOBAL['supe_uid']) { if (!$managebatch) { $delnum++; } $spaces[$value['uid']]++; } } } if (empty($delpics) || !$managebatch && $delnum > 1) { return array(); } //获取积分 $reward = getreward('delimage', 0); foreach ($spaces as $uid => $picnum) { $attachsize = intval($sizes[$uid]); $setsql = ''; if ($allowmanage) { $setsql = $reward['credit'] ? ",credit=credit-" . $picnum * $reward['credit'] : ""; $setsql .= $reward['experience'] ? ",experience=experience-" . $picnum * $reward['experience'] : ""; } $_SGLOBAL['db']->query("UPDATE " . tname('space') . " SET attachsize=attachsize-{$attachsize} {$setsql} WHERE uid='{$uid}'"); } if ($newids) { $_SGLOBAL['db']->query("DELETE FROM " . tname('pic') . " WHERE picid IN (" . simplode($newids) . ")"); $_SGLOBAL['db']->query("DELETE FROM " . tname('comment') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); $_SGLOBAL['db']->query("DELETE FROM " . tname('feed') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); //删除举报 $_SGLOBAL['db']->query("DELETE FROM " . tname('report') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); //删除脚印 $_SGLOBAL['db']->query("DELETE FROM " . tname('clickuser') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); } if ($albumnums) { include_once S_ROOT . './source/function_cp.php'; foreach ($albumnums as $id => $num) { $thepic = getalbumpic($auids[$id], $id); $_SGLOBAL['db']->query("UPDATE " . tname('album') . " SET pic='{$thepic}', picnum=picnum-{$num} WHERE albumid='{$id}'"); } } //删除图片 deletepicfiles($pics); return $delpics; }
function deletepics($picids) { global $_SGLOBAL, $_SC; $delpics = $albumnums = $newids = $sizes = $auids = $spaces = array(); $allowmanage = checkperm('managealbum'); $pics = array(); $query = $_SGLOBAL['db']->query("SELECT * FROM " . tname('pic') . " WHERE picid IN (" . simplode($picids) . ")"); while ($value = $_SGLOBAL['db']->fetch_array($query)) { if ($allowmanage || $value['uid'] == $_SGLOBAL['supe_uid']) { //删除文件 $pics[] = $value; $newids[] = $value['picid']; $delpics[] = $value; $allsize = $allsize + $value['size']; $sizes[$value['uid']] = $sizes[$value['uid']] + $value['size']; if ($value['albumid']) { $auids[$value['albumid']] = $value['uid']; $albumnums[$value['albumid']]++; } $spaces[$value['uid']]++; } } if (empty($delpics)) { return array(); } $pic_credit = creditrule('pay', 'pic'); foreach ($spaces as $uid => $picnum) { $attachsize = intval($sizes[$uid]); $setsql = $pic_credit ? ",credit=credit-" . $picnum * $pic_credit : ""; $_SGLOBAL['db']->query("UPDATE " . tname('space') . " SET attachsize=attachsize-{$attachsize} {$setsql} WHERE uid='{$uid}'"); } if ($newids) { $_SGLOBAL['db']->query("DELETE FROM " . tname('pic') . " WHERE picid IN (" . simplode($newids) . ")"); $_SGLOBAL['db']->query("DELETE FROM " . tname('comment') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); //删除举报 $_SGLOBAL['db']->query("DELETE FROM " . tname('report') . " WHERE id IN (" . simplode($newids) . ") AND idtype='picid'"); } if ($albumnums) { include_once S_ROOT . './source/function_cp.php'; foreach ($albumnums as $id => $num) { $thepic = getalbumpic($auids[$id], $id); $_SGLOBAL['db']->query("UPDATE " . tname('album') . " SET pic='{$thepic}', picnum=picnum-{$num} WHERE albumid='{$id}'"); } } //删除图片 deletepicfiles($pics); return $delpics; }