filter/sort table
filter/sort table

--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -3,27 +3,57 @@
   <component name="ChangeListManager">

     <list default="true" id="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" name="Default" comment="">

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/data/DCaaS+Catalogue+September+2013 Public.xls" afterPath="$PROJECT_DIR$/data/DCaaS+Catalogue+September+2013 Public.xls" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/img/csv.gif" afterPath="$PROJECT_DIR$/img/csv.gif" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.eot" afterPath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.eot" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.ttf" afterPath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.ttf" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.woff" afterPath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.woff" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/img/icon_2567.png" afterPath="$PROJECT_DIR$/img/icon_2567.png" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/tag-cloud" afterPath="$PROJECT_DIR$/lib/tag-cloud" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gitmodules" afterPath="$PROJECT_DIR$/.gitmodules" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/.name" afterPath="$PROJECT_DIR$/.idea/.name" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/data/DCaaS+Catalogue+September+2013 PublicDCaaS_AFI_Part_3_Sec_5_Service_.csv" afterPath="$PROJECT_DIR$/data/DCaaS+Catalogue+September+2013 PublicDCaaS_AFI_Part_3_Sec_5_Service_.csv" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/about.php" afterPath="$PROJECT_DIR$/about.php" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/css/bootstrap-theme.css" afterPath="$PROJECT_DIR$/css/bootstrap-theme.css" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/css/bootstrap-theme.min.css" afterPath="$PROJECT_DIR$/css/bootstrap-theme.min.css" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/css/bootstrap.css" afterPath="$PROJECT_DIR$/css/bootstrap.css" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/bootstrap.js" afterPath="$PROJECT_DIR$/js/bootstrap.js" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/css/bootstrap.min.css" afterPath="$PROJECT_DIR$/css/bootstrap.min.css" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/bootstrap.min.js" afterPath="$PROJECT_DIR$/js/bootstrap.min.js" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/compiler.xml" afterPath="$PROJECT_DIR$/.idea/compiler.xml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config.php" afterPath="$PROJECT_DIR$/config.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/data.json.php" afterPath="$PROJECT_DIR$/data.json.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/dcaas.iml" afterPath="$PROJECT_DIR$/dcaas.iml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/encodings.xml" afterPath="$PROJECT_DIR$/.idea/encodings.xml" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.svg" afterPath="$PROJECT_DIR$/fonts/glyphicons-halflings-regular.svg" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/img/icon_2567.svg" afterPath="$PROJECT_DIR$/img/icon_2567.svg" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/data/import.php" afterPath="$PROJECT_DIR$/data/import.php" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/index.php" afterPath="$PROJECT_DIR$/index.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/img/license.txt" afterPath="$PROJECT_DIR$/img/license.txt" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/modules.xml" afterPath="$PROJECT_DIR$/.idea/modules.xml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/robots.txt" afterPath="$PROJECT_DIR$/robots.txt" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/sitemap.xml.php" afterPath="$PROJECT_DIR$/sitemap.xml.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/table.php" afterPath="$PROJECT_DIR$/table.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/vcs.xml" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/view.php" afterPath="$PROJECT_DIR$/view.php" />

+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />

       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/data/xls2csv.py" afterPath="$PROJECT_DIR$/data/xls2csv.py" />

     </list>

     <ignored path="dcaas.iws" />

     <ignored path=".idea/workspace.xml" />

-    <file path="/Dummy.txt" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388122416019" ignored="false" />

+    <file path="/Dummy.txt" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388344993673" ignored="false" />

     <file path="/import.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388236506137" ignored="false" />

-    <file path="/index.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388236421813" ignored="false" />

-    <file path="/config.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388237513189" ignored="false" />

+    <file path="/index.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388339437257" ignored="false" />

+    <file path="/config.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388498839775" ignored="false" />

+    <file path="/tagcloud.css" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388307524935" ignored="false" />

+    <file path="/data.json.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388499467699" ignored="false" />

+    <file path="/table.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388499014164" ignored="false" />

+    <file path="/view.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388496818732" ignored="false" />

+    <file path="/robots.txt" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388492384234" ignored="false" />

+    <file path="/sitemap.xml.php" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388492660527" ignored="false" />

+    <file path="/xls2csv.py" changelist="816b2800-4ae7-4ee2-9d29-ebf91af07d7d" time="1388492814098" ignored="false" />

     <option name="TRACKING_ENABLED" value="true" />

     <option name="SHOW_DIALOG" value="false" />

     <option name="HIGHLIGHT_CONFLICTS" value="true" />

@@ -87,25 +117,55 @@
       <file leaf-file-name="config.php" pinned="false" current="false" current-in-tab="false">

         <entry file="file://$PROJECT_DIR$/config.php">

           <provider selected="true" editor-type-id="text-editor">

-            <state line="13" column="15" selection-start="420" selection-end="420" vertical-scroll-proportion="-8.5">

-              <folding />

-            </state>

-          </provider>

-        </entry>

-      </file>

-      <file leaf-file-name="import.php" pinned="false" current="true" current-in-tab="true">

-        <entry file="file://$PROJECT_DIR$/data/import.php">

-          <provider selected="true" editor-type-id="text-editor">

