remove sag copy
[disclosr.git] / getAgency.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
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;
}
require_once 'sag/src/Sag.php';
$sag = new Sag();
$sag->setDatabase("disclosr-agencies", true);
//get an agency record as json/html, search by name/abn/id
// by name = startkey="Ham"&endkey="Ham\ufff0"
// edit?
createAgencyDesignDoc();
$rows = $sag->get('/_design/app/_view/byABN?include_docs=true')->body->rows; // &endkey='.$searchVar
foreach ($rows as $row) {
        echo "<table>";
        echo '<tr> <td colspan="2"><h3>' . $row->doc->agencyName. "</h3></td></tr>";
        echo "<tr><th>Field Name</th><th>Field Value</th></tr>";
        foreach ($row->doc as $key => $value) {
                echo "<tr><td>$key</td><td>$value</td></tr>";
        } // also show documents/URLs available
        echo "</table>";
}