Start working on merging extensions editor with wizard.
$addurl = Horde::applicationUrl('extensions.php');
$addurl = Horde_Util::addParameter($addurl, 'action', 'add');
?>
- <li><a class="button" href="<?php echo $addurl; ?>">
+ <li><a class="button" style="display: block;" href="<?php echo $addurl; ?>">
<?php echo Horde::img('extension-add.png'); ?> New Extension
</a>
</li>
</ul>
+<div id="addExtension" class="form">
+ <div class="header">Add Extension</div>
+ <table cellspacing="0" class="striped">
+ <tr valign="top" class="rowOdd">
+ <td align="right" width="15%">
+ <span class="form-error">*</span> Full Name
+ </td>
+ <td>
+ <input type="text" value="" size="40" id="name" name="name">
+ </td>
+ </tr>
+ <tr valign="top" class="rowEven">
+ <td align="right" width="15%">
+ <span class="form-error">*</span> Extension
+ </td>
+ <td>
+ <input type="text" value="" id="extension" name="extension" size="5">
+ </td>
+ </tr>
+ <tr valign="top" class="rowOdd">
+ <td align="right" width="15%">
+ <span class="form-error">*</span> E-Mail Address
+ </td>
+ <td>
+ <input type="text" value="" id="email" name="email">
+ </td>
+ </tr>
+ <tr valign="top" class="rowEven">
+ <td align="right" width="15%">
+ <span class="form-error">*</span> PIN
+ </td>
+ <td>
+ <input type="text" value="" id="mailboxpin" name="mailboxpin" size="5">
+ </td>
+ </tr>
+ </table>
+ <div class="control">
+ <input type="submit" value="Save" name="addExtension" class="button">
+ </div>
+</div>
+
<script type="text/javascript">
<!--
var ajax_url = '<?php echo Horde::getServiceLink('ajax', 'shout') ?>';
var curexten = null;
+$('addExtension').hide();
+
+
function empty(p)
{
var e;
+<div id="wizard">
+<form id="wizardForm" name="wizard" action="#">
+<h3 onclick="showstep('welcome')">Welcome</h3>
+<div id="welcome" class="step">
+ <p>Here you will configure your new PBX. Follow the simple instructions below, yada, yada.
+ <p><input type="submit" class="button" name="step1" onclick="showstep('step1')" value="Continue to Step 1">
+</div>
+
+<h3 onclick="showstep('step1')">Step 1: Create your company greeting</h3>
<div id="step1" class="step">
- <h2>Step 1: Create your company greeting.</h2>
<ol>
- <li>1: Call your new Verendus number: 404-475-4840</li>
+ <li>1: Call your new number: FIXME</li>
<li>2: When you hear the default greeting, press the star key, "<span class="attention">*</span>".</li>
<li>3: When prompted, enter your admin PIN: <span class="attention"><?php echo $curaccount['adminpin']; ?></span>.</li>
<li>4: Press <span class="attention">1</span> to manage recordings.</li>
<li>5: Enter the recording ID for your new menu: <span class="attention"><?php echo $recording['id']; ?></span><br>
Follow the prompts to create and save your new recording.</li>
</ol>
- When finished, hang up.
- <br style="clear:both;">
- <div class="button" onclick="$('step2').show()">Continue to Step 2</div>
+ <p>When finished, hang up.</p>
+ <input type="submit" class="button" name="step2" value="Continue to Step 2" />
</div>
-<br style="clear:both;">
+
+<h3 onclick="showstep('step2')">Step 2: Create your first extension</h3>
<div id="step2" class="step">
- <?php $extensionform->renderActive(null, $vars, Horde::applicationUrl('dialplan.php'), 'post');?>
+ <?php require SHOUT_TEMPLATES . '/extensions/list.inc'; ?>
+ <input type="submit" class="button" name="finished" value="Finished" />
+</div>
+
+<h3 onclick="showstep('finished')">Finished!</h3>
+<div id="finished" class="step">
+ <p>Congratulations! Your new Verendus phone system is now configured and ready to use.</p>
+ <p>For additional information on using these tools, we have the following resources available:</p>
+ <ul>
+ <li><a>Printable documentation</a></li>
+ <li><a>Getting Started video</a></li>
+ </ul>
+ <br />
+ <input type="submit" class="button" name="continue" value="Continue to the control panel" />
+</div>
+</form>
</div>
<script type="text/javascript">
<!--
+$('step1').hide();
$('step2').hide();
+$('finished').hide();
+var curblock = 'welcome';
+function showstep(e)
+{
+ if (e == curblock) {
+ return true;
+ }
+
+ if (curblock != null) {
+ Effect.BlindUp(curblock)
+ }
+
+ curblock = e;
+ Effect.BlindDown(curblock);
+}
+
+function handleClick(event)
+{
+ event.stop();
+ var clicked = event.explicitOriginalTarget.name;
+
+ switch(clicked) {
+ case 'addExtension':
+ alert('Adding an extension');
+ break;
+
+ case 'welcome':
+ case 'step1':
+ case 'step2':
+ case 'finished':
+ showstep(clicked);
+ break;
+
+ default:
+ alert("Unhandled button: " + clicked);
+ }
+}
+
+Event.observe($('wizard').down('form'), 'submit', function(event) {handleClick(event);})
// -->
</script>
\ No newline at end of file
border-top-right-radius: 5px;
padding: 5px;
display: block;
+ width: 500px;
}
.step
{
width: 500px;
border: 1px dotted;
- margin: 5px;
+ margin: 0px 5px;
padding: 5px;
}
$curaccount = $_SESSION['shout']['curaccount'];
$menus = $shout->storage->getMenus($curaccount['code']);
- if (!empty($menus) && !empty($menus[Shout::MAIN_MENU])) {
- header('Location: ' . Horde::applicationUrl('dialplan.php', true));
- exit;
- }
-
- // Create the default recording for the main menu
- try {
- $recording = $shout->storage->getRecordingByName($curaccount['code'],
- Shout::MAIN_RECORDING);
- } catch (Shout_Exception $e) {
- $shout->storage->addRecording($curaccount['code'], Shout::MAIN_RECORDING);
- $recording = $shout->storage->getRecordingByName($curaccount['code'],
- Shout::MAIN_RECORDING);
- }
-
- // Create a default main menu
- $details = array(
- 'name' => Shout::MAIN_MENU,
- 'description' => _("Main menu: what your callers will hear."),
- 'recording_id' => $recording['id']
- );
- $shout->dialplan->saveMenuInfo($curaccount['code'], $details);
- // Populate the default option, granting the ability to log into the admin
- // section.
- $shout->dialplan->saveMenuAction($curaccount['code'], Shout::MAIN_MENU,
- 'star', 'admin_login', array());
-
- $vars = Horde_Variables::getDefaultVariables();
- $extensionform = new ExtensionDetailsForm($vars);
+// if (!empty($menus) && !empty($menus[Shout::MAIN_MENU])) {
+// header('Location: ' . Horde::applicationUrl('dialplan.php', true));
+// exit;
+// }
+//
+// // Create the default recording for the main menu
+// try {
+// $recording = $shout->storage->getRecordingByName($curaccount['code'],
+// Shout::MAIN_RECORDING);
+// } catch (Shout_Exception $e) {
+// $shout->storage->addRecording($curaccount['code'], Shout::MAIN_RECORDING);
+// $recording = $shout->storage->getRecordingByName($curaccount['code'],
+// Shout::MAIN_RECORDING);
+// }
+//
+// // Create a default main menu
+// $details = array(
+// 'name' => Shout::MAIN_MENU,
+// 'description' => _("Main menu: what your callers will hear."),
+// 'recording_id' => $recording['id']
+// );
+// $shout->dialplan->saveMenuInfo($curaccount['code'], $details);
+// // Populate the default option, granting the ability to log into the admin
+// // section.
+// $shout->dialplan->saveMenuAction($curaccount['code'], Shout::MAIN_MENU,
+// 'star', 'admin_login', array());
+ $extensions = $shout->extensions->getExtensions($curaccount['code']);
} catch (Exception $e) {
$notification->push($e);
}
Horde::addScriptFile('prototype.js', 'horde');
+Horde::addScriptFile('scriptaculous.js', 'horde');
+Horde::addScriptFile('stripe.js', 'horde');
require SHOUT_TEMPLATES . '/common-header.inc';
require SHOUT_TEMPLATES . '/menu.inc';