Zeile 223 | Zeile 223 |
---|
if($mybb->input['action'] == "delete_orphans" && $mybb->request_method == "post") { $plugins->run_hooks("admin_forum_attachments_delete_orphans");
|
if($mybb->input['action'] == "delete_orphans" && $mybb->request_method == "post") { $plugins->run_hooks("admin_forum_attachments_delete_orphans");
|
| $success_count = $error_count = 0;
|
// Deleting specific attachments from uploads directory if(is_array($mybb->input['orphaned_files']))
|
// Deleting specific attachments from uploads directory if(is_array($mybb->input['orphaned_files']))
|
{ /** * @param string $string * * @return string */ function clean_filename($string) { return str_replace(array(".."), "", $string); } $mybb->input['orphaned_files'] = array_map("clean_filename", $mybb->input['orphaned_files']); foreach($mybb->input['orphaned_files'] as $file) {
| { foreach($mybb->input['orphaned_files'] as $file) { $file = str_replace('..', '', $file); $path = MYBB_ROOT.$mybb->settings['uploadspath']."/".$file; $real_path = realpath($path);
if($real_path === false || strpos(str_replace('\\', '/', $real_path), str_replace('\\', '/', realpath(MYBB_ROOT)).'/') !== 0 || $real_path == realpath(MYBB_ROOT.'install/lock')) { $error_count++; continue; }
|
if(!@unlink(MYBB_ROOT.$mybb->settings['uploadspath']."/".$file)) {
|
if(!@unlink(MYBB_ROOT.$mybb->settings['uploadspath']."/".$file)) {
|
$error = true;
| $error_count++; } else { $success_count++;
|
} } }
// Deleting physical attachments which exist in database if(is_array($mybb->input['orphaned_attachments']))
|
} } }
// Deleting physical attachments which exist in database if(is_array($mybb->input['orphaned_attachments']))
|
{
| {
|
$mybb->input['orphaned_attachments'] = array_map("intval", $mybb->input['orphaned_attachments']); require_once MYBB_ROOT."inc/functions_upload.php";
| $mybb->input['orphaned_attachments'] = array_map("intval", $mybb->input['orphaned_attachments']); require_once MYBB_ROOT."inc/functions_upload.php";
|
Zeile 263 | Zeile 269 |
---|
{ remove_attachment($attachment['pid'], null, $attachment['aid']); }
|
{ remove_attachment($attachment['pid'], null, $attachment['aid']); }
|
} }
$plugins->run_hooks("admin_forum_attachments_delete_orphans_commit");
| $success_count++; } }
$plugins->run_hooks("admin_forum_attachments_delete_orphans_commit");
|
// Log admin action log_admin_action();
|
// Log admin action log_admin_action();
|
if($error == true) { flash_message($lang->error_not_all_removed, 'error'); } else
| $message = ''; $status = 'success'; if($error_count > 0)
|
{
|
{
|
flash_message($lang->success_orphan_deleted, 'success');
| $status = 'error'; $message = $lang->sprintf($lang->error_count, $error_count);
|
}
|
}
|
admin_redirect("index.php?module=forum-attachments");
| if($success_count > 0) { if($error_count > 0) { $message .= '<br />'.$lang->sprintf($lang->success_count, $success_count); } else { $message = $lang->success_orphan_deleted; } } flash_message($message, $status); admin_redirect('index.php?module=forum-attachments');
|
}
if($mybb->input['action'] == "orphans")
| }
if($mybb->input['action'] == "orphans")
|
Zeile 305 | Zeile 324 |
---|
{ $bad_attachments = my_unserialize($mybb->input['bad_attachments']); $results = count($bad_attachments);
|
{ $bad_attachments = my_unserialize($mybb->input['bad_attachments']); $results = count($bad_attachments);
|
}
| }
|
$aids = array(); if($mybb->input['missing_attachment_files']) { $missing_attachment_files = my_unserialize($mybb->input['missing_attachment_files']); $aids = array_merge($aids, $missing_attachment_files);
|
$aids = array(); if($mybb->input['missing_attachment_files']) { $missing_attachment_files = my_unserialize($mybb->input['missing_attachment_files']); $aids = array_merge($aids, $missing_attachment_files);
|
}
| }
|
if($mybb->input['missing_threads']) { $missing_threads = my_unserialize($mybb->input['missing_threads']); $aids = array_merge($aids, $missing_threads);
|
if($mybb->input['missing_threads']) { $missing_threads = my_unserialize($mybb->input['missing_threads']); $aids = array_merge($aids, $missing_threads);
|
}
| }
|
if($mybb->input['incomplete_attachments']) { $incomplete_attachments = my_unserialize($mybb->input['incomplete_attachments']); $aids = array_merge($aids, $incomplete_attachments);
|
if($mybb->input['incomplete_attachments']) { $incomplete_attachments = my_unserialize($mybb->input['incomplete_attachments']); $aids = array_merge($aids, $incomplete_attachments);
|
}
| }
|
foreach($aids as $key => $aid) { $aids[$key] = (int)$aid;
|
foreach($aids as $key => $aid) { $aids[$key] = (int)$aid;
|
}
| }
|
$results += count($aids);
if($results == 0)
| $results += count($aids);
if($results == 0)
|
Zeile 343 | Zeile 362 |
---|
$page->output_nav_tabs($sub_tabs, 'find_orphans');
$form = new Form("index.php?module=forum-attachments&action=delete_orphans", "post");
|
$page->output_nav_tabs($sub_tabs, 'find_orphans');
$form = new Form("index.php?module=forum-attachments&action=delete_orphans", "post");
|
|
|
$table = new Table;
|
$table = new Table;
|
$table->construct_header($form->generate_check_box('checkall', '1', '', array('class' => 'checkall')), array( 'width' => 1));
| $table->construct_header($form->generate_check_box('allbox', '1', '', array('class' => 'checkall')), array( 'width' => 1));
|
$table->construct_header($lang->size_attachments, array('colspan' => 2)); $table->construct_header($lang->reason_orphaned, array('width' => '20%', 'class' => 'align_center')); $table->construct_header($lang->date_uploaded, array("class" => "align_center"));
| $table->construct_header($lang->size_attachments, array('colspan' => 2)); $table->construct_header($lang->reason_orphaned, array('width' => '20%', 'class' => 'align_center')); $table->construct_header($lang->date_uploaded, array("class" => "align_center"));
|
Zeile 355 | Zeile 374 |
---|
foreach($bad_attachments as $file) { $file_path = MYBB_ROOT.$mybb->settings['uploadspath']."/".$file;
|
foreach($bad_attachments as $file) { $file_path = MYBB_ROOT.$mybb->settings['uploadspath']."/".$file;
|
$filesize = get_friendly_size(filesize($file_path)); $table->construct_cell($form->generate_check_box('orphaned_files[]', $file, '', array('checked' => true))); $table->construct_cell(get_attachment_icon(get_extension($attachment['filename'])), array('width' => 1)); $table->construct_cell("<span class=\"float_right\">{$filesize}</span>{$file}"); $table->construct_cell($lang->reason_not_in_table, array('class' => 'align_center')); $table->construct_cell(my_date('relative', filemtime($file_path)), array('class' => 'align_center')); $table->construct_row();
| if(file_exists($file_path)) { $filename = htmlspecialchars_uni($file); $filesize = get_friendly_size(filesize($file_path)); $table->construct_cell($form->generate_check_box('orphaned_files[]', $file, '', array('checked' => true))); $table->construct_cell(get_attachment_icon(get_extension($attachment['filename'])), array('width' => 1)); $table->construct_cell("<span class=\"float_right\">{$filesize}</span>{$filename}"); $table->construct_cell($lang->reason_not_in_table, array('class' => 'align_center')); $table->construct_cell(my_date('relative', filemtime($file_path)), array('class' => 'align_center')); $table->construct_row(); }
|
} }
| } }
|
Zeile 478 | Zeile 502 |
---|
echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() {
|
echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() {
|
$(\"#redirect_form\").submit();
| $(\"#redirect_form\").trigger('submit');
|
}, 100 ); });</script>";
| }, 100 ); });</script>";
|
Zeile 596 | Zeile 620 |
---|
{ $bad_attachments = my_serialize($bad_attachments); echo $form->generate_hidden_field("bad_attachments", $bad_attachments);
|
{ $bad_attachments = my_serialize($bad_attachments); echo $form->generate_hidden_field("bad_attachments", $bad_attachments);
|
}
| }
|
$form->end(); echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() {
|
$form->end(); echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() {
|
$(\"#redirect_form\").submit();
| $(\"#redirect_form\").trigger('submit');
|
}, 100 ); });</script>";
| }, 100 ); });</script>";
|
Zeile 612 | Zeile 636 |
---|
if(!$mybb->input['action']) { $plugins->run_hooks("admin_forum_attachments_start");
|
if(!$mybb->input['action']) { $plugins->run_hooks("admin_forum_attachments_start");
|
|
|
if($mybb->request_method == "post" || $mybb->input['results'] == 1) { $search_sql = '1=1';
| if($mybb->request_method == "post" || $mybb->input['results'] == 1) { $search_sql = '1=1';
|
Zeile 622 | Zeile 646 |
---|
// List of valid LIKE search fields $user_like_fields = array("filename", "filetype"); foreach($user_like_fields as $search_field)
|
// List of valid LIKE search fields $user_like_fields = array("filename", "filetype"); foreach($user_like_fields as $search_field)
|
{
| {
|
if($mybb->input[$search_field]) { $search_sql .= " AND a.{$search_field} LIKE '%".$db->escape_string_like($mybb->input[$search_field])."%'"; }
|
if($mybb->input[$search_field]) { $search_sql .= " AND a.{$search_field} LIKE '%".$db->escape_string_like($mybb->input[$search_field])."%'"; }
|
}
| }
|
$errors = array();
|
$errors = array();
|
| // Normal users only if($mybb->get_input('user_types', MyBB::INPUT_INT) == 1) { $user_types = 1; } // Guests only elseif($mybb->get_input('user_types', MyBB::INPUT_INT) == -1) { $user_types = -1; $search_sql .= " AND a.uid='0'"; } // Users & Guests else { $user_types = 0; }
|
// Username matching if($mybb->input['username'])
| // Username matching if($mybb->input['username'])
|
Zeile 638 | Zeile 679 |
---|
if(!$user['uid']) {
|
if(!$user['uid']) {
|
$errors[] = $lang->error_invalid_username;
| if($user_types == 1) { $errors[] = $lang->error_invalid_username; } else { // Don't error if we are searching for guests or users & guests $search_sql .= " AND p.username LIKE '%".$db->escape_string_like($mybb->input['username'])."%'"; }
|
} else {
| } else {
|
Zeile 780 | Zeile 830 |
---|
$form = new Form("index.php?module=forum-attachments&action=delete", "post");
$table = new Table;
|
$form = new Form("index.php?module=forum-attachments&action=delete", "post");
$table = new Table;
|
$table->construct_header($form->generate_check_box('checkall', '1', '', array('class' => 'checkall')), array( 'width' => 1));
| $table->construct_header($form->generate_check_box('allbox', '1', '', array('class' => 'checkall')), array( 'width' => 1));
|
$table->construct_header($lang->attachments, array('colspan' => 2)); $table->construct_header($lang->size, array('width' => '10%', 'class' => 'align_center')); $table->construct_header($lang->posted_by, array('width' => '20%', 'class' => 'align_center'));
| $table->construct_header($lang->attachments, array('colspan' => 2)); $table->construct_header($lang->size, array('width' => '10%', 'class' => 'align_center')); $table->construct_header($lang->posted_by, array('width' => '20%', 'class' => 'align_center'));
|
Zeile 808 | Zeile 858 |
---|
if($num_results > $mybb->input['perpage']) { $pagination_url = "index.php?module=forum-attachments&results=1";
|
if($num_results > $mybb->input['perpage']) { $pagination_url = "index.php?module=forum-attachments&results=1";
|
$pagination_vars = array('perpage', 'sortby', 'order', 'filename', 'mimetype', 'username', 'fid', 'downloads', 'downloads_dir', 'dateuploaded', 'dateuploaded_dir', 'filesize', 'filesize_dir');
| $pagination_vars = array('perpage', 'sortby', 'order', 'filename', 'mimetype', 'username', 'downloads', 'downloads_dir', 'dateuploaded', 'dateuploaded_dir', 'filesize', 'filesize_dir');
|
foreach($pagination_vars as $var) { if($mybb->input[$var]) { $pagination_url .= "&{$var}=".urlencode($mybb->input[$var]);
|
foreach($pagination_vars as $var) { if($mybb->input[$var]) { $pagination_url .= "&{$var}=".urlencode($mybb->input[$var]);
|
| } } if(is_array($mybb->input['forum']) && !empty($mybb->input['forum'])) { foreach($mybb->input['forum'] as $fid) { $pagination_url .= "&forum[]=".(int)$fid;
|
} } $pagination = draw_admin_pagination($mybb->input['page'], $mybb->input['perpage'], $num_results, $pagination_url);
| } } $pagination = draw_admin_pagination($mybb->input['page'], $mybb->input['perpage'], $num_results, $pagination_url);
|
Zeile 849 | Zeile 906 |
---|
$form_container->output_row($lang->type_contains, "", $form->generate_text_box('mimetype', $mybb->input['mimetype'], array('id' => 'mimetype')), 'mimetype'); $form_container->output_row($lang->forum_is, "", $form->generate_forum_select('forum[]', $mybb->input['forum'], array('multiple' => true, 'size' => 5, 'id' => 'forum')), 'forum'); $form_container->output_row($lang->username_is, "", $form->generate_text_box('username', htmlspecialchars_uni($mybb->get_input('username')), array('id' => 'username')), 'username');
|
$form_container->output_row($lang->type_contains, "", $form->generate_text_box('mimetype', $mybb->input['mimetype'], array('id' => 'mimetype')), 'mimetype'); $form_container->output_row($lang->forum_is, "", $form->generate_forum_select('forum[]', $mybb->input['forum'], array('multiple' => true, 'size' => 5, 'id' => 'forum')), 'forum'); $form_container->output_row($lang->username_is, "", $form->generate_text_box('username', htmlspecialchars_uni($mybb->get_input('username')), array('id' => 'username')), 'username');
|
| $form_container->output_row($lang->poster_is, "", $form->generate_select_box('user_types', array('0' => $lang->poster_is_either, '1' => $lang->poster_is_user, '-1' => $lang->poster_is_guest), $mybb->get_input('user_types', MyBB::INPUT_INT), array('id' => 'guests')), 'user_types');
|
$more_options = array( "less_than" => $lang->more_than,
| $more_options = array( "less_than" => $lang->more_than,
|