r3632 update with today's fix from racktables-users
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 19 May 2010 13:18:25 +0000 (13:18 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Mon, 26 Mar 2012 10:12:23 +0000 (14:12 +0400)
local_portgenerator.php

index 2e54753..170f242 100644 (file)
@@ -109,16 +109,20 @@ if (!defined("_portGeneratorNumberOfPorts")) {
 //
 // Check whether the table exists. If not, create it
 //
-$result = useSelectBlade ("SHOW TABLES LIKE '{$tablePortGenerator}'", __FUNCTION__);
-if ($result==NULL) { print_r($dbxlink->errorInfo()); die(); }
-if (!($row = $result->fetch (PDO::FETCH_NUM))) {
-  $q = "CREATE TABLE IF NOT EXISTS `{$tablePortGenerator}` (
-  `dict_key` int(11) NOT NULL,
-  `autoportconfig` text NOT NULL,
-  UNIQUE KEY `dict_key` (`dict_key`)
-  ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;";
-  $result = useSelectBlade ($q, __FUNCTION__);
+function checkForTable ()
+{
+  global $tablePortGenerator;
+  $result = useSelectBlade ("SHOW TABLES LIKE '{$tablePortGenerator}'", __FUNCTION__);
   if ($result==NULL) { print_r($dbxlink->errorInfo()); die(); }
+  if (!($row = $result->fetch (PDO::FETCH_NUM))) {
+    $q = "CREATE TABLE IF NOT EXISTS `{$tablePortGenerator}` (
+    `dict_key` int(11) NOT NULL,
+    `autoportconfig` text NOT NULL,
+    UNIQUE KEY `dict_key` (`dict_key`)
+    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;";
+    $result = useSelectBlade ($q, __FUNCTION__);
+    if ($result==NULL) { print_r($dbxlink->errorInfo()); die(); }
+  }
 }
 
 //
@@ -145,6 +149,7 @@ function localtrigger_PortGenerator()
 // (and if necessary for the hardware type id which is found as attribute id _portGeneratorHWType
 function localverify_PortGenerator($object) {
   global $tablePortGenerator, $errorText, $lookFor, $portList, $genText, $valueConfiguration, $searchIt;
+  checkForTable();
   $foundError = true;
   $record = getObjectPortsAndLinks ($object['id']);
   //
@@ -414,6 +419,7 @@ $msgcode['updateconfig_PortGenerator']['ERR'] = 100;
 function updateconfig_PortGenerator()
 {
   global $tablePortGenerator;
+  checkForTable();
   $q = "SELECT autoportconfig FROM {$tablePortGenerator} WHERE dict_key={$_REQUEST['yId']} ";
   $result = useSelectBlade ($q, __FUNCTION__);
   if ($result==NULL) { print_r($dbxlink->errorInfo()); die(); }