-            <state line="29" column="34" selection-start="1266" selection-end="1266" vertical-scroll-proportion="0.39534885">

-              <folding />

-            </state>

-          </provider>

-        </entry>

-      </file>

-      <file leaf-file-name="index.php" pinned="false" current="false" current-in-tab="false">

-        <entry file="file://$PROJECT_DIR$/index.php">

-          <provider selected="true" editor-type-id="text-editor">

-            <state line="2" column="0" selection-start="30" selection-end="30" vertical-scroll-proportion="-1.3076923">

+            <state line="52" column="42" selection-start="1618" selection-end="1618" vertical-scroll-proportion="-13.615385">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="jquery.dynatable.css" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/js/dynatable/jquery.dynatable.css">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="2" column="16" selection-start="0" selection-end="83" vertical-scroll-proportion="0.0">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="bootstrap.css" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/css/bootstrap.css">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="xls2csv.py" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/data/xls2csv.py">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="15" column="113" selection-start="490" selection-end="490" vertical-scroll-proportion="-8.16">

+              <folding />

+            </state>

+          </provider>

+          <provider editor-type-id="com.intellij.persistence.database.editor.CsvTableFileEditorProvider">

+            <state />

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="data.json.php" pinned="false" current="true" current-in-tab="true">

+        <entry file="file://$PROJECT_DIR$/data.json.php">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="21" column="45" selection-start="1149" selection-end="1149" vertical-scroll-proportion="0.45535713">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="tagcloud.css" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/lib/tag-cloud/css/tagcloud.css">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="44" column="17" selection-start="642" selection-end="642" vertical-scroll-proportion="0.0">

               <folding />

             </state>

           </provider>

@@ -114,20 +174,35 @@
       <file leaf-file-name="table.php" pinned="false" current="false" current-in-tab="false">

         <entry file="file://$PROJECT_DIR$/table.php">

           <provider selected="true" editor-type-id="text-editor">

-            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">

-              <folding>

-                <marker date="1388131247000" expanded="false" signature="453:465" placeholder="..." />

-                <marker date="1388131247000" expanded="false" signature="822:854" placeholder="..." />

-                <marker date="1388131247000" expanded="true" signature="1739:1817" placeholder="..." />

-                <marker date="1388131247000" expanded="true" signature="2136:2329" placeholder="{...}" />

-                <marker date="1388131247000" expanded="true" signature="2156:2255" placeholder="{&quot;paginate&quot;: false...}" />

-                <marker date="1388131247000" expanded="true" signature="2273:2323" placeholder="{...}" />

-                <marker date="1388131247000" expanded="true" signature="2423:2628" placeholder="{...}" />

-                <marker date="1388131247000" expanded="true" signature="2510:2617" placeholder="{...}" />

-                <marker date="1388131247000" expanded="true" signature="2649:2907" placeholder="{...}" />

-                <marker date="1388131247000" expanded="true" signature="2673:2819" placeholder="{&quot;paginate&quot;: false...}" />

-                <marker date="1388131247000" expanded="true" signature="2841:2897" placeholder="{...}" />

-              </folding>

+            <state line="24" column="58" selection-start="610" selection-end="610" vertical-scroll-proportion="-7.8461537">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="view.php" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/view.php">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="36" column="60" selection-start="1888" selection-end="1888" vertical-scroll-proportion="-23.538462">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="sitemap.xml.php" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/sitemap.xml.php">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="20" column="17" selection-start="876" selection-end="876" vertical-scroll-proportion="-13.076923">

+              <folding />

+            </state>

+          </provider>

+        </entry>

+      </file>

+      <file leaf-file-name="robots.txt" pinned="false" current="false" current-in-tab="false">

+        <entry file="file://$PROJECT_DIR$/robots.txt">

+          <provider selected="true" editor-type-id="text-editor">

+            <state line="5" column="51" selection-start="175" selection-end="175" vertical-scroll-proportion="0.0">

+              <folding />

             </state>

           </provider>

         </entry>

@@ -150,9 +225,17 @@
   <component name="IdeDocumentHistory">

     <option name="changedFiles">

       <list>

+        <option value="$PROJECT_DIR$/data/import.php" />

+        <option value="$PROJECT_DIR$/lib/tag-cloud/css/tagcloud.css" />

+        <option value="$PROJECT_DIR$/about.php" />

         <option value="$PROJECT_DIR$/index.php" />

+        <option value="$PROJECT_DIR$/robots.txt" />

+        <option value="$PROJECT_DIR$/sitemap.xml.php" />

+        <option value="$PROJECT_DIR$/data/xls2csv.py" />

+        <option value="$PROJECT_DIR$/view.php" />

         <option value="$PROJECT_DIR$/config.php" />

-        <option value="$PROJECT_DIR$/data/import.php" />

+        <option value="$PROJECT_DIR$/table.php" />

+        <option value="$PROJECT_DIR$/data.json.php" />

       </list>

     </option>

   </component>

@@ -190,7 +273,6 @@
     </navigator>

     <panes>

       <pane id="PackagesPane" />

-      <pane id="Scope" />

       <pane id="ProjectPane">

         <subPane>

           <PATH>

@@ -219,24 +301,194 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

             </PATH_ELEMENT>

             <PATH_ELEMENT>

