Disabling certain form features to prep for Beta 1.
authorBen Klang <ben@alkaloid.net>
Fri, 27 Jan 2006 20:35:55 +0000 (20:35 +0000)
committerBen Klang <ben@alkaloid.net>
Fri, 27 Jan 2006 20:35:55 +0000 (20:35 +0000)
Added better error handling
Bugfixes

git-svn-id: https://svn.alkaloid.net/gpl/shout/trunk@270 06cd67b6-e706-0410-b29e-9de616bca6e9

andrew.session
andrew.webprj
lib/User.php
templates/users/userlist.inc
usermgr/edit.php
usermgr/save.php

index 20026bd..409850c 100644 (file)
       </profile>
       <profile remote_host="dev04.alkaloid.net" remote_port="22" remote_path="/srv/vhost/sites/shout.dev04.alkaloid.net/shout" remote_protocol="sftp" user="bklang" name="Shout Dev" >
         <uploadeditem upload_time="0" url="config/" />
-        <uploadeditem upload_time="1138318762" url="config/conf.xml" />
-        <uploadeditem upload_time="1138318762" url="config/defines.php.dist" />
-        <uploadeditem upload_time="1138318762" url="dialplan.php" />
+        <uploadeditem upload_time="1138318792" url="config/conf.xml" />
+        <uploadeditem upload_time="1138318792" url="config/defines.php.dist" />
+        <uploadeditem upload_time="1138318792" url="dialplan.php" />
         <uploadeditem upload_time="0" url="dialplan/" />
-        <uploadeditem upload_time="1134254291" url="dialplan/edit.php" />
-        <uploadeditem upload_time="1138318762" url="index.php" />
+        <uploadeditem upload_time="1134075506" url="dialplan/edit.php" />
+        <uploadeditem upload_time="1138380566" url="index.php" />
         <uploadeditem upload_time="0" url="lib/" />
-        <uploadeditem upload_time="1134254292" url="lib/Dialplan.php" />
-        <uploadeditem upload_time="1138318762" url="lib/Driver.php" />
+        <uploadeditem upload_time="1134075506" url="lib/Dialplan.php" />
+        <uploadeditem upload_time="1138318792" url="lib/Driver.php" />
         <uploadeditem upload_time="0" url="lib/Driver/" />
-        <uploadeditem upload_time="1138318762" url="lib/Driver/ldap.php" />
-        <uploadeditem upload_time="1138318762" url="lib/Shout.php" />
-        <uploadeditem upload_time="1134254292" url="lib/System.php" />
-        <uploadeditem upload_time="1138336033" url="lib/User.php" />
-        <uploadeditem upload_time="1138318762" url="lib/api.php" />
-        <uploadeditem upload_time="1134367898" url="lib/base.php" />
+        <uploadeditem upload_time="1138318043" url="lib/Driver/ldap.php" />
+        <uploadeditem upload_time="1138318792" url="lib/Shout.php" />
+        <uploadeditem upload_time="1134075507" url="lib/System.php" />
+        <uploadeditem upload_time="1138390832" url="lib/User.php" />
+        <uploadeditem upload_time="1138318792" url="lib/api.php" />
+        <uploadeditem upload_time="1134367769" url="lib/base.php" />
         <uploadeditem upload_time="1134075507" url="lib/defines.php" />
-        <uploadeditem upload_time="1137381879" url="lib/version.php" />
+        <uploadeditem upload_time="1137381911" url="lib/version.php" />
         <uploadeditem upload_time="0" url="main/" />
         <uploadeditem upload_time="1134254292" url="main/dialplan.php" />
         <uploadeditem upload_time="1134254291" url="main/moh.php" />
-        <uploadeditem upload_time="1134254292" url="main/system.php" />
+        <uploadeditem upload_time="1134075507" url="main/system.php" />
         <uploadeditem upload_time="1134254291" url="main/users.php" />
-        <uploadeditem upload_time="1138318762" url="moh.php" />
-        <uploadeditem upload_time="1138318762" url="security.php" />
+        <uploadeditem upload_time="1138318792" url="moh.php" />
+        <uploadeditem upload_time="1138318792" url="security.php" />
         <uploadeditem upload_time="0" url="templates/" />
