From a2d1703dea6fd017bf19b4e43aa1594538ec6b60 Mon Sep 17 00:00:00 2001
From: ivan
Date: Mon, 17 Mar 2008 02:48:15 +0000
Subject: [PATCH] first bits of working FRI! woop!
---
fs_selfservice/fri/includes/login.php | 17 ++-
fs_selfservice/fri/includes/main.conf.php | 3 +-
fs_selfservice/fri/locale/ari.po | 4 +-
fs_selfservice/fri/modules/billing.module | 81 +++++++++++++
fs_selfservice/fri/modules/callmonitor.module | 6 +-
fs_selfservice/fri/modules/dashboard.module | 165 ++++++++++++++++++++++++++
fs_selfservice/fri/modules/myaccount.module | 81 +++++++++++++
fs_selfservice/fri/modules/settings.module | 4 +-
fs_selfservice/fri/theme/page.tpl.php | 5 +-
9 files changed, 351 insertions(+), 15 deletions(-)
create mode 100644 fs_selfservice/fri/modules/billing.module
create mode 100644 fs_selfservice/fri/modules/dashboard.module
create mode 100644 fs_selfservice/fri/modules/myaccount.module
diff --git a/fs_selfservice/fri/includes/login.php b/fs_selfservice/fri/includes/login.php
index d91b711a4..41bb7a64d 100644
--- a/fs_selfservice/fri/includes/login.php
+++ b/fs_selfservice/fri/includes/login.php
@@ -280,33 +280,40 @@ class Login {
}
// freeside login
- $freeside = new FreesideSelfService()
+ $freeside = new FreesideSelfService();
$domain = 'svc_phone';
$response = $freeside->login( array(
- 'username' => strtolower($_username),
+ 'username' => strtolower($username),
'domain' => $domain,
'password' => strtolower($password),
) );
error_log("[login] received response from freeside: $response");
$error = $response['error'];
- if ( ! $error ) {
+ if ( ! $error && $response['session_id'] ) {
// sucessful freeside login
error_log("[login] logged into freeside with session_id=$session_id");
// store session id in your session store, to be used for other calls
//$fs_session_id = $response['session_id'];
- $_SESSION['fs_session'] = $response['session_id'];
+ $_SESSION['freeside_session_id'] = $response['session_id'];
+
+ $customer_info = $freeside->customer_info( array(
+ 'session_id' => $_SESSION['freeside_session_id'] ,
+ ) );
+ //XXX error checking here too
+ $displayname = $customer_info['name'];
} else {
// unsucessful login
error_log("[login] error logging into freeside: $error");
$auth = false;
+ $extension = '';
// display error message to user
- $_SESSION=['ari_error'] = _("Incorrect Username or Password");
+ $_SESSION['ari_error'] = _("Incorrect Username or Password");
}
diff --git a/fs_selfservice/fri/includes/main.conf.php b/fs_selfservice/fri/includes/main.conf.php
index 31592cac6..cedf60cc6 100644
--- a/fs_selfservice/fri/includes/main.conf.php
+++ b/fs_selfservice/fri/includes/main.conf.php
@@ -108,7 +108,8 @@ $ARI_DEFAULT_ADMIN_PAGE = "callmonitor";
# sets the default user page
# option: Comma delimited list of module names (ie voicemail,callmonitor,help,settings)
#
-$ARI_DEFAULT_USER_PAGE = "voicemail";
+#$ARI_DEFAULT_USER_PAGE = "voicemail";
+$ARI_DEFAULT_USER_PAGE = "dashboard";
#
# enables ajax page refresh
diff --git a/fs_selfservice/fri/locale/ari.po b/fs_selfservice/fri/locale/ari.po
index aff5a75d1..4e3493e2f 100644
--- a/fs_selfservice/fri/locale/ari.po
+++ b/fs_selfservice/fri/locale/ari.po
@@ -324,7 +324,7 @@ msgstr ""
#: ../modules/callmonitor.module:259
#, php-format
msgid "Call Monitor for %s (%s)"
-msgstr ""
+msgstr "Call Monitor for %s (%s)"
#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475
msgid "select"
@@ -481,7 +481,7 @@ msgstr ""
#: ../modules/settings.module:611
msgid "Call Monitor Settings"
-msgstr ""
+msgstr "Call Monitor Settings"
#: ../modules/settings.module:614
msgid "Record INCOMING:"
diff --git a/fs_selfservice/fri/modules/billing.module b/fs_selfservice/fri/modules/billing.module
new file mode 100644
index 000000000..caa28b55a
--- /dev/null
+++ b/fs_selfservice/fri/modules/billing.module
@@ -0,0 +1,81 @@
+" . _("Billing") . "
";
+
+ return $ret;
+ }
+
+ /*
+ * Displays stats page
+ *
+ * @param $args
+ * Common arguments
+ */
+ function display($args) {
+
+ global $ARI_HELP_FEATURE_CODES;
+
+ $display = new Display();
+
+ // args
+ $m = getArgument($args,'m');
+ $q = getArgument($args,'q');
+
+ $displayname = $_SESSION['ari_user']['displayname'];
+ $extension = $_SESSION['ari_user']['extension'];
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $header_text = _("Billing");
+ if (!$_SESSION['ari_user']['admin_help']) {
+ $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
+ }
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $ret .= $display->displayHeaderText($header_text);
+ $ret .= $display->displayLine();
+
+ $ret .= 'Billing goes here';
+
+ return $ret;
+ }
+
+}
+
+?>
diff --git a/fs_selfservice/fri/modules/callmonitor.module b/fs_selfservice/fri/modules/callmonitor.module
index 25924d52d..36f5f285a 100644
--- a/fs_selfservice/fri/modules/callmonitor.module
+++ b/fs_selfservice/fri/modules/callmonitor.module
@@ -33,7 +33,7 @@ class Callmonitor {
*/
function navMenu($args) {
- $ret .= "" . _("Call Monitor") . "
";
+ $ret .= "" . _("Call History") . "
";
return $ret;
}
@@ -253,9 +253,9 @@ class Callmonitor {
// header
if ($_SESSION['ari_user']['admin_callmonitor']) {
- $header_text = _("Call Monitor");
+ $header_text = _("Call History");
} else {
- $header_text = sprintf(_("Call Monitor for %s (%s)"),$displayname,$extension);
+ $header_text = sprintf(_("Call History for %s (%s)"),$displayname,$extension);
}
$ret .= $display->displayHeaderText($header_text);
$ret .= $display->displaySearchBlock('left',$m,$q,$url_opts,true);
diff --git a/fs_selfservice/fri/modules/dashboard.module b/fs_selfservice/fri/modules/dashboard.module
new file mode 100644
index 000000000..6fd24e05b
--- /dev/null
+++ b/fs_selfservice/fri/modules/dashboard.module
@@ -0,0 +1,165 @@
+" . _("Dashboard") . "
";
+
+ return $ret;
+ }
+
+ /*
+ * Displays stats page
+ *
+ * @param $args
+ * Common arguments
+ */
+ function display($args) {
+
+ global $ARI_HELP_FEATURE_CODES;
+
+ $display = new Display();
+
+ // args
+ $m = getArgument($args,'m');
+ $q = getArgument($args,'q');
+
+ $displayname = $_SESSION['ari_user']['displayname'];
+ $extension = $_SESSION['ari_user']['extension'];
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $header_text = _("Dashboard");
+ if (!$_SESSION['ari_user']['admin_help']) {
+ $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
+ }
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $ret .= $display->displayHeaderText($header_text);
+ $ret .= $display->displayLine();
+
+ $freeside = new FreesideSelfService();
+ $fs_info = $freeside->customer_info( array(
+ 'session_id' => $_SESSION['freeside_session_id'],
+ ) );
+ $error = $fs_info['error'];
+ if ( $error ) {
+ //$_SESSION['ari_error'] = _("Incorrect Username or Password");
+ $_SESSION['ari_error'] = $error; #// XXX report as ari_error???!
+ }
+
+ $ret .= $fs_info['small_custview'];
+ $ret .= '
';
+
+ if ( $fs_info['balance'] > 0 ) {
+
+ // XXX correct URL
+ $ret .= 'Make a payment
';
+
+ }
+
+ // XXX count() ???
+ if ( count($fs_info['open_invoices']) ) {
+
+ $ret .= '
';
+ } else {
+ $ret .= 'You have no outstanding invoices.
';
+ }
+
+ $ret .= 'Received calls (10)
';
+ $ret .= 'Placed calls (10)';
+
+// if ( @tickets ) {
+// $OUT .= ''.
+// 'Open Tickets |
'.
+// '# | Subject | Priority | Queue | '.
+// 'Status |
';
+// my $col1 = "ffffff";
+// my $col2 = "dddddd";
+// my $col = $col1;
+//
+// foreach my $ticket ( @tickets ) {
+// my $td = qq!!;
+// $OUT .=
+// " | $td". $ticket->{'id'}. "".
+// $td. $ticket->{'subject'}. "".
+// $td. ($ticket->{'content'} || $ticket->{'priority'}). "".
+// $td. $ticket->{'name'}. "".
+// $td. $ticket->{'status'}. "".
+// '
';
+// $col = $col eq $col1 ? $col2 : $col1;
+// }
+// $OUT .= '
';
+// } else {
+// $OUT .= '';
+// }
+
+ return $ret;
+ }
+
+}
+
+?>
diff --git a/fs_selfservice/fri/modules/myaccount.module b/fs_selfservice/fri/modules/myaccount.module
new file mode 100644
index 000000000..d8af40073
--- /dev/null
+++ b/fs_selfservice/fri/modules/myaccount.module
@@ -0,0 +1,81 @@
+" . _("My Account") . "
";
+
+ return $ret;
+ }
+
+ /*
+ * Displays stats page
+ *
+ * @param $args
+ * Common arguments
+ */
+ function display($args) {
+
+ global $ARI_HELP_FEATURE_CODES;
+
+ $display = new Display();
+
+ // args
+ $m = getArgument($args,'m');
+ $q = getArgument($args,'q');
+
+ $displayname = $_SESSION['ari_user']['displayname'];
+ $extension = $_SESSION['ari_user']['extension'];
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $header_text = _("My Account");
+ if (!$_SESSION['ari_user']['admin_help']) {
+ $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
+ }
+
+ // build page content
+ $ret .= checkErrorMessage();
+
+ $ret .= $display->displayHeaderText($header_text);
+ $ret .= $display->displayLine();
+
+ $ret .= 'My Account goes here';
+
+ return $ret;
+ }
+
+}
+
+?>
diff --git a/fs_selfservice/fri/modules/settings.module b/fs_selfservice/fri/modules/settings.module
index 314ce40c5..f20eb0253 100644
--- a/fs_selfservice/fri/modules/settings.module
+++ b/fs_selfservice/fri/modules/settings.module
@@ -53,7 +53,7 @@ class Settings {
// and we are not logged in as admin
if ($exten!=$ARI_ADMIN_USERNAME) {
- $ret .= "" . _("Settings") . "
";
+ $ret .= "" . _("Phone Settings") . "
";
}
return $ret;
@@ -589,7 +589,7 @@ class Settings {
// build page content
$ret .= checkErrorMessage();
- $headerText = sprintf(_("Settings for %s (%s)"),$displayname,$exten);
+ $headerText = sprintf(_("Phone Settings for %s (%s)"),$displayname,$exten);
$ret .= $display->displayHeaderText($headerText);
$ret .= $display->displayLine();
diff --git a/fs_selfservice/fri/theme/page.tpl.php b/fs_selfservice/fri/theme/page.tpl.php
index 12b5a3be7..9d54659c3 100644
--- a/fs_selfservice/fri/theme/page.tpl.php
+++ b/fs_selfservice/fri/theme/page.tpl.php
@@ -64,8 +64,9 @@
--
2.11.0