r3333 usePreparedDeleteBlade(): rewrite function spec like the one usePreparedInsertB...
authorDenis Ovsienko <infrastation@yandex.ru>
Tue, 9 Mar 2010 15:30:30 +0000 (15:30 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Tue, 9 Mar 2010 15:30:30 +0000 (15:30 +0000)
setPortVLANConfig(): reflect the change
destroyVLANDomain(): idem

inc/database.php
inc/ophandlers.php

index 9511483..3c81543 100644 (file)
@@ -2239,11 +2239,18 @@ function useDeleteBlade ($tablename, $keyname, $keyvalue)
 }
 
 // Prepared version of above, but note the difference in returned value.
-function usePreparedDeleteBlade ($tablename, $keyname, $keyvalue)
+function usePreparedDeleteBlade ($tablename, $columns, $conjunction = 'AND')
 {
        global $dbxlink;
-       $prepared = $dbxlink->prepare ("DELETE FROM ${tablename} WHERE ${keyname} = ?");
-       if (!$prepared->execute (array ($keyvalue)))
+       $conj = '';
+       $query = "DELETE FROM ${tablename} WHERE ";
+       foreach ($columns as $colname => $colvalue)
+       {
+               $query .= "${conj} ${colname} = ?";
+               $conj = $conjunction;
+       }
+       $prepared = $dbxlink->prepare ($query);
+       if (!$prepared->execute (array ($columns)))
                return FALSE;
        return $prepared->rowCount(); // FALSE !== 0
 }
@@ -3694,8 +3701,8 @@ function setPortVLANConfig ($port_id, $allowed, $native)
        global $dbxlink;
        if
        (
-               FALSE === usePreparedDeleteBlade ('PortAllowedVLAN', 'port_id', $port_id) or
-               FALSE === usePreparedDeleteBlade ('PortNativeVLAN', 'port_id', $port_id)
+               FALSE === usePreparedDeleteBlade ('PortAllowedVLAN', array ('port_id' => $port_id)) or
+               FALSE === usePreparedDeleteBlade ('PortNativeVLAN', array ('port_id' => $port_id))
        )
                return FALSE;
        foreach ($allowed as $vlan_id)
index 5e19d67..778fa85 100644 (file)
@@ -2156,7 +2156,7 @@ function destroyVLANDomain ()
 {
        assertUIntArg ('vdom_id');
        global $sic;
-       $result = FALSE !== usePreparedDeleteBlade ('VLANDomain', 'id', $sic['vdom_id']);
+       $result = FALSE !== usePreparedDeleteBlade ('VLANDomain', array ('id' => $sic['vdom_id']));
        return buildRedirectURL (__FUNCTION__, $result ? 'OK' : 'ERR');
 }