switch ($action) {
case "add":
- $title = _("Add User");
+ $title = _("Add Extension");
# Treat adds just like an empty edit
unset($extension);
$action = 'edit';
break;
case "edit":
- $title = _("Edit User (Extension") . "$extension)";
+ $title = _("Edit Extension") . "$extension";
break;
case "save":
- $title = _("Save User (Extension") . "$extension)";
+ $title = _("Save Extension") . "$extension";
break;
case "delete":
- $title = _("Delete User (Extension") . "$extension)";
+ $title = _("Delete Extension") . "$extension";
break;
default:
$url = Horde::applicationUrl('/');
$tabs->preserve('context', $context);
echo $tabs->render($section);
-require SHOUT_BASE . "/users/$action.php";
+require SHOUT_BASE . "/dialplan/$action.php";
require $registry->get('templates', 'horde') . '/common-footer.inc';
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * $Horde: shout/dialplan/edit.php,v 1.0 2005/07/14 01:06:48 ben Exp $
+ *
+ * Copyright 2005 Ben Klang <ben@alkaloid.net>
+ *
+ * See the enclosed file LICENSE for license information (GPL). If you
+ * did not receive this file, see http://www.horde.org/licenses/gpl.php.
+ */
+@define('SHOUT_BASE', dirname(__FILE__) . '/..');
+require_once SHOUT_BASE . '/lib/Dialplan.php';
+require_once 'Horde/Variables.php';
+
+$RENDERER = &new Horde_Form_Renderer();
+
+$empty = '';
+$wereerrors = 0;
+
+$vars = &Variables::getDefaultVariables($empty);
+$formname = $vars->get('formname');
+
+$UserDetailsForm = &Horde_Form::singleton('UserDetailsForm', $vars);
+$UserDetailsFormValid = $UserDetailsForm->validate($vars, true);
+
+$UserDetailsForm->open($RENDERER, $vars, 'dialplan.php', 'post');
+$UserDetailsForm->preserveVarByPost($vars, "section");
+$UserDetailsForm->preserve($vars);
+require SHOUT_TEMPLATES . '/table-limiter-begin.inc';
+$RENDERER->beginActive($UserDetailsForm->getTitle());
+$RENDERER->renderFormActive($UserDetailsForm, $vars);
+$RENDERER->submit();
+$RENDERER->end();
+$UserDetailsForm->close($RENDERER);
+require SHOUT_TEMPLATES . '/table-limiter-end.inc';
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * $Horde: shout/lib/Dialplan.php,v 0.1 2005/07/16 11:06:48 ben Exp $
+ *
+ * Copyright 2005 Ben Klang <ben@alkaloid.net>
+ *
+ * See the enclosed file LICENSE for license information (GPL). If you
+ * did not receive this file, see http://www.horde.org/licenses/gpl.php.
+ *
+ * @package Shout
+ */
+// {{{
+class ExtensionDetailsForm extends Horde_Form {
+
+ function ExtensionDetailsForm(&$vars)
+ {
+ global $shout;
+ $context = $vars->get("context");
+ $extension = $vars->get("extension");
+
+ $dialplan = $shout->getDialplan($context);
+ if (array_key_exists($extension, $dialplan['extensions'])) {
+ $formtitle = "Edit Extension";
+ } else {
+ $formtitle = "Add Extension";
+ }
+
+ parent::Horde_Form($vars, _("$formtitle - Context: $context"));
+
+ $this->addHidden('', 'context', 'text', true);
+ $this->addHidden('', 'oldextension', 'text', true);
+ $vars->set('oldextension', $extension);
+ $this->addHidden('', 'action', 'text', true);
+ $vars->set('action', 'save');
+ $this->addVariable(_("Extension"), 'extension', 'text', true);
+ }
+
+ // {{{ fillUserForm method
+ /**
+ * Fill in the blanks for the UserDetailsForm
+ *
+ * @param object Reference to a Variables object to fill in
+ *
+ * @param array User details
+ *
+ * @return boolean True if successful, Pear::raiseError object on failure
+ */
+ function fillExtensionFormPriority(&$vars, $extensiondetails)
+ {
+ #Array ( [dialopts] => Array ( [0] => m [1] => t ) [mailboxopts] => Array (
+ #) [mailboxpin] => 1234 [name] => Ricardo Paul [phonenumbers] => Array ( )
+ #[dialtimeout] => 30 [email] => ricardo.paul@v-office.biz [pageremail] => )
+ $vars->set('name', $userdetails['name']);
+ $vars->set('email', @$userdetails['email']);
+ $vars->set('pin', $userdetails['mailboxpin']);
+
+ $i = 1;
+ foreach($userdetails['phonenumbers'] as $number) {
+ $vars->set("telephone$i", $number);
+ $i++;
+ }
+
+ if (in_array('m', $userdetails['dialopts'])) {
+ $vars->set('moh', true);
+ } else {
+ $vars->set('moh', false);
+ }
+
+ if (in_array('t', $userdetails['dialopts'])) {
+ $vars->set('transfer', true);
+ } else {
+ $vars->set('transfer', false);
+ }
+
+ return true;
+ }
+ // }}}
+}
+// }}}
+
+class ExtensionPriorityForm extends ExtensionDetailsForm {
+
+ function ExtensionPriorityForm(&$vars)
+ {
+ global $shout;
+ $context = $vars->get("context");
+ $extension = $vars->get("extension");
+
+ $dialplan = $shout->getDialplan($context);
+ if (array_key_exists($extension, $dialplan['extensions'])) {
+ $formtitle = "Edit Extension";
+ } else {
+ $formtitle = "Add Extension";
+ }
+
+ parent::Horde_Form($vars, _("$formtitle - Context: $context"));
+
+ $this->addHidden('', 'context', 'text', true);
+ $this->addHidden('', 'oldextension', 'text', true);
+ $vars->set('oldextension', $extension);
+ $this->addHidden('', 'action', 'text', true);
+ $vars->set('action', 'save');
+ $this->addVariable(_("Extension"), 'extension', 'text', true);
+ }
+}
+// }}}
\ No newline at end of file
}
parent::Horde_Form($vars, _("$formtitle - Context: $context"));
-
- $users = $shout->getUsers($context);
$this->addHidden('', 'context', 'text', true);
$this->addHidden('', 'oldextension', 'text', true);
if (!defined(SHOUT_BASE)) {
define(SHOUT_BASE, dirname(__FILE__));
}
-
+$dialplan = $shout->getDialplan($context);
require SHOUT_TEMPLATES . "/dialplan/dialplanlist.inc";
\ No newline at end of file
if (!defined(SHOUT_BASE)) {
define(SHOUT_BASE, dirname(__FILE__));
}
-
+$users = $shout->getUsers($context);
+ksort($users);
require SHOUT_TEMPLATES . "/users/userlist.inc";
\ No newline at end of file
<uploadeditem upload_time="0" url="themes/" />
<uploadeditem upload_time="0" url="themes/graphics/" />
<uploadeditem upload_time="1121580098" url="themes/graphics/add-dialplan.gif" />
+ <uploadeditem upload_time="1121580098" url="themes/graphics/add-extension.gif" />
<uploadeditem upload_time="1121300828" url="themes/graphics/add-user.gif" />
<uploadeditem upload_time="1121574328" url="themes/screen.css" />
<uploadeditem upload_time="1121579644" url="users.php" />
<item modified_time="1121578576" url="templates/table-limiter-end.inc" />
<item modified_time="1121579932" url="dialplan.php" />
<item modified_time="1121580098" url="themes/graphics/add-dialplan.gif" />
+ <item modified_time="1121580098" url="themes/graphics/add-extension.gif" />
+ <item url="dialplan/edit.php" />
+ <item url="dialplan/" />
+ <item url="lib/Dialplan.php" />
<treestatus>
<openfolder url="config" />
<openfolder url="lib" />
<table width="95%" border="0" cellpadding="0" cellspacing="0" class="item">
<?php
$line = 0;
- $dialplan = $shout->getDialplan($context);
if (isset($dialplan['extensions']) &&
(count($dialplan['extensions']) > 0)) {
foreach ($dialplan['extensions'] as $extension => $priorities) {
$vars = &Variables::getDefaultVariables($empty);
$formname = $vars->get('formname');
-$title = _("System Settings");
-
$UserDetailsForm = &Horde_Form::singleton('UserDetailsForm', $vars);
$UserDetailsFormValid = $UserDetailsForm->validate($vars, true);