Vergleich admin/modules/forum/attachments.php - 1.8.12 - 1.8.18

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 229Zeile 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 248Zeile 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 271Zeile 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 287Zeile 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 321Zeile 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 340Zeile 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 364Zeile 364
		$form = new Form("index.php?module=forum-attachments&amp;action=delete_orphans", "post");

$table = new Table;

		$form = new Form("index.php?module=forum-attachments&amp;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 445Zeile 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 456Zeile 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 492Zeile 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 649Zeile 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 799Zeile 825
			$form = new Form("index.php?module=forum-attachments&amp;action=delete", "post");

$table = new Table;

			$form = new Form("index.php?module=forum-attachments&amp;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 868Zeile 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,