Project

General

Profile

1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         account
6
 * @author          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: preferences_form.php 1773 2012-09-27 23:42:13Z Luisehahne $
13
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/preferences_form.php $
14
 * @lastmodified    $Date: 2012-09-28 01:42:13 +0200 (Fri, 28 Sep 2012) $
15
 *
16
 */
17

    
18
/* -------------------------------------------------------- */
19
// Must include code to stop this file being accessed directly
20
if(defined('WB_PATH') == false)
21
{
22
	// Stop this file being access directly
23
		die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
24
}
25
/* -------------------------------------------------------- */
26

    
27
	if($wb->is_authenticated() === false) {
28
// User needs to login first
29
		header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
30
		exit(0);
31
	}
32

    
33
// load module default language file (EN)
34
	require_once(WB_PATH .'/account/languages/EN.php');
35
// check for user defined language file, load it and override EN-Settings with
36
	if(file_exists(WB_PATH .'/account/languages/' .LANGUAGE .'.php')) {
37
		require_once(WB_PATH .'/account/languages/' .LANGUAGE .'.php');
38
	}
39
	require_once(WB_PATH.'/framework/functions-utf8.php');
40

    
41
//	echo '<style type="text/css">';
42
//	include(WB_PATH .'/account/frontend.css');
43
//	echo "\n</style>\n";
44

    
45
	$user_time = true;
46
	require(ADMIN_PATH.'/interface/timezones.php');
47
	require(ADMIN_PATH.'/interface/date_formats.php');
48
	require(ADMIN_PATH.'/interface/time_formats.php');
49
	$error = array();
50
	$success = array();
51
	$template = new Template(WB_PATH .'/account/htt','keep');
52

    
53
	switch($wb->get_post('action')):
54
		case 'details':
55
			require_once(WB_PATH .'/account/details.php');
56
			break;
57
		case 'email':
58
			require_once(WB_PATH .'/account/email.php');
59

    
60
			break;
61
		case 'password':
62
			require_once(WB_PATH .'/account/password.php');
63
			break;
64
		default:
65
			// do nothing
66
	endswitch; // switch
67

    
68
// show template
69
	$template->set_file('page', 'preferences.htt');
70
	$template->set_block('page', 'main_block', 'main');
71
// get existing values from database
72
	$sql = "SELECT `display_name`,`email` FROM ".TABLE_PREFIX."users WHERE `user_id` = '".$wb->get_user_id()."'";
73
	$rowset = $database->query($sql);
74
	if($database->is_error()) $error[] = $database->get_error();
75
	$row = $rowset->fetchRow();
76
// insert values into form
77
	$template->set_var('DISPLAY_NAME', $row['display_name']);
78
	$template->set_var('EMAIL', $row['email']);
79

    
80
// read available languages from table addons and assign it to the template
81
	$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
