Project

General

Profile

« Previous | Next » 

Revision 1425

Added by Luisehahne about 14 years ago

redefined wrong admin backlinks

View differences:

branches/2.8.x/CHANGELOG
11 11
! = Update/Change
12 12

  
13 13
------------------------------------- 2.8.2 -------------------------------------
14
03 Feb-2011 Build 1425 Dietmar Woellbrink (Luisehahne)
15
! redefined wrong admin backlinks
14 16
31 Jan-2011 Build 1424 Werner v.d.Decken(DarkViper)
15 17
# typo fix and simplify used_octets calculation
16 18
30 Jan-2011 Build 1423 Werner v.d.Decken(DarkViper)
branches/2.8.x/wb/admin/groups/save.php
21 21
require_once(WB_PATH.'/framework/class.admin.php');
22 22
$admin = new admin('Access', 'groups_modify');
23 23

  
24
// Create a javascript back link
25
$js_back = ADMIN_URL.'/groups/index.php';
26

  
24 27
if (!$admin->checkFTAN())
25 28
{
26
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
29
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back);
27 30
	exit();
28 31
}
29 32

  
......
38 41
// Gather details entered
39 42
$group_name = $admin->get_post_escaped('group_name');
40 43

  
41
// Create a javascript back link
42
$js_back = "javascript: history.go(-1);";
43

  
44 44
// Check values
45 45
if($group_name == "") {
46 46
	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
branches/2.8.x/wb/admin/groups/groups.php
1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         groups
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$
14
 * @filesource		$HeadURL$
15
 * @lastmodified    $Date$
16
 *
17
 */
18

  
19
// Include config file and admin class file
20
require('../../config.php');
21
require_once(WB_PATH.'/framework/class.admin.php');
22

  
23
// Create new database object
24
// $database = new database();
25

  
26
if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
27
	header("Location: index.php");
28
	exit(0);
29
}
30

  
31
// Set parameter 'action' as alternative to javascript mechanism
32
if(isset($_POST['modify']))
33
	$_POST['action'] = "modify";
34
if(isset($_POST['delete']))
35
	$_POST['action'] = "delete";
36

  
37
// Check if group group_id is a valid number and doesnt equal 1
38
if(!isset($_POST['group_id']) OR !is_numeric($_POST['group_id']) OR $_POST['group_id'] == 1) {
39
	header("Location: index.php");
40
	exit(0);
41
}
42

  
43
if($_POST['action'] == 'modify') {
44
	// Create new admin object
45
	$admin = new admin('Access', 'groups_modify', false);
46

  
47
	if (!$admin->checkFTAN())
48
	{
49
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
50
		exit();
51
	}
52
	// Print header
53
	$admin->print_header();
54
	// Get existing values
55
	$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."'");
56
	$group = $results->fetchRow();
57
	// Setup template object
58
	$template = new Template(THEME_PATH.'/templates');
59
	$template->set_file('page', 'groups_form.htt');
60
	$template->set_block('page', 'main_block', 'main');
61
	$template->set_var(	array(
62
							'ACTION_URL' => ADMIN_URL.'/groups/save.php',
63
							'SUBMIT_TITLE' => $TEXT['SAVE'],
64
							'GROUP_ID' => $group['group_id'],
65
							'GROUP_NAME' => $group['name'],
66
							'ADVANCED_ACTION' => 'groups.php',
67
							'FTAN' => $admin->getFTAN()
68
						));
69
	// Tell the browser whether or not to show advanced options
70
	if( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
71
		$template->set_var('DISPLAY_ADVANCED', '');
72
		$template->set_var('DISPLAY_BASIC', 'display:none;');
73
		$template->set_var('ADVANCED', 'yes');
74
		$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
75
	} else {
76
		$template->set_var('DISPLAY_ADVANCED', 'display:none;');
77
		$template->set_var('DISPLAY_BASIC', '');
78
		$template->set_var('ADVANCED', 'no');
79
		$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].'  &gt;&gt;');
80
	}
81

  
82
	// Explode system permissions
83
	$system_permissions = explode(',', $group['system_permissions']);
84
	// Check system permissions boxes
85
	foreach($system_permissions AS $name) {
86
			$template->set_var($name.'_checked', ' checked="checked"');
87
	}
88
	// Explode module permissions
89
	$module_permissions = explode(',', $group['module_permissions']);
90
	// Explode template permissions
91
	$template_permissions = explode(',', $group['template_permissions']);
92
	
93
	// Insert values into module list
94
	$template->set_block('main_block', 'module_list_block', 'module_list');
95
	$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "module" AND `function` = "page" ORDER BY `name`');
96
	if($result->numRows() > 0) {
97
		while($addon = $result->fetchRow()) {
98
			$template->set_var('VALUE', $addon['directory']);
99
			$template->set_var('NAME', $addon['name']);
100
			if(!is_numeric(array_search($addon['directory'], $module_permissions))) {
101
				$template->set_var('CHECKED', ' checked="checked"');
102
			} else {
103
				$template->set_var('CHECKED', '');
104
			}
105
			$template->parse('module_list', 'module_list_block', true);
106
		}
107
	}
108
	
109
	// Insert values into template list
110
	$template->set_block('main_block', 'template_list_block', 'template_list');
111
	$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" ORDER BY `name`');
112
	if($result->numRows() > 0) {
113
		while($addon = $result->fetchRow()) {
114
			$template->set_var('VALUE', $addon['directory']);
115
			$template->set_var('NAME', $addon['name']);
116
			if(!is_numeric(array_search($addon['directory'], $template_permissions))) {
117
				$template->set_var('CHECKED', ' checked="checked"');
118
			} else {
119
				$template->set_var('CHECKED', '');
120
			}
121
			$template->parse('template_list', 'template_list_block', true);
122
		}
123
	}
124
		
125
	// Insert language text and messages
126
	$template->set_var(array(
127
				'TEXT_RESET' => $TEXT['RESET'],
128
				'TEXT_ACTIVE' => $TEXT['ACTIVE'],
129
				'TEXT_DISABLED' => $TEXT['DISABLED'],
130
				'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
131
				'TEXT_USERNAME' => $TEXT['USERNAME'],
132
				'TEXT_PASSWORD' => $TEXT['PASSWORD'],
133
				'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
134
				'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
135
				'TEXT_EMAIL' => $TEXT['EMAIL'],
136
				'TEXT_GROUP' => $TEXT['GROUP'],
137
				'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
138
				'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
139
				'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
140
				'TEXT_NAME' => $TEXT['NAME'],
141
				'SECTION_PAGES' => $MENU['PAGES'],
142
				'SECTION_MEDIA' => $MENU['MEDIA'],
143
				'SECTION_MODULES' => $MENU['MODULES'],
144
				'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
145
				'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
146
				'SECTION_SETTINGS' => $MENU['SETTINGS'],
147
				'SECTION_USERS' => $MENU['USERS'],
148
				'SECTION_GROUPS' => $MENU['GROUPS'],
149
				'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
150
				'TEXT_VIEW' => $TEXT['VIEW'],
151
				'TEXT_ADD' => $TEXT['ADD'],
152
				'TEXT_LEVEL' => $TEXT['LEVEL'],
153
				'TEXT_MODIFY' => $TEXT['MODIFY'],
154
				'TEXT_DELETE' => $TEXT['DELETE'],
155
				'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
156
				'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
157
				'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
158
				'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
159
				'TEXT_RENAME' => $TEXT['RENAME'],
160
				'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
161
				'TEXT_BASIC' => $TEXT['BASIC'],
162
				'TEXT_ADVANCED' => $TEXT['ADVANCED'],
163
				'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
164
				'HEADING_MODIFY_GROUP' => $HEADING['MODIFY_GROUP'],
165
			));
