$vals['name_n'] = ucfirst($info->name); $vals['surname_n'] = ucfirst($info->surname); list($year, $month, $day) = explode('-', $info->birth_date); $vals['birthdate_n'] = $day . '/' . $month . '/' . $year; $apc_name = 'userstuff' . $info->counter . Config\SITE_HOST; if (!($stuff = Utils::apc_get($apc_name))) { $stuff = Utils::apc_set($apc_name, function () use($user, $ida) { if (!($o = Db::query(['SELECT COUNT("hcid") AS cc FROM "comments" WHERE "from" = :id', $ida], Db::FETCH_OBJ))) { die($user->lang('ERROR')); } $n = $o->cc; if (!($o = Db::query(['SELECT COUNT("hcid") AS cc FROM "groups_comments" WHERE "from" = :id', $ida], Db::FETCH_OBJ))) { die($user->lang('ERROR')); } $n += $o->cc; $a = Stuff::stupid($n); $a['n'] = $n; return $a; }, 300); } $vals['stupidstuffnow_n'] = $stuff['now']; $vals['stupidstuffnext_n'] = $stuff['next']; $vals['stupidstuffless_n'] = $stuff['less']; $vals['totalcomments_n'] = $stuff['n']; if (!($o = Db::query(['SELECT EXTRACT(EPOCH FROM "last") AS last from "users" WHERE "counter" = :id', $ida], Db::FETCH_OBJ))) { die($user->lang('ERROR')); } $vals['following_n'] = $user->getFollowingCount($info->counter); $vals['followers_n'] = $user->getFollowersCount($info->counter); $vals['friends_n'] = $user->getFriendsCount($info->counter); $vals['lastvisit_n'] = $user->getDateTime($o->last);
$mo = empty($_GET['top']); $path = Config\SITE_HOST . ($mo ? 'r_month.json' : 'rank.json'); if (!($ret = Utils::apc_get($path))) { $ret = Utils::apc_set($path, function () use($mo) { $un_ti = ' AND ("time" + INTERVAL \'28 days\') > NOW()'; $res = Db::query('SELECT COUNT("hcid") AS cc,"from" FROM "comments" WHERE "from" <> (SELECT counter FROM special_users WHERE role = \'DELETED\')' . (!$mo ? $un_ti : '') . ' GROUP BY "from" ORDER BY cc DESC LIMIT 100', Db::FETCH_STMT); $rank = []; while ($o = $res->fetch(PDO::FETCH_OBJ)) { $gc = Db::query(['SELECT COUNT("hcid") AS cc FROM "groups_comments" WHERE "from" = :from ' . (!$mo ? $un_ti : ''), [':from' => $o->from]], Db::FETCH_OBJ); $us = User::getUsername($o->from); $n = $o->cc + $gc->cc; $rank[$us] = $n; $stupid = Stuff::stupid($n); $ss[$us] = $stupid['now']; } asort($rank); $rank = array_reverse($rank, true); $i = 0; $ret = []; foreach ($rank as $username => $val) { $ret[$i]['position_n'] = $i + 1; $ret[$i]['username4link_n'] = Utils::userLink($username); $ret[$i]['username_n'] = $username; $ret[$i]['comments_n'] = $val; $ret[$i]['stupidstuff_n'] = $ss[$username]; ++$i; } return $ret;