From 06c95f8566caf0f4452482b8fcd28c1624a190de Mon Sep 17 00:00:00 2001 From: Rockdtben Date: Thu, 12 Jun 2014 13:18:22 -0500 Subject: [PATCH 1/2] Security Console now uses the Player Panel New search. --- code/game/machinery/computer/security.dm | 139 ++++++++++------------- 1 file changed, 63 insertions(+), 76 deletions(-) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index a046c796659..02fb111b1f0 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -48,10 +48,59 @@ if (authenticated) switch(screen) if(1.0) + + //body tag start + onload and onkeypress (onkeyup) javascript event calls + dat += "" + //search bar javascript + dat += {" + + + + + + + + "} dat += {"

"} - dat += text("Search Records
", src) dat += text("New Record
", src) + //search bar + dat += {" + + + + +
+ Search: +
+ "} dat += {"

@@ -59,7 +108,9 @@
Records:
- + + +
@@ -88,12 +139,19 @@ if("") background = "''" //"'background-color:#FFFFFF;'" crimstat = "No Record." - dat += text("", background, src, R, R.fields["name"]) + dat += "" + dat += text("", R.fields["name"], R.fields["id"], R.fields["rank"], R.fields["fingerprint"], src, R, R.fields["name"]) dat += text("", R.fields["id"]) dat += text("", R.fields["rank"]) dat += text("", R.fields["fingerprint"]) dat += text("", crimstat) - dat += "
Name ID
[]
[][][][][]

" + dat += {" + + +
"} dat += text("Record Maintenance

", src) dat += text("{Log Out}",src) if(2.0) @@ -159,53 +217,6 @@ dat += "Security Record Lost!
" dat += text("New Security Record

", src) dat += text("\nDelete Record (ALL)

\nPrint Record
\nBack
", src, src, src) - if(4.0) - if(!Perp.len) - dat += text("ERROR. String could not be located.

Back", src) - else - dat += {" - - "} - dat += text("", tempname) - dat += {" - -
Search Results for '[]':
- - - - - - - - "} - for(var/i=1, i<=Perp.len, i += 2) - var/crimstat = "" - var/datum/data/record/R = Perp[i] - if(istype(Perp[i+1],/datum/data/record/)) - var/datum/data/record/E = Perp[i+1] - crimstat = E.fields["criminal"] - var/background - switch(crimstat) - if("*Arrest*") - background = "'background-color:#DC143C;'" - if("Incarcerated") - background = "'background-color:#CD853F;'" - if("Parolled") - background = "'background-color:#CD853F;'" - if("Discharged") - background = "'background-color:#3BB9FF;'" - if("None") - background = "'background-color:#00FF7F;'" - if("") - background = "'background-color:#FFFFFF;'" - crimstat = "No Record." - dat += text("", background, src, R, R.fields["name"]) - dat += text("", R.fields["id"]) - dat += text("", R.fields["rank"]) - dat += text("", R.fields["fingerprint"]) - dat += text("", crimstat) - dat += "
NameIDRankFingerprintsCriminal Status
[][][][][]

" - dat += text("
Return to index.", src) else else dat += text("{Log In}", src) @@ -286,30 +297,6 @@ What a mess.*/ rank = scan.assignment screen = 1 //RECORD FUNCTIONS - if("Search Records") - var/t1 = input("Search String: (Partial Name or ID or Fingerprints or Rank)", "Secure. records", null, null) as text - if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || !in_range(src, usr))) - return - Perp = new/list() - t1 = lowertext(t1) - var/list/components = text2list(t1, " ") - if(components.len > 5) - return //Lets not let them search too greedily. - for(var/datum/data/record/R in data_core.general) - var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + " " + R.fields["rank"] - for(var/i = 1, i<=components.len, i++) - if(findtext(temptext,components[i])) - var/prelist = new/list(2) - prelist[1] = R - Perp += prelist - for(var/i = 1, i<=Perp.len, i+=2) - for(var/datum/data/record/E in data_core.security) - var/datum/data/record/R = Perp[i] - if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) - Perp[i+1] = E - tempname = t1 - screen = 4 - if("Record Maintenance") screen = 2 active1 = null @@ -665,4 +652,4 @@ What a mess.*/ /obj/machinery/computer/secure_data/detective_computer icon = 'icons/obj/computer.dmi' - icon_state = "messyfiles" + icon_state = "messyfiles" \ No newline at end of file From a3d76b4a95e79ad94393c8ec5742f483d8d1b485 Mon Sep 17 00:00:00 2001 From: Rockdtben Date: Fri, 13 Jun 2014 08:21:23 -0500 Subject: [PATCH 2/2] Fix runtime when Id is not still in machine. --- code/game/machinery/computer/security.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 02fb111b1f0..80693df3f66 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -284,9 +284,10 @@ What a mess.*/ if("Log In") if (istype(usr, /mob/living/silicon)) + var/mob/living/silicon/borg = usr active1 = null active2 = null - authenticated = 1 + authenticated = borg.name rank = "AI" screen = 1 else if (istype(scan, /obj/item/weapon/card/id)) @@ -529,7 +530,7 @@ What a mess.*/ var/t2 = copytext(sanitize(input("Please input minor crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN) if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) return - var/crime = data_core.createCrimeEntry(t1, t2, scan.registered_name ? scan.registered_name : "Unknown", worldtime2text()) + var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMinorCrime(active1.fields["id"], crime) if("mi_crim_delete") if (istype(active1, /datum/data/record)) @@ -543,7 +544,7 @@ What a mess.*/ var/t2 = copytext(sanitize(input("Please input major crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN) if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) return - var/crime = data_core.createCrimeEntry(t1, t2, scan.registered_name ? scan.registered_name : "Unknown", worldtime2text()) + var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMajorCrime(active1.fields["id"], crime) if("ma_crim_delete") if (istype(active1, /datum/data/record))