Revision 546
Added by doc almost 18 years ago
| settings2.php | ||
|---|---|---|
| 73 | 73 |
$old_position = $results_array['position']; |
| 74 | 74 |
$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
|
| 75 | 75 |
$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
|
| 76 |
if(!is_numeric(array_search($admin->get_group_id(), $old_admin_groups)) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
|
|
| 76 |
|
|
| 77 |
$in_old_group = FALSE; |
|
| 78 |
foreach($admin->get_groups_id() as $cur_gid){
|
|
| 79 |
if (in_array($cur_gid, $old_admin_groups)) {
|
|
| 80 |
$in_old_group = TRUE; |
|
| 81 |
} |
|
| 82 |
} |
|
| 83 |
if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
|
|
| 77 | 84 |
$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']); |
| 78 | 85 |
} |
| 79 | 86 |
|
| 80 | 87 |
// Setup admin groups |
| 81 | 88 |
$admin_groups[] = 1; |
| 82 |
if($admin->get_group_id() != 1) {
|
|
| 83 |
$admin_groups[] = $admin->get_group_id();
|
|
| 89 |
if(!in_array(1, $admin->get_groups_id())) {
|
|
| 90 |
$admin_groups[] = implode(",",$admin->get_groups_id());
|
|
| 84 | 91 |
} |
| 85 | 92 |
$admin_groups = implode(',', $admin_groups);
|
| 86 | 93 |
// Setup viewing groups |
| 87 | 94 |
$viewing_groups[] = 1; |
| 88 |
if($admin->get_group_id() != 1) {
|
|
| 89 |
$viewing_groups[] = $admin->get_group_id();
|
|
| 95 |
if(!in_array(1, $admin->get_groups_id())) {
|
|
| 96 |
$viewing_groups[] = implode(",",$admin->get_groups_id());
|
|
| 90 | 97 |
} |
| 91 | 98 |
$viewing_groups = implode(',', $viewing_groups);
|
| 92 | 99 |
|
| ... | ... | |
| 143 | 150 |
// Get page trail |
| 144 | 151 |
$page_trail = get_page_trail($page_id); |
| 145 | 152 |
|
| 153 |
// Make sure link is not overwritten if page uses the menu link module |
|
| 154 |
$query_sections = $database->query("SELECT section_id FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' AND module = 'menu_link'");
|
|
| 155 |
if($query_sections->numRows() > 0) {
|
|
| 156 |
$link = $old_link; |
|
| 157 |
} |
|
| 158 |
|
|
| 146 | 159 |
// Update page settings in the pages table |
| 147 | 160 |
$query = "UPDATE ".TABLE_PREFIX."pages SET parent = '$parent', page_title = '$page_title', menu_title = '$menu_title', menu = '$menu', level = '$level', page_trail = '$page_trail', root_parent = '$root_parent', link = '$link', template = '$template', target = '$target', description = '$description', keywords = '$keywords', position = '$position', visibility = '$visibility', searching = '$searching', language = '$language', admin_groups = '$admin_groups', viewing_groups = '$viewing_groups' WHERE page_id = '$page_id'"; |
| 148 | 161 |
$database->query($query); |
Also available in: Unified diff
added the "users in multiple groups" feature (closes parts of ticket #546)