Please make sure IN_MYBB is defined."); } $page->add_breadcrumb_item($lang->help_documents, "index.php?module=config-help_documents"); $plugins->run_hooks("admin_config_help_documents_begin"); // Add something if($mybb->input['action'] == "add") { $plugins->run_hooks("admin_config_help_documents_add"); // Add section if($mybb->input['type'] == "section") { $plugins->run_hooks("admin_config_help_documents_add_section"); // Do add? if($mybb->request_method == "post") { if(empty($mybb->input['name'])) { $errors[] = $lang->error_section_missing_name; } if(empty($mybb->input['description'])) { $errors[] = $lang->error_section_missing_description; } if(!isset($mybb->input['enabled'])) { $errors[] = $lang->error_section_missing_enabled; } if($mybb->input['enabled'] != 1) { $mybb->input['enabled'] = 0; } if(!is_array($errors)) { $sql_array = array( "name" => $db->escape_string($mybb->input['name']), "description" => $db->escape_string($mybb->input['description']), "usetranslation" => intval($mybb->input['usetranslation']), "enabled" => intval($mybb->input['enabled']), "disporder" => intval($mybb->input['disporder']) ); $sid = $db->insert_query("helpsections", $sql_array); $plugins->run_hooks("admin_config_help_documents_add_section_commit"); // Log admin action log_admin_action($sid, $mybb->input['name'], 'section'); flash_message($lang->success_help_section_added, 'success'); admin_redirect('index.php?module=config-help_documents'); } } $page->add_breadcrumb_item($lang->add_new_section); $page->output_header($lang->help_documents." - ".$lang->add_new_section); $sub_tabs['manage_help_documents'] = array( 'title' => $lang->manage_help_documents, 'link' => "index.php?module=config-help_documents" ); $sub_tabs['add_help_document'] = array( 'title' => $lang->add_new_document, 'link' => "index.php?module=config-help_documents&action=add&type=document" ); $sub_tabs['add_help_section'] = array( 'title' => $lang->add_new_section, 'link' => "index.php?module=config-help_documents&action=add&type=section", 'description' => $lang->add_new_section_desc ); $page->output_nav_tabs($sub_tabs, 'add_help_section'); if($errors) { $page->output_inline_error($errors); } else { $query = $db->simple_select("helpsections", "MAX(disporder) as maxdisp"); $mybb->input['disporder'] = $db->fetch_field($query, "maxdisp")+1; $mybb->input['enabled'] = 1; $mybb->input['usetranslation'] = 1; } $form = new Form("index.php?module=config-help_documents&action=add&type=section", "post", "add"); echo $form->generate_hidden_field("usetranslation", $mybb->input['usetranslation']); $form_container = new FormContainer($lang->add_new_section); $form_container->output_row($lang->title." *", "", $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name'); $form_container->output_row($lang->short_description." *", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->display_order, "", $form->generate_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder'); $form_container->output_row($lang->enabled." *", "", $form->generate_yes_no_radio('enabled', $mybb->input['enabled'])); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_section); $form->output_submit_wrapper($buttons); $form->end(); } // Add page else { $plugins->run_hooks("admin_config_help_documents_add_page"); // Do add? if($mybb->request_method == "post") { if(empty($mybb->input['sid'])) { $errors[] = $lang->error_missing_sid; } if(empty($mybb->input['name'])) { $errors[] = $lang->error_document_missing_name; } if(empty($mybb->input['description'])) { $errors[] = $lang->error_document_missing_description; } if(empty($mybb->input['document'])) { $errors[] = $lang->error_document_missing_document; } if(!isset($mybb->input['enabled'])) { $errors[] = $lang->error_document_missing_enabled; } if($mybb->input['enabled'] != 1) { $mybb->input['enabled'] = 0; } if(!is_array($errors)) { $sql_array = array( "sid" => intval($mybb->input['sid']), "name" => $db->escape_string($mybb->input['name']), "description" => $db->escape_string($mybb->input['description']), "document" => $db->escape_string($mybb->input['document']), "usetranslation" => intval($mybb->input['usetranslation']), "enabled" => intval($mybb->input['enabled']), "disporder" => intval($mybb->input['disporder']) ); $hid = $db->insert_query("helpdocs", $sql_array); $plugins->run_hooks("admin_config_help_documents_add_page_commit"); // Log admin action log_admin_action($hid, $mybb->input['name'], 'document'); flash_message($lang->success_help_document_added, 'success'); admin_redirect('index.php?module=config-help_documents'); } } $page->add_breadcrumb_item($lang->add_new_document); $page->output_header($lang->help_documents." - ".$lang->add_new_document); $sub_tabs['manage_help_documents'] = array( 'title' => $lang->manage_help_documents, 'link' => "index.php?module=config-help_documents" ); $sub_tabs['add_help_document'] = array( 'title' => $lang->add_new_document, 'link' => "index.php?module=config-help_documents&action=add&type=document", 'description' => $lang->add_new_document_desc ); $sub_tabs['add_help_section'] = array( 'title' => $lang->add_new_section, 'link' => "index.php?module=config-help_documents&action=add&type=section" ); $page->output_nav_tabs($sub_tabs, 'add_help_document'); if($errors) { $page->output_inline_error($errors); } else { // Select the largest existing display order $query = $db->simple_select("helpdocs", "MAX(disporder) as maxdisp"); $mybb->input['disporder'] = $db->fetch_field($query, "maxdisp")+1; $mybb->input['enabled'] = 1; $mybb->input['translation'] = 1; } $form = new Form("index.php?module=config-help_documents&action=add&type=document", "post", "add"); echo $form->generate_hidden_field("usetranslation", $mybb->input['usetranslation']); $form_container = new FormContainer($lang->add_new_document); $query = $db->simple_select("helpsections", "sid, name"); while($section = $db->fetch_array($query)) { $sections[$section['sid']] = $section['name']; } $form_container->output_row($lang->section." *", "", $form->generate_select_box("sid", $sections, $mybb->input['sid'], array('id' => 'sid')), 'sid'); $form_container->output_row($lang->title." *", "", $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name'); $form_container->output_row($lang->short_description." *", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->document." *", "", $form->generate_text_area('document', $mybb->input['document'], array('id' => 'document')), 'document'); $form_container->output_row($lang->display_order, "", $form->generate_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder'); $form_container->output_row($lang->enabled." *", "", $form->generate_yes_no_radio('enabled', $mybb->input['enabled'])); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_document); $form->output_submit_wrapper($buttons); $form->end(); } $page->output_footer(); } // Edit something if($mybb->input['action'] == "edit") { $plugins->run_hooks("admin_config_help_documents_edit"); // Edit a section if($mybb->input['sid'] && !$mybb->input['hid']) { $query = $db->simple_select("helpsections", "*", "sid = '".intval($mybb->input['sid'])."'"); $section = $db->fetch_array($query); $plugins->run_hooks("admin_config_help_documents_edit_section"); // Do edit? if($mybb->request_method == "post") { $sid = intval($mybb->input['sid']); if(empty($sid)) { $errors[] = $lang->error_invalid_sid; } if(empty($mybb->input['name'])) { $errors[] = $lang->error_section_missing_name; } if(empty($mybb->input['description'])) { $errors[] = $lang->error_section_missing_description; } if(!isset($mybb->input['enabled'])) { $errors[] = $lang->error_section_missing_enabled; } if($mybb->input['enabled'] != 1) { $mybb->input['enabled'] = 0; } if(!is_array($errors)) { $sql_array = array( "name" => $db->escape_string($mybb->input['name']), "description" => $db->escape_string($mybb->input['description']), "usetranslation" => intval($mybb->input['usetranslation']), "enabled" => intval($mybb->input['enabled']), "disporder" => intval($mybb->input['disporder']) ); $db->update_query("helpsections", $sql_array, "sid = '{$sid}'"); $plugins->run_hooks("admin_config_help_documents_edit_section_commit"); // Log admin action log_admin_action($sid, $mybb->input['name'], 'section'); flash_message($lang->success_help_section_updated, 'success'); admin_redirect('index.php?module=config-help_documents'); } } $page->add_breadcrumb_item($lang->edit_section); $page->output_header($lang->help_documents." - ".$lang->edit_section); $sub_tabs['edit_help_section'] = array( 'title' => $lang->edit_section, 'link' => "index.php?module=config-help_documents&action=edit&sid=".intval($mybb->input['sid']), 'description' => $lang->edit_section_desc ); $page->output_nav_tabs($sub_tabs, 'edit_help_section'); if($errors) { $page->output_inline_error($errors); } else { $mybb->input['sid'] = $section['sid']; $mybb->input['name'] = $section['name']; $mybb->input['description'] = $section['description']; $mybb->input['disporder'] = $section['disporder']; $mybb->input['enabled'] = $section['enabled']; $mybb->input['usetranslation'] = $section['usetranslation']; } $form = new Form("index.php?module=config-help_documents&action=edit", "post", "edit"); echo $form->generate_hidden_field("sid", $mybb->input['sid']); echo $form->generate_hidden_field("usetranslation", $mybb->input['usetranslation']); $form_container = new FormContainer($lang->edit_section." ({$lang->id} ".intval($mybb->input['sid']).")"); $form_container->output_row($lang->title." *", "", $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name'); $form_container->output_row($lang->short_description." *", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->display_order, "", $form->generate_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder'); $form_container->output_row($lang->enabled." *", "", $form->generate_yes_no_radio('enabled', $mybb->input['enabled'])); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->edit_section); $form->output_submit_wrapper($buttons); $form->end(); } // Edit document else { $plugins->run_hooks("admin_config_help_documents_edit_page"); // Do edit? if($mybb->request_method == "post") { $hid = intval($mybb->input['hid']); if(empty($hid)) { $errors[] = $lang->error_invalid_sid; } if(empty($mybb->input['name'])) { $errors[] = $lang->error_document_missing_name; } if(empty($mybb->input['description'])) { $errors[] = $lang->error_document_missing_description; } if(empty($mybb->input['document'])) { $errors[] = $lang->error_document_missing_document; } if(!isset($mybb->input['enabled'])) { $errors[] = $lang->error_document_missing_enabled; } if($mybb->input['enabled'] != 1) { $mybb->input['enabled'] = 0; } if(!is_array($errors)) { $sql_array = array( "sid" => intval($mybb->input['sid']), "name" => $db->escape_string($mybb->input['name']), "description" => $db->escape_string($mybb->input['description']), "document" => $db->escape_string($mybb->input['document']), "usetranslation" => intval($mybb->input['usetranslation']), "enabled" => intval($mybb->input['enabled']), "disporder" => intval($mybb->input['disporder']) ); $db->update_query("helpdocs", $sql_array, "hid = '{$hid}'"); $plugins->run_hooks("admin_config_help_documents_edit_page_commit"); // Log admin action log_admin_action($hid, $mybb->input['name'], 'document'); flash_message($lang->success_help_document_updated, 'success'); admin_redirect('index.php?module=config-help_documents'); } } $page->add_breadcrumb_item($lang->edit_document); $page->output_header($lang->help_documents." - ".$lang->edit_document); $sub_tabs['edit_help_document'] = array( 'title' => $lang->edit_document, 'link' => "index.php?module=config-help_documents&action=edit&hid=".intval($mybb->input['hid']), 'description' => $lang->edit_document_desc ); $page->output_nav_tabs($sub_tabs, 'edit_help_document'); if($errors) { $page->output_inline_error($errors); } else { $query = $db->simple_select("helpdocs", "*", "hid = '".intval($mybb->input['hid'])."'"); $doc = $db->fetch_array($query); $mybb->input['hid'] = $doc['hid']; $mybb->input['sid'] = $doc['sid']; $mybb->input['name'] = $doc['name']; $mybb->input['description'] = $doc['description']; $mybb->input['document'] = $doc['document']; $mybb->input['disporder'] = $doc['disporder']; $mybb->input['enabled'] = $doc['enabled']; $mybb->input['usetranslation'] = $doc['usetranslation']; } $form = new Form("index.php?module=config-help_documents&action=edit", "post", "edit"); echo $form->generate_hidden_field("hid", $mybb->input['hid']); echo $form->generate_hidden_field("usetranslation", $mybb->input['usetranslation']); $form_container = new FormContainer($lang->edit_document." ({$lang->id} ".intval($mybb->input['hid']).")"); $query = $db->simple_select("helpsections", "sid, name"); while($section = $db->fetch_array($query)) { $sections[$section['sid']] = $section['name']; } $form_container->output_row($lang->section." *", "", $form->generate_select_box("sid", $sections, $mybb->input['sid']), 'sid'); $form_container->output_row($lang->title." *", "", $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name'); $form_container->output_row($lang->short_description." *", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->document." *", "", $form->generate_text_area('document', $mybb->input['document'], array('id' => 'document')), 'document'); $form_container->output_row($lang->display_order, "", $form->generate_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder'); $form_container->output_row($lang->enabled." *", "", $form->generate_yes_no_radio('enabled', $mybb->input['enabled'])); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->edit_document); $form->output_submit_wrapper($buttons); $form->end(); } $page->output_footer(); } // Delete something if($mybb->input['action'] == "delete") { $plugins->run_hooks("admin_config_help_documents_delete"); // User clicked no if($mybb->input['no']) { admin_redirect("index.php?module=config-help_documents"); } // Do delete something? if($mybb->request_method == "post") { // Delete section if(isset($mybb->input['sid'])) { $sid = intval($mybb->input['sid']); $query = $db->simple_select("helpsections", "*", "sid='{$sid}'"); $section = $db->fetch_array($query); // Invalid section? if(!$section['sid']) { flash_message($lang->error_missing_section_id, 'error'); admin_redirect("index.php?module=config-help_documents"); } // Default section? if($sid <= 2) { flash_message($lang->error_cannot_delete_section, 'error'); admin_redirect("index.php?module=config-help_documents"); } // Delete section and its documents $db->delete_query("helpsections", "sid = '{$sid}'", 1); $db->delete_query("helpdocs", "sid = '{$sid}'"); $plugins->run_hooks("admin_config_help_documents_delete_section_commit"); // Log admin action log_admin_action($section['sid'], $section['name'], 'section'); flash_message($lang->success_section_deleted, 'success'); admin_redirect("index.php?module=config-help_documents"); } // Delete document else { $hid = intval($mybb->input['hid']); $query = $db->simple_select("helpdocs", "*", "hid='{$hid}'"); $doc = $db->fetch_array($query); // Invalid document? if(!$doc['hid']) { flash_message($lang->error_missing_hid, 'error'); admin_redirect("index.php?module=config-help_documents"); } // Default document? if($hid <= 7) { flash_message($lang->error_cannot_delete_document, 'error'); admin_redirect("index.php?module=config-help_documents"); } $db->delete_query("helpdocs", "hid = '{$hid}'", 1); $plugins->run_hooks("admin_config_help_documents_delete_page_commit"); // Log admin action log_admin_action($doc['hid'], $doc['name'], 'document'); flash_message($lang->success_document_deleted, 'success'); admin_redirect("index.php?module=config-help_documents"); } } // Show form for deletion else { // Section if(isset($mybb->input['sid'])) { $sid = intval($mybb->input['sid']); $page->output_confirm_action("index.php?module=config-help_documents&action=delete&sid={$sid}", $lang->confirm_section_deletion); } // Document else { $hid = intval($mybb->input['hid']); $page->output_confirm_action("index.php?module=config-help_documents&action=delete&hid={$hid}", $lang->confirm_document_deletion); } } } // List document and sections if(!$mybb->input['action']) { $plugins->run_hooks("admin_config_help_documents_start"); $page->output_header($lang->help_documents); $sub_tabs['manage_help_documents'] = array( 'title' => $lang->manage_help_documents, 'link' => "index.php?module=config-help_documents", 'description'=> $lang->manage_help_documents_desc ); $sub_tabs['add_help_document'] = array( 'title' => $lang->add_new_document, 'link' => "index.php?module=config-help_documents&action=add&type=document" ); $sub_tabs['add_help_section'] = array( 'title' => $lang->add_new_section, 'link' => "index.php?module=config-help_documents&action=add&type=section" ); $page->output_nav_tabs($sub_tabs, 'manage_help_documents'); $table = new Table; $table->construct_header($lang->section_document); $table->construct_header($lang->controls, array('class' => "align_center", 'colspan' => 2, "width" => "150")); $query = $db->simple_select("helpsections", "*", "", array('order_by' => "disporder")); while($section = $db->fetch_array($query)) { // Icon to differentiate section type if($section['sid'] > 2) { $icon = "custom_doc_sec}\" alt=\"{$lang->custom_doc_sec}\" style=\"vertical-align: middle;\" />"; } else { $icon = "default_doc_sec}\" alt=\"{$lang->default_doc_sec}\" style=\"vertical-align: middle;\" />"; } $table->construct_cell("
{$icon}
{$section['name']}
{$section['description']}
"); $table->construct_cell("{$lang->edit}", array("class" => "align_center", "width" => '60')); // Show delete only if not a default section if($section['sid'] > 2) { $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_section_deletion}')\">{$lang->delete}", array("class" => "align_center", "width" => '90')); } else { $table->construct_cell(" ", array("width" => '90')); } $table->construct_row(); $query2 = $db->simple_select("helpdocs", "*", "sid='{$section['sid']}'", array('order_by' => "disporder")); while($doc = $db->fetch_array($query2)) { // Icon to differentiate document type if($doc['hid'] > 7) { $icon = "custom_doc_sec}\" alt=\"{$lang->custom_doc_sec}\" style=\"vertical-align: middle;\" />"; } else { $icon = "default_doc_sec}\" alt=\"{$lang->default_doc_sec}\" style=\"vertical-align: middle;\" />"; } $table->construct_cell("
{$icon}
{$doc['name']}
{$doc['description']}
"); $table->construct_cell("{$lang->edit}", array("class" => "align_center", "width" => '60')); // Only show delete if not a default document if($doc['hid'] > 7) { $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_document_deletion}')\">{$lang->delete}", array("class" => "align_center", "width" => '90')); } else { $table->construct_cell(" ", array("width" => '90')); } $table->construct_row(); } } // No documents message if($table->num_rows() == 0) { $table->construct_cell($lang->no_help_documents, array('colspan' => 3)); $table->construct_row(); } $table->output($lang->help_documents); echo << {$lang->legend} {$lang->custom_doc_sec} {$lang->custom_doc_sec}
{$lang->default_doc_sec} {$lang->default_doc_sec} LEGEND; $page->output_footer(); } ?>