+              <option name="myItemId" value="lib" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="tag-cloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="lib" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="tag-cloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="tests" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="lotsofcode" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="TagCloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="lib" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="tag-cloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="src" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="lotsofcode" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="TagCloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="lib" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="tag-cloud" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="css" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="js" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="js" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dynatable" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="img" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

               <option name="myItemId" value="data" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+          </PATH>

+          <PATH>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="dcaas" />

+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

+            </PATH_ELEMENT>

+            <PATH_ELEMENT>

+              <option name="myItemId" value="css" />

               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

             </PATH_ELEMENT>

           </PATH>

         </subPane>

       </pane>

+      <pane id="Scope" />

     </panes>

   </component>

   <component name="PropertiesComponent">

     <property name="GoToFile.includeJavaFiles" value="false" />

     <property name="GoToClass.toSaveIncludeLibraries" value="false" />

     <property name="MemberChooser.sorted" value="false" />

+    <property name="MemberChooser.showClasses" value="true" />

     <property name="FullScreen" value="false" />

-    <property name="MemberChooser.showClasses" value="true" />

     <property name="GoToClass.includeLibraries" value="false" />

     <property name="MemberChooser.copyJavadoc" value="false" />

   </component>

+  <component name="RecentsManager">

+    <key name="CopyFile.RECENT_KEYS">

+      <recent name="Z:\Sites\dcaas" />

+    </key>

+  </component>

   <component name="RunManager">

+    <configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">

+      <TestRunner />

+      <method />

+    </configuration>

     <configuration default="true" type="Remote" factoryName="Remote">

       <option name="USE_SOCKET_TRANSPORT" value="true" />

       <option name="SERVER_MODE" value="false" />

@@ -299,26 +551,27 @@
   <component name="ShelveChangesManager" show_recycled="false" />

   <component name="ToolWindowManager">

     <frame x="58" y="-4" width="1626" height="1058" extended-state="6" />

-    <editor active="false" />

+    <editor active="true" />

     <layout>

-      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />

-      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />

+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32894737" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />

+      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />

+      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />

       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />

-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32894737" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />

-      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />

+      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />

       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />

-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25508904" sideWeight="0.67105263" order="0" side_tool="false" content_ui="combo" />

+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25826973" sideWeight="0.67105263" order="0" side_tool="false" content_ui="combo" />

       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />

-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />

-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />

+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />

+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />

       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />

-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />

+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />

       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />

       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />

       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />

+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32894737" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />

       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />

+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />

       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />

-      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />

     </layout>

   </component>

   <component name="VcsContentAnnotationSettings">

@@ -363,7 +616,7 @@
     <option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />

     <option name="FORCE_NON_EMPTY_COMMENT" value="false" />

     <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />

-    <option name="LAST_COMMIT_MESSAGE" />

+    <option name="LAST_COMMIT_MESSAGE" value="ajax table" />

     <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />

     <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />

     <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />

@@ -377,47 +630,127 @@
     <option name="UPDATE_FILTER_BY_SCOPE" value="false" />

     <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />

     <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />

+    <MESSAGE value="ajax table" />

   </component>

   <component name="XDebuggerManager">

     <breakpoint-manager />

   </component>

   <component name="editorHistoryManager">

+    <entry file="file://$PROJECT_DIR$/data/import.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="29" column="34" selection-start="1266" selection-end="1266" vertical-scroll-proportion="0.0">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/index.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="2" column="0" selection-start="30" selection-end="30" vertical-scroll-proportion="0.0">

+          <folding>

+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#!!top" expanded="true" />

+          </folding>

+        </state>

+      </provider>

+    </entry>

     <entry file="file://$PROJECT_DIR$/table.php">

       <provider selected="true" editor-type-id="text-editor">

         <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/about.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="7" column="13" selection-start="159" selection-end="159" vertical-scroll-proportion="0.1383721">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/robots.txt">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="5" column="51" selection-start="175" selection-end="175" vertical-scroll-proportion="0.0">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/data/import.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="41" column="27" selection-start="1839" selection-end="1839" vertical-scroll-proportion="-16.384615">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/data/xls2csv.py">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="15" column="113" selection-start="490" selection-end="490" vertical-scroll-proportion="-8.16">

+          <folding />

+        </state>

+      </provider>

+      <provider editor-type-id="com.intellij.persistence.database.editor.CsvTableFileEditorProvider">

+        <state />

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/index.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="25" column="53" selection-start="878" selection-end="878" vertical-scroll-proportion="-11.076923">

           <folding>

-            <marker date="1388131247000" expanded="false" signature="453:465" placeholder="..." />

-            <marker date="1388131247000" expanded="false" signature="822:854" placeholder="..." />

-            <marker date="1388131247000" expanded="true" signature="1739:1817" placeholder="..." />

-            <marker date="1388131247000" expanded="true" signature="2136:2329" placeholder="{...}" />

-            <marker date="1388131247000" expanded="true" signature="2156:2255" placeholder="{&quot;paginate&quot;: false...}" />

-            <marker date="1388131247000" expanded="true" signature="2273:2323" placeholder="{...}" />

