--- a/common.inc.php +++ b/common.inc.php @@ -1,133 +1,134 @@ _id = "_design/" . urlencode("app"); + $obj->language = "javascript"; + $obj->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; + $obj->views->byName->map = "function(doc) { emit(doc.name, doc); };"; + $obj->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };'; + $obj->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };'; + $obj->views->getScrapeRequired->map = "function(doc) { emit(doc.abn, doc); };"; +$obj->views->showNamesABNs->map = "function(doc) { emit(doc._id, {name: doc.name, abn: doc.abn}); };"; + // allow safe updates (even if slightly slower due to extra: rev-detection check). + return $db->save($obj, true); +} -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 (realpath(dirname(__FILE__) . '/couchdb/settee/src/settee.php')); + +$server = new SetteeServer('http://127.0.0.1:5984'); + +function setteErrorHandler($e) { + echo $e->getMessage() . "
" . PHP_EOL; } -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() { ?> - + - - - - - - - + + + + + + + - - + + - Welcome to Foundation - - - - + Disclosr - + + + + + - - + + - - + + - - - + + - + +
+ +
+ - - - + + + + - - + + - + array. + $Class = (array)$Class; + + # Iterate through the former properties looking for any stdClass properties. + # Recursively apply (array). + foreach($Class as $key => $value){ + if(is_object($value)&&get_class($value)==='stdClass'){ + $Class[$key] = object_to_array($value); + } + } + return $Class; + } + + # Convert an Array to stdClass. http://www.php.net/manual/en/language.types.object.php#102735 + function array_to_object(array $array){ + # Iterate through our array looking for array values. + # If found recurvisely call itself. + foreach($array as $key => $value){ + if(is_array($value)){ + $array[$key] = array_to_object($value); + } + } + + # Typecast to (object) will automatically convert array -> stdClass + return (object)$array; + } + + + ?>