Project

General

Profile

1 1420 Luisehahne
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         account
6 1773 Luisehahne
 * @author          Ryan Djurovich, WebsiteBaker Project
7 1898 Luisehahne
 * @copyright       2009-2013, WebsiteBaker Org. e.V.
8
 * @link            http://www.websitebaker.org/
9 1420 Luisehahne
 * @license         http://www.gnu.org/licenses/gpl.html
10
 * @platform        WebsiteBaker 2.8.x
11
 * @requirements    PHP 5.2.2 and higher
12
 * @version         $Id$
13 1898 Luisehahne
 * @filesource      $HeadURL$
14 1420 Luisehahne
 * @lastmodified    $Date$
15
 *
16
 */
17
18 1773 Luisehahne
/* -------------------------------------------------------- */
19
// Must include code to stop this file being accessed directly
20 1777 Luisehahne
if(!defined('WB_PATH')) {
21
	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
22
	throw new IllegalFileException();
23 1773 Luisehahne
}
24
/* -------------------------------------------------------- */
25 1420 Luisehahne
26 1673 Luisehahne
// load module language file
27 1924 darkviper
//$lang = (dirname(__FILE__)) . '/languages/' . LANGUAGE . '.php';
28
//require_once(!file_exists($lang) ? (dirname(__FILE__)) . '/languages/EN.php' : $lang );
29 1673 Luisehahne
30 1420 Luisehahne
require_once(WB_PATH.'/include/captcha/captcha.php');
31 1673 Luisehahne
include_once (WB_PATH.'/framework/functions.php');
32 1420 Luisehahne
33 2091 darkviper
$mLang = Translate::getInstance();
34 1924 darkviper
$mLang->enableAddon('account');
35 2063 Luisehahne
$oDb  = WbDatabase::getInstance();
36
$oReg = WbAdaptor::getInstance();
37
// default, if no information from client available
38 1773 Luisehahne
39 2063 Luisehahne
$aLangAddons = array();
40
$aLangBrowser = array();
41
$sAutoLanguage = 'EN';
42
// detect client language
43
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
44
	if(preg_match('/([a-z]{2})(?:-[a-z]{2})*/i', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']), $matches)) {
45
		$sAutoLanguage = strtoupper($matches[1]);
46
	}
47
}
48
49
$sAutoLanguage=($wb->get_session('LANGUAGE')) ? $_SESSION['LANGUAGE'] : $sAutoLanguage;
50
if(!defined('LANGUAGE')) { define('LANGUAGE',$sAutoLanguage);}
51
52
$sIncludeHeadLinkCss = '';
53
if( is_readable(WB_PATH .'/account/frontend.css')) {
54
	$sIncludeHeadLinkCss .= '<link href="'.WB_URL.'/account/frontend.css"';
55
	$sIncludeHeadLinkCss .= ' rel="stylesheet" type="text/css" media="screen" />'."\n";
56
    print $sIncludeHeadLinkCss;
57
}
58
59 1773 Luisehahne
if(isset($_POST['action']) && $_POST['action']=='send') {
60
	require(dirname(__FILE__).'/save_signup.php');
61
} else {
62
	$output = '';
63
	msgQueue::clear();
64 1777 Luisehahne
	unset($_SESSION['USERNAME']);
65
	unset($_SESSION['LANGUAGE']);
66 1773 Luisehahne
	unset($_SESSION['DISPLAY_NAME']);
67 1777 Luisehahne
	unset($_SESSION['EMAIL']);
68
	unset($_SESSION['TIMEZONE']);
69 1420 Luisehahne
}
70
71 1792 Luisehahne
if($_SESSION['display_form'])
72
{
73 1773 Luisehahne
// set template file and assign module and template block
74
	$oTpl = new Template(dirname(__FILE__).'/htt','keep');
75
	$oTpl->set_file('page', 'signup.htt');
76
	$oTpl->debug = false; // false, true
77
	$oTpl->set_block('page', 'main_block', 'main');
78
// generell vars
79 2063 Luisehahne
80 1773 Luisehahne
	$oTpl->set_var(array(
81
		'FTAN' => $wb->getFTAN(),
82
		'ACTION_URL' => WB_URL.'/account/signup.php',
83
		'WB_URL' => WB_URL,
84
		'THEME_URL' => THEME_URL,
85 1792 Luisehahne
        'CSS_BLOCK'	=> $sIncludeHeadLinkCss,
86 1773 Luisehahne
		'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
87
		'MESSAGE_VALUE' => '',
88
		'ERROR_VALUE' => '',
89 1924 darkviper
		'HEADING_SIGNUP' => $mLang->TEXT_SIGNUP,
90
		'TEXT_LANGUAGE' => $mLang->TEXT_LANGUAGE,
91
		'TEXT_SIGNUP' => $mLang->TEXT_SIGNUP,
92
		'TEXT_RESET' => $mLang->TEXT_RESET,
93
		'TEXT_CANCEL' => $mLang->TEXT_CANCEL,
94 1773 Luisehahne
		)
95
	);
96 1673 Luisehahne
97 1773 Luisehahne
	$sSelected = ' selected="selected"';
98
	$checked   = ' checked="checked"';
99
// show messages, default block off
100
	$oTpl->set_block('main_block', 'message_block', 'message');
101
	$oTpl->parse('message', '');
102
	if( ($msg = msgQueue::getError()) != '')
103
	{
104
		$output = $wb->format_message($msg, 'error');
105
		$oTpl->set_var('MESSAGE_VALUE',$output);
106
		$oTpl->parse('message', 'message_block', true);
107
	}
108
	$oTpl->set_var('MESSAGE','');
109
110
// show captcha
111
	$oTpl->set_block('main_block', 'asp_block', 'asp');
112
	if(ENABLED_ASP) {
113
		$oTpl->set_var('DISPLAY_ASP','nixhier');
114
		$oTpl->parse('asp', 'asp_block', true);
115
	} else {
116
		$oTpl->parse('asp', '', true);
117
	}
118
119
// login label vars
120
	$oTpl->set_var(array(
121 1924 darkviper
		'TEXT_INFO' => $mLang->TEXT_INFO,
122
		'TEXT_USERNAME' => $mLang->TEXT_USERNAME,
123
		'TEXT_DISPLAY_NAME' => $mLang->TEXT_DISPLAY_NAME,
124
		'TEXT_EMAIL' => $mLang->TEXT_EMAIL,
125 1773 Luisehahne
		)
126
	);
127
128
// set data vars stored in session if validation failed
129
	$iTime = time();
130
	$_SESSION['submitted_when'] = $iTime;
131
	$oTpl->set_var(array(
132
		'SET_TIME' => $iTime,
133 1777 Luisehahne
		'DISPLAY_USER' => $wb->get_session('USERNAME'),
134
		'DISPLAY_NAME' => $wb->get_session('DISPLAY_NAME'),
135
		'EMAIL' => $wb->get_session('EMAIL'),
136 1773 Luisehahne
		)
137
	);
138
139 1792 Luisehahne
// read available languages from table addons
140 1987 Luisehahne
    $aLangAddons = $admin->getAvailableLanguages();
141 1792 Luisehahne
142
// default, if no information from client available
143 2063 Luisehahne
//    $sAutoLanguage = 'EN';
144 1773 Luisehahne
// detect client language
145 2063 Luisehahne
//    if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
146
//    	if(preg_match('/([a-z]{2})(?:-[a-z]{2})*/i', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']), $matches)) {
147
//    		$sAutoLanguage = strtoupper($matches[1]);
148
//    	}
149
//    }
150
//
151
//    $sAutoLanguage=($wb->get_session('LANGUAGE')) ? $_SESSION['LANGUAGE'] : $sAutoLanguage;
152 1773 Luisehahne
153 1987 Luisehahne
    //$sAutoLanguage = 'NL';
154
    $aLangUsed = array_flip(explode(',',$wb->getLanguagesInUsed()));
155
    $aLangUsed = array_intersect_key($aLangAddons, $aLangUsed);
156
    if( (sizeof($aLangUsed)<2) || !($oReg->PageLanguages) ){
157
        $aLangUsed =  $aLangAddons;
158
    }
159
    $sAutoLanguage = array_key_exists($sAutoLanguage,$aLangUsed) ? $sAutoLanguage : DEFAULT_LANGUAGE;
160 1792 Luisehahne
//  read available languages from table addons and assign it to the template
161
    $oTpl->set_block('main_block', 'language_list_block', 'language_list');
162
    foreach( $aLangUsed as $sDirectory => $aName  )
163
    {
164
        $langIcons = ( empty($sDirectory) ? 'none' : strtolower($sDirectory));
165
        $oTpl->set_var('CODE',        $sDirectory );
166
        $oTpl->set_var('NAME',        $aName );
167
        $oTpl->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons );
168
        $oTpl->set_var('SELECTED',    ( $sAutoLanguage == $sDirectory ? ' selected="selected"' : '') );
169
        $oTpl->parse('language_list', 'language_list_block', true);
170
    }