166
	
167
	// Parse template object
168
	$template->parse('main', 'main_block', false);
169
	$template->pparse('output', 'page');
170
} elseif($_POST['action'] == 'delete') {
171
	// Create new admin object
172
	$admin = new admin('Access', 'groups_delete', false);
173

  
174
	if (!$admin->checkFTAN())
175
	{
176
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
177
		exit();
178
	}
179

  
180
	// Print header
181
	$admin->print_header();
182
	// Delete the group
183
	$database->query("DELETE FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."' LIMIT 1");
184
	if($database->is_error()) {
185
		$admin->print_error($database->get_error());
186
	} else {
187
		// Delete users in the group
188
		$database->query("DELETE FROM ".TABLE_PREFIX."users WHERE group_id = '".$_POST['group_id']."'");
189
		if($database->is_error()) {
190
			$admin->print_error($database->get_error());
191
		} else {
192
			$admin->print_success($MESSAGE['GROUPS']['DELETED']);
193
		}
194
	}
195
}
196

  
197
// Print admin footer
198
$admin->print_footer();
199

  
1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         groups
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$
14
 * @filesource		$HeadURL$
15
 * @lastmodified    $Date$
16
 *
17
 */
18

  
19
// Include config file and admin class file
20
require('../../config.php');
21
require_once(WB_PATH.'/framework/class.admin.php');
22

  
23
// Create new database object
24
// $database = new database();
25

  
26
if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
27
	header("Location: index.php");
28
	exit(0);
29
}
30

  
31
// Set parameter 'action' as alternative to javascript mechanism
32
if(isset($_POST['modify']))
33
	$_POST['action'] = "modify";
34
if(isset($_POST['delete']))
35
	$_POST['action'] = "delete";
36

  
37
// Check if group group_id is a valid number and doesnt equal 1
38
if(!isset($_POST['group_id']) OR !is_numeric($_POST['group_id']) OR $_POST['group_id'] == 1) {
39
	header("Location: index.php");
40
	exit(0);
41
}
42

  
43
if($_POST['action'] == 'modify') {
44
	// Create new admin object
45
	$admin = new admin('Access', 'groups_modify', false);
46
/*  */
47
	if (!$admin->checkFTAN())
48
	{
49
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
50
		exit();
51
	}
52

  
53
	// Print header
54
	$admin->print_header();
55
	// Get existing values
56
	$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."'");
57
	$group = $results->fetchRow();
58
	// Setup template object
59
	$template = new Template(THEME_PATH.'/templates');
60
	$template->set_file('page', 'groups_form.htt');
61
	$template->set_block('page', 'main_block', 'main');
62
	$template->set_var(	array(
63
							'ACTION_URL' => ADMIN_URL.'/groups/save.php',
64
							'SUBMIT_TITLE' => $TEXT['SAVE'],
65
							'GROUP_ID' => $group['group_id'],
66
							'GROUP_NAME' => $group['name'],
67
							'ADVANCED_ACTION' => 'groups.php',
68
							'FTAN' => $admin->getFTAN()
69
						));
70
	// Tell the browser whether or not to show advanced options
71
	if( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
72
		$template->set_var('DISPLAY_ADVANCED', '');
73
		$template->set_var('DISPLAY_BASIC', 'display:none;');
74
		$template->set_var('ADVANCED', 'yes');
75
		$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
76
	} else {
77
		$template->set_var('DISPLAY_ADVANCED', 'display:none;');
78
		$template->set_var('DISPLAY_BASIC', '');
79
		$template->set_var('ADVANCED', 'no');
80
		$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].'  &gt;&gt;');
81
	}
82

  
83
	// Explode system permissions
84
	$system_permissions = explode(',', $group['system_permissions']);
85
	// Check system permissions boxes
86
	foreach($system_permissions AS $name) {
87
			$template->set_var($name.'_checked', ' checked="checked"');
88
	}
89
	// Explode module permissions
90
	$module_permissions = explode(',', $group['module_permissions']);
91
	// Explode template permissions
92
	$template_permissions = explode(',', $group['template_permissions']);
93
	
94
	// Insert values into module list
95
	$template->set_block('main_block', 'module_list_block', 'module_list');
96
	$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "module" AND `function` = "page" ORDER BY `name`');
97
	if($result->numRows() > 0) {
98
		while($addon = $result->fetchRow()) {
99
			$template->set_var('VALUE', $addon['directory']);
100
			$template->set_var('NAME', $addon['name']);
101
			if(!is_numeric(array_search($addon['directory'], $module_permissions))) {
102
				$template->set_var('CHECKED', ' checked="checked"');
103
			} else {
104
				$template->set_var('CHECKED', '');
105
			}
106
			$template->parse('module_list', 'module_list_block', true);
107
		}
108
	}
109
	
110
	// Insert values into template list
111
	$template->set_block('main_block', 'template_list_block', 'template_list');
112
	$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" ORDER BY `name`');
113
	if($result->numRows() > 0) {
114
		while($addon = $result->fetchRow()) {
115
			$template->set_var('VALUE', $addon['directory']);
116
			$template->set_var('NAME', $addon['name']);
117
			if(!is_numeric(array_search($addon['directory'], $template_permissions))) {
118
				$template->set_var('CHECKED', ' checked="checked"');
119
			} else {
120
				$template->set_var('CHECKED', '');
121
			}
122
			$template->parse('template_list', 'template_list_block', true);
123
		}
124
	}
125
		
126
	// Insert language text and messages
