r1264 more order in unmounted objects list
[racktables] / inc / database.php
index da37cb3ba68b9a8aa6bbe686b2ed83abcf1948d8..28fb9af901f171ea156ad69fa6a042355bea18ca 100644 (file)
@@ -1,4 +1,4 @@
-<?
+<?php
 /*
 *
 *  This file is a library of database access functions for RackTables.
@@ -17,8 +17,9 @@ function getRackRowInfo ($rackrow_id = 0)
 {
        global $dbxlink;
        $query =
-               "select dict_key, dict_value, count(Rack.id) as count, sum(Rack.height) as sum " .
-               "from Chapter natural join Dictionary left join Rack on Rack.id = dict_key " .
+               "select dict_key, dict_value, count(Rack.id) as count, " .
+               "if(isnull(sum(Rack.height)),0,sum(Rack.height)) as sum " .
+               "from Chapter natural join Dictionary left join Rack on Rack.row_id = dict_key " .
                "where chapter_name = 'RackRow' " .
                ($rackrow_id > 0 ? "and dict_key = ${rackrow_id} " : '') .
                "group by dict_key order by dict_value";
@@ -685,7 +686,7 @@ function getUnmountedObjects ()
                'select dict_value as objtype_name, dict_key as objtype_id, name, label, barcode, id, asset_no from ' .
                'RackObject inner join Dictionary on objtype_id = dict_key natural join Chapter ' .
                'left join RackSpace on id = object_id '.
-               'where rack_id is null and chapter_name = "RackObjectType" order by dict_value, name';
+               'where rack_id is null and chapter_name = "RackObjectType" order by dict_value, name, label, asset_no, barcode';
        $result = $dbxlink->query ($query);
        if ($result == NULL)
        {
@@ -1760,6 +1761,25 @@ function commitUseupPort ($port_id = 0)
        
 }
 
+function commitUpdateUI ($varname, $vartype, $emptyok, $varvalue, $description)
+{
+       if (empty ($varname) || empty ($vartype) || empty ($emptyok) || empty ($varvalue)|| empty ($description))
+       {
+               showError ('Not all required args to commitUpdateUI() are present.');
+               return FALSE;
+       }
+       global $dbxlink;
+       $query = "UPDATE Config SET vartype='${vartype}', emptyok='${emptyok}', varvalue='${varvalue}', description='${description}' " .
+                       "WHERE varname='${varname}'";
+       $result = $dbxlink->query ($query);
+       if ($result->rowCount() != 1)
+       {
+               showError ('Error updating config in commitUpdateUI()');
+               return FALSE;
+       }
+       return TRUE;
+}
+
 // This is a swiss-knife blade to insert a record into a table.
 // The first argument is table name.
 // The second argument is an array of "name" => "value" pairs.
@@ -1802,7 +1822,7 @@ function useDeleteBlade ($tablename, $keyname, $keyvalue, $quotekey = TRUE)
 function loadConfigCache ()
 {
        global $dbxlink;
-       $query = 'select varname, varvalue, vartype, is_hidden, emptyok, description from Config';
+       $query = 'SELECT varname, varvalue, vartype, is_hidden, emptyok, description FROM Config ORDER BY varname';
        $result = $dbxlink->query ($query);
        if ($result == NULL)
        {