-        <uploadeditem upload_time="1138318762" url="templates/common-header.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/content_page" />
+        <uploadeditem upload_time="1138311990" url="templates/common-header.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/content_page" />
         <uploadeditem upload_time="0" url="templates/context/" />
-        <uploadeditem upload_time="1134254292" url="templates/context/contextline.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/context/contextline.inc" />
         <uploadeditem upload_time="0" url="templates/dialplan/" />
         <uploadeditem upload_time="1131723538" url="templates/dialplan/contexttree.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/dialplan/dialplanlist.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/dialplan/dialplanlist.inc" />
         <uploadeditem upload_time="1131767776" url="templates/dialplan/extensiondetail.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/dialplan/manager.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/dialplan/priority-form-begin.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/dialplan/priority-form-end.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/dialplan/priority-form-line.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/dialplan/manager.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/dialplan/priority-form-begin.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/dialplan/priority-form-end.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/dialplan/priority-form-line.inc" />
         <uploadeditem upload_time="0" url="templates/javascript/" />
-        <uploadeditem upload_time="1134254292" url="templates/javascript/dialplan.js" />
-        <uploadeditem upload_time="1134254292" url="templates/menu.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/table-limiter-begin.inc" />
-        <uploadeditem upload_time="1134254292" url="templates/table-limiter-end.inc" />
+        <uploadeditem upload_time="1134075507" url="templates/javascript/dialplan.js" />
+        <uploadeditem upload_time="1134075418" url="templates/menu.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/table-limiter-begin.inc" />
+        <uploadeditem upload_time="1134075418" url="templates/table-limiter-end.inc" />
         <uploadeditem upload_time="0" url="templates/users/" />
-        <uploadeditem upload_time="1138318762" url="templates/users/userlist.inc" />
+        <uploadeditem upload_time="1138386376" url="templates/users/userlist.inc" />
         <uploadeditem upload_time="0" url="themes/" />
         <uploadeditem upload_time="0" url="themes/graphics/" />
-        <uploadeditem upload_time="1134254292" url="themes/graphics/add-extension.gif" />
-        <uploadeditem upload_time="1134254292" url="themes/graphics/add-user.gif" />
-        <uploadeditem upload_time="1134254292" url="themes/screen.css" />
-        <uploadeditem upload_time="1138334633" url="usermgr.php" />
+        <uploadeditem upload_time="1134075418" url="themes/graphics/add-extension.gif" />
+        <uploadeditem upload_time="1134075418" url="themes/graphics/add-user.gif" />
+        <uploadeditem upload_time="1134075418" url="themes/screen.css" />
+        <uploadeditem upload_time="1138342874" url="usermgr.php" />
         <uploadeditem upload_time="0" url="usermgr/" />
-        <uploadeditem upload_time="1138317244" url="usermgr/delete.php" />
-        <uploadeditem upload_time="1138340155" url="usermgr/edit.php" />
-        <uploadeditem upload_time="1138317244" url="usermgr/list.php" />
-        <uploadeditem upload_time="1138317244" url="usermgr/save.php" />
+        <uploadeditem upload_time="1138317269" url="usermgr/delete.php" />
+        <uploadeditem upload_time="1138390620" url="usermgr/edit.php" />
+        <uploadeditem upload_time="1138317269" url="usermgr/list.php" />
+        <uploadeditem upload_time="1138387578" url="usermgr/save.php" />
         <uploadeditem upload_time="1134254292" url="users.php" />
         <uploadeditem upload_time="0" url="users/" />
         <uploadeditem upload_time="1138311486" url="users/add.php" />
       <openfolder url="config" />
       <openfolder url="lib" />
       <openfolder url="lib/Driver" />
-      <openfolder url="main" />
       <openfolder url="templates" />
       <openfolder url="templates/dialplan" />
       <openfolder url="templates/javascript" />
       <openfolder url="templates/users" />
       <openfolder url="themes" />
       <openfolder url="usermgr" />
-      <openfolder url="users" />
     </treestatus>
   </session>
   <teamdata yourself="" />
