Project

General

Profile

« Previous | Next » 

Revision 1792

Added by Dietmar over 11 years ago

! all changes in folder account, Signup with confirmation Mail
! frontend.css now included by account script

View differences:

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