update src

This commit is contained in:
Andrew Pamment 2025-09-07 15:02:33 +10:00
parent d07553afec
commit 85ad3eca40

View File

@ -13,6 +13,7 @@ struct BbsEntry {
location: String, location: String,
desc: String, desc: String,
sysop: String, sysop: String,
owner: i32,
} }
fn load_bbslist() -> Result<Vec<BbsEntry>, Box<dyn Error>> { fn load_bbslist() -> Result<Vec<BbsEntry>, Box<dyn Error>> {
@ -172,6 +173,28 @@ fn door_main(mut u: door::User) -> Result<(), Box<dyn Error>> {
} }
} else if ch == b'q' || ch == b'Q' { } else if ch == b'q' || ch == b'Q' {
break; break;
} else if ch == b'd' || ch == b'D' {
if !bbslist.is_empty() {
if bbslist[index].owner == u.info().record || u.info().seclevel >= 90 {
bbslist.remove(index);
let file = File::create("bbslist.json")?;
serde_json::to_writer_pretty(file, &bbslist)?;
door::screen::clear(&mut u)?;
door::file::display(&mut u, "bbslist.ans")?;
u.write_str(
format!(
"{}{} BBS List v2.0 - There are {} BBSes in this list!{}{}",
esc!("[1;1H"),
esc!("[0;30;46m"),
bbslist.len(),
esc!("[K"),
esc!("[0m")
)
.as_str(),
)?;
}
}
} else if ch == b'a' || ch == b'A' { } else if ch == b'a' || ch == b'A' {
door::screen::clear(&mut u)?; door::screen::clear(&mut u)?;
@ -190,7 +213,7 @@ fn door_main(mut u: door::User) -> Result<(), Box<dyn Error>> {
let sysop = door::read_string(&mut u, 37)?; let sysop = door::read_string(&mut u, 37)?;
u.write_str("\r\nShort Description: ")?; u.write_str("\r\nShort Description: ")?;
let desc = door::read_string(&mut u, 37)?; let desc = door::read_string(&mut u, 37)?;
let owner = u.info().record;
bbslist.push(BbsEntry { bbslist.push(BbsEntry {
name, name,
telnet, telnet,
@ -199,6 +222,7 @@ fn door_main(mut u: door::User) -> Result<(), Box<dyn Error>> {
location, location,
sysop, sysop,
desc, desc,
owner
}); });
let file = File::create("bbslist.json")?; let file = File::create("bbslist.json")?;