/** * @param array $user * @param array $view * @param DefaultTable $table */ function build_user_view_table($user, $view, &$table) { global $user_view_fields; foreach ($view['fields'] as $field) { if (!$user_view_fields[$field]) { continue; } $view_field = $user_view_fields[$field]; $field_options = array(); if ($view_field['align']) { $field_options['class'] = "align_" . $view_field['align']; } if ($user['view'][$field]) { $value = $user['view'][$field]; } else { $value = $user[$field]; } if ($field == "postnum") { $value = my_number_format($user[$field]); } $table->construct_cell($value, $field_options); } $table->construct_cell("<input type=\"checkbox\" class=\"checkbox\" name=\"inlinemod_{$user['uid']}\" id=\"inlinemod_{$user['uid']}\" value=\"1\" onclick=\"\$('#uid_{$user['uid']}').toggleClass('inline_selected');\" />"); $table->construct_row(); }
/** * @param DefaultTable $table * @param int $pid * @param int $depth */ function fetch_forum_announcements(&$table, $pid = 0, $depth = 1) { global $mybb, $db, $lang, $announcements, $page; static $forums_by_parent; if (!is_array($forums_by_parent)) { $forum_cache = cache_forums(); foreach ($forum_cache as $forum) { $forums_by_parent[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum; } } if (!is_array($forums_by_parent[$pid])) { return; } foreach ($forums_by_parent[$pid] as $children) { foreach ($children as $forum) { $forum['name'] = htmlspecialchars_uni($forum['name']); if ($forum['active'] == 0) { $forum['name'] = "<em>" . $forum['name'] . "</em>"; } if ($forum['type'] == "c") { $forum['name'] = "<strong>" . $forum['name'] . "</strong>"; } $table->construct_cell("<div style=\"padding-left: " . 40 * ($depth - 1) . "px;\">{$forum['name']}</div>"); $table->construct_cell("<a href=\"index.php?module=forum-announcements&action=add&fid={$forum['fid']}\">{$lang->add_announcement}</a>", array("class" => "align_center", "colspan" => 2)); $table->construct_row(); if (isset($announcements[$forum['fid']])) { foreach ($announcements[$forum['fid']] as $aid => $announcement) { if ($announcement['enddate'] < TIME_NOW && $announcement['enddate'] != 0) { $icon = "<img src=\"styles/{$page->style}/images/icons/bullet_off.png\" alt=\"(Expired)\" title=\"Expired Announcement\" style=\"vertical-align: middle;\" /> "; } else { $icon = "<img src=\"styles/{$page->style}/images/icons/bullet_on.png\" alt=\"(Active)\" title=\"Active Announcement\" style=\"vertical-align: middle;\" /> "; } $table->construct_cell("<div style=\"padding-left: " . 40 * $depth . "px;\">{$icon}<a href=\"index.php?module=forum-announcements&action=edit&aid={$aid}\">" . htmlspecialchars_uni($announcement['subject']) . "</a></div>"); $table->construct_cell("<a href=\"index.php?module=forum-announcements&action=edit&aid={$aid}\">{$lang->edit}</a>", array("class" => "align_center")); $table->construct_cell("<a href=\"index.php?module=forum-announcements&action=delete&aid={$aid}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_announcement_deletion}')\">{$lang->delete}</a>", array("class" => "align_center")); $table->construct_row(); } } // Build the list for any sub forums of this forum if (isset($forums_by_parent[$forum['fid']])) { fetch_forum_announcements($table, $forum['fid'], $depth + 1); } } } }
/** * @param array $attachment * @param DefaultTable $table * @param bool $use_form */ function build_attachment_row($attachment, &$table, $use_form = false) { global $mybb, $form, $lang; $attachment['filename'] = htmlspecialchars_uni($attachment['filename']); // Here we do a bit of detection, we want to automatically check for removal any missing attachments and any not assigned to a post uploaded > 24hours ago // Check if the attachment exists in the file system $checked = false; $title = $cell_class = ''; if (!file_exists(MYBB_ROOT . $mybb->settings['uploadspath'] . "/{$attachment['attachname']}")) { $cell_class = "bad_attachment"; $title = $lang->error_not_found; $checked = true; } elseif (!$attachment['pid'] && $attachment['dateuploaded'] < TIME_NOW - 60 * 60 * 24 && $attachment['dateuploaded'] != 0) { $cell_class = "bad_attachment"; $title = $lang->error_not_attached; $checked = true; } else { if (!$attachment['tid'] && $attachment['pid']) { $cell_class = "bad_attachment"; $title = $lang->error_does_not_exist; $checked = true; } else { if ($attachment['visible'] == 0) { $cell_class = "invisible_attachment"; } } } if ($cell_class) { $cell_class .= " align_center"; } else { $cell_class = "align_center"; } if ($use_form == true && is_object($form)) { $table->construct_cell($form->generate_check_box('aids[]', $attachment['aid'], '', array('checked' => $checked))); } $table->construct_cell(get_attachment_icon(get_extension($attachment['filename'])), array('width' => 1)); $table->construct_cell("<a href=\"../attachment.php?aid={$attachment['aid']}\" target=\"_blank\">{$attachment['filename']}</a>"); $table->construct_cell(get_friendly_size($attachment['filesize']), array('class' => $cell_class)); if ($attachment['user_username']) { $attachment['username'] = $attachment['username']; } $table->construct_cell(build_profile_link($attachment['username'], $attachment['uid'], "_blank"), array("class" => "align_center")); $table->construct_cell("<a href=\"../" . get_post_link($attachment['pid']) . "\" target=\"_blank\">" . htmlspecialchars_uni($attachment['subject']) . "</a>", array("class" => "align_center")); $table->construct_cell(my_number_format($attachment['downloads']), array("class" => "align_center")); if ($attachment['dateuploaded'] > 0) { $date = my_date('relative', $attachment['dateuploaded']); } else { $date = $lang->unknown; } $table->construct_cell($date, array("class" => "align_center")); $table->construct_row(); }