<?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(); |