Chris@76
|
1 <?php
|
Chris@76
|
2 /**
|
Chris@76
|
3 * Simple Machines Forum (SMF)
|
Chris@76
|
4 *
|
Chris@76
|
5 * @package SMF
|
Chris@76
|
6 * @author Simple Machines
|
Chris@76
|
7 * @copyright 2011 Simple Machines
|
Chris@76
|
8 * @license http://www.simplemachines.org/about/smf/license.php BSD
|
Chris@76
|
9 *
|
Chris@76
|
10 * @version 2.0
|
Chris@76
|
11 */
|
Chris@76
|
12
|
Chris@76
|
13 // The template for adding or editing a subscription.
|
Chris@76
|
14 function template_modify_subscription()
|
Chris@76
|
15 {
|
Chris@76
|
16 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
17
|
Chris@76
|
18 // Javascript for the duration stuff.
|
Chris@76
|
19 echo '
|
Chris@76
|
20 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
21 function toggleDuration(toChange)
|
Chris@76
|
22 {
|
Chris@76
|
23 if (toChange == \'fixed\')
|
Chris@76
|
24 {
|
Chris@76
|
25 document.getElementById("fixed_area").style.display = "inline";
|
Chris@76
|
26 document.getElementById("flexible_area").style.display = "none";
|
Chris@76
|
27 }
|
Chris@76
|
28 else
|
Chris@76
|
29 {
|
Chris@76
|
30 document.getElementById("fixed_area").style.display = "none";
|
Chris@76
|
31 document.getElementById("flexible_area").style.display = "inline";
|
Chris@76
|
32 }
|
Chris@76
|
33 }
|
Chris@76
|
34 // ]]></script>';
|
Chris@76
|
35
|
Chris@76
|
36 echo '
|
Chris@76
|
37 <div id="admincenter">
|
Chris@76
|
38 <form action="', $scripturl, '?action=admin;area=paidsubscribe;sa=modify;sid=', $context['sub_id'], '" method="post">
|
Chris@76
|
39 <div class="cat_bar">
|
Chris@76
|
40 <h3 class="catbg">', $txt['paid_' . $context['action_type'] . '_subscription'], '</h3>
|
Chris@76
|
41 </div>';
|
Chris@76
|
42
|
Chris@76
|
43 if (!empty($context['disable_groups']))
|
Chris@76
|
44 echo '
|
Chris@76
|
45 <div class="information">
|
Chris@76
|
46 <span class="alert">', $txt['paid_mod_edit_note'], '</span>
|
Chris@76
|
47 </div>
|
Chris@76
|
48 ';
|
Chris@76
|
49 echo '
|
Chris@76
|
50 <div class="windowbg">
|
Chris@76
|
51 <span class="topslice"><span></span></span>
|
Chris@76
|
52 <div class="content">
|
Chris@76
|
53 <dl class="settings">
|
Chris@76
|
54 <dt>
|
Chris@76
|
55 ', $txt['paid_mod_name'], ':
|
Chris@76
|
56 </dt>
|
Chris@76
|
57 <dd>
|
Chris@76
|
58 <input type="text" name="name" value="', $context['sub']['name'], '" size="30" class="input_text" />
|
Chris@76
|
59 </dd>
|
Chris@76
|
60 <dt>
|
Chris@76
|
61 ', $txt['paid_mod_desc'], ':
|
Chris@76
|
62 </dt>
|
Chris@76
|
63 <dd>
|
Chris@76
|
64 <textarea name="desc" rows="3" cols="40">', $context['sub']['desc'], '</textarea>
|
Chris@76
|
65 </dd>
|
Chris@76
|
66 <dt>
|
Chris@76
|
67 <label for="repeatable_check">', $txt['paid_mod_repeatable'], '</label>:
|
Chris@76
|
68 </dt>
|
Chris@76
|
69 <dd>
|
Chris@76
|
70 <input type="checkbox" name="repeatable" id="repeatable_check"', empty($context['sub']['repeatable']) ? '' : ' checked="checked"', ' class="input_check" />
|
Chris@76
|
71 </dd>
|
Chris@76
|
72 <dt>
|
Chris@76
|
73 <label for="activated_check">', $txt['paid_mod_active'], '</label>:<br /><span class="smalltext">', $txt['paid_mod_active_desc'], '</span>
|
Chris@76
|
74 </dt>
|
Chris@76
|
75 <dd>
|
Chris@76
|
76 <input type="checkbox" name="active" id="activated_check"', empty($context['sub']['active']) ? '' : ' checked="checked"', ' class="input_check" />
|
Chris@76
|
77 </dd>
|
Chris@76
|
78 </dl>
|
Chris@76
|
79 <hr class="hrcolor" />
|
Chris@76
|
80 <dl class="settings">
|
Chris@76
|
81 <dt>
|
Chris@76
|
82 ', $txt['paid_mod_prim_group'], ':<br /><span class="smalltext">', $txt['paid_mod_prim_group_desc'], '</span>
|
Chris@76
|
83 </dt>
|
Chris@76
|
84 <dd>
|
Chris@76
|
85 <select name="prim_group" ', !empty($context['disable_groups']) ? 'disabled="disabled"' : '', '>
|
Chris@76
|
86 <option value="0" ', $context['sub']['prim_group'] == 0 ? 'selected="selected"' : '', '>', $txt['paid_mod_no_group'], '</option>';
|
Chris@76
|
87
|
Chris@76
|
88 // Put each group into the box.
|
Chris@76
|
89 foreach ($context['groups'] as $id => $name)
|
Chris@76
|
90 echo '
|
Chris@76
|
91 <option value="', $id, '" ', $context['sub']['prim_group'] == $id ? 'selected="selected"' : '', '>', $name, '</option>';
|
Chris@76
|
92
|
Chris@76
|
93 echo '
|
Chris@76
|
94 </select>
|
Chris@76
|
95 </dd>
|
Chris@76
|
96 <dt>
|
Chris@76
|
97 ', $txt['paid_mod_add_groups'], ':<br /><span class="smalltext">', $txt['paid_mod_add_groups_desc'], '</span>
|
Chris@76
|
98 </dt>
|
Chris@76
|
99 <dd>';
|
Chris@76
|
100
|
Chris@76
|
101 // Put a checkbox in for each group
|
Chris@76
|
102 foreach ($context['groups'] as $id => $name)
|
Chris@76
|
103 echo '
|
Chris@76
|
104 <label for="addgroup_', $id, '"><input type="checkbox" id="addgroup_', $id, '" name="addgroup[', $id, ']"', in_array($id, $context['sub']['add_groups']) ? ' checked="checked"' : '', ' ', !empty($context['disable_groups']) ? ' disabled="disabled"' : '', ' class="input_check" /> <span class="smalltext">', $name, '</span></label><br />';
|
Chris@76
|
105
|
Chris@76
|
106 echo '
|
Chris@76
|
107 </dd>
|
Chris@76
|
108 <dt>
|
Chris@76
|
109 ', $txt['paid_mod_reminder'], ':<br /><span class="smalltext">', $txt['paid_mod_reminder_desc'], '</span>
|
Chris@76
|
110 </dt>
|
Chris@76
|
111 <dd>
|
Chris@76
|
112 <input type="text" name="reminder" value="', $context['sub']['reminder'], '" size="6" class="input_text" />
|
Chris@76
|
113 </dd>
|
Chris@76
|
114 <dt>
|
Chris@76
|
115 ', $txt['paid_mod_email'], ':<br /><span class="smalltext">', $txt['paid_mod_email_desc'], '</span>
|
Chris@76
|
116 </dt>
|
Chris@76
|
117 <dd>
|
Chris@76
|
118 <textarea name="emailcomplete" rows="6" cols="40">', $context['sub']['email_complete'], '</textarea>
|
Chris@76
|
119 </dd>
|
Chris@76
|
120 </dl>
|
Chris@76
|
121 <hr class="hrcolor" />
|
Chris@76
|
122 <input type="radio" name="duration_type" id="duration_type_fixed" value="fixed" ', empty($context['sub']['duration']) || $context['sub']['duration'] == 'fixed' ? 'checked="checked"' : '', ' class="input_radio" onclick="toggleDuration(\'fixed\');" />
|
Chris@76
|
123 <strong>', $txt['paid_mod_fixed_price'], '</strong>
|
Chris@76
|
124 <br />
|
Chris@76
|
125 <div id="fixed_area" ', empty($context['sub']['duration']) || $context['sub']['duration'] == 'fixed' ? '' : 'style="display: none;"', '>
|
Chris@76
|
126 <fieldset>
|
Chris@76
|
127 <dl class="settings">
|
Chris@76
|
128 <dt>
|
Chris@76
|
129 ', $txt['paid_cost'], ' (', str_replace('%1.2f', '', $modSettings['paid_currency_symbol']), '):
|
Chris@76
|
130 </dt>
|
Chris@76
|
131 <dd>
|
Chris@76
|
132 <input type="text" name="cost" value="', empty($context['sub']['cost']['fixed']) ? '0' : $context['sub']['cost']['fixed'], '" size="4" class="input_text" />
|
Chris@76
|
133 </dd>
|
Chris@76
|
134 <dt>
|
Chris@76
|
135 ', $txt['paid_mod_span'], ':
|
Chris@76
|
136 </dt>
|
Chris@76
|
137 <dd>
|
Chris@76
|
138 <input type="text" name="span_value" value="', $context['sub']['span']['value'], '" size="4" class="input_text" />
|
Chris@76
|
139 <select name="span_unit">
|
Chris@76
|
140 <option value="D" ', $context['sub']['span']['unit'] == 'D' ? 'selected="selected"' : '', '>', $txt['paid_mod_span_days'], '</option>
|
Chris@76
|
141 <option value="W" ', $context['sub']['span']['unit'] == 'W' ? 'selected="selected"' : '', '>', $txt['paid_mod_span_weeks'], '</option>
|
Chris@76
|
142 <option value="M" ', $context['sub']['span']['unit'] == 'M' ? 'selected="selected"' : '', '>', $txt['paid_mod_span_months'], '</option>
|
Chris@76
|
143 <option value="Y" ', $context['sub']['span']['unit'] == 'Y' ? 'selected="selected"' : '', '>', $txt['paid_mod_span_years'], '</option>
|
Chris@76
|
144 </select>
|
Chris@76
|
145 </dd>
|
Chris@76
|
146 </dl>
|
Chris@76
|
147 </fieldset>
|
Chris@76
|
148 </div>
|
Chris@76
|
149 <input type="radio" name="duration_type" id="duration_type_flexible" value="flexible" ', !empty($context['sub']['duration']) && $context['sub']['duration'] == 'flexible' ? 'checked="checked"' : '', ' class="input_radio" onclick="toggleDuration(\'flexible\');" />
|
Chris@76
|
150 <strong>', $txt['paid_mod_flexible_price'], '</strong>
|
Chris@76
|
151 <br />
|
Chris@76
|
152 <div id="flexible_area" ', !empty($context['sub']['duration']) && $context['sub']['duration'] == 'flexible' ? '' : 'style="display: none;"', '>
|
Chris@76
|
153 <fieldset>';
|
Chris@76
|
154
|
Chris@76
|
155 //!! Removed until implemented
|
Chris@76
|
156 if (!empty($sdflsdhglsdjgs))
|
Chris@76
|
157 echo '
|
Chris@76
|
158 <dl class="settings">
|
Chris@76
|
159 <dt>
|
Chris@76
|
160 <label for="allow_partial_check">', $txt['paid_mod_allow_partial'], '</label>:<br /><span class="smalltext">', $txt['paid_mod_allow_partial_desc'], '</span>
|
Chris@76
|
161 </dt>
|
Chris@76
|
162 <dd>
|
Chris@76
|
163 <input type="checkbox" name="allow_partial" id="allow_partial_check"', empty($context['sub']['allow_partial']) ? '' : ' checked="checked"', ' class="input_check" />
|
Chris@76
|
164 </dd>
|
Chris@76
|
165 </dl>';
|
Chris@76
|
166
|
Chris@76
|
167 echo '
|
Chris@76
|
168 <div class="information">
|
Chris@76
|
169 <strong>', $txt['paid_mod_price_breakdown'], '</strong><br />
|
Chris@76
|
170 ', $txt['paid_mod_price_breakdown_desc'], '
|
Chris@76
|
171 </div>
|
Chris@76
|
172 <dl class="settings">
|
Chris@76
|
173 <dt>
|
Chris@76
|
174 <strong>', $txt['paid_duration'], '</strong>
|
Chris@76
|
175 </dt>
|
Chris@76
|
176 <dd>
|
Chris@76
|
177 <strong>', $txt['paid_cost'], ' (', preg_replace('~%[df\.\d]+~', '', $modSettings['paid_currency_symbol']), ')</strong>
|
Chris@76
|
178 </dd>
|
Chris@76
|
179 <dt>
|
Chris@76
|
180 ', $txt['paid_per_day'], ':
|
Chris@76
|
181 </dt>
|
Chris@76
|
182 <dd>
|
Chris@76
|
183 <input type="text" name="cost_day" value="', empty($context['sub']['cost']['day']) ? '0' : $context['sub']['cost']['day'], '" size="5" class="input_text" />
|
Chris@76
|
184 </dd>
|
Chris@76
|
185 <dt>
|
Chris@76
|
186 ', $txt['paid_per_week'], ':
|
Chris@76
|
187 </dt>
|
Chris@76
|
188 <dd>
|
Chris@76
|
189 <input type="text" name="cost_week" value="', empty($context['sub']['cost']['week']) ? '0' : $context['sub']['cost']['week'], '" size="5" class="input_text" />
|
Chris@76
|
190 </dd>
|
Chris@76
|
191 <dt>
|
Chris@76
|
192 ', $txt['paid_per_month'], ':
|
Chris@76
|
193 </dt>
|
Chris@76
|
194 <dd>
|
Chris@76
|
195 <input type="text" name="cost_month" value="', empty($context['sub']['cost']['month']) ? '0' : $context['sub']['cost']['month'], '" size="5" class="input_text" />
|
Chris@76
|
196 </dd>
|
Chris@76
|
197 <dt>
|
Chris@76
|
198 ', $txt['paid_per_year'], ':
|
Chris@76
|
199 </dt>
|
Chris@76
|
200 <dd>
|
Chris@76
|
201 <input type="text" name="cost_year" value="', empty($context['sub']['cost']['year']) ? '0' : $context['sub']['cost']['year'], '" size="5" class="input_text" />
|
Chris@76
|
202 </dd>
|
Chris@76
|
203 </dl>
|
Chris@76
|
204 </fieldset>
|
Chris@76
|
205 </div>
|
Chris@76
|
206 <div class="righttext">
|
Chris@76
|
207 <input type="submit" name="save" value="', $txt['paid_settings_save'], '" class="button_submit" />
|
Chris@76
|
208 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
209 </div>
|
Chris@76
|
210 </div>
|
Chris@76
|
211 <span class="botslice"><span></span></span>
|
Chris@76
|
212 </div>
|
Chris@76
|
213 </form>
|
Chris@76
|
214 </div>
|
Chris@76
|
215 <br class="clear" />';
|
Chris@76
|
216
|
Chris@76
|
217 }
|
Chris@76
|
218
|
Chris@76
|
219 function template_delete_subscription()
|
Chris@76
|
220 {
|
Chris@76
|
221 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
222
|
Chris@76
|
223 echo '
|
Chris@76
|
224 <div id="admincenter">
|
Chris@76
|
225 <form action="', $scripturl, '?action=admin;area=paidsubscribe;sa=modify;sid=', $context['sub_id'], ';delete" method="post">
|
Chris@76
|
226 <div class="cat_bar">
|
Chris@76
|
227 <h3 class="catbg">', $txt['paid_delete_subscription'], '</h3>
|
Chris@76
|
228 </div>
|
Chris@76
|
229 <div class="windowbg">
|
Chris@76
|
230 <span class="topslice"><span></span></span>
|
Chris@76
|
231 <div class="content">
|
Chris@76
|
232 <p>', $txt['paid_mod_delete_warning'], '</p>
|
Chris@76
|
233
|
Chris@76
|
234 <input type="submit" name="delete_confirm" value="', $txt['paid_delete_subscription'], '" class="button_submit" />
|
Chris@76
|
235 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
236 </div>
|
Chris@76
|
237 <span class="botslice"><span></span></span>
|
Chris@76
|
238 </div>
|
Chris@76
|
239 </form>
|
Chris@76
|
240 </div>
|
Chris@76
|
241 <br class="clear" />';
|
Chris@76
|
242
|
Chris@76
|
243 }
|
Chris@76
|
244
|
Chris@76
|
245 // Add or edit an existing subscriber.
|
Chris@76
|
246 function template_modify_user_subscription()
|
Chris@76
|
247 {
|
Chris@76
|
248 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
249
|
Chris@76
|
250 // Some quickly stolen javascript from Post, could do with being more efficient :)
|
Chris@76
|
251 echo '
|
Chris@76
|
252 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
253 var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
Chris@76
|
254
|
Chris@76
|
255 function generateDays(offset)
|
Chris@76
|
256 {
|
Chris@76
|
257 var days = 0, selected = 0;
|
Chris@76
|
258 var dayElement = document.getElementById("day" + offset), yearElement = document.getElementById("year" + offset), monthElement = document.getElementById("month" + offset);
|
Chris@76
|
259
|
Chris@76
|
260 monthLength[1] = 28;
|
Chris@76
|
261 if (yearElement.options[yearElement.selectedIndex].value % 4 == 0)
|
Chris@76
|
262 monthLength[1] = 29;
|
Chris@76
|
263
|
Chris@76
|
264 selected = dayElement.selectedIndex;
|
Chris@76
|
265 while (dayElement.options.length)
|
Chris@76
|
266 dayElement.options[0] = null;
|
Chris@76
|
267
|
Chris@76
|
268 days = monthLength[monthElement.value - 1];
|
Chris@76
|
269
|
Chris@76
|
270 for (i = 1; i <= days; i++)
|
Chris@76
|
271 dayElement.options[dayElement.length] = new Option(i, i);
|
Chris@76
|
272
|
Chris@76
|
273 if (selected < days)
|
Chris@76
|
274 dayElement.selectedIndex = selected;
|
Chris@76
|
275 }
|
Chris@76
|
276 // ]]></script>';
|
Chris@76
|
277
|
Chris@76
|
278 echo '
|
Chris@76
|
279 <div id="admincenter">
|
Chris@76
|
280 <form action="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;sid=', $context['sub_id'], ';lid=', $context['log_id'], '" method="post">
|
Chris@76
|
281 <div class="cat_bar">
|
Chris@76
|
282 <h3 class="catbg">
|
Chris@76
|
283 ', $txt['paid_' . $context['action_type'] . '_subscription'], ' - ', $context['current_subscription']['name'], '
|
Chris@76
|
284 ', empty($context['sub']['username']) ? '' : ' (' . $txt['user'] . ': ' . $context['sub']['username'] . ')', '
|
Chris@76
|
285 </h3>
|
Chris@76
|
286 </div>
|
Chris@76
|
287 <div class="windowbg">
|
Chris@76
|
288 <span class="topslice"><span></span></span>
|
Chris@76
|
289 <div class="content">
|
Chris@76
|
290 <dl class="settings">';
|
Chris@76
|
291
|
Chris@76
|
292 // Do we need a username?
|
Chris@76
|
293 if ($context['action_type'] == 'add')
|
Chris@76
|
294 echo '
|
Chris@76
|
295
|
Chris@76
|
296 <dt>
|
Chris@76
|
297 <strong>', $txt['paid_username'], ':</strong><br />
|
Chris@76
|
298 <span class="smalltext">', $txt['one_username'], '</span>
|
Chris@76
|
299 </dt>
|
Chris@76
|
300 <dd>
|
Chris@76
|
301 <input type="text" name="name" id="name_control" value="', $context['sub']['username'], '" size="30" class="input_text" />
|
Chris@76
|
302 </dd>';
|
Chris@76
|
303
|
Chris@76
|
304 echo '
|
Chris@76
|
305 <dt>
|
Chris@76
|
306 <strong>', $txt['paid_status'], ':</strong>
|
Chris@76
|
307 </dt>
|
Chris@76
|
308 <dd>
|
Chris@76
|
309 <select name="status">
|
Chris@76
|
310 <option value="0" ', $context['sub']['status'] == 0 ? 'selected="selected"' : '', '>', $txt['paid_finished'], '</option>
|
Chris@76
|
311 <option value="1" ', $context['sub']['status'] == 1 ? 'selected="selected"' : '', '>', $txt['paid_active'], '</option>
|
Chris@76
|
312 </select>
|
Chris@76
|
313 </dd>
|
Chris@76
|
314 </dl>
|
Chris@76
|
315 <fieldset>
|
Chris@76
|
316 <legend>', $txt['start_date_and_time'], '</legend>
|
Chris@76
|
317 <select name="year" id="year" onchange="generateDays(\'\');">';
|
Chris@76
|
318
|
Chris@76
|
319 // Show a list of all the years we allow...
|
Chris@76
|
320 for ($year = 2005; $year <= 2030; $year++)
|
Chris@76
|
321 echo '
|
Chris@76
|
322 <option value="', $year, '"', $year == $context['sub']['start']['year'] ? ' selected="selected"' : '', '>', $year, '</option>';
|
Chris@76
|
323
|
Chris@76
|
324 echo '
|
Chris@76
|
325 </select>
|
Chris@76
|
326 ', (isset($txt['calendar_month']) ? $txt['calendar_month'] : $txt['calendar_month']), '
|
Chris@76
|
327 <select name="month" id="month" onchange="generateDays(\'\');">';
|
Chris@76
|
328
|
Chris@76
|
329 // There are 12 months per year - ensure that they all get listed.
|
Chris@76
|
330 for ($month = 1; $month <= 12; $month++)
|
Chris@76
|
331 echo '
|
Chris@76
|
332 <option value="', $month, '"', $month == $context['sub']['start']['month'] ? ' selected="selected"' : '', '>', $txt['months'][$month], '</option>';
|
Chris@76
|
333
|
Chris@76
|
334 echo '
|
Chris@76
|
335 </select>
|
Chris@76
|
336 ', (isset($txt['calendar_day']) ? $txt['calendar_day'] : $txt['calendar_day']), '
|
Chris@76
|
337 <select name="day" id="day">';
|
Chris@76
|
338
|
Chris@76
|
339 // This prints out all the days in the current month - this changes dynamically as we switch months.
|
Chris@76
|
340 for ($day = 1; $day <= $context['sub']['start']['last_day']; $day++)
|
Chris@76
|
341 echo '
|
Chris@76
|
342 <option value="', $day, '"', $day == $context['sub']['start']['day'] ? ' selected="selected"' : '', '>', $day, '</option>';
|
Chris@76
|
343
|
Chris@76
|
344 echo '
|
Chris@76
|
345 </select>
|
Chris@76
|
346 ', $txt['hour'], ': <input type="text" name="hour" value="', $context['sub']['start']['hour'], '" size="2" class="input_text" />
|
Chris@76
|
347 ', $txt['minute'], ': <input type="text" name="minute" value="', $context['sub']['start']['min'], '" size="2" class="input_text" />
|
Chris@76
|
348 </fieldset>
|
Chris@76
|
349 <fieldset>
|
Chris@76
|
350 <legend>', $txt['end_date_and_time'], '</legend>
|
Chris@76
|
351 <select name="yearend" id="yearend" onchange="generateDays(\'end\');">';
|
Chris@76
|
352
|
Chris@76
|
353 // Show a list of all the years we allow...
|
Chris@76
|
354 for ($year = 2005; $year <= 2030; $year++)
|
Chris@76
|
355 echo '
|
Chris@76
|
356 <option value="', $year, '"', $year == $context['sub']['end']['year'] ? ' selected="selected"' : '', '>', $year, '</option>';
|
Chris@76
|
357
|
Chris@76
|
358 echo '
|
Chris@76
|
359 </select>
|
Chris@76
|
360 ', (isset($txt['calendar_month']) ? $txt['calendar_month'] : $txt['calendar_month']), '
|
Chris@76
|
361 <select name="monthend" id="monthend" onchange="generateDays(\'end\');">';
|
Chris@76
|
362
|
Chris@76
|
363 // There are 12 months per year - ensure that they all get listed.
|
Chris@76
|
364 for ($month = 1; $month <= 12; $month++)
|
Chris@76
|
365 echo '
|
Chris@76
|
366 <option value="', $month, '"', $month == $context['sub']['end']['month'] ? ' selected="selected"' : '', '>', $txt['months'][$month], '</option>';
|
Chris@76
|
367
|
Chris@76
|
368 echo '
|
Chris@76
|
369 </select>
|
Chris@76
|
370 ', (isset($txt['calendar_day']) ? $txt['calendar_day'] : $txt['calendar_day']), '
|
Chris@76
|
371 <select name="dayend" id="dayend">';
|
Chris@76
|
372
|
Chris@76
|
373 // This prints out all the days in the current month - this changes dynamically as we switch months.
|
Chris@76
|
374 for ($day = 1; $day <= $context['sub']['end']['last_day']; $day++)
|
Chris@76
|
375 echo '
|
Chris@76
|
376 <option value="', $day, '"', $day == $context['sub']['end']['day'] ? ' selected="selected"' : '', '>', $day, '</option>';
|
Chris@76
|
377
|
Chris@76
|
378 echo '
|
Chris@76
|
379 </select>
|
Chris@76
|
380 ', $txt['hour'], ': <input type="text" name="hourend" value="', $context['sub']['end']['hour'], '" size="2" class="input_text" />
|
Chris@76
|
381 ', $txt['minute'], ': <input type="text" name="minuteend" value="', $context['sub']['end']['min'], '" size="2" class="input_text" />
|
Chris@76
|
382 </fieldset>
|
Chris@76
|
383 <input type="submit" name="save_sub" value="', $txt['paid_settings_save'], '" class="button_submit" />
|
Chris@76
|
384 </div>
|
Chris@76
|
385 <span class="botslice"><span></span></span>
|
Chris@76
|
386 </div>
|
Chris@76
|
387 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
388 </form>
|
Chris@76
|
389 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
|
Chris@76
|
390 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
391 var oAddMemberSuggest = new smc_AutoSuggest({
|
Chris@76
|
392 sSelf: \'oAddMemberSuggest\',
|
Chris@76
|
393 sSessionId: \'', $context['session_id'], '\',
|
Chris@76
|
394 sSessionVar: \'', $context['session_var'], '\',
|
Chris@76
|
395 sSuggestId: \'name_subscriber\',
|
Chris@76
|
396 sControlId: \'name_control\',
|
Chris@76
|
397 sSearchType: \'member\',
|
Chris@76
|
398 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
|
Chris@76
|
399 bItemList: false
|
Chris@76
|
400 });
|
Chris@76
|
401 // ]]></script>';
|
Chris@76
|
402
|
Chris@76
|
403 if (!empty($context['pending_payments']))
|
Chris@76
|
404 {
|
Chris@76
|
405 echo '
|
Chris@76
|
406 <div class="cat_bar">
|
Chris@76
|
407 <h3 class="catbg">', $txt['pending_payments'], '</h3>
|
Chris@76
|
408 </div>
|
Chris@76
|
409 <div class="information">
|
Chris@76
|
410 ', $txt['pending_payments_desc'], '
|
Chris@76
|
411 </div>
|
Chris@76
|
412 <div class="cat_bar">
|
Chris@76
|
413 <h3 class="catbg">', $txt['pending_payments_value'], '</h3>
|
Chris@76
|
414 </div>
|
Chris@76
|
415 <div class="windowbg">
|
Chris@76
|
416 <span class="topslice"><span></span></span>
|
Chris@76
|
417 <div class="content">
|
Chris@76
|
418 <ul class="pending_payments">';
|
Chris@76
|
419
|
Chris@76
|
420 foreach ($context['pending_payments'] as $id => $payment)
|
Chris@76
|
421 {
|
Chris@76
|
422 echo '
|
Chris@76
|
423 <li class="reset">
|
Chris@76
|
424 ', $payment['desc'], '
|
Chris@76
|
425 <span class="floatleft"><a href="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;lid=', $context['log_id'], ';pending=', $id, ';accept">', $txt['pending_payments_accept'], '</a></span>
|
Chris@76
|
426 <span class="floatright"><a href="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;lid=', $context['log_id'], ';pending=', $id, ';remove">', $txt['pending_payments_remove'], '</a></span>
|
Chris@76
|
427 </li>';
|
Chris@76
|
428 }
|
Chris@76
|
429
|
Chris@76
|
430 echo '
|
Chris@76
|
431 </ul>
|
Chris@76
|
432 </div>
|
Chris@76
|
433 <span class="botslice"><span></span></span>
|
Chris@76
|
434 </div>';
|
Chris@76
|
435 }
|
Chris@76
|
436
|
Chris@76
|
437 echo '
|
Chris@76
|
438 </div>
|
Chris@76
|
439 <br class="clear" />';
|
Chris@76
|
440 }
|
Chris@76
|
441
|
Chris@76
|
442 // Template for a user to edit/pick their subscriptions.
|
Chris@76
|
443 function template_user_subscription()
|
Chris@76
|
444 {
|
Chris@76
|
445 global $context, $txt, $scripturl, $modSettings;
|
Chris@76
|
446
|
Chris@76
|
447 echo '
|
Chris@76
|
448 <div id="paid_subscription">
|
Chris@76
|
449 <form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=subscriptions;confirm" method="post">
|
Chris@76
|
450 <div class="cat_bar">
|
Chris@76
|
451 <h3 class="catbg">', $txt['subscriptions'], '</h3>
|
Chris@76
|
452 </div>';
|
Chris@76
|
453
|
Chris@76
|
454 if (empty($context['subscriptions']))
|
Chris@76
|
455 {
|
Chris@76
|
456 echo '
|
Chris@76
|
457 <div class="information">
|
Chris@76
|
458 ', $txt['paid_subs_none'], '
|
Chris@76
|
459 </div>';
|
Chris@76
|
460 }
|
Chris@76
|
461 else
|
Chris@76
|
462 {
|
Chris@76
|
463 echo '
|
Chris@76
|
464 <div class="information">
|
Chris@76
|
465 ', $txt['paid_subs_desc'], '
|
Chris@76
|
466 </div>';
|
Chris@76
|
467
|
Chris@76
|
468 // Print out all the subscriptions.
|
Chris@76
|
469 $alternate = false;
|
Chris@76
|
470 foreach ($context['subscriptions'] as $id => $subscription)
|
Chris@76
|
471 {
|
Chris@76
|
472 $alternate = !$alternate;
|
Chris@76
|
473
|
Chris@76
|
474 // Ignore the inactive ones...
|
Chris@76
|
475 if (empty($subscription['active']))
|
Chris@76
|
476 continue;
|
Chris@76
|
477
|
Chris@76
|
478 echo '
|
Chris@76
|
479 <div class="cat_bar">
|
Chris@76
|
480 <h3 class="catbg">', $subscription['name'], '</h3>
|
Chris@76
|
481 </div>
|
Chris@76
|
482 <div class="windowbg', $alternate ? '' : '2', '">
|
Chris@76
|
483 <span class="topslice"><span></span></span>
|
Chris@76
|
484 <div class="content">
|
Chris@76
|
485 <p><strong>', $subscription['name'], '</strong></p>
|
Chris@76
|
486 <p class="smalltext">', $subscription['desc'], '</p>';
|
Chris@76
|
487
|
Chris@76
|
488 if (!$subscription['flexible'])
|
Chris@76
|
489 echo '
|
Chris@76
|
490 <div><strong>', $txt['paid_duration'], ':</strong> ', $subscription['length'], '</div>';
|
Chris@76
|
491
|
Chris@76
|
492 if ($context['user']['is_owner'])
|
Chris@76
|
493 {
|
Chris@76
|
494 echo '
|
Chris@76
|
495 <strong>', $txt['paid_cost'], ':</strong>';
|
Chris@76
|
496
|
Chris@76
|
497 if ($subscription['flexible'])
|
Chris@76
|
498 {
|
Chris@76
|
499 echo '
|
Chris@76
|
500 <select name="cur[', $subscription['id'], ']">';
|
Chris@76
|
501
|
Chris@76
|
502 // Print out the costs for this one.
|
Chris@76
|
503 foreach ($subscription['costs'] as $duration => $value)
|
Chris@76
|
504 echo '
|
Chris@76
|
505 <option value="', $duration, '">', sprintf($modSettings['paid_currency_symbol'], $value), '/', $txt[$duration], '</option>';
|
Chris@76
|
506
|
Chris@76
|
507 echo '
|
Chris@76
|
508 </select>';
|
Chris@76
|
509 }
|
Chris@76
|
510 else
|
Chris@76
|
511 echo '
|
Chris@76
|
512 ', sprintf($modSettings['paid_currency_symbol'], $subscription['costs']['fixed']);
|
Chris@76
|
513
|
Chris@76
|
514 echo '
|
Chris@76
|
515 <br />
|
Chris@76
|
516 <input type="submit" name="sub_id[', $subscription['id'], ']" value="', $txt['paid_order'], '" class="button_submit" />';
|
Chris@76
|
517 }
|
Chris@76
|
518 else
|
Chris@76
|
519 echo '
|
Chris@76
|
520 <a href="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;sid=', $subscription['id'], ';uid=', $context['member']['id'], (empty($context['current'][$subscription['id']]) ? '' : ';lid=' . $context['current'][$subscription['id']]['id']), '">', empty($context['current'][$subscription['id']]) ? $txt['paid_admin_add'] : $txt['paid_edit_subscription'], '</a>';
|
Chris@76
|
521
|
Chris@76
|
522 echo '
|
Chris@76
|
523 </div>
|
Chris@76
|
524 <span class="botslice"><span></span></span>
|
Chris@76
|
525 </div>';
|
Chris@76
|
526 }
|
Chris@76
|
527 }
|
Chris@76
|
528
|
Chris@76
|
529 echo '
|
Chris@76
|
530 </form>
|
Chris@76
|
531 <br />
|
Chris@76
|
532 <div class="title_bar">
|
Chris@76
|
533 <h3 class="titlebg">', $txt['paid_current'], '</h3>
|
Chris@76
|
534 </div>
|
Chris@76
|
535 <div class="information">
|
Chris@76
|
536 ', $txt['paid_current_desc'], '
|
Chris@76
|
537 </div>
|
Chris@76
|
538 <table width="100%" class="table_grid">
|
Chris@76
|
539 <thead>
|
Chris@76
|
540 <tr class="catbg">
|
Chris@76
|
541 <th class="first_th" width="30%">', $txt['paid_name'], '</th>
|
Chris@76
|
542 <th align="center">', $txt['paid_status'], '</th>
|
Chris@76
|
543 <th align="center">', $txt['start_date'], '</th>
|
Chris@76
|
544 <th class="last_th" align="center">', $txt['end_date'], '</th>
|
Chris@76
|
545 </tr>
|
Chris@76
|
546 </thead>
|
Chris@76
|
547 <tbody>';
|
Chris@76
|
548
|
Chris@76
|
549 if (empty($context['current']))
|
Chris@76
|
550 echo '
|
Chris@76
|
551 <tr class="windowbg">
|
Chris@76
|
552 <td align="center" colspan="4">
|
Chris@76
|
553 ', $txt['paid_none_yet'], '
|
Chris@76
|
554 </td>
|
Chris@76
|
555 </tr>';
|
Chris@76
|
556
|
Chris@76
|
557 $alternate = false;
|
Chris@76
|
558 foreach ($context['current'] as $sub)
|
Chris@76
|
559 {
|
Chris@76
|
560 $alternate = !$alternate;
|
Chris@76
|
561
|
Chris@76
|
562 if (!$sub['hide'])
|
Chris@76
|
563 echo '
|
Chris@76
|
564 <tr class="windowbg', $alternate ? '' : '2', '">
|
Chris@76
|
565 <td>
|
Chris@76
|
566 ', (allowedTo('admin_forum') ? '<a href="' . $scripturl . '?action=admin;area=paidsubscribe;sa=modifyuser;lid=' . $sub['id'] . '">' . $sub['name'] . '</a>' : $sub['name']), '
|
Chris@76
|
567 </td><td>
|
Chris@76
|
568 <span style="color: ', ($sub['status'] == 2 ? 'green' : ($sub['status'] == 1 ? 'red' : 'orange')), '"><strong>', $sub['status_text'], '</strong></span>
|
Chris@76
|
569 </td><td>
|
Chris@76
|
570 ', $sub['start'], '
|
Chris@76
|
571 </td><td>
|
Chris@76
|
572 ', $sub['end'], '
|
Chris@76
|
573 </td>
|
Chris@76
|
574 </tr>';
|
Chris@76
|
575 }
|
Chris@76
|
576 echo '
|
Chris@76
|
577 </tbody>
|
Chris@76
|
578 </table>
|
Chris@76
|
579 </div>
|
Chris@76
|
580 <br class="clear" />';
|
Chris@76
|
581 }
|
Chris@76
|
582
|
Chris@76
|
583 // The "choose payment" dialog.
|
Chris@76
|
584 function template_choose_payment()
|
Chris@76
|
585 {
|
Chris@76
|
586 global $context, $txt, $modSettings, $scripturl;
|
Chris@76
|
587
|
Chris@76
|
588 echo '
|
Chris@76
|
589 <div id="paid_subscription">
|
Chris@76
|
590 <div class="cat_bar">
|
Chris@76
|
591 <h3 class="catbg">', $txt['paid_confirm_payment'], '</h3>
|
Chris@76
|
592 </div>
|
Chris@76
|
593 <div class="information">
|
Chris@76
|
594 ', $txt['paid_confirm_desc'], '
|
Chris@76
|
595 </div>
|
Chris@76
|
596 <div class="windowbg">
|
Chris@76
|
597 <span class="topslice"><span></span></span>
|
Chris@76
|
598 <div class="content">
|
Chris@76
|
599 <dl class="settings">
|
Chris@76
|
600 <dt>
|
Chris@76
|
601 <strong>', $txt['subscription'], ':</strong>
|
Chris@76
|
602 </dt>
|
Chris@76
|
603 <dd>
|
Chris@76
|
604 ', $context['sub']['name'], '
|
Chris@76
|
605 </dd>
|
Chris@76
|
606 <dt>
|
Chris@76
|
607 <strong>', $txt['paid_cost'], ':</strong>
|
Chris@76
|
608 </dt>
|
Chris@76
|
609 <dd>
|
Chris@76
|
610 ', $context['cost'], '
|
Chris@76
|
611 </dd>
|
Chris@76
|
612 </dl>
|
Chris@76
|
613 </div>
|
Chris@76
|
614 <span class="botslice"><span></span></span>
|
Chris@76
|
615 </div>';
|
Chris@76
|
616
|
Chris@76
|
617 // Do all the gateway options.
|
Chris@76
|
618 foreach ($context['gateways'] as $gateway)
|
Chris@76
|
619 {
|
Chris@76
|
620 echo '
|
Chris@76
|
621 <div class="cat_bar">
|
Chris@76
|
622 <h3 class="catbg">', $gateway['title'], '</h3>
|
Chris@76
|
623 </div>
|
Chris@76
|
624 <div class="windowbg">
|
Chris@76
|
625 <span class="topslice"><span></span></span>
|
Chris@76
|
626 <div class="content">
|
Chris@76
|
627 ', $gateway['desc'], '<br />
|
Chris@76
|
628 <form action="', $gateway['form'], '" method="post">';
|
Chris@76
|
629
|
Chris@76
|
630 if (!empty($gateway['javascript']))
|
Chris@76
|
631 echo '
|
Chris@76
|
632 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
633 ', $gateway['javascript'], '
|
Chris@76
|
634 // ]]></script>';
|
Chris@76
|
635
|
Chris@76
|
636 foreach ($gateway['hidden'] as $name => $value)
|
Chris@76
|
637 echo '
|
Chris@76
|
638 <input type="hidden" id="', $gateway['id'], '_', $name, '" name="', $name, '" value="', $value, '" />';
|
Chris@76
|
639
|
Chris@76
|
640 echo '
|
Chris@76
|
641 <br /><input type="submit" value="', $gateway['submit'], '" class="button_submit" />
|
Chris@76
|
642 </form>
|
Chris@76
|
643 </div>
|
Chris@76
|
644 <span class="botslice"><span></span></span>
|
Chris@76
|
645 </div>';
|
Chris@76
|
646 }
|
Chris@76
|
647
|
Chris@76
|
648 echo '
|
Chris@76
|
649 </div>
|
Chris@76
|
650 <br class="clear" />';
|
Chris@76
|
651 }
|
Chris@76
|
652
|
Chris@76
|
653 // The "thank you" bit...
|
Chris@76
|
654 function template_paid_done()
|
Chris@76
|
655 {
|
Chris@76
|
656 global $context, $txt, $modSettings, $scripturl;
|
Chris@76
|
657
|
Chris@76
|
658 echo '
|
Chris@76
|
659 <div id="paid_subscription">
|
Chris@76
|
660 <div class="title_bar">
|
Chris@76
|
661 <h3 class="titlebg">', $txt['paid_done'], '</h3>
|
Chris@76
|
662 </div>
|
Chris@76
|
663 <div class="windowbg2">
|
Chris@76
|
664 <span class="topslice"><span></span></span>
|
Chris@76
|
665 <div class="content">
|
Chris@76
|
666 <p>', $txt['paid_done_desc'], '</p>
|
Chris@76
|
667 <br />
|
Chris@76
|
668 <a href="', $scripturl, '?action=profile;u=', $context['member']['id'], ';area=subscriptions">', $txt['paid_sub_return'], '</a>
|
Chris@76
|
669 </div>
|
Chris@76
|
670 <span class="botslice"><span></span></span>
|
Chris@76
|
671 </div>
|
Chris@76
|
672 </div>
|
Chris@76
|
673 <br class="clear" />';
|
Chris@76
|
674 }
|
Chris@76
|
675
|
Chris@76
|
676 ?> |