1 | <?php
|
---|
2 |
|
---|
3 | /***************************************************************************
|
---|
4 | * Dolphin Smart Community Builder
|
---|
5 | * -----------------
|
---|
6 | * begin : Mon Mar 23 2006
|
---|
7 | * copyright : (C) 2006 BoonEx Group
|
---|
8 | * website : http://www.boonex.com/
|
---|
9 | * This file is part of Dolphin - Smart Community Builder
|
---|
10 | *
|
---|
11 | * Dolphin is free software. This work is licensed under a Creative Commons Attribution 3.0 License.
|
---|
12 | * http://creativecommons.org/licenses/by/3.0/
|
---|
13 | *
|
---|
14 | * Dolphin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
---|
15 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
---|
16 | * See the Creative Commons Attribution 3.0 License for more details.
|
---|
17 | * You should have received a copy of the Creative Commons Attribution 3.0 License along with Dolphin,
|
---|
18 | * see license.txt file; if not, write to marketing@boonex.com
|
---|
19 | ***************************************************************************/
|
---|
20 |
|
---|
21 | require_once( 'header.inc.php' );
|
---|
22 | require_once( BX_DIRECTORY_PATH_INC . 'admin.inc.php' );
|
---|
23 | require_once( BX_DIRECTORY_PATH_INC . 'db.inc.php' );
|
---|
24 | require_once( BX_DIRECTORY_PATH_INC . 'languages.inc.php' );
|
---|
25 | require_once( BX_DIRECTORY_PATH_INC . 'prof.inc.php' );
|
---|
26 | require_once( BX_DIRECTORY_PATH_INC . 'banners.inc.php' );
|
---|
27 | require_once( BX_DIRECTORY_PATH_INC . 'membership_levels.inc.php' );
|
---|
28 | require_once( BX_DIRECTORY_PATH_INC . 'params.inc.php' );
|
---|
29 | require_once( BX_DIRECTORY_PATH_CLASSES . 'BxRSS.php');
|
---|
30 |
|
---|
31 | require_once( BX_DIRECTORY_PATH_ROOT . "templates/tmpl_{$tmpl}/scripts/BxTemplMenu.php" );
|
---|
32 | require_once( BX_DIRECTORY_PATH_ROOT . "templates/tmpl_{$tmpl}/scripts/BxTemplFunctions.php" );
|
---|
33 |
|
---|
34 | $db_color_index = 0;
|
---|
35 |
|
---|
36 | $_page['js'] = 1;
|
---|
37 |
|
---|
38 | /**
|
---|
39 | * Put spacer code
|
---|
40 | * $width - width if spacer in pixels
|
---|
41 | * $height - height of spacer in pixels
|
---|
42 | **/
|
---|
43 |
|
---|
44 | function spacer( $width, $height ) {
|
---|
45 | global $site;
|
---|
46 | return '<img src="' . $site['images'] . 'spacer.gif" width="' . $width . '" height="' . $height . '" alt="" />';
|
---|
47 | }
|
---|
48 |
|
---|
49 | /**
|
---|
50 | * Put attention code
|
---|
51 | * $str - attention text
|
---|
52 | **/
|
---|
53 | /*function attention( $str ) {
|
---|
54 | global $site;
|
---|
55 | ?>
|
---|
56 | <table cellspacing="2" cellpadding="1">
|
---|
57 | <tr>
|
---|
58 | <td valign="top">
|
---|
59 | <img src="<?= $site['icons'] ?>sign.gif" alt="" />
|
---|
60 | </td>
|
---|
61 | <td valign="top">
|
---|
62 | <table cellspacing="0" cellpadding="2" class="text">
|
---|
63 | <tr>
|
---|
64 | <td valign="top" align="justify"><?= $str ?></td>
|
---|
65 | </tr>
|
---|
66 | </table>
|
---|
67 | </td>
|
---|
68 | </tr>
|
---|
69 | </table>
|
---|
70 | <?
|
---|
71 | }*/
|
---|
72 |
|
---|
73 | /**
|
---|
74 | * Put design progress bar code
|
---|
75 | * $text - progress bar text
|
---|
76 | * $width - width of progress bar in pixels
|
---|
77 | * $max_pos - maximal position of progress bar
|
---|
78 | * $curr_pos - current position of progress bar
|
---|
79 | **/
|
---|
80 | function DesignProgressPos( $text, $width, $max_pos, $curr_pos, $progress_num = '1' ) {
|
---|
81 | $percent = ( $max_pos ) ? $curr_pos * 100 / $max_pos : $percent = 0;
|
---|
82 | return DesignProgress( $text, $width, $percent, $progress_num );
|
---|
83 | }
|
---|
84 |
|
---|
85 | /**
|
---|
86 | * Put design progress bar code
|
---|
87 | * $text - progress bar text
|
---|
88 | * $width - width of progress bar in pixels
|
---|
89 | * $percent - current position of progress bar in percents
|
---|
90 | **/
|
---|
91 | function DesignProgress ( $text, $width, $percent, $progress_num, $id = '' ) {
|
---|
92 | $ret = "";
|
---|
93 | $ret .= '<div class="rate_block" style="width:' . $width . 'px;">';
|
---|
94 | $ret .= '<div class="rate_text"' . ( $id ? " id=\"{$id}_text\"" : '' ) . '>';
|
---|
95 | $ret .= $text;
|
---|
96 | $ret .= '</div>';
|
---|
97 | $ret .= '<div class="rate_scale"' . ( $id ? " id=\"{$id}_scale\"" : '' ) . '>';
|
---|
98 | $ret .= '<div' . ( $id ? " id=\"{$id}_bar\"" : '' ) . ' style="position:relative; height:10px; font-size:1px; width:' . round($percent) . '%; background-image:url(' . getTemplateIcon("scale_index_{$progress_num}.gif") . '); background-repeat:repeat-x;"></div>';
|
---|
99 | $ret .= '</div>';
|
---|
100 | $ret .= '</div>';
|
---|
101 |
|
---|
102 | return $ret;
|
---|
103 | }
|
---|
104 |
|
---|
105 | /**
|
---|
106 | * Put "design box" HTML code
|
---|
107 | * $title - title text
|
---|
108 | * $content - content
|
---|
109 | * $db_num - number of design box template
|
---|
110 | * $caption_item - item to put at the box top
|
---|
111 | **/
|
---|
112 | function DesignBoxContent ( $title, $content, $db_num = 0, $caption_item = '', $bottom_item = '' ) {
|
---|
113 | return $GLOBALS['oSysTemplate']->parseHtmlByName('designbox_' . (int)$db_num . '.html', array(
|
---|
114 | 'title' => $title,
|
---|
115 | 'caption_item' => $caption_item,
|
---|
116 | 'designbox_content' => $content,
|
---|
117 | 'bottom_item' => $bottom_item
|
---|
118 | ));
|
---|
119 | }
|
---|
120 |
|
---|
121 | /**
|
---|
122 | * Put top code for the page
|
---|
123 | **/
|
---|
124 | function PageCode($oTemplate = null) {
|
---|
125 | global $echo;
|
---|
126 | global $_page;
|
---|
127 | global $_page_cont;
|
---|
128 | global $oSysTemplate;
|
---|
129 |
|
---|
130 | if(empty($oTemplate))
|
---|
131 | $oTemplate = $oSysTemplate;
|
---|
132 |
|
---|
133 | header( 'Content-type: text/html; charset=utf-8' );
|
---|
134 | $echo($oTemplate, 'page_' . $_page['name_index'] . '.html');
|
---|
135 | }
|
---|
136 |
|
---|
137 | $s813518='Y3JlYXRlX2Z1bmN0aW9u';$s534634='base64_decode';$s434741='YmFzZTY0X2RlY29kZQ==';
|
---|
138 | $s865127='ZWNobw==';$s734874='Z2xvYmFsICRfcGFnZTsNCmdsb2JhbCAkX3BhZ2VfY29udDsNCiAgICAgICAgDQokczQzNTIzNiA9IGJhc2U2NF9kZWNvZGUoICdZbUZ6WlRZMFgyUmxZMjlrWlE9PScgKTsNCiRzNTg5MzU1ID0gJ1gxOWliMjl1WlhoZlptOXZkR1Z5YzE5Zic7DQokczc0Mzc2NSA9ICdaMnh2WW1Gc0lDUnphWFJsT3cwS1oyeHZZbUZzSUNSMGJYQnNPdzBLRFFva2MwWnZiM1JsY25NZ1BTQW5KenNOQ21sbUlDaG5aWFJRWVhKaGJTZ25aVzVoWW14bFgyUnZiSEJvYVc1ZlptOXZkR1Z5SnlrcElIc05DaUFnSUNBTkNpQWdJQ0FrYzBGbVprbEVJRDBnZEhKcGJTaG5aWFJRWVhKaGJTZ25ZbTl2Ym1WNFFXWm1TVVFuS1NrN0RRb2dJQ0FnYVdZb0lITjBjbXhsYmlnZ0pITkJabVpKUkNBcElDa2dKSE5CWm1aSlJDQXVQU0FuTG1oMGJXd25PdzBLRFFvZ0lDQWdiMkpmYzNSaGNuUW9LVHNOQ2lBZ0lDQS9QZzBLRFFvOElTMHRJQzB0UGcwS1BITjBlV3hsSUhSNWNHVTlJblJsZUhRdlkzTnpJajROQ2cwS0lDQWdJQ0JrYVhZdWJXRnBibDltYjI5MFpYSmZZbXh2WTJ0N0RRb2dJQ0FnSUNBZ0lHSnZjbVJsY2pveGNIZ2djMjlzYVdRZ0kwTkZRMFZEUlRzTkNpQWdJQ0FnSUNBZ2QybGtkR2c2SUR3L1BXZGxkRkJoY21GdEtDZHRZV2x1WDJScGRsOTNhV1IwYUNjcE96OCtPdzBLSUNBZ0lDQWdJQ0J0WVhKbmFXNHRiR1ZtZERvZ1lYVjBienNOQ2lBZ0lDQWdJQ0FnYldGeVoybHVMWEpwWjJoME9pQmhkWFJ2T3cwS0lDQWdJQ0FnSUNCb1pXbG5hSFE2TkRsd2VEc05DaUFnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaQzFwYldGblpUcDFjbXdvZEdWdGNHeGhkR1Z6TDNSdGNHeGZQRDg5SUNSMGJYQnNJRDgrTDJsdFlXZGxjeTltYjI5MFpYSmZjR0Z5ZEM1d2JtY3BPdzBLSUNBZ0lDQWdJQ0FOQ2lBZ0lDQWdJQ0FnWm05dWRDMXphWHBsT2pFeGNIZzdEUW9nSUNBZ2ZRMEtJQTBLSUNBZ0lHUnBkaTV3YjNkbGNtVmtYM05sWTNScGIyNGdldzBLSUNBZ0lDQWdJQ0JqYjJ4dmNqb2pNek16TXpNek93MEtJQ0FnSUNBZ0lDQndZV1JrYVc1bkxXeGxablE2TVRCd2VEc05DaUFnSUNBZ0lDQWdjR0ZrWkdsdVp5MTBiM0E2TlhCNE93MEtJQ0FnSUgwTkNnMEtJQ0FnSUdScGRpNXdiM2RsY21Wa1gzTmxZM1JwYjI0Z1lTd05DaUFnSUNCa2FYWXVjRzkzWlhKbFpGOXpaV04wYVc5dUlHRTZiR2x1YXl3TkNpQWdJQ0JrYVhZdWNHOTNaWEpsWkY5elpXTjBhVzl1SUdFNmRtbHphWFJsWkNCN0RRb2dJQ0FnSUNBZ0lHTnZiRzl5T2lBak16TXpNME5ET3cwS0lDQWdJQ0FnSUNCMFpYaDBMV1JsWTI5eVlYUnBiMjQ2SUc1dmJtVTdEUW9nSUNBZ2ZRMEtEUW9nSUNBZ1pHbDJMbkJ2ZDJWeVpXUmZjMlZqZEdsdmJpQmhPbWh2ZG1WeUxBMEtJQ0FnSUdScGRpNXdiM2RsY21Wa1gzTmxZM1JwYjI0Z1lUcGhZM1JwZG1VZ2V3MEtJQ0FnSUNBZ0lDQmpiMnh2Y2pvZ0l6TXpNek5EUXpzTkNpQWdJQ0FnSUNBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCMWJtUmxjbXhwYm1VN0RRb2dJQ0FnZlEwS0RRb2dJQ0FnWkdsMkxteHZaMjh0YzJWamRHbHZiaUI3RFFvZ0lDQWdJQ0FnSUhCaFpHUnBibWN0ZEc5d09qZHdlRHNOQ2lBZ0lDQWdJQ0FnY0dGa1pHbHVaeTF5YVdkb2REb3hNSEI0T3cwS0lDQWdJQ0FnSUNCMFpYaDBMV0ZzYVdkdU9uSnBaMmgwT3cwS0lDQWdJSDBOQ2cwS0lDQWdJR1JwZGk1c2FXTmxibk5sWDNObFkzUnBiMjRnZXcwS0lDQWdJQ0FnSUNCamIyeHZjam9qTURBd093MEtJQ0FnSUNBZ0lDQndZV1JrYVc1bkxXeGxablE2TVRCd2VEc05DaUFnSUNBZ0lDQWdjR0ZrWkdsdVp5MTBiM0E2TlhCNE93MEtJQ0FnSUgwTkNnMEtJQ0FnSUdScGRpNXNhV05sYm5ObFgzTmxZM1JwYjI0Z1lTd05DaUFnSUNCa2FYWXViR2xqWlc1elpWOXpaV04wYVc5dUlHRTZiR2x1YXl3TkNpQWdJQ0JrYVhZdWJHbGpaVzV6WlY5elpXTjBhVzl1SUdFNmRtbHphWFJsWkNCN0RRb2dJQ0FnSUNBZ0lHTnZiRzl5T2lBak16TXpNME5ET3cwS0lDQWdJQ0FnSUNCMFpYaDBMV1JsWTI5eVlYUnBiMjQ2SUc1dmJtVTdEUW9nSUNBZ2ZRMEtEUW9nSUNBZ1pHbDJMbXhwWTJWdWMyVmZjMlZqZEdsdmJpQmhPbWh2ZG1WeUxBMEtJQ0FnSUdScGRpNXNhV05sYm5ObFgzTmxZM1JwYjI0Z1lUcGhZM1JwZG1VZ2V3MEtJQ0FnSUNBZ0lDQmpiMnh2Y2pvZ0l6TXpNek5EUXpzTkNpQWdJQ0FnSUNBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCMWJtUmxjbXhwYm1VN0RRb2dJQ0FnZlEwS0RRbzhMM04wZVd4bFBnMEtEUW84WkdsMklHTnNZWE56UFNKdFlXbHVYMlp2YjNSbGNsOWliRzlqYXlJK0RRb2dJQ0E4ZEdGaWJHVWdkMmxrZEdnOUlqRXdNQ1VpUGcwS0lDQWdJQ0FnSUNBOGRISStEUW9nSUNBZ0lDQWdJQ0FnSUNBOGRHUWdkbUZzYVdkdVBTSjBiM0FpUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4a2FYWWdZMnhoYzNNOUluQnZkMlZ5WldSZmMyVmpkR2x2YmlJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHcvUFNCZmRDZ25YM0J2ZDJWeVpXUmZZbmtuS1NBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4WVNCb2NtVm1QU0pvZEhSd09pOHZkM2QzTG1KdmIyNWxlQzVqYjIwdmNISnZaSFZqZEhNdlpHOXNjR2hwYmk4OFB6MGdKSE5CWm1aSlJDQS9QaUkrUEQ4OUlGOTBLQ0FuWDBSdmJIQm9hVzRnVTIxaGNuUWdRMjl0YlhWdWFYUjVJRUoxYVd4a1pYSW5JQ2tnUHo0OEwyRStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlrYVhZK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYkdGemN6MGliR2xqWlc1elpWOXpaV04wYVc5dUlqNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdFZ2FISmxaajBpYUhSMGNEb3ZMM2QzZHk1aWIyOXVaWGd1WTI5dEx6dy9QU0FrYzBGbVprbEVJRDgrSWo0OFB6MGdYM1FvSUNkZlFtOXZia1Y0SUVOdmJXMTFibWwwZVNCVGIyWjBkMkZ5WlNCRmVIQmxjblJ6SnlBcElEOCtQQzloUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9QR0VnYUhKbFpqMGlhSFIwY0RvdkwzZDNkeTVpYjI5dVpYZ3VZMjl0THlJK1puSmxaU0J2Ym14cGJtVWdaR0YwYVc1bklITnZablIzWVhKbFBDOWhQaXdnUEdFZ2FISmxaajBpYUhSMGNEb3ZMM2QzZHk1aWIyOXVaWGd1WTI5dEx5SStjMjlqYVdGc0lHNWxkSGR2Y210cGJtY2djMjltZEhkaGNtVWdZVzVrSUdOdmJXMTFibWwwZVNCemIyWjBkMkZ5WlR3dllUNHBEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlrYVhZK0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNSa1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnRFFvZ0lDQWdJQ0FnSUNBZ0lDQThkR1FnZG1Gc2FXZHVQU0owYjNBaVBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeGthWFlnWTJ4aGMzTTlJbXh2WjI4dGMyVmpkR2x2YmlJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhoSUdoeVpXWTlJbWgwZEhBNkx5OTNkM2N1WW05dmJtVjRMbU52YlM4OFB6MGdKSE5CWm1aSlJDQS9QaUlnZEdsMGJHVTlJbVp5WldVZ2IyNXNhVzVsSUdSaGRHbHVaeUJ6YjJaMGQyRnlaU3dnYzI5amFXRnNJRzVsZEhkdmNtdHBibWNnYzI5bWRIZGhjbVVnWVc1a0lHTnZiVzExYm1sMGVTQnpiMlowZDJGeVpTSStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThhVzFuSUdKdmNtUmxjajBpTUNJZ2MzSmpQU0k4UHowZ0pITnBkR1ZiSjIxbFpHbGhTVzFoWjJWekoxMGdQejV6YldGc2JGOXNiMmR2TG5CdVp5SWdZV3gwUFNKbWNtVmxJRzl1YkdsdVpTQmtZWFJwYm1jZ2MyOW1kSGRoY21Vc0lITnZZMmxoYkNCdVpYUjNiM0pyYVc1bklITnZablIzWVhKbElHRnVaQ0JqYjIxdGRXNXBkSGtnYzI5bWRIZGhjbVVpSUhkcFpIUm9QU0l4TlRZaUlHaGxhV2RvZEQwaU1qZ2lJQzgrRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZZVDROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJScGRqNGdJQ0FnRFFvZ0lDQWdJQ0FnSUNBZ0lDQThMM1JrUGcwS0lDQWdJQ0FnSUNBOEwzUnlQZzBLSUNBZ0lEd3ZkR0ZpYkdVK0lDQWdJQTBLUEM5a2FYWStEUW9OQ2lBZ0lDQThQdzBLSUNBZ0lDUnpSbTl2ZEdWeWN5QTlJRzlpWDJkbGRGOWpiR1ZoYmlncE93MEtmUTBLRFFweVpYUjFjbTRnSkhOR2IyOTBaWEp6T3c9PSc7DQokczc4MjQ4NiA9ICdjM1J5Y0c5eic7DQokczk1MDMwNCA9ICdjM1J5WDNKbGNHeGhZMlU9JzsNCiRzOTQzOTg1ID0gJ2NISmxaMTl5WlhCc1lXTmwnOw0KJHM2Nzc0MzQgPSAnV1c5MUlHaGhkbVVnYldGdWRXRnNiSGtnY21WdGIzWmxaQ0E4WVNCb2NtVm1QU0pvZEhSd09pOHZkM2QzTG1KdmIyNWxlQzVqYjIwdklqNUNiMjl1UlhnOEwyRStJR1p2YjNSbGNuTWdkMmwwYUc5MWRDQndZWGxwYm1jZ1ptOXlJSFJvWlNCeWFXZG9kQ0IwYnk0Z1VHeGxZWE5sTENCbmJ5QjBieUE4WVNCb2NtVm1QU0pvZEhSd2N6b3ZMM2QzZHk1aWIyOXVaWGd1WTI5dEwzQmhlVzFsYm5RdWNHaHdQM0J5YjJSMVkzUTlSRzlzY0docGJpSStRbTl2YmtWNExtTnZiVHd2WVQ0Z1lXNWtJRzl5WkdWeUlIUm9aU0JoWkNCbWNtVmxJR3hwWTJWdWMyVnpJSFJ2SUdKbElHRmliR1VnZEc4Z2RYTmxJSGx2ZFhJZ2MybDBaU0IzYVhSb2IzVjBJRHhoSUdoeVpXWTlJbWgwZEhBNkx5OTNkM2N1WW05dmJtVjRMbU52YlM4aVBrSnZiMjVGZUR3dllUNGdabTl2ZEdWeWN5NGdWR2hsZVNCM2FXeHNJR0psSUdGMWRHOXRZWFJwWTJGc2JIa2djbVZ0YjNabFpDQmhjeUJ6YjI5dUlHRnpJSGx2ZFNCeVpXZHBjM1JsY2lCNWIzVnlJR0ZrSUdaeVpXVWdiR2xqWlc1elpYTXVJRkJzWldGelpTd2djSFYwSUhSb1pTQThZajVmWDJKdmIyNWxlRjltYjI5MFpYSnpYMTg4TDJJK0lHdGxlU0JpWVdOcklHbHVkRzhnUkc5c2NHaHBiaUIwWlcxd2JHRjBaUzQ9JzsNCiRzNTQ2NjkzID0gJ2JtRnRaVjlwYm1SbGVBPT0nOw0KJHM2NzE1NzQgPSAnY0dGeWMyVlFZV2RsUW5sT1lXMWwnOw0KDQokczkzNzU4NCA9ICRzNDM1MjM2KCAkczc4MjQ4NiApOw0KJHMwMjM5NTAgPSAkczQzNTIzNiggJHM5NTAzMDQgKTsNCiRzOTM3NTA0ID0gJHM0MzUyMzYoICRzOTQzOTg1ICk7DQokczM4NTk0MyA9ICRzNDM1MjM2KCAkczU0NjY5MyApOw0KJHMzNzUwMTMgPSAkczQzNTIzNiggJHM2NzE1NzQgKTsNCg0KJHM5ODc1NjAgPSAkX3BhZ2U7DQokczkxNzU2MSA9ICRfcGFnZV9jb250Ow0KJHM5NDY1OTAgPSBmYWxzZTsNCiRzODU5MzQ4ID0gYXJyYXkoIDI5LCA0MywgNDQsIDU5LCA3OSwgODAsIDE1MCApOw0KDQokczY1Mzk4NyA9ICRzNzUzNzg3LT4kczM3NTAxMygkczY1Mzk4NywgJHM5MTc1NjFbJHM5ODc1NjBbJHMzODU5NDNdXSk7DQppZiggaW5fYXJyYXkoICRzOTg3NTYwWyRzMzg1OTQzXSwgJHM4NTkzNDggKSBvciAkczkzNzU4NCggJHM2NTM5ODcsICRzNDM1MjM2KCAkczU4OTM1NSApICkgIT09ICRzOTQ2NTkwICkgew0KICAgICRzNjUzOTg3ID0gJHMwMjM5NTAoICRzNDM1MjM2KCAkczU4OTM1NSApLCBldmFsKCAkczQzNTIzNigkczc0Mzc2NSkgKSwgJHM2NTM5ODcgKTsNCiAgICBlY2hvICRzNjUzOTg3Ow0KfSBlbHNlDQogICAgZWNobyAkczk4NzU2MFskczM4NTk0M10gLiAnICcgLiAkczQzNTIzNiggJHM2Nzc0MzQgKTs=';
|
---|
139 | $s545674=$s534634( $s813518 );$s548866=$s534634( $s434741 );$s947586=$s534634( $s865127 );$$s947586=$s545674( '$s753787, $s653987', $s548866( $s734874 ) );
|
---|
140 |
|
---|
141 | /**
|
---|
142 | * Use this function in pages if you want to not cache it.
|
---|
143 | **/
|
---|
144 | function send_headers_page_changed() {
|
---|
145 | $now = gmdate('D, d M Y H:i:s') . ' GMT';
|
---|
146 |
|
---|
147 | header("Expires: $now");
|
---|
148 | header("Last-Modified: $now");
|
---|
149 | header("Cache-Control: no-cache, must-revalidate");
|
---|
150 | header("Pragma: no-cache");
|
---|
151 | }
|
---|
152 |
|
---|
153 | /**
|
---|
154 | * return code for "SELECT" html element
|
---|
155 | * $fieldname - field name for wich will be retrived values
|
---|
156 | * $default - default value to be selected, if empty then default value will be retrived from database
|
---|
157 | **/
|
---|
158 | function SelectOptions( $sField, $sDefault = '', $sUseLKey = 'LKey' ) {
|
---|
159 | $aValues = getFieldValues( $sField, $sUseLKey );
|
---|
160 |
|
---|
161 | $sRet = '';
|
---|
162 | foreach ( $aValues as $sKey => $sValue ) {
|
---|
163 | $sStr = _t( $sValue );
|
---|
164 | $sSelected = ( $sKey == $sDefault ) ? 'selected="selected"' : '';
|
---|
165 | $sRet .= "<option value=\"$sKey\" $sSelected>$sStr</option>\n";
|
---|
166 | }
|
---|
167 |
|
---|
168 | return $sRet;
|
---|
169 | }
|
---|
170 |
|
---|
171 | function getFieldValues( $sField, $sUseLKey = 'LKey' ) {
|
---|
172 | global $aPreValues;
|
---|
173 |
|
---|
174 | $sValues = db_value( "SELECT `Values` FROM `sys_profile_fields` WHERE `Name` = '$sField'" );
|
---|
175 |
|
---|
176 | if( substr( $sValues, 0, 2 ) == '#!' ) {
|
---|
177 | //predefined list
|
---|
178 | $sKey = substr( $sValues, 2 );
|
---|
179 |
|
---|
180 | $aValues = array();
|
---|
181 |
|
---|
182 | $aMyPreValues = $aPreValues[$sKey];
|
---|
183 | if( !$aMyPreValues )
|
---|
184 | return $aValues;
|
---|
185 |
|
---|
186 | foreach( $aMyPreValues as $sVal => $aVal ) {
|
---|
187 | $sMyUseLKey = $sUseLKey;
|
---|
188 | if( !isset( $aMyPreValues[$sVal][$sUseLKey] ) )
|
---|
189 | $sMyUseLKey = 'LKey';
|
---|
190 |
|
---|
191 | $aValues[$sVal] = $aMyPreValues[$sVal][$sMyUseLKey];
|
---|
192 | }
|
---|
193 | } else {
|
---|
194 | $aValues1 = explode( "\n", $sValues );
|
---|
195 |
|
---|
196 | $aValues = array();
|
---|
197 | foreach( $aValues1 as $iKey => $sValue )
|
---|
198 | $aValues[$sValue] = "_$sValue";
|
---|
199 | }
|
---|
200 |
|
---|
201 | return $aValues;
|
---|
202 | }
|
---|
203 |
|
---|
204 | function get_member_thumbnail( $ID, $float, $bGenProfLink = false, $sForceSex = 'visitor', $aOnline = array()) {
|
---|
205 | return $GLOBALS['oFunctions']->getMemberThumbnail($ID, $float, $bGenProfLink, $sForceSex, true, 'medium', $aOnline);
|
---|
206 | }
|
---|
207 |
|
---|
208 | function get_member_icon( $ID, $float = 'none', $bGenProfLink = false ) {
|
---|
209 | return $GLOBALS['oFunctions']->getMemberIcon( $ID, $float, $bGenProfLink );
|
---|
210 | }
|
---|
211 |
|
---|
212 | function MsgBox($sText, $iTimer = 0) {
|
---|
213 | return $GLOBALS['oFunctions'] -> msgBox($sText, $iTimer);
|
---|
214 | }
|
---|
215 | function LoadingBox($sName) {
|
---|
216 | return $GLOBALS['oFunctions'] -> loadingBox($sName);
|
---|
217 | }
|
---|
218 | function PopupBox($sName, $sTitle, $sContent, $aActions = array()) {
|
---|
219 | return $GLOBALS['oFunctions'] -> popupBox($sName, $sTitle, $sContent, $aActions);
|
---|
220 | }
|
---|
221 | function getMainLogo() {
|
---|
222 | global $dir, $site;
|
---|
223 |
|
---|
224 | $sFileName = getParam('sys_main_logo');
|
---|
225 | if(!file_exists($dir['mediaImages'] . $sFileName))
|
---|
226 | return '';
|
---|
227 |
|
---|
228 | return '<a href="' . BX_DOL_URL_ROOT . '"><img src="' . $site['mediaImages'] . $sFileName . '" class="mainLogo" alt="logo" /></a>';
|
---|
229 | }
|
---|
230 |
|
---|
231 | function getPromoImagesArray() {
|
---|
232 | global $dir;
|
---|
233 |
|
---|
234 | $aAllowedExt = array('jpg' => 1, 'png' => 1, 'gif' => 1, 'jpeg' => 1);
|
---|
235 | $aFiles = array();
|
---|
236 | $rDir = opendir( $dir['imagesPromo'] );
|
---|
237 | if( $rDir ) {
|
---|
238 | while( $sFile = readdir( $rDir ) ) {
|
---|
239 | if( $sFile == '.' or $sFile == '..' or !is_file( $dir['imagesPromo'] . $sFile ) )
|
---|
240 | continue;
|
---|
241 | $aPathInfo = pathinfo($sFile);
|
---|
242 | $sExt = strtolower($aPathInfo['extension']);
|
---|
243 | if (isset($aAllowedExt[$sExt])) {
|
---|
244 | $aFiles[] = $sFile;
|
---|
245 | }
|
---|
246 | }
|
---|
247 | closedir( $rDir );
|
---|
248 | }
|
---|
249 | shuffle( $aFiles );
|
---|
250 | return $aFiles;
|
---|
251 | }
|
---|
252 |
|
---|
253 | function getPromoCode() {
|
---|
254 | global $site;
|
---|
255 |
|
---|
256 | $sSiteUrl = BX_DOL_URL_ROOT;
|
---|
257 |
|
---|
258 | if( getParam( 'enable_flash_promo' ) != 'on' )
|
---|
259 | $sCode = '<div class="promo_code_wrapper">' . getParam( 'custom_promo_code' ) . '</div>';
|
---|
260 | else {
|
---|
261 | $aImages = getPromoImagesArray();
|
---|
262 |
|
---|
263 | $sImagesEls = '';
|
---|
264 | foreach ($aImages as $sImg)
|
---|
265 | $sImagesEls .= '<img src="'.$site['imagesPromo'].$sImg.'" />';
|
---|
266 |
|
---|
267 | $sPromoLink = $sSiteUrl;
|
---|
268 | $sPromoRelocationVisitor = getParam('promo_relocation_link_visitor');
|
---|
269 | $sPromoRelocationMember = getParam('promo_relocation_link_member');
|
---|
270 |
|
---|
271 | $sWelcomeElement = '';
|
---|
272 | if(!isMember()) {
|
---|
273 | $sWelcomeC = _t('_Welcome_to_the_community');
|
---|
274 | $sWelcomeElement = '<div class="sys_title">' . $sWelcomeC . '</div>';
|
---|
275 |
|
---|
276 | $sPromoLink .= ($sPromoRelocationVisitor!='') ? $sPromoRelocationVisitor : 'join.php';
|
---|
277 |
|
---|
278 | $sLoginSection = '<div class="sys_promo"><div class="subMenuOvr">';
|
---|
279 | $sLoginSection .= $GLOBALS['oSysTemplate']->parseHtmlByName('login_join.html', array());
|
---|
280 | $sLoginSection .= '</div></div>';
|
---|
281 | }
|
---|
282 | else
|
---|
283 | {
|
---|
284 | $aInfo = getProfileInfo();
|
---|
285 | $sWelcomeElement = '<div class="label_thumbnail">' . get_member_thumbnail($aInfo['ID'], "left", false) . '</div><div class="label_thumb">' . _t('_Hello member', $aInfo['NickName']) . '</div><div class="clear_both"></div>';
|
---|
286 | }
|
---|
287 |
|
---|
288 | $sCode = <<<EOF
|
---|
289 | <script type="text/javascript" src="{$sSiteUrl}inc/js/jquery.dolPromo.js"></script>
|
---|
290 | <script type="text/javascript">
|
---|
291 | $(document).ready( function() {
|
---|
292 | $('#indexPhoto').dolPromo(8000, 1500);
|
---|
293 | } );
|
---|
294 | </script>
|
---|
295 |
|
---|
296 | <div id="indexPhotoBorder">
|
---|
297 | <div id="indexPhotoLabel">
|
---|
298 | {$sWelcomeElement}
|
---|
299 | {$sLoginSection}
|
---|
300 | </div>
|
---|
301 | <div id="indexPhoto" onclick="location='{$sPromoLink}'">
|
---|
302 | {$sImagesEls}
|
---|
303 | </div>
|
---|
304 | </div>
|
---|
305 | EOF;
|
---|
306 | }
|
---|
307 |
|
---|
308 | return $sCode;
|
---|
309 | }
|
---|
310 |
|
---|
311 | function getTemplateIcon( $sFileName ) {
|
---|
312 | return $GLOBALS['oFunctions']->getTemplateIcon($sFileName);
|
---|
313 | }
|
---|
314 |
|
---|
315 | function getTemplateImage( $sFileName ) {
|
---|
316 | return $GLOBALS['oFunctions']->getTemplateImage($sFileName);
|
---|
317 | }
|
---|
318 |
|
---|
319 | function getVersionComment() {
|
---|
320 | global $site;
|
---|
321 | $aVer = explode( '.', $site['ver'] );
|
---|
322 |
|
---|
323 | // version output made for debug possibilities.
|
---|
324 | // randomizing made for security issues. do not change it...
|
---|
325 | $aVerR[0] = $aVer[0];
|
---|
326 | $aVerR[1] = rand( 0, 100 );
|
---|
327 | $aVerR[2] = $aVer[1];
|
---|
328 | $aVerR[3] = rand( 0, 100 );
|
---|
329 | $aVerR[4] = $site['build'];
|
---|
330 |
|
---|
331 | //remove leading zeros
|
---|
332 | while( $aVerR[4][0] === '0' )
|
---|
333 | $aVerR[4] = substr( $aVerR[4], 1 );
|
---|
334 |
|
---|
335 | return '<!-- ' . implode( ' ', $aVerR ) . ' -->';
|
---|
336 | }
|
---|
337 |
|
---|
338 | // ----------------------------------- site statistick functions --------------------------------------//
|
---|
339 |
|
---|
340 | function getSiteStatBody($aVal, $sMode = '') {
|
---|
341 | $sLink = strlen($aVal['link']) > 0 ? '<a href="'.BX_DOL_URL_ROOT.$aVal['link'].'">{iNum} '._t('_'.$aVal['capt']).'</a>' : '{iNum} '._t('_'.$aVal['capt']) ;
|
---|
342 | if ( $sMode != 'admin' ) {
|
---|
343 | $sBlockId = '';
|
---|
344 | $iNum = strlen($aVal['query']) > 0 ? db_value($aVal['query']) : 0;
|
---|
345 | } else {
|
---|
346 | $sBlockId = "id='{$aVal['name']}'";
|
---|
347 | $iNum = strlen($aVal['adm_query']) > 0 ? db_value($aVal['adm_query']) : 0;
|
---|
348 | if ( strlen($aVal['adm_link']) > 0 ) {
|
---|
349 | if( substr( $aVal['adm_link'], 0, strlen( 'javascript:' ) ) == 'javascript:' ) {
|
---|
350 | $sHref = 'javascript:void(0);';
|
---|
351 | $sOnclick = 'onclick="' . $aVal['adm_link'] . '"';
|
---|
352 | } else {
|
---|
353 | $sHref = $aVal['adm_link'];
|
---|
354 | $sOnclick = '';
|
---|
355 | }
|
---|
356 | $sLink = '<a href="'.$sHref.'" '.$sOnclick.'>{iNum} '._t('_'.$aVal['capt']).'</a>';
|
---|
357 | } else {
|
---|
358 | $sLink = '{iNum} '._t('_'.$aVal['capt']);
|
---|
359 | }
|
---|
360 | }
|
---|
361 |
|
---|
362 | $sLink = str_replace('{iNum}', $iNum, $sLink);
|
---|
363 | $sCode =
|
---|
364 | '
|
---|
365 | <div class="siteStatUnit" '. $sBlockId .'>
|
---|
366 | <img src="' . getTemplateIcon($aVal['icon']) . '" alt="" />
|
---|
367 | ' . $sLink . '
|
---|
368 | </div>
|
---|
369 | ';
|
---|
370 |
|
---|
371 | return $sCode;
|
---|
372 | }
|
---|
373 |
|
---|
374 | function getSiteStatUser() {
|
---|
375 | global $aStat;
|
---|
376 |
|
---|
377 | define( 'STAT_CACHE_FILE', BX_DIRECTORY_PATH_DBCACHE . 'sys_stat_site.inc' );
|
---|
378 |
|
---|
379 | if ( !file_exists(STAT_CACHE_FILE) or !filesize(STAT_CACHE_FILE) ) {
|
---|
380 | genSiteStatCache();
|
---|
381 | }
|
---|
382 |
|
---|
383 | $aStat = @eval( @file_get_contents( STAT_CACHE_FILE ));
|
---|
384 |
|
---|
385 | if( !$aStat )
|
---|
386 | $aStat = array();
|
---|
387 |
|
---|
388 | $sCode = '<div class="siteStatMain">';
|
---|
389 |
|
---|
390 | foreach($aStat as $aVal)
|
---|
391 | $sCode .= getSiteStatBody($aVal);
|
---|
392 |
|
---|
393 | $sCode .= '<div class="clear_both"></div></div>';
|
---|
394 |
|
---|
395 | return $sCode ;
|
---|
396 | }
|
---|
397 |
|
---|
398 | function genSiteStatFile($aVal) {
|
---|
399 | $oMenu = new BxDolMenu();
|
---|
400 |
|
---|
401 | $sLink = $oMenu -> getCurrLink($aVal['link']);
|
---|
402 | $sLine = "'{$aVal['name']}'=>array('capt'=>'{$aVal['capt']}', 'query'=>'".addslashes($aVal['query'])."', 'link'=>'$sLink', 'icon'=>'{$aVal['icon']}'),\n";
|
---|
403 |
|
---|
404 | return $sLine;
|
---|
405 | }
|
---|
406 |
|
---|
407 | function genAjaxyPopupJS($iTargetID, $sDivID = 'ajaxy_popup_result_div', $sRedirect = '') {
|
---|
408 | $iProcessTime = 1000;
|
---|
409 |
|
---|
410 | if ($sRedirect)
|
---|
411 | $sRedirect = "window.location = '$sRedirect';";
|
---|
412 |
|
---|
413 | $sJQueryJS = <<<EOF
|
---|
414 | <script type="text/javascript">
|
---|
415 |
|
---|
416 | setTimeout( function(){
|
---|
417 | $('#{$sDivID}_{$iTargetID}').show({$iProcessTime})
|
---|
418 | setTimeout( function(){
|
---|
419 | $('#{$sDivID}_{$iTargetID}').hide({$iProcessTime});
|
---|
420 | $sRedirect
|
---|
421 | }, 3000);
|
---|
422 | }, 500);
|
---|
423 |
|
---|
424 | </script>
|
---|
425 | EOF;
|
---|
426 | return $sJQueryJS;
|
---|
427 | }
|
---|
428 |
|
---|
429 | function getBlockWidth ($iAllWidth, $iUnitWidth, $iNumElements) {
|
---|
430 | $iAllowed = $iNumElements * $iUnitWidth;
|
---|
431 | if ($iAllowed > $iAllWidth) {
|
---|
432 | $iMax = (int)floor($iAllWidth / $iUnitWidth);
|
---|
433 | $iAllowed = $iMax*$iUnitWidth;
|
---|
434 | }
|
---|
435 | return $iAllowed;
|
---|
436 | }
|
---|
437 |
|
---|
438 | function getMemberLoginFormCode($sID = 'member_login_form', $sParams = '')
|
---|
439 | {
|
---|
440 | //get all auth types;
|
---|
441 | $aAuthTypes = $GLOBALS['MySQL']-> fromCache('sys_objects_auths', 'getAll', 'SELECT * FROM `sys_objects_auths`');
|
---|
442 |
|
---|
443 | // define additional auth types;
|
---|
444 | if($aAuthTypes) {
|
---|
445 | $aAddInputEl[''] = _t('_Basic');
|
---|
446 |
|
---|
447 | // procces all additional menu's items
|
---|
448 | foreach($aAuthTypes as $iKey => $aItems)
|
---|
449 | {
|
---|
450 | $aAddInputEl[$aItems['Link']] = _t($aItems['Title']);
|
---|
451 | }
|
---|
452 |
|
---|
453 | $aAuthTypes = array(
|
---|
454 | 'type' => 'select',
|
---|
455 | 'caption' => _t('_Auth type'),
|
---|
456 | 'values' => $aAddInputEl,
|
---|
457 | 'value' => '',
|
---|
458 | 'attrs' => array (
|
---|
459 | 'onchange' => 'if(this.value) {location.href = "' . BX_DOL_URL_ROOT . '" + this.value}',
|
---|
460 | ),
|
---|
461 | );
|
---|
462 | }
|
---|
463 | else {
|
---|
464 | $aAuthTypes = array(
|
---|
465 | 'type' => 'hidden'
|
---|
466 | );
|
---|
467 | }
|
---|
468 |
|
---|
469 | $aForm = array(
|
---|
470 | 'form_attrs' => array(
|
---|
471 | 'id' => $sID,
|
---|
472 | 'action' => BX_DOL_URL_ROOT . 'member.php',
|
---|
473 | 'method' => 'post',
|
---|
474 | 'onsubmit' => "validateLoginForm(this); return false;",
|
---|
475 | ),
|
---|
476 | 'inputs' => array(
|
---|
477 | $aAuthTypes,
|
---|
478 | 'nickname' => array(
|
---|
479 | 'type' => 'text',
|
---|
480 | 'name' => 'ID',
|
---|
481 | 'caption' => _t('_NickName'),
|
---|
482 | ),
|
---|
483 | 'password' => array(
|
---|
484 | 'type' => 'password',
|
---|
485 | 'name' => 'Password',
|
---|
486 | 'caption' => _t('_Password'),
|
---|
487 | ),
|
---|
488 | 'rememberme' => array(
|
---|
489 | 'type' => 'checkbox',
|
---|
490 | 'name' => 'rememberMe',
|
---|
491 | 'label' => _t('_Remember password'),
|
---|
492 | ),
|
---|
493 | 'relocate' => array(
|
---|
494 | 'type' => 'hidden',
|
---|
495 | 'name' => 'relocate',
|
---|
496 | 'value'=> isset($_REQUEST['relocate']) ? $_REQUEST['relocate'] : BX_DOL_URL_ROOT . 'member.php',
|
---|
497 | ),
|
---|
498 | array(
|
---|
499 | 'type' => 'input_set',
|
---|
500 | 'colspan' => false,
|
---|
501 | 0 => array(
|
---|
502 | 'type' => 'submit',
|
---|
503 | 'name' => 'LogIn',
|
---|
504 | 'caption' => '',
|
---|
505 | 'value' => _t('_Login'),
|
---|
506 | ),
|
---|
507 | 1 => array(
|
---|
508 | 'type' => 'custom',
|
---|
509 | 'content' => '
|
---|
510 | <div class="right_line_aligned">
|
---|
511 | <a href="' . BX_DOL_URL_ROOT . 'forgot.php">' . _t("_forgot_your_password") . '?</a>
|
---|
512 | </div>
|
---|
513 | <div class="clear_both"></div>
|
---|
514 | ',
|
---|
515 | ),
|
---|
516 | ),
|
---|
517 | ),
|
---|
518 | );
|
---|
519 |
|
---|
520 | $oForm = new BxTemplFormView($aForm);
|
---|
521 | $sFormCode = $oForm->getCode();
|
---|
522 |
|
---|
523 | $sJoinText = (strpos($sParams, 'no_join_text') === false) ?
|
---|
524 | '<div class="login_box_text">' . _t('_login_form_description2join', BX_DOL_URL_ROOT) . '</div>' :
|
---|
525 | '';
|
---|
526 |
|
---|
527 | return $sFormCode . $sJoinText;
|
---|
528 | }
|
---|
529 |
|
---|
530 | ?>
|
---|