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 1792 2012-10-24 00:43:00Z Luisehahne $
13
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/signup_form.php $
14
 * @lastmodified    $Date: 2012-10-24 02:43:00 +0200 (Wed, 24 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
if(isset($_POST['action']) && $_POST['action']=='send') {
38
	require(dirname(__FILE__).'/save_signup.php');
39
} else {
40
	$output = '';
41
	msgQueue::clear();
42
	unset($_SESSION['USERNAME']);
43
	unset($_SESSION['LANGUAGE']);
44
	unset($_SESSION['DISPLAY_NAME']);
45
	unset($_SESSION['EMAIL']);
46
	unset($_SESSION['TIMEZONE']);
47
}
48

    
49
if($_SESSION['display_form'])
50
{
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
}
57

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

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

    
94
// show captcha
95
	$oTpl->set_block('main_block', 'asp_block', 'asp');
96
	if(ENABLED_ASP) {
97
		$oTpl->set_var('DISPLAY_ASP','nixhier');
98
		$oTpl->parse('asp', 'asp_block', true);
99
	} else {
100
		$oTpl->parse('asp', '', true);
101
	}
102

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

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

    
123

    
124
$aLangAddons = array();
125
$aLangBrowser = array();
126
// read available languages from table addons
127
$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
128
$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`';
129
if( $oLang = $database->query($sql) )
130
{
131
    while( $aLang = $oLang->fetchRow(MYSQL_ASSOC) )
132
    {
133
        $aLangAddons[$aLang['directory']] = $aLang['name'];
134
    }
135
}
136

    
137
// default, if no information from client available
138
$sAutoLanguage = DEFAULT_LANGUAGE;
139
// detect client language
140
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
141
	if(preg_match('/([a-z]{2})(?:-[a-z]{2})*/i', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']), $matches)) {
142
		$sAutoLanguage = strtoupper($matches[1]);
143
	}
144
}
145

    
146
$sAutoLanguage=($wb->get_session('LANGUAGE')) ? $_SESSION['LANGUAGE'] : $sAutoLanguage;
147

    
148
//$sAutoLanguage = 'NL';
149
$aLangUsed = array_flip(explode(',',$wb->GetLanguagesInUsed()));
150
$aLangUsed = array_intersect_key($aLangAddons, $aLangUsed);
151
$sAutoLanguage = array_key_exists($sAutoLanguage,$aLangUsed) ? $sAutoLanguage : DEFAULT_LANGUAGE;
152
//print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
153
//print_r( $aLangUsed ); print '</pre>'; // flush ();sleep(10); die();
154
//  read available languages from table addons and assign it to the template
155
    $oTpl->set_block('main_block', 'language_list_block', 'language_list');
156
    foreach( $aLangUsed as $sDirectory => $aName  )
157
    {
158
        $langIcons = ( empty($sDirectory) ? 'none' : strtolower($sDirectory));
159
        $oTpl->set_var('CODE',        $sDirectory );
160
        $oTpl->set_var('NAME',        $aName );
161
        $oTpl->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons );
162
        $oTpl->set_var('SELECTED',    ( $sAutoLanguage == $sDirectory ? ' selected="selected"' : '') );
163
        $oTpl->parse('language_list', 'language_list_block', true);
164
    }
165

    
166
// if type == confirmed_registration mail show password block, otherwise old login with captcha
167
	$oTpl->set_block('main_block', 'password_block', 'password');
168
	$oTpl->set_block('main_block', 'captcha_block', 'captcha');
169
	if(CONFIRMED_REGISTRATION) {
170
		$oTpl->parse('captcha', '', true);
171
		$oTpl->set_var(array(
172
				'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
173
				'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'],
174
				'HELP_SIGNUP_REMEMBER_PASSWORD' => $HELP['SIGNUP_REMEMBER_PASSWORD'],
175
				)
176
			);
177
		$oTpl->parse('password', 'password_block',true);
178
	} else {
179
		$oTpl->parse('password', '');
180
		if(ENABLED_CAPTCHA) {
181
			ob_start();
182
			call_captcha();
183
			$captcha = ob_get_clean();
184
			$oTpl->set_var(array(
185
					'TEXT_VERIFICATION' => $TEXT['VERIFICATION'],
186
					'CAPTCHA' => $captcha,
187
					)
188
				);
189
			$oTpl->parse('captcha', 'captcha_block', true);
190
		} else {
191
			$oTpl->parse('captcha', '', true);
192
		}
193
	}
194

    
195
	// Parse template object
196
	$oTpl->parse('main', 'main_block', false);
197
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
198
	unset($oTpl);
199
	print $output;
200
	$output = '';
201
} else {
202
	// success registration output
203
	$oTpl = new Template(dirname(__FILE__).'/htt','keep');
204
	$oTpl->set_file('page', 'success.htt');
205
	$oTpl->debug = false; // false, true
206
	$oTpl->set_block('page', 'main_block', 'main');
207
	// show messages, default block off
208
	$oTpl->set_block('main_block', 'show_registration_block', 'message');
209
	$oTpl->parse('message', '');
210
	if( ($msg = msgQueue::getSuccess()) != '')
211
	{
212
		$output = $wb->format_message($msg, 'ok');
213
		$oTpl->set_var('MESSAGE_VALUE',$output);
214
		$oTpl->parse('message', 'show_registration_block', true);
215
	}
216
	$oTpl->set_var(array(
217
			'BACK' => $TEXT['BACK'],
218
			'HTTP_REFERER' => isset($_SESSION['HTTP_REFERER']) ? $_SESSION['HTTP_REFERER'] : WB_URL,
219
			)
220
		);
221

    
222
	if(CONFIRMED_REGISTRATION) {
223
		$sMessage  = $MESSAGE['SIGNUP2_SUBJECT_NEW_USER'].' ';
224
		$sMessage .= $MESSAGE['SIGNUP_CONFIRMED_REGISTRATION'];
225
		$oTpl->set_var('MESSAGE',$sMessage);
226
	} else {
227
		$sMessage  = $MESSAGE['SIGNUP2_SUBJECT_NEW_USER'].' ';
228
		$sMessage .= $MESSAGE['SIGNUP_REGISTRATION'];
229
		$oTpl->set_var('MESSAGE',$sMessage);
230
	}
231
	//$oTpl->parse('message', 'message_block', true);
232
	$oTpl->parse('main', 'main_block', false);
233
	$output = $oTpl->finish($oTpl->parse('output', 'page'));
234
	unset($oTpl);
235
	print $output;
236
}
(21-21/22)