function DeleteAbandonAccount() { $list = glob(USER . "*"); $now = time(); // ユーザー一覧を取得する foreach ($list as $file) { if (!is_dir($file)) { continue; } $UserID = substr($file, strrpos($file, "/") + 1); $user = new user($UserID, true); // 消されるユーザー if ($user->IsAbandoned()) { // ランキングを読む if (!isset($Ranking)) { include_once CLASS_RANKING; $Ranking = new Ranking(); $RankChange = false; // ランキングデータが変更されたか } // ランキングから消す if ($Ranking->DeleteRank($UserID)) { $RankChange = true; // 変更された } RecordManage(date("Y M d G:i:s", $now) . ": user " . $user->id . " deleted."); $user->DeleteUser(false); //ランキングからは消さないようにfalse } else { $user->fpCloseAll(); unset($user); } } // 一通りユーザチェックが終わったのでランキングをどうするか if ($RankChange === true) { $Ranking->SaveRanking(); } else { if ($RankChange === false) { $Ranking->fpclose(); } } //print("<pre>".print_r($list,1)."</pre>"); }
function DeleteUser($DeleteFromRank = true) { //ランキングからまず消す。 if ($DeleteFromRank) { include_once CLASS_RANKING; $Ranking = new Ranking(); if ($Ranking->DeleteRank($this->id)) { $Ranking->SaveRanking(); } } $dir = USER . $this->id; $files = glob("{$dir}/*"); $this->fpCloseAll(); foreach ($files as $val) { unlink($val); } rmdir($dir); }