Revision 1974c2d6
Added by Cyrill B over 12 years ago
etc/inc/captiveportal.inc | ||
---|---|---|
1217 | 1217 |
else { |
1218 | 1218 |
$errormsg = ""; |
1219 | 1219 |
$DB = @sqlite_open("{$g['vardb_path']}/captiveportal{$cpzone}.db"); |
1220 |
if (@sqlite_exec($DB, "CREATE TABLE captiveportal (allow_time INTEGER, ruleno INTEGER, ip TEXT, mac TEXT, username TEXT, sessionid TEXT, bpassword TEXT, session_timeout INTEGER, idle_timeout INTEGER, session_terminate_time INTEGER) ", $errormsg)) {
|
|
1220 |
if (@sqlite_exec($DB, "CREATE TABLE captiveportal (allow_time INTEGER, pipeno INTEGER, ip TEXT, mac TEXT, username TEXT, sessionid TEXT, bpassword TEXT, session_timeout INTEGER, idle_timeout INTEGER, session_terminate_time INTEGER) ", $errormsg)) {
|
|
1221 | 1221 |
@sqlite_exec($DB, "CREATE UNIQUE INDEX idx_active ON captiveportal (sessionid, username)"); |
1222 | 1222 |
@sqlite_exec($DB, "CREATE INDEX user ON captiveportal (username)"); |
1223 | 1223 |
@sqlite_exec($DB, "CREATE INDEX ip ON captiveportal (ip)"); |
... | ... | |
1256 | 1256 |
if (!is_array($remove) || empty($remove)) |
1257 | 1257 |
return; |
1258 | 1258 |
|
1259 |
$query = "DELETE FROM captiveportal WHERE sessiondid in (";
|
|
1259 |
$query = "DELETE FROM captiveportal WHERE sessionid in ("; |
|
1260 | 1260 |
foreach($remove as $idx => $rid) { |
1261 | 1261 |
$query .= "'{$unindex}'"; |
1262 | 1262 |
if ($idx < (count($remove) - 1)) |
... | ... | |
1856 | 1856 |
|
1857 | 1857 |
if ($attributes['voucher']) |
1858 | 1858 |
$attributes['session_timeout'] = $remaining_time; |
1859 |
|
|
1860 |
/* handle empty attributes */ |
|
1861 |
$session_timeout = (!empty($attributes['session_timeout'])) ? $attributes['session_timeout'] : 'NULL'; |
|
1862 |
$idle_timeout = (!empty($attributes['idle_timeout'])) ? $attributes['idle_timeout'] : 'NULL'; |
|
1863 |
$session_terminate_time = (!empty($attributes['session_terminate_time'])) ? $attributes['session_terminate_time'] : 'NULL'; |
|
1864 |
|
|
1865 |
/* escape username */ |
|
1866 |
$safe_username = sqlite_escape_string($username); |
|
1859 | 1867 |
|
1860 | 1868 |
/* encode password in Base64 just in case it contains commas */ |
1861 | 1869 |
$bpassword = base64_encode($password); |
1862 | 1870 |
$cpdb[] = array($allow_time, $pipeno, $clientip, $clientmac, $username, $sessionid, $bpassword, |
1863 | 1871 |
$attributes['session_timeout'], $attributes['idle_timeout'], $attributes['session_terminate_time'], $radiusctx); |
1864 |
$insertquery = "INSERT INTO captiveportal (allow_time, ruleno, ip, mac, username, sessionid, bpassword, session_timeout, idle_timeout, session_terminate_time) ";
|
|
1865 |
$insertquery .= " VALUES ({$allow_time}, {$ruleno}, '{$clientip}', '{$clientmac}', '{$username}', '{$sessionid}', '{$bpassword}',";
|
|
1866 |
$insertquery .= "{$attributes['session_timeout']}, {$attributes['idle_timeout']}, {$attributes['session_terminate_time']})";
|
|
1872 |
$insertquery = "INSERT INTO captiveportal (allow_time, pipeno, ip, mac, username, sessionid, bpassword, session_timeout, idle_timeout, session_terminate_time) ";
|
|
1873 |
$insertquery .= "VALUES ({$allow_time}, {$pipeno}, '{$clientip}', '{$clientmac}', '{$safe_username}', '{$sessionid}', '{$bpassword}', ";
|
|
1874 |
$insertquery .= "{$session_timeout}, {$idle_timeout}, {$session_terminate_time})";
|
|
1867 | 1875 |
|
1868 | 1876 |
/* store information to database */ |
1869 | 1877 |
captiveportal_write_db($insertquery); |
Also available in: Unified diff
Fix: SQlite in CP