Changeset 267
- Timestamp:
- 11/03/04 13:38:31 (4 years ago)
- Files:
-
- trunk/wifidog-auth/ChangeLog (modified) (1 diff)
- trunk/wifidog-auth/sql/wifidog-postgres-initial-data.sql (modified) (2 diffs)
- trunk/wifidog-auth/sql/wifidog-postgres-schema.sql (modified) (21 diffs)
- trunk/wifidog-auth/wifidog/admin/hotspot_log.php (added)
- trunk/wifidog-auth/wifidog/admin/index.php (modified) (1 diff)
- trunk/wifidog-auth/wifidog/classes/Security.php (modified) (3 diffs)
- trunk/wifidog-auth/wifidog/classes/Statistics.php (added)
- trunk/wifidog-auth/wifidog/index.php (modified) (2 diffs)
- trunk/wifidog-auth/wifidog/node_list.php (modified) (5 diffs)
- trunk/wifidog-auth/wifidog/ping/index.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/wifidog-auth/ChangeLog
r254 r267 1 1 # $Header$ 2 2004-11-03 Benoit Gr�ire <bock@step.polymtl.ca> 3 * wifidog/ping/index.php: Log user-agent 4 * extensive statistics work 5 * sql/wifidog-postgres-schema.sql: Add description field for hotspots and log user-agent 6 2 7 2004-10-28 Benoit Gr�ire <bock@step.polymtl.ca> 3 8 * sql/wifidog-postgres-schema.sql: Add constraints to avoid empty string in email or user_id. trunk/wifidog-auth/sql/wifidog-postgres-initial-data.sql
r223 r267 7 7 -- 8 8 9 SET client_encoding = 'LATIN1'; 10 SET check_function_bodies = false; 11 9 12 SET SESSION AUTHORIZATION 'wifidog'; 10 13 … … 12 15 13 16 -- 14 -- Data for TOC entry 1(OID 299872)17 -- Data for TOC entry 2 (OID 299872) 15 18 -- Name: token_status; Type: TABLE DATA; Schema: public; Owner: wifidog 16 19 -- trunk/wifidog-auth/sql/wifidog-postgres-schema.sql
r254 r267 3 3 -- 4 4 5 -- 6 -- TOC entry 1 (OID 0) 5 SET client_encoding = 'LATIN1'; 6 SET check_function_bodies = false; 7 8 -- 9 -- TOC entry 2 (OID 0) 7 10 -- Name: wifidog; Type: DATABASE; Schema: -; Owner: wifidog 8 11 -- … … 13 16 \connect wifidog wifidog 14 17 18 SET client_encoding = 'LATIN1'; 19 SET check_function_bodies = false; 20 15 21 SET search_path = public, pg_catalog; 16 22 17 23 -- 18 -- TOC entry 3(OID 299867)24 -- TOC entry 4 (OID 299867) 19 25 -- Name: administrators; Type: TABLE; Schema: public; Owner: wifidog 20 26 -- … … 26 32 27 33 -- 28 -- TOC entry 4(OID 299872)34 -- TOC entry 5 (OID 299872) 29 35 -- Name: token_status; Type: TABLE; Schema: public; Owner: wifidog 30 36 -- … … 36 42 37 43 -- 38 -- TOC entry 5(OID 299881)44 -- TOC entry 6 (OID 299881) 39 45 -- Name: connections; Type: TABLE; Schema: public; Owner: wifidog 40 46 -- … … 58 64 59 65 -- 60 -- TOC entry 6(OID 299895)66 -- TOC entry 7 (OID 299895) 61 67 -- Name: nodes; Type: TABLE; Schema: public; Owner: wifidog 62 68 -- … … 69 75 last_heartbeat_timestamp timestamp without time zone DEFAULT now(), 70 76 creation_date date DEFAULT now(), 71 home_page_url text 72 ); 73 74 75 -- 76 -- TOC entry 7 (OID 299906) 77 home_page_url text, 78 last_heartbeat_user_agent text, 79 description text 80 ); 81 82 83 -- 84 -- TOC entry 8 (OID 299906) 77 85 -- Name: users; Type: TABLE; Schema: public; Owner: wifidog 78 86 -- … … 91 99 92 100 -- 93 -- TOC entry 8(OID 300988)101 -- TOC entry 9 (OID 300988) 94 102 -- Name: node_owners; Type: TABLE; Schema: public; Owner: wifidog 95 103 -- … … 102 110 103 111 -- 104 -- TOC entry 1 2(OID 300919)112 -- TOC entry 13 (OID 300919) 105 113 -- Name: idx_token; Type: INDEX; Schema: public; Owner: wifidog 106 114 -- … … 110 118 111 119 -- 112 -- TOC entry 1 3(OID 300920)120 -- TOC entry 14 (OID 300920) 113 121 -- Name: idx_token_status_and_user_id; Type: INDEX; Schema: public; Owner: wifidog 114 122 -- … … 118 126 119 127 -- 120 -- TOC entry 9(OID 299870)128 -- TOC entry 10 (OID 299870) 121 129 -- Name: administrators_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 122 130 -- … … 127 135 128 136 -- 129 -- TOC entry 1 0(OID 299874)137 -- TOC entry 11 (OID 299874) 130 138 -- Name: token_status_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 131 139 -- … … 136 144 137 145 -- 138 -- TOC entry 1 1(OID 299889)146 -- TOC entry 12 (OID 299889) 139 147 -- Name: connections_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 140 148 -- … … 145 153 146 154 -- 147 -- TOC entry 1 4(OID 299901)155 -- TOC entry 15 (OID 299901) 148 156 -- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 149 157 -- … … 154 162 155 163 -- 156 -- TOC entry 1 5(OID 299912)164 -- TOC entry 16 (OID 299912) 157 165 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 158 166 -- … … 163 171 164 172 -- 165 -- TOC entry 1 6(OID 310107)173 -- TOC entry 17 (OID 310107) 166 174 -- Name: node_owners_pkey; Type: CONSTRAINT; Schema: public; Owner: wifidog 167 175 -- … … 172 180 173 181 -- 174 -- TOC entry 1 8(OID 299891)182 -- TOC entry 19 (OID 299891) 175 183 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 176 184 -- … … 181 189 182 190 -- 183 -- TOC entry 1 7(OID 299914)191 -- TOC entry 18 (OID 299914) 184 192 -- Name: administrators_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 185 193 -- … … 190 198 191 199 -- 192 -- TOC entry 19(OID 300909)200 -- TOC entry 20 (OID 300909) 193 201 -- Name: fk_users; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 194 202 -- … … 199 207 200 208 -- 201 -- TOC entry 2 0(OID 300913)209 -- TOC entry 21 (OID 300913) 202 210 -- Name: fk_nodes; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 203 211 -- … … 208 216 209 217 -- 210 -- TOC entry 2 1(OID 310097)218 -- TOC entry 22 (OID 310097) 211 219 -- Name: fk_users; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 212 220 -- … … 217 225 218 226 -- 219 -- TOC entry 2 2(OID 310101)227 -- TOC entry 23 (OID 310101) 220 228 -- Name: fk_nodes; Type: FK CONSTRAINT; Schema: public; Owner: wifidog 221 229 -- trunk/wifidog-auth/wifidog/admin/index.php
r236 r267 33 33 echo "<ul>\n"; 34 34 echo "<li><a href='user_log.php'>"._('User logs')."</a></li>\n"; 35 echo "<li><a href='import_user_database.php'>"._('Import user database')."</a></li>\n"; 35 //echo "<li><a href='hotspot_log.php'>"._('Hotspot logs')."</a></li>\n"; 36 echo "<li><a href='import_user_database.php'>"._('Import NoCat user database')."</a></li>\n"; 36 37 echo "</ul>\n"; 37 38 trunk/wifidog-auth/wifidog/classes/Security.php
r216 r267 41 41 function login($username, $hash) 42 42 { 43 global $db; 44 $username = $db->EscapeString($username); 45 $hash = $db->EscapeString($hash); 46 $db->ExecSqlUniqueRes("SELECT * FROM users WHERE (user_id='$username' OR email='$username') AND pass='$hash'", $user_info, false); 47 if(empty($user_info)) 48 { 49 echo '<p class=error>'._("Your username and password do not match")."</p>\n"; 50 exit; 51 } 52 else 53 { 54 /* Access granted */ 43 55 $this->session->set(SESS_USERNAME_VAR, $username); 44 56 $this->session->set(SESS_PASSWORD_HASH_VAR, $hash); 57 } 45 58 } 46 59 … … 51 64 $user = $this->session->get(SESS_USERNAME_VAR); 52 65 $password_hash = $this->session->get(SESS_PASSWORD_HASH_VAR); 53 $db->ExecSqlUniqueRes("SELECT * FROM users NATURAL JOIN administrators WHERE (user_id='$user' OR email='$user')AND pass='$password_hash'", $user_info, false);66 $db->ExecSqlUniqueRes("SELECT * FROM users NATURAL JOIN administrators WHERE user_id='$user' AND pass='$password_hash'", $user_info, false); 54 67 if(empty($user_info)) 55 68 { … … 71 84 $user = $this->session->get(SESS_USERNAME_VAR); 72 85 $password_hash = $this->session->get(SESS_PASSWORD_HASH_VAR); 73 //$db->ExecSqlUniqueRes("SELECT * FROM users NATURAL JOIN administrators WHERE (user_id='$user' OR email='$user')AND pass='$password_hash'", $user_info, false);86 //$db->ExecSqlUniqueRes("SELECT * FROM users NATURAL JOIN administrators WHERE user_id='$user' AND pass='$password_hash'", $user_info, false); 74 87 if(empty($user_info)) 75 88 { trunk/wifidog-auth/wifidog/index.php
r227 r267 26 26 require_once BASEPATH.'include/common.php'; 27 27 require_once BASEPATH.'classes/Style.php'; 28 require_once BASEPATH.'classes/Statistics.php'; 28 29 29 30 $style = new Style(); … … 36 37 $db->ExecSqlUniqueRes("SELECT COUNT(user_id) FROM users WHERE account_status = ".ACCOUNT_STATUS_ALLOWED, $row, false); 37 38 $num_valid_users=$row['count']; 38 $row = null;39 $db->ExecSqlUniqueRes("SELECT COUNT(user_id) FROM ( SELECT DISTINCT user_id FROM connections " .40 "WHERE token_status='" . TOKEN_INUSE . "') AS online_users"41 ,$row, false);42 $num_online_users=$row['count'];43 39 40 $stats=new Statistics(); 41 $num_online_users=$stats->getNumOnlineUsers($node_id=null); 44 42 45 43 echo "<p>"._("The network currently has ").$num_valid_users._(" valid users.")." ".$num_online_users._(" user(s) are currently online")."</p>\n"; trunk/wifidog-auth/wifidog/node_list.php
r227 r267 28 28 require_once BASEPATH.'classes/Style.php'; 29 29 require_once (BASEPATH.'include/user_management_menu.php'); 30 require_once BASEPATH.'classes/Statistics.php'; 30 31 31 32 $style = new Style(); 33 $stats=new Statistics(); 34 32 35 echo $style->GetHeader(HOTSPOT_NETWORK_NAME.' node list'); 33 36 echo "<div id='head'><h1>". HOTSPOT_NETWORK_NAME ." node list</h1></div>\n"; … … 38 41 echo "<div id='content'>\n"; 39 42 40 $db->ExecSql("SELECT node_id, name, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip,43 $db->ExecSql("SELECT node_id, name, last_heartbeat_user_agent, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, last_heartbeat_ip, 41 44 CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up, creation_date FROM nodes ORDER BY node_id",$node_results, false); 42 45 echo "<table class='spreadsheet'>\n"; 43 echo "<thead><tr class='spreadsheet'><th class='spreadsheet' colspan= 5>Status of all nodes of the ".HOTSPOT_NETWORK_NAME." network</th></tr>\n";46 echo "<thead><tr class='spreadsheet'><th class='spreadsheet' colspan=6>Status of all nodes of the ".HOTSPOT_NETWORK_NAME." network</th></tr>\n"; 44 47 echo "<tr class='spreadsheet'><th class='spreadsheet'>Status</th>\n"; 45 48 echo "<th class='spreadsheet'>Id</th>\n"; … … 47 50 echo "<th class='spreadsheet'>Local content demo</th>\n"; 48 51 echo "<th class='spreadsheet'>Opened on</th>\n"; 49 echo "</tr></thead\n"; 52 echo "<th class='spreadsheet'>Online users</th>\n"; 53 echo "</tr></thead>\n"; 50 54 foreach($node_results as $node_row) 51 55 { … … 54 58 if($node_row['is_up']=='t') 55 59 { 56 echo "<img src='".BASE_URL_PATH . "images/hotspot_status_up.png'> ";60 echo "<img src='".BASE_URL_PATH . "images/hotspot_status_up.png'> "; 57 61 } 58 62 else 59 63 { 60 echo "<img src='".BASE_URL_PATH . "images/hotspot_status_down.png'> ";64 echo "<img src='".BASE_URL_PATH . "images/hotspot_status_down.png'> "; 61 65 $duration = $db->GetDurationArrayFromIntervalStr($node_row['since_last_heartbeat']); 62 echo $duration['days'].'days '.$duration['hours'].'h '.$duration['minutes'].'min ';66 echo $duration['days'].'days '.$duration['hours'].'h '.$duration['minutes'].'min<br />'; 63 67 } 68 echo "$node_row[last_heartbeat_user_agent]"; 64 69 echo "</td>\n"; 65 70 echo "<td class='spreadsheet'>$node_row[node_id]</td>\n"; … … 70 75 echo "</td>\n"; 71 76 echo "<td class='spreadsheet'>$node_row[creation_date]</td>\n"; 77 $num_online_users = $stats->getNumOnlineUsers($node_row['node_id']); 78 if($num_online_users==0) 79 { 80 $num_online_users=null; 81 } 82 echo "<td class='spreadsheet'>$num_online_users</td>\n"; 72 83 echo "</tr>\n"; 73 84 } trunk/wifidog-auth/wifidog/ping/index.php
r222 r267 29 29 echo "Pong"; 30 30 $node_id = $db->EscapeString($_REQUEST['gw_id']); 31 $db->ExecSqlUpdate("UPDATE nodes SET last_heartbeat_ip='$_SERVER[REMOTE_ADDR]', last_heartbeat_timestamp=NOW() WHERE node_id='$node_id'"); 31 $user_agent = $db->EscapeString($_SERVER['HTTP_USER_AGENT']); 32 $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'"); 32 33 33 34 ?>