-            <marker date="1388131247000" expanded="true" signature="2423:2628" placeholder="{...}" />

-            <marker date="1388131247000" expanded="true" signature="2510:2617" placeholder="{...}" />

-            <marker date="1388131247000" expanded="true" signature="2649:2907" placeholder="{...}" />

-            <marker date="1388131247000" expanded="true" signature="2673:2819" placeholder="{&quot;paginate&quot;: false...}" />

-            <marker date="1388131247000" expanded="true" signature="2841:2897" placeholder="{...}" />

+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#!!top" expanded="true" />

           </folding>

         </state>

       </provider>

     </entry>

-    <entry file="file://$PROJECT_DIR$/index.php">

-      <provider selected="true" editor-type-id="text-editor">

-        <state line="2" column="0" selection-start="30" selection-end="30" vertical-scroll-proportion="-1.3076923">

+    <entry file="file://$PROJECT_DIR$/sitemap.xml.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="20" column="17" selection-start="876" selection-end="876" vertical-scroll-proportion="-13.076923">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/view.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="36" column="60" selection-start="1888" selection-end="1888" vertical-scroll-proportion="-23.538462">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/css/bootstrap.css">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/js/dynatable/jquery.dynatable.css">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="2" column="16" selection-start="0" selection-end="83" vertical-scroll-proportion="0.0">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/lib/tag-cloud/css/tagcloud.css">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="44" column="17" selection-start="642" selection-end="642" vertical-scroll-proportion="0.0">

           <folding />

         </state>

       </provider>

     </entry>

     <entry file="file://$PROJECT_DIR$/config.php">

       <provider selected="true" editor-type-id="text-editor">

-        <state line="13" column="15" selection-start="420" selection-end="420" vertical-scroll-proportion="-8.5">

-          <folding />

-        </state>

-      </provider>

-    </entry>

-    <entry file="file://$PROJECT_DIR$/data/import.php">

-      <provider selected="true" editor-type-id="text-editor">

-        <state line="29" column="34" selection-start="1266" selection-end="1266" vertical-scroll-proportion="0.39534885">

+        <state line="52" column="42" selection-start="1618" selection-end="1618" vertical-scroll-proportion="-13.615385">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/table.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="24" column="58" selection-start="610" selection-end="610" vertical-scroll-proportion="-7.8461537">

+          <folding />

+        </state>

+      </provider>

+    </entry>

+    <entry file="file://$PROJECT_DIR$/data.json.php">

+      <provider selected="true" editor-type-id="text-editor">

+        <state line="21" column="45" selection-start="1149" selection-end="1149" vertical-scroll-proportion="0.45535713">

           <folding />

         </state>

       </provider>


file:b/about.php (new)
--- /dev/null
+++ b/about.php
@@ -1,1 +1,3 @@
+Icon "Cloud Computing" designed by <a href="http://thenounproject.com/andrewforrester/">Andrew Forrester</a> from the <a

+    href="http://www.thenounproject.com/">Noun Project</a>

 

file:a/config.php -> file:b/config.php
--- a/config.php
+++ b/config.php
@@ -1,109 +1,129 @@
 <?php
 define('__ROOT__', dirname(__FILE__));
 // Set default timezone
-  date_default_timezone_set('UTC');
- 
-  try {
+date_default_timezone_set('UTC');
+
+try {
     /**************************************
-    * Create databases and                *
-    * open connections                    *
-    **************************************/
- 
+     * Create databases and                *
+     * open connections                    *
+     **************************************/
+
     // Create (connect to) SQLite database in file
-    $db = new PDO('sqlite:'.__ROOT__.'/data/dcaas.sqlite3');
+    $db = new PDO('sqlite:' . __ROOT__ . '/data/dcaas.sqlite3');
     // Set errormode to exceptions
-    $db->setAttribute(PDO::ATTR_ERRMODE, 
-                            PDO::ERRMODE_EXCEPTION);
-  }
-  catch(PDOException $e) {
+    $db->setAttribute(PDO::ATTR_ERRMODE,
+        PDO::ERRMODE_EXCEPTION);
+} catch (PDOException $e) {
     // Print PDOException message
     echo $e->getMessage();
-  }
+}
+function local_url()
+{
+    return "http://" . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . "/";
+}
 
