/obj/machinery/computer/library/public name = "visitor computer" /obj/machinery/computer/library/public/attack_hand(var/mob/user as mob) if(..()) return interact(user) /obj/machinery/computer/library/public/interact(var/mob/user) if(interact_check(user)) return var/dat = "" switch(screenstate) if(0) dat += {"

Search Settings


Filter by Title: [query.title]
Filter by Category: [query.category]
Filter by Author: [query.author]
\[Start Search\]
"} if(1) establish_old_db_connection() if(!dbcon_old.IsConnected()) dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance.
" else if(num_results == 0) dat += "No results found." else var/pagelist = get_pagelist() dat += pagelist dat += {"
"} dat += {""} for(var/datum/cachedbook/CB in get_page(page_num)) dat += {""} dat += "
Author Title Category SS13BN
[CB.author] [CB.title] [CB.category] [CB.id]

[pagelist]" dat += "\[Go Back\]
" var/datum/browser/B = new /datum/browser/clean(user, "library", "Library Visitor") B.set_content(dat) B.open() /obj/machinery/computer/library/public/Topic(href, href_list) if(..()) usr << browse(null, "window=publiclibrary") onclose(usr, "publiclibrary") return if(href_list["pagenum"]) if(!num_pages) page_num = 0 else var/pn = text2num(href_list["pagenum"]) if(!isnull(pn)) page_num = Clamp(pn, 0, num_pages) if(href_list["settitle"]) var/newtitle = input("Enter a title to search for:") as text|null if(newtitle) query.title = sanitize(newtitle) else query.title = null if(href_list["setcategory"]) var/newcategory = input("Choose a category to search for:") in (list("Any") + library_section_names) if(newcategory) query.category = sanitize(newcategory) else if(newcategory == "Any") query.category = null if(href_list["setauthor"]) var/newauthor = input("Enter an author to search for:") as text|null if(newauthor) query.author = sanitize(newauthor) else query.author = null if(href_list["page"]) if(num_pages == 0) page_num = 0 else page_num = Clamp(text2num(href_list["page"]), 0, num_pages) if(href_list["search"]) num_results = src.get_num_results() num_pages = Ceiling(num_results/LIBRARY_BOOKS_PER_PAGE) page_num = 0 screenstate = 1 if(href_list["back"]) screenstate = 0 src.add_fingerprint(usr) src.updateUsrDialog() return