5
----------------------------------------------------------------------------
7
net-based application engine
8
----------------------------------------------------------------------------
9
(C) direct Netware Group - All rights reserved
10
http://www.direct-netware.de/redirect.php?swg
12
The following license agreement remains valid unless any additions or
13
changes are being made by direct Netware Group in a written form.
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.
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
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
----------------------------------------------------------------------------
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
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
48
* @subpackage account_pms
49
* @uses direct_product_iversion
51
* @license http://www.direct-netware.de/redirect.php?licenses;gpl
52
* GNU General Public License 2
55
/* -------------------------------------------------------------------------
56
All comments will be removed in the "production" packages (they will be in
57
all development packets)
58
------------------------------------------------------------------------- */
60
//j// Basic configuration
62
/* -------------------------------------------------------------------------
63
Direct calls will be honored with an "exit ()"
64
------------------------------------------------------------------------- */
66
if (!defined ("direct_product_iversion")) { exit (); }
68
//j// Script specific commands
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");
82
if ($direct_settings['a'] == "index") { $direct_settings['a'] = "box"; }
84
switch ($direct_settings['a'])
86
//j// $direct_settings['a'] == "box"
89
if (USE_debug_reporting) { direct_debug (1,"sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
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);
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";
99
if ($direct_classes['kernel']->service_init_default ())
101
if ($direct_settings['account_pms'])
103
if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']))
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");
113
direct_class_init ("output");
114
$direct_classes['output']->servicemenu ("account_pms");
116
$direct_classes['output']->options_insert (2,"servicemenu","m=account&a=services",(direct_local_get ("core_back")),$direct_settings['serviceicon_default_back'],"url0");
118
$g_box_object = NULL;
119
$g_datalinker_object = new direct_datalinker_uhome ();
121
if ($g_datalinker_object)
123
if ($g_datalinker_object->get ($direct_settings['user']['id']))
125
switch ($direct_cachedata['output_box'])
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='<=' />");
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")
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 (); }
158
$direct_cachedata['output_pms_messages'] = array ();
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"; }
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'] = ""; }
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);
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; }
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']; }
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']);
184
if ($g_messages_array)
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']}]"); }
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")
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);
201
else { $direct_cachedata['output_pms_counter'] = 0; }
203
$direct_cachedata['output_page'] = 1;
204
$direct_cachedata['output_pages'] = 1;
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"); }
211
if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']) > 1)
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");
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"); }
224
switch ($direct_cachedata['output_box'])
228
$direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box_in");
233
$direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box_out");
238
if (!strlen ($direct_cachedata['output_box_name'])) { $direct_cachedata['output_box_name'] = direct_local_get ("account_pms_box"); }
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']);
248
else { $direct_classes['error_functions']->error_page ("login","core_access_denied","sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
250
else { $direct_classes['error_functions']->error_page ("standard","core_service_inactive","sWG/#echo(__FILEPATH__)# _a=box_ (#echo(__LINE__)#)"); }
253
$direct_cachedata['core_service_activated'] = true;
256
//j// $direct_settings['a'] == "view"
259
if (USE_debug_reporting) { direct_debug (1,"sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
261
$g_message_id = (isset ($direct_settings['dsd']['amid']) ? ($direct_classes['basic_functions']->inputfilter_basic ($direct_settings['dsd']['amid'])) : "");
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; }
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";
270
if ($direct_classes['kernel']->service_init_default ())
272
if ($direct_settings['account_pms'])
274
if ($direct_classes['kernel']->v_usertype_get_int ($direct_settings['user']['type']))
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");
280
$g_message_object = new direct_account_pms_message ();
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; }
285
if ($g_message_array)
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']);
290
else { $g_box_array = NULL; }
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__)#)"); }
295
$direct_cachedata['page_backlink'] = "m=account&s=pms&a=box&dsd=abox+".$g_box_array['ddbdatalinker_id'];
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");
301
if ($direct_cachedata['output_printview']) { direct_output_theme_subtype ("printview"); }
302
direct_class_init ("output");
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"); }
307
$direct_classes['output']->servicemenu ("account_pms");
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");
315
if (($g_message_array['ddbdatalinker_type'] == 4)&&($g_message_array['ddbdatalinker_position'] > 0))
317
$g_message_object->define_read (true);
318
$g_message_object->update (false,true);
321
$direct_cachedata['output_pms_counter'] = $g_box_object->get_messages_since_date (3,0,0,1,"",true,true);
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; }
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");
333
$direct_cachedata['output_message'] = $g_message_object->parse ("m=account&s=pms&a=[a]&dsd=[oid][page]");
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']);
342
else { $direct_classes['error_functions']->error_page ("login","core_access_denied","sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
344
else { $direct_classes['error_functions']->error_page ("standard","core_service_inactive","sWG/#echo(__FILEPATH__)# _a=view_ (#echo(__LINE__)#)"); }
347
$direct_cachedata['core_service_activated'] = true;
'\\ No newline at end of file'