82
	$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`';
83
	if( $res_lang = $database->query($sql) )
84
	{
85
		$template->set_block('main_block', 'language_list_block', 'language_list');
86
		while( $rec_lang = $res_lang->fetchRow() )
87
		{
88
	        $langIcons = (empty($rec_lang['directory'])) ? 'none' : strtolower($rec_lang['directory']);
89
			$template->set_var('CODE',        $rec_lang['directory']);
90
			$template->set_var('NAME',        $rec_lang['name']);
91
			$template->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
92
			$template->set_var('SELECTED',    (LANGUAGE == $rec_lang['directory'] ? ' selected="selected"' : '') );
93
			$template->parse('language_list', 'language_list_block', true);
94
		}
95
	}
96
// Insert default timezone values
97
	$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
98
	foreach($TIMEZONES AS $hour_offset => $title) {
99
		$template->set_var('VALUE', $hour_offset);
100
		$template->set_var('NAME', $title);
101
		if($wb->get_timezone() == $hour_offset*3600) {
102
			$template->set_var('SELECTED', 'selected="selected"');
103
		} else {
104
			$template->set_var('SELECTED', '');
105
		}
106
		$template->parse('timezone_list', 'timezone_list_block', true);
107
	}
108

    
109
// Insert date format list
110
	$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
111
	foreach($DATE_FORMATS AS $format => $title) {
112
		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
113
		if($format != 'system_default') {
114
			$template->set_var('VALUE', $format);
115
		} else {
116
			$template->set_var('VALUE', '');
117
		}
118
		$template->set_var('NAME', $title);
119
		if(DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
120
			$template->set_var('SELECTED', 'selected="selected"');
121
		} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
122
			$template->set_var('SELECTED', 'selected="selected"');
123
		} else {
124
			$template->set_var('SELECTED', '');
125
		}
126
		$template->parse('date_format_list', 'date_format_list_block', true);
127
	}
128

    
129
// Insert time format list
130
	$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
131
	foreach($TIME_FORMATS AS $format => $title) {
132
		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
133
		if($format != 'system_default') {
134
			$template->set_var('VALUE', $format);
135
		} else {
136
			$template->set_var('VALUE', '');
137
		}
138
		$template->set_var('NAME', $title);
139
		if(TIME_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
140
			$template->set_var('SELECTED', 'selected="selected"');
141
		} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
142
			$template->set_var('SELECTED', 'selected="selected"');
143
		} else {
144
			$template->set_var('SELECTED', '');
145
		}
146
		$template->parse('time_format_list', 'time_format_list_block', true);
147
	}
148
// Insert language headings
149
	$template->set_var(array(
150
			'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'],
151
			'HEADING_MY_EMAIL'    => $HEADING['MY_EMAIL'],
152
			'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD']
153
			)
154
	);
155
// Insert language text and messages
156
	$template->set_var(array(
157
			'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
158
			'TEXT_SAVE'	=> $TEXT['SAVE'],
159
			'TEXT_RESET' => $TEXT['RESET'],
160
			'TEXT_CANCEL' => $TEXT['CANCEL'],
161
			'TEXT_DISPLAY_NAME'	=> $TEXT['DISPLAY_NAME'],
162
			'TEXT_EMAIL' => $TEXT['EMAIL'],
163
			'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
164
			'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
165
			'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
166
			'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
167
			'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'],
168
			'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
169
			'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD']
170
			)
171
	);
172

    
173
// Insert module releated language text and messages
174
	$template->set_var(array(
175
			'MOD_PREFERENCE_PLEASE_SELECT'  => $MOD_PREFERENCE['PLEASE_SELECT'],
176
			'MOD_PREFERENCE_SAVE_SETTINGS'  => $MOD_PREFERENCE['SAVE_SETTINGS'],
177
			'MOD_PREFERENCE_SAVE_EMAIL'     => $MOD_PREFERENCE['SAVE_EMAIL'],
178
			'MOD_PREFERENCE_SAVE_PASSWORD'  => $MOD_PREFERENCE['SAVE_PASSWORD'],
179
			)
180
	);
181
// Insert error and/or success messages
182
	$template->set_block('main_block', 'error_block', 'error_list');
183
	$template->set_var('ERROR_VALUE', '');
184
	if(sizeof($error)>0){
185
		$template->set_var('ERROR_VALUE', $wb->format_message(implode('<br />',$error),'error'));
186
		$template->parse('error_list', 'error_block', true);
187
	} else {
188
		$template->parse('error_list', '');
189
	}
190

    
191
	$template->set_block('main_block', 'success_block', 'success_list');
192
	$template->set_var('SUCCESS_VALUE', '');
193
	if(sizeof($success)!=0){
194
			$template->set_var('SUCCESS_VALUE', $wb->format_message(implode('<br />',$success),'ok'));
195
			$template->parse('success_list', 'success_block', true);
196
	} else {
197
		$template->parse('success_list', '');
198
	}
199
// Parse template for preferences form
200
	$template->parse('main', 'main_block', false);
201
	$template->pparse('output', 'page');
(17-17/22)