Revision 1384
Added by Luisehahne almost 15 years ago
| settings2.php | ||
|---|---|---|
| 17 | 17 |
*/ |
| 18 | 18 |
|
| 19 | 19 |
// Get page id |
| 20 |
if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id']))
|
|
| 20 |
if(!isset($_POST['page_id']) || !is_numeric($_POST['page_id']))
|
|
| 21 | 21 |
{
|
| 22 | 22 |
header("Location: index.php");
|
| 23 | 23 |
exit(0); |
| ... | ... | |
| 29 | 29 |
require('../../config.php');
|
| 30 | 30 |
require_once(WB_PATH.'/framework/class.admin.php'); |
| 31 | 31 |
$admin = new admin('Pages', 'pages_settings');
|
| 32 |
|
|
| 32 | 33 |
if (!$admin->checkFTAN()) |
| 33 | 34 |
{
|
| 34 |
$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
|
|
| 35 |
$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],'index.php');
|
|
| 35 | 36 |
exit(); |
| 36 | 37 |
} |
| 37 | 38 |
|
| ... | ... | |
| 41 | 42 |
// Get values |
| 42 | 43 |
$page_title = htmlspecialchars($admin->get_post_escaped('page_title') );
|
| 43 | 44 |
$menu_title = htmlspecialchars($admin->get_post_escaped('menu_title') );
|
| 44 |
$page_code = $admin->get_post_escaped('page_code');
|
|
| 45 |
$page_code = (int) $admin->get_post_escaped('page_code');
|
|
| 45 | 46 |
$description = htmlspecialchars($admin->add_slashes($admin->get_post('description')) );
|
| 46 | 47 |
$keywords = htmlspecialchars($admin->add_slashes($admin->get_post('keywords')) );
|
| 47 |
$parent = $admin->get_post_escaped('parent');
|
|
| 48 |
$parent = (int) $admin->get_post_escaped('parent'); // fix secunia 2010-91-3
|
|
| 48 | 49 |
$visibility = $admin->get_post_escaped('visibility');
|
| 49 |
$template = $admin->get_post_escaped('template');
|
|
| 50 |
$target = $admin->get_post_escaped('target');
|
|
| 50 |
if (!in_array($visibility, array('public', 'private', 'registered', 'hidden', 'none'))) {$visibility = 'public';} // fix secunia 2010-93-3
|
|
| 51 |
$template = preg_replace("/\W/", "", $admin->get_post_escaped('template')); // fix secunia 2010-93-3
|
|
| 52 |
$target = preg_replace("/\W/", "", $admin->get_post_escaped('target'));
|
|
| 51 | 53 |
$admin_groups = $admin->get_post_escaped('admin_groups');
|
| 52 | 54 |
$viewing_groups = $admin->get_post_escaped('viewing_groups');
|
| 53 | 55 |
$searching = $admin->get_post_escaped('searching');
|
| 54 |
$language = $admin->get_post_escaped('language');
|
|
| 55 |
$menu = $admin->get_post_escaped('menu');
|
|
| 56 |
$language = strtoupper($admin->get_post('language'));
|
|
| 57 |
$language = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
|
|
| 58 |
$menu = (int) $admin->get_post_escaped('menu'); // fix secunia 2010-91-3
|
|
| 56 | 59 |
|
| 57 | 60 |
// Validate data |
| 58 | 61 |
if($page_title == '' || substr($page_title,0,1)=='.') |
| ... | ... | |
| 90 | 93 |
$in_old_group = TRUE; |
| 91 | 94 |
} |
| 92 | 95 |
} |
| 93 |
if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
|
|
| 96 |
if((!$in_old_group) && !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
|
|
| 94 | 97 |
{
|
| 95 | 98 |
$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']); |
| 96 | 99 |
} |
| ... | ... | |
| 100 | 103 |
//if(!in_array(1, $admin->get_groups_id())) {
|
| 101 | 104 |
// $admin_groups[] = implode(",",$admin->get_groups_id());
|
| 102 | 105 |
//} |
| 103 |
$admin_groups = implode(',', $admin_groups);
|
|
| 106 |
$admin_groups = preg_replace("/[^\d,]/", "", implode(',', $admin_groups));
|
|
| 104 | 107 |
// Setup viewing groups |
| 105 | 108 |
$viewing_groups[] = 1; |
| 106 | 109 |
//if(!in_array(1, $admin->get_groups_id())) {
|
| 107 | 110 |
// $viewing_groups[] = implode(",",$admin->get_groups_id());
|
| 108 | 111 |
//} |
| 109 |
$viewing_groups = implode(',', $viewing_groups);
|
|
| 112 |
$viewing_groups = preg_replace("/[^\d,]/", "", implode(',', $viewing_groups));
|
|
| 110 | 113 |
|
| 111 | 114 |
// If needed, get new order |
| 112 | 115 |
if($parent != $old_parent) |
| ... | ... | |
| 233 | 236 |
// Create access file |
| 234 | 237 |
create_access_file($filename,$page_id,$level); |
| 235 | 238 |
// Move a directory for this page |
| 236 |
if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.'/') AND is_dir(WB_PATH.PAGES_DIRECTORY.$old_link.'/'))
|
|
| 239 |
if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.'/') && is_dir(WB_PATH.PAGES_DIRECTORY.$old_link.'/'))
|
|
| 237 | 240 |
{
|
| 238 | 241 |
rename(WB_PATH.PAGES_DIRECTORY.$old_link.'/', WB_PATH.PAGES_DIRECTORY.$link.'/'); |
| 239 | 242 |
} |
Also available in: Unified diff
Security fix in admin/pages