Move to settee php couchdb library
Move to settee php couchdb library


Former-commit-id: ce7412338f5117d78853985519b77864450eeb37

[submodule "sag"]  
path = sag  
url = https://github.com/sbisbee/sag.git  
[submodule "couchdb/couchdb-lucene"] [submodule "couchdb/couchdb-lucene"]
path = couchdb/couchdb-lucene path = couchdb/couchdb-lucene
url = https://github.com/rnewson/couchdb-lucene.git url = https://github.com/rnewson/couchdb-lucene.git
  [submodule "couchdb/settee"]
  path = couchdb/settee
  url = https://github.com/inadarei/settee.git
   
<?php <?php
   
/* function createAgencyDesignDoc() {
* 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->_id = '_design/app';
$ddoc->views = new StdClass(); $ddoc->views = new StdClass();
// by abn, by name // by abn, by name
$ddoc->views->byABN = new StdClass(); $ddoc->views->byABN = new StdClass();
$ddoc->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; $ddoc->views->byABN->map = "function(doc) { emit(doc.abn, doc); };";
$ddoc->views->byName = new StdClass(); $ddoc->views->byName = new StdClass();
$ddoc->views->byName->map = "function(doc) { emit(doc.name, doc); };"; $ddoc->views->byName->map = "function(doc) { emit(doc.name, doc); };";
$ddoc->views->getActive = new StdClass(); $ddoc->views->getActive = new StdClass();
$ddoc->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };'; $ddoc->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };';
$ddoc->views->getSuspended = new StdClass(); $ddoc->views->getSuspended = new StdClass();
$ddoc->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };'; $ddoc->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };';
$ddoc->views->getScrapeRequired = new StdClass(); $ddoc->views->getScrapeRequired = new StdClass();
$ddoc->views->getScrapeRequired->map = "function(doc) { emit(doc.abn, doc); };"; $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; return true;
} }
error_reporting(0); require (realpath(dirname(__FILE__) . '/couchdb/settee/src/settee.php'));
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(); $server = new SetteeServer('http://127.0.0.1:5984');
   
function include_header() { function include_header() {
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
   
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> <!-- 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 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 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 IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
   
<!-- Set the viewport width to device width for mobile --> <!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />
   
<title>Welcome to Foundation</title> <title>Welcome to Foundation</title>
<!-- Included CSS Files --> <!-- Included CSS Files -->
<link rel="stylesheet" href="stylesheets/foundation.css"> <link rel="stylesheet" href="stylesheets/foundation.css">
<link rel="stylesheet" href="stylesheets/app.css"> <link rel="stylesheet" href="stylesheets/app.css">
   
<!--[if lt IE 9]> <!--[if lt IE 9]>
<link rel="stylesheet" href="stylesheets/ie.css"> <link rel="stylesheet" href="stylesheets/ie.css">
<![endif]--> <![endif]-->
   
   
<!-- IE Fix for HTML5 Tags --> <!-- IE Fix for HTML5 Tags -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
   
</head> </head>
<body> <body>
   
<!-- navBar --> <!-- navBar -->
<div id="navBar" class="container"> <div id="navBar" class="container">
<div class="row"> <div class="row">
<div class="four columns"> <div class="four columns">
<h1><a href="/">Disclosr</a></h1> <h1><a href="/">Disclosr</a></h1>
</div> </div>
<div class="eight columns hide-on-phones"> <div class="eight columns hide-on-phones">
<strong class="right"> <strong class="right">
<a href="../grid.php">Features</a> <a href="../grid.php">Features</a>
<a href="../case-soapbox.php">Case Studies</a> <a href="../case-soapbox.php">Case Studies</a>
<a href="index.php">Documentation</a> <a href="index.php">Documentation</a>
<a href="http://github.com/navb/foundation">Github</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> <a href="../files/foundation-download-2.1.4.zip" class="small blue nice button src-download">Download</a>
</strong> </strong>
</div> </div>
</div> </div>
</div> </div>
<!-- /navBar --> <!-- /navBar -->
   
<!-- container --> <!-- container -->
<div class="container"> <div class="container">
<?php } <?php }
   
function include_footer() { ?> function include_footer() { ?>
</div> </div>
<!-- container --> <!-- container -->
   
   
   
   
<!-- Included JS Files --> <!-- Included JS Files -->
<script src="javascripts/foundation.js"></script> <script src="javascripts/foundation.js"></script>
<script src="javascripts/app.js"></script> <script src="javascripts/app.js"></script>
   
</body> </body>
</html> </html>
   
<?php } ?> <?php } ?>
   
   
   
directory:b/couchdb/settee (new)
 
file:a/import.php -> file:b/import.php
<?php <?php
require_once 'common.inc.php'; require_once 'common.inc.php';
  $db = $server->get_db('disclosr-agencies');
$sag->setDatabase("disclosr-agencies", true);  
//createAgencyDesignDoc(); //createAgencyDesignDoc();
$conn = new PDO("pgsql:dbname=contractDashboard;user=postgres;password=snmc;host=localhost"); $conn = new PDO("pgsql:dbname=contractDashboard;user=postgres;password=snmc;host=localhost");
$namesQ = 'select agency.abn, string_agg("agencyName",\',\') as names from agency inner join agency_nametoabn on agency.abn::text = agency_nametoabn.abn group by agency.abn;'; $namesQ = 'select agency.abn, string_agg("agencyName",\',\') as names from agency inner join agency_nametoabn on agency.abn::text = agency_nametoabn.abn group by agency.abn;';
$abntonames = Array(); $abntonames = Array();
foreach ($conn->query($namesQ) as $row) { foreach ($conn->query($namesQ) as $row) {
$abntonames[$row['abn']] = explode(",",$row['names']); $abntonames[$row['abn']] = explode(",",$row['names']);
} }
$result = $conn->query("select * from agency"); $result = $conn->query("select * from agency");
while ($agency = $result->fetch(PDO::FETCH_ASSOC)) { while ($agency = $result->fetch(PDO::FETCH_ASSOC)) {
$agency['otherNames'] = $abntonames[$agency['abn']]; $agency['otherNames'] = $abntonames[$agency['abn']];
if (sizeof($abntonames[$agency['abn']]) == 1) $agency['name'] = $abntonames[$agency['abn']][0]; if (sizeof($abntonames[$agency['abn']]) == 1) $agency['name'] = $abntonames[$agency['abn']][0];
$agency["lastScraped"] = "1/1/1970"; $agency["lastScraped"] = "1/1/1970";
$agency["scrapeDepth"] = 1; $agency["scrapeDepth"] = 1;
$sag->post($agency); $doc = $db->save($agency);
  print_r($doc);
} }
?> ?>
   
directory:a/sag (deleted)