127
	$template->set_var(array(
128
				'TEXT_RESET' => $TEXT['RESET'],
129
				'TEXT_ACTIVE' => $TEXT['ACTIVE'],
130
				'TEXT_DISABLED' => $TEXT['DISABLED'],
131
				'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
132
				'TEXT_USERNAME' => $TEXT['USERNAME'],
133
				'TEXT_PASSWORD' => $TEXT['PASSWORD'],
134
				'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
135
				'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
136
				'TEXT_EMAIL' => $TEXT['EMAIL'],
137
				'TEXT_GROUP' => $TEXT['GROUP'],
138
				'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
139
				'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
140
				'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
141
				'TEXT_NAME' => $TEXT['NAME'],
142
				'SECTION_PAGES' => $MENU['PAGES'],
143
				'SECTION_MEDIA' => $MENU['MEDIA'],
144
				'SECTION_MODULES' => $MENU['MODULES'],
145
				'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
146
				'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
147
				'SECTION_SETTINGS' => $MENU['SETTINGS'],
148
				'SECTION_USERS' => $MENU['USERS'],
149
				'SECTION_GROUPS' => $MENU['GROUPS'],
150
				'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
151
				'TEXT_VIEW' => $TEXT['VIEW'],
152
				'TEXT_ADD' => $TEXT['ADD'],
153
				'TEXT_LEVEL' => $TEXT['LEVEL'],
154
				'TEXT_MODIFY' => $TEXT['MODIFY'],
155
				'TEXT_DELETE' => $TEXT['DELETE'],
156
				'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
157
				'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
158
				'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
159
				'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
160
				'TEXT_RENAME' => $TEXT['RENAME'],
161
				'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
162
				'TEXT_BASIC' => $TEXT['BASIC'],
163
				'TEXT_ADVANCED' => $TEXT['ADVANCED'],
164
				'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
165
				'HEADING_MODIFY_GROUP' => $HEADING['MODIFY_GROUP'],
166
			));
167
	
168
	// Parse template object
169
	$template->parse('main', 'main_block', false);
170
	$template->pparse('output', 'page');
171
} elseif($_POST['action'] == 'delete') {
172
	// Create new admin object
173
	$admin = new admin('Access', 'groups_delete', false);
174
/*  */
175
	if (!$admin->checkFTAN())
176
	{
177
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
178
		exit();
179
	}
180

  
181
	// Print header
182
	$admin->print_header();
183
	// Delete the group
184
	$database->query("DELETE FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."' LIMIT 1");
185
	if($database->is_error()) {
186
		$admin->print_error($database->get_error());
187
	} else {
188
		// Delete users in the group
189
		$database->query("DELETE FROM ".TABLE_PREFIX."users WHERE group_id = '".$_POST['group_id']."'");
190
		if($database->is_error()) {
191
			$admin->print_error($database->get_error());
192
		} else {
193
			$admin->print_success($MESSAGE['GROUPS']['DELETED']);
194
		}
195
	}
196
}
197

  
198
// Print admin footer
199
$admin->print_footer();
200

  
200 201
?>
branches/2.8.x/wb/admin/groups/add.php
21 21
require_once(WB_PATH.'/framework/class.admin.php');
22 22
$admin = new admin('Access', 'groups_add');
23 23

  
24
// Create a javascript back link
25
$js_back = ADMIN_URL.'/groups/index.php';
26

  
24 27
if (!$admin->checkFTAN())
25 28
{
26
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL);
29
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back);
27 30
	exit();
28 31
}
29 32

  
30 33
// Gather details entered
31 34
$group_name = $admin->get_post('group_name');
32 35

  
33
// Create a javascript back link
34
$js_back = "javascript: history.go(-1);";
35

  
36 36
// Check values
37 37
if($group_name == "") {
38 38
	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
branches/2.8.x/wb/admin/media/rename2.php
23 23

  
24 24
if (!$admin->checkFTAN())
25 25
{
26
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);
26
	$admin->print_error('RN5::'.$MESSAGE['GENERIC_SECURITY_ACCESS']);
27 27
	exit();
28 28
}
29 29

  
......
54 54
// Get the temp id
55 55
$file_id = $admin->checkIDKEY('id', false, 'POST');
56 56
if (!$file_id) {
57
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);
57
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
58 58
}
59 59

  
60 60
// Get home folder not to show
branches/2.8.x/wb/admin/media/setparameter.php
1
<?php

2
/**

3
 *

4
 * @category        admin

5
 * @package         admintools

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$

14
 * @filesource		$HeadURL:  $

15
 * @lastmodified    $Date:  $

16
 *

17
 */

18

  
19
require('../../config.php');

20
require_once(WB_PATH.'/framework/class.admin.php');

21
$admin = new admin('Media', 'media', false);

22
// Include the WB functions file

23
require_once(WB_PATH.'/framework/functions.php');

24

  
25
// check if theme language file exists for the language set by the user (e.g. DE, EN)

26
if(!file_exists(THEME_PATH .'/languages/'.LANGUAGE .'.php')) {

27
	// no theme language file exists for the language set by the user, include default theme language file EN.php

28
	require_once(THEME_PATH .'/languages/EN.php');

29
} else {

30
	// a theme language file exists for the language defined by the user, load it

31
	require_once(THEME_PATH .'/languages/'.LANGUAGE .'.php');

32
}

33

  
34
//Save post vars to the parameters file

35
if ( !is_null($admin->get_post_escaped("save"))) {

36
	if (!$admin->checkFTAN())

37
	{

38
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);

39
		exit();

40
	}

41
	
42
	//Check for existing settings entry, if not existing, create a record first!

43
	if (!$database->query ( "SELECT * FROM ".TABLE_PREFIX."settings where `name`='mediasettings'" )) {

44
		$database->query ( "INSERT INTO ".TABLE_PREFIX."settings (`name`,`value`) VALUES ('mediasettings','')" );

45
	}

46
	$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);

47
	$dirs[] = WB_PATH.MEDIA_DIRECTORY;

48
	foreach($dirs AS $name) {

49
		$r = str_replace(WB_PATH, '', $name);

50
		$r = str_replace(array('/',' '),'_',$r);

51
		$w = (int)$admin->get_post_escaped($r.'-w');

52
		$h = (int)$admin->get_post_escaped($r.'-h');

53
		$pathsettings[$r]['width']=$w; 

54
		$pathsettings[$r]['height']=$h;

55
	}

56
	$pathsettings['global']['admin_only'] = ($admin->get_post_escaped('admin_only')!=''?'checked':'');

57
	$pathsettings['global']['show_thumbs'] = ($admin->get_post_escaped('show_thumbs')!=''?'checked':'');

58
	$fieldSerialized = serialize($pathsettings);

59
	$database->query ( "UPDATE ".TABLE_PREFIX."settings SET `value` = '$fieldSerialized' WHERE `name`='mediasettings'" );

60
	header ("Location: browse.php");

61
}

62

  
63
include ('parameters.php');

64
if ($_SESSION['GROUP_ID'] != 1 && $pathsettings['global']['admin_only']) {

65
	echo "Sorry, settings not available";

66
	exit();

67
}

68

  
69
// Read data to display

70
$caller = "setparameter";

71

  
72
$template = new Template(THEME_PATH.'/templates');

73
$template->set_file('page', 'setparameter.htt');

74
$template->set_block('page', 'main_block', 'main');

75
if ($_SESSION['GROUP_ID'] != 1) {

76
	$template->set_var('DISPLAY_ADMIN', 'hide');

77
}

