Posted December 14, 2007 at
8:18 AM
Tags:
ColdFusion,
Project HUGE,
Health / Fitness
Sorry I was late getting to the gym, but I had to stop off and pick up my permit.
Permit for what?
For these guns!!!:
Anyone who has spent any time in the gym has probably heard a hundred different references to the "Guns". Guns, are of course, your arms. Sometimes referred to as pipes or pythons, the "guns" terminology hit the mainstream when Ubran Outfitters came out with their "Gun Show" t-shirt (as in, Hey ladies, did you have a chance to pick up your tickets for the GUN SHOW!!!!).
Yesterday, I was thinking that it'd be kind of fun to actually make a "Gun Permit" for gym shenanigans. And, it felt like a cool ColdFusion 8 exercise. Here's what I came up with:
Of course, my arms aren't really that large (at least not yet). The two blank boxes are for the inspector's signature and your signature.
Make your own gun permit here - Online Demo
The ColdFusion 8 code that creates this image is fairly basic. The majority of the graphic is composed of a background image; this contains the field lines and header text. ColdFusion 8 is just being used to input the dynamic form fields based on the user input:
Launch code in new window » Download code as text file »
- <cffunction
- name="AddPermitText"
- access="public"
- returnvariable="any"
- output="true"
- hint="Adds text to the image given gun permit.">
-
- <cfargument
- name="Permit"
- type="any"
- required="true"
- hint="The permit image object."
- />
-
- <cfargument
- name="Text"
- type="string"
- required="true"
- hint="The text to be applied."
- />
-
- <cfargument
- name="X"
- type="numeric"
- required="true"
- hint="The X coordinate of the text."
- />
-
- <cfargument
- name="Y"
- type="numeric"
- required="true"
- hint="The Y coordinate of the text."
- />
-
- <cfset var LOCAL = {} />
-
-
- <cfset ImageSetAntialiasing( ARGUMENTS.Permit, "on" ) />
-
- <cfset ImageSetDrawingColor(
- ARGUMENTS.Permit,
- "##454545"
- ) />
-
- <cfset LOCAL.FontAttributes = {
- Font = "Courier New",
- Size = "20"
- } />
-
- <cfset ImageDrawText(
- ARGUMENTS.Permit,
- ARGUMENTS.Text,
- ARGUMENTS.X,
- ARGUMENTS.Y,
- LOCAL.FontAttributes
- ) />
-
-
- <cfreturn ARGUMENTS.Permit />
- </cffunction>
-
-
-
-
- <cfparam name="FORM.name" type="string" default="" />
- <cfparam name="FORM.birthday" type="string" default="" />
- <cfparam name="FORM.forearm" type="string" default="" />
- <cfparam name="FORM.arm" type="string" default="" />
- <cfparam name="FORM.weight" type="string" default="" />
- <cfparam name="FORM.height" type="string" default="" />
-
-
- <cfset arrErrors = ArrayNew( 1 ) />
-
- <cfimage
- action="read"
- source="./gun_permit.gif"
- name="objPermit"
- />
-
-
-
- <cfif StructKeyExists( FORM, "FieldNames" )>
-
- <cfif NOT Len( FORM.name )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your name."
- ) />
-
- </cfif>
-
- <cfif NOT IsNumericDate( FORM.birthday )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your birthday (mm/dd/yyyy)."
- ) />
-
- </cfif>
-
- <cfif NOT Val( FORM.forearm )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your forearm circumference in inches."
- ) />
-
- </cfif>
-
- <cfif NOT Val( FORM.arm )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your upper arm circumference in inches."
- ) />
-
- </cfif>
-
- <cfif NOT Len( FORM.weight )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your weight."
- ) />
-
- </cfif>
-
- <cfif NOT Len( FORM.height )>
-
- <cfset ArrayAppend(
- arrErrors,
- "Please enter your height."
- ) />
-
- </cfif>
-
-
- <cfif NOT ArrayLen( arrErrors )>
-
- <cfset AddPermitText(
- objPermit,
- DateFormat( Now(), "mm-dd-yyyy" ),
- 375,
- 53
- ) />
-
- <cfset AddPermitText(
- objPermit,
- FORM.name,
- 26,
- 103
- ) />
-
- <cfset AddPermitText(
- objPermit,
- DateFormat( FORM.birthday, "mm-dd-yyyy" ),
- 375,
- 103
- ) />
-
- <cfset AddPermitText(
- objPermit,
- "#NumberFormat( Val( FORM.forearm ), '0.0' )#""",
- 26,
- 153
- ) />
-
- <cfset AddPermitText(
- objPermit,
- "#NumberFormat( Val( FORM.arm ), '0.0' )#""",
- 155,
- 153
- ) />
-
- <cfset AddPermitText(
- objPermit,
- FORM.weight,
- 284,
- 153
- ) />
-
- <cfset AddPermitText(
- objPermit,
- FORM.height,
- 413,
- 153
- ) />
-
- <cfset AddPermitText(
- objPermit,
- "Inspector in",
- 330,
- 180
- ) />
-
- <cfset AddPermitText(
- objPermit,
- "Charge",
- 330,
- 203
- ) />
-
- <cfset AddPermitText(
- objPermit,
- "Project Huge Fitness New York, NY 10011",
- 26,
- 253
- ) />
-
- <cfset AddPermitText(
- objPermit,
- RandRange( 1000, 9999 ),
- 413,
- 291
- ) />
-
- <cfset AddPermitText(
- objPermit,
- RandRange( 1000, 9999 ),
- 413,
- 322
- ) />
-
- </cfif>
-
- </cfif>
-
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <title>Gun Permit Using ColdFusion 8</title>
-
- <style type="text/css">
-
- body {
- font-family: verdana, arial, sans-serif ;
- font-size: 62.5% ;
- }
-
- div.errors {
- color: #CC0000 ;
- }
-
- div.errors h4 {
- font-size: 1.4em ;
- font-weight: bold ;
- margin-bottom: 7px ;
- }
-
- div.errors ul {
- font-size: 1.2em ;
- line-height: 1.4em ;
- margin-top: 0px ;
- }
-
- form {
- position: relative ;
- }
-
- label {
- display: block ;
- font-size: 1.4em ;
- margin-bottom: 5px ;
- }
-
- input {
- display: block ;
- margin-left: .5in ;
- width: 175px ;
- }
-
- div#permit {
- border: 1px solid #333333 ;
- left: 325px ;
- position: absolute ;
- width: 545px ;
- top: 5px ;
- z-index: 100 ;
- }
-
- </style>
- </head>
- <body>
-
- <cfoutput>
-
- <h1>
- Gun Permit Using ColdFusion 8
- </h1>
-
-
- <cfif ArrayLen( arrErrors )>
-
- <div class="errors">
-
- <h4>
- Please review the following:
- </h4>
-
- <ul>
- <cfloop
- index="strError"
- array="#arrErrors#">
-
- <li>
- #strError#
- </li>
-
- </cfloop>
- </ul>
-
- </div>
-
- </cfif>
-
-
- <form action="#CGI.script_name#" method="post">
-
- <label for="name">
- Name (First, Middle initial, Last):
- </label>
-
- <input
- type="text"
- name="name"
- id="name"
- value="#HtmlEditFormat( FORM.name )#"
- />
-
- <br />
-
- <label for="name">
- Birthday (mm/dd/yyyy):
- </label>
-
- <input
- type="text"
- name="birthday"
- id="birthday"
- value="#HtmlEditFormat( FORM.birthday )#"
- />
-
- <br />
-
- <label for="forearm">
- Forearm Circumference:
- </label>
-
- <input
- type="text"
- name="forearm"
- id="forearm"
- value="#HtmlEditFormat( FORM.forearm )#"
- />
-
- <br />
-
- <label for="forearm">
- Upper Arm Circumference:
- </label>
-
- <input
- type="text"
- name="arm"
- id="arm"
- value="#HtmlEditFormat( FORM.arm )#"
- />
-
- <br />
-
- <label for="weight">
- Weight:
- </label>
-
- <input
- type="text"
- name="weight"
- id="weight"
- value="#HtmlEditFormat( FORM.weight )#"
- />
-
- <br />
-
- <label for="weight">
- Height (F'I"):
- </label>
-
- <input
- type="text"
- name="height"
- id="height"
- value="#HtmlEditFormat( FORM.height )#"
- />
-
- <br />
-
- <input
- type="submit"
- value="Build Gun Permit »"
- />
-
-
- <div id="permit">
-
- <cfimage
- action="writetobrowser"
- source="#objPermit#"
- format="gif"
- />
-
- </div>
-
- </form>
-
- </cfoutput>
-
- </body>
- </html>
This was just a post for fun, nothing revolutionary going on here.
Download Code Snippet ZIP File
Comments (12) |
Post Comment |
Ask Ben |
Permalink |
Other Searches |
Print Page
What Other People Are Searching For
[ local search ]
coldfusion 8 image manipulation
[ local search ]
how to create image coldfusion 8
[ local search ]
learning coldfusion 8
[ local search ]
gun permit
[ local search ]
creating a gun permit
[ local search ]
welcome to the gun show
Ben...
If your card is correct, you and I share a birthyda, albeit I was born in 1971, rather than 1980.
So Happy Birthday to you!
Posted by Andy Matthews
on Dec 14, 2007
at 9:08 AM
@Andy,
That birthday is accurate. Very cool. AND, we both share the day with Bill Murray. I don't know about you, but that's pretty awesome in my book :)
Posted by Ben Nadel
on Dec 14, 2007
at 9:14 AM
hehe, that's awesome!
cool use of cfimage..
Posted by Mat Evans
on Dec 14, 2007
at 9:15 AM
I didn't know that, and yes...that IS really cool. He's got to be one of the funniest guys to come around in the last 30 years.
Posted by Andy Matthews
on Dec 14, 2007
at 9:22 AM
@Andy,
Have you seen this video on Fact Checking:
http://www.funnyordie.com/videos/eae26bb96d
Quality stuff and unexpected Murray.
Posted by Ben Nadel
on Dec 14, 2007
at 9:25 AM
"That's a man, BABY!"
-- Austin Danger Powers
Posted by Roe
on Dec 14, 2007
at 12:47 PM
Ben, call me paranoid but I'd be careful about putting your DoB up on a public site. Combine that with the address data from your whois record and your employer details and you're in a huge mess if someone gets credit cards in your name.
Posted by George Bridgeman
on Dec 18, 2007
at 9:14 AM
@George,
You make a good point. As someone who has never had to deal with any kind of theft of any kind (I never even had a calculator stolen in school), I have a certain amount of boyish naiveté. But, that doesn't mean I shouldn't be cautious. Thanks for the reality check. I will look into making things more secure.
Posted by Ben Nadel
on Dec 18, 2007
at 9:25 AM
dude.. that's damn entertaining.
Posted by Rob
on Feb 21, 2008
at 12:16 PM
I honestly can't believe you spent time writing this code. And here I thought you were lazy :S.
Posted by Anime
on Apr 4, 2008
at 11:54 AM
You are such a dork, haha! But, Bravo! It's hilarious. I should come up with something like that for runners like my friends and myself. :)
Posted by Aliksandra
on Apr 25, 2008
at 3:20 PM
@Aliksandra,
Glad to entertain... and perhaps... inspire??
Posted by Ben Nadel
on Apr 25, 2008
at 4:15 PM
Post Comment |
Ask Ben