Please make sure IN_MYBB is defined."); } $page->add_breadcrumb_item($lang->mod_tools, "index.php?module=config-mod_tools"); $plugins->run_hooks("admin_config_mod_tools_begin"); if($mybb->input['action'] == "delete_post_tool") { $query = $db->simple_select("modtools", "*", "tid='{$mybb->input['tid']}'"); $tool = $db->fetch_array($query); // Does the post tool not exist? if(!$tool) { flash_message($lang->error_invalid_post_tool, 'error'); admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } // User clicked no if($mybb->get_input('no')) { admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } $plugins->run_hooks("admin_config_mod_tools_delete_post_tool"); if($mybb->request_method == 'post') { // Delete the type $db->delete_query('modtools', "tid='{$tool['tid']}'"); $plugins->run_hooks("admin_config_mod_tools_delete_post_tool_commit"); // Log admin action log_admin_action($tool['tid'], $tool['name']); $cache->update_forumsdisplay(); flash_message($lang->success_post_tool_deleted, 'success'); admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } else { $page->output_confirm_action("index.php?module=config-mod_tools&action=post_tools&tid={$type['tid']}", $lang->confirm_post_tool_deletion); } } if($mybb->input['action'] == "delete_thread_tool") { $query = $db->simple_select("modtools", "*", "tid='{$mybb->input['tid']}'"); $tool = $db->fetch_array($query); // Does the post tool not exist? if(!$tool) { flash_message($lang->error_invalid_thread_tool, 'error'); admin_redirect("index.php?module=config-mod_tools"); } // User clicked no if($mybb->get_input('no')) { admin_redirect("index.php?module=config-mod_tools"); } $plugins->run_hooks("admin_config_mod_tools_delete_thread_tool"); if($mybb->request_method == 'post') { // Delete the type $db->delete_query('modtools', "tid='{$tool['tid']}'"); $plugins->run_hooks("admin_config_mod_tools_delete_thread_tool_commit"); // Log admin action log_admin_action($tool['tid'], $tool['name']); $cache->update_forumsdisplay(); flash_message($lang->success_thread_tool_deleted, 'success'); admin_redirect("index.php?module=config-mod_tools"); } else { $page->output_confirm_action("index.php?module=config-mod_tools&action=delete_thread_tool&tid={$tool['tid']}", $lang->confirm_thread_tool_deletion); } } if($mybb->input['action'] == "post_tools") { $plugins->run_hooks("admin_config_mod_tools_post_tools"); $page->add_breadcrumb_item($lang->post_tools); $page->output_header($lang->mod_tools." - ".$lang->post_tools); $sub_tabs['thread_tools'] = array( 'title' => $lang->thread_tools, 'link' => "index.php?module=config-mod_tools" ); $sub_tabs['add_thread_tool'] = array( 'title'=> $lang->add_thread_tool, 'link' => "index.php?module=config-mod_tools&action=add_thread_tool" ); $sub_tabs['post_tools'] = array( 'title' => $lang->post_tools, 'link' => "index.php?module=config-mod_tools&action=post_tools", 'description' => $lang->post_tools_desc ); $sub_tabs['add_post_tool'] = array( 'title'=> $lang->add_post_tool, 'link' => "index.php?module=config-mod_tools&action=add_post_tool" ); $page->output_nav_tabs($sub_tabs, 'post_tools'); $table = new Table; $table->construct_header($lang->title); $table->construct_header($lang->controls, array('class' => "align_center", 'colspan' => 2)); $query = $db->simple_select('modtools', 'tid, name, description, type', "type='p'", array('order_by' => 'name')); while($tool = $db->fetch_array($query)) { $table->construct_cell("".htmlspecialchars_uni($tool['name'])."
".htmlspecialchars_uni($tool['description']).""); $table->construct_cell("{$lang->edit}", array('width' => 100, 'class' => "align_center")); $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_post_tool_deletion}')\">{$lang->delete}", array('width' => 100, 'class' => "align_center")); $table->construct_row(); } if($table->num_rows() == 0) { $table->construct_cell($lang->no_post_tools, array('colspan' => 3)); $table->construct_row(); } $table->output($lang->post_tools); $page->output_footer(); } if($mybb->input['action'] == "edit_thread_tool") { $query = $db->simple_select("modtools", "COUNT(tid) as tools", "tid = '{$mybb->input['tid']}' AND type='t'"); if($db->fetch_field($query, "tools") < 1) { flash_message($lang->error_invalid_thread_tool, 'error'); admin_redirect("index.php?module=config-mod_tools"); } $plugins->run_hooks("admin_config_mod_tools_edit_thread_tool"); if($mybb->request_method == 'post') { if(trim($mybb->input['title']) == "") { $errors[] = $lang->error_missing_title; } if(trim($mybb->input['description']) == "") { $errors[] = $lang->error_missing_description; } if($mybb->input['forum_type'] == 2) { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['forum_1_forums']) && count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } } else { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['group_1_groups']) && count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } } else { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; $mybb->input['group_1_groups'] = ''; } if($mybb->input['approvethread'] != '' && $mybb->input['approvethread'] != 'approve' && $mybb->input['approvethread'] != 'unapprove' && $mybb->input['approvethread'] != 'toggle') { $mybb->input['approvethread'] = ''; } if($mybb->input['softdeletethread'] != '' && $mybb->input['softdeletethread'] != 'softdelete' && $mybb->input['softdeletethread'] != 'restore' && $mybb->input['softdeletethread'] != 'toggle') { $mybb->input['softdeletethread'] = ''; } if($mybb->input['openthread'] != '' && $mybb->input['openthread'] != 'open' && $mybb->input['openthread'] != 'close' && $mybb->input['openthread'] != 'toggle') { $mybb->input['openthread'] = ''; } if($mybb->input['stickthread'] != '' && $mybb->input['stickthread'] != 'stick' && $mybb->input['stickthread'] != 'unstick' && $mybb->input['stickthread'] != 'toggle') { $mybb->input['stickthread'] = ''; } if($mybb->input['move_type'] == 2) { $move_checked[1] = ''; $move_checked[2] = "checked=\"checked\""; if(!$mybb->input['move_1_forum']) { $errors[] = $lang->error_no_move_forum_selected; } else { // Check that the destination forum is not a category $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('move_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } if($mybb->input['move_2_redirect'] != 1 && $mybb->input['move_2_redirect'] != 0) { $mybb->input['move_2_redirect'] = 0; } if(!isset($mybb->input['move_3_redirecttime'])) { $mybb->input['move_3_redirecttime'] = ''; } } else { $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = 0; $mybb->input['move_3_redirecttime'] = ''; } if($mybb->input['copy_type'] == 2) { $copy_checked[1] = ''; $copy_checked[2] = "checked=\"checked\""; if(!$mybb->input['copy_1_forum']) { $errors[] = $lang->error_no_copy_forum_selected; } else { $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('copy_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; $mybb->input['copy_1_forum'] = ''; } if(!$errors) { $thread_options = array( 'confirmation' => $mybb->get_input('confirmation', MyBB::INPUT_INT), 'deletethread' => $mybb->get_input('deletethread', MyBB::INPUT_INT), 'mergethreads' => $mybb->get_input('mergethreads', MyBB::INPUT_INT), 'deletepoll' => $mybb->get_input('deletepoll', MyBB::INPUT_INT), 'removeredirects' => $mybb->get_input('removeredirects', MyBB::INPUT_INT), 'removesubscriptions' => $mybb->get_input('removesubscriptions', MyBB::INPUT_INT), 'recountrebuild' => $mybb->get_input('recountrebuild', MyBB::INPUT_INT), 'approvethread' => $mybb->input['approvethread'], 'softdeletethread' => $mybb->input['softdeletethread'], 'openthread' => $mybb->input['openthread'], 'stickthread' => $mybb->input['stickthread'], 'movethread' => $mybb->get_input('move_1_forum', MyBB::INPUT_INT), 'movethreadredirect' => $mybb->get_input('move_2_redirect', MyBB::INPUT_INT), 'movethreadredirectexpire' => $mybb->get_input('move_3_redirecttime', MyBB::INPUT_INT), 'copythread' => $mybb->get_input('copy_1_forum', MyBB::INPUT_INT), 'newsubject' => $mybb->input['newsubject'], 'addreply' => $mybb->input['newreply'], 'replysubject' => $mybb->input['newreplysubject'], 'pm_subject' => $mybb->input['pm_subject'], 'pm_message' => $mybb->input['pm_message'], 'threadprefix' => $mybb->get_input('threadprefix', MyBB::INPUT_INT) ); $args = array( 'thread_options' => &$thread_options, ); $plugins->run_hooks("admin_config_mod_tools_edit_thread_tool_options", $args); $update_tool['type'] = 't'; $update_tool['threadoptions'] = $db->escape_string(my_serialize($thread_options)); $update_tool['name'] = $db->escape_string($mybb->input['title']); $update_tool['description'] = $db->escape_string($mybb->input['description']); $update_tool['forums'] = ''; $update_tool['groups'] = ''; if($mybb->input['forum_type'] == 2) { if(is_array($mybb->input['forum_1_forums'])) { $checked = array(); foreach($mybb->input['forum_1_forums'] as $fid) { $checked[] = (int)$fid; } $update_tool['forums'] = implode(',', $checked); } } else { $update_tool['forums'] = "-1"; } 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; } $update_tool['groups'] = implode(',', $checked); } } else { $update_tool['groups'] = "-1"; } $plugins->run_hooks("admin_config_mod_tools_edit_thread_tool_commit"); $db->update_query("modtools", $update_tool, "tid='{$mybb->input['tid']}'"); // Log admin action log_admin_action($mybb->input['tid'], $mybb->input['title']); $cache->update_forumsdisplay(); flash_message($lang->success_mod_tool_updated, 'success'); admin_redirect("index.php?module=config-mod_tools"); } } $page->add_breadcrumb_item($lang->edit_thread_tool); $page->output_header($lang->mod_tools." - ".$lang->edit_thread_tool); $sub_tabs['edit_thread_tool'] = array( "title" => $lang->edit_thread_tool, "description" => $lang->edit_thread_tool_desc, "link" => "index.php?module=config-mod_tools" ); $page->output_nav_tabs($sub_tabs, 'edit_thread_tool'); $form = new Form("index.php?module=config-mod_tools&action=edit_thread_tool", 'post'); echo $form->generate_hidden_field("tid", $mybb->input['tid']); if($errors) { $page->output_inline_error($errors); } else { $query = $db->simple_select("modtools", "*", "tid = '{$mybb->input['tid']}'"); $modtool = $db->fetch_array($query); $thread_options = my_unserialize($modtool['threadoptions']); $mybb->input['title'] = $modtool['name']; $mybb->input['description'] = $modtool['description']; $mybb->input['forum_1_forums'] = explode(",", $modtool['forums']); $mybb->input['group_1_groups'] = explode(",", $modtool['groups']); if(!$modtool['forums'] || $modtool['forums'] == -1) { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; } else { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; } if(!$modtool['groups'] || $modtool['groups'] == -1) { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; } else { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; } $mybb->input['confirmation'] = $thread_options['confirmation']; $mybb->input['approvethread'] = $thread_options['approvethread']; $mybb->input['softdeletethread'] = $thread_options['softdeletethread']; $mybb->input['openthread'] = $thread_options['openthread']; $mybb->input['stickthread'] = $thread_options['stickthread']; $mybb->input['move_1_forum'] = $thread_options['movethread']; $mybb->input['move_2_redirect'] = $thread_options['movethreadredirect']; $mybb->input['move_3_redirecttime'] = $thread_options['movethreadredirectexpire']; if(!$thread_options['movethread']) { $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; } else { $move_checked[1] = ''; $move_checked[2] = "checked=\"checked\""; } if(!$thread_options['copythread']) { $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; } else { $copy_checked[1] = ''; $copy_checked[2] = "checked=\"checked\""; } $mybb->input['copy_1_forum'] = $thread_options['copythread']; $mybb->input['deletethread'] = $thread_options['deletethread']; $mybb->input['mergethreads'] = $thread_options['mergethreads']; $mybb->input['deletepoll'] = $thread_options['deletepoll']; $mybb->input['removeredirects'] = $thread_options['removeredirects']; $mybb->input['removesubscriptions'] = $thread_options['removesubscriptions']; $mybb->input['recountrebuild'] = $thread_options['recountrebuild']; $mybb->input['threadprefix'] = $thread_options['threadprefix']; $mybb->input['newsubject'] = $thread_options['newsubject']; $mybb->input['newreply'] = $thread_options['addreply']; $mybb->input['newreplysubject'] = $thread_options['replysubject']; $mybb->input['pm_subject'] = $thread_options['pm_subject']; $mybb->input['pm_message'] = $thread_options['pm_message']; } $form_container = new FormContainer($lang->general_options); $form_container->output_row($lang->name." *", '', $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description." *", '', $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $actions = "
{$lang->forums_colon} ".$form->generate_forum_select('forum_1_forums[]', $mybb->input['forum_1_forums'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_in_forums." *", '', $actions); $actions = "
{$lang->groups_colon} ".$form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_to_groups." *", '', $actions); $form_container->output_row($lang->show_confirmation." *", '', $form->generate_yes_no_radio('confirmation', $mybb->input['confirmation'], array('style' => 'width: 2em;'))); $form_container->end(); $approve_unapprove = array( '' => $lang->no_change, 'approve' => $lang->approve, 'unapprove' => $lang->unapprove, 'toggle' => $lang->toggle ); $open_close = array( '' => $lang->no_change, 'open' => $lang->open, 'close' => $lang->close, 'toggle' => $lang->toggle ); $stick_unstick = array( '' => $lang->no_change, 'stick' => $lang->stick, 'unstick' => $lang->unstick, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->thread_moderation); $form_container->output_row($lang->approve_unapprove." *", '', $form->generate_select_box('approvethread', $approve_unapprove, $mybb->input['approvethread'], array('id' => 'approvethread')), 'approvethread'); $form_container->output_row($lang->open_close_thread." *", '', $form->generate_select_box('openthread', $open_close, $mybb->input['openthread'], array('id' => 'openthread')), 'openthread'); $form_container->output_row($lang->stick_unstick_thread." *", '', $form->generate_select_box('stickthread', $stick_unstick, $mybb->input['stickthread'], array('id' => 'stickthread')), 'stickthread'); $actions = "
{$lang->forum_to_move_to} ".$form->generate_forum_select('move_1_forum', $mybb->input['move_1_forum'])."
{$lang->leave_redirect} ".$form->generate_yes_no_radio('move_2_redirect', $mybb->input['move_2_redirect'], array('style' => 'width: 2em;'))."
{$lang->delete_redirect_after} ".$form->generate_numeric_field('move_3_redirecttime', $mybb->input['move_3_redirecttime'], array('style' => 'width: 3em;', 'min' => 0))." {$lang->days}
"; $form_container->output_row($lang->move_thread." *", $lang->move_thread_desc, $actions); $actions = "
{$lang->forum_to_copy_to} ".$form->generate_forum_select('copy_1_forum', $mybb->input['copy_1_forum'])."
"; $form_container->output_row($lang->copy_thread." *", '', $actions); $softdelete_restore = array( '' => $lang->no_change, 'restore' => $lang->restore, 'softdelete' => $lang->softdelete, 'toggle' => $lang->toggle ); $form_container->output_row($lang->softdelete_restore_thread." *", '', $form->generate_select_box('softdeletethread', $softdelete_restore, $mybb->input['softdeletethread'], array('id' => 'softdeletethread')), 'softdeletethread'); $form_container->output_row($lang->delete_thread." *", '', $form->generate_yes_no_radio('deletethread', $mybb->input['deletethread'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->merge_thread." *", $lang->merge_thread_desc, $form->generate_yes_no_radio('mergethreads', $mybb->input['mergethreads'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->delete_poll." *", '', $form->generate_yes_no_radio('deletepoll', $mybb->input['deletepoll'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->delete_redirects." *", '', $form->generate_yes_no_radio('removeredirects', $mybb->input['removeredirects'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->remove_subscriptions." *", '', $form->generate_yes_no_radio('removesubscriptions', $mybb->input['removesubscriptions'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->recount_rebuild." *", '', $form->generate_yes_no_radio('recountrebuild', $mybb->input['recountrebuild'], array('style' => 'width: 2em;'))); $threadprefixes = build_prefixes(); if(!empty($threadprefixes)) { $thread_prefixes = array( '-1' => $lang->no_change, '0' => $lang->no_prefix ); foreach($threadprefixes as $prefix) { $thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->apply_thread_prefix." *", '', $form->generate_select_box('threadprefix', $thread_prefixes, array($mybb->get_input('threadprefix', MyBB::INPUT_INT)), array('id' => 'threadprefix')), 'threadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->new_subject." *", $lang->new_subject_desc, $form->generate_text_box('newsubject', $mybb->input['newsubject'], array('id' => 'newsubject'))); $form_container->end(); $form_container = new FormContainer($lang->add_new_reply); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->add_new_reply, $lang->add_new_reply_desc, $form->generate_text_area('newreply', $mybb->input['newreply'], array('id' => 'newreply')), 'newreply'); $form_container->output_row($lang->reply_subject, $lang->reply_subject_desc, $form->generate_text_box('newreplysubject', $mybb->input['newreplysubject'], array('id' => 'newreplysubject')), 'newreplysubject'); $form_container->end(); $form_container = new FormContainer($lang->send_private_message); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->private_message_message, $lang->private_message_message_desc, $form->generate_text_area('pm_message', $mybb->input['pm_message'], array('id' => 'pm_message')), 'pm_message'); $form_container->output_row($lang->private_message_subject, $lang->private_message_subject_desc, $form->generate_text_box('pm_subject', $mybb->input['pm_subject'], array('id' => 'pm_subject')), 'pm_subject'); $form_container->end(); $plugins->run_hooks("admin_config_mod_tools_edit_thread_tool_end"); $buttons[] = $form->generate_submit_button($lang->save_thread_tool); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "add_thread_tool") { $plugins->run_hooks("admin_config_mod_tools_add_thread_tool"); if($mybb->request_method == 'post') { if(trim($mybb->input['title']) == "") { $errors[] = $lang->error_missing_title; } if(trim($mybb->input['description']) == "") { $errors[] = $lang->error_missing_description; } if($mybb->input['forum_type'] == 2) { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['forum_1_forums']) && count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } } else { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['group_1_groups']) && count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } } else { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; $mybb->input['group_1_groups'] = ''; } if($mybb->input['approvethread'] != '' && $mybb->input['approvethread'] != 'approve' && $mybb->input['approvethread'] != 'unapprove' && $mybb->input['approvethread'] != 'toggle') { $mybb->input['approvethread'] = ''; } if($mybb->input['softdeletethread'] != '' && $mybb->input['softdeletethread'] != 'restore' && $mybb->input['softdeletethread'] != 'softdelete' && $mybb->input['softdeletethread'] != 'toggle') { $mybb->input['softdeletethread'] = ''; } if($mybb->input['openthread'] != '' && $mybb->input['openthread'] != 'open' && $mybb->input['openthread'] != 'close' && $mybb->input['openthread'] != 'toggle') { $mybb->input['openthread'] = ''; } if($mybb->input['stickthread'] != '' && $mybb->input['stickthread'] != 'stick' && $mybb->input['stickthread'] != 'unstick' && $mybb->input['stickthread'] != 'toggle') { $mybb->input['stickthread'] = ''; } if(!isset($mybb->input['threadprefix'])) { $mybb->input['threadprefix'] = ''; } if($mybb->input['move_type'] == 2) { $move_checked[1] = ''; $move_checked[2] = "checked=\"checked\""; if(!$mybb->input['move_1_forum']) { $errors[] = $lang->error_no_move_forum_selected; } else { // Check that the destination forum is not a category $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('move_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = 0; $mybb->input['move_3_redirecttime'] = ''; } if($mybb->input['copy_type'] == 2) { $copy_checked[1] = ''; $copy_checked[2] = "checked=\"checked\""; if(!$mybb->input['copy_1_forum']) { $errors[] = $lang->error_no_copy_forum_selected; } else { $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('copy_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; $mybb->input['copy_1_forum'] = ''; } if(!$errors) { $thread_options = array( 'confirmation' => $mybb->get_input('confirmation', MyBB::INPUT_INT), 'deletethread' => $mybb->get_input('deletethread', MyBB::INPUT_INT), 'mergethreads' => $mybb->get_input('mergethreads', MyBB::INPUT_INT), 'deletepoll' => $mybb->get_input('deletepoll', MyBB::INPUT_INT), 'removeredirects' => $mybb->get_input('removeredirects', MyBB::INPUT_INT), 'removesubscriptions' => $mybb->get_input('removesubscriptions', MyBB::INPUT_INT), 'recountrebuild' => $mybb->get_input('recountrebuild', MyBB::INPUT_INT), 'approvethread' => $mybb->input['approvethread'], 'softdeletethread' => $mybb->input['softdeletethread'], 'openthread' => $mybb->input['openthread'], 'stickthread' => $mybb->input['stickthread'], 'movethread' => $mybb->get_input('move_1_forum', MyBB::INPUT_INT), 'movethreadredirect' => $mybb->get_input('move_2_redirect', MyBB::INPUT_INT), 'movethreadredirectexpire' => $mybb->get_input('move_3_redirecttime', MyBB::INPUT_INT), 'copythread' => $mybb->get_input('copy_1_forum', MyBB::INPUT_INT), 'newsubject' => $mybb->input['newsubject'], 'addreply' => $mybb->input['newreply'], 'replysubject' => $mybb->input['newreplysubject'], 'pm_subject' => $mybb->input['pm_subject'], 'pm_message' => $mybb->input['pm_message'], 'threadprefix' => $mybb->input['threadprefix'], ); $args = array( 'thread_options' => &$thread_options, ); $plugins->run_hooks("admin_config_mod_tools_add_thread_tool_options", $args); $new_tool['type'] = 't'; $new_tool['threadoptions'] = $db->escape_string(my_serialize($thread_options)); $new_tool['name'] = $db->escape_string($mybb->input['title']); $new_tool['description'] = $db->escape_string($mybb->input['description']); $new_tool['forums'] = ''; $new_tool['groups'] = ''; $new_tool['postoptions'] = ''; if($mybb->input['forum_type'] == 2) { if(is_array($mybb->input['forum_1_forums'])) { $checked = array(); foreach($mybb->input['forum_1_forums'] as $fid) { $checked[] = (int)$fid; } $new_tool['forums'] = implode(',', $checked); } } else { $new_tool['forums'] = "-1"; } 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; } $new_tool['groups'] = implode(',', $checked); } } else { $new_tool['groups'] = "-1"; } if($mybb->get_input('threadprefix', MyBB::INPUT_INT) >= 0) { $thread_options['threadprefix'] = $mybb->get_input('threadprefix', MyBB::INPUT_INT); } $tid = $db->insert_query("modtools", $new_tool); $plugins->run_hooks("admin_config_mod_tools_add_thread_tool_commit"); // Log admin action log_admin_action($tid, $mybb->input['title']); $cache->update_forumsdisplay(); flash_message($lang->success_mod_tool_created, 'success'); admin_redirect("index.php?module=config-mod_tools"); } } $page->add_breadcrumb_item($lang->add_new_thread_tool); $page->output_header($lang->mod_tools." - ".$lang->add_new_thread_tool); $sub_tabs['thread_tools'] = array( 'title' => $lang->thread_tools, 'link' => "index.php?module=config-mod_tools" ); $sub_tabs['add_thread_tool'] = array( 'title'=> $lang->add_new_thread_tool, 'link' => "index.php?module=config-mod_tools&action=add_thread_tool", 'description' => $lang->add_thread_tool_desc ); $sub_tabs['post_tools'] = array( 'title' => $lang->post_tools, 'link' => "index.php?module=config-mod_tools&action=post_tools", ); $sub_tabs['add_post_tool'] = array( 'title'=> $lang->add_new_post_tool, 'link' => "index.php?module=config-mod_tools&action=add_post_tool" ); $page->output_nav_tabs($sub_tabs, 'add_thread_tool'); $form = new Form("index.php?module=config-mod_tools&action=add_thread_tool", 'post'); if($errors) { $page->output_inline_error($errors); } else { $mybb->input['title'] = ''; $mybb->input['description'] = ''; $mybb->input['forum_1_forums'] = ''; $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; $mybb->input['group_1_groups'] = ''; $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; $mybb->input['confirmation'] = '0'; $mybb->input['approvethread'] = ''; $mybb->input['softdeletethread'] = ''; $mybb->input['openthread'] = ''; $mybb->input['stickthread'] = ''; $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = '0'; $mybb->input['move_3_redirecttime'] = ''; $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; $mybb->input['copy_1_forum'] = ''; $mybb->input['deletethread'] = '0'; $mybb->input['mergethreads'] = '0'; $mybb->input['deletepoll'] = '0'; $mybb->input['removeredirects'] = '0'; $mybb->input['removesubscriptions'] = '0'; $mybb->input['recountrebuild'] = '0'; $mybb->input['threadprefix'] = '-1'; $mybb->input['newsubject'] = '{subject}'; $mybb->input['newreply'] = ''; $mybb->input['newreplysubject'] = '{subject}'; $mybb->input['pm_subject'] = ''; $mybb->input['pm_message'] = ''; } $form_container = new FormContainer($lang->general_options); $form_container->output_row($lang->name." *", '', $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description." *", '', $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $actions = "
{$lang->forums_colon} ".$form->generate_forum_select('forum_1_forums[]', $mybb->input['forum_1_forums'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_in_forums." *", '', $actions); $actions = "
{$lang->groups_colon} ".$form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_to_groups." *", '', $actions); $form_container->output_row($lang->show_confirmation." *", '', $form->generate_yes_no_radio('confirmation', $mybb->input['confirmation'], array('style' => 'width: 2em;'))); $form_container->end(); $approve_unapprove = array( '' => $lang->no_change, 'approve' => $lang->approve, 'unapprove' => $lang->unapprove, 'toggle' => $lang->toggle ); $open_close = array( '' => $lang->no_change, 'open' => $lang->open, 'close' => $lang->close, 'toggle' => $lang->toggle ); $stick_unstick = array( '' => $lang->no_change, 'stick' => $lang->stick, 'unstick' => $lang->unstick, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->thread_moderation); $form_container->output_row($lang->approve_unapprove." *", '', $form->generate_select_box('approvethread', $approve_unapprove, $mybb->input['approvethread'], array('id' => 'approvethread')), 'approvethread'); $form_container->output_row($lang->open_close_thread." *", '', $form->generate_select_box('openthread', $open_close, $mybb->input['openthread'], array('id' => 'openthread')), 'openthread'); $form_container->output_row($lang->stick_unstick_thread." *", '', $form->generate_select_box('stickthread', $stick_unstick, $mybb->input['stickthread'], array('id' => 'stickthread')), 'stickthread'); $actions = "
{$lang->forum_to_move_to} ".$form->generate_forum_select('move_1_forum', $mybb->input['move_1_forum'])."
{$lang->leave_redirect} ".$form->generate_yes_no_radio('move_2_redirect', $mybb->input['move_2_redirect'], array('style' => 'width: 2em;'))."
{$lang->delete_redirect_after} ".$form->generate_numeric_field('move_3_redirecttime', $mybb->input['move_3_redirecttime'], array('style' => 'width: 3em;', 'min' => 0))." {$lang->days}
"; $form_container->output_row($lang->move_thread." *", $lang->move_thread_desc, $actions); $actions = "
{$lang->forum_to_copy_to} ".$form->generate_forum_select('copy_1_forum', $mybb->input['copy_1_forum'])."
"; $form_container->output_row($lang->copy_thread." *", '', $actions); $softdelete_restore = array( '' => $lang->no_change, 'restore' => $lang->restore, 'softdelete' => $lang->softdelete, 'toggle' => $lang->toggle ); $form_container->output_row($lang->softdelete_restore_thread." *", '', $form->generate_select_box('softdeletethread', $softdelete_restore, $mybb->input['softdeletethread'], array('id' => 'softdeletethread')), 'softdeletethread'); $form_container->output_row($lang->delete_thread." *", '', $form->generate_yes_no_radio('deletethread', $mybb->input['deletethread'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->merge_thread." *", $lang->merge_thread_desc, $form->generate_yes_no_radio('mergethreads', $mybb->input['mergethreads'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->delete_poll." *", '', $form->generate_yes_no_radio('deletepoll', $mybb->input['deletepoll'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->delete_redirects." *", '', $form->generate_yes_no_radio('removeredirects', $mybb->input['removeredirects'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->remove_subscriptions." *", '', $form->generate_yes_no_radio('removesubscriptions', $mybb->input['removesubscriptions'], array('style' => 'width: 2em;'))); $form_container->output_row($lang->recount_rebuild." *", '', $form->generate_yes_no_radio('recountrebuild', $mybb->input['recountrebuild'], array('style' => 'width: 2em;'))); $threadprefixes = build_prefixes(); if(!empty($threadprefixes)) { $thread_prefixes = array( '-1' => $lang->no_change, '0' => $lang->no_prefix ); foreach($threadprefixes as $prefix) { $thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->apply_thread_prefix." *", '', $form->generate_select_box('threadprefix', $thread_prefixes, $mybb->input['threadprefix'], array('id' => 'threadprefix')), 'threadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->new_subject." *", $lang->new_subject_desc, $form->generate_text_box('newsubject', $mybb->input['newsubject'], array('id' => 'newsubject'))); $form_container->end(); $form_container = new FormContainer($lang->add_new_reply); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->add_new_reply, $lang->add_new_reply_desc, $form->generate_text_area('newreply', $mybb->input['newreply'], array('id' => 'newreply')), 'newreply'); $form_container->output_row($lang->reply_subject, $lang->reply_subject_desc, $form->generate_text_box('newreplysubject', $mybb->input['newreplysubject'], array('id' => 'newreplysubject')), 'newreplysubject'); $form_container->end(); $form_container = new FormContainer($lang->send_private_message); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->private_message_message, $lang->private_message_message_desc, $form->generate_text_area('pm_message', $mybb->input['pm_message'], array('id' => 'pm_message')), 'pm_message'); $form_container->output_row($lang->private_message_subject, $lang->private_message_subject_desc, $form->generate_text_box('pm_subject', $mybb->input['pm_subject'], array('id' => 'pm_subject')), 'pm_subject'); $form_container->end(); $plugins->run_hooks("admin_config_mod_tools_add_thread_tool_end"); $buttons[] = $form->generate_submit_button($lang->save_thread_tool); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } // This will be accounted for both GET and POST requests in both 'add_post_tool' / 'edit_post_tool' $do_not_split_checked = ''; $split_same_checked = ''; if($mybb->input['action'] == "edit_post_tool") { $query = $db->simple_select("modtools", "COUNT(tid) as tools", "tid = '{$mybb->input['tid']}' AND type='p'"); if($db->fetch_field($query, "tools") < 1) { flash_message($lang->error_invalid_post_tool, 'error'); admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } $plugins->run_hooks("admin_config_mod_tools_edit_post_tool"); if($mybb->request_method == 'post') { if(trim($mybb->input['title']) == "") { $errors[] = $lang->error_missing_title; } if(trim($mybb->input['description']) == "") { $errors[] = $lang->error_missing_description; } if($mybb->input['forum_type'] == 2) { if(is_array($mybb->input['forum_1_forums']) && count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } } else { $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { if(is_array($mybb->input['group_1_groups']) && count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } } else { $mybb->input['group_1_groups'] = ''; } if($mybb->input['approvethread'] != '' && $mybb->input['approvethread'] != 'approve' && $mybb->input['approvethread'] != 'unapprove' && $mybb->input['approvethread'] != 'toggle') { $mybb->input['approvethread'] = ''; } if($mybb->input['softdeletethread'] != '' && $mybb->input['softdeletethread'] != 'softdelete' && $mybb->input['softdeletethread'] != 'restore' && $mybb->input['softdeletethread'] != 'toggle') { $mybb->input['softdeletethread'] = ''; } if($mybb->input['openthread'] != '' && $mybb->input['openthread'] != 'open' && $mybb->input['openthread'] != 'close' && $mybb->input['openthread'] != 'toggle') { $mybb->input['openthread'] = ''; } if($mybb->input['stickthread'] != '' && $mybb->input['stickthread'] != 'stick' && $mybb->input['stickthread'] != 'unstick' && $mybb->input['stickthread'] != 'toggle') { $mybb->input['stickthread'] = ''; } if($mybb->input['move_type'] == 2) { if(!$mybb->input['move_1_forum']) { $errors[] = $lang->error_no_move_forum_selected; } else { // Check that the destination forum is not a category $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('move_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = 0; $mybb->input['move_3_redirecttime'] = ''; } if($mybb->input['copy_type'] == 2) { if(!$mybb->input['copy_1_forum']) { $errors[] = $lang->error_no_copy_forum_selected; } else { $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('copy_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $mybb->input['copy_1_forum'] = ''; } if($mybb->input['approveposts'] != '' && $mybb->input['approveposts'] != 'approve' && $mybb->input['approveposts'] != 'unapprove' && $mybb->input['approveposts'] != 'toggle') { $mybb->input['approveposts'] = ''; } if($mybb->input['softdeleteposts'] != '' && $mybb->input['softdeleteposts'] != 'approve' && $mybb->input['softdeleteposts'] != 'unapprove' && $mybb->input['softdeleteposts'] != 'toggle') { $mybb->input['softdeleteposts'] = ''; } if($mybb->input['splitposts'] < -2) { $mybb->input['splitposts'] = -1; } if($mybb->input['splitpostsclose'] == 1) { $mybb->input['splitpostsclose'] = 'close'; } else { $mybb->input['splitpostsclose'] = ''; } if($mybb->input['splitpostsstick'] == 1) { $mybb->input['splitpostsstick'] = 'stick'; } else { $mybb->input['splitpostsstick'] = ''; } if($mybb->input['splitpostsunapprove'] == 1) { $mybb->input['splitpostsunapprove'] = 'unapprove'; } else { $mybb->input['splitpostsunapprove'] = ''; } if(!$errors) { $thread_options = array( 'confirmation' => $mybb->get_input('confirmation', MyBB::INPUT_INT), 'deletethread' => $mybb->get_input('deletethread', MyBB::INPUT_INT), 'softdeletethread' => $mybb->input['softdeletethread'], 'approvethread' => $mybb->input['approvethread'], 'openthread' => $mybb->input['openthread'], 'stickthread' => $mybb->input['stickthread'], 'movethread' => $mybb->get_input('move_1_forum', MyBB::INPUT_INT), 'movethreadredirect' => $mybb->get_input('move_2_redirect', MyBB::INPUT_INT), 'movethreadredirectexpire' => $mybb->get_input('move_3_redirecttime', MyBB::INPUT_INT), 'copythread' => $mybb->get_input('copy_1_forum', MyBB::INPUT_INT), 'newsubject' => $mybb->input['newsubject'], 'addreply' => $mybb->input['newreply'], 'replysubject' => $mybb->input['newreplysubject'], 'pm_subject' => $mybb->input['pm_subject'], 'pm_message' => $mybb->input['pm_message'], 'threadprefix' => $mybb->get_input('threadprefix', MyBB::INPUT_INT) ); if(stripos($mybb->input['splitpostsnewsubject'], '{subject}') === false) { $mybb->input['splitpostsnewsubject'] = '{subject}'.$mybb->input['splitpostsnewsubject']; } $post_options = array( 'deleteposts' => $mybb->get_input('deleteposts', MyBB::INPUT_INT), 'softdeleteposts' => $mybb->input['softdeleteposts'], 'mergeposts' =>$mybb->get_input('mergeposts', MyBB::INPUT_INT), 'approveposts' => $mybb->input['approveposts'], 'splitposts' => $mybb->get_input('splitposts', MyBB::INPUT_INT), 'splitpostsclose' => $mybb->input['splitpostsclose'], 'splitpostsstick' => $mybb->input['splitpostsstick'], 'splitpostsunapprove' => $mybb->input['splitpostsunapprove'], 'splitthreadprefix' => $mybb->get_input('splitthreadprefix', MyBB::INPUT_INT), 'splitpostsnewsubject' => $mybb->input['splitpostsnewsubject'], 'splitpostsaddreply' => $mybb->input['splitpostsaddreply'], 'splitpostsreplysubject' => $mybb->input['splitpostsreplysubject'] ); $args = array( 'thread_options' => &$thread_options, 'post_options' => &$post_options, ); $plugins->run_hooks("admin_config_mod_tools_edit_post_tool_options", $args); $update_tool['type'] = 'p'; $update_tool['threadoptions'] = $db->escape_string(my_serialize($thread_options)); $update_tool['postoptions'] = $db->escape_string(my_serialize($post_options)); $update_tool['name'] = $db->escape_string($mybb->input['title']); $update_tool['description'] = $db->escape_string($mybb->input['description']); $update_tool['forums'] = ''; $update_tool['groups'] = ''; if($mybb->input['forum_type'] == 2) { if(is_array($mybb->input['forum_1_forums'])) { $checked = array(); foreach($mybb->input['forum_1_forums'] as $fid) { $checked[] = (int)$fid; } $update_tool['forums'] = implode(',', $checked); } } else { $update_tool['forums'] = "-1"; } 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; } $update_tool['groups'] = implode(',', $checked); } } else { $update_tool['groups'] = "-1"; } $plugins->run_hooks("admin_config_mod_tools_edit_post_tool_commit"); $db->update_query("modtools", $update_tool, "tid = '{$mybb->input['tid']}'"); // Log admin action log_admin_action($mybb->input['tid'], $mybb->input['title']); $cache->update_forumsdisplay(); flash_message($lang->success_mod_tool_updated, 'success'); admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } } $page->add_breadcrumb_item($lang->edit_post_tool); $page->output_header($lang->mod_tools." - ".$lang->edit_post_tool); $sub_tabs['edit_post_tool'] = array( "title" => $lang->edit_post_tool, "description" => $lang->edit_post_tool_desc, "link" => "index.php?module=config-mod_tools" ); $page->output_nav_tabs($sub_tabs, 'edit_post_tool'); $form = new Form("index.php?module=config-mod_tools&action=edit_post_tool", 'post'); echo $form->generate_hidden_field("tid", $mybb->input['tid']); if($errors) { $page->output_inline_error($errors); } else { $query = $db->simple_select("modtools", "*", "tid = '{$mybb->input['tid']}'"); $modtool = $db->fetch_array($query); $thread_options = my_unserialize($modtool['threadoptions']); $post_options = my_unserialize($modtool['postoptions']); $mybb->input['title'] = $modtool['name']; $mybb->input['description'] = $modtool['description']; $mybb->input['forum_1_forums'] = explode(",", $modtool['forums']); $mybb->input['group_1_groups'] = explode(",", $modtool['groups']); if(!$modtool['forums'] || $modtool['forums'] == -1) { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; } else { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; } if(!$modtool['groups'] || $modtool['groups'] == -1) { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; } else { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; } $mybb->input['confirmation'] = $thread_options['confirmation']; $mybb->input['approvethread'] = $thread_options['approvethread']; $mybb->input['softdeletethread'] = $thread_options['softdeletethread']; $mybb->input['openthread'] = $thread_options['openthread']; $mybb->input['stickthread'] = $thread_options['stickthread']; $mybb->input['move_1_forum'] = $thread_options['movethread']; $mybb->input['move_2_redirect'] = $thread_options['movethreadredirect']; $mybb->input['move_3_redirecttime'] = $thread_options['movethreadredirectexpire']; if(!$thread_options['movethread']) { $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; } else { $move_checked[1] = ''; $move_checked[2] = "checked=\"checked\""; } if(!$thread_options['copythread']) { $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; } else { $copy_checked[1] = ''; $copy_checked[2] = "checked=\"checked\""; } $mybb->input['copy_1_forum'] = $thread_options['copythread']; $mybb->input['deletethread'] = $thread_options['deletethread']; $mybb->input['threadprefix'] = $thread_options['threadprefix']; $mybb->input['newsubject'] = $thread_options['newsubject']; $mybb->input['newreply'] = $thread_options['addreply']; $mybb->input['newreplysubject'] = $thread_options['replysubject']; $mybb->input['pm_subject'] = $thread_options['pm_subject']; $mybb->input['pm_message'] = $thread_options['pm_message']; if($post_options['splitposts'] == '-1') { $do_not_split_checked = ' selected="selected"'; } else if($post_options['splitposts'] == '-2') { $split_same_checked = ' selected="selected"'; } $mybb->input['softdeleteposts'] = $post_options['softdeleteposts']; $mybb->input['deleteposts'] = $post_options['deleteposts']; $mybb->input['mergeposts'] = $post_options['mergeposts']; $mybb->input['approveposts'] = $post_options['approveposts']; if($post_options['splitpostsclose'] == 'close') { $mybb->input['splitpostsclose'] = '1'; } else { $mybb->input['splitpostsclose'] = '0'; } if($post_options['splitpostsstick'] == 'stick') { $mybb->input['splitpostsstick'] = '1'; } else { $mybb->input['splitpostsstick'] = '0'; } if($post_options['splitpostsunapprove'] == 'unapprove') { $mybb->input['splitpostsunapprove'] = '1'; } else { $mybb->input['splitpostsunapprove'] = '0'; } $mybb->input['splitposts'] = $post_options['splitposts']; $mybb->input['splitthreadprefix'] = $post_options['splitthreadprefix']; $mybb->input['splitpostsnewsubject'] = $post_options['splitpostsnewsubject']; $mybb->input['splitpostsaddreply'] = $post_options['splitpostsaddreply']; $mybb->input['splitpostsreplysubject'] = $post_options['splitpostsreplysubject']; } $form_container = new FormContainer($lang->general_options); $form_container->output_row($lang->name." *", '', $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description." *", '', $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $actions = "
{$lang->forums_colon} ".$form->generate_forum_select('forum_1_forums[]', $mybb->input['forum_1_forums'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_in_forums." *", '', $actions); $actions = "
{$lang->groups_colon} ".$form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_to_groups." *", '', $actions); $form_container->output_row($lang->show_confirmation." *", '', $form->generate_yes_no_radio('confirmation', $mybb->input['confirmation'], array('style' => 'width: 2em;'))); $form_container->end(); $approve_unapprove = array( '' => $lang->no_change, 'approve' => $lang->approve, 'unapprove' => $lang->unapprove, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->inline_post_moderation); $softdelete_restore = array( '' => $lang->no_change, 'restore' => $lang->restore, 'softdelete' => $lang->softdelete, 'toggle' => $lang->toggle ); $form_container->output_row($lang->softdelete_restore_posts." *", '', $form->generate_select_box('softdeleteposts', $softdelete_restore, $mybb->input['softdeleteposts'], array('id' => 'softdeleteposts')), 'softdeleteposts'); $form_container->output_row($lang->delete_posts." *", '', $form->generate_yes_no_radio('deleteposts', $mybb->input['deleteposts'])); $form_container->output_row($lang->merge_posts." *", $lang->merge_posts_desc, $form->generate_yes_no_radio('mergeposts', $mybb->input['mergeposts'])); $form_container->output_row($lang->approve_unapprove_posts." *", '', $form->generate_select_box('approveposts', $approve_unapprove, $mybb->input['approveposts'], array('id' => 'approveposts')), 'approveposts'); $form_container->end(); $selectoptions = "\n"; $selectoptions .= "\n"; $form_container = new FormContainer($lang->split_posts); $form_container->output_row($lang->split_posts2." *", '', $form->generate_forum_select('splitposts', $mybb->input['splitposts'])); $form_container->output_row($lang->close_split_thread." *", '', $form->generate_yes_no_radio('splitpostsclose', $mybb->input['splitpostsclose'])); $form_container->output_row($lang->stick_split_thread." *", '', $form->generate_yes_no_radio('splitpostsstick', $mybb->input['splitpostsstick'])); $form_container->output_row($lang->unapprove_split_thread." *", '', $form->generate_yes_no_radio('splitpostsunapprove', $mybb->input['splitpostsunapprove'])); $splitthreadprefix = build_prefixes(); if(!empty($splitthreadprefix)) { $split_thread_prefixes = array( '0' => $lang->no_prefix ); foreach($splitthreadprefix as $prefix) { $split_thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->split_thread_prefix." *", '', $form->generate_select_box('splitthreadprefix', $split_thread_prefixes, array($mybb->get_input('splitthreadprefix', MyBB::INPUT_INT)), array('id' => 'splitthreadprefix')), 'splitthreadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->split_thread_subject, $lang->split_thread_subject_desc, $form->generate_text_box('splitpostsnewsubject', $mybb->input['splitpostsnewsubject'], array('id' => 'splitpostsnewsubject ')), 'newreplysubject'); $form_container->output_row($lang->add_new_split_reply, $lang->add_new_split_reply_desc, $form->generate_text_area('splitpostsaddreply', $mybb->input['splitpostsaddreply'], array('id' => 'splitpostsaddreply')), 'splitpostsaddreply'); $form_container->output_row($lang->split_reply_subject, $lang->split_reply_subject_desc, $form->generate_text_box('splitpostsreplysubject', $mybb->input['splitpostsreplysubject'], array('id' => 'splitpostsreplysubject')), 'splitpostsreplysubject'); $form_container->end(); $open_close = array( '' => $lang->no_change, 'open' => $lang->open, 'close' => $lang->close, 'toggle' => $lang->toggle ); $stick_unstick = array( '' => $lang->no_change, 'stick' => $lang->stick, 'unstick' => $lang->unstick, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->thread_moderation); $form_container->output_row($lang->approve_unapprove." *", '', $form->generate_select_box('approvethread', $approve_unapprove, $mybb->input['approvethread'], array('id' => 'approvethread')), 'approvethread'); $form_container->output_row($lang->open_close_thread." *", '', $form->generate_select_box('openthread', $open_close, $mybb->input['openthread'], array('id' => 'openthread')), 'openthread'); $form_container->output_row($lang->stick_unstick_thread." *", '', $form->generate_select_box('stickthread', $stick_unstick, $mybb->input['stickthread'], array('id' => 'stickthread')), 'stickthread'); $actions = "
{$lang->forum_to_move_to} ".$form->generate_forum_select('move_1_forum', $mybb->input['move_1_forum'])."
{$lang->leave_redirect} ".$form->generate_yes_no_radio('move_2_redirect', $mybb->input['move_2_redirect'])."
{$lang->delete_redirect_after} ".$form->generate_numeric_field('move_3_redirecttime', $mybb->input['move_3_redirecttime'], array('style' => 'width: 3em;', 'min' => 0))." {$lang->days}
"; $form_container->output_row($lang->move_thread." *", $lang->move_thread_desc, $actions); $actions = "
{$lang->forum_to_copy_to} ".$form->generate_forum_select('copy_1_forum', $mybb->input['copy_1_forum'])."
"; $form_container->output_row($lang->copy_thread." *", '', $actions); $form_container->output_row($lang->softdelete_restore_thread." *", '', $form->generate_select_box('softdeletethread', $softdelete_restore, $mybb->input['softdeletethread'], array('id' => 'softdeletethread')), 'softdeletethread'); $form_container->output_row($lang->delete_thread." *", '', $form->generate_yes_no_radio('deletethread', $mybb->input['deletethread'])); $threadprefixes = build_prefixes(); if(!empty($threadprefixes)) { $thread_prefixes = array( '-1' => $lang->no_change, '0' => $lang->no_prefix ); foreach($threadprefixes as $prefix) { $thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->apply_thread_prefix." *", '', $form->generate_select_box('threadprefix', $thread_prefixes, array($mybb->get_input('threadprefix', MyBB::INPUT_INT)), array('id' => 'threadprefix')), 'threadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->new_subject." *", $lang->new_subject_desc, $form->generate_text_box('newsubject', $mybb->input['newsubject'])); $form_container->end(); $form_container = new FormContainer($lang->add_new_reply); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->add_new_reply, $lang->add_new_reply_desc, $form->generate_text_area('newreply', $mybb->input['newreply']), 'newreply'); $form_container->output_row($lang->reply_subject, $lang->reply_subject_desc, $form->generate_text_box('newreplysubject', $mybb->input['newreplysubject'], array('id' => 'newreplysubject')), 'newreplysubject'); $form_container->end(); $form_container = new FormContainer($lang->send_private_message); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->private_message_message, $lang->private_message_message_desc, $form->generate_text_area('pm_message', $mybb->input['pm_message'], array('id' => 'pm_message')), 'pm_message'); $form_container->output_row($lang->private_message_subject, $lang->private_message_subject_desc, $form->generate_text_box('pm_subject', $mybb->input['pm_subject'], array('id' => 'pm_subject')), 'pm_subject'); $form_container->end(); $plugins->run_hooks("admin_config_mod_tools_edit_post_tool_end"); $buttons[] = $form->generate_submit_button($lang->save_post_tool); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "add_post_tool") { $plugins->run_hooks("admin_config_mod_tools_add_post_tool"); if($mybb->request_method == 'post') { if(trim($mybb->input['title']) == "") { $errors[] = $lang->error_missing_title; } if(trim($mybb->input['description']) == "") { $errors[] = $lang->error_missing_description; } if($mybb->input['forum_type'] == 2) { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['forum_1_forums']) && count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } } else { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; if(is_array($mybb->input['group_1_groups']) && count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } } else { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; $mybb->input['group_1_groups'] = ''; } if($mybb->input['approvethread'] != '' && $mybb->input['approvethread'] != 'approve' && $mybb->input['approvethread'] != 'unapprove' && $mybb->input['approvethread'] != 'toggle') { $mybb->input['approvethread'] = ''; } if($mybb->input['softdeletethread'] != '' && $mybb->input['softdeletethread'] != 'softdelete' && $mybb->input['softdeletethread'] != 'restore' && $mybb->input['softdeletethread'] != 'toggle') { $mybb->input['softdeletethread'] = ''; } if($mybb->input['openthread'] != '' && $mybb->input['openthread'] != 'open' && $mybb->input['openthread'] != 'close' && $mybb->input['openthread'] != 'toggle') { $mybb->input['openthread'] = ''; } if($mybb->input['stickthread'] != '' && $mybb->input['stickthread'] != 'stick' && $mybb->input['stickthread'] != 'unstick' && $mybb->input['stickthread'] != 'toggle') { $mybb->input['stickthread'] = ''; } if(!$mybb->get_input('threadprefix', MyBB::INPUT_INT)) { $mybb->input['threadprefix'] = ''; } if($mybb->input['move_type'] == 2) { $move_checked[1] = ''; $move_checked[2] = "checked=\"checked\""; if(!$mybb->input['move_1_forum']) { $errors[] = $lang->error_no_move_forum_selected; } else { // Check that the destination forum is not a category $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('move_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = 0; $mybb->input['move_3_redirecttime'] = ''; } if($mybb->input['copy_type'] == 2) { $copy_checked[1] = ''; $copy_checked[2] = "checked=\"checked\""; if(!$mybb->input['copy_1_forum']) { $errors[] = $lang->error_no_copy_forum_selected; } else { $query = $db->simple_select("forums", "type", "fid = '".$mybb->get_input('copy_1_forum', MyBB::INPUT_INT)."'"); if($db->fetch_field($query, "type") == "c") { $errors[] = $lang->error_forum_is_category; } } } else { $copy_checked[1] = 'checked=\"checked\"'; $copy_checked[2] = ''; $mybb->input['copy_1_forum'] = ''; } if($mybb->input['approveposts'] != '' && $mybb->input['approveposts'] != 'approve' && $mybb->input['approveposts'] != 'unapprove' && $mybb->input['approveposts'] != 'toggle') { $mybb->input['approveposts'] = ''; } if($mybb->input['softdeleteposts'] != '' && $mybb->input['softdeleteposts'] != 'softdelete' && $mybb->input['softdeleteposts'] != 'restore' && $mybb->input['softdeleteposts'] != 'toggle') { $mybb->input['softdeleteposts'] = ''; } if($mybb->input['splitposts'] < -2) { $mybb->input['splitposts'] = -1; } if($mybb->input['splitpostsclose'] == 1) { $mybb->input['splitpostsclose'] = 'close'; } else { $mybb->input['splitpostsclose'] = ''; } if($mybb->input['splitpostsstick'] == 1) { $mybb->input['splitpostsstick'] = 'stick'; } else { $mybb->input['splitpostsstick'] = ''; } if($mybb->input['splitpostsunapprove'] == 1) { $mybb->input['splitpostsunapprove'] = 'unapprove'; } else { $mybb->input['splitpostsunapprove'] = ''; } if(!$mybb->get_input('splitthreadprefix', MyBB::INPUT_INT)) { $mybb->input['splitthreadprefix'] = ''; } if(!$errors) { $thread_options = array( 'confirmation' => $mybb->get_input('confirmation', MyBB::INPUT_INT), 'deletethread' => $mybb->get_input('deletethread', MyBB::INPUT_INT), 'softdeletethread' => $mybb->input['softdeletethread'], 'approvethread' => $mybb->input['approvethread'], 'openthread' => $mybb->input['openthread'], 'stickthread' => $mybb->input['stickthread'], 'movethread' => $mybb->get_input('move_1_forum', MyBB::INPUT_INT), 'movethreadredirect' => $mybb->get_input('move_2_redirect', MyBB::INPUT_INT), 'movethreadredirectexpire' => $mybb->get_input('move_3_redirecttime', MyBB::INPUT_INT), 'copythread' => $mybb->get_input('copy_1_forum', MyBB::INPUT_INT), 'newsubject' => $mybb->input['newsubject'], 'addreply' => $mybb->input['newreply'], 'replysubject' => $mybb->input['newreplysubject'], 'pm_subject' => $mybb->input['pm_subject'], 'pm_message' => $mybb->input['pm_message'], 'threadprefix' => $mybb->get_input('threadprefix', MyBB::INPUT_INT) ); if(stripos($mybb->input['splitpostsnewsubject'], '{subject}') === false) { $mybb->input['splitpostsnewsubject'] = '{subject}'.$mybb->input['splitpostsnewsubject']; } $post_options = array( 'deleteposts' => $mybb->get_input('deleteposts', MyBB::INPUT_INT), 'softdeleteposts' => $mybb->input['softdeleteposts'], 'mergeposts' => $mybb->get_input('mergeposts', MyBB::INPUT_INT), 'approveposts' => $mybb->input['approveposts'], 'splitposts' => $mybb->get_input('splitposts', MyBB::INPUT_INT), 'splitpostsclose' => $mybb->input['splitpostsclose'], 'splitpostsstick' => $mybb->input['splitpostsstick'], 'splitpostsunapprove' => $mybb->input['splitpostsunapprove'], 'splitthreadprefix' => $mybb->get_input('splitthreadprefix', MyBB::INPUT_INT), 'splitpostsnewsubject' => $mybb->input['splitpostsnewsubject'], 'splitpostsaddreply' => $mybb->input['splitpostsaddreply'], 'splitpostsreplysubject' => $mybb->input['splitpostsreplysubject'] ); $args = array( 'thread_options' => &$thread_options, 'post_options' => &$post_options, ); $plugins->run_hooks("admin_config_mod_tools_add_post_tool_options", $args); $new_tool['type'] = 'p'; $new_tool['threadoptions'] = $db->escape_string(my_serialize($thread_options)); $new_tool['postoptions'] = $db->escape_string(my_serialize($post_options)); $new_tool['name'] = $db->escape_string($mybb->input['title']); $new_tool['description'] = $db->escape_string($mybb->input['description']); $new_tool['forums'] = ''; $new_tool['groups'] = ''; if($mybb->input['forum_type'] == 2) { if(is_array($mybb->input['forum_1_forums'])) { $checked = array(); foreach($mybb->input['forum_1_forums'] as $fid) { $checked[] = (int)$fid; } $new_tool['forums'] = implode(',', $checked); } } else { $new_tool['forums'] = "-1"; } 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; } $new_tool['groups'] = implode(',', $checked); } } else { $new_tool['groups'] = "-1"; } $tid = $db->insert_query("modtools", $new_tool); $plugins->run_hooks("admin_config_mod_tools_add_post_tool_commit"); // Log admin action log_admin_action($tid, $mybb->input['title']); $cache->update_forumsdisplay(); flash_message($lang->success_mod_tool_created, 'success'); admin_redirect("index.php?module=config-mod_tools&action=post_tools"); } } $page->add_breadcrumb_item($lang->add_new_post_tool); $page->output_header($lang->mod_tools." - ".$lang->add_new_post_tool); $sub_tabs['thread_tools'] = array( 'title' => $lang->thread_tools, 'link' => "index.php?module=config-mod_tools" ); $sub_tabs['add_thread_tool'] = array( 'title'=> $lang->add_new_thread_tool, 'link' => "index.php?module=config-mod_tools&action=add_thread_tool" ); $sub_tabs['post_tools'] = array( 'title' => $lang->post_tools, 'link' => "index.php?module=config-mod_tools&action=post_tools", ); $sub_tabs['add_post_tool'] = array( 'title'=> $lang->add_new_post_tool, 'link' => "index.php?module=config-mod_tools&action=add_post_tool", 'description' => $lang->add_post_tool_desc ); $page->output_nav_tabs($sub_tabs, 'add_post_tool'); $form = new Form("index.php?module=config-mod_tools&action=add_post_tool", 'post'); if($errors) { $page->output_inline_error($errors); } else { $mybb->input['title'] = ''; $mybb->input['description'] = ''; $mybb->input['forum_1_forums'] = ''; $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; $mybb->input['group_1_groups'] = ''; $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; $mybb->input['confirmation'] = '0'; $mybb->input['approvethread'] = ''; $mybb->input['softdeletethread'] = ''; $mybb->input['openthread'] = ''; $mybb->input['stickthread'] = ''; $mybb->input['move_1_forum'] = ''; $mybb->input['move_2_redirect'] = '0'; $mybb->input['move_3_redirecttime'] = ''; $move_checked[1] = "checked=\"checked\""; $move_checked[2] = ''; $copy_checked[1] = "checked=\"checked\""; $copy_checked[2] = ''; $mybb->input['copy_1_forum'] = ''; $mybb->input['deletethread'] = '0'; $mybb->input['threadprefix'] = '-1'; $mybb->input['newsubject'] = '{subject}'; $mybb->input['newreply'] = ''; $mybb->input['newreplysubject'] = '{subject}'; $do_not_split_checked = ' selected="selected"'; $mybb->input['deleteposts'] = '0'; $mybb->input['mergeposts'] = '0'; $mybb->input['approveposts'] = ''; $mybb->input['softdeleteposts'] = ''; $mybb->input['splitposts'] = '-1'; $mybb->input['splitpostsclose'] = '0'; $mybb->input['splitpostsstick'] = '0'; $mybb->input['splitpostsunapprove'] = '0'; $mybb->input['splitthreadprefix'] = '0'; $mybb->input['splitpostsnewsubject'] = '{subject}'; $mybb->input['splitpostsaddreply'] = ''; $mybb->input['splitpostsreplysubject'] = '{subject}'; } $form_container = new FormContainer($lang->general_options); $form_container->output_row($lang->name." *", '', $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description." *", '', $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $actions = "
{$lang->forums_colon} ".$form->generate_forum_select('forum_1_forums[]', $mybb->input['forum_1_forums'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_in_forums." *", '', $actions); $actions = "
{$lang->groups_colon} ".$form->generate_group_select('group_1_groups[]', $mybb->input['group_1_groups'], array('multiple' => true, 'size' => 5))."
"; $form_container->output_row($lang->available_to_groups." *", '', $actions); $form_container->output_row($lang->show_confirmation." *", '', $form->generate_yes_no_radio('confirmation', $mybb->input['confirmation'], array('style' => 'width: 2em;'))); $form_container->end(); $approve_unapprove = array( '' => $lang->no_change, 'approve' => $lang->approve, 'unapprove' => $lang->unapprove, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->inline_post_moderation); $softdelete_restore = array( '' => $lang->no_change, 'restore' => $lang->restore, 'softdelete' => $lang->softdelete, 'toggle' => $lang->toggle ); $form_container->output_row($lang->softdelete_restore_posts." *", '', $form->generate_select_box('softdeleteposts', $softdelete_restore, $mybb->input['softdeleteposts'], array('id' => 'softdeleteposts')), 'softdeleteposts'); $form_container->output_row($lang->delete_posts." *", '', $form->generate_yes_no_radio('deleteposts', $mybb->input['deleteposts'])); $form_container->output_row($lang->merge_posts." *", $lang->merge_posts_desc, $form->generate_yes_no_radio('mergeposts', $mybb->input['mergeposts'])); $form_container->output_row($lang->approve_unapprove_posts." *", '', $form->generate_select_box('approveposts', $approve_unapprove, $mybb->input['approveposts'], array('id' => 'approveposts')), 'approveposts'); $form_container->end(); $selectoptions = "\n"; $selectoptions .= "\n"; $form_container = new FormContainer($lang->split_posts); $form_container->output_row($lang->split_posts2." *", '', $form->generate_forum_select('splitposts', $mybb->input['splitposts'])); $form_container->output_row($lang->close_split_thread." *", '', $form->generate_yes_no_radio('splitpostsclose', $mybb->input['splitpostsclose'])); $form_container->output_row($lang->stick_split_thread." *", '', $form->generate_yes_no_radio('splitpostsstick', $mybb->input['splitpostsstick'])); $form_container->output_row($lang->unapprove_split_thread." *", '', $form->generate_yes_no_radio('splitpostsunapprove', $mybb->input['splitpostsunapprove'])); $splitthreadprefix = build_prefixes(); if(!empty($splitthreadprefix)) { $split_thread_prefixes = array( '0' => $lang->no_prefix ); foreach($splitthreadprefix as $prefix) { $split_thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->split_thread_prefix." *", '', $form->generate_select_box('splitthreadprefix', $split_thread_prefixes, array($mybb->get_input('splitthreadprefix', MyBB::INPUT_INT)), array('id' => 'splitthreadprefix')), 'splitthreadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->split_thread_subject, $lang->split_thread_subject_desc, $form->generate_text_box('splitpostsnewsubject', $mybb->input['splitpostsnewsubject'], array('id' => 'splitpostsnewsubject ')), 'newreplysubject'); $form_container->output_row($lang->add_new_split_reply, $lang->add_new_split_reply_desc, $form->generate_text_area('splitpostsaddreply', $mybb->input['splitpostsaddreply'], array('id' => 'splitpostsaddreply')), 'splitpostsaddreply'); $form_container->output_row($lang->split_reply_subject, $lang->split_reply_subject_desc, $form->generate_text_box('splitpostsreplysubject', $mybb->input['splitpostsreplysubject'], array('id' => 'splitpostsreplysubject')), 'splitpostsreplysubject'); $form_container->end(); $open_close = array( '' => $lang->no_change, 'open' => $lang->open, 'close' => $lang->close, 'toggle' => $lang->toggle ); $stick_unstick = array( '' => $lang->no_change, 'stick' => $lang->stick, 'unstick' => $lang->unstick, 'toggle' => $lang->toggle ); $form_container = new FormContainer($lang->thread_moderation); $form_container->output_row($lang->approve_unapprove." *", '', $form->generate_select_box('approvethread', $approve_unapprove, $mybb->input['approvethread'], array('id' => 'approvethread')), 'approvethread'); $form_container->output_row($lang->open_close_thread." *", '', $form->generate_select_box('openthread', $open_close, $mybb->input['openthread'], array('id' => 'openthread')), 'openthread'); $form_container->output_row($lang->stick_unstick_thread." *", '', $form->generate_select_box('stickthread', $stick_unstick, $mybb->input['stickthread'], array('id' => 'stickthread')), 'stickthread'); $actions = "
{$lang->forum_to_move_to} ".$form->generate_forum_select('move_1_forum', $mybb->input['move_1_forum'])."
{$lang->leave_redirect} ".$form->generate_yes_no_radio('move_2_redirect', $mybb->input['move_2_redirect'])."
{$lang->delete_redirect_after} ".$form->generate_numeric_field('move_3_redirecttime', $mybb->input['move_3_redirecttime'], array('style' => 'width: 3em;', 'min' => 0))." {$lang->days}
"; $form_container->output_row($lang->move_thread." *", $lang->move_thread_desc, $actions); $actions = "
{$lang->forum_to_copy_to} ".$form->generate_forum_select('copy_1_forum', $mybb->input['copy_1_forum'])."
"; $form_container->output_row($lang->copy_thread." *", '', $actions); $form_container->output_row($lang->softdelete_restore_thread." *", '', $form->generate_select_box('softdeletethread', $softdelete_restore, $mybb->input['softdeletethread'], array('id' => 'softdeletethread')), 'softdeletethread'); $form_container->output_row($lang->delete_thread." *", '', $form->generate_yes_no_radio('deletethread', $mybb->input['deletethread'])); $threadprefixes = build_prefixes(); if(!empty($threadprefixes)) { $thread_prefixes = array( '-1' => $lang->no_change, '0' => $lang->no_prefix ); foreach($threadprefixes as $prefix) { $thread_prefixes[$prefix['pid']] = $prefix['prefix']; } $form_container->output_row($lang->apply_thread_prefix." *", '', $form->generate_select_box('threadprefix', $thread_prefixes, $mybb->input['threadprefix'], array('id' => 'threadprefix')), 'threadprefix'); } $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->new_subject." *", $lang->new_subject_desc, $form->generate_text_box('newsubject', $mybb->input['newsubject'])); $form_container->end(); $form_container = new FormContainer($lang->add_new_reply); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->add_new_reply, $lang->add_new_reply_desc, $form->generate_text_area('newreply', $mybb->input['newreply'], array('id' => 'newreply')), 'newreply'); $form_container->output_row($lang->reply_subject, $lang->reply_subject_desc, $form->generate_text_box('newreplysubject', $mybb->input['newreplysubject'], array('id' => 'newreplysubject')), 'newreplysubject'); $form_container->end(); $form_container = new FormContainer($lang->send_private_message); $form_container->output_row($lang->subject_message_replacements, $lang->subject_message_replacements_desc); $form_container->output_row($lang->private_message_message, $lang->private_message_message_desc, $form->generate_text_area('pm_message', $mybb->get_input('pm_message'), array('id' => 'pm_message')), 'pm_message'); $form_container->output_row($lang->private_message_subject, $lang->private_message_subject_desc, $form->generate_text_box('pm_subject', $mybb->get_input('pm_subject'), array('id' => 'pm_subject')), 'pm_subject'); $form_container->end(); $plugins->run_hooks("admin_config_mod_tools_add_post_tool_end"); $buttons[] = $form->generate_submit_button($lang->save_post_tool); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if(!$mybb->input['action']) { $plugins->run_hooks("admin_config_mod_tools_start"); $page->output_header($lang->mod_tools." - ".$lang->thread_tools); $sub_tabs['thread_tools'] = array( 'title' => $lang->thread_tools, 'link' => "index.php?module=config-mod_tools", 'description' => $lang->thread_tools_desc ); $sub_tabs['add_thread_tool'] = array( 'title'=> $lang->add_new_thread_tool, 'link' => "index.php?module=config-mod_tools&action=add_thread_tool" ); $sub_tabs['post_tools'] = array( 'title' => $lang->post_tools, 'link' => "index.php?module=config-mod_tools&action=post_tools", ); $sub_tabs['add_post_tool'] = array( 'title'=> $lang->add_new_post_tool, 'link' => "index.php?module=config-mod_tools&action=add_post_tool" ); $page->output_nav_tabs($sub_tabs, 'thread_tools'); $table = new Table; $table->construct_header($lang->title); $table->construct_header($lang->controls, array('class' => "align_center", 'colspan' => 2)); $query = $db->simple_select('modtools', 'tid, name, description, type', "type='t'", array('order_by' => 'name')); while($tool = $db->fetch_array($query)) { $table->construct_cell("".htmlspecialchars_uni($tool['name'])."
".htmlspecialchars_uni($tool['description']).""); $table->construct_cell("{$lang->edit}", array('width' => 100, 'class' => "align_center")); $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_thread_tool_deletion}')\">{$lang->delete}", array('width' => 100, 'class' => "align_center")); $table->construct_row(); } if($table->num_rows() == 0) { $table->construct_cell($lang->no_thread_tools, array('colspan' => 3)); $table->construct_row(); } $table->output($lang->thread_tools); $page->output_footer(); }