Vergleich admin/modules/forum/attachments.php - 1.8.8 - 1.8.23

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 223Zeile 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 263Zeile 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 305Zeile 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 343Zeile 362
		$page->output_nav_tabs($sub_tabs, 'find_orphans');

$form = new Form("index.php?module=forum-attachments&amp;action=delete_orphans", "post");

		$page->output_nav_tabs($sub_tabs, 'find_orphans');

$form = new Form("index.php?module=forum-attachments&amp;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 355Zeile 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 478Zeile 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 596Zeile 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 612Zeile 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 622Zeile 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 638Zeile 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 780Zeile 830
			$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 808Zeile 858
			if($num_results > $mybb->input['perpage'])
{
$pagination_url = "index.php?module=forum-attachments&amp;results=1";

			if($num_results > $mybb->input['perpage'])
{
$pagination_url = "index.php?module=forum-attachments&amp;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 849Zeile 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,