Fix deleting the menu; correct SQL error on accounts
authorBen Klang <ben@alkaloid.net>
Sat, 3 Apr 2010 02:13:31 +0000 (22:13 -0400)
committerBen Klang <ben@alkaloid.net>
Sat, 3 Apr 2010 02:13:31 +0000 (22:13 -0400)
shout/lib/Driver/Sql.php
shout/wizard.php

index 23283e3..36080dc 100644 (file)
@@ -670,15 +670,18 @@ class Shout_Driver_Sql extends Shout_Driver
         if (isset($numbers[$number])) {
             $sql = 'UPDATE numbers SET ' .
                    'account_id = (SELECT id FROM accounts WHERE code = ?), ' .
-                   'menu_id = (SELECT id FROM menus WHERE name = ?) ' .
+                   'menu_id = (SELECT id FROM menus WHERE name = ? AND ' .
+                   'account_id = (SELECT id FROM accounts WHERE code = ?)) ' .
                    'WHERE did = ?';
+            $values = array($account, $menu, $account, $number);
         } else {
             $sql = 'INSERT INTO numbers (account_id, menu_id, did) VALUES (' .
                    '(SELECT id FROM accounts WHERE code = ?), ' .
                    '(SELECT id FROM menus WHERE name = ?), ' .
                    '?)';
+            $values = array($account, $menu, $number);
         }
-        $values = array($account, $menu, $number);
+
         $msg = 'SQL query in Shout_Driver_Sql#saveNumber(): ' . $sql;
         Horde::logMessage($msg, 'DEBUG');
         $result = $this->_write_db->query($sql, $values);
index 2999ecc..6f7f6e2 100644 (file)
@@ -61,6 +61,7 @@ try {
                                      'star', 'admin_login', array());
     $extensions = $shout->extensions->getExtensions($curaccount['code']);
 } catch (Exception $e) {
+    print_r($e);
     $notification->push($e);
 }