RSS

(root)/phpwe/sWG_complete/account_pms : 1 : system/modules/account/swg_pms.php

« back to all changes in this revision

Viewing changes to system/modules/account/swg_pms.php

@4u
2009-06-17 14:06:16
Revision ID: @4u-20090617140616-nxseplsdn6zslyof
Initial commit

Show diffs side-by-side

added added

removed removed

 
1
<?php
 
2
//j// BOF
 
3
 
 
4
/*n// NOTE
 
5
----------------------------------------------------------------------------
 
6
secured WebGine
 
7
net-based application engine
 
8
----------------------------------------------------------------------------
 
9
(C) direct Netware Group - All rights reserved
 
10
http://www.direct-netware.de/redirect.php?swg
 
11
 
 
12
The following license agreement remains valid unless any additions or
 
13
changes are being made by direct Netware Group in a written form.
 
14
 
 
15
This program is free software; you can redistribute it and/or modify it
 
16
under the terms of the GNU General Public License as published by the
 
17
Free Software Foundation; either version 2 of the License, or (at your
 
18
option) any later version.
 
19
 
 
20
This program is distributed in the hope that it will be useful, but WITHOUT
 
21
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 
22
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 
23
more details.
 
24
 
 
25
You should have received a copy of the GNU General Public License along with
 
26
this program; if not, write to the Free Software Foundation, Inc.,
 
27
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
28
----------------------------------------------------------------------------
 
29
http://www.direct-netware.de/redirect.php?licenses;gpl
 
30
----------------------------------------------------------------------------
 
31
$Id: swg_pms.php,v 1.4 2009/01/05 21:13:31 s4u Exp $
 
32
#echo(sWGaccountPmsVersion)#
 
33
sWG/#echo(__FILEPATH__)#
 
34
----------------------------------------------------------------------------
 
35
NOTE_END //n*/
 
36
/**
 
37
* account/swg_pms.php
 
38
*
 
39
* @internal   We are using phpDocumentor to automate the documentation process
 
40
*             for creating the Developer's Manual. All sections including
 
41
*             these special comments will be removed from the release source
 
42
*             code.
 
43
*             Use the following line to ensure 76 character sizes:
 
44
* ----------------------------------------------------------------------------
 
45
* @author     direct Netware Group
 
46
* @copyright  (C) direct Netware Group - All rights reserved
 
47
* @package    sWG
 
48
* @subpackage account_pms
 
49
* @uses       direct_product_iversion
 
50
* @since      v0.1.00
 
51
* @license    http://www.direct-netware.de/redirect.php?licenses;gpl
 
52
*             GNU General Public License 2
 
53
*/
 
54
 
 
55
/* -------------------------------------------------------------------------
 
56
All comments will be removed in the "production" packages (they will be in
 
57
all development packets)
 
58
------------------------------------------------------------------------- */
 
59
 
 
60
//j// Basic configuration
 
61
 
 
62
/* -------------------------------------------------------------------------
 
63
Direct calls will be honored with an "exit ()"
 
64
------------------------------------------------------------------------- */
 
65
 
 
66
if (!defined ("direct_product_iversion")) { exit (); }
 
67
 
 
68
//j// Script specific commands
 
69
 
 
70
if (!isset ($direct_settings['account_pms'])) { $direct_settings['account_pms'] = false; }
 
71
if (!isset ($direct_settings['account_pms_https_view'])) { $direct_settings['account_pms_https_view'] = false; }
 
72
if (!isset ($direct_settings['account_pms_messages_max'])) { $direct_settings['account_pms_messages_max'] = 50; }
 
73
if (!isset ($direct_settings['account_pms_messages_per_page'])) { $direct_settings['account_pms_messages_per_page'] = 20; }
 
74
if (!isset ($direct_settings['serviceicon_account_pms_box_in'])) { $direct_settings['serviceicon_account_pms_box_in'] = "mini_default_option.png"; }
 
75
if (!isset ($direct_settings['serviceicon_account_pms_box_out'])) { $direct_settings['serviceicon_account_pms_box_out'] = "mini_default_option.png"; }
 
76
if (!isset ($direct_settings['serviceicon_account_pms_delete'])) { $direct_settings['serviceicon_account_pms_delete'] = "mini_default_option.png"; }
 
77
if (!isset ($direct_settings['serviceicon_account_pms_new'])) { $direct_settings['serviceicon_account_pms_new'] = "mini_default_option.png"; }
 
78
if (!isset ($direct_settings['serviceicon_account_pms_reply'])) { $direct_settings['serviceicon_account_pms_reply'] = "mini_default_option.png"; }
 
