Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Imported form mockups from the uReport project. They are mockups of t…

…his project and had been stored in the wrong place.
  • Loading branch information...
commit 9078d2c2f66631909596459a26ee7fb638dcc65b 1 parent 082a5f4
@inghamn inghamn authored
View
111 docs/DeveloperGuide/form_mockups/contact.html
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+<head profile="http://dublincore.org/documents/dcq-html/">
+ <style type="text/css" media="screen">
+ @import url('forms.css');
+ </style>
+</head>
+<div id="banner">
+ <div id="logo"><a href="http://bloomington.in.gov/">City of Bloomington, IN</a></div>
+ <div id="skipNavigation"><a href="#mainContent" title="Skip Navigation">Skip Navigation</a></div>
+ <div class="widgets">
+
+<div class="widget take-action">
+ <h1>Take Action</h1>
+ <ul>
+ <li class="do"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=10">Do</a></li>
+ <li class="report"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=13">Report</a></li>
+ <li class="ask"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=12">Ask</a></li>
+ <li class="explore"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=29">Explore</a></li>
+
+ </ul>
+</div>
+ </div>
+ <div id="mainLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=4">Services</a></li>
+ <li><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=5">News</a></li>
+ <li><a href="http://bloomington.in.gov/calendars">Calendars</a></li>
+ <li><a href="http://bloomington.in.gov/locations">Locations</a></li>
+ <li><a href="http://bloomington.in.gov/mybloomington">myBloomington</a></li>
+ <li><a href="http://bloomington.in.gov/search/sitemap.php">Sitemap</a></li>
+ </ul>
+ </div>
+ <div id="secondaryLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/subscribe">Subscribe</a></li>
+ <li><a href="http://bloomington.in.gov/contact">Contact Us</a></li>
+ <li><form method="get" action="http://bloomington.in.gov/search">
+<fieldset><legend>Search</legend>
+ <input name="search" size="60" value="" />
+ <button type="submit" class="search">Search</button>
+</fieldset>
+</form>
+</li>
+ </ul>
+ </div>
+ </div>
+<div id="topLevelSections">
+<ul><li class="home"><a href="http://bloomington.in.gov">Home</a></li>
+ <li class="government"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=4">Government</a></li>
+ <li class="community"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=5">Community</a></li>
+ <li class="business-sustainability"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=6">Business &amp; Sustainability</a></li>
+ <li class="arts-culture"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=218">Arts &amp; Culture</a></li>
+ <li class="parks-recreation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=8">Parks &amp; Recreation</a></li>
+ <li class="public-safety"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=3">Public Safety</a></li>
+ <li class="transportation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=10">Transportation</a></li>
+</ul>
+</div>
+<div id="main-content-container">
+ <div id="leftSidebar"></div>
+ <div id="rightSidebar"></div>
+ <div id="mainContent">
+ <div id="pageTitle">
+ <h1>Reporting Center</h1>
+ </div>
+ <div id="formcontent">
+ <div id="topic">
+ <h2>Report Graffiti</h2>
+ </div>
+ <div id="formCrumbs">
+ <ol>
+ <li>Topic - Graffiti </li>
+ <li>Contact Info</li>
+ <li>Location</li>
+ <li>Details and Submit</li>
+ </ol>
+ </div>
+ <h2>Contact Info</h2>
+ <p>Associate yourself with this report. Skip this step to remain anonymous.</p>
+ <form name="input" action="location.html" method="post">
+ <table>
+ <tr>
+ <th><label for="firstname">First Name</label></th><td><input type="text" id="firstname" name="firstname" /></td>
+ </tr>
+ <tr>
+ <th><label for="lastname">Last Name</label></th><td><input type="text" id="lastname" name="lastname" /></td>
+ </tr>
+ <tr>
+ <th><label for="email">Email</label></th><td><input type="text" id="email" name="email" /></td>
+ </tr>
+ <tr>
+ <th><label for="phone">Phone</label></th><td><input type="text" id="phone" name="phone" /></td>
+ </tr>
+ <tr>
+ <th><label for="issue-responseMethod">Do you wish to be contacted?</th>
+ <td><select name="issue-responseMethod" id="issue-responseMethod">
+ <option value="">Do not contact</option>
+ <option>Phone</option>
+ <option>Email</option>
+ <option>Letter</option>
+ <option>Mayor Email</option>
+ <option>Constituent Meeting</option>
+ </select>
+ </td>
+ </tr>
+ </table>
+ <p><input type="submit" /> or <a href="location.html">Skip this step</a></p>
+ </form>
+ </div>
+ </div>
+</div>
+<div id="footer"></div>
View
149 docs/DeveloperGuide/form_mockups/details.html
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+<head profile="http://dublincore.org/documents/dcq-html/">
+ <style type="text/css" media="screen">
+ @import url('forms.css');
+ </style>
+</head>
+<div id="banner">
+ <div id="logo"><a href="http://bloomington.in.gov/">City of Bloomington, IN</a></div>
+ <div id="skipNavigation"><a href="#mainContent" title="Skip Navigation">Skip Navigation</a></div>
+ <div class="widgets">
+
+<div class="widget take-action">
+ <h1>Take Action</h1>
+ <ul>
+ <li class="do"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=10">Do</a></li>
+ <li class="report"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=13">Report</a></li>
+ <li class="ask"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=12">Ask</a></li>
+ <li class="explore"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=29">Explore</a></li>
+
+ </ul>
+</div>
+ </div>
+ <div id="mainLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=4">Services</a></li>
+ <li><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=5">News</a></li>
+ <li><a href="http://bloomington.in.gov/calendars">Calendars</a></li>
+ <li><a href="http://bloomington.in.gov/locations">Locations</a></li>
+ <li><a href="http://bloomington.in.gov/mybloomington">myBloomington</a></li>
+ <li><a href="http://bloomington.in.gov/search/sitemap.php">Sitemap</a></li>
+ </ul>
+ </div>
+ <div id="secondaryLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/subscribe">Subscribe</a></li>
+ <li><a href="http://bloomington.in.gov/contact">Contact Us</a></li>
+ <li><form method="get" action="http://bloomington.in.gov/search">
+<fieldset><legend>Search</legend>
+ <input name="search" size="60" value="" />
+ <button type="submit" class="search">Search</button>
+</fieldset>
+</form>
+</li>
+ </ul>
+ </div>
+ </div>
+<div id="topLevelSections">
+<ul><li class="home"><a href="http://bloomington.in.gov">Home</a></li>
+ <li class="government"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=4">Government</a></li>
+ <li class="community"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=5">Community</a></li>
+ <li class="business-sustainability"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=6">Business &amp; Sustainability</a></li>
+ <li class="arts-culture"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=218">Arts &amp; Culture</a></li>
+ <li class="parks-recreation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=8">Parks &amp; Recreation</a></li>
+ <li class="public-safety"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=3">Public Safety</a></li>
+ <li class="transportation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=10">Transportation</a></li>
+</ul>
+</div>
+<div id="main-content-container">
+ <div id="leftSidebar"></div>
+ <div id="rightSidebar"></div>
+ <div id="mainContent">
+ <div id="pageTitle">
+ <h1>Reporting Center</h1>
+ </div>
+ <div id="formcontent">
+ <div id="topic">
+ <h2>Report Graffiti</h2>
+ </div>
+ <div id="formCrumbs">
+ <ol>
+ <li>Topic - Graffiti </li>
+ <li>Contact Info</li>
+ <li>Location</li>
+ <li>Details and Submit</li>
+ </ol>
+ </div>
+ <h2>Details</h2>
+ <form name="input" action="thanks.html" method="post">
+ <fieldset>
+ <label for="issue-description">Describe the issue</label>
+ <textarea name="issue-description" id="issue-description" rows="3" cols="60"></textarea>
+ <p>
+ <label for="attachment">Upload an image or other attachment concerning your issue. Maximum size is 10 mb.</label>
+ <input name="photo" type="file" />
+ </p>
+ </fieldset>
+ <div id="customfields">
+ <fieldset>
+ <p><label for="owner">Are you a property owner/manager?</label>
+ <label>
+ <input type="radio" name="owner" id="owner" value="yes"
+ Yes
+ </label>
+ <label>
+ <input type="radio" name="owner" id="owner" value="no"
+ No
+ </label>
+ </p>
+ <p><label for="date">When did you first observe the Graffiti?</label>
+ <input name="date" id="date" />
+ </p>
+ <p><label for="property_type">Graffiti is on: (check all that apply)</label>
+ <label><input type="checkbox" name="property_type[]" id="property_type" value="public" />Public Property</label>
+ <label><input type="checkbox" name="property_type[]" id="property_type" value="private" />Private Property</label>
+ <label><input type="checkbox" name="property_type[]" id="property_type" value="residence" />Residence</label>
+ <label><input type="checkbox" name="property_type[]" id="property_type" value="business" />Business</label>
+ </p>
+ <p><label for="property_pieces">Property Type</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="building" />Building</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="brick_wall" />Brick Wall</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="bridge" />Bridge</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="concrete_block_wall" />Concrete Block Wall</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="curbs" />Curbs</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="driveway" />Driveway</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="fence" />Fence</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="garage_door" />Garage Door</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="granite_pole" />Granite Pole</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="house" />House</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="metal_pole" />Metal Pole</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="parking_lot" />Parking Lot</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="pedestrian_tunnel" />Pedestrian Tunnel</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="overpass" />Overpass</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="sidewalk" />Sidewalk</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="stop_sign" />Stop Sign</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="street" />Street</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="telephone_poles" />Telephone Poles</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="traffic_control_box" />Traffic Control Box</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="traffic_signs" />Traffic Signs</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="tree" />Tree</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="underpass" />Underpass</label>
+ <label><input type="checkbox" name="property_pieces[]" id="property_pieces" value="other" />Other</label>
+ </p>
+ <p><label for="other">If other, please define</label>
+ <input name="other" id="other" />
+ </p>
+
+ <p><label for="plagued">
+ Is this area consistently plagued by graffiti? If so, is it always the same kind of graffiti (political, ideological, offensive, tags, etc)? Please explain.
+ </label>
+ <textarea name="plagued" id="plagued" cols="50" rows ="5"></textarea>
+ </p>
+ </fieldset>
+ </div>
+ <p><input type="submit" /></p>
+ </form>
+ </div>
+ </div>
+</div>
+<div id="footer"></div>
View
112 docs/DeveloperGuide/form_mockups/forms.css
@@ -0,0 +1,112 @@
+html { background:url('../default/images/pagebg.gif'); background-repeat:repeat; background-position:top; text-align:center; padding-bottom:10px; }
+body { width:980px; position:relative; margin:0 auto; text-align:left; background-color:white; font-family:Arial, Helvetica, sans-serif; }
+#banner { width:100%; }
+#leftSidebar { display:none; }
+#rightSidebar { display:none; }
+#mainContent { width:100%; }
+
+/* DEFAULT TEXT */
+a { color:#0066CC; }
+a:active { color:#0066CC; }
+a:hover { color:#0066CC; text-decoration:underline; }
+
+hr { border:0; height:1px; background-color:#003366; margin-bottom:10px; margin-top:10px; }
+
+p { margin:0; margin-bottom:.5em; }
+
+h1 { font-size:30px; color:red; margin:0; padding:0; font-weight:bold; clear:both; }
+h2 { font-size:16px; color:#003366; margin:15px 0px 5px 0px; font-weight:bold; clear:both; }
+h2 a { color:#003366; }
+h3 { font-size:14px; color:#003366; margin:15px 0px 5px 0px; padding:0; font-weight:bold; }
+h3 a { color:#003366; }
+h4 { font-size:13px; color:#003366; margin:15px 0px 5px 0px; padding:0; font-weight:bold; }
+h4 a { color:#003366; }
+h5 { font-size:13px; color:#003366; margin:15px 0px 5px 0px; padding:0; font-weight:bold; }
+h5 a { color:#003366; }
+h6 { font-size:12px; color:#003366; margin:15px 0px 5px 0px; font-weight:bold; }
+h6 a { color:#003366; }
+
+strong { font-weight:bold; }
+u { text-decoration:underline; }
+em { font-style:italic; }
+sub { vertical-align:sub; }
+sup { vertical-align:super; }
+code { font-family:monospace; }
+address { font-style:normal; }
+
+dt { font-weight:bold; }
+
+blockquote { margin:1em 40px; }
+
+form { }
+fieldset { margin-bottom:10px; }
+legend { background-color:#5a8fdc; font-weight:bold; padding:4px; margin-bottom:2px; color:white; }
+label { font-weight:bold; }
+label.required {padding-left:15px; }
+select { font-size:12px; }
+textarea { }
+input { }
+
+table { border-collapse:collapse; border:1px solid #999999; margin:1em 0 1em 0; }
+tr { }
+td { padding:2px; background-color:inherit; border:1px solid #999999; vertical-align:top; }
+th { text-align:left; border:1px solid #999999; background-color:#e0e0e0; padding:2px; vertical-align: top; font-weight:bold; }
+th a { color:#3366cc; background-color:inherit; }
+
+
+#banner { width:980px; margin:0; padding:0; height:130px; background:url('http://bloomington.in.gov/skins/spring/images/banner/springbanner.jpg') top left no-repeat; font-size:12px; }
+#banner ul { list-style-type:none; margin:0; padding:0; }
+#banner a { color:black; font-size:11px; }
+
+#logo { width:284px; height:68px; position:absolute; top:16px; left:16px; text-indent:-9999px; }
+#logo a { display:block; width:246px; height:64px; }
+
+#skipNavigation { position:absolute; left:-9999px; }
+
+/* Take Action */
+#banner .widgets { width:296px; height:24px; position:relative; top:98px; left:16px; padding-top:4px; }
+#banner .widgets h1 { display:inline; margin-left:7px; font-weight:bold; font-size:11px; color:#333333; }
+#banner .widgets ul,#banner .widgets li { display:inline; }
+#banner .widgets a { font-weight:bold; font-size:11px; }
+#banner .take-action .do { margin-left:30px; }
+#banner .take-action .do a { color:#005502; }
+#banner .take-action .report { margin-left:12px; }
+#banner .take-action .report a { color:#990000; }
+#banner .take-action .ask { margin-left:13px; }
+#banner .take-action .ask a { color:#660066; }
+#banner .take-action .explore { margin-left:13px; }
+#banner .take-action .explore a { color:#c13100; }
+
+#mainLinks { width:335px; height:30px; position:absolute; top:10px; left:330px; padding-top:6px; padding-left:3px; }
+#mainLinks ul, #mainLinks li { display:inline; }
+
+#mainLinks a, #secondaryLinks a { color:#003366; }
+#mainLinks li { border-left:1px solid #003366; padding-left:5px; }
+#mainLinks li.first { border-left:0; }
+
+#secondaryLinks { width:260px; height:30px; position:absolute; top:10px; right:4px; padding-top:6px; }
+#secondaryLinks li { float:left; padding-right:5px; margin-right:4px; }
+#secondaryLinks li.first { border-right:1px solid #003366; }
+#secondaryLinks form { width:120px; height:20px; background:url('../default/images/banners/search.gif') top left no-repeat; position:relative; top:-3px; left:12px; }
+#secondaryLinks fieldset { }
+#secondaryLinks legend { display:none; }
+#secondaryLinks input { border:0; background-color:transparent; width:82px; margin-left:18px; font-size:11px; }
+#secondaryLinks button { display:none; }
+
+
+#topLevelSections { background-color:#003366; height:21px; padding-top:1px; }
+#topLevelSections ul { list-style-type:none; height:21px; margin:0; padding:0; overflow:hidden; }
+#topLevelSections li { height:19px; float:left; margin-left:14px; border-left:1px solid white; padding-left:14px; padding-top:2px; }
+#topLevelSections li.home { border-left:none; }
+#topLevelSections a { color:white; font-weight:bold; font-size:13px; text-decoration:none; }
+
+#pageTitle { background:url('open311.png') top left no-repeat; padding-left:80px; line-height:65px; position:relative; }
+#pageTitle h1 { vertical-align:middle; display:block; }
+
+#main-content-container { width:978px; background-color:grey; border-left:1px solid black; border-right:1px solid black; margin:0; overflow:auto; padding-top:10px; }
+#mainContent { background-color:white; }
+#formCrumbs { height:1.5em; background-color:#dddddd; }
+#formCrumbs ol { display:inline; margin:0; padding:0; }
+#formCrumbs li { float:left; margin-left:5px; padding-right:30px; }
+
+.expand {float:right; }
View
104 docs/DeveloperGuide/form_mockups/groups.html
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+<head profile="http://dublincore.org/documents/dcq-html/">
+ <style type="text/css" media="screen">
+ @import url('forms.css');
+ </style>
+</head>
+<div id="banner">
+ <div id="logo"><a href="http://bloomington.in.gov/">City of Bloomington, IN</a></div>
+ <div id="skipNavigation"><a href="#mainContent" title="Skip Navigation">Skip Navigation</a></div>
+ <div class="widgets">
+
+<div class="widget take-action">
+ <h1>Take Action</h1>
+ <ul>
+ <li class="do"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=10">Do</a></li>
+ <li class="report"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=13">Report</a></li>
+ <li class="ask"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=12">Ask</a></li>
+ <li class="explore"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=29">Explore</a></li>
+
+ </ul>
+</div>
+ </div>
+ <div id="mainLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=4">Services</a></li>
+ <li><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=5">News</a></li>
+ <li><a href="http://bloomington.in.gov/calendars">Calendars</a></li>
+ <li><a href="http://bloomington.in.gov/locations">Locations</a></li>
+ <li><a href="http://bloomington.in.gov/mybloomington">myBloomington</a></li>
+ <li><a href="http://bloomington.in.gov/search/sitemap.php">Sitemap</a></li>
+ </ul>
+ </div>
+ <div id="secondaryLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/subscribe">Subscribe</a></li>
+ <li><a href="http://bloomington.in.gov/contact">Contact Us</a></li>
+ <li><form method="get" action="http://bloomington.in.gov/search">
+<fieldset><legend>Search</legend>
+ <input name="search" size="60" value="" />
+ <button type="submit" class="search">Search</button>
+</fieldset>
+</form>
+</li>
+ </ul>
+ </div>
+ </div>
+<div id="topLevelSections">
+<ul><li class="home"><a href="http://bloomington.in.gov">Home</a></li>
+ <li class="government"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=4">Government</a></li>
+ <li class="community"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=5">Community</a></li>
+ <li class="business-sustainability"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=6">Business &amp; Sustainability</a></li>
+ <li class="arts-culture"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=218">Arts &amp; Culture</a></li>
+ <li class="parks-recreation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=8">Parks &amp; Recreation</a></li>
+ <li class="public-safety"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=3">Public Safety</a></li>
+ <li class="transportation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=10">Transportation</a></li>
+</ul>
+</div>
+<div id="main-content-container">
+ <div id="leftSidebar"></div>
+ <div id="rightSidebar"></div>
+ <div id="mainContent">
+ <div id="pageTitle">
+ <div id="breadcrumbs"></div>
+ <h1>Reporting Center</h1>
+ </div>
+ <div id="groups">
+ <p>Find topics organized by category for which the City has a submittable form. If you don't see your topic listed, either report something using the category <a href="contact.html">other</a> or email info@bloomington.in.gov.
+ </p>
+ <table>
+ <tr>
+ <th>Animals: Issues involving animal control and strays <span class="expand">+</span></th>
+ </tr>
+ <tr>
+ <th>Land and Housing: Private and Public buildings, yards, and building construction <span class="expand">-</span></th>
+ </tr>
+ <tr>
+ <td>
+ <ul>
+ <li><a href="contact.html">Fire Hazards</a></li>
+ <li><a href="contact.html">Over Occupancy</a></li>
+ <li><a href="contact.html">Rental Complaints</a></li>
+ <li><a href="contact.html">Unsafe Structures</a></li>
+ <li><a href="contact.html">Recycling</a></li>
+ <li><a href="contact.html">Yard Waste</a></li>
+ <li><a href="contact.html">Weeds</a></li>
+ <li><a href="contact.html">Graffiti</a></li>
+ <li><a href="contact.html">Trash</a></li>
+ <li><a href="contact.html">Public Works Projects</a></li>
+ <li><a href="contact.html">City Lawns</a></li>
+ <li><a href="contact.html">Leaf Collection</a></li>
+ <li><a href="contact.html">Unregistered Rental</a></li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <th>
+ Parks and Trails <span class="expand">+</span>
+ </th>
+ </tr>
+<div id="footer"></div>
+ </table>
+ </div>
+ </div>
+</div>
View
86 docs/DeveloperGuide/form_mockups/location.html
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+<head profile="http://dublincore.org/documents/dcq-html/">
+ <style type="text/css" media="screen">
+ @import url('forms.css');
+ </style>
+</head>
+<div id="banner">
+ <div id="logo"><a href="http://bloomington.in.gov/">City of Bloomington, IN</a></div>
+ <div id="skipNavigation"><a href="#mainContent" title="Skip Navigation">Skip Navigation</a></div>
+ <div class="widgets">
+
+<div class="widget take-action">
+ <h1>Take Action</h1>
+ <ul>
+ <li class="do"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=10">Do</a></li>
+ <li class="report"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=13">Report</a></li>
+ <li class="ask"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=12">Ask</a></li>
+ <li class="explore"><a href="http://bloomington.in.gov/facets/viewFacet.php?facet_id=29">Explore</a></li>
+
+ </ul>
+</div>
+ </div>
+ <div id="mainLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=4">Services</a></li>
+ <li><a href="http://bloomington.in.gov/documentTypes/documents.php?documentType_id=5">News</a></li>
+ <li><a href="http://bloomington.in.gov/calendars">Calendars</a></li>
+ <li><a href="http://bloomington.in.gov/locations">Locations</a></li>
+ <li><a href="http://bloomington.in.gov/mybloomington">myBloomington</a></li>
+ <li><a href="http://bloomington.in.gov/search/sitemap.php">Sitemap</a></li>
+ </ul>
+ </div>
+ <div id="secondaryLinks">
+ <ul><li class="first"><a href="http://bloomington.in.gov/subscribe">Subscribe</a></li>
+ <li><a href="http://bloomington.in.gov/contact">Contact Us</a></li>
+ <li><form method="get" action="http://bloomington.in.gov/search">
+<fieldset><legend>Search</legend>
+ <input name="search" size="60" value="" />
+ <button type="submit" class="search">Search</button>
+</fieldset>
+</form>
+</li>
+ </ul>
+ </div>
+ </div>
+<div id="topLevelSections">
+<ul><li class="home"><a href="http://bloomington.in.gov">Home</a></li>
+ <li class="government"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=4">Government</a></li>
+ <li class="community"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=5">Community</a></li>
+ <li class="business-sustainability"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=6">Business &amp; Sustainability</a></li>
+ <li class="arts-culture"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=218">Arts &amp; Culture</a></li>
+ <li class="parks-recreation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=8">Parks &amp; Recreation</a></li>
+ <li class="public-safety"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=3">Public Safety</a></li>
+ <li class="transportation"><a href="http://bloomington.in.gov/sections/viewSection.php?section_id=10">Transportation</a></li>
+</ul>
+</div>
+<div id="main-content-container">
+ <div id="leftSidebar"></div>
+ <div id="rightSidebar"></div>
+ <div id="mainContent">
+ <div id="pageTitle">
+ <h1>Reporting Center</h1>
+ </div>
+ <div id="formcontent">
+ <div id="topic">
+ <h2>Report Graffiti</h2>
+ </div>
+ <div id="formCrumbs">
+ <ol>
+ <li>Topic - Graffiti </li>
+ <li>Contact Info</li>
+ <li>Location</li>
+ <li>Details and Submit</li>
+ </ol>
+ </div>
+ <h2>Location Information</h2>
+ <p>Are you reporting something about a particluar location? If not, skip this step.</p>
+ <form name="input" action="details.html" method="post">
+ <p>Map stuff here</p>
+ <p><input type="submit" /> or <a href="details.html">Skip this step</a></p>
+ </form>
+ </div>
+ </div>
+</div>
+<div id="footer"></div>
View
182 libraries/framework/classes/ActiveRecord.php
@@ -0,0 +1,182 @@
+<?php
+/**
+ * @copyright 2012 City of Bloomington, Indiana
+ * @license http://www.gnu.org/licenses/agpl.txt GNU/AGPL, see LICENSE.txt
+ * @author Cliff Ingham <inghamn@bloomington.in.gov>
+ */
+abstract class ActiveRecord
+{
+ protected $tablename;
+ protected $data = array();
+
+ const MYSQL_DATE_FORMAT = 'Y-m-d H:i:s';
+
+ abstract public function validate();
+
+ /**
+ * Writes the database back to the database
+ */
+ protected function save()
+ {
+ $this->validate();
+ $zend_db = Database::getConnection();
+ if ($this->getId()) {
+ $zend_db->update($this->tablename, $this->data, "id={$this->getId()}");
+ }
+ else {
+ $zend_db->insert($this->tablename, $this->data);
+ $this->data['id'] = $zend_db->lastInsertId($this->tablename, 'id');
+ }
+ }
+
+ /**
+ * Removes this record from the database
+ */
+ protected function delete()
+ {
+ if ($this->getId()) {
+ $zend_db = Database::getConnection();
+ $zend_db->delete($this->tablename, 'id='.$this->getId());
+ }
+ }
+
+ /**
+ * Returns any field stored in $data
+ *
+ * @param string $fieldname
+ */
+ protected function get($fieldname)
+ {
+ if (isset($this->data[$fieldname])) {
+ return $this->data[$fieldname];
+ }
+ }
+
+ /**
+ * @param string $fieldname
+ * @param string $value
+ */
+ protected function set($fieldname, $value)
+ {
+ $value = trim($value);
+ $this->data[$fieldname] = $value ? $value : null;
+ }
+
+ /**
+ * Returns the date/time in the desired format
+ *
+ * Format is specified using PHP's date() syntax
+ * http://www.php.net/manual/en/function.date.php
+ * If no format is given, the MongoDate object is returned
+ *
+ * @param string $field
+ * @param string $format
+ * @param DateTimeZone $timezone
+ * @return string
+ */
+ protected function getDateData($dateField, $format=null, DateTimeZone $timezone=null)
+ {
+ if (isset($this->data[$dateField])) {
+ if ($format) {
+ $date = new DateTime($this->data[$dateField]);
+ if ($timezone) { $date->setTimezone($timezone); }
+ return $date->format($format);
+ }
+ else {
+ return $this->data[$dateField];
+ }
+ }
+ }
+
+ /**
+ * Sets a date
+ *
+ * Dates should be in something strtotime() understands
+ * http://www.php.net/manual/en/function.strtotime.php
+ *
+ * @param string $dateField
+ * @param string $date
+ */
+ protected function setDateData($dateField, $date)
+ {
+ $date = trim($date);
+ if ($date) {
+ $date = new DateTime($date);
+ $this->data[$dateField] = $date->format(self::MYSQL_DATE_FORMAT);
+ }
+ else {
+ $this->data[$dateField] = null;
+ }
+ }
+
+ /**
+ * Loads and returns an object for a foreign key _id field
+ *
+ * Will cache the object in a private variable to avoid multiple database lookups.
+ * Make sure to declare a private variable matching the class
+ *
+ * @param string $class
+ * @param string $field
+ */
+ protected function getForeignKeyObject($class, $field)
+ {
+ $var = preg_replace('/_id$/', '', $field);
+ if (!$this->$var && isset($this->data[$field])) {
+ $this->$var = new $class($this->data[$field]);
+ }
+ return $this->$var;
+ }
+
+ /**
+ * Verifies and saves the ID for a foreign key field
+ *
+ * Loads the object record for the foreign key and caches
+ * the object in a private variable
+ *
+ * @param string $class
+ * @param string $field
+ * @param string $id
+ */
+ protected function setForeignKeyField($class, $field, $id)
+ {
+ $id = trim($id);
+ $var = preg_replace('/_id$/', '', $field);
+ if ($id) {
+ $this->$var = new $class($id);
+ $this->data[$field] = $this->$var->getId();
+ }
+ else {
+ $this->$field = null;
+ $this->data[$field] = null;
+ }
+ }
+
+ /**
+ * Verifies and saves the ID for a foreign key object
+ *
+ * Caches the object in a private variable and sets
+ * the ID value in the data
+ *
+ * @param string $class
+ * @param string $field
+ * @param Object $object
+ */
+ protected function setForeignKeyObject($class, $field, $object)
+ {
+ if ($object instanceof $class) {
+ $var = preg_replace('/_id$/', '', $field);
+ $this->data[$field] = $object->getId();
+ $this->$var = $object;
+ }
+ }
+
+ /**
+ * Returns whether the value can be an ID for a record
+ *
+ * return @bool
+ */
+ public static function isId($id)
+ {
+ return ((is_int($id) && $id>0) || (is_string($id) && ctype_digit($id)));
+ }
+}

0 comments on commit 9078d2c

Please sign in to comment.
Something went wrong with that request. Please try again.