171
172 1773 Luisehahne
// if type == confirmed_registration mail show password block, otherwise old login with captcha
173
	$oTpl->set_block('main_block', 'password_block', 'password');
174
	$oTpl->set_block('main_block', 'captcha_block', 'captcha');
175
	if(CONFIRMED_REGISTRATION) {
176
		$oTpl->parse('captcha', '', true);
177 2063 Luisehahne
//    	$oTpl->parse('CSS_BLOCK', $sIncludeHeadLinkCss);
178 1773 Luisehahne
		$oTpl->set_var(array(
179 1924 darkviper
				'TEXT_NEW_PASSWORD' => $mLang->TEXT_NEW_PASSWORD,
180
				'TEXT_RETYPE_NEW_PASSWORD' => $mLang->TEXT_RETYPE_NEW_PASSWORD,
181
				'HELP_SIGNUP_REMEMBER_PASSWORD' => $mLang->HELP_SIGNUP_REMEMBER_PASSWORD,
182 1773 Luisehahne
				)
183
			);
184
		$oTpl->parse('password', 'password_block',true);
185
	} else {
186
		$oTpl->parse('password', '');
187
		if(ENABLED_CAPTCHA) {
188
			ob_start();
189
			call_captcha();
190
			$captcha = ob_get_clean();
191
			$oTpl->set_var(array(
192 1924 darkviper
					'TEXT_VERIFICATION' => $mLang->TEXT_VERIFICATION,
193 1773 Luisehahne
					'CAPTCHA' => $captcha,
194
					)
195
				);
196
			$oTpl->parse('captcha', 'captcha_block', true);
197
		} else {
198
			$oTpl->parse('captcha', '', true);
199
		}
200
	}
