add ZURB foundation html5 framework
add ZURB foundation html5 framework

  <?php
 
  include_once("./lib/common.inc.php");
  setlocale(LC_CTYPE, 'C');
  // source: http://stackoverflow.com/questions/81934/easy-way-to-export-a-sql-table-without-access-to-the-server-or-phpmyadmin#81951
 
  $unspsc = Array();
  $unspscresult = $conn->prepare('select * from "UNSPSCcategories" where "UNSPSC"::text like \'%00000\';');
  $unspscresult->execute();
  foreach ($unspscresult->fetchAll() as $row) {
  $unspsc[$row['UNSPSC']] = $row['Title'];
  }
 
  $query = $conn->prepare('
  SELECT "CNID",contractnotice."agencyName",agency_nametoabn.abn as "agencyABN",
  EXTRACT(EPOCH FROM "publishDate") as "publishDate",
  EXTRACT(EPOCH FROM "contractStart") as "contractStart",
  EXTRACT(EPOCH FROM "contractEnd") as "contractEnd",
  value,description,category,
  "supplierName",(case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID,
  (\'https://www.tenders.gov.au/?event=public.advancedsearch.keyword&keyword=CN\'::text || "CNID"::text) as sourceURL
  FROM contractnotice join agency_nametoabn on contractnotice."agencyName"=agency_nametoabn."agencyName"
  where "childCN" is null'
  , array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT));
  $query->execute();
  $errors = $conn->errorInfo();
  if ($errors[2] != "") {
  die("Export terminated, db error" . print_r($errors, true));
  }
 
  $num_fields = $query->columnCount();
  $headers = Array();
  for ($i = 0; $i < $num_fields; $i++) { // for each column in query, make a CSV header
  $meta = $query->getColumnMeta($i);
  $headers[] = $meta['name'];
  }
  $fp = fopen('php://output', 'w');
  if ($fp && $query) {
  header('Content-Type: text/csv');
  header('Content-Disposition: attachment; filename="export.' . date("c") . '.csv"');
  header('Pragma: no-cache');
  header('Expires: 0');
  fputcsv($fp, $headers);
  while ($row = $query->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
  foreach ($row as $key => &$colvalue) {
 
  $colvalue = preg_replace('/[^[:print:]]/', '', utf8_encode($colvalue));
  if ($headers[$key] == "publishDate" || $headers[$key] == "contractStart"
  || $headers[$key] == "contractEnd") {
  $colvalue = date("Y-m-d", $colvalue);
  }
  /* if ($headers[$key] == "CNID") {
  $colvalue = str_replace("A","", $colvalue);
  }*/
  if ($headers[$key] == "cat1" || $headers[$key] == "cat2"
  || $headers[$key] == "cat3") {
  $colvalue = $unspsc[$colvalue];
  }
  }
  fputcsv($fp, array_values($row));
  }
  die;
  }
  ?>
 
file:b/foundation.html (new)
  <!DOCTYPE html>
 
  <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
  <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
  <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
  <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
  <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
  <head>
  <meta charset="utf-8" />
 
  <!-- Set the viewport width to device width for mobile -->
  <meta name="viewport" content="width=device-width" />
 
  <title>Welcome to Foundation</title>
 
  <!-- Included CSS Files -->
  <link rel="stylesheet" href="stylesheets/foundation.css">
  <link rel="stylesheet" href="stylesheets/app.css">
 
  <!--[if lt IE 9]>
  <link rel="stylesheet" href="stylesheets/ie.css">
  <![endif]-->
 
 
  <!-- IE Fix for HTML5 Tags -->
  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
 
  </head>
  <body>
 
  <!-- container -->
  <div class="container">
 
  <div class="row">
  <div class="twelve columns">
  <h2>Welcome to Foundation</h2>
  <p>This is version 2.1.4 released on December 19, 2011</p>
  <hr />
  </div>
  </div>
 
  <div class="row">
  <div class="eight columns">
  <h3>The Grid</h3>
 
  <!-- Grid Example -->
  <div class="row">
  <div class="twelve columns">
  <div class="panel">
  <p>This is a twelve column section in a row. Each of these includes a div.panel element so you can see where the columns are - it's not required at all for the grid.</p>
  </div>
  </div>
  </div>
  <div class="row">
  <div class="six columns">
  <div class="panel">
  <p>Six columns</p>
  </div>
  </div>
  <div class="six columns">
  <div class="panel">
  <p>Six columns</p>
  </div>
  </div>
  </div>
  <div class="row">
  <div class="four columns">
  <div class="panel">
  <p>Four columns</p>
  </div>
  </div>
  <div class="four columns">
  <div class="panel">
  <p>Four columns</p>
  </div>
  </div>
  <div class="four columns">
  <div class="panel">
  <p>Four columns</p>
  </div>
  </div>
  </div>
 
  <h3>Tabs</h3>
  <dl class="tabs">
  <dd><a href="#simple1" class="active">Simple Tab 1</a></dd>
  <dd><a href="#simple2">Simple Tab 2</a></dd>
  <dd><a href="#simple3">Simple Tab 3</a></dd>
  </dl>
 
  <ul class="tabs-content">
  <li class="active" id="simple1Tab">This is simple tab 1's content. Pretty neat, huh?</li>
  <li id="simple2Tab">This is simple tab 2's content. Now you see it!</li>
  <li id="simple3Tab">This is simple tab 3's content. It's, you know...okay.</li>
  </ul>
 
  <h3>Buttons</h3>
 
  <p><a href="#" class="small blue button">Small Blue Button</a></p>
  <p><a href="#" class="blue button">Medium Blue Button</a></p>
  <p><a href="#" class="large blue button">Large Blue Button</a></p>
 
  <p><a href="#" class="nice radius small blue button">Nice Blue Button</a></p>
  <p><a href="#" class="nice radius blue button">Nice Blue Button</a></p>
  <p><a href="#" class="nice radius large blue button">Nice Blue Button</a></p>
 
  </div>
 
  <div class="four columns">
  <h4>Getting Started</h4>
  <p>We're stoked you want to try Foundation! To get going, this file (index.html) includes some basic styles you can modify, play around with, or totally destroy to get going.</p>
 
  <h4>Other Resources</h4>
  <p>Once you've exhausted the fun in this document, you should check out:</p>
  <ul class="disc">
  <li><a href="http://foundation.zurb.com/docs">Foundation Documentation</a><br />Everything you need to know about using the framework.</li>
  <li><a href="http://github.com/zurb/foundation">Foundation on Github</a><br />Latest code, issue reports, feature requests and more.</li>
  <li><a href="http://twitter.com/foundationzurb">@foundationzurb</a><br />Ping us on Twitter if you have questions. If you build something with this we'd love to see it (and send you a totally boss sticker).</li>
  </ul>
  </div>
  </div>
 
  </div>
  <!-- container -->
 
 
 
 
  <!-- Included JS Files -->
  <script src="javascripts/foundation.js"></script>
  <script src="javascripts/app.js"></script>
 
  </body>
  </html>
 
file:b/humans.txt (new)
  /* Foundation was made by ZURB, an interaction design and design strategy firm in Campbell, CA */
  /* zurb.com */
  /* humanstxt.org */
 
  /* SITE */
  Standards: HTML5, CSS3
  Components: jQuery, Orbit, Reveal
  Software: Coda, Textmate, Git
 Binary files /dev/null and b/images/misc/button-gloss.png differ
 Binary files /dev/null and b/images/misc/button-overlay.png differ
 Binary files /dev/null and b/images/misc/custom-form-sprites.png differ
 Binary files /dev/null and b/images/misc/input-bg.png differ
 Binary files /dev/null and b/images/misc/modal-gloss.png differ
 Binary files /dev/null and b/images/misc/table-sorter.png differ
 Binary files /dev/null and b/images/orbit/bullets.jpg differ
 Binary files /dev/null and b/images/orbit/left-arrow.png differ
 Binary files /dev/null and b/images/orbit/loading.gif differ
 Binary files /dev/null and b/images/orbit/mask-black.png differ
 Binary files /dev/null and b/images/orbit/pause-black.png differ
 Binary files /dev/null and b/images/orbit/right-arrow.png differ
 Binary files /dev/null and b/images/orbit/rotator-black.png differ
 Binary files /dev/null and b/images/orbit/timer-black.png differ
  /* Foundation v2.1.4 http://foundation.zurb.com */
  $(document).ready(function () {
 
  /* Use this js doc for all application specific JS */
 
  /* TABS --------------------------------- */
  /* Remove if you don't need :) */
 
  function activateTab($tab) {
  var $activeTab = $tab.closest('dl').find('a.active'),
  contentLocation = $tab.attr("href") + 'Tab';
 
  //Make Tab Active
  $activeTab.removeClass('active');
  $tab.addClass('active');
 
  //Show Tab Content
  $(contentLocation).closest('.tabs-content').children('li').hide();
  $(contentLocation).show();
  }
 
  $('dl.tabs').each(function () {
  //Get all tabs
  var tabs = $(this).children('dd').children('a');
  tabs.click(function (e) {
  activateTab($(this));
  });
  });
 
  if (window.location.hash) {
  activateTab($('a[href="' + window.location.hash + '"]'));
  }
 
  /* ALERT BOXES ------------ */
  $(".alert-box").delegate("a.close", "click", function(event) {
  event.preventDefault();
  $(this).closest(".alert-box").fadeOut(function(event){
  $(this).remove();
  });
  });
 
 
  /* PLACEHOLDER FOR FORMS ------------- */
  /* Remove this and jquery.placeholder.min.js if you don't need :) */
 
  $('input, textarea').placeholder();
 
 
 
  /* UNCOMMENT THE LINE YOU WANT BELOW IF YOU WANT IE6/7/8 SUPPORT AND ARE USING .block-grids */
  // $('.block-grid.two-up>li:nth-child(2n+1)').css({clear: 'left'});
  // $('.block-grid.three-up>li:nth-child(3n+1)').css({clear: 'left'});
  // $('.block-grid.four-up>li:nth-child(4n+1)').css({clear: 'left'});
  // $('.block-grid.five-up>li:nth-child(5n+1)').css({clear: 'left'});
 
 
 
  /* DROPDOWN NAV ------------- */
 
  var currentFoundationDropdown = null;
  $('.nav-bar li a, .nav-bar li a:after').each(function() {
  $(this).data('clicks', 0);
  });
  $('.nav-bar li a, .nav-bar li a:after').live('click', function(e) {
  e.preventDefault();
  if (currentFoundationDropdown !== $(this).index() || currentFoundationDropdown === null) {
  $(this).data('clicks', 0);
  currentFoundationDropdown = $(this).index();
  }
  $(this).data('clicks', ($(this).data('clicks') + 1));
  var f = $(this).siblings('.flyout');
  if (!f.is(':visible') && $(this).parent('.has-flyout').length > 1) {
  $('.nav-bar li .flyout').hide();
  f.show();
  } else if (($(this).data('clicks') > 1) || ($(this).parent('.has-flyout').length < 1)) {
  window.location = $(this).attr('href');
  }
  });
  $('.nav-bar').live('click', function(e) {
  e.stopPropagation();
  if ($(e.target).parents().is('.flyout') || $(e.target).is('.flyout')) {
  e.preventDefault();
  }
  });
  // $('body').bind('touchend', function(e) {
  // if (!$(e.target).parents().is('.nav-bar') || !$(e.target).is('.nav-bar')) {
  // $('.nav-bar li .flyout').is(':visible').hide();
  // }
  // });
 
  /* DISABLED BUTTONS ------------- */
  /* Gives elements with a class of 'disabled' a return: false; */
 
  });
 
  /* Foundation v2.1.4 http://foundation.zurb.com */
  /*! jQuery v1.7.1 jquery.com | jquery.org/license */
  (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement){cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close()}d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1){for(h in a.converters){typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h])}}l=k,k=d[g];if(k==="*"){k=l}else{if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g){i in d&&(c[g[i]]=d[i])}while(f[0]==="*"){f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"))}if(h){for(i in e){if(e[i]&&e[i].test(h)){f.unshift(i);break}}}if(f[0] in d)