if ($result) { $num = $result->fetchColumn(); } else { echo "\nPDO::errorInfo():\n"; print_r($db->errorInfo()); $num = 0; } if ($num <= 0) { echo json_encode(array('status' => 'invalid_token')); exit; } $db = NULL; // Could also use getenv('MYSQL_PORT_3306_TCP_ADDR') // But recommended to use the host entry which survives server restart //$dsn = 'mysql:host='.gethostbyname('mysql'); $dbname = freeradius_dbname($apip); $dsn = "mysql:host=" . gethostbyname('mysql') . ";port=3306;dbname={$dbname};charset=utf8"; $usr = '******'; $pwd = 'admin123'; try { $db = new PDO($dsn, $usr, $pwd); } catch (PDOException $e) { die('Connection failed: ' . $e->getMessage()); } // insert the new user $sql = "DELETE FROM radcheck WHERE username='******'"; $rc = $db->query($sql); if ($rc) { echo json_encode(array("status" => "deleted", "username" => $username)); } else { echo "\nPDO::errorInfo():\n";
function docker_freeradius_cmd($_apip, $_port) { global $PHPAPACHE_CONTAINER_NAME; return "docker run -it -p {$_port}:1812/udp \\\n -e MYSQL_IP=\$(docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql) \\\n -e MYSQL_PORT=\$(echo \$(docker inspect --format='{{range \$p, \$conf := .Config.ExposedPorts}} {{\$p}} {{end}}' mysql) | awk '{a=\$1; sub(/\\/tcp/, \"\", a); print a}') \\\n -e MYSQL_RADIUS_DB=" . freeradius_dbname($_apip) . " \\\n -e MYSQL_LOGIN=radius \\\n -e MYSQL_PASSWORD=admin123 \\\n -e APIP={$_apip} \\\n -e RADIUS_SECRET=radiussecret \\\n -e NOTIFY_AUTH_IP=\$(docker inspect --format='{{.NetworkSettings.IPAddress}}' {$PHPAPACHE_CONTAINER_NAME}) \\\n -e NOTIFY_AUTH_PORT=80 \\\n --name " . freeradius_contname($_apip) . " \\\n -v ~/wifiSentinel/freeradius/entrypoint_wifi_sentinel.sh:/usr/bin/entrypoint_wifi_sentinel.sh \\\n -d roocell/notifyauth_freeradius entrypoint_wifi_sentinel.sh"; }