' . $lang->pagemanager_install_error . '
'); + } + $page->output_nav_tabs($sub_tabs, 'pagemanager'); + $table = new Table; + $table->construct_header($lang->name); + $table->construct_header($lang->pagemanager_main_table_id, array('width' => 40, 'class' => 'align_center')); + $table->construct_header($lang->pagemanager_main_table_framework, array('width' => 125, 'class' => 'align_center')); + $table->construct_header($lang->pagemanager_main_table_online, array('width' => 100, 'class' => 'align_center')); + $table->construct_header($lang->pagemanager_main_table_groups, array('width' => 125, 'class' => 'align_center')); + $table->construct_header($lang->pagemanager_main_table_devices, array('width' => 125, 'class' => 'align_center')); + $table->construct_header($lang->pagemanager_main_table_modified, array('width' => 150, 'class' => 'align_center')); + $table->construct_header($lang->controls, array('width' => 100, 'class' => 'align_center')); + $query = $db->simple_select('pages', '*', '', array('order_by' => 'name', 'order_dir' => 'ASC')); + if ($db->num_rows($query) > 0) + { + while ($pages = $db->fetch_array($query)) + { + + // PHP 8 fix - 2024-March-13 - Dave + if (!isset($mybb->input['highlight'])) { + $mybb->input['highlight'] = NULL; + } + + if ($mybb->input['highlight'] == $pages['pid']) + { + $highlight = array('style' => 'text-align:left; background-color: #FFFBD9;'); + $highlightc40 = array('width' => 40, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); + $highlightc100 = array('width' => 100, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); + $highlightc125 = array('width' => 125, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); + $highlightc150 = array('width' => 150, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); + } + else + { + $highlight = array('style' => 'text-align:left;'); + $highlightc40 = array('width' => 40, 'class' => 'align_center'); + $highlightc100 = array('width' => 100, 'class' => 'align_center'); + $highlightc125 = array('width' => 125, 'class' => 'align_center'); + $highlightc150 = array('width' => 150, 'class' => 'align_center'); + } + if ($pages['enabled']) + { + $status_icon = '' . $lang->pagemanager_install_error . '
'); + } + $page->output_nav_tabs($sub_tabs, 'pagemanager_add'); + $form = new Form($sub_tabs['pagemanager_add']['link'], 'post', 'add_template'); + if ($errors) + { + $page->output_inline_error($errors); + } + $form_container = new FormContainer($lang->pagemanager_add_form); + $form_container->output_row($lang->pagemanager_edit_form_name . ' *', $lang->pagemanager_edit_form_name_description, $form->generate_text_box('name', $form_array['name'], array('id' => 'name')), 'name'); + $form_container->output_row($lang->pagemanager_edit_form_url . ' *', $lang->pagemanager_edit_form_url_description, $form->generate_text_box('url', $form_array['url'], array('id' => 'url')), 'url'); + $group_select = " +| {$lang->groups_colon} | +" . $form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 10)) . " | +
' . $lang->pagemanager_install_error . '
'); + } + $page->output_nav_tabs($sub_tabs, 'pagemanager_import'); + $form = new Form($sub_tabs['pagemanager_add']['link'], 'post', '', 1); + $form_container = new FormContainer($lang->pagemanager_import_form); + $form_container->output_row($lang->pagemanager_import_form_file . ' *', $lang->pagemanager_import_form_file_description, $form->generate_file_upload_box('file')); + $form_container->output_row($lang->pagemanager_import_form_name, $lang->pagemanager_import_form_name_description, $form->generate_text_box('name_overwrite', '', array('id' => 'name_overwrite')), 'name_overwrite'); + $form_container->output_row($lang->pagemanager_import_form_manual, $lang->pagemanager_import_form_manual_description, $form->generate_on_off_radio('manual', 0)); + $form_container->output_row($lang->pagemanager_import_form_version, $lang->pagemanager_import_form_version_description, $form->generate_yes_no_radio('version', 0)); + $form_container->end(); + $buttons[] = $form->generate_submit_button($lang->pagemanager_import_form_action, array('name' => 'import')); + $form->output_submit_wrapper($buttons); + $form->end(); + $page->output_footer(); + } + if ($mybb->input['action'] == 'edit') + { + $query = $db->simple_select('pages', '*', 'pid=' . intval($mybb->input['pid'])); + $pages = $db->fetch_array($query); + if (!$pages['pid']) + { + flash_message($lang->pagemanager_invalid_page, 'error'); + admin_redirect($sub_tabs['pagemanager']['link']); + } + if ($mybb->request_method == 'post') + { + $form_array = pagemanager_setinput($mybb->input); + $querycheck = $db->simple_select('pages', 'pid', 'url="' . $db->escape_string($form_array['url']) . '" AND pid != ' . $pages['pid']); + $check = $db->fetch_array($querycheck); + if (!$form_array['name']) + { + $errors[] = $lang->pagemanager_edit_error_name; + } + if (!$form_array['url']) + { + $errors[] = $lang->pagemanager_edit_error_url; + } + if ($check['pid']) + { + $errors[] = $lang->pagemanager_edit_error_url_duplicate; + } + if (!$form_array['template']) + { + $errors[] = $lang->pagemanager_edit_error_template; + } + if ($mybb->input['group_type'] == 2) + { + if (count($mybb->input['group_1_groups']) < 1) + { + $errors[] = $lang->pagemanager_edit_no_groups_selected; + } + $group_checked[2] = "checked=\"checked\""; + } + else + { + $group_checked[1] = "checked=\"checked\""; + } + if (!$errors) + { + if ($mybb->input['group_type'] == 2) + { + if (is_array($mybb->input['group_1_groups'])) + { + $checked = array(); + foreach ($mybb->input['group_1_groups'] as $gid) + { + $checked[] = (int)$gid; + } + + $selected_groups = implode(',', $checked); + } + } + else + { + $selected_groups = '-1'; + } + if ($form_array['name'] == $pages['name'] && $form_array['url'] == $pages['url'] && $form_array['framework'] == $pages['framework'] && $form_array['template'] == $pages['template'] && $form_array['deviceselect'] == $pages['deviceselect'] && $form_array['online'] == $pages['online'] && $pages['pagegroups'] == $selected_groups) + { + $modified = $pages['dateline']; + if ($form_array['enabled'] == $pages['enabled']) + { + $update_lang = $lang->pagemanager_edit_success_nothing; + } + else + { + if ($form_array['enabled']) + { + $update_lang = $lang->pagemanager_enable_success; + } + else + { + $update_lang = $lang->pagemanager_disable_success; + } + } + } + else + { + $modified = TIME_NOW; + $update_lang = $lang->pagemanager_edit_success; + } + $updated_page = array( + 'name' => $db->escape_string($form_array['name']), + 'url' => $db->escape_string($form_array['url']), + 'pagegroups' => $selected_groups, + 'framework' => $form_array['framework'], + 'template' => $db->escape_string($form_array['template']), + 'deviceselect' => $db->escape_string($form_array['deviceselect']), + 'online' => $form_array['online'], + 'enabled' => $form_array['enabled'], + 'dateline' => $modified + ); + $db->update_query('pages', $updated_page, 'pid=' . $pages['pid']); + pagemanager_cache(); + flash_message($update_lang, 'success'); + if ($mybb->input['continue']) + { + admin_redirect($sub_tabs['pagemanager']['link'] . '&action=edit&pid=' . $pages['pid']); + } + else + { + admin_redirect($sub_tabs['pagemanager']['link'] . '&highlight=' . $pages['pid']); + } + } + } + else + { + $form_array = pagemanager_setinput($pages); + $mybb->input['group_1_groups'] = explode(",", $pages['pagegroups']); + + if (!$pages['pagegroups'] || $pages['pagegroups'] == -1) + { + $group_checked[1] = "checked=\"checked\""; + $group_checked[2] = ''; + } + else + { + $group_checked[1] = ''; + $group_checked[2] = "checked=\"checked\""; + } + } + $queryadmin = $db->simple_select('adminoptions', '*', 'uid=' . $mybb->user['uid']); + $admin_options = $db->fetch_array($queryadmin); + $sub_tabs['pagemanager_edit'] = array( + 'title' => $lang->pagemanager_edit_title, + 'link' => 'index.php?module=config-pagemanager&action=edit&pid=' . $pages['pid'], + 'description' => $lang->pagemanager_edit_description + ); + if ($admin_options['codepress'] != 0) + { + $page->extra_header = ' + + + + + + + + + + + + + + + + + + + + '; + } + $page->add_breadcrumb_item($lang->pagemanager_info_name, $sub_tabs['pagemanager']['link']); + $page->add_breadcrumb_item($sub_tabs['pagemanager_edit']['title']); + $page->output_header($lang->pagemanager_info_name . ' - ' . $sub_tabs['pagemanager_edit']['title']); + if (!pagemanager_is_installed()) + { + $page->output_error('' . $lang->pagemanager_install_error . '
'); + } + $page->output_nav_tabs($sub_tabs, 'pagemanager_edit'); + $form = new Form($sub_tabs['pagemanager_edit']['link'], 'post', 'edit_template'); + if ($errors) + { + $page->output_inline_error($errors); + } + $form_container = new FormContainer($lang->pagemanager_edit_form); + $form_container->output_row($lang->pagemanager_edit_form_name . ' *', $lang->pagemanager_edit_form_name_description, $form->generate_text_box('name', $form_array['name'], array('id' => 'name')), 'name'); + $form_container->output_row($lang->pagemanager_edit_form_url . ' *', $lang->pagemanager_edit_form_url_description, $form->generate_text_box('url', $form_array['url'], array('id' => 'url')), 'url'); + $group_select = " +| {$lang->groups_colon} | +" . $form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 10)) . " | +
' . $lang->pagemanager_install_error . '
'); - } - $page->output_nav_tabs($sub_tabs, 'pagemanager'); - $table = new Table; - $table->construct_header($lang->name); - $table->construct_header($lang->pagemanager_main_table_id, array('width' => 40, 'class' => 'align_center')); - $table->construct_header($lang->pagemanager_main_table_framework, array('width' => 125, 'class' => 'align_center')); - $table->construct_header($lang->pagemanager_main_table_online, array('width' => 100, 'class' => 'align_center')); - $table->construct_header($lang->pagemanager_main_table_groups, array('width' => 125, 'class' => 'align_center')); - $table->construct_header($lang->pagemanager_main_table_devices, array('width' => 125, 'class' => 'align_center')); - $table->construct_header($lang->pagemanager_main_table_modified, array('width' => 150, 'class' => 'align_center')); - $table->construct_header($lang->controls, array('width' => 100, 'class' => 'align_center')); - $query = $db->simple_select('pages', '*', '', array('order_by' => 'name', 'order_dir' => 'ASC')); - if ($db->num_rows($query) > 0) - { - while ($pages = $db->fetch_array($query)) - { - - // PHP 8 fix - 2024-March-13 - Dave - if (!isset($mybb->input['highlight'])) { - $mybb->input['highlight'] = NULL; - } - - if ($mybb->input['highlight'] == $pages['pid']) - { - $highlight = array('style' => 'text-align:left; background-color: #FFFBD9;'); - $highlightc40 = array('width' => 40, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); - $highlightc100 = array('width' => 100, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); - $highlightc125 = array('width' => 125, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); - $highlightc150 = array('width' => 150, 'style' => 'background-color: #FFFBD9;', 'class' => 'align_center'); - } - else - { - $highlight = array('style' => 'text-align:left;'); - $highlightc40 = array('width' => 40, 'class' => 'align_center'); - $highlightc100 = array('width' => 100, 'class' => 'align_center'); - $highlightc125 = array('width' => 125, 'class' => 'align_center'); - $highlightc150 = array('width' => 150, 'class' => 'align_center'); - } - if ($pages['enabled']) - { - $status_icon = '' . $lang->pagemanager_install_error . '
'); - } - $page->output_nav_tabs($sub_tabs, 'pagemanager_add'); - $form = new Form($sub_tabs['pagemanager_add']['link'], 'post', 'add_template'); - if ($errors) - { - $page->output_inline_error($errors); - } - $form_container = new FormContainer($lang->pagemanager_add_form); - $form_container->output_row($lang->pagemanager_edit_form_name . ' *', $lang->pagemanager_edit_form_name_description, $form->generate_text_box('name', $form_array['name'], array('id' => 'name')), 'name'); - $form_container->output_row($lang->pagemanager_edit_form_url . ' *', $lang->pagemanager_edit_form_url_description, $form->generate_text_box('url', $form_array['url'], array('id' => 'url')), 'url'); - $group_select = " -| {$lang->groups_colon} | -" . $form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 10)) . " | -
' . $lang->pagemanager_install_error . '
'); - } - $page->output_nav_tabs($sub_tabs, 'pagemanager_import'); - $form = new Form($sub_tabs['pagemanager_add']['link'], 'post', '', 1); - $form_container = new FormContainer($lang->pagemanager_import_form); - $form_container->output_row($lang->pagemanager_import_form_file . ' *', $lang->pagemanager_import_form_file_description, $form->generate_file_upload_box('file')); - $form_container->output_row($lang->pagemanager_import_form_name, $lang->pagemanager_import_form_name_description, $form->generate_text_box('name_overwrite', '', array('id' => 'name_overwrite')), 'name_overwrite'); - $form_container->output_row($lang->pagemanager_import_form_manual, $lang->pagemanager_import_form_manual_description, $form->generate_on_off_radio('manual', 0)); - $form_container->output_row($lang->pagemanager_import_form_version, $lang->pagemanager_import_form_version_description, $form->generate_yes_no_radio('version', 0)); - $form_container->end(); - $buttons[] = $form->generate_submit_button($lang->pagemanager_import_form_action, array('name' => 'import')); - $form->output_submit_wrapper($buttons); - $form->end(); - $page->output_footer(); - } - if ($mybb->input['action'] == 'edit') - { - $query = $db->simple_select('pages', '*', 'pid=' . intval($mybb->input['pid'])); - $pages = $db->fetch_array($query); - if (!$pages['pid']) - { - flash_message($lang->pagemanager_invalid_page, 'error'); - admin_redirect($sub_tabs['pagemanager']['link']); - } - if ($mybb->request_method == 'post') - { - $form_array = pagemanager_setinput($mybb->input); - $querycheck = $db->simple_select('pages', 'pid', 'url="' . $db->escape_string($form_array['url']) . '" AND pid != ' . $pages['pid']); - $check = $db->fetch_array($querycheck); - if (!$form_array['name']) - { - $errors[] = $lang->pagemanager_edit_error_name; - } - if (!$form_array['url']) - { - $errors[] = $lang->pagemanager_edit_error_url; - } - if ($check['pid']) - { - $errors[] = $lang->pagemanager_edit_error_url_duplicate; - } - if (!$form_array['template']) - { - $errors[] = $lang->pagemanager_edit_error_template; - } - if ($mybb->input['group_type'] == 2) - { - if (count($mybb->input['group_1_groups']) < 1) - { - $errors[] = $lang->pagemanager_edit_no_groups_selected; - } - $group_checked[2] = "checked=\"checked\""; - } - else - { - $group_checked[1] = "checked=\"checked\""; - } - if (!$errors) - { - if ($mybb->input['group_type'] == 2) - { - if (is_array($mybb->input['group_1_groups'])) - { - $checked = array(); - foreach ($mybb->input['group_1_groups'] as $gid) - { - $checked[] = (int)$gid; - } - - $selected_groups = implode(',', $checked); - } - } - else - { - $selected_groups = '-1'; - } - if ($form_array['name'] == $pages['name'] && $form_array['url'] == $pages['url'] && $form_array['framework'] == $pages['framework'] && $form_array['template'] == $pages['template'] && $form_array['deviceselect'] == $pages['deviceselect'] && $form_array['online'] == $pages['online'] && $pages['pagegroups'] == $selected_groups) - { - $modified = $pages['dateline']; - if ($form_array['enabled'] == $pages['enabled']) - { - $update_lang = $lang->pagemanager_edit_success_nothing; - } - else - { - if ($form_array['enabled']) - { - $update_lang = $lang->pagemanager_enable_success; - } - else - { - $update_lang = $lang->pagemanager_disable_success; - } - } - } - else - { - $modified = TIME_NOW; - $update_lang = $lang->pagemanager_edit_success; - } - $updated_page = array( - 'name' => $db->escape_string($form_array['name']), - 'url' => $db->escape_string($form_array['url']), - 'pagegroups' => $selected_groups, - 'framework' => $form_array['framework'], - 'template' => $db->escape_string($form_array['template']), - 'deviceselect' => $db->escape_string($form_array['deviceselect']), - 'online' => $form_array['online'], - 'enabled' => $form_array['enabled'], - 'dateline' => $modified - ); - $db->update_query('pages', $updated_page, 'pid=' . $pages['pid']); - pagemanager_cache(); - flash_message($update_lang, 'success'); - if ($mybb->input['continue']) - { - admin_redirect($sub_tabs['pagemanager']['link'] . '&action=edit&pid=' . $pages['pid']); - } - else - { - admin_redirect($sub_tabs['pagemanager']['link'] . '&highlight=' . $pages['pid']); - } - } - } - else - { - $form_array = pagemanager_setinput($pages); - $mybb->input['group_1_groups'] = explode(",", $pages['pagegroups']); - - if (!$pages['pagegroups'] || $pages['pagegroups'] == -1) - { - $group_checked[1] = "checked=\"checked\""; - $group_checked[2] = ''; - } - else - { - $group_checked[1] = ''; - $group_checked[2] = "checked=\"checked\""; - } - } - $queryadmin = $db->simple_select('adminoptions', '*', 'uid=' . $mybb->user['uid']); - $admin_options = $db->fetch_array($queryadmin); - $sub_tabs['pagemanager_edit'] = array( - 'title' => $lang->pagemanager_edit_title, - 'link' => 'index.php?module=config-pagemanager&action=edit&pid=' . $pages['pid'], - 'description' => $lang->pagemanager_edit_description - ); - if ($admin_options['codepress'] != 0) - { - $page->extra_header = ' - - - - - - - - - - - - - - - - - - - - '; - } - $page->add_breadcrumb_item($lang->pagemanager_info_name, $sub_tabs['pagemanager']['link']); - $page->add_breadcrumb_item($sub_tabs['pagemanager_edit']['title']); - $page->output_header($lang->pagemanager_info_name . ' - ' . $sub_tabs['pagemanager_edit']['title']); - if (!pagemanager_is_installed()) - { - $page->output_error('' . $lang->pagemanager_install_error . '
'); - } - $page->output_nav_tabs($sub_tabs, 'pagemanager_edit'); - $form = new Form($sub_tabs['pagemanager_edit']['link'], 'post', 'edit_template'); - if ($errors) - { - $page->output_inline_error($errors); - } - $form_container = new FormContainer($lang->pagemanager_edit_form); - $form_container->output_row($lang->pagemanager_edit_form_name . ' *', $lang->pagemanager_edit_form_name_description, $form->generate_text_box('name', $form_array['name'], array('id' => 'name')), 'name'); - $form_container->output_row($lang->pagemanager_edit_form_url . ' *', $lang->pagemanager_edit_form_url_description, $form->generate_text_box('url', $form_array['url'], array('id' => 'url')), 'url'); - $group_select = " -| {$lang->groups_colon} | -" . $form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 10)) . " | -