78
$template->set_var(array( 

79
					'TEXT_HEADER' => $TEXT['TEXT_HEADER'],

80
					'SAVE_TEXT' => $TEXT['SAVE'],

81
					'BACK' => $TEXT['BACK'],

82
				)

83
			);

84

  
85

  
86
$template->set_block('main_block', 'list_block', 'list');

87
$row_bg_color = '';

88
$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);

89
$dirs[] = WB_PATH.MEDIA_DIRECTORY;

90

  
91
$array_lowercase = array_map('strtolower', $dirs);

92
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $dirs);

93

  
94
foreach($dirs AS $name) {

95
	$relative = str_replace(WB_PATH, '', $name);

96
	$safepath = str_replace(array('/',' '),'_',$relative);

97
	$cur_width = $cur_height = '';

98
	if (isset($pathsettings[$safepath]['width'])) $cur_width = $pathsettings[$safepath]['width'];

99
	if (isset($pathsettings[$safepath]['height'])) $cur_height = $pathsettings[$safepath]['height'];

100
	$cur_width = ($cur_width ? (int)$cur_width : '-');

101
	$cur_height = ($cur_height ? (int)$cur_height : '-');

102

  
103
	if($row_bg_color == 'DEDEDE') $row_bg_color = 'EEEEEE';

104
	else $row_bg_color = 'DEDEDE';

105

  
106
	$template->set_var(array( 

107
								'ADMIN_URL' => ADMIN_URL,

108
								'PATH_NAME' => $relative,

109
								'WIDTH' => $TEXT['WIDTH'],

110
								'HEIGHT' => $TEXT['HEIGHT'],

111
								'FIELD_NAME_W' => $safepath.'-w',

112
								'FIELD_NAME_H' => $safepath.'-h',

113
								'CUR_WIDTH' => $cur_width,

114
								'CUR_HEIGHT' => $cur_height,

115
								'SETTINGS' => $TEXT['SETTINGS'],

116
								'ADMIN_ONLY' => $TEXT['ADMIN_ONLY'],

117
								'ADMIN_ONLY_SELECTED' => $pathsettings['global']['admin_only'],

118
								'NO_SHOW_THUMBS' => $TEXT['NO_SHOW_THUMBS'],

119
								'NO_SHOW_THUMBS_SELECTED' => $pathsettings['global']['show_thumbs'],

120
								'ROW_BG_COLOR' => $row_bg_color,

121
								'FTAN' => $admin->getFTAN()

122
							)

123
					);

124
	$template->parse('list', 'list_block', true);

125
}

126

  
127
$template->parse('main', 'main_block', false);

128
$template->pparse('output', 'page');

129

  
130

  
1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         admintools
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$
14
 * @filesource		$HeadURL:  $
15
 * @lastmodified    $Date:  $
16
 *
17
 */
18

  
19
require('../../config.php');
20
require_once(WB_PATH.'/framework/class.admin.php');
21
$admin = new admin('Media', 'media', false);
22
// Include the WB functions file
23
require_once(WB_PATH.'/framework/functions.php');
24

  
25
// check if theme language file exists for the language set by the user (e.g. DE, EN)
26
if(!file_exists(THEME_PATH .'/languages/'.LANGUAGE .'.php')) {
27
	// no theme language file exists for the language set by the user, include default theme language file EN.php
28
	require_once(THEME_PATH .'/languages/EN.php');
29
} else {
30
	// a theme language file exists for the language defined by the user, load it
31
	require_once(THEME_PATH .'/languages/'.LANGUAGE .'.php');
32
}
33

  
34
//Save post vars to the parameters file
35
if ( !is_null($admin->get_post_escaped("save"))) {
36
	if (!$admin->checkFTAN())
37
	{
38
		$admin->print_error('SP5::'.$MESSAGE['GENERIC_SECURITY_ACCESS']);
39
		exit();
40
	}
41
	
42
	//Check for existing settings entry, if not existing, create a record first!
43
	if (!$database->query ( "SELECT * FROM ".TABLE_PREFIX."settings where `name`='mediasettings'" )) {
44
		$database->query ( "INSERT INTO ".TABLE_PREFIX."settings (`name`,`value`) VALUES ('mediasettings','')" );
45
	}
46
	$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
47
	$dirs[] = WB_PATH.MEDIA_DIRECTORY;
48
	foreach($dirs AS $name) {
49
		$r = str_replace(WB_PATH, '', $name);
50
		$r = str_replace(array('/',' '),'_',$r);
51
		$w = (int)$admin->get_post_escaped($r.'-w');
52
		$h = (int)$admin->get_post_escaped($r.'-h');
53
		$pathsettings[$r]['width']=$w; 
54
		$pathsettings[$r]['height']=$h;
55
	}
56
	$pathsettings['global']['admin_only'] = ($admin->get_post_escaped('admin_only')!=''?'checked':'');
57
	$pathsettings['global']['show_thumbs'] = ($admin->get_post_escaped('show_thumbs')!=''?'checked':'');
58
	$fieldSerialized = serialize($pathsettings);
59
	$database->query ( "UPDATE ".TABLE_PREFIX."settings SET `value` = '$fieldSerialized' WHERE `name`='mediasettings'" );
60
	header ("Location: browse.php");
61
}
62

  
63
include ('parameters.php');
64
if ($_SESSION['GROUP_ID'] != 1 && $pathsettings['global']['admin_only']) {
65
	echo "Sorry, settings not available";
66
	exit();
67
}
68

  
69
// Read data to display
70
$caller = "setparameter";
71

  
72
$template = new Template(THEME_PATH.'/templates');
73
$template->set_file('page', 'setparameter.htt');
74
$template->set_block('page', 'main_block', 'main');
75
if ($_SESSION['GROUP_ID'] != 1) {
76
	$template->set_var('DISPLAY_ADMIN', 'hide');
77
}
78
$template->set_var(array( 
79
					'TEXT_HEADER' => $TEXT['TEXT_HEADER'],
80
					'SAVE_TEXT' => $TEXT['SAVE'],
81
					'BACK' => $TEXT['BACK'],
82
				)
83
			);
