Beginnings of fulltext search form
[disclosr.git] / include / couchdb.inc.php
blob:a/include/couchdb.inc.php -> blob:b/include/couchdb.inc.php
--- a/include/couchdb.inc.php
+++ b/include/couchdb.inc.php
@@ -22,7 +22,10 @@
        },
        "byWebServer": {
            "map": "function(doc) {\n  emit(doc.web_server, doc);\n}"
-       }
+       },
+  "getValidationRequired": {
+       "map": "function(doc) {\nif (doc.mime_type == \"text/html\" \n&& typeof(doc.validation) == \"undefined\") {\n  emit(doc._id, doc._attachments);\n}\n}"
+   }
    }*/
 }
 
@@ -51,9 +54,17 @@
     $obj->views->byName->map = 'function(doc) { 
         if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") {
         emit(doc.name, doc._id); 
+if (typeof(doc.shortName) != "undefined" && doc.shortName != doc.name) {
+       	 emit(doc.shortName, doc._id); 
+}
  for (name in doc.otherNames) {
 if (doc.otherNames[name] != "" && doc.otherNames[name] != doc.name) {
        	 emit(doc.otherNames[name], doc._id); 
+}
+        }
+ for (name in doc.foiBodies) {
+if (doc.foiBodies[name] != "" && doc.foiBodies[name] != doc.name) {
+       	 emit(doc.foiBodies[name], doc._id); 
 }
         }
         }
@@ -84,25 +95,29 @@
   }
 }";
     // http://stackoverflow.com/questions/646628/javascript-startswith
-    $obj->views->scoreHas->map = 'if(!String.prototype.startsWith){
+$obj->views->score->map =  'if(!String.prototype.startsWith){
     String.prototype.startsWith = function (str) {
         return !this.indexOf(str);
     }
 }
-if(!String.prototype.endsWith){
-	String.prototype.endsWith = function(suffix) {
-	    return this.indexOf(suffix, this.length - suffix.length) !== -1;
-	};
-}
+
 function(doc) {
-if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") {
-for(var propName in doc) {
-      if(typeof(doc[propName]) != "undefined" && (propName.startsWith("has") || propName.endsWith("URL"))) {
-  	emit(propName, 1);
-	}
-}
-  emit("total", 1);
-  }
+    count = 0;
+    if (doc["status"] != "suspended") {
+        for(var propName in doc) {
+            if(typeof(doc[propName]) != "undefined" && doc[propName] != "") {
+                count++;
+            }
+        }
+        portfolio = doc.parentOrg;
+        if (doc.orgType == "FMA-DepartmentOfState") {
+            portfolio = doc._id;
+        }
+        if (doc.orgType == "Court-Commonwealth" || doc.orgType == "FMA-DepartmentOfParliament") {
+            portfolio = doc.orgType;
+        }
+        emit(count+doc._id, {id:doc._id, name: doc.name, score:count, orgType: doc.orgType, portfolio:portfolio});
+    }
 }';
         $obj->views->scoreHas->map = 'if(!String.prototype.startsWith){
     String.prototype.startsWith = function (str) {
@@ -155,3 +170,4 @@
 function setteErrorHandler($e) {
     echo $e->getMessage() . "<br>" . PHP_EOL;
 }
+