-function includeHeader($title) {
-?>
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="">
-    <meta name="author" content="">
-    <link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
+function includeHeader($title)
+{
+    ?>
+    <!DOCTYPE html>
+    <html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="description" content="">
+        <meta name="author" content="">
+        <link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
 
-    <title>Starter Template for Bootstrap</title>
+        <title><?= $title ?></title>
 
-    <!-- Bootstrap core CSS -->
-    <link href="js/dynatable/jquery.dynatable.css" rel="stylesheet">
-    <link href="css/bootstrap.css" rel="stylesheet">
+        <!-- Bootstrap core CSS -->
 
-    <!-- Custom styles for this template 
-    <link href="starter-template.css" rel="stylesheet">-->
+        <link href="js/dynatable/jquery.dynatable.css" rel="stylesheet">
+        <link href="lib/tag-cloud/css/tagcloud.css" rel="stylesheet">
+        <link href="css/bootstrap.css" rel="stylesheet">
+       <style>
+           th a {
+               color: #428bca;
+           }
+           th a:hover {
+               color: #428bca;
+               text-decoration: underline;
+           }
+       </style>
+        <!-- Custom styles for this template
+        <link href="starter-template.css" rel="stylesheet">-->
 
 
-    <!-- Just for debugging purposes. Don't actually copy this line! -->
-    <!--[if lt IE 9]>
-    <script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
+        <!-- Just for debugging purposes. Don't actually copy this line! -->
+        <!--[if lt IE 9]>
+        <script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
 
-    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-    <!--[if lt IE 9]>
-    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
-    <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
-    <![endif]-->
-</head>
+        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!--[if lt IE 9]>
+        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+        <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+        <![endif]-->
+    </head>
 
-<body>
+    <body xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+    xmlns:gr="http://purl.org/goodrelations/v1#"
+    xmlns:foaf="http://xmlns.com/foaf/0.1/"
+    xmlns:vcard="http://www.w3.org/2006/vcard/ns#" >
 
-<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+        <div class="container">
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <a class="navbar-brand" href="#">Project name</a>
+            </div>
+            <div class="collapse navbar-collapse">
+                <ul class="nav navbar-nav">
+                    <li class="active"><a href="#">Home</a></li>
+                    <li><a href="#about">About</a></li>
+                    <li><a href="#contact">Contact</a></li>
+                </ul>
+            </div>
+            <!--/.nav-collapse -->
+        </div>
+    </div>
+
     <div class="container">
-        <div class="navbar-header">
-            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="#">Project name</a>
-        </div>
-        <div class="collapse navbar-collapse">
-            <ul class="nav navbar-nav">
-                <li class="active"><a href="#">Home</a></li>
-                <li><a href="#about">About</a></li>
-                <li><a href="#contact">Contact</a></li>
-            </ul>
-        </div>
-        <!--/.nav-collapse -->
-    </div>
-</div>
-
-<div class="container">
-<br/>
-<br/>
-<br/>
+    <br/>
+    <br/>
+    <br/>
 <?php
 
 }
 
-function includeFooter() {
-global $db;
-try {
-   /**************************************
-    * Close db connections                *
-    **************************************/
- 
-    // Close file db connection
-    $db = null;
-  }
-  catch(PDOException $e) {
-    // Print PDOException message
-    echo $e->getMessage();
-  }
-?>
+function includeFooter()
+{
+    global $db;
+    try {
+        /**************************************
+         * Close db connections                *
+         **************************************/
 
-</div> <!-- /.container -->
-</body>
-</html>
-<?php 
+        // Close file db connection
+        $db = null;
+    } catch (PDOException $e) {
+        // Print PDOException message
+        echo $e->getMessage();
+    }
+    ?>
+
+    </div> <!-- /.container -->
+    </body>
+    </html>
+<?php
 }
 

file:b/data.json.php (new)
--- /dev/null
+++ b/data.json.php
@@ -1,1 +1,37 @@
+<?php
+include("config.php");
+header("Content-Type: application/json");
+$result = Array();
+$page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_NUMBER_INT);
+$perPage = filter_input(INPUT_GET, 'perPage', FILTER_SANITIZE_NUMBER_INT);
+$offset = filter_input(INPUT_GET, 'offset', FILTER_SANITIZE_NUMBER_INT);
+$search = preg_replace("/[^a-zA-Z0-9]+/", "", filter_var($_GET['queries']['search'], FILTER_SANITIZE_STRING));
+$sortby = 'acnabn';
+if (isset($_GET['sorts'])) {
+    $keys = array_keys($_GET['sorts']);
+    if (in_array($keys[0], array('trading_or_business_name', 'acnabn', 'service', 'service_category', 'service_sub_category'))) {
+        $sortby = preg_replace("/[^a-zA-Z0-9_]+/", "", $keys[0]);
+        if ($sortby == 'service') $sortby = 'service_name';
+    }
+}
+$select_columns = 'Select trading_or_business_name, acnabn, service_name, service_category, service_sub_category ';
+$query = " from dcaas_services "
+    . ($search != "" ? " where service_name like '%$search%'" : "");
+$total = $db->query("select count(*) from dcaas_services")->fetch(PDO::FETCH_NUM);
+$query_total = $db->query("select count(*) ".$query)->fetch(PDO::FETCH_NUM);
 
+/* http://www.sqlite.org/lang_select.html
+Instead of a separate OFFSET clause, the LIMIT clause may specify two scalar expressions separated by a comma.
+In this case, the first expression is used as the OFFSET expression and the second as the LIMIT expression.
+This is counter-intuitive, as when using the OFFSET clause the second of the two expressions is the OFFSET
+and the first the LIMIT. This is intentional - it maximizes compatibility with other SQL database systems.*/
+$limit = "limit $offset, $perPage";
+
+foreach ($db->query($select_columns .$query . " order by $sortby $limit", PDO::FETCH_ASSOC) as $row) {
+    $row['service'] = '<a href="view.php?acnabn=' . $row['acnabn'] . "&service_name=" . $row['service_name'] . '">' . $row['service_name'] . "</a>";
+    $result['records'][] = $row;
+}
+$result['queryRecordCount'] = intval($query_total[0]);
+$result['totalRecordCount'] = intval($total[0]);
+echo json_encode($result);
+?>

--- a/data/xls2csv.py
+++ b/data/xls2csv.py
@@ -12,9 +12,9 @@
 def cleanseValue(column,value):
 	if isinstance(value, basestring):
 		value = "".join([x if ord(x) < 128 else '' for x in value])
-		value = value.replace('<','&gt;').replace('>','&lt;').replace('\n','<br/>').replace('\r','<br/>')
+		value = value.replace('<','&gt;').replace('>','&lt;').replace('\n','<br/>').replace('\r','<br/>').strip()
 	else:
-		value = str(value)
+		value = str(value).strip()
 	if column == 'ACNABN' and value != None:
 		value = value.replace(' ','').replace(".0","").replace('"','').replace(",","")
 		value = value.replace("ABN"," ").replace("ACN"," ").replace("/"," ").replace(":"," ")

file:b/img/csv.gif (new)
 Binary files /dev/null and b/img/csv.gif differ
file:b/img/icon_2567.png (new)
 Binary files /dev/null and b/img/icon_2567.png differ
file:b/img/icon_2567.svg (new)
--- /dev/null
+++ b/img/icon_2567.svg
@@ -1,1 +1,5 @@
-
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_2" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<g>
+	<path d="M96.151,33.194c0-11.975-9.729-21.716-21.689-21.716c-2.779,0-5.536,0.536-8.098,1.563   C62.134,6.176,54.548,1.86,46.398,1.86c-11.827,0-21.659,8.744-23.213,20.251c-4.758,1.181-8.77,4.407-10.938,8.836   c-4.831,1.754-8.105,6.353-8.105,11.592c0,6.806,5.537,12.343,12.343,12.343h8.223l11.747,30.521   c3.241,7.666,10.713,12.619,19.035,12.619c11.393,0,20.66-9.269,20.66-20.658l0.028-22.558   C87.336,53.931,96.151,44.576,96.151,33.194z M53.078,46.888c0-1.44,0.983-2.657,2.145-2.657c1.162,0,2.146,1.217,2.146,2.657   v13.812c0,0.798,0.65,1.447,1.448,1.447c0.801,0,1.448-0.649,1.448-1.447V46.888c0-1.44,0.983-2.657,2.146-2.657   c1.164,0,2.146,1.217,2.146,2.657v13.812c0,0.798,0.648,1.447,1.449,1.447s1.448-0.649,1.448-1.447V50.511   c0-1.442,0.984-2.658,2.146-2.658c1.163,0,2.146,1.216,2.146,2.655l-0.034,26.855c0,8.946-7.277,16.223-16.222,16.223   c-6.535,0-12.401-3.889-14.931-9.863L28.666,52.814c-0.341-0.867,0.084-1.932,0.966-2.343l0.772-0.39   c0.844-0.393,1.933-0.034,2.376,0.781l10.381,19.112c0.317,0.583,0.991,0.876,1.63,0.712c0.642-0.163,1.093-0.743,1.093-1.404   l0.006-41.232c0-1.44,0.982-2.658,2.145-2.658S50.18,26.61,50.18,29.5l0.005,31.199c0,0.798,0.649,1.447,1.45,1.447   s1.449-0.649,1.449-1.447L53.078,46.888z M40.015,54.884h1.434l-0.001,2.639L40.015,54.884z M76.14,49.728   c-0.362-3.545-3.156-6.314-6.54-6.314c-0.46,0-0.92,0.053-1.369,0.16c-1.116-2.291-3.327-3.781-5.82-3.781   c-1.298,0-2.535,0.401-3.594,1.149c-1.058-0.748-2.295-1.149-3.594-1.149c-0.202,0-0.404,0.01-0.603,0.029V28.051   c0-3.913-2.954-7.095-6.584-7.095c-3.63,0-6.583,3.183-6.583,7.095l-0.003,21.762h-4.19l-0.578-1.063   c-1.089-2.007-3.215-3.253-5.548-3.253c-0.923,0-1.813,0.196-2.685,0.604l-0.73,0.369c-1.466,0.683-2.555,1.913-3.134,3.344h-8.098   c-4.01,0-7.272-3.263-7.272-7.271c0-3.342,2.26-6.241,5.496-7.049c0.79-0.197,1.437-0.762,1.739-1.519   c1.577-3.938,5.172-6.697,9.384-7.199c1.229-0.147,2.172-1.159,2.232-2.395c0.48-9.783,8.532-17.447,18.333-17.447   c7.05,0,13.562,4.123,16.591,10.505c0.299,0.629,0.843,1.108,1.507,1.325c0.664,0.215,1.388,0.148,1.999-0.187   c2.426-1.326,5.181-2.025,7.967-2.025c9.165,0,16.619,7.466,16.619,16.645C91.081,41.791,84.519,48.883,76.14,49.728z"/>
+</g>
+</svg>

file:b/img/license.txt (new)
--- /dev/null
+++ b/img/license.txt
@@ -1,1 +1,9 @@
+Thank you for using The Noun Project. This icon is licensed under Creative
+Commons Attribution and must be attributed as:
 
+    Cloud Computing by Andrew Forrester from The Noun Project
+
+If you have a Premium Account or have purchased a license for this icon, you
+don't need to worry about attribution! We will share the profits from your
+purchase with this icon's designer.
+

file:a/index.php -> file:b/index.php
--- a/index.php
+++ b/index.php
@@ -1,12 +1,36 @@
 <?php
-include ("config.php");
-require_once(__ROOT__.'/lib/tag-cloud/src/lotsofcode/TagCloud/TagCloud.php');
+include("config.php");
+require_once(__ROOT__ . '/lib/tag-cloud/src/lotsofcode/TagCloud/TagCloud.php');
 
 includeHeader("title");
-$cloud = new lotsofcode\TagCloud\TagCloud();
-$cloud->addTag("tag-cloud");
-$cloud->addTag("programming");
-echo $cloud->render();
-includeFooter();
 ?>
+<div class="jumbotron">
+    <div class="container">
+        <div style="float:left; margin: 5%; display:block">
+            <img src="img/icon_2567.png" width="100" height="100"/>
+        </div>
+        <h1>Hello, world!</h1>
 
+        <p>This is a template for a simple marketing or informational website. It includes a large callout called a
+            jumbotron and three supporting pieces of content. Use it as a starting point to create something more
+            unique.</p>
+
+        <p><a class="btn btn-primary btn-lg" role="button" href="table.php">Learn more &raquo;</a></p>
+
+    </div>
+</div>
+
+<div class="container">
+    <?php
+    $cloud = new lotsofcode\TagCloud\TagCloud();
+    foreach ($db->query("Select service_name from dcaas_services;") as $row) {
+        foreach (explode(" ", $row[0]) as $word) {
+            $cloud->addTag($word);
+        }
+    }
+    $cloud->setMinLength(4);
+    echo $cloud->render();
+    echo "</div>";
+    includeFooter();
+    ?>
+

file:b/robots.txt (new)
--- /dev/null
+++ b/robots.txt
@@ -1,1 +1,6 @@
-
+# www.robotstxt.org/

+# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449

+

+User-agent: *

+Disallow: /admin/

+Sitemap: http://orgs.disclosurelo.gs/sitemap.xml.php

file:b/sitemap.xml.php (new)
--- /dev/null
+++ b/sitemap.xml.php
@@ -1,1 +1,21 @@
-
+<?php

+

+include('config.php');

+$last_updated = date('Y-m-d', @filemtime('data'));

+header("Content-Type: text/xml");

+echo "<?xml version='1.0' encoding='UTF-8'?>";

+echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";

+echo " <url><loc>" . local_url() . "index.php</loc><priority>1.0</priority></url>\n";

+/*foreach (scandir("./") as $file) {

+    if (strpos($file, ".php") !== false && $file != "index.php" && $file != "sitemap.xml.php")

+        echo " <url><loc>" . local_url() . "$file</loc><priority>0.3</priority></url>\n";

+} */

+

+

+$query = "Select distinct acnabn, service_name from dcaas_services order by acnabn";

+

+foreach ($db->query($query, PDO::FETCH_ASSOC) as $row) {

+    echo '<url><loc>' . local_url() . 'view.php?acnabn=' . $row['acnabn'] . "&service_name=" . $row['service_name'] . "</loc><priority>0.6</priority></url>\n";

+}

+

+echo '</urlset>';

file:a/table.php -> file:b/table.php
--- a/table.php
+++ b/table.php
@@ -1,56 +1,42 @@
 <?php
-include ("config.php");
-include ("lib/tag-cloud/src/lotsofcode/TagCloud/TagCloud.php");
+include("config.php");
+include("lib/tag-cloud/src/lotsofcode/TagCloud/TagCloud.php");
 
-includeHeader("title");
+includeHeader("DCaaS Service Catalogue");
 ?>
 
-    <div class="starter-template">
-        <br/>
-        <br/>
+<div class="starter-template">
+    <br/>
+    <br/>
 
-        <h1>Bootstrap starter template</h1>
+    <h1>DCaaS Service Catalogue</h1>
 
-        <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a
-            mostly barebones HTML document.</p>
+    <!--<div id="search-example-year-filter" style="float: left;">
+        Year:
+        <select id="search-year" name="year">
+            <option></option>
+            <option>2001</option>
+            <option>2003</option>
+            <option>2008</option>
+            <option>2013</option>
+        </select>
+    </div>
 
-        <div id="search-example-year-filter" style="float: left;">
-            Year:
-            <select id="search-year" name="year">
-                <option></option>
-                <option>2001</option>
-                <option>2003</option>
-                <option>2008</option>
-                <option>2013</option>
-            </select>
-        </div>
-
-        <div id="search-function-example-price-filter" style="float: left; margin-bottom: 1em;">
-            Max Price:
-            $<input id="max-price" type="number" step="1000" data-dynatable-query="max-price">
-        </div>
+    <div id="search-function-example-price-filter" style="float: left; margin-bottom: 1em;">
+        Max Price:
+        $<input id="max-price" type="number" step="1000" data-dynatable-query="max-price">
+    </div>-->
 
 
-        <table id="my-table">
-            <thead>
-            <?php
-            $row = 0;
-            $csvfile = './data/DCaaS+Catalogue+September+2013 PublicDCaaS_AFI_Part_3_Sec_5_Service_.csv';
-            if (($handle = fopen($csvfile, "r")) !== FALSE) {
-                while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
-                    if ($row == 0) {
-                        echo "<thead><th>" . implode($data, "</th><th>") . "</th></thead> \n";
-                    } else {
-                        echo "<tr><td>" . implode($data, "</td><td>") . "</td></tr> \n";
-                    }
-                    $row++;
-                }
-                fclose($handle);
-            }
-            ?>
-        </table>
-    </div>
-
+    <table id="my-table" class="table table-striped">
+        <thead>
+        <th>trading_or_business_name</th>
+        <th>Service</th>
+        <th>service_category</th>
+        <th>service_sub_category</th>
+        </thead>
+    </table>
+</div>
 
 
 <!-- Bootstrap core JavaScript
