Changeset 1350 for trunk/wifidog-auth/wifidog/classes/Authenticator.php
- Timestamp:
- 06/10/08 00:25:06 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/wifidog-auth/wifidog/classes/Authenticator.php
r1330 r1350 229 229 if ($splash_user_id != $user->getId() && $node = Node::getCurrentNode()) { 230 230 // Try to destroy all connections tied to the current node 231 $sql = "SELECT conn_id FROM connections WHERE user_id = '{$user->getId()}' AND node_id='{$node->getId()}' AND token_status='".TOKEN_INUSE."';";231 $sql = "SELECT conn_id FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$user->getId()}' AND node_id='{$node->getId()}' AND token_status='".TOKEN_INUSE."';"; 232 232 $conn_rows = null; 233 233 $db->execSql($sql, $conn_rows, false); … … 247 247 * that all other active tokens should expire 248 248 */ 249 $sql = "SELECT conn_id FROM connections WHERE user_id = '{$user->getId()}' AND token_status='".TOKEN_INUSE."';";249 $sql = "SELECT conn_id FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$user->getId()}' AND token_status='".TOKEN_INUSE."';"; 250 250 $conn_rows = null; 251 251 $db->execSql($sql, $conn_rows, false); … … 285 285 $mac = $db->escapeString($_REQUEST['mac']); 286 286 $ip = $db->escapeString($_REQUEST['ip']); 287 $sql = "UPDATE connections SET token_status='".TOKEN_INUSE."',user_mac='$mac',user_ip='$ip',last_updated=CURRENT_TIMESTAMP WHERE conn_id='{$conn_id}';"; 287 $sql = "BEGIN;\n"; 288 $sql .= "UPDATE connections SET user_mac='$mac',user_ip='$ip',last_updated=CURRENT_TIMESTAMP WHERE conn_id='{$conn_id}';"; 289 $sql .= "UPDATE tokens SET token_status='".TOKEN_INUSE."' FROM connections WHERE connections.token_id=tokens.token_id AND conn_id='{$conn_id}';"; 290 $sql .= "COMMIT;\n"; 291 288 292 $db->execSqlUpdate($sql, false); 289 293 … … 295 299 */ 296 300 $token = $db->escapeString($_REQUEST['token']); 297 $sql = "SELECT * FROM connections WHERE user_id = '{$info['user_id']}' AND token_status='".TOKEN_INUSE."' AND token!='$token';";301 $sql = "SELECT * FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$info['user_id']}' AND token_status='".TOKEN_INUSE."' AND token_id!='$token';"; 298 302 $conn_rows = array (); 299 303 $db->execSql($sql, $conn_rows, false); … … 305 309 } 306 310 } 307 308 /*309 * Delete all unused tokens for this user, so we don't fill the database310 * with them311 */312 $sql = "DELETE FROM connections "."WHERE token_status='".TOKEN_UNUSED."' AND user_id = '{$info['user_id']}';";313 $db->execSqlUpdate($sql, false);314 311 } 315 312
