Revision 1792
Added by Dietmar over 11 years ago
preferences_form.php | ||
---|---|---|
5 | 5 |
* @package account |
6 | 6 |
* @author WebsiteBaker Project |
7 | 7 |
* @copyright 2009-2012, WebsiteBaker Org. e.V. |
8 |
* @link http://www.websitebaker2.org/
|
|
8 |
* @link http://www.websitebaker2.org/
|
|
9 | 9 |
* @license http://www.gnu.org/licenses/gpl.html |
10 | 10 |
* @platform WebsiteBaker 2.8.x |
11 | 11 |
* @requirements PHP 5.2.2 and higher |
... | ... | |
25 | 25 |
|
26 | 26 |
if($wb->is_authenticated() === false) { |
27 | 27 |
// User needs to login first |
28 |
header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link); |
|
29 |
exit(0); |
|
28 |
header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
|
|
29 |
exit(0);
|
|
30 | 30 |
} |
31 | 31 |
|
32 |
/** |
|
33 |
* |
|
34 |
*/ |
|
35 |
$sUserLanguage = LANGUAGE; |
|
36 |
// Check existing language |
|
37 |
$sql = 'SELECT `language` '; |
|
38 |
$sql .= 'FROM `'.TABLE_PREFIX.'users` '; |
|
39 |
$sql .= 'WHERE `user_id` = '.$wb->get_user_id(); |
|
40 |
if ($sUserLanguage = $database->get_one($sql)) { |
|
41 |
$_SESSION['LANGUAGE'] = $sUserLanguage; |
|
42 |
} |
|
43 |
|
|
44 |
$sDefaultLanguage = DEFAULT_LANGUAGE; |
|
45 |
//$sLang = $wb->get_session('LANGUAGE'); |
|
46 |
$sLanguage = LANGUAGE.'.php'; |
|
47 |
|
|
48 |
$LanguageDir = WB_PATH .'/account/languages/'; |
|
49 |
|
|
50 |
$sLanguageFile = ( file_exists($LanguageDir.$sUserLanguage.'.php') ? $LanguageDir.$sUserLanguage.'.php' : $LanguageDir.$sLanguage); |
|
51 |
$sLanguageFile = ( is_readable($sLanguageFile) ? $sLanguageFile : $LanguageDir.$sDefaultLanguage.'.php' ); |
|
32 | 52 |
// load module default language file (EN) |
33 |
require_once(WB_PATH .'/account/languages/EN.php'); |
|
34 |
// check for user defined language file, load it and override EN-Settings with |
|
35 |
if(file_exists(WB_PATH .'/account/languages/' .LANGUAGE .'.php')) { |
|
36 |
require_once(WB_PATH .'/account/languages/' .LANGUAGE .'.php'); |
|
53 |
require($sLanguageFile); |
|
54 |
|
|
55 |
require(WB_PATH.'/framework/functions-utf8.php'); |
|
56 |
|
|
57 |
$sIncludeHeadLinkCss = ''; |
|
58 |
if( is_readable(WB_PATH .'/account/frontend.css')) { |
|
59 |
$sIncludeHeadLinkCss .= '<link href="'.WB_URL.'/account/frontend.css"'; |
|
60 |
$sIncludeHeadLinkCss .= ' rel="stylesheet" type="text/css" media="screen" />'."\n"; |
|
37 | 61 |
} |
38 |
require_once(WB_PATH.'/framework/functions-utf8.php'); |
|
39 | 62 |
|
40 |
// echo '<style type="text/css">'; |
|
41 |
// include(WB_PATH .'/account/frontend.css'); |
|
42 |
// echo "\n</style>\n"; |
|
43 |
|
|
44 | 63 |
$user_time = true; |
45 | 64 |
require(ADMIN_PATH.'/interface/timezones.php'); |
46 | 65 |
require(ADMIN_PATH.'/interface/date_formats.php'); |
47 | 66 |
require(ADMIN_PATH.'/interface/time_formats.php'); |
48 | 67 |
$error = array(); |
49 | 68 |
$success = array(); |
69 |
|
|
50 | 70 |
$template = new Template(WB_PATH .'/account/htt','keep'); |
51 | 71 |
|
72 |
// show template |
|
73 |
$template->set_file('page', 'preferences.htt'); |
|
74 |
$template->set_block('page', 'main_block', 'main'); |
|
75 |
|
|
76 |
/** |
|
77 |
* |
|
78 |
*/ |
|
52 | 79 |
switch($wb->get_post('action')): |
53 |
case 'details': |
|
54 |
require_once(WB_PATH .'/account/details.php'); |
|
55 |
break; |
|
56 |
case 'email': |
|
57 |
require_once(WB_PATH .'/account/email.php'); |
|
58 |
|
|
59 |
break; |
|
60 |
case 'password': |
|
61 |
require_once(WB_PATH .'/account/password.php'); |
|
62 |
break; |
|
63 |
default: |
|
80 |
case 'details': |
|
81 |
require_once(WB_PATH .'/account/details.php'); |
|
82 |
break; |
|
83 |
case 'email': |
|
84 |
require_once(WB_PATH .'/account/email.php'); |
|
85 |
break; |
|
86 |
case 'password': |
|
87 |
require_once(WB_PATH .'/account/password.php'); |
|
88 |
break; |
|
89 |
default: |
|
64 | 90 |
// do nothing |
65 | 91 |
endswitch; // switch |
92 |
// require(dirname(__FILE__).'/save_preferences.php'); |
|
93 |
// get existing values from database |
|
94 |
$sql = "SELECT `display_name`,`email`,`language`,`timezone`,`date_format`,`time_format` "; |
|
95 |
$sql .= "FROM `".TABLE_PREFIX."users` "; |
|
96 |
$sql .= "WHERE `user_id` = '".$wb->get_user_id()."'"; |
|
66 | 97 |
|
67 |
// show template |
|
68 |
$template->set_file('page', 'preferences.htt'); |
|
69 |
$template->set_block('page', 'main_block', 'main'); |
|
70 |
// get existing values from database |
|
71 |
$sql = "SELECT `display_name`,`email` FROM ".TABLE_PREFIX."users WHERE `user_id` = '".$wb->get_user_id()."'"; |
|
72 |
$rowset = $database->query($sql); |
|
98 |
if($rowset = $database->query($sql)) { |
|
99 |
$row = $rowset->fetchRow(); |
|
100 |
$_SESSION['LANGUAGE'] = $row['language']; |
|
101 |
$_SESSION['EMAIL'] = $row['email']; |
|
102 |
$_SESSION['DISPLAY_NAME'] = $row['display_name']; |
|
103 |
$_SESSION['TIMEZONE'] = $row['timezone']; |
|
104 |
$_SESSION['DATE_FORMAT'] = $row['date_format']; |
|
105 |
$_SESSION['TIME_FORMAT'] = $row['time_format']; |
|
106 |
} |
|
73 | 107 |
if($database->is_error()) $error[] = $database->get_error(); |
74 |
$row = $rowset->fetchRow(); |
|
75 | 108 |
// insert values into form |
76 | 109 |
$template->set_var('DISPLAY_NAME', $row['display_name']); |
77 | 110 |
$template->set_var('EMAIL', $row['email']); |
78 | 111 |
$template->set_var('ACTION_URL', WB_URL.'/account/preferences.php'); |
79 | 112 |
|
80 |
// read available languages from table addons and assign it to the template |
|
113 |
$_SESSION['HTTP_REFERER'] =( ($_SESSION['LANGUAGE'] != LANGUAGE ) ? WB_URL.'?lang='.$_SESSION['LANGUAGE'] : $_SESSION['HTTP_REFERER']); |
|
114 |
$template->set_block('main_block', 'show_detail_send_block', 'show_detail_send'); |
|
115 |
$template->set_block('main_block', 'show_email_send_block', 'show_email_send'); |
|
116 |
$template->set_block('main_block', 'show_password_send_block', 'show_password_send'); |
|
117 |
|
|
118 |
if(($sUserLanguage != LANGUAGE) ) { |
|
119 |
$template->parse('show_detail_send', ''); |
|
120 |
$template->parse('show_email_send', ''); |
|
121 |
$template->parse('show_password_send', ''); |
|
122 |
} else { |
|
123 |
$template->parse('show_detail_send', 'show_detail_send_block'); |
|
124 |
$template->parse('show_email_send', 'show_email_send_block'); |
|
125 |
$template->parse('show_password_send', 'show_password_send_block'); |
|
126 |
} |
|
127 |
|
|
128 |
// Insert language text and messages |
|
129 |
$template->set_var(array( |
|
130 |
'HTTP_REFERER' => ( $wb->get_session('HTTP_REFERER')!='' ? $_SESSION['HTTP_REFERER'] : WB_URL), |
|
131 |
'CSS_BLOCK' => $sIncludeHeadLinkCss, |
|
132 |
'TEXT_SAVE' => $TEXT['SAVE'], |
|
133 |
'TEXT_RESET' => $TEXT['RESET'], |
|
134 |
'TEXT_CANCEL' => ($sUserLanguage!=LANGUAGE) ? $MOD_PREFERENCE['SAVE_LANGUAGE']:$TEXT['CANCEL'], |
|
135 |
'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'], |
|
136 |
'TEXT_EMAIL' => $TEXT['EMAIL'], |
|
137 |
'TEXT_LANGUAGE' => $TEXT['LANGUAGE'], |
|
138 |
'TEXT_TIMEZONE' => $TEXT['TIMEZONE'], |
|
139 |
'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'], |
|
140 |
'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'], |
|
141 |
'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'], |
|
142 |
'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], |
|
143 |
'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'] |
|
144 |
) |
|
145 |
); |
|
146 |
|
|
147 |
$aLangAddons = array(); |
|
148 |
$aLangBrowser = array(); |
|
149 |
|
|
150 |
// read available languages from table addons |
|
81 | 151 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` '; |
82 | 152 |
$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`'; |
83 |
if( $res_lang = $database->query($sql) )
|
|
153 |
if( $oLang = $database->query($sql) )
|
|
84 | 154 |
{ |
85 |
$template->set_block('main_block', 'language_list_block', 'language_list'); |
|
86 |
while( $rec_lang = $res_lang->fetchRow() ) |
|
155 |
while( $aLang = $oLang->fetchRow(MYSQL_ASSOC) ) |
|
87 | 156 |
{ |
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', ($wb->get_session('LANGUAGE') == $rec_lang['directory'] ? ' selected="selected"' : '') ); |
|
93 |
$template->parse('language_list', 'language_list_block', true); |
|
157 |
$aLangAddons[$aLang['directory']] = $aLang['name']; |
|
94 | 158 |
} |
95 | 159 |
} |
160 |
|
|
161 |
// default, if no information from client available |
|
162 |
$sAutoLanguage = DEFAULT_LANGUAGE; |
|
163 |
// detect client language |
|
164 |
//if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { |
|
165 |
// if(preg_match('/([a-z]{2})(?:-[a-z]{2})*/i', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']), $matches)) { |
|
166 |
// $sAutoLanguage = strtoupper($matches[1]); |
|
167 |
// } |
|
168 |
//} |
|
169 |
|
|
170 |
//$sAutoLanguage = 'FR'; |
|
171 |
$aLangUsed = array_flip(explode(',',$wb->GetLanguagesInUsed())); |
|
172 |
$aLangUsed = array_intersect_key($aLangAddons, $aLangUsed); |
|
173 |
//$sAutoLanguage = array_key_exists($sAutoLanguage,$aLangUsed) ? $sAutoLanguage : DEFAULT_LANGUAGE; |
|
174 |
|
|
175 |
// read available languages from table addons and assign it to the template |
|
176 |
$template->set_block('main_block', 'language_list_block', 'language_list'); |
|
177 |
foreach( $aLangUsed as $sDirectory => $sName ) |
|
178 |
{ |
|
179 |
$langIcons = ( empty($sDirectory) ? 'none' : strtolower($sDirectory)); |
|
180 |
|
|
181 |
$template->set_var('CODE', $sDirectory); |
|
182 |
$template->set_var('NAME', $sName); |
|
183 |
$template->set_var('FLAG', THEME_URL.'/images/flags/'.$langIcons); |
|
184 |
$template->set_var('SELECTED', ( $_SESSION['LANGUAGE'] == $sDirectory ? ' selected="selected"' : '') ); |
|
185 |
|
|
186 |
$template->parse('language_list', 'language_list_block', true); |
|
187 |
} |
|
188 |
|
|
96 | 189 |
// Insert default timezone values |
97 | 190 |
$template->set_block('main_block', 'timezone_list_block', 'timezone_list'); |
98 | 191 |
foreach($TIMEZONES AS $hour_offset => $title) { |
... | ... | |
149 | 242 |
} |
150 | 243 |
// Insert language headings |
151 | 244 |
$template->set_var(array( |
152 |
'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'], |
|
153 |
'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'], |
|
154 |
'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD'] |
|
155 |
) |
|
156 |
); |
|
157 |
// Insert language text and messages |
|
158 |
$template->set_var(array( |
|
159 |
'HTTP_REFERER' => $_SESSION['HTTP_REFERER'], |
|
160 |
'TEXT_SAVE' => $TEXT['SAVE'], |
|
161 |
'TEXT_RESET' => $TEXT['RESET'], |
|
162 |
'TEXT_CANCEL' => $TEXT['CANCEL'], |
|
163 |
'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'], |
|
164 |
'TEXT_EMAIL' => $TEXT['EMAIL'], |
|
165 |
'TEXT_LANGUAGE' => $TEXT['LANGUAGE'], |
|
166 |
'TEXT_TIMEZONE' => $TEXT['TIMEZONE'], |
|
167 |
'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'], |
|
168 |
'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'], |
|
169 |
'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'], |
|
170 |
'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], |
|
171 |
'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'] |
|
245 |
'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'], |
|
246 |
'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'], |
|
247 |
'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD'] |
|
172 | 248 |
) |
173 | 249 |
); |
174 | 250 |
|
Also available in: Unified diff
! all changes in folder account, Signup with confirmation Mail
! frontend.css now included by account script