Make common include for DB/template
Make common include for DB/template

file:b/.gitignore (new)
  /nbproject/private/
[submodule "sag"] [submodule "sag"]
path = sag path = sag
url = https://github.com/sbisbee/sag.git url = https://github.com/sbisbee/sag.git
  [submodule "couchdb/couchdb-lucene"]
  path = couchdb/couchdb-lucene
  url = https://github.com/rnewson/couchdb-lucene.git
   
file:b/common.inc.php (new)
  <?php
 
  /*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
 
  function createAgencyDesignDoc() {
  global $sag;
  //See if the design doc exists, creating it if it doesn't
  try {
  //it does exist, so finish early
  if ($sag->head('_design/app')->headers->_HTTP->status != "404")
  return true;
  } catch (Exception $e) {
  //database issue
  return false;
  }
  $ddoc = new StdClass();
  $ddoc->_id = '_design/app';
  $ddoc->views = new StdClass();
  // by abn, by name
  $ddoc->views->byABN = new StdClass();
  $ddoc->views->byABN->map = "function(doc) { emit(doc.abn, doc); };";
  $ddoc->views->byName = new StdClass();
  $ddoc->views->byName->map = "function(doc) { emit(doc.name, doc); };";
  $ddoc->views->getActive = new StdClass();
  $ddoc->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };';
  $ddoc->views->getSuspended = new StdClass();
  $ddoc->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };';
  $ddoc->views->getScrapeRequired = new StdClass();
  $ddoc->views->getScrapeRequired->map = "function(doc) { emit(doc.abn, doc); };";
  try {
  $sag->put('_design/app', $ddoc);
  } catch (Exception $e) {
  /*
  * A 409 status code means there was a conflict, so another client
  * already created the design doc for us. This is fine.
  */
  if ($e->getCode() != 409)
  return false;
  }
  return true;
  }
  error_reporting(0);
  require_once('sag/src/SagException.php');
  require_once('sag/src/SagCouchException.php');
  require_once('sag/src/SagConfigurationCheck.php');
  require_once('sag/src/httpAdapters/SagHTTPAdapter.php');
  require_once('sag/src/httpAdapters/SagNativeHTTPAdapter.php');
  require_once('sag/src/httpAdapters/SagCURLHTTPAdapter.php');
  require_once 'sag/src/Sag.php';
  error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);
  $sag = new Sag();
 
  // createAgencyDesignDoc();
 
  function include_header() {
  ?>
  <!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>
 
  <!-- navBar -->
  <div id="navBar" class="container">
  <div class="row">
  <div class="four columns">
  <h1><a href="/">Disclosr</a></h1>
  </div>
  <div class="eight columns hide-on-phones">
  <strong class="right">
  <a href="../grid.php">Features</a>
  <a href="../case-soapbox.php">Case Studies</a>
  <a href="index.php">Documentation</a>
  <a href="http://github.com/navb/foundation">Github</a>
  <a href="../files/foundation-download-2.1.4.zip" class="small blue nice button src-download">Download</a>
 
  </strong>
  </div>
  </div>
  </div>
  <!-- /navBar -->
 
  <!-- container -->
  <div class="container">
  <?php }
 
  function include_footer() { ?>
  </div>
  <!-- container -->
 
 
 
 
  <!-- Included JS Files -->
  <script src="javascripts/foundation.js"></script>
  <script src="javascripts/app.js"></script>
 
  </body>
  </html>
 
  <?php } ?>
 
 
 