201
202
	// Parse template object
203
	$oTpl->parse('main', 'main_block', false);
204
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
205
	unset($oTpl);
206
	print $output;
207
	$output = '';
208
} else {
209
	// success registration output
210
	$oTpl = new Template(dirname(__FILE__).'/htt','keep');
211
	$oTpl->set_file('page', 'success.htt');
212
	$oTpl->debug = false; // false, true
213
	$oTpl->set_block('page', 'main_block', 'main');
214 2063 Luisehahne
//	$oTpl->parse('CSS_BLOCK', $sIncludeHeadLinkCss);
215 1773 Luisehahne
	// show messages, default block off
216
	$oTpl->set_block('main_block', 'show_registration_block', 'message');
217
	$oTpl->parse('message', '');
218
	if( ($msg = msgQueue::getSuccess()) != '')
219
	{
220
		$output = $wb->format_message($msg, 'ok');
221
		$oTpl->set_var('MESSAGE_VALUE',$output);
222
		$oTpl->parse('message', 'show_registration_block', true);
223
	}
224
	$oTpl->set_var(array(
225 1924 darkviper
			'BACK' => $mLang->TEXT_BACK,
226 1773 Luisehahne
			'HTTP_REFERER' => isset($_SESSION['HTTP_REFERER']) ? $_SESSION['HTTP_REFERER'] : WB_URL,
227
			)
228
		);
229
230
	if(CONFIRMED_REGISTRATION) {
231 1924 darkviper
		$sMessage  = $mLang->MESSAGE_SIGNUP2_SUBJECT_NEW_USER.' ';
232
		$sMessage .= $mLang->MESSAGE_SIGNUP_CONFIRMED_REGISTRATION;
233 1773 Luisehahne
		$oTpl->set_var('MESSAGE',$sMessage);
234
	} else {
235 1924 darkviper
		$sMessage  = $mLang->MESSAGE_SIGNUP2_SUBJECT_NEW_USER.' ';
236
		$sMessage .= $mLang->MESSAGE_SIGNUP_REGISTRATION;
237 1773 Luisehahne
		$oTpl->set_var('MESSAGE',$sMessage);
238
	}
239
	//$oTpl->parse('message', 'message_block', true);
240
	$oTpl->parse('main', 'main_block', false);
241
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
242
	unset($oTpl);
243
	print $output;
244 1673 Luisehahne
}