Revision 1313
Added by Luisehahne over 15 years ago
| branches/2.8.x/CHANGELOG | ||
|---|---|---|
| 11 | 11 |
! = Update/Change |
| 12 | 12 |
|
| 13 | 13 |
------------------------------------- 2.8.1 ------------------------------------- |
| 14 |
11-Apr-2010 Dietmar Woellbrink (Luisehahne) |
|
| 15 |
! show_menu2 remove unneeded code for WB < 2.7 |
|
| 16 |
! class.wb.php, recoding backend preference |
|
| 17 |
+ add a language variable $MESSAGE['PREFERENCES']['INVALID_CHARS'] |
|
| 18 |
! update theme.css for preference.htt in argos_theme & wb_theme |
|
| 19 |
! remove classic_theme |
|
| 14 | 20 |
07-Apr-2010 Dietmar Woellbrink (Luisehahne) |
| 15 | 21 |
# Ticket #971 Using $_POST in Admin - account - login.php (tks to Aldus) |
| 16 | 22 |
! update class.wb.php added tokens function |
| branches/2.8.x/wb/admin/interface/version.php | ||
|---|---|---|
| 52 | 52 |
|
| 53 | 53 |
// check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled) |
| 54 | 54 |
if(!defined('VERSION')) define('VERSION', '2.8.x');
|
| 55 |
if(!defined('REVISION')) define('REVISION', '1312');
|
|
| 55 |
if(!defined('REVISION')) define('REVISION', '1313');
|
|
| 56 | 56 |
|
| 57 | 57 |
?> |
| branches/2.8.x/wb/admin/preferences/details.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
/**************************************************************************** |
|
| 4 |
* SVN Version information: |
|
| 5 |
* |
|
| 6 |
* $Id$ |
|
| 7 |
* |
|
| 8 |
***************************************************************************** |
|
| 9 |
* |
|
| 10 |
***************************************************************************** |
|
| 11 |
* WebsiteBaker |
|
| 12 |
* |
|
| 13 |
* WebsiteBaker Project <http://www.websitebaker2.org/> |
|
| 14 |
* Copyright (C) 2009, Website Baker Org. e.V. |
|
| 15 |
* http://start.websitebaker2.org/impressum-datenschutz.php |
|
| 16 |
* Copyright (C) 2004-2009, Ryan Djurovich |
|
| 17 |
* |
|
| 18 |
* About WebsiteBaker |
|
| 19 |
* |
|
| 20 |
* Website Baker is a PHP-based Content Management System (CMS) |
|
| 21 |
* designed with one goal in mind: to enable its users to produce websites |
|
| 22 |
* with ease. |
|
| 23 |
* |
|
| 24 |
***************************************************************************** |
|
| 25 |
* |
|
| 26 |
***************************************************************************** |
|
| 27 |
* WebsiteBaker Extra Information (where needed) |
|
| 28 |
* |
|
| 29 |
* @author : Ryan Djurovich, stefan, Matthias Gallas, Manuel Lang |
|
| 30 |
* @platform : WebsiteBaker 2.8 |
|
| 31 |
* |
|
| 32 |
***************************************************************************** |
|
| 33 |
* |
|
| 34 |
***************************************************************************** |
|
| 35 |
* LICENSE INFORMATION |
|
| 36 |
* |
|
| 37 |
* WebsiteBaker is free software; you can redistribute it and/or |
|
| 38 |
* modify it under the terms of the GNU General Public License |
|
| 39 |
* as published by the Free Software Foundation; either version 2 |
|
| 40 |
* of the License, or (at your option) any later version. |
|
| 41 |
* |
|
| 42 |
* WebsiteBaker is distributed in the hope that it will be useful, |
|
| 43 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 44 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
| 45 |
* See the GNU General Public License for more details. |
|
| 46 |
* |
|
| 47 |
* You should have received a copy of the GNU General Public License |
|
| 48 |
* along with this program; if not, write to the Free Software |
|
| 49 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
| 50 |
*****************************************************************************/ |
|
| 51 |
|
|
| 52 |
// Print admin header |
|
| 53 |
require('../../config.php');
|
|
| 54 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
| 55 |
$admin = new admin('Preferences');
|
|
| 56 |
|
|
| 57 |
// Get entered values |
|
| 58 |
$display_name = $admin->add_slashes(strip_tags($admin->get_post('display_name')));
|
|
| 59 |
$language = $admin->get_post('language');
|
|
| 60 |
$timezone = $admin->get_post('timezone')*60*60;
|
|
| 61 |
$date_format = $admin->get_post('date_format');
|
|
| 62 |
$time_format = $admin->get_post('time_format');
|
|
| 63 |
|
|
| 64 |
// Update the database |
|
| 65 |
$database = new database(); |
|
| 66 |
$query = "UPDATE ".TABLE_PREFIX."users SET display_name = '$display_name', language = '$language', timezone = '$timezone', date_format = '$date_format', time_format = '$time_format' WHERE user_id = '".$admin->get_user_id()."'"; |
|
| 67 |
$database->query($query); |
|
| 68 |
if($database->is_error()) {
|
|
| 69 |
$admin->print_error($database->get_error()); |
|
| 70 |
} else {
|
|
| 71 |
$admin->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED']); |
|
| 72 |
$_SESSION['DISPLAY_NAME'] = $display_name; |
|
| 73 |
$_SESSION['LANGUAGE'] = $language; |
|
| 74 |
// Update date format |
|
| 75 |
if($date_format != '') {
|
|
| 76 |
$_SESSION['DATE_FORMAT'] = $date_format; |
|
| 77 |
if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
|
|
| 78 |
} else {
|
|
| 79 |
$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true; |
|
| 80 |
if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
|
|
| 81 |
} |
|
| 82 |
// Update time format |
|
| 83 |
if($time_format != '') {
|
|
| 84 |
$_SESSION['TIME_FORMAT'] = $time_format; |
|
| 85 |
if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
|
|
| 86 |
} else {
|
|
| 87 |
$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true; |
|
| 88 |
if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
|
|
| 89 |
} |
|
| 90 |
// Update timezone |
|
| 91 |
if($timezone != '-72000') {
|
|
| 92 |
$_SESSION['TIMEZONE'] = $timezone; |
|
| 93 |
if(isset($_SESSION['USE_DEFAULT_TIMEZONE'])) { unset($_SESSION['USE_DEFAULT_TIMEZONE']); }
|
|
| 94 |
} else {
|
|
| 95 |
$_SESSION['USE_DEFAULT_TIMEZONE'] = true; |
|
| 96 |
if(isset($_SESSION['TIMEZONE'])) { unset($_SESSION['TIMEZONE']); }
|
|
| 97 |
} |
|
| 98 |
} |
|
| 99 |
|
|
| 100 |
// Print admin footer |
|
| 101 |
$admin->print_footer(); |
|
| 102 |
|
|
| 103 |
?> |
|
| 104 | 0 | |
| branches/2.8.x/wb/admin/preferences/email.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Print admin header |
|
| 27 |
require('../../config.php');
|
|
| 28 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
| 29 |
$admin = new admin('Preferences');
|
|
| 30 |
|
|
| 31 |
// Get entered values |
|
| 32 |
$password = $admin->get_post('current_password');
|
|
| 33 |
$email = $admin->get_post('email');
|
|
| 34 |
|
|
| 35 |
// Create a javascript back link |
|
| 36 |
$js_back = "javascript: history.go(-1);"; |
|
| 37 |
|
|
| 38 |
// Get password |
|
| 39 |
$database = new database(); |
|
| 40 |
$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."' AND password = '".md5($password)."'"; |
|
| 41 |
$results = $database->query($query); |
|
| 42 |
|
|
| 43 |
// Validate values |
|
| 44 |
if($results->numRows() == 0) {
|
|
| 45 |
$admin->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']); |
|
| 46 |
} |
|
| 47 |
if(!$admin->validate_email($email)) {
|
|
| 48 |
$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL']); |
|
| 49 |
} |
|
| 50 |
|
|
| 51 |
$email = $admin->add_slashes($email); |
|
| 52 |
|
|
| 53 |
// Update the database |
|
| 54 |
$database = new database(); |
|
| 55 |
$query = "UPDATE ".TABLE_PREFIX."users SET email = '$email' WHERE user_id = '".$admin->get_user_id()."'"; |
|
| 56 |
$database->query($query); |
|
| 57 |
if($database->is_error()) {
|
|
| 58 |
$admin->print_error($database->get_error); |
|
| 59 |
} else {
|
|
| 60 |
$admin->print_success($MESSAGE['PREFERENCES']['EMAIL_UPDATED']); |
|
| 61 |
$_SESSION['EMAIL'] = $email; |
|
| 62 |
} |
|
| 63 |
|
|
| 64 |
// Print admin footer |
|
| 65 |
$admin->print_footer(); |
|
| 66 |
|
|
| 67 |
?> |
|
| 68 | 0 | |
| branches/2.8.x/wb/admin/preferences/password.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 4 |
|
|
| 5 |
/* |
|
| 6 |
|
|
| 7 |
Website Baker Project <http://www.websitebaker.org/> |
|
| 8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
| 9 |
|
|
| 10 |
Website Baker is free software; you can redistribute it and/or modify |
|
| 11 |
it under the terms of the GNU General Public License as published by |
|
| 12 |
the Free Software Foundation; either version 2 of the License, or |
|
| 13 |
(at your option) any later version. |
|
| 14 |
|
|
| 15 |
Website Baker is distributed in the hope that it will be useful, |
|
| 16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 18 |
GNU General Public License for more details. |
|
| 19 |
|
|
| 20 |
You should have received a copy of the GNU General Public License |
|
| 21 |
along with Website Baker; if not, write to the Free Software |
|
| 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 23 |
|
|
| 24 |
*/ |
|
| 25 |
|
|
| 26 |
// Print admin header |
|
| 27 |
require('../../config.php');
|
|
| 28 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
| 29 |
$admin = new admin('Preferences');
|
|
| 30 |
|
|
| 31 |
// Get entered values |
|
| 32 |
$current_password = $admin->get_post('current_password');
|
|
| 33 |
$new_password = $admin->get_post('new_password');
|
|
| 34 |
$new_password2 = $admin->get_post('new_password2');
|
|
| 35 |
|
|
| 36 |
// Create a javascript back link |
|
| 37 |
$js_back = "javascript: history.go(-1);"; |
|
| 38 |
|
|
| 39 |
// Get existing password |
|
| 40 |
$database = new database(); |
|
| 41 |
$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."' AND password = '".md5($current_password)."'"; |
|
| 42 |
$results = $database->query($query); |
|
| 43 |
|
|
| 44 |
// Validate values |
|
| 45 |
if($results->numRows() == 0) {
|
|
| 46 |
$admin->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']); |
|
| 47 |
} |
|
| 48 |
if(strlen($new_password) < 3) {
|
|
| 49 |
$admin->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back); |
|
| 50 |
} |
|
| 51 |
if($new_password != $new_password2) {
|
|
| 52 |
$admin->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back); |
|
| 53 |
} |
|
| 54 |
|
|
| 55 |
// MD5 the password |
|
| 56 |
$md5_password = md5($new_password); |
|
| 57 |
|
|
| 58 |
// Update the database |
|
| 59 |
$database = new database(); |
|
| 60 |
$query = "UPDATE ".TABLE_PREFIX."users SET password = '$md5_password' WHERE user_id = '".$admin->get_user_id()."'"; |
|
| 61 |
$database->query($query); |
|
| 62 |
if($database->is_error()) {
|
|
| 63 |
$admin->print_error($database->get_error); |
|
| 64 |
} else {
|
|
| 65 |
$admin->print_success($MESSAGE['PREFERENCES']['PASSWORD_CHANGED']); |
|
| 66 |
} |
|
| 67 |
|
|
| 68 |
// Print admin footer |
|
| 69 |
$admin->print_footer(); |
|
| 70 |
|
|
| 71 |
?> |
|
| 72 | 0 | |
| branches/2.8.x/wb/admin/preferences/save.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category admin |
|
| 5 |
* @package preferences |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2010, 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 4.4.9 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
|
|
| 20 |
// Print admin header |
|
| 21 |
require('../../config.php');
|
|
| 22 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
| 23 |
$admin = new admin('Preferences');
|
|
| 24 |
$js_back = "javascript: history.go(-1);"; // Create a javascript back link |
|
| 25 |
|
|
| 26 |
function save_preferences( &$admin, &$database) |
|
| 27 |
{
|
|
| 28 |
global $MESSAGE; |
|
| 29 |
$err_msg = array(); |
|
| 30 |
$min_pass_length = 6; |
|
| 31 |
// first check form-tan |
|
| 32 |
if(!$admin->checkFTAN()){ $err_msg[] = $MESSAGE['PAGES']['NOT_SAVED']; }
|
|
| 33 |
// Get entered values and validate all |
|
| 34 |
// remove any dangerouse chars from display_name |
|
| 35 |
$display_name = $admin->add_slashes(strip_tags(trim($admin->get_post('display_name'))));
|
|
| 36 |
$display_name = ( $display_name == '' ? $admin->get_display_name() : $display_name ); |
|
| 37 |
// check that display_name is unique in whoole system (prevents from User-faking) |
|
| 38 |
$sql = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '; |
|
| 39 |
$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `display_name` LIKE "'.$display_name.'"'; |
|
| 40 |
if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['USERNAME_TAKEN']; }
|
|
| 41 |
// language must be 2 upercase letters only |
|
| 42 |
$language = strtoupper($admin->get_post('language'));
|
|
| 43 |
$language = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
|
|
| 44 |
// timezone must be between -12 and +13 or -20 as system_default |
|
| 45 |
$timezone = $admin->get_post('timezone');
|
|
| 46 |
$timezone = (is_numeric($timezone) ? $timezone : -20); |
|
| 47 |
$timezone = ( ($timezone >= -12 && $timezone <= 13) ? $timezone : -20 ) * 3600; |
|
| 48 |
// date_format must be a key from /interface/date_formats |
|
| 49 |
$date_format = $admin->get_post('date_format');
|
|
| 50 |
$user_time = true; |
|
| 51 |
include( ADMIN_PATH.'/interface/date_formats.php' ); |
|
| 52 |
$date_format = (array_key_exists($date_format, $DATE_FORMATS) ? $date_format : $DATE_FORMATS['system_default']); |
|
| 53 |
$date_format = ($DATE_FORMATS['system_default'] == $date_format ? '' : $date_format); |
|
| 54 |
unset($DATE_FORMATS); |
|
| 55 |
// time_format must be a key from /interface/time_formats |
|
| 56 |
$time_format = $admin->get_post('time_format');
|
|
| 57 |
$user_time = true; |
|
| 58 |
include( ADMIN_PATH.'/interface/time_formats.php' ); |
|
| 59 |
$time_format = (array_key_exists($time_format, $TIME_FORMATS) ? $time_format : $TIME_FORMATS['system_default']); |
|
| 60 |
$time_format = ($TIME_FORMATS['system_default'] == $time_format ? '' : $time_format); |
|
| 61 |
unset($TIME_FORMATS); |
|
| 62 |
// email should be validatet by core |
|
| 63 |
$email = ( $admin->get_post('email') == null ? '' : $admin->get_post('email') );
|
|
| 64 |
if( !$admin->validate_email($email) ) |
|
| 65 |
{
|
|
| 66 |
$email = ''; |
|
| 67 |
$err_msg[] = $MESSAGE['USERS']['INVALID_EMAIL']; |
|
| 68 |
}else {
|
|
| 69 |
// check that email is unique in whoole system |
|
| 70 |
$email = $admin->add_slashes($email); |
|
| 71 |
$sql = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '; |
|
| 72 |
$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `email` LIKE "'.$email.'"'; |
|
| 73 |
if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['EMAIL_TAKEN']; }
|
|
| 74 |
} |
|
| 75 |
// receive password vars and calculate needed action |
|
| 76 |
$current_password = $admin->get_post('current_password');
|
|
| 77 |
$current_password = ($current_password == null ? '' : $current_password); |
|
| 78 |
$new_password_1 = $admin->get_post('new_password_1');
|
|
| 79 |
$new_password_1 = (($new_password_1 == null || $new_password_1 == '') ? '' : $new_password_1); |
|
| 80 |
$new_password_2 = $admin->get_post('new_password_2');
|
|
| 81 |
$new_password_2 = (($new_password_2 == null || $new_password_2 == '') ? '' : $new_password_2); |
|
| 82 |
if($current_password == '') |
|
| 83 |
{
|
|
| 84 |
$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']; |
|
| 85 |
}else {
|
|
| 86 |
// if new_password is empty, still let current one |
|
| 87 |
if( $new_password_1 == '' ) |
|
| 88 |
{
|
|
| 89 |
$new_password_1 = $current_password; |
|
| 90 |
$new_password_2 = $current_password; |
|
| 91 |
} |
|
| 92 |
|
|
| 93 |
// is password lenght matching min_pass_lenght ? |
|
| 94 |
if( $new_password_1 != $current_password ) |
|
| 95 |
{
|
|
| 96 |
if( strlen($new_password_1) < $min_pass_length ) |
|
| 97 |
{
|
|
| 98 |
$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT']; |
|
| 99 |
} |
|
| 100 |
$pattern = '/[^'.$admin->password_chars.']/'; |
|
| 101 |
if( preg_match($pattern, $new_password_1) ) |
|
| 102 |
{
|
|
| 103 |
$err_msg[] = $MESSAGE['PREFERENCES']['INVALID_CHARS']; |
|
| 104 |
} |
|
| 105 |
} |
|
| 106 |
// is password lenght matching min_pass_lenght ? |
|
| 107 |
if( $new_password_1 != $current_password && strlen($new_password_1) < $min_pass_length ) |
|
| 108 |
{
|
|
| 109 |
$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT']; |
|
| 110 |
} |
|
| 111 |
// password_1 matching password_2 ? |
|
| 112 |
if( $new_password_1 != $new_password_2 ) |
|
| 113 |
{
|
|
| 114 |
$err_msg[] = $MESSAGE['USERS']['PASSWORD_MISMATCH']; |
|
| 115 |
} |
|
| 116 |
} |
|
| 117 |
$current_password = md5($current_password); |
|
| 118 |
$new_password_1 = md5($new_password_1); |
|
| 119 |
$new_password_2 = md5($new_password_2); |
|
| 120 |
// if no validation errors, try to update the database, otherwise return errormessages |
|
| 121 |
if(sizeof($err_msg) == 0) |
|
| 122 |
{
|
|
| 123 |
$sql = 'UPDATE `'.TABLE_PREFIX.'users` '; |
|
| 124 |
$sql .= 'SET `display_name` = "'.$display_name.'", '; |
|
| 125 |
$sql .= '`password` = "'.$new_password_1.'", '; |
|
| 126 |
$sql .= '`email` = "'.$email.'", '; |
|
| 127 |
$sql .= '`language` = "'.$language.'", '; |
|
| 128 |
$sql .= '`timezone` = "'.$timezone.'", '; |
|
| 129 |
$sql .= '`date_format` = "'.$date_format.'", '; |
|
| 130 |
$sql .= '`time_format` = "'.$time_format.'" '; |
|
| 131 |
$sql .= 'WHERE `user_id` = '.(int)$admin->get_user_id().' AND `password` = "'.$current_password.'"'; |
|
| 132 |
if( $database->query($sql) ) |
|
| 133 |
{
|
|
| 134 |
$sql_info = mysql_info($database->db_handle); |
|
| 135 |
if(preg_match('/matched: *([1-9][0-9]*)/i', $sql_info) != 1)
|
|
| 136 |
{ // if the user_id and password dosn't match
|
|
| 137 |
$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']; |
|
| 138 |
}else {
|
|
| 139 |
// update successfull, takeover values into the session |
|
| 140 |
$_SESSION['DISPLAY_NAME'] = $display_name; |
|
| 141 |
$_SESSION['LANGUAGE'] = $language; |
|
| 142 |
$_SESSION['TIMEZONE'] = $timezone; |
|
| 143 |
$_SESSION['EMAIL'] = $email; |
|
| 144 |
// Update date format |
|
| 145 |
if($date_format != '') {
|
|
| 146 |
$_SESSION['DATE_FORMAT'] = $date_format; |
|
| 147 |
if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
|
|
| 148 |
} else {
|
|
| 149 |
$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true; |
|
| 150 |
if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
|
|
| 151 |
} |
|
| 152 |
// Update time format |
|
| 153 |
if($time_format != '') {
|
|
| 154 |
$_SESSION['TIME_FORMAT'] = $time_format; |
|
| 155 |
if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
|
|
| 156 |
} else {
|
|
| 157 |
$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true; |
|
| 158 |
if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
|
|
| 159 |
} |
|
| 160 |
} |
|
| 161 |
}else {
|
|
| 162 |
$err_msg[] = 'invalid database UPDATE call in '.__FILE__.'::'.__FUNCTION__.'before line '.__LINE__; |
|
| 163 |
} |
|
| 164 |
} |
|
| 165 |
return ( (sizeof($err_msg) > 0) ? implode('<br />', $err_msg) : '' );
|
|
| 166 |
} |
|
| 167 |
$retval = save_preferences($admin, $database); |
|
| 168 |
if( $retval == '') |
|
| 169 |
{
|
|
| 170 |
$admin->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED']); |
|
| 171 |
$admin->print_footer(); |
|
| 172 |
}else {
|
|
| 173 |
$admin->print_error($retval, $js_back); |
|
| 174 |
} |
|
| 175 |
|
|
| 176 |
?> |
|
| 0 | 177 | |
| branches/2.8.x/wb/admin/preferences/index.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
/**************************************************************************** |
|
| 4 |
* SVN Version information: |
|
| 5 |
* |
|
| 6 |
* $Id$ |
|
| 7 |
* |
|
| 8 |
***************************************************************************** |
|
| 9 |
* |
|
| 10 |
***************************************************************************** |
|
| 11 |
* WebsiteBaker |
|
| 12 |
* |
|
| 13 |
* WebsiteBaker Project <http://www.websitebaker2.org/> |
|
| 14 |
* Copyright (C) 2009, Website Baker Org. e.V. |
|
| 15 |
* http://start.websitebaker2.org/impressum-datenschutz.php |
|
| 16 |
* Copyright (C) 2004-2009, Ryan Djurovich |
|
| 17 |
* |
|
| 18 |
* About WebsiteBaker |
|
| 19 |
* |
|
| 20 |
* Website Baker is a PHP-based Content Management System (CMS) |
|
| 21 |
* designed with one goal in mind: to enable its users to produce websites |
|
| 22 |
* with ease. |
|
| 23 |
* |
|
| 24 |
***************************************************************************** |
|
| 25 |
* |
|
| 26 |
***************************************************************************** |
|
| 27 |
* WebsiteBaker Extra Information |
|
| 28 |
* |
|
| 29 |
* @author : Ryan Djurovich, stefan, Matthias Gallas, thorn, Manuel Lang |
|
| 30 |
* @platform : WebsiteBaker 2.8 |
|
| 31 |
* |
|
| 32 |
***************************************************************************** |
|
| 33 |
* |
|
| 34 |
***************************************************************************** |
|
| 35 |
* LICENSE INFORMATION |
|
| 36 |
* |
|
| 37 |
* WebsiteBaker is free software; you can redistribute it and/or |
|
| 38 |
* modify it under the terms of the GNU General Public License |
|
| 39 |
* as published by the Free Software Foundation; either version 2 |
|
| 40 |
* of the License, or (at your option) any later version. |
|
| 41 |
* |
|
| 42 |
* WebsiteBaker is distributed in the hope that it will be useful, |
|
| 43 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 44 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
| 45 |
* See the GNU General Public License for more details. |
|
| 46 |
* |
|
| 47 |
* You should have received a copy of the GNU General Public License |
|
| 48 |
* along with this program; if not, write to the Free Software |
|
| 49 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
| 50 |
*****************************************************************************/ |
|
| 51 |
|
|
| 52 |
require('../../config.php');
|
|
| 53 |
require_once(WB_PATH.'/framework/class.admin.php'); |
|
| 54 |
$admin = new admin('Preferences');
|
|
| 55 |
|
|
| 56 |
require_once(WB_PATH.'/framework/functions-utf8.php'); |
|
| 57 |
|
|
| 58 |
// Create new template object for the preferences form |
|
| 59 |
$template = new Template(THEME_PATH.'/templates'); |
|
| 60 |
$template->set_file('page', 'preferences.htt');
|
|
| 61 |
$template->set_block('page', 'main_block', 'main');
|
|
| 62 |
|
|
| 63 |
// Get existing value from database |
|
| 64 |
$database = new database(); |
|
| 65 |
$query = "SELECT display_name,email FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."'"; |
|
| 66 |
$results = $database->query($query); |
|
| 67 |
if($database->is_error()) {
|
|
| 68 |
$admin->print_error($database->get_error(), 'index.php'); |
|
| 69 |
} |
|
| 70 |
$details = $results->fetchRow(); |
|
| 71 |
|
|
| 72 |
// Insert values into form |
|
| 73 |
$template->set_var('DISPLAY_NAME', $details['display_name']);
|
|
| 74 |
$template->set_var('EMAIL', $details['email']);
|
|
| 75 |
|
|
| 76 |
// Insert language values |
|
| 77 |
$template->set_block('main_block', 'language_list_block', 'language_list');
|
|
| 78 |
$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' order by name");
|
|
| 79 |
if($result->numRows() > 0) {
|
|
| 80 |
while($addon = $result->fetchRow()) {
|
|
| 81 |
$l_codes[$addon['name']] = $addon['directory']; |
|
| 82 |
$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround |
|
| 83 |
} |
|
| 84 |
asort($l_names); |
|
| 85 |
foreach($l_names as $l_name=>$v) {
|
|
| 86 |
// Insert code and name |
|
| 87 |
$template->set_var(array( |
|
| 88 |
'CODE' => $l_codes[$l_name], |
|
| 89 |
'NAME' => $l_name, |
|
| 90 |
'FLAG' => THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]), |
|
| 91 |
)); |
|
| 92 |
// Check if it is selected |
|
| 93 |
if(LANGUAGE == $l_codes[$l_name]) {
|
|
| 94 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 95 |
} else {
|
|
| 96 |
$template->set_var('SELECTED', '');
|
|
| 97 |
} |
|
| 98 |
$template->parse('language_list', 'language_list_block', true);
|
|
| 99 |
} |
|
| 100 |
} |
|
| 101 |
|
|
| 102 |
// Insert default timezone values |
|
| 103 |
require(ADMIN_PATH.'/interface/timezones.php'); |
|
| 104 |
$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
|
|
| 105 |
foreach($TIMEZONES AS $hour_offset => $title) {
|
|
| 106 |
$template->set_var('VALUE', $hour_offset);
|
|
| 107 |
$template->set_var('NAME', $title);
|
|
| 108 |
if($admin->get_timezone() == $hour_offset*60*60) {
|
|
| 109 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 110 |
} else {
|
|
| 111 |
$template->set_var('SELECTED', '');
|
|
| 112 |
} |
|
| 113 |
$template->parse('timezone_list', 'timezone_list_block', true);
|
|
| 114 |
} |
|
| 115 |
|
|
| 116 |
// Insert date format list |
|
| 117 |
$user_time = true; |
|
| 118 |
require(ADMIN_PATH.'/interface/date_formats.php'); |
|
| 119 |
$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
|
|
| 120 |
foreach($DATE_FORMATS AS $format => $title) {
|
|
| 121 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 122 |
if($format != 'system_default') {
|
|
| 123 |
$template->set_var('VALUE', $format);
|
|
| 124 |
} else {
|
|
| 125 |
$template->set_var('VALUE', '');
|
|
| 126 |
} |
|
| 127 |
$template->set_var('NAME', $title);
|
|
| 128 |
if(DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
|
|
| 129 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 130 |
} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
|
|
| 131 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 132 |
} else {
|
|
| 133 |
$template->set_var('SELECTED', '');
|
|
| 134 |
} |
|
| 135 |
$template->parse('date_format_list', 'date_format_list_block', true);
|
|
| 136 |
} |
|
| 137 |
|
|
| 138 |
// Insert time format list |
|
| 139 |
require(ADMIN_PATH.'/interface/time_formats.php'); |
|
| 140 |
$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
|
|
| 141 |
foreach($TIME_FORMATS AS $format => $title) {
|
|
| 142 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 143 |
if($format != 'system_default') {
|
|
| 144 |
$template->set_var('VALUE', $format);
|
|
| 145 |
} else {
|
|
| 146 |
$template->set_var('VALUE', '');
|
|
| 147 |
} |
|
| 148 |
$template->set_var('NAME', $title);
|
|
| 149 |
if(TIME_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
|
|
| 150 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 151 |
} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
|
|
| 152 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 153 |
} else {
|
|
| 154 |
$template->set_var('SELECTED', '');
|
|
| 155 |
} |
|
| 156 |
$template->parse('time_format_list', 'time_format_list_block', true);
|
|
| 157 |
} |
|
| 158 |
|
|
| 159 |
// Insert language headings |
|
| 160 |
$template->set_var(array( |
|
| 161 |
'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'], |
|
| 162 |
'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'], |
|
| 163 |
'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD'] |
|
| 164 |
) |
|
| 165 |
); |
|
| 166 |
// insert urls |
|
| 167 |
$template->set_var(array( |
|
| 168 |
'ADMIN_URL' => ADMIN_URL, |
|
| 169 |
'WB_URL' => WB_URL, |
|
| 170 |
'WB_PATH' => WB_PATH, |
|
| 171 |
'THEME_URL' => THEME_URL |
|
| 172 |
) |
|
| 173 |
); |
|
| 174 |
// Insert language text and messages |
|
| 175 |
$template->set_var(array( |
|
| 176 |
'TEXT_SAVE' => $TEXT['SAVE'], |
|
| 177 |
'TEXT_RESET' => $TEXT['RESET'], |
|
| 178 |
'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'], |
|
| 179 |
'TEXT_EMAIL' => $TEXT['EMAIL'], |
|
| 180 |
'TEXT_LANGUAGE' => $TEXT['LANGUAGE'], |
|
| 181 |
'TEXT_TIMEZONE' => $TEXT['TIMEZONE'], |
|
| 182 |
'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'], |
|
| 183 |
'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'], |
|
| 184 |
'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'], |
|
| 185 |
'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], |
|
| 186 |
'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'], |
|
| 187 |
'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'] |
|
| 188 |
) |
|
| 189 |
); |
|
| 190 |
|
|
| 191 |
// Parse template for preferences form |
|
| 192 |
$template->parse('main', 'main_block', false);
|
|
| 193 |
$template->pparse('output', 'page');
|
|
| 194 |
|
|
| 195 |
$admin->print_footer(); |
|
| 196 |
|
|
| 1 |
<?php |
|
| 2 |
/** |
|
| 3 |
* |
|
| 4 |
* @category admin |
|
| 5 |
* @package preferences |
|
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2010, 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 4.4.9 and higher |
|
| 13 |
* @version $Id$ |
|
| 14 |
* @filesource $HeadURL$ |
|
| 15 |
* @lastmodified $Date$ |
|
| 16 |
* |
|
| 17 |
*/ |
|
| 18 |
|
|
| 19 |
// prevent this file from being accessed directly |
|
| 20 |
//if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
|
|
| 21 |
//Workaround if this is first page (WBAdmin in use) |
|
| 22 |
|
|
| 23 |
// put all inside a function to prevent global vars |
|
| 24 |
function build_page( &$admin, &$database ) |
|
| 25 |
{
|
|
| 26 |
include_once(WB_PATH.'/framework/functions-utf8.php'); |
|
| 27 |
// Create new template object, assign template file, start main-block |
|
| 28 |
$template = new Template( THEME_PATH.'/templates' ); |
|
| 29 |
$template->set_file( 'page', 'preferences.htt' ); |
|
| 30 |
$template->set_block( 'page', 'main_block', 'main' ); |
|
| 31 |
// read user-info from table users and assign it to template |
|
| 32 |
$sql = 'SELECT `display_name`, `username`, `email` FROM `'.TABLE_PREFIX.'users` '; |
|
| 33 |
$sql .= 'WHERE `user_id` = '.(int)$admin->get_user_id(); |
|
| 34 |
if( $res_user = $database->query($sql) ) |
|
| 35 |
{
|
|
| 36 |
if( $rec_user = $res_user->fetchRow() ) |
|
| 37 |
{
|
|
| 38 |
$template->set_var('DISPLAY_NAME', $rec_user['display_name']);
|
|
| 39 |
$template->set_var('USERNAME', $rec_user['username']);
|
|
| 40 |
$template->set_var('EMAIL', $rec_user['email']);
|
|
| 41 |
$template->set_var('ADMIN_URL', ADMIN_URL);
|
|
| 42 |
} |
|
| 43 |
} |
|
| 44 |
// read available languages from table addons and assign it to the template |
|
| 45 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` '; |
|
| 46 |
$sql .= 'WHERE `type` = "language" ORDER BY `directory`'; |
|
| 47 |
if( $res_lang = $database->query($sql) ) |
|
| 48 |
{
|
|
| 49 |
$template->set_block('main_block', 'language_list_block', 'language_list');
|
|
| 50 |
while( $rec_lang = $res_lang->fetchRow() ) |
|
| 51 |
{
|
|
| 52 |
$template->set_var('CODE', $rec_lang['directory']);
|
|
| 53 |
$template->set_var('NAME', $rec_lang['name']);
|
|
| 54 |
$template->set_var('FLAG', THEME_URL.'/images/flags/'.strtolower($rec_lang['directory']));
|
|
| 55 |
$template->set_var('SELECTED', (LANGUAGE == $rec_lang['directory'] ? ' selected="selected"' : '') );
|
|
| 56 |
$template->parse('language_list', 'language_list_block', true);
|
|
| 57 |
} |
|
| 58 |
} |
|
| 59 |
// Insert default timezone values |
|
| 60 |
include_once( ADMIN_PATH.'/interface/timezones.php' ); |
|
| 61 |
$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
|
|
| 62 |
foreach( $TIMEZONES AS $hour_offset => $title ) |
|
| 63 |
{
|
|
| 64 |
$template->set_var('VALUE', $hour_offset);
|
|
| 65 |
$template->set_var('NAME', $title);
|
|
| 66 |
$template->set_var('SELECTED', ($admin->get_timezone() == ($hour_offset * 3600) ? ' selected="selected"' : '') );
|
|
| 67 |
$template->parse('timezone_list', 'timezone_list_block', true);
|
|
| 68 |
} |
|
| 69 |
// Insert date format list |
|
| 70 |
$user_time = true; |
|
| 71 |
include_once( ADMIN_PATH.'/interface/date_formats.php' ); |
|
| 72 |
$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
|
|
| 73 |
foreach( $DATE_FORMATS AS $format => $title ) |
|
| 74 |
{
|
|
| 75 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 76 |
$template->set_var( 'VALUE', ($format != 'system_default' ? $format : 'system_default') ); |
|
| 77 |
$template->set_var( 'NAME', $title ); |
|
| 78 |
if( (DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) OR |
|
| 79 |
('system_default' == $format AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) )
|
|
| 80 |
{
|
|
| 81 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 82 |
}else {
|
|
| 83 |
$template->set_var('SELECTED', '');
|
|
| 84 |
} |
|
| 85 |
$template->parse('date_format_list', 'date_format_list_block', true);
|
|
| 86 |
} |
|
| 87 |
// Insert time format list |
|
| 88 |
include_once( ADMIN_PATH.'/interface/time_formats.php' ); |
|
| 89 |
$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
|
|
| 90 |
foreach( $TIME_FORMATS AS $format => $title ) |
|
| 91 |
{
|
|
| 92 |
$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
|
|
| 93 |
$template->set_var('VALUE', $format != 'system_default' ? $format : '' );
|
|
| 94 |
$template->set_var('NAME', $title);
|
|
| 95 |
if( (TIME_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) OR |
|
| 96 |
('system_default' == $format AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) )
|
|
| 97 |
{
|
|
| 98 |
$template->set_var('SELECTED', ' selected="selected"');
|
|
| 99 |
} else {
|
|
| 100 |
$template->set_var('SELECTED', '');
|
|
| 101 |
} |
|
| 102 |
$template->parse('time_format_list', 'time_format_list_block', true);
|
|
| 103 |
} |
|
| 104 |
|
|
| 105 |
// assign systemvars to template |
|
| 106 |
$template->set_var(array( 'ADMIN_URL' => ADMIN_URL, |
|
| 107 |
'WB_URL' => WB_URL, |
|
| 108 |
'WB_PATH' => WB_PATH, |
|
| 109 |
'THEME_URL' => THEME_URL, |
|
| 110 |
'ACTION_URL' => ADMIN_URL.'/preferences/save.php' |
|
| 111 |
) |
|
| 112 |
); |
|
| 113 |
$template->set_var('FTAN', $admin->getFTAN());
|
|
| 114 |
$template->set_var('FORM_NAME', 'preferences_save');
|
|
| 115 |
// assign language vars |
|
| 116 |
global $HEADING, $TEXT; |
|
| 117 |
$template->set_var(array( 'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'], |
|
| 118 |
'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'], |
|
| 119 |
'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD'], |
|
| 120 |
'TEXT_SAVE' => $TEXT['SAVE'], |
|
| 121 |
'TEXT_RESET' => $TEXT['RESET'], |
|
| 122 |
'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'], |
|
| 123 |
'TEXT_USERNAME' => $TEXT['USERNAME'], |
|
| 124 |
'TEXT_EMAIL' => $TEXT['EMAIL'], |
|
| 125 |
'TEXT_LANGUAGE' => $TEXT['LANGUAGE'], |
|
| 126 |
'TEXT_TIMEZONE' => $TEXT['TIMEZONE'], |
|
| 127 |
'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'], |
|
| 128 |
'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'], |
|
| 129 |
'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'], |
|
| 130 |
'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], |
|
| 131 |
'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'], |
|
| 132 |
'EMPTY_STRING' => '' |
|
| 133 |
) |
|
| 134 |
); |
|
| 135 |
// Parse template for preferences form |
|
| 136 |
$template->parse('main', 'main_block', false);
|
|
| 137 |
$output = $template->finish($template->parse('output', 'page'));
|
|
| 138 |
return $output; |
|
| 139 |
} |
|
| 140 |
// test if valid $admin-object already exists (bit complicated about PHP4 Compatibility) |
|
| 141 |
if( !(isset($admin) && is_object($admin) && (get_class($admin) == 'admin')) ) |
|
| 142 |
{
|
|
| 143 |
require( '../../config.php' ); |
|
| 144 |
require_once( WB_PATH.'/framework/class.admin.php' ); |
|
| 145 |
$admin = new admin('Preferences');
|
|
| 146 |
} |
|
| 147 |
echo build_page($admin, $database); |
|
| 148 |
$admin->print_footer(); |
|
| 149 |
|
|
| 197 | 150 |
?> |
| 198 | 151 | |
| branches/2.8.x/wb/framework/class.wb.php | ||
|---|---|---|
| 26 | 26 |
|
| 27 | 27 |
class wb |
| 28 | 28 |
{
|
| 29 |
|
|
| 30 |
public $password_chars = 'a-zA-Z0-9\_\-\!\#\*\+'; |
|
| 29 | 31 |
// General initialization function |
| 30 | 32 |
// performed when frontend or backend is loaded. |
| 31 | 33 |
function wb() {
|
| 32 | 34 |
} |
| 33 | 35 |
|
| 36 |
|
|
| 34 | 37 |
// Check whether a page is visible or not. |
| 35 | 38 |
// This will check page-visibility and user- and group-rights. |
| 36 | 39 |
/* page_is_visible() returns |
| ... | ... | |
| 278 | 281 |
* |
| 279 | 282 |
* requirements: an active session must be available |
| 280 | 283 |
*/ |
| 281 |
public function getFTAN( $asTAG = true)
|
|
| 284 |
public function getFTAN( $as_tag = true)
|
|
| 282 | 285 |
{
|
| 283 | 286 |
if(function_exists('microtime'))
|
| 284 | 287 |
{
|
| 285 | 288 |
list($usec, $sec) = explode(" ", microtime());
|
| 286 |
$time = ((float)$usec + (float)$sec); |
|
| 289 |
$time = (string)((float)$usec + (float)$sec);
|
|
| 287 | 290 |
}else{
|
| 288 |
$time = time(); |
|
| 291 |
$time = (string)time();
|
|
| 289 | 292 |
} |
| 290 |
$ftan = md5(((string)$time).$_SERVER['SERVER_ADDR']); |
|
| 293 |
$salt = ( isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : ''); |
|
| 294 |
$salt .= ( isset($_SERVER['HTTP_ACCEPT_CHARSET']) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : ''); |
|
| 295 |
$salt .= ( isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : ''); |
|
| 296 |
$salt .= ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ''); |
|
| 297 |
$salt .= ( isset($_SERVER['HTTP_CONNECTION']) ? $_SERVER['HTTP_CONNECTION'] : ''); |
|
| 298 |
$salt .= ( isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''); |
|
| 299 |
$salt .= ( isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : ''); |
|
| 300 |
$salt = ( $salt !== '' ) ? $salt : 'eXtremelyHotTomatoJuice'; |
|
| 301 |
$ftan = md5($time.$salt); |
|
| 291 | 302 |
$_SESSION['FTAN'] = $ftan; |
| 292 | 303 |
$ftan0 = 'a'.substr($ftan, -(10 + hexdec(substr($ftan, 1))), 10); |
| 293 | 304 |
$ftan1 = 'a'.substr($ftan, hexdec(substr($ftan, -1)), 10); |
| 294 |
if($asTAG == true)
|
|
| 305 |
if($as_tag == true)
|
|
| 295 | 306 |
{
|
| 296 | 307 |
return '<input type="hidden" name="'.$ftan0.'" value="'.$ftan1.'" title="" />'; |
| 297 | 308 |
}else{
|
Also available in: Unified diff
show_menu2 remove unneeded code for WB < 2.7
class.wb.php, recoding backend preference
add a language variable $MESSAGE['PREFERENCES']['INVALID_CHARS']
update theme.css & preference.htt in argos_theme & wb_theme
remove classic_theme