Project

General

Profile

1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         account
6
 * @author          Ryan Djurovich, WebsiteBaker Project
7
 * @copyright       2009-2012, WebsiteBaker Org. e.V.
8
 * @link			http://www.websitebaker2.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 1777 2012-10-01 16:16:26Z Luisehahne $
13
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/signup_form.php $
14
 * @lastmodified    $Date: 2012-10-01 18:16:26 +0200 (Mon, 01 Oct 2012) $
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

    
32
include_once (WB_PATH.'/framework/functions.php');
33

    
34
$mLang = ModLanguage::getInstance();
35
$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
36

    
37
//echo '<style type="text/css">';
38
//include(WB_PATH .'/account/frontend.css');
39
//echo "\n</style>\n";
40

    
41
if(isset($_POST['action']) && $_POST['action']=='send') {
42
	require(dirname(__FILE__).'/save_signup.php');
43
} else {
44
	$output = '';
45
	msgQueue::clear();
46
	unset($_SESSION['USERNAME']);
47
	unset($_SESSION['LANGUAGE']);
48
	unset($_SESSION['DISPLAY_NAME']);
49
	unset($_SESSION['EMAIL']);
50
	unset($_SESSION['TIMEZONE']);
51
}
52

    
53
if($_SESSION['display_form']){
54

    
55
// set template file and assign module and template block
56
	$oTpl = new Template(dirname(__FILE__).'/htt','keep');
57
	$oTpl->set_file('page', 'signup.htt');
58
	$oTpl->debug = false; // false, true
59
	$oTpl->set_block('page', 'main_block', 'main');
60
// generell vars
61
	$oTpl->set_var(array(
62
		'FTAN' => $wb->getFTAN(),
63
		'ACTION_URL' => WB_URL.'/account/signup.php',
64
		'WB_URL' => WB_URL,
65
		'THEME_URL' => THEME_URL,
66
		'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
67
		'MESSAGE_VALUE' => '',
68
		'ERROR_VALUE' => '',
69
		'HEADING_SIGNUP' => $TEXT['SIGNUP'],
70
		'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
71
		'TEXT_SIGNUP' => $TEXT['SIGNUP'],
72
		'TEXT_RESET' => $TEXT['RESET'],
73
		'TEXT_CANCEL' => $TEXT['CANCEL'],
74
		)
75
	);
76

    
77
	$sSelected = ' selected="selected"';
78
	$checked   = ' checked="checked"';
79
// show messages, default block off
80
	$oTpl->set_block('main_block', 'message_block', 'message');
81
	$oTpl->parse('message', '');
82
	if( ($msg = msgQueue::getError()) != '')
83
	{
84
		$output = $wb->format_message($msg, 'error');
85
		$oTpl->set_var('MESSAGE_VALUE',$output);
86
		$oTpl->parse('message', 'message_block', true);
87
	}
88
	$oTpl->set_var('MESSAGE','');
89

    
90
// show captcha
91
	$oTpl->set_block('main_block', 'asp_block', 'asp');
92
	if(ENABLED_ASP) {
93
		$oTpl->set_var('DISPLAY_ASP','nixhier');
94
		$oTpl->parse('asp', 'asp_block', true);
95
	} else {
96
		$oTpl->parse('asp', '', true);
97
	}
98

    
99
// login label vars
100
	$oTpl->set_var(array(
101
		'TEXT_INFO' => $SFS_TEXT['INFO'],
102
		'TEXT_USERNAME' => $TEXT['USERNAME'],
103
		'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
104
		'TEXT_EMAIL' => $TEXT['EMAIL'],
105
		)
106
	);
107

    
108
// set data vars stored in session if validation failed
109
	$iTime = time();
110
	$_SESSION['submitted_when'] = $iTime;
111
	$oTpl->set_var(array(
112
		'SET_TIME' => $iTime,
113
		'DISPLAY_USER' => $wb->get_session('USERNAME'),
114
		'DISPLAY_NAME' => $wb->get_session('DISPLAY_NAME'),
115
		'EMAIL' => $wb->get_session('EMAIL'),
116
		)
117
	);
118

    
119
// detect client language
120
	$oTpl->set_block('main_block', 'language_list_block', 'language_list');
121
	$sAutoLanguage = DEFAULT_LANGUAGE; // default, if no information from client available
122
	if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
123
		if(preg_match('/([a-z]{2})(?:-[a-z]{2})*/i', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']), $matches)) {
124
			$sAutoLanguage = strtoupper($matches[1]);
125
		}
126
	}
127
	$sAutoLanguage = isset($_SESSION['LANGUAGE']) ? $_SESSION['LANGUAGE'] : $sAutoLanguage;
128
	// Insert language values
129
	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
130
	$sql .= 'WHERE `type` = \'language\' ';
131
//	$sql .= 'AND `function` != \'theme\' ';
132
	$sql .= 'ORDER BY `directory`';
133
	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
134
//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' ORDER BY directory");
135
//	if($result->numRows() > 0)
136
	{
137
		while($addon = $result->fetchRow())
138
		{
139
	        $langIcons = (empty($addon['directory'])) ? 'none' : strtolower($addon['directory']);
140

    
141
			$oTpl->set_var('CODE',        $addon['directory']);
142
			$oTpl->set_var('NAME',        $addon['name']);
143
			$oTpl->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
144
			$oTpl->set_var('SELECTED',    ($sAutoLanguage == $addon['directory'] ? $sSelected : '') );
145
			$oTpl->parse('language_list', 'language_list_block', true);
146
		}
147
	}
148

    
149
// if type == confirmed_registration mail show password block, otherwise old login with captcha
150
	$oTpl->set_block('main_block', 'password_block', 'password');
151
	$oTpl->set_block('main_block', 'captcha_block', 'captcha');
152
	if(CONFIRMED_REGISTRATION) {
153
		$oTpl->parse('captcha', '', true);
154
		$oTpl->set_var(array(
155
				'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
156
				'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'],
157
				'HELP_SIGNUP_REMEMBER_PASSWORD' => $HELP['SIGNUP_REMEMBER_PASSWORD'],
158
				)
159
			);
160
		$oTpl->parse('password', 'password_block',true);
161
	} else {
162
		$oTpl->parse('password', '');
163
		if(ENABLED_CAPTCHA) {
164
			ob_start();
165
			call_captcha();
166
			$captcha = ob_get_clean();
167
			$oTpl->set_var(array(
168
					'TEXT_VERIFICATION' => $TEXT['VERIFICATION'],
169
					'CAPTCHA' => $captcha,
170
					)
171
				);
172
			$oTpl->parse('captcha', 'captcha_block', true);
173
		} else {
174
			$oTpl->parse('captcha', '', true);
175
		}
176
	}
