Please make sure IN_MYBB is defined."); } $page->add_breadcrumb_item($lang->thread_prefixes, 'index.php?module=config-thread_prefixes'); $sub_tabs = array( "thread_prefixes" => array( 'title' => $lang->thread_prefixes, 'link' => 'index.php?module=config-thread_prefixes', 'description' => $lang->thread_prefixes_desc ), "add_prefix" => array( 'title'=> $lang->add_new_thread_prefix, 'link' => 'index.php?module=config-thread_prefixes&action=add_prefix', 'description' => $lang->add_new_thread_prefix_desc ) ); $plugins->run_hooks('admin_config_thread_prefixes_begin'); if($mybb->input['action'] == 'add_prefix') { $plugins->run_hooks('admin_config_thread_prefixes_add_prefix'); if($mybb->request_method == 'post') { if(trim($mybb->input['prefix']) == '') { $errors[] = $lang->error_missing_prefix; } if(trim($mybb->input['displaystyle']) == '') { $errors[] = $lang->error_missing_display_style; } if($mybb->input['forum_type'] == 2) { if(count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } $forum_checked[2] = "checked=\"checked\""; } else { $forum_checked[1] = "checked=\"checked\""; $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { if(count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } $group_checked[2] = "checked=\"checked\""; } else { $group_checked[1] = "checked=\"checked\""; $mybb->input['group_1_forums'] = ''; } if(!$errors) { $new_prefix = array( 'prefix' => $db->escape_string($mybb->input['prefix']), 'displaystyle' => $db->escape_string($mybb->input['displaystyle']) ); 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[] = intval($fid); } $new_prefix['forums'] = implode(',', $checked); } } else { $new_prefix['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[] = intval($gid); } $new_prefix['groups'] = implode(',', $checked); } } else { $new_prefix['groups'] = '-1'; } $pid = $db->insert_query('threadprefixes', $new_prefix); $plugins->run_hooks('admin_config_thread_prefixes_add_prefix_commit'); // Log admin action log_admin_action($pid, $mybb->input['prefix']); $cache->update_threadprefixes(); flash_message($lang->success_thread_prefix_created, 'success'); admin_redirect('index.php?module=config-thread_prefixes'); } } $page->add_breadcrumb_item($lang->add_new_thread_prefix); $page->output_header($lang->thread_prefixes." - ".$lang->add_new_thread_prefix); $page->output_nav_tabs($sub_tabs, 'add_prefix'); $form = new Form('index.php?module=config-thread_prefixes&action=add_prefix', 'post'); if($errors) { $page->output_inline_error($errors); } else { $mybb->input['prefix'] = ''; $mybb->input['displaystyle'] = ''; $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] = ''; } $form_container = new FormContainer($lang->prefix_options); $form_container->output_row($lang->prefix.' *', $lang->prefix_desc, $form->generate_text_box('prefix', $mybb->input['prefix'], array('id' => 'prefix')), 'prefix'); $form_container->output_row($lang->display_style.' *', $lang->display_style_desc, $form->generate_text_box('displaystyle', $mybb->input['displaystyle'], array('id' => 'displaystyle')), 'displaystyle'); $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); $group_select = "
{$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." *", '', $group_select); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_thread_prefix); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == 'edit_prefix') { $plugins->run_hooks('admin_config_thread_prefixes_edit_prefix_start'); $prefix = build_prefixes($mybb->input['pid']); if(!$prefix['pid']) { flash_message($lang->error_invalid_prefix, 'error'); admin_redirect('index.php?module=config-thread_prefixes'); } if($mybb->request_method == 'post') { if(trim($mybb->input['prefix']) == '') { $errors[] = $lang->error_missing_prefix; } if(trim($mybb->input['displaystyle']) == '') { $errors[] = $lang->error_missing_display_style; } if($mybb->input['forum_type'] == 2) { if(count($mybb->input['forum_1_forums']) < 1) { $errors[] = $lang->error_no_forums_selected; } $forum_checked[2] = "checked=\"checked\""; } else { $forum_checked[1] = "checked=\"checked\""; $mybb->input['forum_1_forums'] = ''; } if($mybb->input['group_type'] == 2) { if(count($mybb->input['group_1_groups']) < 1) { $errors[] = $lang->error_no_groups_selected; } $group_checked[2] = "checked=\"checked\""; } else { $group_checked[1] = "checked=\"checked\""; $mybb->input['group_1_forums'] = ''; } if(!$errors) { $update_prefix = array( 'prefix' => $db->escape_string($mybb->input['prefix']), 'displaystyle' => $db->escape_string($mybb->input['displaystyle']) ); 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[] = intval($fid); } $update_prefix['forums'] = implode(',', $checked); } } else { $update_prefix['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[] = intval($gid); } $update_prefix['groups'] = implode(',', $checked); } } else { $update_prefix['groups'] = '-1'; } $db->update_query('threadprefixes', $update_prefix, "pid='{$mybb->input['pid']}'"); $plugins->run_hooks('admin_config_thread_prefixes_edit_prefix_commit'); // Log admin action log_admin_action($mybb->input['pid'], $mybb->input['prefix']); $cache->update_threadprefixes(); flash_message($lang->success_thread_prefix_updated, 'success'); admin_redirect('index.php?module=config-thread_prefixes'); } } $page->add_breadcrumb_item($lang->edit_thread_prefix); $page->output_header($lang->thread_prefixes.' - '.$lang->edit_thread_prefix); // Setup the edit prefix tab unset($sub_tabs); $sub_tabs['edit_prefix'] = array( "title" => $lang->edit_prefix, "link" => "index.php?module=config-thread_prefixes", "description" => $lang->edit_prefix_desc ); $page->output_nav_tabs($sub_tabs, "edit_prefix"); $form = new Form('index.php?module=config-thread_prefixes&action=edit_prefix', 'post'); echo $form->generate_hidden_field('pid', $mybb->input['pid']); if($errors) { $page->output_inline_error($errors); } else { $query = $db->simple_select('threadprefixes', '*', "pid = '{$mybb->input['pid']}'"); $threadprefix = $db->fetch_array($query); $mybb->input['prefix'] = $threadprefix['prefix']; $mybb->input['displaystyle'] = $threadprefix['displaystyle']; $mybb->input['forum_1_forums'] = explode(",", $threadprefix['forums']); if(!$threadprefix['forums'] || $threadprefix['forums'] == -1) { $forum_checked[1] = "checked=\"checked\""; $forum_checked[2] = ''; } else { $forum_checked[1] = ''; $forum_checked[2] = "checked=\"checked\""; } $mybb->input['group_1_groups'] = explode(",", $threadprefix['groups']); if(!$threadprefix['groups'] || $threadprefix['groups'] == -1) { $group_checked[1] = "checked=\"checked\""; $group_checked[2] = ''; } else { $group_checked[1] = ''; $group_checked[2] = "checked=\"checked\""; } } $form_container = new FormContainer($lang->prefix_options); $form_container->output_row($lang->prefix.' *', $lang->prefix_desc, $form->generate_text_box('prefix', $mybb->input['prefix'], array('id' => 'prefix')), 'prefix'); $form_container->output_row($lang->display_style.' *', $lang->display_style_desc, $form->generate_text_box('displaystyle', $mybb->input['displaystyle'], array('id' => 'displaystyle')), 'displaystyle'); $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); $group_select = "
{$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." *", '', $group_select); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_thread_prefix); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == 'delete_prefix') { $plugins->run_hooks('admin_config_thread_prefixes_delete_prefix'); $prefix = build_prefixes($mybb->input['pid']); if(!$prefix['pid']) { flash_message($lang->error_invalid_thread_prefix, 'error'); admin_redirect('index.php?module=config-thread_prefixes'); } // User clicked no if($mybb->input['no']) { admin_redirect('index.php?module=config-thread_prefixes'); } if($mybb->request_method == 'post') { // Remove prefix from existing threads $update_threads = array('prefix' => 0); $db->update_query('threads', $update_threads, "prefix='{$prefix['pid']}'"); // Delete prefix $db->delete_query('threadprefixes', "pid='{$prefix['pid']}'"); $plugins->run_hooks('admin_config_thread_prefixes_delete_thread_prefix_commit'); // Log admin action log_admin_action($prefix['pid'], $prefix['prefix']); $cache->update_threadprefixes(); flash_message($lang->success_thread_prefix_deleted, 'success'); admin_redirect('index.php?module=config-thread_prefixes'); } else { $page->output_confirm_action("index.php?module=config-thread_prefixes&action=delete_prefix&pid={$mybb->input['pid']}", $lang->confirm_thread_prefix_deletion); } } if(!$mybb->input['action']) { $plugins->run_hooks('admin_config_thread_prefixes_start'); $page->output_header($lang->thread_prefixes); $page->output_nav_tabs($sub_tabs, 'thread_prefixes'); $table = new Table; $table->construct_header($lang->prefix); $table->construct_header($lang->controls, array('class' => 'align_center', 'colspan' => 2)); $prefixes = build_prefixes(); if($prefixes) { foreach($prefixes as $prefix) { $table->construct_cell("".htmlspecialchars_uni($prefix['prefix']).""); $table->construct_cell("{$lang->edit}", array('width' => 100, 'class' => "align_center")); $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_thread_prefix_deletion}')\">{$lang->delete}", array('width' => 100, 'class' => 'align_center')); $table->construct_row(); } } if($table->num_rows() == 0) { $table->construct_cell($lang->no_thread_prefixes, array('colspan' => 3)); $table->construct_row(); } $table->output($lang->thread_prefixes); $page->output_footer(); } ?>