index 67f531a..590f569 100644 (file)
@@ -1,45 +1,45 @@
 <!DOCTYPE webproject>
 <webproject>
-  <project usePreviewPrefix="0" type="Local" previewPrefix="" usePersistentBookmarks="0" name="Shout" encoding="iso 8859-1" enableEvents="true" >
+  <project usePreviewPrefix="0" previewPrefix="" type="Local" usePersistentBookmarks="0" name="Shout" encoding="iso 8859-1" enableEvents="true" >
     <upload/>
     <defaultDTD>-//w3c//dtd xhtml 1.0 strict//en</defaultDTD>
     <item url="config/" uploadstatus="1" />
-    <item modified_time="1138318762" url="config/conf.xml" uploadstatus="1" />
+    <item modified_time="1138318792" url="config/conf.xml" uploadstatus="1" />
     <item url="dialplan/" uploadstatus="1" />
-    <item modified_time="1134254291" url="dialplan/edit.php" uploadstatus="1" />
+    <item modified_time="1134075506" url="dialplan/edit.php" uploadstatus="1" />
     <item url="lib/" uploadstatus="1" />
     <item url="lib/Driver/" uploadstatus="1" />
-    <item modified_time="1138318762" url="lib/Driver/ldap.php" uploadstatus="1" />
-    <item modified_time="1134367898" url="lib/base.php" uploadstatus="1" />
-    <item modified_time="1134254292" url="lib/Dialplan.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="lib/Driver.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="lib/Shout.php" uploadstatus="1" />
-    <item modified_time="1134254292" url="lib/System.php" uploadstatus="1" />
-    <item modified_time="1138336033" url="lib/User.php" uploadstatus="1" />
+    <item modified_time="1138318043" url="lib/Driver/ldap.php" uploadstatus="1" />
+    <item modified_time="1134367769" url="lib/base.php" uploadstatus="1" />
+    <item modified_time="1134075506" url="lib/Dialplan.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="lib/Driver.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="lib/Shout.php" uploadstatus="1" />
+    <item modified_time="1134075507" url="lib/System.php" uploadstatus="1" />
+    <item modified_time="1138390832" url="lib/User.php" uploadstatus="1" />
     <item url="main/" uploadstatus="1" />
-    <item modified_time="1134254292" url="main/system.php" uploadstatus="1" />
+    <item modified_time="1134075507" url="main/system.php" uploadstatus="1" />
     <item url="templates/" uploadstatus="1" />
     <item url="templates/context/" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/context/contextline.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/context/contextline.inc" uploadstatus="1" />
     <item url="templates/dialplan/" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/dialplan/dialplanlist.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/dialplan/priority-form-begin.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/dialplan/priority-form-end.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/dialplan/priority-form-line.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/dialplan/dialplanlist.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/dialplan/priority-form-begin.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/dialplan/priority-form-end.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/dialplan/priority-form-line.inc" uploadstatus="1" />
     <item url="templates/users/" uploadstatus="1" />
-    <item modified_time="1138318762" url="templates/users/userlist.inc" uploadstatus="1" />
-    <item modified_time="1138318762" url="templates/common-header.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/content_page" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/menu.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/table-limiter-begin.inc" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/table-limiter-end.inc" uploadstatus="1" />
+    <item modified_time="1138386376" url="templates/users/userlist.inc" uploadstatus="1" />
+    <item modified_time="1138311990" url="templates/common-header.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/content_page" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/menu.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/table-limiter-begin.inc" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/table-limiter-end.inc" uploadstatus="1" />
     <item url="themes/" uploadstatus="1" />
     <item url="themes/graphics/" uploadstatus="1" />