79
if (!isset ($direct_settings['serviceicon_default_back'])) { $direct_settings['serviceicon_default_back'] = "mini_default_back.png"; }
 
80
$direct_settings['additional_copyright'][] = array ("Module account_pms #echo(sWGaccountPmsVersion)# - (C) ","http://www.direct-netware.de/redirect.php?swg","direct Netware Group"," - All rights reserved");
 
81
 
 
82
if ($direct_settings['a'] == "index") { $direct_settings['a'] = "box"; }
 
83
//j// BOS
 
84
switch ($direct_settings['a'])
 
85
{
 
86
//j// $direct_settings['a'] == "box"
 
87
case "box":
 
88
{
 
89
        if (USE_debug_reporting) { direct_debug (1,"sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
 
90
 
 
91
        $g_box_id_d = (isset ($direct_settings['dsd']['abox_d']) ? ($direct_classes['basic_functions']->inputfilter_basic ($direct_settings['dsd']['abox_d'])) : "in");
 
92
        $direct_cachedata['output_box'] = (isset ($direct_settings['dsd']['abox']) ? ($direct_classes['basic_functions']->inputfilter_basic ($direct_settings['dsd']['abox'])) : $g_box_id_d);
 
93
        $direct_cachedata['output_page'] = (isset ($direct_settings['dsd']['page']) ? ($direct_classes['basic_functions']->inputfilter_number ($direct_settings['dsd']['page'])) : 1);
 
94
 
 
95
        $direct_cachedata['page_this'] = "m=account&s=pms&a=box&dsd=abox+{$direct_cachedata['output_box']}++page+".$direct_cachedata['output_page'];
 
96
        $direct_cachedata['page_backlink'] = "m=account&a=services";
 
97
        $direct_cachedata['page_homelink'] = "m=account&a=services";
 
98
 
 
99
        if ($direct_classes['kernel']->service_init_default ())
 
100
        {
 
101
        if ($direct_settings['account_pms'])
 
102
        {
 
103
        if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']))
 
104
        {
 
105
        //j// BOA
 
106
        direct_output_related_manager ("account_pms_box_".$direct_cachedata['output_box'],"pre_module_service_action");
 
107
        $direct_classes['kernel']->service_https ($direct_settings['account_pms_https_view'],$direct_cachedata['page_this']);
 
108
        $direct_classes['basic_functions']->require_file ($direct_settings['path_system']."/classes/dhandler/swg_account_pms_box.php");
 
109
        $direct_classes['basic_functions']->require_file ($direct_settings['path_system']."/classes/dhandler/swg_account_pms_message.php");
 
110
        $direct_classes['basic_functions']->require_file ($direct_settings['path_system']."/classes/dhandler/swg_datalinker_uhome.php");
 
111
        direct_local_integration ("account_pms");
 
112
 
 
113
        direct_class_init ("output");
 
114
        $direct_classes['output']->servicemenu ("account_pms");
 
115
 
 
116
        $direct_classes['output']->options_insert (2,"servicemenu","m=account&a=services",(direct_local_get ("core_back")),$direct_settings['serviceicon_default_back'],"url0");
 
117
 
 
118
        $g_box_object = NULL;
 
119
        $g_datalinker_object = new direct_datalinker_uhome ();
 
120
 
 
121
        if ($g_datalinker_object)
 
122
        {
 
123
                if ($g_datalinker_object->get ($direct_settings['user']['id']))
 
124
                {
 
125
                        switch ($direct_cachedata['output_box'])
 
126
                        {
 
127
                        case "in":
 
128
                        {
 
129
                                $g_box_type = 1;
 
130
                                break 1;
 
131
                        }
 
132
                        case "out":
 
133
                        {
 
134
                                $g_box_type = 2;
 
135
                                break 1;
 
136
                        }
 
137
                        default:
 
138
                        {
 
139
                                $g_box_type = "";
 
140
 
 
141
$g_datalinker_object->define_extra_conditions (($direct_classes['db']->define_row_conditions_encode ("ddbdatalinker_id",$direct_cachedata['output_box'],"string"))."
 
142
<element2 attribute='ddbdatalinker_type' value='3' type='number' operator='&lt;=' />");
 
143
                        }
 
144
                        }
 
145
 
 
146
                        $g_boxes_array = $g_datalinker_object->get_subs ("direct_account_pms_box","u-".$direct_settings['user']['id'],NULL,"c0a38f7c90c17551fb03dbd2d80f0aba",$g_box_type,0,0,"position-asc");
 
147
                        // md5 ("account_pms")
 
148
 
 
149
                        if ($g_boxes_array)
 
150
                        {
 
151
                                reset ($g_boxes_array);
 
152
                                $g_box_object = current ($g_boxes_array);
 
153
                                if ($g_box_object) { $g_box_array = $g_box_object->get (); }
 
154
                        }
 
155
                }
 
156
        }
 
157
 
 
158
        $direct_cachedata['output_pms_messages'] = array ();
 
159
 
 
160
        if ($g_box_object)
 
161
        {
 
162
                if ($g_box_array['ddbdatalinker_type'] == 1) { $direct_cachedata['output_box'] = "in"; }
 
163
                if ($g_box_array['ddbdatalinker_type'] == 2) { $direct_cachedata['output_box'] = "out"; }
 
164
 
 
165
                if (strlen ($g_box_array['ddbdatalinker_title_alt'])) { $direct_cachedata['output_box_name'] = direct_html_encode_special ($g_box_array['ddbdatalinker_title_alt']); }
 
166
                elseif (strlen ($g_box_array['ddbdatalinker_title'])) { $direct_cachedata['output_box_name'] = direct_html_encode_special ($g_box_array['ddbdatalinker_title']); }
 
167
                else { $direct_cachedata['output_box_name'] = ""; }
 
168
 
 
169
                $direct_cachedata['output_pms_counter'] = $g_box_object->get_messages_since_date (3,0,0,1,"",true,true);
 
170
                $g_box_messages = $g_box_object->get_messages_since_date (3,0,0,1,"",true);
 
171
 
 
172
                $direct_cachedata['output_page_url'] = "m=account&s=pms&a=box&dsd=abox+{$direct_cachedata['output_box']}++";
 
173
                $direct_cachedata['output_pages'] = ceil ($g_box_messages / $direct_settings['account_pms_messages_per_page']);
 
174
                if ($direct_cachedata['output_pages'] < 1) { $direct_cachedata['output_pages'] = 1; }
 
175
 
 
176
                if ((!$direct_cachedata['output_page'])||($direct_cachedata['output_page'] < 1)) { $direct_cachedata['output_page'] = 1; }
 
177
                if ($direct_cachedata['output_page'] > $direct_cachedata['output_pages']) { $direct_cachedata['output_page'] = $direct_cachedata['output_pages']; }
 
178
 
 
179
                if ($g_box_messages)
 
180
                {
 
181
                        $g_offset = (($direct_cachedata['output_page'] - 1) * $direct_settings['account_pms_messages_per_page']);
 
182
                        $g_messages_array = $g_box_object->get_messages (3,$g_offset,$direct_settings['account_pms_messages_per_page']);
 
183
 
 
184
                        if ($g_messages_array)
 
185
                        {
 
186
                                foreach ($g_messages_array as $g_message_object) { $direct_cachedata['output_pms_messages'][] = $g_message_object->parse ("m=account&s=pms&a=[a]&dsd=[oid][page{$direct_cachedata['output_page']}]"); }
 
187
                        }
 
188
                }
 
189
        }
 
190
        else
 
191
        {
 
192
                $g_boxes_array = $g_datalinker_object->get_subs ("direct_account_pms_box","u-".$direct_settings['user']['id'],NULL,"c0a38f7c90c17551fb03dbd2d80f0aba","",0,1,"position-asc");
 
193
                // md5 ("account_pms")
 
194
 
 
195
                if ($g_boxes_array)
 
196
                {
 
197
                        reset ($g_boxes_array);
 
198
                        $g_box_object = current ($g_boxes_array);
 
199
                        $direct_cachedata['output_pms_counter'] = $g_box_object->get_messages_since_date (3,0,0,1,"",true,true);
 
200
                }
 
201
                else { $direct_cachedata['output_pms_counter'] = 0; }
 
202
 
 
203
                $direct_cachedata['output_page'] = 1;
 
204
                $direct_cachedata['output_pages'] = 1;
 
205
 
 
206
        }
 
207
 
 
208
        if ($direct_cachedata['output_box'] != "in") { $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms&a=box&dsd=abox+in",(direct_local_get ("account_pms_box_in")),$direct_settings['serviceicon_account_pms_box_in'],"url0"); }
 
209
        if ($direct_cachedata['output_box'] != "out") { $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms&a=box&dsd=abox+out",(direct_local_get ("account_pms_box_out")),$direct_settings['serviceicon_account_pms_box_out'],"url0"); }
 
210
 
 
211
        if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']) > 1)
 
212
        {
 
213
                $direct_cachedata['output_pms_quota'] = "";
 
214
                $direct_cachedata['output_pms_quota_percentage'] = direct_local_get ("core_unlimited");
 
215
                $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms_control&a=new",(direct_local_get ("account_pms_new")),$direct_settings['serviceicon_account_pms_new'],"url0");
 
216
        }
 
217
        else
 
218
        {
 
219
                $direct_cachedata['output_pms_quota'] = round (($direct_cachedata['output_pms_counter'] / $direct_settings['account_pms_messages_max']),2);
 
220
                $direct_cachedata['output_pms_quota_percentage'] = (($direct_cachedata['output_pms_quota'] * 100)."%");
 
221
                if ($direct_cachedata['output_pms_counter'] < $direct_settings['account_pms_messages_max']) { $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms_control&a=new",(direct_local_get ("account_pms_new")),$direct_settings['serviceicon_account_pms_new'],"url0"); }
 
222
        }
 
223
 
 
224
        switch ($direct_cachedata['output_box'])
 
225
        {
 
226
        case "in":
 
227
        {
 
228
                $direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box_in");
 
229
                break 1;
 
230
        }
 
231
        case "out":
 
232
        {
 
233
                $direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box_out");
 
234
                break 1;
 
235
        }
 
236
        default:
 
237
        {
 
238
                if (!strlen ($direct_cachedata['output_box_name'])) { $direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box"); }
 
239
        }
 
240
        }
 
241
 
 
242
        direct_output_related_manager ("account_pms_box_".$direct_cachedata['output_box'],"post_module_service_action");
 
243
        $direct_classes['output']->oset ("account_pms","box");
 
244
        $direct_classes['output']->header (false,true,$direct_settings['p3p_url'],$direct_settings['p3p_cp']);
 
245
        $direct_classes['output']->page_show ($direct_cachedata['output_box_name']);
 
246
        //j// EOA
 
247
        }
 
248
        else { $direct_classes['error_functions']->error_page ("login","core_access_denied","sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
 
249
        }
 
250
        else { $direct_classes['error_functions']->error_page ("standard","core_service_inactive","sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
 
251
        }
 
252
 
 
253
        $direct_cachedata['core_service_activated'] = true;
 
254
        break 1;
 
255
}
 
256
//j// $direct_settings['a'] == "view"
 
257
case "view":
 
258
{
 
259
        if (USE_debug_reporting) { direct_debug (1,"sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
 
260
 
 
261
        $g_message_id = (isset ($direct_settings['dsd']['amid']) ? ($direct_classes['basic_functions']->inputfilter_basic ($direct_settings['dsd']['amid'])) : "");
 
262
 
 
263
        $direct_cachedata['output_printview'] = (isset ($direct_settings['dsd']['printview']) ? ($direct_classes['basic_functions']->inputfilter_number ($direct_settings['dsd']['printview'])) : "");
 
264
        if (!$direct_cachedata['output_printview']) { $direct_cachedata['output_printview'] = 0; }
 
265
 
 
266
        $direct_cachedata['page_this'] = "m=account&s=pms&a=view&dsd=amid+".$g_message_id;
 
267
        $direct_cachedata['page_backlink'] = "m=account&a=services";
 
268
        $direct_cachedata['page_homelink'] = "m=account&a=services";
 
269
 
 
270
        if ($direct_classes['kernel']->service_init_default ())
 
271
        {
 
272
        if ($direct_settings['account_pms'])
 
273
        {
 
274
        if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']))
 
275
        {
 
276
        //j// BOA
 
277
        $direct_classes['basic_functions']->require_file ($direct_settings['path_system']."/classes/dhandler/swg_account_pms_box.php");
 
278
        $direct_classes['basic_functions']->require_file ($direct_settings['path_system']."/classes/dhandler/swg_account_pms_message.php");
 
279
 
 
280
        $g_message_object = new direct_account_pms_message ();
 
281
 
 
282
        if ($g_message_object) { $g_message_array = $g_message_object->get ($g_message_id,$direct_settings['user']['id']); }
 
283
        else { $g_message_array = NULL; }
 
284
 
 
285
        if ($g_message_array)
 
286
        {
 
287
                $g_box_object = new direct_account_pms_box ();
 
288
                $g_box_array = $g_box_object->get ($g_message_array['ddbdatalinker_id_main'],$direct_settings['user']['id']);
 
289
        }
 
290
        else { $g_box_array = NULL; }
 
291
 
 
292
        if (!is_array ($g_box_array)) { $direct_classes['error_functions']->error_page ("standard","account_pms_mid_invalid","sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
 
293
        else
 
294
        {
 
295
                $direct_cachedata['page_backlink'] = "m=account&s=pms&a=box&dsd=abox+".$g_box_array['ddbdatalinker_id'];
 
296
 
 
297
                direct_output_related_manager ("account_pms_view_{$g_box_array['ddbdatalinker_id']}_".$g_message_id,"pre_module_service_action");
 
298
                $direct_classes['kernel']->service_https ($direct_settings['account_pms_https_view'],$direct_cachedata['page_this']);
 
299
                direct_local_integration ("account_pms");
 
300
 
 
301
                if ($direct_cachedata['output_printview']) { direct_output_theme_subtype ("printview"); }
 
302
                direct_class_init ("output");
 
303
 
 
304
                if ($direct_cachedata['output_printview']) { $direct_classes['output']->options_insert (2,"servicemenu",$direct_cachedata['page_this'],(direct_local_get ("core_back")),$direct_settings['serviceicon_default_back'],"url0"); }
 
305
                else
 
306
                {
 
307
                        $direct_classes['output']->servicemenu ("account_pms");
 
308
 
 
309
                        $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms&a=box&dsd=abox+in",(direct_local_get ("account_pms_box_in")),$direct_settings['serviceicon_account_pms_box_in'],"url0");
 
310
                        $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms&a=box&dsd=abox+out",(direct_local_get ("account_pms_box_out")),$direct_settings['serviceicon_account_pms_box_out'],"url0");
 
311
                        $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms_control&a=delete&dsd=amid+".$g_message_id,(direct_local_get ("account_pms_delete")),$direct_settings['serviceicon_account_pms_delete'],"url0");
 
312
                        $direct_classes['output']->options_insert (2,"servicemenu","m=account&s=pms&a=box&dsd=abox+".$g_box_array['ddbdatalinker_id'],(direct_local_get ("core_back")),$direct_settings['serviceicon_default_back'],"url0");
 
313
                }
 
314
 
 
315
                if (($g_message_array['ddbdatalinker_type'] == 4)&&($g_message_array['ddbdatalinker_position'] > 0))
 
316
                {
 
317
                        $g_message_object->define_read (true);
 
318
                        $g_message_object->update (false,true);
 
319
                }
 
320
 
 
321
                $direct_cachedata['output_pms_counter'] = $g_box_object->get_messages_since_date (3,0,0,1,"",true,true);
 
322
 
 
323
                if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']) > 1) { $g_rights_check = true; }
 
324
                elseif ($direct_cachedata['output_pms_counter'] < $direct_settings['account_pms_messages_max']) { $g_rights_check = true; }
 
325
                else { $g_rights_check = false; }
 
326
 
 
327
                if ($g_rights_check)
 
328
                {
 
329
                        $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms_control&a=reply&dsd=amid+".$g_message_id,(direct_local_get ("account_pms_reply")),$direct_settings['serviceicon_account_pms_reply'],"url0");
 
330
                        $direct_classes['output']->options_insert (1,"servicemenu","m=account&s=pms_control&a=new",(direct_local_get ("account_pms_new")),$direct_settings['serviceicon_account_pms_new'],"url0");
 
331
                }
 
332
 
 
333
                $direct_cachedata['output_message'] = $g_message_object->parse ("m=account&s=pms&a=[a]&dsd=[oid][page]");
 
334
 
 
335
                direct_output_related_manager ("account_pms_view_{$g_box_array['ddbdatalinker_id']}_".$g_message_id,"post_module_service_action");
 
336
                $direct_classes['output']->oset ("account_pms","view");
 
337
                $direct_classes['output']->header (false,true,$direct_settings['p3p_url'],$direct_settings['p3p_cp']);
 
338
                $direct_classes['output']->page_show ($direct_cachedata['output_message']['title']);
 
339
        }
 
340
        //j// EOA
 
341
        }
 
342
        else { $direct_classes['error_functions']->error_page ("login","core_access_denied","sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
 
343
        }
 
344
        else { $direct_classes['error_functions']->error_page ("standard","core_service_inactive","sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
 
345
        }
 
346
 
 
347
        $direct_cachedata['core_service_activated'] = true;
 
348
        break 1;
 
349
}
 
350
//j// EOS
 
351
}
 
352
 
 
353
//j// EOF
 
354
?>
 
 
'\\ No newline at end of file'

Loggerhead 1.17 is a web-based interface for Bazaar branches