84

  
85

  
86
$template->set_block('main_block', 'list_block', 'list');
87
$row_bg_color = '';
88
$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
89
$dirs[] = WB_PATH.MEDIA_DIRECTORY;
90

  
91
$array_lowercase = array_map('strtolower', $dirs);
92
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $dirs);
93

  
94
foreach($dirs AS $name) {
95
	$relative = str_replace(WB_PATH, '', $name);
96
	$safepath = str_replace(array('/',' '),'_',$relative);
97
	$cur_width = $cur_height = '';
98
	if (isset($pathsettings[$safepath]['width'])) $cur_width = $pathsettings[$safepath]['width'];
99
	if (isset($pathsettings[$safepath]['height'])) $cur_height = $pathsettings[$safepath]['height'];
100
	$cur_width = ($cur_width ? (int)$cur_width : '-');
101
	$cur_height = ($cur_height ? (int)$cur_height : '-');
102

  
103
	if($row_bg_color == 'DEDEDE') $row_bg_color = 'EEEEEE';
104
	else $row_bg_color = 'DEDEDE';
105

  
106
	$template->set_var(array( 
107
								'ADMIN_URL' => ADMIN_URL,
108
								'PATH_NAME' => $relative,
109
								'WIDTH' => $TEXT['WIDTH'],
110
								'HEIGHT' => $TEXT['HEIGHT'],
111
								'FIELD_NAME_W' => $safepath.'-w',
112
								'FIELD_NAME_H' => $safepath.'-h',
113
								'CUR_WIDTH' => $cur_width,
114
								'CUR_HEIGHT' => $cur_height,
115
								'SETTINGS' => $TEXT['SETTINGS'],
116
								'ADMIN_ONLY' => $TEXT['ADMIN_ONLY'],
117
								'ADMIN_ONLY_SELECTED' => $pathsettings['global']['admin_only'],
118
								'NO_SHOW_THUMBS' => $TEXT['NO_SHOW_THUMBS'],
119
								'NO_SHOW_THUMBS_SELECTED' => $pathsettings['global']['show_thumbs'],
120
								'ROW_BG_COLOR' => $row_bg_color,
121
								'FTAN' => $admin->getFTAN()
122
							)
123
					);
124
	$template->parse('list', 'list_block', true);
125
}
126

  
127
$template->parse('main', 'main_block', false);
128
$template->pparse('output', 'page');
129

  
130

  
131 131
?>
branches/2.8.x/wb/admin/media/browse.php
82 82

  
83 83
// Check to see if it contains ../
84 84
if (!check_media_path($directory)) {
85
	$admin->print_header();
85
	// $admin->print_header();
86 86
	$admin->print_error($MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH']);
87 87
}
88 88

  
89 89
if(!file_exists(WB_PATH.MEDIA_DIRECTORY.$directory)) {
90
	$admin->print_header();
90
	// $admin->print_header();
91 91
	$admin->print_error($MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST']);
92 92
}
93 93

  
branches/2.8.x/wb/admin/media/delete.php
39 39
// Get the temp id
40 40
$file_id = $admin->checkIDKEY('id', false, 'GET');
41 41
if (!$file_id) {
42
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL,false);
42
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL.'/admin/media/browse.php?dir=',false);
43 43
}
44 44

  
45 45
// Get home folder not to show
branches/2.8.x/wb/admin/media/create.php
37 37

  
38 38
if (!$admin->checkFTAN())
39 39
{
40
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);
40
	$admin->print_error('CR5::'.$MESSAGE['GENERIC_SECURITY_ACCESS']);
41 41
	exit();
42 42
}
43 43

  
branches/2.8.x/wb/admin/media/upload.php
35 35

  
36 36
if (!$admin->checkFTAN())
37 37
{
38
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);
38
	$admin->print_error('UP5::'.$MESSAGE['GENERIC_SECURITY_ACCESS']);
39 39
	exit();