-    <item modified_time="1134254292" url="themes/graphics/add-extension.gif" uploadstatus="1" />
-    <item modified_time="1134254292" url="themes/graphics/add-user.gif" uploadstatus="1" />
-    <item modified_time="1134254292" url="themes/screen.css" uploadstatus="1" />
-    <item modified_time="1138318762" url="dialplan.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="index.php" uploadstatus="1" />
+    <item modified_time="1134075418" url="themes/graphics/add-extension.gif" uploadstatus="1" />
+    <item modified_time="1134075418" url="themes/graphics/add-user.gif" uploadstatus="1" />
+    <item modified_time="1134075418" url="themes/screen.css" uploadstatus="1" />
+    <item modified_time="1138318792" url="dialplan.php" uploadstatus="1" />
+    <item modified_time="1138380566" url="index.php" uploadstatus="1" />
     <item url="" uploadstatus="1" />
     <uploadprofiles showtreeviews="true" defaultProfile="Shout" >
       <profile remote_host="" remote_port="" remote_path="" remote_protocol="ftp" user="" name="@" />
     </uploadprofiles>
     <templates>templates/</templates>
     <toolbars>toolbars/</toolbars>
-    <item modified_time="1138318762" url="lib/api.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="security.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="lib/api.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="security.php" uploadstatus="1" />
     <item url="templates/javascript/" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/javascript/dialplan.js" uploadstatus="1" />
-    <item modified_time="1134254292" url="templates/dialplan/manager.inc" uploadstatus="1" />
+    <item modified_time="1134075507" url="templates/javascript/dialplan.js" uploadstatus="1" />
+    <item modified_time="1134075418" url="templates/dialplan/manager.inc" uploadstatus="1" />
     <treestatus>
       <openfolder url="lib" />
       <openfolder url="lib/Driver" />
       <mailinglist address="" />
     </teamdata>
     <events/>
-    <item modified_time="1137381879" url="lib/version.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="moh.php" uploadstatus="1" />
-    <item modified_time="1138334633" url="usermgr.php" uploadstatus="1" />
-    <item modified_time="1138318762" url="config/defines.php.dist" uploadstatus="1" />
+    <item modified_time="1137381911" url="lib/version.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="moh.php" uploadstatus="1" />
+    <item modified_time="1138342874" url="usermgr.php" uploadstatus="1" />
+    <item modified_time="1138318792" url="config/defines.php.dist" uploadstatus="1" />
     <item url="usermgr/" uploadstatus="1" />
-    <item modified_time="1138340155" url="usermgr/edit.php" uploadstatus="1" />
-    <item modified_time="1138317244" url="usermgr/list.php" uploadstatus="1" />
-    <item modified_time="1138317244" url="usermgr/save.php" uploadstatus="1" />
-    <item modified_time="1138317244" url="usermgr/delete.php" uploadstatus="1" />
+    <item modified_time="1138390620" url="usermgr/edit.php" uploadstatus="1" />
+    <item modified_time="1138317269" url="usermgr/list.php" uploadstatus="1" />
+    <item modified_time="1138387578" url="usermgr/save.php" uploadstatus="1" />
+    <item modified_time="1138317269" url="usermgr/delete.php" uploadstatus="1" />
   </project>
 </webproject>