177

    
178
	// Parse template object
179
	$oTpl->parse('main', 'main_block', false);
180
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
181
	unset($oTpl);
182
	print $output;
183
	$output = '';
184
} else {
185
	// success registration output
186
	$oTpl = new Template(dirname(__FILE__).'/htt','keep');
187
	$oTpl->set_file('page', 'success.htt');
188
	$oTpl->debug = false; // false, true
189
	$oTpl->set_block('page', 'main_block', 'main');
190
	// show messages, default block off
191
	$oTpl->set_block('main_block', 'show_registration_block', 'message');
192
	$oTpl->parse('message', '');
193
	if( ($msg = msgQueue::getSuccess()) != '')
194
	{
195
		$output = $wb->format_message($msg, 'ok');
196
		$oTpl->set_var('MESSAGE_VALUE',$output);
197
		$oTpl->parse('message', 'show_registration_block', true);
198
	}
199
	$oTpl->set_var(array(
200
			'BACK' => $TEXT['BACK'],
201
			'HTTP_REFERER' => isset($_SESSION['HTTP_REFERER']) ? $_SESSION['HTTP_REFERER'] : WB_URL,
202
			)
203
		);
204

    
205
	if(CONFIRMED_REGISTRATION) {
206
		$sMessage  = $MESSAGE['SIGNUP2_SUBJECT_NEW_USER'].' ';
207
		$sMessage .= $MESSAGE['SIGNUP_CONFIRMED_REGISTRATION'];
208
		$oTpl->set_var('MESSAGE',$sMessage);
209
	} else {
210
		$sMessage  = $MESSAGE['SIGNUP2_SUBJECT_NEW_USER'].' ';
211
		$sMessage .= $MESSAGE['SIGNUP_REGISTRATION'];
212
		$oTpl->set_var('MESSAGE',$sMessage);
213
	}
214
	//$oTpl->parse('message', 'message_block', true);
215
	$oTpl->parse('main', 'main_block', false);
216
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
217
	unset($oTpl);
218
	print $output;
219
}
(21-21/22)