r1724 + generateAutoPorts(): welcome new ophandler
[racktables] / inc / database.php
index a61da6e15580ebb5765e07d0546bd779aed98a98..4f2fba50782b7e608418801d3e9c7df13b19d2f7 100644 (file)
@@ -376,6 +376,8 @@ function commitAddObject ($new_name, $new_label, $new_barcode, $new_type_id, $ne
        $row = $result2->fetch (PDO::FETCH_NUM);
        $last_insert_id = $row[0];
        $result2->closeCursor();
+       // Do AutoPorts magic
+       executeAutoPorts ($last_insert_id, $new_type_id);
        return recordHistory ('RackObject', "id = ${last_insert_id}");
 }
 
@@ -1416,7 +1418,7 @@ function getDict ()
 
 function getDictStats ()
 {
-       $stock_chapters = array (1, 2, 3, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22);
+       $stock_chapters = array (1, 2, 3, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23);
        global $dbxlink;
        $query =
                "select Chapter.chapter_no, chapter_name, count(dict_key) as wc from " .
@@ -1517,7 +1519,7 @@ function getRackspaceStats()
                        return NULL;
                }
                $row = $result->fetch (PDO::FETCH_NUM);
-               $ret[$item['txt']] = $row[0];
+               $ret[$item['txt']] = empty ($row[0]) ? 0 : $row[0];
                $result->closeCursor();
                unset ($result);
        }
@@ -2643,4 +2645,17 @@ function commitSetInService ($rs_id = 0, $inservice = '')
                return TRUE;
 }
 
+function executeAutoPorts ($object_id = 0, $type_id = 0)
+{
+       if ($object_id == 0 or $type_id == 0)
+       {
+               showError ('Invalid arguments', __FUNCTION__);
+               die;
+       }
+       $ret = TRUE;
+       foreach (getAutoPorts ($type_id) as $autoport)
+               $ret = $ret and '' == commitAddPort ($object_id, $autoport['name'], $autoport['type'], '', '');
+       return $ret;
+}
+
 ?>