Example #1
0
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>");
}
Example #2
0
 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);
 }