includes/nav cleanup
[disclosr.git] / include / common.inc.php
blob:a/include/common.inc.php -> blob:b/include/common.inc.php
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -1,1 +1,39 @@
+<?php
 
+include_once ('couchdb.inc.php');
+include_once ('template.inc.php');
+
+# Convert a stdClass to an Array. http://www.php.net/manual/en/language.types.object.php#102735
+
+function object_to_array(stdClass $Class) {
+    # Typecast to (array) automatically converts stdClass -> 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;
+}
+?>
+
+
+