40 40
}
41 41

  
......
43 43
require_once(WB_PATH.'/framework/functions.php');
44 44

  
45 45
// Check to see if target contains ../
46
if (!check_media_path($target, false)) {
47
	$admin->print_error($MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH']);
46
if (!check_media_path($target, false))
47
{
48
	$admin->print_error('TD5::'.$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH']);
48 49
}
49 50

  
50 51
// Create relative path of the target location for the file
branches/2.8.x/wb/admin/media/rename.php
38 38
// Get the temp id
39 39
$file_id = $admin->checkIDKEY('id', false, 'GET');
40 40
if (!$file_id) {
41
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], WB_URL);
41
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
42 42
}
43 43

  
44 44
// Get home folder not to show
branches/2.8.x/wb/admin/templates/uninstall.php
37 37

  
38 38
if( !$admin->checkFTAN() )
39 39
{
40
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
40
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
41 41
	exit();
42 42
}
43 43

  
branches/2.8.x/wb/admin/templates/details.php
24 24

  
25 25
if( !$admin->checkFTAN() )
26 26
{
27
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
27
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
28 28
	exit();
29 29
}
30 30

  
branches/2.8.x/wb/admin/templates/install.php
32 32

  
33 33
if( !$admin->checkFTAN() )
34 34
{
35
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
35
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
36 36
	exit();
37 37
}
38 38

  
branches/2.8.x/wb/admin/pages/save.php
22 22
require_once(WB_PATH.'/framework/class.admin.php');
23 23
$admin = new admin('Pages', 'pages_modify');
24 24

  
25
if (!$admin->checkFTAN())
26
{
27
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
28
	exit();
29
}
30

  
31 25
// Get page & section id
32 26
if(!isset($_POST['page_id']) || !is_numeric($_POST['page_id'])) {
33 27
	header("Location: index.php");
......
43 37
	$section_id = intval($_POST['section_id']);
44 38
}
45 39

  
40
// $js_back = "javascript: history.go(-1);";
41
$js_back = ADMIN_URL.'/pages/modify.php?page_id='.$page_id
42

  
43
if (!$admin->checkFTAN())
44
{
45
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back );
46
	exit();
47
}
48

  
46 49
/*
47 50
if( (!($page_id = $admin->checkIDKEY('page_id', 0, $_SERVER['REQUEST_METHOD']))) )
48 51
{
......
57 60
}
58 61
*/
59 62

  
60
$js_back = "javascript: history.go(-1);";
61

  
62 63
// Get perms
63 64
$sql  = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` ';
64 65
$sql .= 'WHERE `page_id` = '.$page_id;
......
111 112
// Check if there is a db error, otherwise say successful
112 113
if($database->is_error())
113 114
{
114
	$admin->print_error($database->get_error(), $js_back);
115
	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id'] );
115 116
} else {
116 117
	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id'] );
117 118
}
branches/2.8.x/wb/admin/pages/sections_save.php
33 33

  
34 34
if (!$admin->checkFTAN())
35 35
{
36
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
36
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
37 37
	exit();
38 38
}
39 39

  
branches/2.8.x/wb/admin/pages/settings2.php
22 22
require_once(WB_PATH.'/framework/class.admin.php');
23 23
$admin = new admin('Pages', 'pages_settings');
24 24

  
25
if (!$admin->checkFTAN())
26
{
27
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
28
	exit();
29
}
30

  
31 25
// Get page id
32 26
if(!isset($_POST['page_id']) || !is_numeric($_POST['page_id']))
33 27
{
......
36 30
} else {
37 31
	$page_id = $_POST['page_id'];
38 32
}
33
$pagetree_url = ADMIN_URL.'/pages/index.php';
34
$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
39 35

  
36
if (!$admin->checkFTAN())
37
{
38
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$target_url);
39
	exit();
40
}
41

  
40 42
/*
41 43
if( (!($page_id = $admin->checkIDKEY('page_id', 0, $_SERVER['REQUEST_METHOD']))) )
42 44
{
......
310 312

  
311 313
/* END page "access file" code */
312 314

  
313
$pagetree_url = ADMIN_URL.'/pages/index.php';
314
$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
315
//$pagetree_url = ADMIN_URL.'/pages/index.php';
316
//$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
315 317
// Check if there is a db error, otherwise say successful
316 318
if($database->is_error())
317 319
{
branches/2.8.x/wb/admin/pages/add.php
23 23

  
24 24
if (!$admin->checkFTAN())
25 25
{
26
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
26
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
27 27
	exit();
28 28
}
29 29

  
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.2.RC5');
55
if(!defined('REVISION')) define('REVISION', '1424');
55
if(!defined('REVISION')) define('REVISION', '1425');
56 56

  
57 57
?>
branches/2.8.x/wb/admin/settings/save.php
33 33
	$admin = new admin('Settings', 'settings_advanced');
34 34
}
35 35

  
36
// Create a javascript back link
37
$js_back = ADMIN_URL.'/settings/index.php'.$advanced;
38

  
36 39
if( !$admin->checkFTAN() )
37 40
{
38
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
41
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back );
39 42
	exit();
40 43
}
41 44

  
42
// Create a javascript back link
43
$js_back = "javascript: history.go(-1);";
44

  
45 45
// Ensure that the specified default email is formally valid
46 46
if(isset($_POST['server_email']))
47 47
{
......
189 189
        if (!$database->query($sql))
190 190
        {
191 191
			if($database->is_error()) {
192
				$admin->print_error($database->get_error, ADMIN_URL.'/settings/index.php'.$advanced);
192
				$admin->print_error($database->get_error, $js_back );
193 193
			}
194 194
        }
195 195
	}
......
201 201
$res_search = $database->query($sql);
202 202

  
203 203
if($database->is_error()) {
204
	$admin->print_error($database->is_error(), ADMIN_URL.'/settings/index.php'.$advanced);
204
	$admin->print_error($database->is_error(), $js_back );
205 205
}
206 206

  
207 207
while($search_setting = $res_search->fetchRow())
......
229 229

  
230 230
// Check if there was an error updating the db
231 231
if($database->is_error()) {
232
	$admin->print_error($database->get_error, ADMIN_URL.'/settings/index.php'.$advanced);
232
	$admin->print_error($database->get_error, $js_back );
233 233
} else {
234
	$admin->print_success($MESSAGE['SETTINGS']['SAVED'], ADMIN_URL.'/settings/index.php'.$advanced);
234
	$admin->print_success($MESSAGE['SETTINGS']['SAVED'], $js_back );
235 235
}
236 236
$admin->print_footer();
237 237

  
branches/2.8.x/wb/admin/users/save.php
21 21
require_once(WB_PATH.'/framework/class.admin.php');
22 22
$admin = new admin('Access', 'users_modify');
23 23

  
24

  
25
// Create a javascript back link
26
$js_back = ADMIN_URL.'/users/index.php';
27

  
24 28
// Create new database object
25 29
//$database = new database();
26 30
if( !$admin->checkFTAN() )
27 31
{
28
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
32
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back);
29 33
	exit();
30 34
}
31 35

  
......
48 52
$email = $admin->get_post_escaped('email');
49 53
$home_folder = $admin->get_post_escaped('home_folder');
50 54

  
51
// Create a javascript back link
52
$js_back = "javascript: history.go(-1);";
53

  
54 55
// Check values
55 56
if($groups_id == "") {
56 57
	$admin->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back);
......
106 107
}
107 108
$database->query($query);
108 109
if($database->is_error()) {
109
	$admin->print_error($database->get_error());
110
	$admin->print_error($database->get_error(),$js_back);
110 111
} else {
111 112
	$admin->print_success($MESSAGE['USERS']['SAVED']);
112 113
}
branches/2.8.x/wb/admin/users/add.php
21 21
require_once(WB_PATH.'/framework/class.admin.php');
22 22
$admin = new admin('Access', 'users_add');
23 23

  
24
// Create a javascript back link
25
$js_back = ADMIN_URL.'/users/index.php';
26

  
24 27
// Create new database object
25 28
//$database = new database();
26 29
if( !$admin->checkFTAN() )
27 30
{
28
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
31
	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], $js_back);
29 32
	exit();
30 33
}
31 34

  
......
42 45
$home_folder = $admin->get_post_escaped('home_folder');
43 46
$default_language = DEFAULT_LANGUAGE;
44 47

  
45
// Create a javascript back link
46
$js_back = 'javascript: history.go(-1);';
47

  
48 48
// Check values
49 49
if($groups_id == '') {
50 50
	$admin->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back);
branches/2.8.x/wb/admin/preferences/save.php
1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         preferences
6
 * @author          Independend-Software-Team
7
 * @author          WebsiteBaker Project
8
 * @copyright       2004-2009, Ryan Djurovich
9
 * @copyright       2009-2011, Website Baker Org. e.V.
10
 * @link			http://www.websitebaker2.org/
11
 * @license         http://www.gnu.org/licenses/gpl.html
12
 * @platform        WebsiteBaker 2.8.x
13
 * @requirements    PHP 5.2.2 and higher
14
 * @version         $Id$
15
 * @filesource		$HeadURL$
16
 * @lastmodified    $Date$
17
 *
18
 */
19

  
20

  
21
// Print admin header
22
require('../../config.php');
23
require_once(WB_PATH.'/framework/class.admin.php');
24
$admin = new admin('Preferences');
25
$js_back = "javascript: history.go(-1);"; // Create a javascript back link
26

  
27
function save_preferences( &$admin, &$database)
28
{
29
	global $MESSAGE;
30
	$err_msg = array();
31
	$min_pass_length = 6;
32
// first check form-tan
33
	if(!$admin->checkFTAN()){ $err_msg[] = $MESSAGE['GENERIC_SECURITY_ACCESS']; }
34
// Get entered values and validate all
35
	// remove any dangerouse chars from display_name
36
	$display_name     = $admin->add_slashes(strip_tags(trim($admin->get_post('display_name'))));
37
	$display_name     = ( $display_name == '' ? $admin->get_display_name() : $display_name );
38
	// check that display_name is unique in whoole system (prevents from User-faking)
39
	$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
40
	$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `display_name` LIKE "'.$display_name.'"';
41
	if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['USERNAME_TAKEN']; }
42
// language must be 2 upercase letters only
43
	$language         = strtoupper($admin->get_post('language'));
44
	$language         = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
45
// timezone must be between -12 and +13  or -20 as system_default
46
	$timezone         = $admin->get_post('timezone');
47
	$timezone         = (is_numeric($timezone) ? $timezone : -20);
48
	$timezone         = ( ($timezone >= -12 && $timezone <= 13) ? $timezone : -20 ) * 3600;
49
// date_format must be a key from /interface/date_formats
50
	$date_format      = $admin->get_post('date_format');
51
	$date_format_key  = str_replace(' ', '|', $date_format);
52
	$user_time = true;
53
	include( ADMIN_PATH.'/interface/date_formats.php' );
54
	$date_format = (array_key_exists($date_format_key, $DATE_FORMATS) ? $date_format : 'system_default');
55
	$date_format = ($date_format == 'system_default' ? '' : $date_format);
56
	unset($DATE_FORMATS);
57
// time_format must be a key from /interface/time_formats	
58
	$time_format      = $admin->get_post('time_format');
59
	$time_format_key  = str_replace(' ', '|', $time_format);
60
	$user_time = true;
61
	include( ADMIN_PATH.'/interface/time_formats.php' );
62
	$time_format = (array_key_exists($time_format_key, $TIME_FORMATS) ? $time_format : 'system_default');
63
	$time_format = ($time_format == 'system_default' ? '' : $time_format);
64
	unset($TIME_FORMATS);
65
// email should be validatet by core
66
	$email            = ( $admin->get_post('email') == null ? '' : $admin->get_post('email') );
67
	if( !$admin->validate_email($email) )
68
	{
69
		$email = '';
70
		$err_msg[] = $MESSAGE['USERS']['INVALID_EMAIL'];
71
	}else {
72
	// check that email is unique in whoole system
73
		$email = $admin->add_slashes($email);
74
		$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
75
		$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `email` LIKE "'.$email.'"';
76
		if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['EMAIL_TAKEN']; }
77
	}
78
// receive password vars and calculate needed action
79
	$current_password = $admin->get_post('current_password');
80
	$current_password = ($current_password == null ? '' : $current_password);
81
	$new_password_1   = $admin->get_post('new_password_1');
82
	$new_password_1   = (($new_password_1 == null || $new_password_1 == '') ? '' : $new_password_1);
83
	$new_password_2   = $admin->get_post('new_password_2');
84
	$new_password_2   = (($new_password_2 == null || $new_password_2 == '') ? '' : $new_password_2);
85
	if($current_password == '')
86
	{
87
		$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'];
88
	}else {
89
	// if new_password is empty, still let current one
90
		if( $new_password_1 == '' )
91
		{
92
			$new_password_1 = $current_password;
93
			$new_password_2 = $current_password;
94
		}
95

  
96
	// is password lenght matching min_pass_lenght ?
97
		if( $new_password_1 != $current_password )
98
		{
99
			if( strlen($new_password_1) < $min_pass_length )
100
			{
101
				$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT'];
102
			}
103
			$pattern = '/[^'.$admin->password_chars.']/';
104
			if( preg_match($pattern, $new_password_1) )
105
			{
106
				$err_msg[] = $MESSAGE['PREFERENCES']['INVALID_CHARS'];
107
			}
108
		}
109
	// is password lenght matching min_pass_lenght ?
110
		if( $new_password_1 != $current_password && strlen($new_password_1) < $min_pass_length )
111
		{
112
			$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT'];
113
		}
114
	// password_1 matching password_2 ?
115
		if( $new_password_1 != $new_password_2 )
116
		{
117
			$err_msg[] = $MESSAGE['USERS']['PASSWORD_MISMATCH'];
118
		}
119
	}
120
	$current_password = md5($current_password);
121
	$new_password_1   = md5($new_password_1);
122
	$new_password_2   = md5($new_password_2);
123
// if no validation errors, try to update the database, otherwise return errormessages
124
	if(sizeof($err_msg) == 0)
125
	{
126
		$sql  = 'UPDATE `'.TABLE_PREFIX.'users` ';
127
		$sql .= 'SET `display_name` = "'.$display_name.'", ';
128
		$sql .=     '`password` = "'.$new_password_1.'", ';
129
		$sql .=     '`email` = "'.$email.'", ';
130
		$sql .=     '`language` = "'.$language.'", ';
131
		$sql .=     '`timezone` = "'.$timezone.'", ';
132
		$sql .=     '`date_format` = "'.$date_format.'", ';
133
		$sql .=     '`time_format` = "'.$time_format.'" ';
134
		$sql .= 'WHERE `user_id` = '.(int)$admin->get_user_id().' AND `password` = "'.$current_password.'"';
135
		if( $database->query($sql) )
136
		{
137
			$sql_info = mysql_info($database->db_handle);
138
			if(preg_match('/matched: *([1-9][0-9]*)/i', $sql_info) != 1)
139
			{  // if the user_id and password dosn't match
140
				$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'];
141
			}else {
142
				// update successfull, takeover values into the session
143
				$_SESSION['DISPLAY_NAME'] = $display_name;
144
				$_SESSION['LANGUAGE'] = $language;
145
				$_SESSION['TIMEZONE'] = $timezone;
146
				$_SESSION['EMAIL'] = $email;
147
				// Update date format
148
				if($date_format != '') {
149
					$_SESSION['DATE_FORMAT'] = $date_format;
150
					if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
151
				} else {
152
					$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
153
					if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
154
				}
155
				// Update time format
156
				if($time_format != '') {
157
					$_SESSION['TIME_FORMAT'] = $time_format;
158
					if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
159
				} else {
160
					$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
161
					if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
162
				}
163
			}
164
		}else {
165
			$err_msg[] = 'invalid database UPDATE call in '.__FILE__.'::'.__FUNCTION__.'before line '.__LINE__;
166
		}
167
	}
168
	return ( (sizeof($err_msg) > 0) ? implode('<br />', $err_msg) : '' );
169
}
170
$retval = save_preferences($admin, $database);
171
if( $retval == '')
172
{
173
	$admin->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED']);
174
	$admin->print_footer();
175
}else {
176
	$admin->print_error($retval, $js_back);
177
}
178

  
1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         preferences
6
 * @author          Independend-Software-Team
7
 * @author          WebsiteBaker Project
8
 * @copyright       2004-2009, Ryan Djurovich
9
 * @copyright       2009-2011, Website Baker Org. e.V.
10
 * @link			http://www.websitebaker2.org/
11
 * @license         http://www.gnu.org/licenses/gpl.html
12
 * @platform        WebsiteBaker 2.8.x
13
 * @requirements    PHP 5.2.2 and higher
14
 * @version         $Id$
15
 * @filesource		$HeadURL$
16
 * @lastmodified    $Date$
17
 *
18
 */
19

  
20

  
21
// Print admin header
22
require('../../config.php');
23
require_once(WB_PATH.'/framework/class.admin.php');
24
$admin = new admin('Preferences');
25
// $js_back = "javascript: history.go(-1);"; // Create a javascript back link
26

  
27
function save_preferences( &$admin, &$database)
28
{
29
	global $MESSAGE;
30
	$err_msg = array();
31
	$min_pass_length = 6;
32
// first check form-tan
33
	if(!$admin->checkFTAN()){ $err_msg[] = $MESSAGE['GENERIC_SECURITY_ACCESS']; }
34
// Get entered values and validate all
35
	// remove any dangerouse chars from display_name
36
	$display_name     = $admin->add_slashes(strip_tags(trim($admin->get_post('display_name'))));
37
	$display_name     = ( $display_name == '' ? $admin->get_display_name() : $display_name );
38
	// check that display_name is unique in whoole system (prevents from User-faking)
39
	$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
40
	$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `display_name` LIKE "'.$display_name.'"';
41
	if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['USERNAME_TAKEN']; }
42
// language must be 2 upercase letters only
43
	$language         = strtoupper($admin->get_post('language'));
44
	$language         = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
45
// timezone must be between -12 and +13  or -20 as system_default
46
	$timezone         = $admin->get_post('timezone');
47
	$timezone         = (is_numeric($timezone) ? $timezone : -20);
48
	$timezone         = ( ($timezone >= -12 && $timezone <= 13) ? $timezone : -20 ) * 3600;
49
// date_format must be a key from /interface/date_formats
50
	$date_format      = $admin->get_post('date_format');
51
	$date_format_key  = str_replace(' ', '|', $date_format);
52
	$user_time = true;
53
	include( ADMIN_PATH.'/interface/date_formats.php' );
54
	$date_format = (array_key_exists($date_format_key, $DATE_FORMATS) ? $date_format : 'system_default');
55
	$date_format = ($date_format == 'system_default' ? '' : $date_format);
56
	unset($DATE_FORMATS);
57
// time_format must be a key from /interface/time_formats	
58
	$time_format      = $admin->get_post('time_format');
59
	$time_format_key  = str_replace(' ', '|', $time_format);
60
	$user_time = true;
61
	include( ADMIN_PATH.'/interface/time_formats.php' );
62
	$time_format = (array_key_exists($time_format_key, $TIME_FORMATS) ? $time_format : 'system_default');
63
	$time_format = ($time_format == 'system_default' ? '' : $time_format);
64
	unset($TIME_FORMATS);
65
// email should be validatet by core
66
	$email            = ( $admin->get_post('email') == null ? '' : $admin->get_post('email') );
67
	if( !$admin->validate_email($email) )
68
	{
69
		$email = '';
70
		$err_msg[] = $MESSAGE['USERS']['INVALID_EMAIL'];
71
	}else {
72
	// check that email is unique in whoole system
73
		$email = $admin->add_slashes($email);
74
		$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
75
		$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `email` LIKE "'.$email.'"';
76
		if( $database->get_one($sql) > 0 ){ $err_msg[] = $MESSAGE['USERS']['EMAIL_TAKEN']; }
77
	}
78
// receive password vars and calculate needed action
79
	$current_password = $admin->get_post('current_password');
80
	$current_password = ($current_password == null ? '' : $current_password);
81
	$new_password_1   = $admin->get_post('new_password_1');
82
	$new_password_1   = (($new_password_1 == null || $new_password_1 == '') ? '' : $new_password_1);
83
	$new_password_2   = $admin->get_post('new_password_2');
84
	$new_password_2   = (($new_password_2 == null || $new_password_2 == '') ? '' : $new_password_2);
85
	if($current_password == '')
86
	{
87
		$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'];
88
	}else {
89
	// if new_password is empty, still let current one
90
		if( $new_password_1 == '' )
91
		{
92
			$new_password_1 = $current_password;
93
			$new_password_2 = $current_password;
94
		}
95

  
96
	// is password lenght matching min_pass_lenght ?
97
		if( $new_password_1 != $current_password )
98
		{
99
			if( strlen($new_password_1) < $min_pass_length )
100
			{
101
				$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT'];
102
			}
103
			$pattern = '/[^'.$admin->password_chars.']/';
104
			if( preg_match($pattern, $new_password_1) )
105
			{
106
				$err_msg[] = $MESSAGE['PREFERENCES']['INVALID_CHARS'];
107
			}
108
		}
109
	// is password lenght matching min_pass_lenght ?
110
		if( $new_password_1 != $current_password && strlen($new_password_1) < $min_pass_length )
111
		{
112
			$err_msg[] = $MESSAGE['USERS']['PASSWORD_TOO_SHORT'];
113
		}
114
	// password_1 matching password_2 ?
115
		if( $new_password_1 != $new_password_2 )
116
		{
117
			$err_msg[] = $MESSAGE['USERS']['PASSWORD_MISMATCH'];
118
		}
119
	}
120
	$current_password = md5($current_password);
121
	$new_password_1   = md5($new_password_1);
122
	$new_password_2   = md5($new_password_2);
123
// if no validation errors, try to update the database, otherwise return errormessages
124
	if(sizeof($err_msg) == 0)
125
	{
126
		$sql  = 'UPDATE `'.TABLE_PREFIX.'users` ';
127
		$sql .= 'SET `display_name` = "'.$display_name.'", ';
128
		$sql .=     '`password` = "'.$new_password_1.'", ';
129
		$sql .=     '`email` = "'.$email.'", ';
130
		$sql .=     '`language` = "'.$language.'", ';
131
		$sql .=     '`timezone` = "'.$timezone.'", ';
132
		$sql .=     '`date_format` = "'.$date_format.'", ';
133
		$sql .=     '`time_format` = "'.$time_format.'" ';
134
		$sql .= 'WHERE `user_id` = '.(int)$admin->get_user_id().' AND `password` = "'.$current_password.'"';
135
		if( $database->query($sql) )
136
		{
137
			$sql_info = mysql_info($database->db_handle);
138
			if(preg_match('/matched: *([1-9][0-9]*)/i', $sql_info) != 1)
139
			{  // if the user_id and password dosn't match
140
				$err_msg[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'];
141
			}else {
142
				// update successfull, takeover values into the session
143
				$_SESSION['DISPLAY_NAME'] = $display_name;
144
				$_SESSION['LANGUAGE'] = $language;
145
				$_SESSION['TIMEZONE'] = $timezone;
146
				$_SESSION['EMAIL'] = $email;
147
				// Update date format
148
				if($date_format != '') {
149
					$_SESSION['DATE_FORMAT'] = $date_format;
150
					if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
151
				} else {
152
					$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
153
					if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
154
				}
155
				// Update time format
156
				if($time_format != '') {
157
					$_SESSION['TIME_FORMAT'] = $time_format;
158
					if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
159
				} else {
160
					$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
161
					if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
162
				}
163
			}
164
		}else {
165
			$err_msg[] = 'invalid database UPDATE call in '.__FILE__.'::'.__FUNCTION__.'before line '.__LINE__;
166
		}
167
	}
168
	return ( (sizeof($err_msg) > 0) ? implode('<br />', $err_msg) : '' );
169
}
170
$retval = save_preferences($admin, $database);
171
if( $retval == '')
172
{
173
	$admin->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED']);
174
	$admin->print_footer();
175
}else {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff