checkpoint
[freeside.git] / fs_selfservice / fri / modules / billing.module
index caa28b5..82c6fdc 100644 (file)
@@ -46,8 +46,6 @@ class billing {
    */
   function display($args) {
 
-    global $ARI_HELP_FEATURE_CODES;
-
     $display = new Display();
 
     // args
@@ -71,9 +69,107 @@ class billing {
     $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 .= 'Billing goes here';
+    // XXX navigate to make payment, view invoice,
+    // & myaccount change payment info
+
+    return $ret;
+
+  }
+
+  function make_payment($args) {
+
+    $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();
+
+
+    #$freeside = new FreesideSelfService();
+
+    $ret .= 'Make payment goes here';
 
     return $ret;
+
+  }
+
+  function view_invoice($args) {
+
+    $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();
+
+    $invnum = getArgument($args, 'invnum');
+
+    $freeside = new FreesideSelfService();
+    $invoice = $freeside->invoice( array(
+      'session_id' => $_SESSION['freeside_session_id'],
+      'invnum'     => $invnum,
+    ) );
+    $error = $invoice['error'];
+    if ( $error ) {
+      //$_SESSION['ari_error'] = _("Incorrect Username or Password");
+      $_SESSION['ari_error'] = $error; // XXX report as ari_error???!
+    }
+
+    $html = $invoice['invoice_html']->scalar;
+    $html = str_replace( "\xA0", ' ', $html); // XX doh
+    error_log($html);
+
+    $ret .= '<TABLE BGCOLOR="#000000" BORDER=0><TR><TD>'.
+            $html.
+            '</TD></TR></TABLE>';
+
+    return $ret;
+
   }
 
 }