public function processCode(vkTools $vk_tools, $code, $state) { $vk_user_id = $vk_tools->saveToken($code); $sth = $this->db->prepare('SELECT id FROM tg_users WHERE SHA1(CONCAT(:secret, id)) = :state'); $sth->execute(array('secret' => Config::SECRET, 'state' => $state)); if (!($result = $sth->fetch(PDO::FETCH_ASSOC))) { throw new Exception('state is invalid'); } $this->db->prepare('UPDATE tg_users SET vk_user_id = :vk_user_id WHERE id = :id')->execute(array('vk_user_id' => $vk_user_id, 'id' => $result['id'])); $this->user_id = $result['id']; $this->sendMessage('Получилось!'); return Config::URL; }
<?php require_once 'include/vkTools.php'; require_once 'include/Locker.php'; $l = new Locker('/run/lock/vktools/save_online.lock'); Logger::init('save_online', 0); if ($argc == 2 && $argv[1] == 'debug') { Logger::debug(true); } $tools = new vkTools(); $tools->save_all_online(); $tools->merge_sessions(12 * 60);