$sub_tabs['manage_icons'] = array('title' => $lang->manage_post_icons, 'link' => "index.php?module=config/post_icons"); $sub_tabs['add_icon'] = array('title' => $lang->add_post_icon, 'link' => "index.php?module=config/post_icons&action=add"); $sub_tabs['add_multiple'] = array('title' => $lang->add_multiple_post_icons, 'link' => "index.php?module=config/post_icons&action=add_multiple", 'description' => $lang->add_multiple_post_icons_desc); $page->output_nav_tabs($sub_tabs, 'add_multiple'); $form = new Form("index.php?module=config/post_icons&action=add_multiple", "post", "add_multiple"); echo $form->generate_hidden_field("step", "2"); echo $form->generate_hidden_field("pathfolder", $path); $form_container = new FormContainer($lang->add_multiple_post_icons); $form_container->output_row_header($lang->image, array("class" => "align_center", 'width' => '10%')); $form_container->output_row_header($lang->name); $form_container->output_row_header($lang->add, array("class" => "align_center", 'width' => '5%')); foreach ($icons as $key => $file) { $ext = get_extension($file); $find = str_replace("." . $ext, "", $file); $name = ucfirst($find); $form_container->output_cell("<img src=\"../" . $path . $file . "\" alt=\"\" /><br /><small>{$file}</small>", array("class" => "align_center", "width" => 1)); $form_container->output_cell($form->generate_text_box("name[{$file}]", $name, array('id' => 'name', 'style' => 'width: 98%'))); $form_container->output_cell($form->generate_check_box("include[{$file}]", 1, "", array('checked' => 1)), array("class" => "align_center")); $form_container->construct_row(); } if ($form_container->num_rows() == 0) { flash_message($lang->error_no_images, 'error'); admin_redirect("index.php?module=config/post_icons&action=add_multiple"); } $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_post_icons); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); exit; }
$form_container = new FormContainer($lang->manage_smilies); $form_container->output_row_header($lang->image, array("class" => "align_center", 'width' => '1')); $form_container->output_row_header($lang->name); $form_container->output_row_header($lang->text_replace, array('width' => '20%')); $form_container->output_row_header($lang->order, array('width' => '5%')); $form_container->output_row_header($lang->mass_edit_show_clickable, array("width" => 165)); $form_container->output_row_header($lang->smilie_delete, array("class" => "align_center", 'width' => '5%')); $query = $db->simple_select("smilies", "*", "", array('order_by' => 'disporder')); while ($smilie = $db->fetch_array($query)) { $smilie['image'] = str_replace("{theme:imgdir}", $theme['imgdir'], $smilie['image']); if (my_strpos($smilie['image'], "p://") || substr($smilie['image'], 0, 1) == "/") { $image = $smilie['image']; } else { $image = "../" . $smilie['image']; } $form_container->output_cell("<img src=\"{$image}\" alt=\"\" />", array("class" => "align_center", "width" => 1)); $form_container->output_cell($form->generate_text_box("name[{$smilie['sid']}]", $smilie['name'], array('id' => 'name', 'style' => 'width: 98%'))); $form_container->output_cell($form->generate_text_box("find[{$smilie['sid']}]", $smilie['find'], array('id' => 'find', 'style' => 'width: 95%'))); $form_container->output_cell($form->generate_text_box("disporder[{$smilie['sid']}]", $smilie['disporder'], array('id' => 'disporder', 'style' => 'width: 80%'))); $form_container->output_cell($form->generate_yes_no_radio("showclickable[{$smilie['sid']}]", $smilie['showclickable']), array("class" => "align_center")); $form_container->output_cell($form->generate_check_box("delete[{$smilie['sid']}]", 1, $mybb->input['delete']), array("class" => "align_center")); $form_container->construct_row(); } if ($form_container->num_rows() == 0) { $form_container->output_cell($lang->no_smilies, array('colspan' => 6)); $form_container->construct_row(); } $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_smilies); $buttons[] = $form->generate_reset_button($lang->reset); $form->output_submit_wrapper($buttons);
$page->add_breadcrumb_item($groupinfo['title']); $page->output_header($lang->board_settings . " - {$groupinfo['title']}"); $sub_tabs['newpoints_settings'] = array('title' => $lang->newpoints_settings, 'link' => 'index.php?module=newpoints-settings', 'description' => $lang->newpoints_settings_description); $sub_tabs['newpoints_settings_change'] = array('title' => $lang->newpoints_settings_change, 'link' => 'index.php?module=newpoints-settings&action=change', 'description' => $lang->newpoints_settings_change_description); $page->output_nav_tabs($sub_tabs, 'newpoints_settings_change'); $form = new Form("index.php?module=newpoints-settings&action=change", "post", "change"); echo $form->generate_hidden_field("gid", $group['gid']); } else { flash_message($lang->newpoints_select_plugin, 'error'); admin_redirect("index.php?module=newpoints-settings"); } // Build rest of page $buttons[] = $form->generate_submit_button($lang->save_settings); $form_container = new FormContainer($groupinfo['title']); if (empty($cache_settings[$groupinfo['plugin']])) { $form_container->output_cell($lang->error_no_settings_found); $form_container->construct_row(); $form_container->end(); echo '<br />'; $form->end(); $page->output_footer(); } foreach ($cache_settings[$groupinfo['plugin']] as $setting) { $options = ""; $type = explode("\n", $setting['type']); $type[0] = trim($type[0]); $element_name = "upsetting[{$setting['name']}]"; $element_id = "setting_{$setting['name']}"; if ($type[0] == "text" || $type[0] == "") { $setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id)); } else {
} else { $icon = "<img src=\"styles/default/images/icons/default.png\" alt=\"{$lang->default_user_group}\" style=\"vertical-align: middle;\" />"; } $leaders_list = ''; if (isset($leaders[$usergroup['gid']])) { $leaders_list = "<br />{$lang->group_leaders}: " . implode($lang->comma, $leaders[$usergroup['gid']]); } $join_requests = ''; if ($joinrequests[$usergroup['gid']] > 1 && $usergroup['type'] == 4) { $join_requests = " <small><a href=\"index.php?module=user-groups&action=join_requests&gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>"; } else { if ($joinrequests[$usergroup['gid']] == 1 && $usergroup['type'] == 4) { $join_requests = " <small><a href=\"index.php?module=user-groups&action=join_requests&gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>"; } } $form_container->output_cell("<div class=\"float_right\">{$icon}</div><div><strong><a href=\"index.php?module=user-groups&action=edit&gid={$usergroup['gid']}\">" . htmlspecialchars_uni($usergroup['title']) . "</a></strong>{$join_requests}<br /><small>" . htmlspecialchars_uni($usergroup['description']) . "{$leaders_list}</small></div>"); if (!$primaryusers[$usergroup['gid']]) { $primaryusers[$usergroup['gid']] = 0; } $numusers = $primaryusers[$usergroup['gid']]; $numusers += $secondaryusers[$usergroup['gid']]; $form_container->output_cell(my_number_format($numusers), array("class" => "align_center")); if ($usergroup['showforumteam'] == 1) { $form_container->output_cell("<input type=\"text\" name=\"disporder[{$usergroup['gid']}]\" value=\"{$usergroup['disporder']}\" class=\"text_input align_center\" style=\"width: 80%;\" />", array("class" => "align_center")); } else { $form_container->output_cell(" ", array("class" => "align_center")); } $popup = new PopupMenu("usergroup_{$usergroup['gid']}", $lang->options); $popup->add_item($lang->edit_group, "index.php?module=user-groups&action=edit&gid={$usergroup['gid']}"); $popup->add_item($lang->list_users, "index.php?module=user-users&action=search&results=1&conditions[usergroup]={$usergroup['gid']}"); if ($joinrequests[$usergroup['gid']] > 0 && $usergroup['type'] == 4) {
/** * @param int $gid * @param int $fid * * @return string */ function retrieve_single_permissions_row($gid, $fid) { global $mybb, $lang, $cache, $db; $query = $db->simple_select("usergroups", "*", "gid='{$gid}'"); $usergroup = $db->fetch_array($query); $query = $db->simple_select("forums", "*", "fid='{$fid}'"); $forum_data = $db->fetch_array($query); $query = $db->simple_select("forumpermissions", "*", "fid='{$fid}'"); while ($existing = $db->fetch_array($query)) { $existing_permissions[$existing['gid']] = $existing; } $cached_forum_perms = $cache->read("forumpermissions"); $field_list = array('canview' => $lang->permissions_canview, 'canpostthreads' => $lang->permissions_canpostthreads, 'canpostreplys' => $lang->permissions_canpostreplys, 'canpostpolls' => $lang->permissions_canpostpolls); $field_list2 = array('canview' => $lang->perm_drag_canview, 'canpostthreads' => $lang->perm_drag_canpostthreads, 'canpostreplys' => $lang->perm_drag_canpostreplys, 'canpostpolls' => $lang->perm_drag_canpostpolls); $form = new Form('', '', "", 0, "", true); $form_container = new FormContainer(); $perms = array(); if (is_array($existing_permissions) && $existing_permissions[$usergroup['gid']]) { $perms = $existing_permissions[$usergroup['gid']]; $default_checked = false; } elseif (is_array($cached_forum_perms) && $cached_forum_perms[$forum_data['fid']][$usergroup['gid']]) { $perms = $cached_forum_perms[$forum_data['fid']][$usergroup['gid']]; $default_checked = true; } else { if (is_array($cached_forum_perms) && $cached_forum_perms[$forum_data['pid']][$usergroup['gid']]) { $perms = $cached_forum_perms[$forum_data['pid']][$usergroup['gid']]; $default_checked = true; } } if (!$perms) { $perms = $usergroup; $default_checked = true; } foreach ($field_list as $forum_permission => $forum_perm_title) { if ($perms[$forum_permission] == 1) { $perms_checked[$forum_permission] = 1; } else { $perms_checked[$forum_permission] = 0; } } $usergroup['title'] = htmlspecialchars_uni($usergroup['title']); if ($default_checked == 1) { $inherited_text = $lang->inherited_permission; } else { $inherited_text = $lang->custom_permission; } $form_container->output_cell("<strong>{$usergroup['title']}</strong> <small style=\"vertical-align: middle;\">({$inherited_text})</small>"); $field_select = "<div class=\"quick_perm_fields\">\n"; $field_select .= "<div class=\"enabled\"><div class=\"fields_title\">{$lang->enabled}</div><ul id=\"fields_enabled_{$usergroup['gid']}\">\n"; foreach ($perms_checked as $perm => $value) { if ($value == 1) { $field_select .= "<li id=\"field-{$perm}\">{$field_list2[$perm]}</li>"; } } $field_select .= "</ul></div>\n"; $field_select .= "<div class=\"disabled\"><div class=\"fields_title\">{$lang->disabled}</div><ul id=\"fields_disabled_{$usergroup['gid']}\">\n"; foreach ($perms_checked as $perm => $value) { if ($value == 0) { $field_select .= "<li id=\"field-{$perm}\">{$field_list2[$perm]}</li>"; } } $field_select .= "</ul></div></div>\n"; $field_select .= $form->generate_hidden_field("fields_" . $usergroup['gid'], @implode(",", @array_keys($perms_checked, 1)), array('id' => 'fields_' . $usergroup['gid'])); $field_select = str_replace("\n", "", $field_select); foreach ($field_list as $forum_permission => $permission_title) { $field_options[$forum_permission] = $permission_title; } $form_container->output_cell($field_select, array('colspan' => 2)); if (!$default_checked) { $form_container->output_cell("<a href=\"index.php?module=forum-management&action=permissions&pid={$perms['pid']}\" onclick=\"MyBB.popupWindow('index.php?module=forum-management&action=permissions&pid={$perms['pid']}&ajax=1', null, true); return false;\">{$lang->edit_permissions}</a>", array("class" => "align_center")); $form_container->output_cell("<a href=\"index.php?module=forum-management&action=clear_permission&pid={$perms['pid']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_clear_custom_permission}')\">{$lang->clear_custom_perms}</a>", array("class" => "align_center")); } else { $form_container->output_cell("<a href=\"index.php?module=forum-management&action=permissions&gid={$usergroup['gid']}&fid={$fid}\" onclick=\"MyBB.popupWindow('index.php?module=forum-management&action=permissions&gid={$usergroup['gid']}&fid={$fid}&ajax=1', null, true); return false;\">{$lang->set_custom_perms}</a>", array("class" => "align_center", "colspan" => 2)); } $form_container->construct_row(); return $form_container->output_row_cells(0, true); }
$count = 0; while ($querydata = $db->fetch_array($query)) { if ($querydata['link'] != null) { $data[$count]['announcement'] = $parser->parse_message("[url=" . $querydata['link'] . "]" . html_entity_decode($querydata['announcement']) . "[/url]", $parser_options); } else { $data[$count]['announcement'] = $parser->parse_message(html_entity_decode($querydata['announcement']), $parser_options); // parse bbcode } $data[$count]['PID'] = $querydata['PID']; $data[$count]['class'] = $querydata['class']; $data[$count]['pinned'] = $querydata['pinned']; $data[$count]['disporder'] = $querydata['disporder']; $count++; } if ($count == 0) { $table->output_cell($lang->bam_manage_null); // no announcements found $table->output_cell(""); $table->output_cell(""); $table->output_row(""); } else { $i = 0; while ($i <= $count) { if (isset($data[$i]['PID']) && $data[$i]['PID'] != null) { $table->output_cell($data[$i]['announcement']); $table->output_cell($data[$i]['class']); $table->output_cell("<center><input type='text' name=\"disporder[" . $data[$i]['PID'] . "]\" value='" . $data[$i]['disporder'] . "' /></center>"); $table->output_cell("<center><a href='index.php?module=config-bam&action=edit&id=" . $data[$i]['PID'] . "'>" . $lang->bam_manage_edit . "</a></center>"); $table->output_cell("<center><a href='index.php?module=config-bam&action=delete&id=" . $data[$i]['PID'] . "&my_post_key=" . $mybb->post_code . "' onclick=' return confirm(\"" . $lang->bam_manage_delete_confirm . "\");'>" . $lang->bam_manage_delete . "</a></center>"); if ($data[$i]['pinned'] == 1) { $table->output_cell("<center><a href='index.php?module=config-bam&action=unpin&id=" . $data[$i]['PID'] . "&my_post_key=" . $mybb->post_code . "'>" . $lang->bam_manage_unpin . "</a></center>");
function asb_admin_custom_boxes() { global $lang, $mybb, $db, $page, $html, $min; if ($mybb->input['mode'] == 'export') { if ((int) $mybb->input['id'] == 0) { flash_message($lang->asb_custom_export_error, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $this_custom = new Custom_type($mybb->input['id']); if (!$this_custom->is_valid()) { flash_message($lang->asb_custom_export_error, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $this_custom->export(); exit; } if ($mybb->input['mode'] == 'delete') { // info good? if ((int) $mybb->input['id'] == 0) { flash_message($lang->asb_add_custom_box_delete_failure, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } // nuke it $this_custom = new Custom_type($mybb->input['id']); // success? if (!$this_custom->remove()) { flash_message($lang->asb_add_custom_box_delete_failure, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } // :) flash_message($lang->asb_add_custom_box_delete_success, 'success'); asb_cache_has_changed(); admin_redirect($html->url(array("action" => 'custom_boxes'))); } // POSTing? if ($mybb->request_method == 'post') { if ($mybb->input['mode'] == 'import') { if (!$_FILES['file'] || $_FILES['file']['error'] == 4) { flash_message($lang->asb_custom_import_no_file, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } if ($_FILES['file']['error']) { flash_message($lang->sprintf($lang->asb_custom_import_file_error, $_FILES['file']['error']), 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } if (!is_uploaded_file($_FILES['file']['tmp_name'])) { flash_message($lang->asb_custom_import_file_upload_error, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $contents = @file_get_contents($_FILES['file']['tmp_name']); @unlink($_FILES['file']['tmp_name']); if (!trim($contents)) { flash_message($lang->asb_custom_import_file_empty, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } require_once MYBB_ROOT . 'inc/class_xml.php'; $parser = new XMLParser($contents); $tree = $parser->get_tree(); if (!is_array($tree) || empty($tree)) { flash_message($lang->asb_custom_import_file_empty, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } if (!is_array($tree['asb_custom_sideboxes']) || empty($tree['asb_custom_sideboxes'])) { if (!is_array($tree['adv_sidebox']) || !is_array($tree['adv_sidebox']['custom_sidebox'])) { flash_message($lang->asb_custom_import_file_empty, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $results = asb_legacy_custom_import($tree); if (!is_array($results)) { flash_message($results, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $custom = new Custom_type($results); } else { $custom = new Custom_type(); if (!$custom->import($contents)) { flash_message($lang->asb_custom_import_fail_generic, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } } if (!$custom->save()) { flash_message($lang->asb_custom_box_save_failure, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } flash_message($lang->asb_custom_import_save_success, 'success'); admin_redirect($html->url(array("action" => 'custom_boxes', "id" => $custom->get('id')))); } else { // saving? if ($mybb->input['save_box_submit'] == 'Save') { if (!$mybb->input['box_name'] || !$mybb->input['box_content']) { flash_message($lang->asb_custom_box_save_failure_no_content, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes'))); } $this_custom = new Custom_type((int) $mybb->input['id']); // get the info $this_custom->set('title', $mybb->input['box_name']); $this_custom->set('description', $mybb->input['box_description']); $this_custom->set('content', $mybb->input['box_content']); $this_custom->set('wrap_content', $mybb->input['wrap_content'] == 'yes'); // success? if (!$this_custom->save()) { flash_message($lang->asb_custom_box_save_failure, 'error'); admin_redirect($html->url(array("action" => 'custom_boxes', "id" => $this_custom->get('id')))); } flash_message($lang->asb_custom_box_save_success, 'success'); asb_cache_has_changed(); admin_redirect($html->url(array("action" => 'custom_boxes', "id" => $this_custom->get('id')))); } } } $page->add_breadcrumb_item($lang->asb, $html->url()); if ($mybb->input['mode'] == 'edit') { $queryadmin = $db->simple_select('adminoptions', '*', "uid='{$mybb->user['uid']}'"); $admin_options = $db->fetch_array($queryadmin); if ($admin_options['codepress'] != 0) { $page->extra_header .= <<<EOF \t<link type="text/css" href="./jscripts/codepress/languages/codepress-mybb.css" rel="stylesheet" id="cp-lang-style"/> \t<script type="text/javascript" src="./jscripts/codepress/codepress.js"></script> \t<script type="text/javascript"> \t<!-- \t\tCodePress.language = 'mybb'; \t// --> \t</script> EOF; } $this_box = new Custom_type((int) $mybb->input['id']); $action = $lang->asb_add_custom; if ($this_box->get('id')) { $specify_box = '&id=' . $this_box->get('id'); $currently_editing = $lang->asb_editing . ': <strong>' . $this_box->get('title') . '</strong>'; $action = $lang->asb_edit . ' ' . $this_box->get('title'); } else { // new box $specify_box = ''; $sample_content = <<<EOF <tr> \t\t<td class="trow1">{$lang->asb_sample_content_line1} (HTML)</td> \t</tr> \t<tr> \t\t<td class="trow2">{$lang->asb_sample_content_line2}</td> \t</tr> \t<tr> \t\t<td class="trow1"><strong>{$lang->asb_sample_content_line3}</td> \t</tr> EOF; $this_box->set('content', $sample_content); $this_box->set('wrap_content', true); } $page->extra_header .= <<<EOF \t<link rel="stylesheet" type="text/css" href="styles/asb_acp.css" media="screen" /> \t<script src="jscripts/asb/asb{$min}.js" type="text/javascript"></script> EOF; $page->add_breadcrumb_item($lang->asb_custom_boxes, $html->url(array("action" => 'custom_boxes'))); $page->add_breadcrumb_item($lang->asb_add_custom); $page->output_header("{$lang->asb} - {$action}"); asb_output_tabs('asb_add_custom'); $form = new Form($html->url(array("action" => 'custom_boxes')) . $specify_box, 'post', 'edit_box'); $form_container = new FormContainer($currently_editing); $form_container->output_cell($lang->asb_name); $form_container->output_cell($lang->asb_description); $form_container->output_cell($lang->asb_custom_box_wrap_content); $form_container->output_row(''); // name $form_container->output_cell($form->generate_text_box('box_name', $this_box->get('title'), array("id" => 'box_name'))); // description $form_container->output_cell($form->generate_text_box('box_description', $this_box->get('description'))); // wrap content? $form_container->output_cell($form->generate_check_box('wrap_content', 'yes', $lang->asb_custom_box_wrap_content_desc, array("checked" => $this_box->get('wrap_content')))); $form_container->output_row(''); $form_container->output_cell('Content:', array("colspan" => 3)); $form_container->output_row(''); // content $form_container->output_cell($form->generate_text_area('box_content', $this_box->get('content'), array("id" => 'box_content', 'class' => 'codepress mybb', 'style' => 'width: 100%; height: 240px;')), array("colspan" => 3)); $form_container->output_row(''); // finish form $form_container->end(); $buttons[] = $form->generate_submit_button('Save', array('name' => 'save_box_submit')); $form->output_submit_wrapper($buttons); $form->end(); if ($admin_options['codepress'] != 0) { echo <<<EOF \t\t<script type="text/javascript"> \t\t<!-- \t\t\tEvent.observe('edit_box', 'submit', function() { \t\t\t\tif (\$('box_content_cp')) { \t\t\t\t\tvar area = \$('box_content_cp'); \t\t\t\t\tarea.id = 'box_content'; \t\t\t\t\tarea.value = box_content.getCode(); \t\t\t\t\tarea.disabled = false; \t\t\t\t} \t\t\t}); \t\t// --> \t\t</script> EOF; // build link bar and ACP footer asb_output_footer('edit_custom'); } } $page->extra_header .= <<<EOF \t<link rel="stylesheet" type="text/css" href="styles/asb_acp.css" media="screen" /> \t<script src="jscripts/asb/asb{$min}.js" type="text/javascript"></script> EOF; $page->add_breadcrumb_item($lang->asb_custom_boxes); $page->output_header("{$lang->asb} - {$lang->asb_custom_boxes}"); asb_output_tabs('asb_custom'); $new_box_url = $html->url(array("action" => 'custom_boxes', "mode" => 'edit')); $new_box_link = $html->link($new_box_url, $lang->asb_add_custom_box_types, array("style" => 'font-weight: bold;', "title" => $lang->asb_add_custom_box_types, "icon" => "{$mybb->settings['bburl']}/inc/plugins/asb/images/add.png"), array("alt" => '+', "style" => 'margin-bottom: -3px;', "title" => $lang->asb_add_custom_box_types)); echo $new_box_link . '<br /><br />'; $table = new Table(); $table->construct_header($lang->asb_name); $table->construct_header($lang->asb_custom_box_desc); $table->construct_header($lang->asb_controls, array("colspan" => 2)); $custom = asb_get_all_custom(); // if there are saved types . . . if (is_array($custom) && !empty($custom)) { // display them foreach ($custom as $this_custom) { $data = $this_custom->get('data'); // name (edit link) $edit_url = $html->url(array("action" => 'custom_boxes', "mode" => 'edit', "id" => $data['id'])); $edit_link = $html->link($edit_url, $data['title'], array("title" => $lang->asb_edit, "style" => 'font-weight: bold;')); $table->construct_cell($edit_link, array("width" => '30%')); // description if ($data['description']) { $description = $data['description']; } else { $description = "<em>{$lang->asb_no_description}</em>"; } $table->construct_cell($description, array("width" => '60%')); // options popup $popup = new PopupMenu('box_' . $data['id'], $lang->asb_options); // edit $popup->add_item($lang->asb_edit, $edit_url); // delete $popup->add_item($lang->asb_delete, $html->url(array("action" => 'custom_boxes', "mode" => 'delete', "id" => $data['id'])), "return confirm('{$lang->asb_custom_del_warning}');"); // export $popup->add_item($lang->asb_custom_export, $html->url(array("action" => 'custom_boxes', "mode" => 'export', "id" => $data['id']))); // popup cell $table->construct_cell($popup->fetch(), array("width" => '10%')); // finish the table $table->construct_row(); } } else { // no saved types $table->construct_cell($lang->asb_no_custom_boxes, array("colspan" => 4)); $table->construct_row(); } $table->output($lang->asb_custom_box_types); echo '<br /><br />'; $import_form = new Form($html->url(array("action" => 'custom_boxes', "mode" => 'import')), 'post', '', 1); $import_form_container = new FormContainer($lang->asb_custom_import); $import_form_container->output_row($lang->asb_custom_import_select_file, '', $import_form->generate_file_upload_box('file')); $import_form_container->end(); $import_buttons[] = $import_form->generate_submit_button($lang->asb_custom_import, array('name' => 'import')); $import_form->output_submit_wrapper($import_buttons); $import_form->end(); // build link bar and ACP footer asb_output_footer('custom'); }
$cache->update_stats(); // Log admin action log_admin_action("stats"); flash_message($lang->success_rebuilt_forum_stats, 'success'); admin_redirect("index.php?module=tools-recount_rebuild"); } } $page->output_header($lang->recount_rebuild); $sub_tabs['recount_rebuild'] = array('title' => $lang->recount_rebuild, 'link' => "index.php?module=tools-recount_rebuild", 'description' => $lang->recount_rebuild_desc); $page->output_nav_tabs($sub_tabs, 'recount_rebuild'); $form = new Form("index.php?module=tools-recount_rebuild", "post"); $form_container = new FormContainer($lang->recount_rebuild); $form_container->output_row_header($lang->name); $form_container->output_row_header($lang->data_per_page, array('width' => 50)); $form_container->output_row_header(" "); $form_container->output_cell("<label>{$lang->rebuild_forum_counters}</label><div class=\"description\">{$lang->rebuild_forum_counters_desc}</div>"); $form_container->output_cell($form->generate_numeric_field("forumcounters", 50, array('style' => 'width: 150px;', 'min' => 0))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildforumcounters"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->rebuild_thread_counters}</label><div class=\"description\">{$lang->rebuild_thread_counters_desc}</div>"); $form_container->output_cell($form->generate_numeric_field("threadcounters", 500, array('style' => 'width: 150px;', 'min' => 0))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildthreadcounters"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->rebuild_poll_counters}</label><div class=\"description\">{$lang->rebuild_poll_counters_desc}</div>"); $form_container->output_cell($form->generate_numeric_field("pollcounters", 500, array('style' => 'width: 150px;', 'min' => 0))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildpollcounters"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->recount_user_posts}</label><div class=\"description\">{$lang->recount_user_posts_desc}</div>"); $form_container->output_cell($form->generate_numeric_field("userposts", 500, array('style' => 'width: 150px;', 'min' => 0))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_recountuserposts"))); $form_container->construct_row();
$plugins->run_hooks("admin_tools_recount_rebuild_stats"); // Log admin action log_admin_action("stats"); flash_message($lang->success_rebuilt_forum_stats, 'success'); admin_redirect("index.php?module=tools-recount_rebuild"); } } $page->output_header($lang->recount_rebuild); $sub_tabs['recount_rebuild'] = array('title' => $lang->recount_rebuild, 'link' => "index.php?module=tools-recount_rebuild", 'description' => $lang->recount_rebuild_desc); $page->output_nav_tabs($sub_tabs, 'recount_rebuild'); $form = new Form("index.php?module=tools-recount_rebuild", "post"); $form_container = new FormContainer($lang->recount_rebuild); $form_container->output_row_header($lang->name); $form_container->output_row_header($lang->data_per_page, array('width' => 50)); $form_container->output_row_header(" "); $form_container->output_cell("<label>{$lang->rebuild_forum_counters}</label><div class=\"description\">{$lang->rebuild_forum_counters_desc}</div>"); $form_container->output_cell($form->generate_text_box("forumcounters", 50, array('style' => 'width: 150px;'))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildforumcounters"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->rebuild_thread_counters}</label><div class=\"description\">{$lang->rebuild_thread_counters_desc}</div>"); $form_container->output_cell($form->generate_text_box("threadcounters", 500, array('style' => 'width: 150px;'))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildthreadcounters"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->recount_user_posts}</label><div class=\"description\">{$lang->recount_user_posts_desc}</div>"); $form_container->output_cell($form->generate_text_box("userposts", 500, array('style' => 'width: 150px;'))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_recountuserposts"))); $form_container->construct_row(); $form_container->output_cell("<label>{$lang->rebuild_attachment_thumbs}</label><div class=\"description\">{$lang->rebuild_attachment_thumbs_desc}</div>"); $form_container->output_cell($form->generate_text_box("attachmentthumbs", 20, array('style' => 'width: 150px;'))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_rebuildattachmentthumbs"))); $form_container->construct_row();
$form_container->construct_row(); } $form_container->end(); $buttons = array(); $buttons[] = $form->generate_submit_button($lang->update_forum_permissions); $buttons[] = $form->generate_reset_button($lang->reset); $form->output_submit_wrapper($buttons); echo "</div>\n"; $form->end(); echo "<div id=\"tab_moderators\">\n"; $form_container = new FormContainer($lang->sprintf($lang->moderators_assigned_to, $forum_cache[$fid]['name'])); $form_container->output_row_header($lang->username, array('width' => '75%')); $form_container->output_row_header($lang->controls, array("class" => "align_center", 'style' => 'width: 200px', 'colspan' => 2)); $query = $db->query("\n\t\t\tSELECT m.mid, m.uid, u.username\n\t\t\tFROM " . TABLE_PREFIX . "moderators m\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "users u ON (m.uid=u.uid)\n\t\t\tWHERE fid='{$fid}'\n\t\t"); while ($moderator = $db->fetch_array($query)) { $form_container->output_cell("<a href=\"index.php?module=user/users&action=edit&uid={$moderator['uid']}\">{$moderator['username']}</a>"); $form_container->output_cell("<a href=\"index.php?module=forum/management&action=editmod&mid={$moderator['mid']}\">{$lang->edit}</a>", array("class" => "align_center")); $form_container->output_cell("<a href=\"index.php?module=forum/management&action=deletemod&uid={$moderator['uid']}&fid={$fid}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_moderator_deletion}')\">{$lang->delete}</a>", array("class" => "align_center")); $form_container->construct_row(); } if ($form_container->num_rows() == 0) { $form_container->output_cell($lang->no_moderators, array('colspan' => 3)); $form_container->construct_row(); } $form_container->end(); $buttons = array(); $form = new Form("index.php?module=forum/management", "post", "management"); echo $form->generate_hidden_field("fid", $mybb->input['fid']); echo $form->generate_hidden_field("add", "moderators"); $form_container = new FormContainer($lang->add_moderator); $form_container->output_row($lang->username . " <em>*</em>", $lang->moderator_username_desc, $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username');
if ($mybb->request_method == "post") { if (!isset($mybb->input['page']) || $mybb->get_input('page', MyBB::INPUT_INT) < 1) { $mybb->input['page'] = 1; } if (isset($mybb->input['do_recounttyls'])) { if ($mybb->input['page'] == 1) { // Log admin action log_admin_action("Recounted ThankYou/Likes"); } if (!$mybb->get_input('tyls', MyBB::INPUT_INT)) { $mybb->input['tyls'] = 500; } acp_tyl_recount(); } } $page->output_header($lang->tyl_recount); $sub_tabs['thankyoulike_recount'] = array('title' => $lang->tyl_recount, 'link' => "index.php?module=tools-thankyoulike_recount", 'description' => $lang->tyl_recount_desc); $page->output_nav_tabs($sub_tabs, 'thankyoulike_recount'); $form = new Form("index.php?module=tools-thankyoulike_recount", "post"); $form_container = new FormContainer($lang->tyl_recount); $form_container->output_row_header($lang->tyl_name); $form_container->output_row_header($lang->tyl_data_per_page, array('width' => 50)); $form_container->output_row_header(" "); $form_container->output_cell("<label>{$lang->tyl_recount}</label><div class=\"description\">{$lang->tyl_recount_do_desc}</div>"); $form_container->output_cell($form->generate_text_box("tyls", 500, array('style' => 'width: 150px;'))); $form_container->output_cell($form->generate_submit_button($lang->go, array("name" => "do_recounttyls"))); $form_container->construct_row(); $form_container->end(); $form->end(); $page->output_footer(); }
function tslink_admin() { global $db, $lang, $mybb, $page, $run_module, $action_file, $plugins, $cache; $lang->load('tslink'); if ($run_module == 'user' && $action_file == 'tslink') { $page->add_breadcrumb_item($lang->tslink_plugin_name, 'index.php?module=tslink'); if ($mybb->input['action'] == 'tslink_changestatus') { $mybb_uid = intval($mybb->input['uid']); $changeto = intval($mybb->input['changeto']); $db->query('UPDATE ' . TABLE_PREFIX . "users SET memberstatus= '" . $changeto . "' WHERE uid='" . $mybb_uid . "'"); $queryUser = $db->simple_select('users', 'username, lastip', "uid='{$mybb_uid}'"); $bin_ip_in_db = $db->fetch_field($queryUser, 'lastip'); $givenip = my_inet_ntop($db->unescape_binary($bin_ip_in_db)); $forUser = $db->fetch_field($queryUser, 'username'); // If there's an ip of the user in de database, update the unique id's in the database if (!empty($givenip)) { tslink_log("=============================================================\n=================== " . date('d-m-Y H:i:s') . " =====================\n=============================================================\n", $forUser); tslink_log('Started on AdminCP by ' . $mybb->user['username'] . ' - IP address of user available (' . $givenip . ') - doing tslink_update_uids & tslink_update_groups', $forUser); $tslink_update_uids_results = tslink_update_uids($givenip); tslink_log($tslink_update_uids_results, $forUser); $message = $lang->tslink_status_changed; } // If there's no lastip of the user in the database - dont try to update the unique id's in the database if (empty($givenip)) { tslink_log("=============================================================\n=================== " . date('d-m-Y H:i:s') . " =====================\n=============================================================\n", $forUser); tslink_log('Started on AdminCP ' . $mybb->user['username'] . ' - IP address of user NOT available - only doing tslink_update_groups to update previously registered TS uids', $forUser); $tslink_update_groups_results = tslink_update_groups($mybb_uid); tslink_log($tslink_update_groups_results, $forUser); $message = $lang->tslink_status_changed; } admin_redirect('index.php?module=user-tslink'); } if (!$mybb->input['action'] || $mybb->input['action'] == 'conntest') { $page->output_header($lang->tslink); $sub_tabs['tslink'] = ['title' => $lang->tslink_tab_home, 'link' => 'index.php?module=user-tslink', 'description' => $lang->tslink_admin_tab_home_desc]; $sub_tabs['tslink-conntest'] = ['title' => $lang->tslink_admin_tsinfo_title, 'link' => 'index.php?module=user-tslink&action=conntest', 'description' => $lang->tslink_admin_tsinfo_desc]; } if ($mybb->input['action'] == 'conntest') { require __DIR__ . '/config.php'; $page->output_nav_tabs($sub_tabs, 'tslink-conntest'); //build a new ts3admin object $ts3 = new ts3admin($ts3_server, $ts3_query_port); if ($ts3->getElement('success', $ts3->connect())) { //login as serveradmin $ts3->login($ts3_username, $ts3_password); //select teamspeakserver $ts3->selectServer($ts3_server_port); // Set displayed name in TS to given $ts3->setName($ts3_nickname); $form = new Form('index.php?module=user-tslink&action=conntest', 'post'); $form_container = new FormContainer($lang->tslink_admin_tsinfo_full_title); $form_container->output_row($lang->tslink_admin_server_version, $ts3->version()['data']['version']); $form_container->output_row($lang->tslink_admin_server_platform, $ts3->version()['data']['platform']); $form_container->output_row($lang->tslink_admin_server_online_clients, $ts3->serverInfo()['data']['virtualserver_clientsonline'] . '/' . $ts3->serverInfo()['data']['virtualserver_maxclients']); $form_container->end(); $form->end(); } else { echo 'Connection could not be established.'; } /* * This code retuns all errors from the debugLog */ if (count($ts3->getDebugLog()) > 0) { foreach ($ts3->getDebugLog() as $logEntry) { echo '<script>alert("' . $logEntry . '");</script>'; } } $page->output_footer(); } if (!$mybb->input['action']) { $page->output_nav_tabs($sub_tabs, 'tslink'); $form = new Form('index.php?module=user-tslink', 'post'); $form_container = new FormContainer($lang->tslink_admin_table_heading_users); $form_container->output_row_header($lang->tslink_admin_row_username, ['class' => 'align_left', width => '50%']); $form_container->output_row_header($lang->tslink_admin_row_status, ['class' => 'align_center']); $form_container->output_row_header($lang->tslink_admin_row_options, ['class' => 'align_center']); $form_container->output_row_header($lang->tslink_admin_row_options, ['class' => 'align_center']); $query = $db->simple_select('users', 'uid, username, memberstatus', '', ['order_by' => 'username', 'order_dir' => 'ASC']); while ($users = $db->fetch_array($query)) { $form_container->output_cell("<div style=\"\"><strong>{$users['username']}</strong></div>"); if ($users['memberstatus'] == '0') { $form_container->output_cell('<div style=""><strong>Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=1\">{$lang->tslink_admin_row_changestatus1}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=2\">{$lang->tslink_admin_row_changestatus2}</a>", ['class' => 'align_center']); } elseif ($users['memberstatus'] == '1') { $form_container->output_cell('<div style=""><strong>Donating Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=0\">{$lang->tslink_admin_row_changestatus0}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=2\">{$lang->tslink_admin_row_changestatus2}</a>", ['class' => 'align_center']); } elseif ($users['memberstatus'] == '2') { $form_container->output_cell('<div style=""><strong>VIP Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=0\">{$lang->tslink_admin_row_changestatus0}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=1\">{$lang->tslink_admin_row_changestatus1}</a>", ['class' => 'align_center']); } $form_container->construct_row(); } $form_container->end(); $form->end(); $page->output_footer(); } } }
generate_tabs("list"); $form = new Form("index.php?module=" . MODULE . "&action=order", "post"); $form_container = new FormContainer($lang->announcement); $form_container->output_row_header($lang->announcement_simple, array("colspan" => 2)); $form_container->output_row_header($lang->order, array('class' => 'align_center')); $form_container->output_row_header($lang->announcement_location, array('class' => 'align_center')); $form_container->output_row_header($lang->controls, array("colspan" => 2, 'class' => 'align_center')); $query = $db->simple_select("announcement", "ID, Sort, Announcement, Global, Enabled", "", array("order_by" => "Sort")); if ($db->num_rows($query) > 0) { while ($announcement = $db->fetch_array($query)) { if ($announcement['Enabled']) { $icon = "<img src=\"styles/{$page->style}/images/icons/bullet_on.png\" alt=\"(Active)\" title=\"Active Announcement\" /> "; } else { $icon = "<img src=\"styles/{$page->style}/images/icons/bullet_off.png\" alt=\"(Inactive)\" title=\"Inactive Announcement\" /> "; } $form_container->output_cell("<a href=\"index.php?module=" . MODULE . "&action=enable&aid={$announcement['ID']}\">{$icon}</a>", array('width' => '2%')); $form_container->output_cell($announcement['Announcement']); $form_container->output_cell("<input type=\"text\" name=\"disporder[" . $announcement['ID'] . "]\" value=\"" . $announcement['Sort'] . "\" class=\"text_input align_center\" style=\"width: 80%; font-weight: bold;\" />", array('width' => '5%')); if ($announcement['Global']) { $form_container->output_cell($lang->yes, array('class' => 'align_center', 'width' => '5%')); } else { $form_container->output_cell($lang->no, array('class' => 'align_center', 'width' => '5%')); } $form_container->output_cell("<a href=\"index.php?module=" . MODULE . "&action=edit&aid={$announcement['ID']}\">{$lang->edit}</a>", array('class' => 'align_center', 'width' => '10%')); $form_container->output_cell("<a href=\"index.php?module=" . MODULE . "&action=delete&aid={$announcement['ID']}\">{$lang->delete}</a>", array('class' => 'align_center', 'width' => '10%')); $form_container->construct_row(); } } else { $form_container->output_cell($lang->announcement_no, array('class' => 'align_center', 'colspan' => 6)); $form_container->construct_row(); }