Changeset 1123
- Timestamp:
- 11/07/06 20:01:55 (7 years ago)
- Location:
- trunk/wifidog-auth
- Files:
-
- 21 modified
-
CHANGELOG (modified) (1 diff)
-
wifidog/admin/import_user_database.php (modified) (1 diff)
-
wifidog/auth/index.php (modified) (1 diff)
-
wifidog/classes/Authenticator.php (modified) (5 diffs)
-
wifidog/classes/Authenticators/AuthenticatorRadius.php (modified) (3 diffs)
-
wifidog/classes/Content.php (modified) (1 diff)
-
wifidog/classes/Content/File/File.php (modified) (1 diff)
-
wifidog/classes/Content/FlickrPhotostream/FlickrPhotostream.php (modified) (2 diffs)
-
wifidog/classes/Network.php (modified) (1 diff)
-
wifidog/classes/Node.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListHTML.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListJiWireCSV.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListKML.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListPDF.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListRSS.php (modified) (1 diff)
-
wifidog/classes/NodeLists/NodeListXML.php (modified) (1 diff)
-
wifidog/classes/StatisticReport/NodeStatus.php (modified) (2 diffs)
-
wifidog/classes/User.php (modified) (4 diffs)
-
wifidog/include/common.php (modified) (2 diffs)
-
wifidog/node_list.php (modified) (1 diff)
-
wifidog/ping/index.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wifidog-auth/CHANGELOG
r1122 r1123 1 2006-11-07 Benoit Grégoire <bock@step.polymtl.ca> 2 * Fix # 268, #269 as well as greg's problems by moving all token and registration date arithmetics 3 to the database, and standardize on SQL-standard CURRENT_TIMESTAMP. 4 Fixes operational problems when PHP and PostGres don't have the same timezone 5 (which appears to be the case on Fedora by default). 6 Note that the page.php script still has PHP date arithmetics, but at least should be self-consistent. 7 1 8 2006-10-24 Benoit Grégoire <bock@step.polymtl.ca> 2 9 * auth/index.php: Add some defensive coding and debug output when the token is invalid. -
trunk/wifidog-auth/wifidog/admin/import_user_database.php
r1117 r1123 196 196 $status = ACCOUNT_STATUS_ALLOWED; 197 197 $token = User::generateToken(); 198 $reg_date = iso8601_date(time());199 198 $password_hash = $db->escapeString($user['passwd_hash']); 200 199 $username = $db->escapeString($username); 201 200 $email = $db->escapeString($user['email']); 202 $sql = "INSERT INTO users (user_id, username,email,pass,account_status,validation_token,reg_date) VALUES ('".get_guid()."','$username','$email','$password_hash','{$status}','{$token}', '{$reg_date}')";201 $sql = "INSERT INTO users (user_id, username,email,pass,account_status,validation_token,reg_date) VALUES ('".get_guid()."','$username','$email','$password_hash','{$status}','{$token}',CURRENT_TIMESTAMP)"; 203 202 $update_successful = $db->execSqlUpdate($sql); 204 203 if ($update_successful) -
trunk/wifidog-auth/wifidog/auth/index.php
r1122 r1123 61 61 } 62 62 63 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.token='$token'", $info, false);63 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.token='$token'", $info, false); 64 64 65 65 if ($info != null) -
trunk/wifidog-auth/wifidog/classes/Authenticator.php
r1090 r1123 127 127 128 128 if (!empty ($conn_id)) { 129 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false);129 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false); 130 130 131 131 $user = User::getObject($info['user_id']); … … 188 188 189 189 $conn_id = $db->escapeString($conn_id); 190 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false);190 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false); 191 191 $network = Network::getObject($info['network_id']); 192 192 $splash_user_id = $network->getSplashOnlyUser()->getId(); … … 196 196 $mac = $db->escapeString($_REQUEST['mac']); 197 197 $ip = $db->escapeString($_REQUEST['ip']); 198 $sql = "UPDATE connections SET "."token_status='".TOKEN_INUSE."',"."user_mac='$mac',"."user_ip='$ip',"."last_updated= NOW()"."WHERE conn_id='{$conn_id}';";198 $sql = "UPDATE connections SET "."token_status='".TOKEN_INUSE."',"."user_mac='$mac',"."user_ip='$ip',"."last_updated=CURRENT_TIMESTAMP"."WHERE conn_id='{$conn_id}';"; 199 199 $db->execSqlUpdate($sql, false); 200 200 … … 241 241 // Write traffic counters to database 242 242 $conn_id = $db->escapeString($conn_id); 243 $db->execSqlUpdate("UPDATE connections SET "."incoming='$incoming',"."outgoing='$outgoing',"."last_updated= NOW()"."WHERE conn_id='{$conn_id}'");243 $db->execSqlUpdate("UPDATE connections SET "."incoming='$incoming',"."outgoing='$outgoing',"."last_updated=CURRENT_TIMESTAMP "."WHERE conn_id='{$conn_id}'"); 244 244 } 245 245 … … 259 259 // Stop traffic counters update 260 260 $conn_id = $db->escapeString($conn_id); 261 $db->execSqlUpdate("UPDATE connections SET "."timestamp_out= NOW(),"."token_status='".TOKEN_USED."' "."WHERE conn_id='{$conn_id}';\n", false);261 $db->execSqlUpdate("UPDATE connections SET "."timestamp_out=CURRENT_TIMESTAMP,"."token_status='".TOKEN_USED."' "."WHERE conn_id='{$conn_id}';\n", false); 262 262 } 263 263 -
trunk/wifidog-auth/wifidog/classes/Authenticators/AuthenticatorRadius.php
r1090 r1123 316 316 if (Dependencies::check("Radius", $errmsg)) { 317 317 $conn_id = $db->escapeString($conn_id); 318 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false);318 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false); 319 319 320 320 // RADIUS accounting start … … 386 386 387 387 if (Dependencies::check("Radius", $errmsg)) { 388 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false);388 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false); 389 389 390 390 // RADIUS accounting ping … … 456 456 457 457 if (Dependencies::check("Radius", $errmsg)) { 458 $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false);458 $db->execSqlUniqueRes("SELECT CURRENT_TIMESTAMP, *, CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false); 459 459 460 460 // RADIUS accounting stop -
trunk/wifidog-auth/wifidog/classes/Content.php
r1118 r1123 1125 1125 $db->execSql($sql, $log_rows, false); 1126 1126 if ($log_rows != null) { 1127 $sql = "UPDATE content_display_log SET last_display_timestamp = NOW()WHERE user_id='$user_id' AND content_id='$this->id' AND node_id='$node_id'";1127 $sql = "UPDATE content_display_log SET last_display_timestamp = CURRENT_TIMESTAMP WHERE user_id='$user_id' AND content_id='$this->id' AND node_id='$node_id'"; 1128 1128 } else { 1129 1129 $sql = "INSERT INTO content_display_log (user_id, content_id, node_id) VALUES ('$user_id', '$this->id', '$node_id')"; -
trunk/wifidog-auth/wifidog/classes/Content/File/File.php
r1090 r1123 233 233 public function touch() 234 234 { 235 $this->mBd->execSqlUpdate("UPDATE content_file SET last_update_date = NOW()WHERE files_id='".$this->getId()."'", false);235 $this->mBd->execSqlUpdate("UPDATE content_file SET last_update_date = CURRENT_TIMESTAMP WHERE files_id='".$this->getId()."'", false); 236 236 $this->refresh(); 237 237 } -
trunk/wifidog-auth/wifidog/classes/Content/FlickrPhotostream/FlickrPhotostream.php
r1099 r1123 117 117 $content_id = $db->escapeString($content_id); 118 118 119 $sql = "SELECT *, EXTRACT(EPOCH FROM AGE( NOW(), cache_update_timestamp)) as cache_age FROM content_flickr_photostream WHERE flickr_photostream_id='$content_id'";119 $sql = "SELECT *, EXTRACT(EPOCH FROM AGE(CURRENT_TIMESTAMP, cache_update_timestamp)) as cache_age FROM content_flickr_photostream WHERE flickr_photostream_id='$content_id'"; 120 120 $db->execSqlUniqueRes($sql, $row, false); 121 121 if ($row == null) … … 163 163 $age = is_null($this->flickr_photostream_row['cache_age']) ? self :: MAX_CACHE_AGE : $this->flickr_photostream_row['cache_age']; 164 164 if ($force_overwrite === true || ($age >= self :: MAX_CACHE_AGE) || ($new_cache !== $old_cache)) 165 $this->mBd->execSqlUpdate("UPDATE content_flickr_photostream SET cache_update_timestamp = NOW(), requests_cache = '".$this->mBd->escapeBinaryString($new_cache)."' WHERE flickr_photostream_id = '".$this->getId()."'", false);165 $this->mBd->execSqlUpdate("UPDATE content_flickr_photostream SET cache_update_timestamp = CURRENT_TIMESTAMP, requests_cache = '".$this->mBd->escapeBinaryString($new_cache)."' WHERE flickr_photostream_id = '".$this->getId()."'", false); 166 166 } 167 167 } -
trunk/wifidog-auth/wifidog/classes/Network.php
r1091 r1123 1357 1357 1358 1358 if ($nonMonitoredOnly) { 1359 $db->execSqlUniqueRes("SELECT COUNT(node_id) FROM nodes WHERE network_id = '$_network_id' AND node_deployment_status = 'NON_WIFIDOG_NODE' AND (( NOW()-last_heartbeat_timestamp) >= interval '5 minutes')", $_row, false);1359 $db->execSqlUniqueRes("SELECT COUNT(node_id) FROM nodes WHERE network_id = '$_network_id' AND node_deployment_status = 'NON_WIFIDOG_NODE' AND ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) >= interval '5 minutes')", $_row, false); 1360 1360 } else { 1361 $db->execSqlUniqueRes("SELECT COUNT(node_id) FROM nodes WHERE network_id = '$_network_id' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') AND (( NOW()-last_heartbeat_timestamp) < interval '5 minutes')", $_row, false);1361 $db->execSqlUniqueRes("SELECT COUNT(node_id) FROM nodes WHERE network_id = '$_network_id' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') AND ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes')", $_row, false); 1362 1362 } 1363 1363 -
trunk/wifidog-auth/wifidog/classes/Node.php
r1092 r1123 232 232 } 233 233 234 $sql = "INSERT INTO nodes (node_id, network_id, creation_date, node_deployment_status, name) VALUES ('$node_id', '$network_id', NOW(),'$node_deployment_status', '$node_name')";234 $sql = "INSERT INTO nodes (node_id, network_id, creation_date, node_deployment_status, name) VALUES ('$node_id', '$network_id', CURRENT_TIMESTAMP,'$node_deployment_status', '$node_name')"; 235 235 236 236 if (!$db->execSqlUpdate($sql, false)) { -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListHTML.php
r1090 r1123 126 126 127 127 // Query the database, sorting by node name 128 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false);128 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 129 129 } 130 130 -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListJiWireCSV.php
r1090 r1123 96 96 97 97 // Query the database, sorting by node name 98 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false);98 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 99 99 } 100 100 -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListKML.php
r1090 r1123 103 103 104 104 // Query the database, sorting by node name 105 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false);105 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 106 106 } 107 107 -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListPDF.php
r1090 r1123 978 978 979 979 // Query the database, sorting by node name 980 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(" . $this->_pdfSort . ")", $this->_nodes, false);980 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(" . $this->_pdfSort . ")", $this->_nodes, false); 981 981 } 982 982 -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListRSS.php
r1090 r1123 102 102 103 103 // Query the database, sorting by node name 104 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false);104 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 105 105 } 106 106 -
trunk/wifidog-auth/wifidog/classes/NodeLists/NodeListXML.php
r1090 r1123 101 101 102 102 // Query the database, sorting by node name 103 $db->execSql("SELECT *, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false);103 $db->execSql("SELECT *, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 104 104 } 105 105 -
trunk/wifidog-auth/wifidog/classes/StatisticReport/NodeStatus.php
r1037 r1123 100 100 $html .= "<table>"; 101 101 102 $db->execSql("SELECT node_id, name, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up, creation_date FROM nodes WHERE node_id = '{$node_id}'", $rows, false);102 $db->execSql("SELECT node_id, name, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up, creation_date FROM nodes WHERE node_id = '{$node_id}'", $rows, false); 103 103 104 104 $html .= ($rows[0]['is_up'] == 't') ? "<tr class='even'>" : "<tr class='red'>"; … … 205 205 $html .= "<table>"; 206 206 $date_constraint = $this->stats->getSqlDateConstraint(); 207 $db->execSql("SELECT round(CAST( (SELECT SUM(daily_connections) FROM (SELECT COUNT(DISTINCT user_id) AS daily_connections, date_trunc('day', timestamp_in) FROM connections WHERE node_id='${node_id}' AND (incoming!=0 OR outgoing!=0) {$date_constraint} GROUP BY date_trunc('day', timestamp_in)) AS daily_connections_table) / (EXTRACT(EPOCH FROM ( NOW()-(SELECT timestamp_in FROM connections WHERE node_id='${node_id}' AND (incoming!=0 OR outgoing!=0) ORDER BY timestamp_in LIMIT 1)) )/(3600*24)) AS numeric),2) AS connections_per_day", $rows, false);207 $db->execSql("SELECT round(CAST( (SELECT SUM(daily_connections) FROM (SELECT COUNT(DISTINCT user_id) AS daily_connections, date_trunc('day', timestamp_in) FROM connections WHERE node_id='${node_id}' AND (incoming!=0 OR outgoing!=0) {$date_constraint} GROUP BY date_trunc('day', timestamp_in)) AS daily_connections_table) / (EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP-(SELECT timestamp_in FROM connections WHERE node_id='${node_id}' AND (incoming!=0 OR outgoing!=0) ORDER BY timestamp_in LIMIT 1)) )/(3600*24)) AS numeric),2) AS connections_per_day", $rows, false); 208 208 $html .= "<tr class='even'>"; 209 209 $html .= " <th>"._("Average visits per day").":</th>"; -
trunk/wifidog-auth/wifidog/classes/User.php
r1093 r1123 206 206 $token = User :: generateToken(); 207 207 208 $db->execSqlUpdate("INSERT INTO users (user_id,username, account_origin,email,pass,account_status,validation_token,reg_date) VALUES ('$id_str','$username_str','$account_origin_str','$email_str','$password_hash','$status','$token', NOW())");208 $db->execSqlUpdate("INSERT INTO users (user_id,username, account_origin,email,pass,account_status,validation_token,reg_date) VALUES ('$id_str','$username_str','$account_origin_str','$email_str','$password_hash','$status','$token',CURRENT_TIMESTAMP)"); 209 209 210 210 $object = new self($id); … … 217 217 $days_since_creation = $db->escapeString($days_since_creation); 218 218 219 //$db->execSqlUpdate("INSERT INTO users (user_id,username, account_origin,email,pass,account_status,validation_token,reg_date) VALUES ('$id_str','$username_str','$account_origin_str','$email_str','$password_hash','$status','$token', NOW())");219 //$db->execSqlUpdate("INSERT INTO users (user_id,username, account_origin,email,pass,account_status,validation_token,reg_date) VALUES ('$id_str','$username_str','$account_origin_str','$email_str','$password_hash','$status','$token',CURRENT_TIMESTAMP)"); 220 220 }*/ 221 221 … … 371 371 } else 372 372 if ($account_status == ACCOUNT_STATUS_VALIDATION) { 373 $sql = "SELECT CASE WHEN (( NOW()- reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired, networks.validation_grace_time FROM users JOIN networks ON (users.account_origin = networks.network_id) WHERE (user_id='{$this->id}')";373 $sql = "SELECT CASE WHEN ((CURRENT_TIMESTAMP - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired, networks.validation_grace_time FROM users JOIN networks ON (users.account_origin = networks.network_id) WHERE (user_id='{$this->id}')"; 374 374 $db->execSqlUniqueRes($sql, $user_info, false); 375 375 … … 449 449 if ($session && $node_ip && $session->get(SESS_GW_ID_VAR)) { 450 450 $node_id = $db->escapeString($session->get(SESS_GW_ID_VAR)); 451 $db->execSqlUpdate("INSERT INTO connections (user_id, token, token_status, timestamp_in, node_id, node_ip, last_updated) VALUES ('" . $this->getId() . "', '$token', '" . TOKEN_UNUSED . "', NOW(), '$node_id', '$node_ip', NOW())", false);451 $db->execSqlUpdate("INSERT INTO connections (user_id, token, token_status, timestamp_in, node_id, node_ip, last_updated) VALUES ('" . $this->getId() . "', '$token', '" . TOKEN_UNUSED . "', CURRENT_TIMESTAMP, '$node_id', '$node_ip', CURRENT_TIMESTAMP)", false); 452 452 $retval = $token; 453 453 } else -
trunk/wifidog-auth/wifidog/include/common.php
r1096 r1123 193 193 } 194 194 195 function iso8601_date($unix_timestamp) {196 $tzd = date('O', $unix_timestamp);197 $tzd = substr(chunk_split($tzd, 3, ':'), 0, 6);198 $date = date('Y-m-d\TH:i:s', $unix_timestamp) . $tzd;199 return $date;200 }201 202 195 /** Cleanup dangling tokens and connections from the database, left if a gateway crashed, etc. */ 203 196 function garbage_collect() { … … 205 198 206 199 // 10 minutes 207 $expiration = time() - 60 * 10; 208 $expiration = iso8601_date($expiration); 209 $db->execSqlUpdate("UPDATE connections SET token_status='" . TOKEN_USED . "' WHERE last_updated < '$expiration' AND token_status = '" . TOKEN_INUSE . "'", false); 200 $expiration = '10 minutes'; 201 $db->execSqlUpdate("UPDATE connections SET token_status='" . TOKEN_USED . "' WHERE last_updated < (CURRENT_TIMESTAMP - interval '$expiration') AND token_status = '" . TOKEN_INUSE . "';", false); 210 202 } 211 203 -
trunk/wifidog-auth/wifidog/node_list.php
r1089 r1123 98 98 // Sort according to above instructions 99 99 if ($sort_by_using_sql === true) 100 $sql = "SELECT node_id, name, last_heartbeat_user_agent, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS online, creation_date, node_deployment_status FROM nodes WHERE node_deployment_status != 'PERMANENTLY_CLOSED' ORDER BY {$sort_by_param}";100 $sql = "SELECT node_id, name, last_heartbeat_user_agent, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS online, creation_date, node_deployment_status FROM nodes WHERE node_deployment_status != 'PERMANENTLY_CLOSED' ORDER BY {$sort_by_param}"; 101 101 else 102 $sql = "SELECT node_id, name, last_heartbeat_user_agent, ( NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS online, creation_date, node_deployment_status FROM nodes WHERE node_deployment_status != 'PERMANENTLY_CLOSED' ORDER BY ".DEFAULT_SORT_BY_PARAM;102 $sql = "SELECT node_id, name, last_heartbeat_user_agent, (CURRENT_TIMESTAMP-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, CASE WHEN ((CURRENT_TIMESTAMP-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS online, creation_date, node_deployment_status FROM nodes WHERE node_deployment_status != 'PERMANENTLY_CLOSED' ORDER BY ".DEFAULT_SORT_BY_PARAM; 103 103 $nodes_results = null; 104 104 $db->execSql($sql, $nodes_results, false); -
trunk/wifidog-auth/wifidog/ping/index.php
r916 r1123 54 54 $node_id = $db->escapeString($_REQUEST['gw_id']); 55 55 $user_agent = $db->escapeString($_SERVER['HTTP_USER_AGENT']); 56 $db->execSqlUpdate("UPDATE nodes SET last_heartbeat_ip='$_SERVER[REMOTE_ADDR]', last_heartbeat_timestamp= NOW(), last_heartbeat_user_agent='$user_agent' WHERE node_id='$node_id'");56 $db->execSqlUpdate("UPDATE nodes SET last_heartbeat_ip='$_SERVER[REMOTE_ADDR]', last_heartbeat_timestamp=CURRENT_TIMESTAMP, last_heartbeat_user_agent='$user_agent' WHERE node_id='$node_id'"); 57 57 58 58 /*
