Project

General

Profile

1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         account
6
 * @author          Ryan Djurovich, WebsiteBaker Project
7
 * @copyright       2009-2013, WebsiteBaker Org. e.V.
8
 * @link            http://www.websitebaker.org/
9
 * @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: signup_form.php 2063 2014-01-01 02:56:56Z Luisehahne $
13
 * @filesource      $HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/signup_form.php $
14
 * @lastmodified    $Date: 2014-01-01 03:56:56 +0100 (Wed, 01 Jan 2014) $
15
 *
16
 */
17

    
18
/* -------------------------------------------------------- */
19
// Must include code to stop this file being accessed directly
20
if(!defined('WB_PATH')) {
21
	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
22
	throw new IllegalFileException();
23
}
24
/* -------------------------------------------------------- */
25

    
26
// load module language file
27
//$lang = (dirname(__FILE__)) . '/languages/' . LANGUAGE . '.php';
28
//require_once(!file_exists($lang) ? (dirname(__FILE__)) . '/languages/EN.php' : $lang );
29

    
30
require_once(WB_PATH.'/include/captcha/captcha.php');
31
include_once (WB_PATH.'/framework/functions.php');
32

    
33
$mLang = Translate::getinstance();
34
$mLang->enableAddon('account');
35
$oDb  = WbDatabase::getInstance();
36
$oReg = WbAdaptor::getInstance();
37
// default, if no information from client available
38

    
39
$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
if(isset($_POST['action']) && $_POST['action']=='send') {
60
	require(dirname(__FILE__).'/save_signup.php');
61
} else {
62
	$output = '';
63
	msgQueue::clear();
64
	unset($_SESSION['USERNAME']);
65
	unset($_SESSION['LANGUAGE']);
66
	unset($_SESSION['DISPLAY_NAME']);
67
	unset($_SESSION['EMAIL']);
68
	unset($_SESSION['TIMEZONE']);
69
}
70

    
71
if($_SESSION['display_form'])
72
{
73
// 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

    
80
	$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
        'CSS_BLOCK'	=> $sIncludeHeadLinkCss,
86
		'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
87
		'MESSAGE_VALUE' => '',
88
		'ERROR_VALUE' => '',
89
		'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
		)
95
	);
96

    
97
	$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
		'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
		)
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
		'DISPLAY_USER' => $wb->get_session('USERNAME'),
134
		'DISPLAY_NAME' => $wb->get_session('DISPLAY_NAME'),
135
		'EMAIL' => $wb->get_session('EMAIL'),
136
		)
137
	);
138

    
139
// read available languages from table addons
140
    $aLangAddons = $admin->getAvailableLanguages();
141

    
142
// default, if no information from client available
143
//    $sAutoLanguage = 'EN';
144
// detect client language
145
//    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

    
153
    //$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
//  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
// 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
//    	$oTpl->parse('CSS_BLOCK', $sIncludeHeadLinkCss);
178
		$oTpl->set_var(array(
179
				'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
				)
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
					'TEXT_VERIFICATION' => $mLang->TEXT_VERIFICATION,
193
					'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
//	$oTpl->parse('CSS_BLOCK', $sIncludeHeadLinkCss);
215
	// 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
			'BACK' => $mLang->TEXT_BACK,
226
			'HTTP_REFERER' => isset($_SESSION['HTTP_REFERER']) ? $_SESSION['HTTP_REFERER'] : WB_URL,
227
			)
228
		);
229

    
230
	if(CONFIRMED_REGISTRATION) {
231
		$sMessage  = $mLang->MESSAGE_SIGNUP2_SUBJECT_NEW_USER.' ';
232
		$sMessage .= $mLang->MESSAGE_SIGNUP_CONFIRMED_REGISTRATION;
233
		$oTpl->set_var('MESSAGE',$sMessage);
234
	} else {
235
		$sMessage  = $mLang->MESSAGE_SIGNUP2_SUBJECT_NEW_USER.' ';
236
		$sMessage .= $mLang->MESSAGE_SIGNUP_REGISTRATION;
237
		$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
}
(21-21/22)