@@ -60,36 +46,43 @@
 <script src="js/bootstrap.min.js"></script>
 <script src="js/dynatable/jquery.dynatable.js"></script>
 <script>
-    $('#my-table').dynatable();
-
-    $('#search-example').dynatable({
-        features: {
-            paginate: false,
-            recordCount: false,
-            sorting: false
-        },
-        inputs: {
-            queries: $('#search-year')
+    $('#my-table').dynatable({
+        dataset: {
+            ajax: true,
+            ajaxUrl: 'data.json.php',
+            ajaxOnLoad: true,
+            records: []
         }
     });
 
-    $('#search-function-example')
-        .bind('dynatable:init', function (e, dynatable) {
-            dynatable.queries.functions['max-price'] = function (record, queryValue) {
-                return parseFloat(record.price.replace(/,/, '')) <= parseFloat(queryValue);
-            };
-        })
-        .dynatable({
-            features: {
-                paginate: false,
-                recordCount: false,
-                sorting: false,
-                search: false
-            },
-            inputs: {
-                queries: $('#max-price')
-            }
-        });
+    /* $('#search-example').dynatable({
+     features: {
+     paginate: false,
+     recordCount: false,
+     sorting: false
+     },
+     inputs: {
+     queries: $('#search-year')
+     }
+     });
+
+     $('#search-function-example')
+     .bind('dynatable:init', function (e, dynatable) {
+     dynatable.queries.functions['max-price'] = function (record, queryValue) {
+     return parseFloat(record.price.replace(/,/, '')) <= parseFloat(queryValue);
+     };
+     })
+     .dynatable({
+     features: {
+     paginate: false,
+     recordCount: false,
+     sorting: false,
+     search: false
+     },
+     inputs: {
+     queries: $('#max-price')
+     }
+     }); */
 
 </script>
 

file:b/view.php (new)
--- /dev/null
+++ b/view.php
@@ -1,1 +1,48 @@
+<?php
+include("config.php");
+$acnabn = filter_input(INPUT_GET,'acnabn', FILTER_SANITIZE_STRING);
+$service_name = filter_input(INPUT_GET,'service_name', FILTER_SANITIZE_STRING);
+$sth =  $db->prepare("Select * from dcaas_services where acnabn = :acnabn and service_name = :service_name");
+$sth->bindValue(':acnabn',$acnabn);
+$sth->bindValue(':service_name',$service_name);
+$sth->execute();
+$data = $sth->fetchAll(PDO::FETCH_ASSOC);
+if (count($data) == 0) {
+    header('HTTP/1.0 404 Not Found');
+    includeHeader('Not Found');
+    echo "not found";
+} else {
 
+    $service = $data[0];
+    includeHeader($service['service_name']);
+    ?>
+    <div itemscope itemtype="http://schema.org/Product">
+    <h1 itemprop="name"><?= $service['service_name'] ?></h1>
+
+    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
+        <div itemprop="seller" itemscope itemtype="http://schema.org/Organization">
+            <h2>(<span itemprop="name"><?= $service['trading_or_business_name'] ?></span>)</h2>
+            <small><a
+                    href="https://www.tenders.gov.au/?event=public.advancedsearch.CNSONRedirect&type=cnEvent&atmType=archived%2Cclosed%2Cpublished%2Cproposed&agencyUUID=&agencyStatus=0&portfolioUUID=&keyword=&KeywordTypeSearch=AllWord&CNID=&dateType=Publish+Date&dateStart=&dateEnd=&supplierName=&supplierABN=<?= $service['acnabn'] ?>&valueFrom=&valueTo=&ATMID=&AgencyRefId=&consultancy=&submit=Search">
+                    View Australian Government contracts with this supplier on AusTender</a></small>
+            <br/>
+        </div>
+    </div>
+    <br/>
+    <i><span itemprop="description"><?= $service['service_description'] ?></span></i><br/>
+    <table>
+    <?php
+    foreach ($service as $key => $value) {
+        if (trim($value) != "" && !in_array($key, Array('trading_or_business_name' , 'acnabn' , 'service_name' ,'service_description', 'id'))) {
+
+                echo "<tr><td>".ucwords(str_replace("_", " ", $key)) . "</td><td>$value</td></tr>\n";
+
+
+        }
+
+    }
+    echo "</table>";
+
+}
+includeFooter();
+