execute(); $row = $query->fetch(); $ago = (new DateTime)->sub(new DateInterval('P1W')); $mod_ago = (new DateTime)->sub(new DateInterval('P2W')); $last_activity_date = new DateTime(); $last_mod_date = new DateTime(); $last_activity_date->setTimestamp($row['time']); $query = query("SELECT id, username FROM mods WHERE boards = '$board'"); $mods = $query->fetchAll(); if ($mods) { $mod = $mods[0]['id']; $query = query("SELECT MAX(time) AS time FROM modlogs WHERE `mod` = $mod"); $a = $query->fetchAll(PDO::FETCH_COLUMN); if ($a[0]) { $last_mod_date->setTimestamp($a[0]); if (!$row['time']) $last_activity_date->setTimestamp($a[0]); } else {// no one ever logged in, try board creation time $query = query("SELECT UNIX_TIMESTAMP(time) AS time FROM board_create WHERE uri = '$board'"); $crt = $query->fetchAll(PDO::FETCH_COLUMN); $last_activity_date->setTimestamp($crt[0]); $last_mod_date = false; } } if ($mods and ($last_activity_date < $ago or ($last_mod_date and $last_mod_date < $mod_ago))) { return array($last_activity_date, $last_mod_date, $mods); } else { return false; } } $q = query("SELECT uri FROM boards"); $boards = $q->fetchAll(PDO::FETCH_COLUMN); $delete = array(); foreach($boards as $board) { $last_activity = last_activity($board); if ($last_activity) { list($last_activity_date, $last_mod_date, $mods) = $last_activity; $last_mod_f = $last_mod_date ? $last_mod_date->format('Y-m-d H:i:s') : 'never'; $last_activity_f = $last_activity_date ? $last_activity_date->format('Y-m-d H:i:s') : 'never'; $delete[] = array('board' => $board, 'last_activity_date' => $last_activity_f, 'last_mod' => $last_mod_date, 'last_mod_f' => $last_mod_f); } } $body = Element("8chan/claim.html", array("config" => $config, "delete" => $delete)); echo Element("page.html", array("config" => $config, "body" => $body, "title" => _("Claim"), "subtitle" => _("Take deserted boards back from their owners")));