Project

General

Profile

1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         account
6
 * @author          WebsiteBaker Project
7
 * @copyright       2004-2009, Ryan Djurovich
8
 * @copyright       2009-2011, Website Baker Org. e.V.
9
 * @link			http://www.websitebaker2.org/
10
 * @license         http://www.gnu.org/licenses/gpl.html
11
 * @platform        WebsiteBaker 2.8.x
12
 * @requirements    PHP 5.2.2 and higher
13
 * @version         $Id: preferences_form.php 1509 2011-09-07 21:58:13Z Luisehahne $
14
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/preferences_form.php $
15
 * @lastmodified    $Date: 2011-09-07 23:58:13 +0200 (Wed, 07 Sep 2011) $
16
 *
17
 */
18

    
19
// prevent this file from being accesses directly
20
if(defined('WB_PATH') == false) {	exit("Cannot access this file directly"); }
21

    
22
	if($wb->is_authenticated() === false) {
23
// User needs to login first
24
		header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
25
		exit(0);
26
	}
27

    
28
$_SESSION['PAGE_LINK'] = get_page_link( $_SESSION['PAGE_ID'] );
29
$_SESSION['HTTP_REFERER'] = page_link($_SESSION['PAGE_LINK']);
30

    
31
// load module default language file (EN)
32
	require_once(WB_PATH .'/account/languages/EN.php');
33
// check for user defined language file, load it and override EN-Settings with
34
	if(file_exists(WB_PATH .'/account/languages/' .LANGUAGE .'.php')) {
35
		require_once(WB_PATH .'/account/languages/' .LANGUAGE .'.php');
36
	}
37
	require_once(WB_PATH.'/framework/functions-utf8.php');
38
	echo '<style type="text/css">';
39
	include(WB_PATH .'/account/frontend.css');
40
	echo "\n</style>\n";
41
	$user_time = true;
42
	require(ADMIN_PATH.'/interface/timezones.php');
43
	require(ADMIN_PATH.'/interface/date_formats.php');
44
	require(ADMIN_PATH.'/interface/time_formats.php');
45
	$error = array();
46
	$success = array();
47
	$template = new Template(WB_PATH .'/account','remove');
48

    
49
	switch($wb->get_post('action')):
50
		case 'details':
51
			require_once(WB_PATH .'/account/details.php');
52
			break;
53
		case 'email':
54
			require_once(WB_PATH .'/account/email.php');
55

    
56
			break;
57
		case 'password':
58
			require_once(WB_PATH .'/account/password.php');
59
			break;
60
		default:
61
			// do nothing
62
	endswitch; // switch
63

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

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

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

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

    
169
// Insert module releated language text and messages
170
	$template->set_var(array(
171
								'MOD_PREFERENCE_PLEASE_SELECT'	=> $MOD_PREFERENCE['PLEASE_SELECT'],
172
								'MOD_PREFERENCE_SAVE_SETTINGS'	=> $MOD_PREFERENCE['SAVE_SETTINGS'],
173
								'MOD_PREFERENCE_SAVE_EMAIL'			=> $MOD_PREFERENCE['SAVE_EMAIL'],
174
								'MOD_PREFERENCE_SAVE_PASSWORD'	=> $MOD_PREFERENCE['SAVE_PASSWORD'],
175
								)
176
						);
177
// Insert error and/or success messages
178
	$template->set_block('main_block', 'error_block', 'error_list');
179
	if(sizeof($error)>0){
180
		foreach($error AS $value){
181
			$template->set_var('ERROR_VALUE', $value);
182
			$template->parse('error_list', 'error_block', true);
183
		}
184
	}
185

    
186
	$template->set_block('main_block', 'success_block', 'success_list');
187
	if(sizeof($success)!=0){
188
		foreach($success AS $value){
189
			$template->set_var('SUCCESS_VALUE', $value);
190
			$template->parse('success_list', 'success_block', true);
191
		}
192
	}
193
// Parse template for preferences form
194
	$template->parse('main', 'main_block', false);
195
	$template->pparse('output', 'page');
(12-12/16)