Zeile 229 | Zeile 229 |
---|
// 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)) { $error_count++;
| if(!@unlink(MYBB_ROOT.$mybb->settings['uploadspath']."/".$file)) { $error_count++;
|
Zeile 248 | Zeile 248 |
---|
else { $success_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 271 | Zeile 271 |
---|
} $success_count++; }
|
} $success_count++; }
|
}
$plugins->run_hooks("admin_forum_attachments_delete_orphans_commit");
| }
$plugins->run_hooks("admin_forum_attachments_delete_orphans_commit");
|
// Log admin action log_admin_action();
| // Log admin action log_admin_action();
|
Zeile 287 | Zeile 287 |
---|
}
if($success_count > 0)
|
}
if($success_count > 0)
|
{
| {
|
if($error_count > 0) { $message .= '<br />'.$lang->sprintf($lang->success_count, $success_count);
| if($error_count > 0) { $message .= '<br />'.$lang->sprintf($lang->success_count, $success_count);
|
Zeile 321 | Zeile 321 |
---|
$reults = 0; // Incoming attachments which exist as files but not in database if($mybb->input['bad_attachments'])
|
$reults = 0; // Incoming attachments which exist as files but not in database if($mybb->input['bad_attachments'])
|
{
| {
|
$bad_attachments = my_unserialize($mybb->input['bad_attachments']); $results = count($bad_attachments); }
| $bad_attachments = my_unserialize($mybb->input['bad_attachments']); $results = count($bad_attachments); }
|
Zeile 340 | Zeile 340 |
---|
}
if($mybb->input['incomplete_attachments'])
|
}
if($mybb->input['incomplete_attachments'])
|
{
| {
|
$incomplete_attachments = my_unserialize($mybb->input['incomplete_attachments']); $aids = array_merge($aids, $incomplete_attachments); }
| $incomplete_attachments = my_unserialize($mybb->input['incomplete_attachments']); $aids = array_merge($aids, $incomplete_attachments); }
|
Zeile 364 | Zeile 364 |
---|
$form = new Form("index.php?module=forum-attachments&action=delete_orphans", "post");
$table = new Table;
|
$form = new Form("index.php?module=forum-attachments&action=delete_orphans", "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->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 445 | Zeile 445 |
---|
$missing_attachment_files = array(); $missing_threads = array();
|
$missing_attachment_files = array(); $missing_threads = array();
|
$incomplete_attachments = array();
| $incomplete_attachments = array();
|
$query = $db->query(" SELECT a.*, a.pid AS attachment_pid, p.pid FROM ".TABLE_PREFIX."attachments a
| $query = $db->query(" SELECT a.*, a.pid AS attachment_pid, p.pid FROM ".TABLE_PREFIX."attachments a
|
Zeile 456 | Zeile 456 |
---|
{ // Check if the attachment exists in the file system if(!file_exists(MYBB_ROOT.$mybb->settings['uploadspath']."/{$attachment['attachname']}"))
|
{ // Check if the attachment exists in the file system if(!file_exists(MYBB_ROOT.$mybb->settings['uploadspath']."/{$attachment['attachname']}"))
|
{
| {
|
$missing_attachment_files[$attachment['aid']] = $attachment['aid']; } // Check if the thread/post for this attachment is missing
| $missing_attachment_files[$attachment['aid']] = $attachment['aid']; } // Check if the thread/post for this attachment is missing
|
Zeile 492 | Zeile 492 |
---|
{ $incomplete_attachments = my_serialize($incomplete_attachments); echo $form->generate_hidden_field("incomplete_attachments", $incomplete_attachments);
|
{ $incomplete_attachments = my_serialize($incomplete_attachments); echo $form->generate_hidden_field("incomplete_attachments", $incomplete_attachments);
|
} $form->end(); echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() { $(\"#redirect_form\").submit(); }, 100 );
| } $form->end(); echo "<script type=\"text/javascript\">$(function() { window.setTimeout( function() { $(\"#redirect_form\").submit(); }, 100 );
|
});</script>"; exit; }
| });</script>"; exit; }
|
Zeile 649 | Zeile 649 |
---|
}
$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']) { $user = get_user_by_username($mybb->input['username']);
|
// Username matching if($mybb->input['username']) { $user = get_user_by_username($mybb->input['username']);
|
|
|
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 799 | Zeile 825 |
---|
$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 868 | Zeile 894 |
---|
$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,
|