Fix hard coded ABN bug
[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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
 
include_once('include/common.inc.php');
include_header();
 
function displayValue($key, $value, $mode) {
    if ($mode == "view") {
        if (is_array($value)) {
            echo "<tr><td>$key</td><td><ol>";
            foreach ($value as $subkey => $subvalue) {
                echo "<li>$subvalue</li>";
            }
            echo "</ol></td></tr>";
        } else {
            echo "<tr><td>$key</td><td>$value</td></tr>";
        }
    }
    if ($mode == "edit") {
        if (is_array($value)) {
            echo '<div class="row">
                                                <div class="seven columns">
                                                        <fieldset>
                                                                <h5>' . $key . '</h5>';
            foreach ($value as $subkey => $subvalue) {
                echo "<label>$subkey</label><input  class='input-text' type='text' id='$key$subkey' name='$key" . '[' . $subkey . "]' value='$subvalue'/></tr>";
            }
            echo "</fieldset>
                                                </div>
                                        </div>";
        } else {
            if (strpos($key, "_") === 0) {
                echo"<input type='hidden' id='$key' name='$key' value='$value'/>";
            } if (strpos($key, "has") === 0) {
                echo "<label for='$key'><input type='checkbox' id='$key' name='$key' value='$value'> $key</label>";
            } else {
                echo "<label>$key</label><input  class='input-text' type='text' id='$key' name='$key' value='$value'/>";
                if ((strpos($key,"URL") > 0 || $key == 'website')&& $value != "") {
                   echo "<a href='$value'>view</a>"; 
                }
                if ($key == 'abn') {
                   echo "<a href='http://www.abr.business.gov.au/SearchByAbn.aspx?SearchText=$value'>view abn</a>";
                }
            }
        }
    }
    // 
}
 
function addDefaultFields($row) {
    $defaultFields = Array("name");
    foreach ($defaultFields as $defaultField) {
        if (!isset($row[$defaultField]))
            $row[$defaultField] = "";
    }
    return $row;
}
 
$db = $server->get_db('disclosr-agencies');
 
if (isset($_REQUEST['id'])) {
    //get an agency record as json/html, search by name/abn/id
// by name = startkey="Ham"&endkey="Ham\ufff0"
// edit?
 
    $row = $db->get($_REQUEST['id']);
    //print_r($row);
    if (sizeof($_POST) > 0) {
        //print_r($_POST);
        if (isset($_POST['_id']) && $db->get_rev($_POST['_id']) == $_POST['_rev']) {
            echo "Edited version was latest version, continue saving";
            $newdoc = $_POST;
            $newdoc['metadata']['lastModified'] = time();
            $row = $db->save($newdoc);
        } else {
            echo "ALERT doc revised by someone else while editing.";
        }
    }
 
    $mode = "edit";
    $row = addDefaultFields(object_to_array($row));
    if ($mode == "view") {
        echo '<table width="100%">';
        echo '<tr> <td colspan="2"><h3>' . $row['name'] . "</h3></td></tr>";
        echo "<tr><th>Field Name</th><th>Field Value</th></tr>";
    }
    if ($mode == "edit") {
        ?>
        <input  id="addfield" type="button" value="Add Field"/>
        <script>
            window.onload = function() {
                $(document).ready(function() {
                    // put all your jQuery goodness in here.
                    // http://charlie.griefer.com/blog/2009/09/17/jquery-dynamically-adding-form-elements/
                    $('#addfield').click(function() {
                        var field_name=window.prompt("fieldname?","");
                        if (field_name !="") {
                            $('#submitbutton').before($('<span></span>')
                            .append("<label>"+field_name+"</label>")
                            .append("<input  class='input-text' type='text' id='"+field_name+"' name='"+field_name+"'/>")
                        );
                        }
                    });
                });
            };
        </script>
        <form id="editform" class="nice" method="post">
            <?php
 
        }
        foreach ($row as $key => $value) {
            echo displayValue($key, $value, $mode);
        }
        if ($mode == "view") {
            echo "</table>";
        }
        if ($mode == "edit") {
            echo '<input id="submitbutton" type="submit"/></form>';
        }
    } else {
 
        try {
            $rows = $db->get_view("app", "showNamesABNs")->rows;
            //print_r($rows);
            foreach ($rows as $row) {
                //   print_r($row);
                echo '<li><a href="getAgency.php?id=' . $row->key . '">' .
                (isset($row->value->name) && $row->value->name != "" ? $row->value->name : "NO NAME " . $row->value->abn)
                . '</a></li>';
            }
        } catch (SetteeRestClientException $e) {
            setteErrorHandler($e);
        }
    }
    include_footer();
    ?>