<?php <?php
function createAgencyDesignDoc()  
{ include_once('common.inc.php');
global $sag; include_header();
//See if the design doc exists, creating it if it doesn't  
try {  
//it does exist, so finish early  
if ($sag->head('_design/app')->headers->_HTTP->status != "404") return true;  
}  
catch(Exception $e) {  
//database issue  
return false;  
}  
$ddoc = new StdClass();  
$ddoc->_id = '_design/app';  
$ddoc->views = new StdClass();  
// by abn, by name  
$ddoc->views->byABN = new StdClass();  
$ddoc->views->byABN->map = "function(doc) { emit(doc.ABN, doc); };";  
$ddoc->views->byName = new StdClass();  
$ddoc->views->byName->map = "function(doc) { emit(doc.name, doc); };";  
$ddoc->views->getActive = new StdClass();  
$ddoc->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };';  
$ddoc->views->getSuspended = new StdClass();  
$ddoc->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };';  
$ddoc->views->getScrapeRequired = new StdClass();  
$ddoc->views->getScrapeRequired->map = "function(doc) { emit(doc.ABN, doc); };";  
try {  
$sag->put('_design/app', $ddoc);  
}  
catch(Exception $e) {  
/*  
* A 409 status code means there was a conflict, so another client  
* already created the design doc for us. This is fine.  
*/  
if ($e->getCode() != 409) return false;  
}  
return true;  
}  
require_once 'sag/src/Sag.php';  
$sag = new Sag();  
$sag->setDatabase("disclosr-agencies", true); $sag->setDatabase("disclosr-agencies", true);
//get an agency record as json/html, search by name/abn/id //get an agency record as json/html, search by name/abn/id
// by name = startkey="Ham"&endkey="Ham\ufff0" // by name = startkey="Ham"&endkey="Ham\ufff0"
// edit? // edit?
createAgencyDesignDoc();  
$rows = $sag->get('/_design/app/_view/byABN?include_docs=true')->body->rows; // &endkey='.$searchVar $rows = $sag->get('/_design/app/_view/byABN?include_docs=true')->body->rows; // &endkey='.$searchVar
foreach ($rows as $row) { foreach ($rows as $row) {
echo "<table>"; echo "<table>";
echo '<tr> <td colspan="2"><h3>' . $row->doc->agencyName. "</h3></td></tr>"; echo '<tr> <td colspan="2"><h3>' . $row->doc->agencyName . "</h3></td></tr>";
echo "<tr><th>Field Name</th><th>Field Value</th></tr>"; echo "<tr><th>Field Name</th><th>Field Value</th></tr>";
foreach ($row->doc as $key => $value) { foreach ($row->doc as $key => $value) {
echo "<tr><td>$key</td><td>$value</td></tr>"; if (is_a($value, 'stdClass')) {
  echo "<tr><td>$key</td><td>".var_dump($value,true)."</td></tr>";
  } else echo "<tr><td>$key</td><td>$value</td></tr>";
} // also show documents/URLs available } // also show documents/URLs available
echo "</table>";  
  echo "</table>";
} }
   
  include_footer();
  include.path=${php.global.include.path}
  php.version=PHP_5
  source.encoding=UTF-8
  src.dir=.
  tags.asp=false
  tags.short=true
  web.root=.
 
  <?xml version="1.0" encoding="UTF-8"?>
  <project xmlns="http://www.netbeans.org/ns/project/1">
  <type>org.netbeans.modules.php.project</type>
  <configuration>
  <data xmlns="http://www.netbeans.org/ns/php-project/1">
  <name>disclosr</name>
  </data>
  </configuration>
  </project>
 
/* Foundation v2.1.4 http://foundation.zurb.com */ /* Foundation v2.1.4 http://foundation.zurb.com */
/* Artfully masterminded by ZURB */ /* Artfully masterminded by ZURB */
   
/* -------------------------------------------------- /* ZURB bar copy*/
Table of Contents #navbar {
----------------------------------------------------- background: #222222;
:: Shared Styles border-bottom: solid 4px #00a5ff;
:: Page Name 1 padding: 15px 20px 13px 20px; }
:: Page Name 2  
*/ @media handheld, only screen and (max-width: 767px) {
  #navbar {
  padding-left: 20px;
  padding-right: 20px; }
  }
   
  #navbar h1, #navbar h2 {
  margin-bottom: 0;
  line-height: 1; }
  #navbar h1 {
  color: white;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 800; }
  #navbar h1 a { color: #fff; font-weight: bold; }
  #navbar h2 a {
  text-indent: -99999px;
  display: block;
  width: 82px;
  height: 14px;
  background: url('../images/by-zurb.png'); }
   
   
/* ----------------------------------------- #navbar strong { display: block; margin: 0; padding: 0; height: 14px; line-height: 14px; position: relative; bottom: 4px; }
Shared Styles #navbar strong a {
----------------------------------------- */ line-height: 14px;
  color: #fff;
  font-weight: 500;
  padding-right: 12px;
  }
  #navbar strong a.button { padding: 4px 10px; font-weight: bold; }
   
   
   
/* -----------------------------------------  
Page Name 1  
----------------------------------------- */  
   
   
   
   
/* -----------------------------------------  
Page Name 2  
----------------------------------------- */  
   
   
   
file:b/usage_notes.php (new)
  Organisational Data Sources
 
  http://www.comlaw.gov.au/Browse/Results/ByTitle/AdministrativeArrangementsOrders/Current/Ad/0 defines departments
  Agencies can be found in the Schedule to an Appropriation Bill (budget), Schedule to FMA Regulations and/or Public Service Act.
 
  http://www.finance.gov.au/publications/flipchart/docs/FMACACFlipchart.pdf summarises these
 
  When defining the hierachy, this system is designed towards monitoring accountablity. Thus large agencies that have registered their own ABN
  and have their own accountablity mechanisms/website recieve a seperate record as a child of their department.
  Some small agencies will choose to simply rely on their parent department's accountablity measures.
 
  This flows through to organisation name and other/past names. A department that accounts for an agency will list that agency as an other child name.
  As agencies themselves shift between departments, there may be scope for providing time ranges but typically the newest hierarchy will be the one recorded.
  A department/agency name will be the newest active name assigned to that ABN.
 
  Statistical information from http://www.apsc.gov.au/stateoftheservice/1011/statsbulletin/section1.html#t2total https://www.apsedii.gov.au/apsedii/CustomQueryx33.shtml
 
  Open Government Scoring
  +1 point for every true Has... attribute
  -1 point for every false Has... (ie. Has Not) attribute