index 3085ae3..2b7f483 100644 (file)
@@ -15,30 +15,36 @@ class UserDetailsForm extends Horde_Form {
 
     function UserDetailsForm(&$vars)
     {
-        global $shout;
-        $context = $vars->get("context");
-        $extension = $vars->get("extension");
+        global $shout, $notification;
+        $context = $vars->get('context');
+        $curexten = $vars->get('curexten');
 
         $users = &$shout->getUsers($context);
-        if (array_key_exists($extension, $users)) {
+        if (is_a($users, 'PEAR_Error')) {
+            $notification->push($users);
+        }
+        if (array_key_exists($curexten, $users)) {
             # We must be editing an existing user
-            $this->fillUserForm(&$vars, $users[$extension]);
-            $limits = &$shout->getLimits($context, $extension);
+            $this->fillUserForm(&$vars, $users[$curexten]);
+            $limits = &$shout->getLimits($context, $curexten);
+            if (is_a($limits, 'PEAR_Error')) {
+                $notification->push($limits);
+            }
             $formtitle = "Edit User";
         } else {
             $limits = &$shout->getLimits($context);
+            if (is_a($limits, 'PEAR_Error')) {
+                $notification->push($limits);
+            }
             $formtitle = "Add User";
         }
 
         parent::Horde_Form($vars, _("$formtitle - Context: $context"));
 
-        $this->addHidden('', 'context', 'text', true);
-        $this->addHidden('', 'curextension', 'text', true);
-        $vars->set('curextension', $extension);
         $this->addHidden('', 'action', 'text', true);
-        $vars->set('action', 'edit');
+        $vars->set('action', 'save');
         $this->addVariable(_("Full Name"), 'name', 'text', true);
-        $this->addVariable(_("Extension"), 'newextension', 'int', true);
+        $this->addVariable(_("Extension"), 'newexten', 'int', true);
         $this->addVariable(_("E-Mail Address"), 'email', 'text', true);
         $this->addVariable(_("Pager E-Mail Address"), 'pageremail', 'text', false);
         # TODO: Integrate with To-Be-Written user manager and possibly make this
@@ -59,14 +65,14 @@ class UserDetailsForm extends Horde_Form {
             'boolean', true, false);#, _("When checked, the called user will be allowed to transfer the incoming call to other extensions"));
         $this->addVariable(_("Explicit Call Acceptance"), 'eca',
             'boolean', true, false);#, _("When checked, the called user will be required to press 1 to accept the call.  Only turn this off if you really know what you're doing!"));
-        $this->addVariable(_("Call Appearance"), 'callappearance',
-            'radio', $vars->get('eca'), false, null, array('values' =>
-                array('caller' => 'From Calling Party',
-                    'self' => 'From Self',
-                    'switch' => 'From V-Office',
-                )
-            )
-        );
+//         $this->addVariable(_("Call Appearance"), 'callappearance',
+//             'radio', $vars->get('eca'), false, null, array('values' =>
+//                 array('caller' => 'From Calling Party',
+//                     'self' => 'From Self',
+//                     'switch' => 'From V-Office',
+//                 )
+//             )
+//         );
 
         return true;
     }
@@ -89,7 +95,7 @@ class UserDetailsForm extends Horde_Form {
         $vars->set('name', $userdetails['name']);
         $vars->set('email', @$userdetails['email']);
         $vars->set('pin', $userdetails['mailboxpin']);
-        $vars->set('newextension', $vars->get('extension'));
+        $vars->set('newexten', $vars->get('curexten'));
 
         $i = 1;
         foreach($userdetails['phonenumbers'] as $number) {
@@ -100,7 +106,7 @@ class UserDetailsForm extends Horde_Form {
         $vars->set('moh', false);
         $vars->set('eca', false);
         $vars->set('transfer', false);
-        $vars->set('callappearance', 'caller');
+//         $vars->set('callappearance', 'caller');
 
 
         foreach ($userdetails['dialopts'] as $opt) {
@@ -113,24 +119,24 @@ class UserDetailsForm extends Horde_Form {
             if (preg_match('/^e(\(.*\))*/', $opt, $matches)) {
                 # This matches 'e' and 'e(ARGS)'
                 $vars->set('eca', true);
-                if (count($matches) > 1) {
-                    # We must have found an argument
-                    switch($matches[1]) {
-                    case '(${VOFFICENUM})':
-                        $vars->set('callappearance', 'switch');
-                        break;
-
-                    case '(${CALLERANI})':
-                        $vars->set('callappearance', 'self');
-                        break;
-
-                    case '(${CALLERIDNUM})':
-                    default:
-                        $vars->set('callappearance', 'caller');
-                        break;
-
-                    }
-                }
+//                 if (count($matches) > 1) {
+//                     # We must have found an argument
+//                     switch($matches[1]) {
+//                     case '(${VOFFICENUM})':
+//                         $vars->set('callappearance', 'switch');
+//                         break;
+//
+//                     case '(${CALLERANI})':
+//                         $vars->set('callappearance', 'self');
+//                         break;
+//
+//                     case '(${CALLERIDNUM})':
+//                     default:
+//                         $vars->set('callappearance', 'caller');
+//                         break;
+//
+//                     }
+//                 }
             }
         }
         return true;
index 79881f5..67c6718 100644 (file)
@@ -18,7 +18,7 @@
                 $url = Util::addParameter($url,
                     array(
                         'context' => $context,
-                        'extension' => $extension,
+                        'curexten' => $extension,
                         'section' => 'users',
                     )
                 );
index d069872..988d9b2 100644 (file)
@@ -9,8 +9,11 @@
  *
  * @package shout
  */
-@define('SHOUT_BASE', dirname(__FILE__) . '/..');
-require_once SHOUT_BASE . '/lib/base.php';
+if (!isset($SHOUT_RUNNING) || !$SHOUT_RUNNING) {
+    header('Location: /');
+    exit();
+}
+
 require_once SHOUT_BASE . '/lib/User.php';
 require_once 'Horde/Variables.php';
 
@@ -21,26 +24,24 @@ $beendone = 0;
 $wereerrors = 0;
 
 $vars = &Variables::getDefaultVariables($empty);
-$formname = $vars->get('formname');
-
-$Form = &Horde_Form::singleton('UserDetailsForm', $vars);
 
-$FormValid = $Form->validate($vars, true);
-
-if ($Form->isSubmitted()) {
-    $notification->push('Submitted.', 'horde.message');
-}
-if ($FormValid) {
-    $notification->push('Valid.', 'horde.message');
+$FormName = 'UserDetailsForm';
+$Form = &Horde_Form::singleton($FormName, $vars);
+if (is_a($Form, 'PEAR_Error')) {
+    $notification->push($Form);
+} else {
+    $FormValid = $Form->validate($vars, true);
+    if (is_a($FormValid, 'PEAR_Error')) {
+        $notification->push($FormValid);
+    }
 }
+
 $notification->notify();
 
 if (!$FormValid || !$Form->isSubmitted()) {
     # Display the form for editing
-    $Form->open($RENDERER, $vars, 'usermgr.php', 'post');
-    $vars->set('section', $section);
-    $Form->preserveVarByPost($vars, "section");
-    // $Form->preserve($vars);
+    $Form->open($RENDERER, $vars, 'index.php', 'post');
+    $Form->preserve($vars);
     $RENDERER->beginActive($Form->getTitle());
     $RENDERER->renderFormActive($Form, $vars);
     $RENDERER->submit();
@@ -48,39 +49,40 @@ if (!$FormValid || !$Form->isSubmitted()) {
     $Form->close($RENDERER);
 } else {
     # Process the Valid and Submitted form
-
-    $info = array();
-    $Form->getInfo($vars, $info);
-
-    $name = $info['name'];
-    $curextension = $info['curextension'];
-    $newextension = $info['newextension'];
-    $email = $info['email'];
-    $pin = $info['pin'];
-
-
-    $limits = $shout->getLimits($context, $curextension);
-
-    $userdetails = array("newextension" => $newextension,
-                "name" => $name,
-                "pin" => $pin,
-                "email" => $email);
-
-    $i = 1;
-    $userdetails['telephonenumbers'] = array();
-    while ($i <= $limits['telephonenumbersmax']) {
-        $tmp = $info['telephone'.$i];
-        if (!empty($tmp)) {
-            $userdetails['telephonenumbers'][] = $tmp;
-        }
-        $i++;
-    }
-
-    $userdetails['dialopts'] = array();
-    if ($info['moh']) {
-        $userdetails['dialopts'][] = 'm';
-    }
-    if ($info['transfer']) {
-        $userdetails['dialopts'][] = 't';
-    }
+$notification->push("How did we get HERE?!", 'horde.error');
+$notification->notify();
+//     $info = array();
+//     $Form->getInfo($vars, $info);
+//
+//     $name = $info['name'];
+//     $curextension = $info['curextension'];
+//     $newextension = $info['newextension'];
+//     $email = $info['email'];
+//     $pin = $info['pin'];
+//
+//
+//     $limits = $shout->getLimits($context, $curextension);
+//
+//     $userdetails = array("newextension" => $newextension,
+//                 "name" => $name,
+//                 "pin" => $pin,
+//                 "email" => $email);
+//
+//     $i = 1;
+//     $userdetails['telephonenumbers'] = array();
+//     while ($i <= $limits['telephonenumbersmax']) {
+//         $tmp = $info['telephone'.$i];
+//         if (!empty($tmp)) {
+//             $userdetails['telephonenumbers'][] = $tmp;
+//         }
+//         $i++;
+//     }
+//
+//     $userdetails['dialopts'] = array();
+//     if ($info['moh']) {
+//         $userdetails['dialopts'][] = 'm';
+//     }
+//     if ($info['transfer']) {
+//         $userdetails['dialopts'][] = 't';
+//     }
 }
\ No newline at end of file
index 7ebe387..bcc379a 100644 (file)
@@ -9,55 +9,66 @@
  *
  * @package shout
  */
-@define('SHOUT_BASE', dirname(__FILE__) . '/..');
+if (!isset($SHOUT_RUNNING) || !$SHOUT_RUNNING) {
+    header('Location: /');
+    exit();
+}
+
 require_once SHOUT_BASE . '/lib/User.php';
 require_once 'Horde/Variables.php';
 
 $RENDERER = &new Horde_Form_Renderer();
 
 $vars = &Variables::getDefaultVariables();
-$formname = $vars->get('formname');
+$FormName = $vars->get('formname');
 
-$UserDetailsForm = &Horde_Form::singleton('UserDetailsForm', $vars);
-$UserDetailsFormValid = $UserDetailsForm->validate($vars, true);
-if (!$UserDetailsFormValid) {
-    # FIXME Handle invalid forms gracefully
-    echo "Invalid Form!";
-}
+$Form = &Horde_Form::singleton($FormName, $vars);
 
-$name = Util::getFormData('name');
-$curextension = Util::getFormData('curextension');
-$newextension = Util::getFormData('newextension');
-$email = Util::getFormData('email');
-$pin = Util::getFormData('pin');
+$FormValid = $Form->validate($vars, true);
 
+if (!$FormValid || !$Form->isSubmitted()) {
+    require SHOUT_BASE . '/usermgr/edit.php';
+} else {
+    # Form is Valid and Submitted
+    $name = $vars->get('name');
+    $curexten = $vars->get('curexten');
+    $newexten = $vars->get('newexten');
+    $email = $vars->get('email');
+    $pin = $vars->get('pin');
 
-$limits = $shout->getLimits($context, $curextension);
 
-$userdetails = array("newextension" => $newextension,
-              "name" => $name,
-              "pin" => $pin,
-              "email" => $email);
+    $limits = $shout->getLimits($context, $curexten);
 
-$i = 1;
-$userdetails['telephonenumbers'] = array();
-while ($i <= $limits['telephonenumbersmax']) {
-    $tmp = Util::getFormData("telephone$i");
-    if (!empty($tmp)) {
-        $userdetails['telephonenumbers'][] = $tmp;
+    $userdetails = array("newexten" => $newexten,
+                "name" => $name,
+                "pin" => $pin,
+                "email" => $email);
+
+    $i = 1;
+    $userdetails['telephonenumbers'] = array();
+    while ($i <= $limits['telephonenumbersmax']) {
+        $tmp = $vars->get("telephone$i");
+        $notification->push('Number: '.$tmp, 'horde.warning');
+        if (!empty($tmp)) {
+            $userdetails['telephonenumbers'][] = $tmp;
+        }
+        $i++;
     }
-    $i++;
-}
 
-$userdetails['dialopts'] = array();
-if (Util::getFormData('moh')) {
-    $userdetails['dialopts'][] = 'm';
-}
-if (Util::getFormData('transfer')) {
-    $userdetails['dialopts'][] = 't';
+    $userdetails['dialopts'] = array();
+    if ($vars->get('moh')) {
+        $userdetails['dialopts'][] = 'm';
+    }
+    if ($vars->get('transfer')) {
+        $userdetails['dialopts'][] = 't';
+    }
+    if ($vars->get('eca')) {
+        $userdetails['dialopts'][] = 'e';
+    }
+    $notification->notify();
+    print_r($userdetails);
 }
-
-// $res = $shout->saveUser($context, $curextension, $userdetails);
+// $res = $shout->saveUser($context, $curexten, $userdetails);
 // if (is_a($res, 'PEAR_Error')) {
-//     print $res->getMessage();
+//     $notification->push($res);
 // }
\ No newline at end of file