Project

General

Profile

« Previous | Next » 

Revision 1706

Added by Dietmar about 12 years ago

  1. fixed save page option

View differences:

branches/2.8.x/CHANGELOG
13 13

  
14 14

  
15 15

  
16
29 Aug-2012 Build 1706 Dietmar Woellbrink (Luisehahne)
17
# fixed save page option 
16 18
27 Aug-2012 Build 1705 Dietmar Woellbrink (Luisehahne)
17 19
! update headerinfo
18 20
! change os_version request if os is not windows
branches/2.8.x/wb/admin/pages/settings_save.php
3 3
 *
4 4
 * @category        admin
5 5
 * @package         pages
6
 * @author          WebsiteBaker Project
7
 * @copyright       2004-2009, Ryan Djurovich
8
 * @copyright       2009-2011, Website Baker Org. e.V.
6
 * @author          Ryan Djurovich, WebsiteBaker Project
7
 * @copyright       2009-2012, WebsiteBaker Org. e.V.
9 8
 * @link			http://www.websitebaker2.org/
10 9
 * @license         http://www.gnu.org/licenses/gpl.html
11 10
 * @platform        WebsiteBaker 2.8.x
......
25 24
$admin = new admin('Pages', 'pages_settings',false);
26 25

  
27 26
// Get page id
28
if(!isset($_POST['page_id']) || preg_match('/[^0-9a-f]/i',$_POST['page_id']))
27
if(!isset($_POST['page_id']) || (isset($_POST['page_id'])&& !preg_match('/[^0-9a-f]/i',$_POST['page_id'])) )
29 28
{
30 29
	header("Location: index.php");
31 30
	exit(0);
32 31
} else {
33 32
//	$page_id = $admin->checkIDKEY('page_id');
34
//	$page_id = (int)$_POST['page_id'];
33
//	$page_id = (int)$_POST['page_id']; || preg_match('/[^0-9a-f]/i',$_POST['page_id'])
35 34
	if((!($page_id = $admin->checkIDKEY('page_id')))) {
36 35
		$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], ADMIN_URL.'/pages/index.php');
37 36
	}
......
86 85
// Validate data
87 86
if($page_title == '' || substr($page_title,0,1)=='.')
88 87
{
89
	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
88
	$admin->print_error($MESSAGE['PAGES_BLANK_PAGE_TITLE']);
90 89
}
91 90
if($menu_title == '' || substr($menu_title,0,1)=='.')
92 91
{
93
	$admin->print_error($MESSAGE['PAGES']['BLANK_MENU_TITLE']);
92
	$admin->print_error($MESSAGE['PAGES_BLANK_MENU_TITLE']);
94 93
}
95 94

  
96 95
// Get existing perms
......
102 101
$old_link = $results_array['link'];
103 102
$old_position = $results_array['position'];
104 103

  
105
if(!$admin->ami_group_member($results_array['admin_groups']) &&
106
   !$admin->is_group_match($admin->get_user_id(), $results_array['admin_users']))
107
{
108
	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
104
if($admin->ami_group_member('1')) {
105
	if(!$admin->ami_group_member($results_array['admin_groups']) &&
106
	   !$admin->is_group_match($admin->get_user_id(), $results_array['admin_users']))
107
	{
108
		$admin->print_error($MESSAGE['PAGES_INSUFFICIENT_PERMISSIONS']);
109
	}
110
	// Setup admin groups
111
	$aAdminGroups = (is_array($aAdminGroups) ? $aAdminGroups : array(1));
112
	array_unshift($aAdminGroups, 1);
113
	$sAdminGroups = implode(',', array_unique($aAdminGroups, SORT_REGULAR));
114
	$sAdminGroups = (preg_match('/^,|[^0-9,]|,,|,$/', $sAdminGroups) ? '1' : $sAdminGroups);
115

  
116
	$aAdminUsers = (is_array($aAdminUsers) ? $aAdminUsers : array());
117
	$sAdminUsers = implode(',', array_diff($aAdminUsers, array(0)));
118
	$sAdminUsers = (preg_match('/^,|[^0-9,]|,,|,$/', $sAdminUsers) ? array() : $sAdminUsers);
109 119
}
110 120

  
111
// Setup admin groups
112
$aAdminGroups = (is_array($aAdminGroups) ? $aAdminGroups : array(1));
113
array_unshift($aAdminGroups, 1);
114
$sAdminGroups = implode(',', array_unique($aAdminGroups, SORT_REGULAR));
115
$sAdminGroups = (preg_match('/^,|[^0-9,]|,,|,$/', $sAdminGroups) ? '1' : $sAdminGroups);
116

  
117
$aAdminUsers = (is_array($aAdminUsers) ? $aAdminUsers : array());
118
$sAdminUsers = implode(',', array_diff($aAdminUsers, array(0)));
119
$sAdminUsers = (preg_match('/^,|[^0-9,]|,,|,$/', $sAdminUsers) ? array() : $sAdminUsers);
120

  
121 121
$aViewingGroups = (is_array($aViewingGroups) ? $aViewingGroups : array(1));
122 122
array_unshift($aViewingGroups, 1);
123 123
$sViewingGroups = implode(',', array_unique($aViewingGroups, SORT_REGULAR));
......
193 193

  
194 194
if($get_same_page->numRows() > 0)
195 195
{
196
	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
196
	$admin->print_error($MESSAGE['PAGES_PAGE_EXISTS']);
197 197
}
198 198

  
199 199
// Update page with new order
......
225 225
     .     '`position`='.$position.', '
226 226
     .     '`visibility`=\''.$visibility.'\', '
227 227
     .     '`searching`='.$searching.', '
228
     .     '`language`=\''.$language.'\', '
229
     .     '`admin_groups`=\''.$sAdminGroups.'\', '
230
     .     '`admin_users`=\''.$sAdminUsers.'\', '
228
     .     '`language`=\''.$language.'\', ';
229
if($admin->ami_group_member('1')) {
230
	$sql .= ''
231
	     .     '`admin_groups`=\''.$sAdminGroups.'\', '
232
	     .     '`admin_users`=\''.$sAdminUsers.'\', ';
233
}
234
$sql .= ''
231 235
     .     '`viewing_groups`=\''.$sViewingGroups.'\', '
232 236
     .     '`viewing_users`=\''.$sViewingUsers.'\', '
233 237
     .     '`page_code`='.$page_code.' '
234 238
     . 'WHERE `page_id`='.$page_id;
239

  
235 240
if(!$database->query($sql)) {
236 241
	$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
237 242
	$admin->print_error($database->get_error(), $target_url );
......
247 252
// Create a new file in the /pages dir if title changed
248 253
if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/'))
249 254
{
250
	$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
255
	$admin->print_error($MESSAGE['PAGES_CANNOT_CREATE_ACCESS_FILE']);
251 256
} else {
252 257
    $old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
253 258
	// First check if we need to create a new file
......
334 339
{
335 340
	$admin->print_error($database->get_error(), $target_url );
336 341
} else {
337
	$admin->print_success($MESSAGE['PAGES']['SAVED_SETTINGS'], $target_url );
342
	$admin->print_success($MESSAGE['PAGES_SAVED_SETTINGS'], $target_url );
338 343
}
339 344

  
340 345
// Print admin footer
branches/2.8.x/wb/admin/interface/version.php
51 51

  
52 52
// check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
53 53
if(!defined('VERSION')) define('VERSION', '2.8.3');
54
if(!defined('REVISION')) define('REVISION', '1705');
54
if(!defined('REVISION')) define('REVISION', '1706');
55 55
if(!defined('SP')) define('SP', '');

Also available in: Unified diff