throw new Shout_Exception($row);
}
+ $menus = array();
while ($row && !($row instanceof PEAR_Error)) {
$menu = $row['name'];
$menus[$menu] = array(
return true;
}
- public function getNumbers()
+ public function getNumbers($account = null)
{
- $sql = 'SELECT numbers.id AS id, numbers.did AS number, ' .
- 'accounts.code AS accountcode, menus.name AS menuName ' .
- 'FROM numbers ' .
- 'INNER JOIN accounts ON numbers.account_id = accounts.id ' .
- 'INNER JOIN menus ON numbers.menu_id = menus.id';
+ if (!empty($account)) {
+ $sql = 'SELECT numbers.id AS id, numbers.did AS number, ' .
+ 'accounts.code AS accountcode, menus.name AS menuName ' .
+ 'FROM numbers ' .
+ 'INNER JOIN accounts ON numbers.account_id = accounts.id ' .
+ 'INNER JOIN menus ON numbers.menu_id = menus.id ' .
+ 'WHERE accounts.code = ?';
+ $values = array($account);
+
+ } else {
+ $sql = 'SELECT numbers.id AS id, numbers.did AS number, ' .
+ 'accounts.code AS accountcode, menus.name AS menuName ' .
+ 'FROM numbers ' .
+ 'INNER JOIN accounts ON numbers.account_id = accounts.id ' .
+ 'INNER JOIN menus ON numbers.menu_id = menus.id';
+ $values = array();
+ }
$msg = 'SQL query in Shout_Driver_Sql#getNumbers(): ' . $sql;
Horde::logMessage($msg, 'DEBUG');
- $result = $this->_db->query($sql, $args);
+ $result = $this->_db->query($sql, $values);
if ($result instanceof PEAR_Error) {
throw new Shout_Exception($result);
}