require_once SHOUT_BASE . '/lib/Forms/DeviceForm.php';
-$account = $_SESSION['shout']['account'];
+$curaccount = $_SESSION['shout']['curaccount'];
$action = Horde_Util::getFormData('action');
$vars = Horde_Variables::getDefaultVariables();
-//$tabs = Shout::getTabs($account, $vars);
-
$RENDERER = new Horde_Form_Renderer();
$title = _("Devices: ");
case 'add':
case 'edit':
$vars = Horde_Variables::getDefaultVariables();
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new DeviceDetailsForm($vars);
// Show the list if the save was successful, otherwise back to edit.
// Create a new add/edit form
$devid = Horde_Util::getFormData('devid');
- $devices = $shout->devices->getDevices($account);
+ $devices = $shout->devices->getDevices($curaccount['code']);
$vars = new Horde_Variables($devices[$devid]);
$vars->set('action', $action);
$devid = Horde_Util::getFormData('devid');
$vars = Horde_Variables::getDefaultVariables();
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new DeviceDeleteForm($vars);
$FormValid = $Form->validate($vars, true);
}
$vars = Horde_Variables::getDefaultVariables(array());
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new DeviceDeleteForm($vars);
break;
// Fetch the (possibly updated) list of extensions
try {
- $devices = $shout->devices->getDevices($account);
+ $devices = $shout->devices->getDevices($curaccount['code']);
} catch (Exception $e) {
$notification->push($e);
$devices = array();
$action = Horde_Util::getFormData('action');
$menu = Horde_Util::getFormData('menu');
-$account = $_SESSION['shout']['account'];
+$curaccount['code'] = $_SESSION['shout']['curaccount'];
-$menus = $shout->storage->getMenus($account);
+$menus = $shout->storage->getMenus($curaccount['code']);
switch($action) {
case 'edit':
require_once SHOUT_BASE . '/lib/Forms/ExtensionForm.php';
$action = Horde_Util::getFormData('action');
-$account = $_SESSION['shout']['account'];
-
-//$tabs = Shout::getTabs($account, $vars);
+$curaccount = $_SESSION['shout']['curaccount'];
$RENDERER = new Horde_Form_Renderer();
case 'add':
case 'edit':
$vars = Horde_Variables::getDefaultVariables();
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new ExtensionDetailsForm($vars);
$FormValid = $Form->validate($vars, true);
// Create a new add/edit form
$extension = Horde_Util::getFormData('extension');
- $extensions = $shout->extensions->getExtensions($account);
+ $extensions = $shout->extensions->getExtensions($curaccount['code']);
$vars = new Horde_Variables($extensions[$extension]);
if ($action == 'edit') {
$vars->set('oldextension', $extension);
$extension = Horde_Util::getFormData('extension');
$vars = Horde_Variables::getDefaultVariables();
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new ExtensionDeleteForm($vars);
$FormValid = $Form->validate($vars, true);
}
$vars = Horde_Variables::getDefaultVariables(array());
- $vars->set('account', $account);
+ $vars->set('account', $curaccount['code']);
$Form = new ExtensionDeleteForm($vars);
break;
// Fetch the (possibly updated) list of extensions
try {
- $extensions = $shout->extensions->getExtensions($account);
+ $extensions = $shout->extensions->getExtensions($curaccount['code']);
} catch (Exception $e) {
$notification->push($e);
$extensions = array();
} catch (Shout_Exception $e) {
$GLOBALS['notification']->push($e);
$accounts = false;
+ return false;
}
$account = Horde_Util::getFormData('account');
$account = $_SESSION['shout']['account'];
}
- if (!empty($account) && !in_array($account, $accounts)) {
+ if (!empty($account) && !in_array($account, array_keys($accounts))) {
// Requested account not available
$GLOBALS['notification']->push(_("You do not have permission to access that account."), 'horde.error');
$account = false;
if (empty($account)) {
if (count($accounts)) {
// Default to the user's first account
- $account = reset($accounts);
+ $account = reset(array_keys($accounts));
} else {
// No account requested and/or no accounts available anyway
$GLOBALS['notification']->push("Please select a account to continue.", 'horde.info');
}
}
- $_SESSION['shout']['account'] = $account;
+ $_SESSION['shout']['accounts'] = $accounts;
+ $_SESSION['shout']['curaccount'] = $account;
}
/**
{
$this->_connect();
- $sql = 'SELECT name, accountcode FROM accounts';
+ $sql = 'SELECT name, code FROM accounts';
$vars = array();
$msg = 'SQL query in Shout_Driver_Sql#getAccounts(): ' . $sql;
$accounts = array();
while ($row && !($row instanceof PEAR_Error)) {
- $accounts[$accountcode] = $row['name'];
+ $accounts[$row['code']] = $row['name'];
$row = $result->fetchRow(DB_FETCHMODE_ASSOC);
}
$this->_connect();
- $sql = 'SELECT accounts.accountcode AS account, menus.name AS name, ' .
+ $sql = 'SELECT accounts.code AS account, menus.name AS name, ' .
'menus.description AS description, menus.soundfile AS soundfile ' .
'FROM menus INNER JOIN accounts ON menus.account_id = accounts.id ' .
'WHERE accounts.accountcode = ?';
}
Horde::assertDriverConfig($this->_params, $this->_params['class'],
- array('phptype', 'charset', 'table'));
+ array('phptype', 'charset'));
if (!isset($this->_params['database'])) {
$this->_params['database'] = '';
$this->_write_db = DB::connect($this->_params,
array('persistent' => !empty($this->_params['persistent'])));
if ($this->_write_db instanceof PEAR_Error) {
- throw Shout_Exception($this->_write_db);
+ throw new Shout_Exception($this->_write_db);
}
// Set DB portability options.
*/
static public function getMenu($returnType = 'object')
{
- global $conf, $account, $section, $action;
+ global $conf, $curaccount, $section, $action;
require_once 'Horde/Menu.php';
</a>
</li>
</ul>
- Account: <?php echo $account; ?>
+ Account: <?php echo $curaccount['name']; ?>
</div>
<div id="extensionList">
</a>
</li>
</ul>
- Account: <?php echo $account; ?>
+ Account: <?php echo $_SESSION['shout']['accounts'][$curaccount]; ?>
</div>
<div id="extensionList">
</a>
</li>
</ul>
- Account: <?php echo $account; ?>
+ Account: <?php echo $_SESSION['shout']['accounts'][$curaccount]; ?>
</div>
<div id="extensionList">
<label for="account" accesskey="<?php echo $accesskey ?>">
<select id="account" name="account" onchange="accountSubmit()">
<?php
- foreach ($accounts as $c) {
- print "<option value=\"$c\"";
- if ($c == $account) {
+ foreach ($accounts as $account => $name) {
+ print "<option value=\"$account\"";
+ if ($account == $curaccount) {
print " selected";
}
- print ">$c</option>\n";
+ print ">$name</option>\n";
}
?>
</select>