/** * Удаляет работу из портфолио. * * @param integer $fid UID юзера, который удаляет работу * @param integer $prj_id id проекта * @param integer $force 1 - удаление админом (забивает на UID), 0 - обычный юзер * * @return string сообщение об ошибке */ public function DelPortf($fid, $prj_id, $force = 0) { global $DB; $dir = get_login($fid); $l_dir = substr($dir, 0, 2) . '/' . $dir; if ($force == 0) { $addit = "AND user_id='{$fid}'"; } $sql = "SELECT pict, prev_pict, user_id FROM portfolio WHERE (id=?i {$addit})"; $res = $DB->row($sql, $prj_id); $fname = $res['pict']; $pname = $res['prev_pict']; $uid = $res['user_id']; if ($uid != $fid && $force) { require_once ABS_PATH . '/classes/users.php'; $user = new users(); $user->GetUserByUID($uid); $l_dir = substr($user->login, 0, 2) . '/' . $user->login; // уведомление об удалении require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php'; messages::portfolioDeletedNotification($user->uname, $user->usurname, $user->login); } else { if ($uid != $fid && !$force) { return 'Вы не можете удалять чужие работы!'; } } if ($fname) { $cfile = new CFile(); $cfile->Delete(0, "users/{$l_dir}/upload/", $fname); $cfile->Delete(0, "users/{$l_dir}/upload/", 'tn_' . $fname); } if ($pname) { if (!$cfile) { $cfile = new CFile(); } $cfile->Delete(0, "users/{$l_dir}/upload/", $pname); } $sql = "DELETE FROM portfolio WHERE id=?i {$addit}"; $DB->query($sql, $prj_id); $error = $DB->error; if (!$error && $fid == $uid) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; $sql .= $DB->parse('DELETE FROM moderation WHERE rec_id = ?i AND rec_type = ?i;', $prj_id, user_content::MODER_PORTFOLIO); } return $error; }