checkpoint
[freeside.git] / fs_selfservice / fri / modules / billing.module
1 <?php
2
3 /**
4  * @file
5  * Functions for the interface to the help page
6  */
7
8 /**
9   * Class for help
10   */
11 class billing {
12
13   /*
14    * rank (for prioritizing modules)
15    */
16   function rank() {
17
18     $rank = -2;
19     return $rank;
20   }
21
22   /*
23    * init
24    */
25   function init() {
26   }
27
28   /*
29    * Adds menu item to nav menu
30    *
31    * @param $args
32    *   Common arguments
33    */
34   function navMenu($args) {
35
36     $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=billing&f=display'>" . _("Billing") . "</a></small></small></p><br>";
37
38     return $ret;
39   }
40
41   /*
42    * Displays stats page
43    *
44    * @param $args
45    *   Common arguments
46    */
47   function display($args) {
48
49     $display = new Display();
50
51     // args
52     $m = getArgument($args,'m');
53     $q = getArgument($args,'q');
54
55     $displayname = $_SESSION['ari_user']['displayname'];
56     $extension = $_SESSION['ari_user']['extension'];
57
58     // build page content
59     $ret .= checkErrorMessage();
60
61         $header_text = _("Billing");
62         if (!$_SESSION['ari_user']['admin_help']) {
63                 $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
64         }
65
66     // build page content
67     $ret .= checkErrorMessage();
68
69     $ret .= $display->displayHeaderText($header_text);
70     $ret .= $display->displayLine();
71
72
73     $freeside = new FreesideSelfService();
74     #$fs_info = $freeside->customer_info( array(
75     #  'session_id' => $_SESSION['freeside_session_id'],
76     #) );
77     #$error = $fs_info['error'];
78     #if ( $error ) {
79     #  //$_SESSION['ari_error'] = _("Incorrect Username or Password");
80     #  $_SESSION['ari_error'] = $error; #// XXX report as ari_error???!
81     #}
82
83     $ret .= 'Billing goes here';
84     // XXX navigate to make payment, view invoice,
85     // & myaccount change payment info
86
87     return $ret;
88
89   }
90
91   function make_payment($args) {
92
93     $display = new Display();
94
95     // args
96     $m = getArgument($args,'m');
97     $q = getArgument($args,'q');
98
99     $displayname = $_SESSION['ari_user']['displayname'];
100     $extension = $_SESSION['ari_user']['extension'];
101
102     // build page content
103     $ret .= checkErrorMessage();
104
105         $header_text = _("Billing");
106         if (!$_SESSION['ari_user']['admin_help']) {
107                 $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
108         }
109
110     // build page content
111     $ret .= checkErrorMessage();
112
113     $ret .= $display->displayHeaderText($header_text);
114     $ret .= $display->displayLine();
115
116
117     #$freeside = new FreesideSelfService();
118
119     $ret .= 'Make payment goes here';
120
121     return $ret;
122
123   }
124
125   function view_invoice($args) {
126
127     $display = new Display();
128
129     // args
130     $m = getArgument($args,'m');
131     $q = getArgument($args,'q');
132
133     $displayname = $_SESSION['ari_user']['displayname'];
134     $extension = $_SESSION['ari_user']['extension'];
135
136     // build page content
137     $ret .= checkErrorMessage();
138
139         $header_text = _("Billing");
140         if (!$_SESSION['ari_user']['admin_help']) {
141                 $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension);
142         }
143
144     // build page content
145     $ret .= checkErrorMessage();
146
147     $ret .= $display->displayHeaderText($header_text);
148     #$ret .= $display->displayLine();
149
150     $invnum = getArgument($args, 'invnum');
151
152     $freeside = new FreesideSelfService();
153     $invoice = $freeside->invoice( array(
154       'session_id' => $_SESSION['freeside_session_id'],
155       'invnum'     => $invnum,
156     ) );
157     $error = $invoice['error'];
158     if ( $error ) {
159       //$_SESSION['ari_error'] = _("Incorrect Username or Password");
160       $_SESSION['ari_error'] = $error; // XXX report as ari_error???!
161     }
162
163     $html = $invoice['invoice_html']->scalar;
164     $html = str_replace( "\xA0", '&nbsp;', $html); // XX doh
165     error_log($html);
166
167     $ret .= '<TABLE BGCOLOR="#000000" BORDER=0><TR><TD>'.
168             $html.
169             '</TD></TR></TABLE>';
170
171     return $ret;
172
173   }
174
175 }
176
177 ?>