Vergleich admin/modules/config/plugins.php - 1.8.23 - 1.8.38

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 44Zeile 44
	$page->output_nav_tabs($sub_tabs, 'browse_plugins');

// Process search requests

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

// Process search requests

	require_once MYBB_ROOT."inc/class_xml.php";


 
	$keywords = "";

	$keywords = "";

	if($mybb->input['keywords'])

	if($mybb->get_input('keywords'))

	{
$keywords = "&keywords=".urlencode($mybb->input['keywords']);
}


	{
$keywords = "&keywords=".urlencode($mybb->input['keywords']);
}


	if($mybb->input['page'])

	if($mybb->get_input('page'))

	{
$url_page = "&page=".$mybb->get_input('page', MyBB::INPUT_INT);
}

	{
$url_page = "&page=".$mybb->get_input('page', MyBB::INPUT_INT);
}

Zeile 67Zeile 65
	// Convert to mods site version codes
$search_version = ($major_version_code/100).'x';


	// Convert to mods site version codes
$search_version = ($major_version_code/100).'x';


	$contents = fetch_remote_file("https://community.mybb.com/xmlbrowse.php?api=2&type=plugins&version={$search_version}{$keywords}{$url_page}", $post_data);

	$contents = fetch_remote_file("https://community.mybb.com/xmlbrowse.php?api=2&type=plugins&version={$search_version}{$keywords}{$url_page}");


if(!$contents)
{


if(!$contents)
{

Zeile 81Zeile 79
	$table->construct_header($lang->latest_version, array("class" => "align_center", 'width' => 125));
$table->construct_header($lang->controls, array("class" => "align_center", 'width' => 125));


	$table->construct_header($lang->latest_version, array("class" => "align_center", 'width' => 125));
$table->construct_header($lang->controls, array("class" => "align_center", 'width' => 125));


	$parser = new XMLParser($contents);

	$parser = create_xml_parser($contents);

	$tree = $parser->get_tree();

if(!is_array($tree) || !isset($tree['results']))

	$tree = $parser->get_tree();

if(!is_array($tree) || !isset($tree['results']))

Zeile 119Zeile 117
		}
}


		}
}


 
	$no_results = false;

	if($table->num_rows() == 0)
{
$table->construct_cell($lang->error_no_results_found, array("colspan" => 3));
$table->construct_row();

	if($table->num_rows() == 0)
{
$table->construct_cell($lang->error_no_results_found, array("colspan" => 3));
$table->construct_row();

 
		$no_results = true;

	}

$search = new Form("index.php?module=config-plugins&action=browse", 'post', 'search_form');
echo "<div style=\"padding-bottom: 3px; margin-top: -9px; text-align: right;\">";

	}

$search = new Form("index.php?module=config-plugins&amp;action=browse", 'post', 'search_form');
echo "<div style=\"padding-bottom: 3px; margin-top: -9px; text-align: right;\">";

	if($mybb->input['keywords'])

	if($mybb->get_input('keywords'))

	{
$default_class = '';
$value = htmlspecialchars_uni($mybb->input['keywords']);

	{
$default_class = '';
$value = htmlspecialchars_uni($mybb->input['keywords']);

Zeile 189Zeile 189
		$table->output("<span style=\"float: right;\"><small><a href=\"https://community.mybb.com/mods.php?action=browse&category=plugins\" target=\"_blank\" rel=\"noopener\">{$lang->browse_all_plugins}</a></small></span>".$lang->sprintf($lang->recommended_plugins_for_mybb, $mybb->version));
}


		$table->output("<span style=\"float: right;\"><small><a href=\"https://community.mybb.com/mods.php?action=browse&category=plugins\" target=\"_blank\" rel=\"noopener\">{$lang->browse_all_plugins}</a></small></span>".$lang->sprintf($lang->recommended_plugins_for_mybb, $mybb->version));
}


	echo "<br />".draw_admin_pagination($mybb->input['page'], 15, $tree['results']['attributes']['total'], "index.php?module=config-plugins&amp;action=browse{$keywords}&amp;page={page}");




	if(!$no_results)
{
echo "<br />".draw_admin_pagination($mybb->input['page'], 15, $tree['results']['attributes']['total'], "index.php?module=config-plugins&amp;action=browse{$keywords}&amp;page={page}");
}


$page->output_footer();
}


$page->output_footer();
}

Zeile 199Zeile 202
	$plugins_list = get_plugins_list();

$plugins->run_hooks("admin_config_plugins_check");

	$plugins_list = get_plugins_list();

$plugins->run_hooks("admin_config_plugins_check");





	$info = array();

if($plugins_list)

	$info = array();

if($plugins_list)

Zeile 215Zeile 218
				continue;
}
$plugininfo = $infofunc();

				continue;
}
$plugininfo = $infofunc();

			$plugininfo['guid'] = trim($plugininfo['guid']);
$plugininfo['codename'] = trim($plugininfo['codename']);

			$plugininfo['guid'] = isset($plugininfo['guid']) ? trim($plugininfo['guid']) : null;
$plugininfo['codename'] = isset($plugininfo['codename']) ? trim($plugininfo['codename']) : null;


if($plugininfo['codename'] != "")
{


if($plugininfo['codename'] != "")
{

Zeile 230Zeile 233
			}
}
$plugins->hooks = $active_hooks;

			}
}
$plugins->hooks = $active_hooks;

	}

	}


if(empty($info))
{


if(empty($info))
{

Zeile 240Zeile 243

$url = "https://community.mybb.com/version_check.php?";
$url .= http_build_query(array("info" => $info))."&";


$url = "https://community.mybb.com/version_check.php?";
$url .= http_build_query(array("info" => $info))."&";

	require_once MYBB_ROOT."inc/class_xml.php";

 
	$contents = fetch_remote_file($url);

if(!$contents)

	$contents = fetch_remote_file($url);

if(!$contents)

Zeile 251Zeile 253

$contents = trim($contents);



$contents = trim($contents);


	$parser = new XMLParser($contents);

	$parser = create_xml_parser($contents);

	$tree = $parser->get_tree();

if(!is_array($tree) || !isset($tree['plugins']))

	$tree = $parser->get_tree();

if(!is_array($tree) || !isset($tree['plugins']))

Zeile 304Zeile 306
		if(version_compare($names[$plugin['attributes'][$compare_by]]['version'], $plugin['version']['value'], "<"))
{
$plugin['download_url']['value'] = htmlspecialchars_uni($plugin['download_url']['value']);

		if(version_compare($names[$plugin['attributes'][$compare_by]]['version'], $plugin['version']['value'], "<"))
{
$plugin['download_url']['value'] = htmlspecialchars_uni($plugin['download_url']['value']);

			$plugin['vulnerable']['value'] = htmlspecialchars_uni($plugin['vulnerable']['value']);

 
			$plugin['version']['value'] = htmlspecialchars_uni($plugin['version']['value']);


			$plugin['version']['value'] = htmlspecialchars_uni($plugin['version']['value']);


			if($is_vulnerable)
{






			if(isset($plugin['vulnerable']['value']))
{
$plugin['vulnerable']['value'] = htmlspecialchars_uni($plugin['vulnerable']['value']);
}

if($is_vulnerable)
{

				$table->construct_cell("<div class=\"error\" id=\"flash_message\">
{$lang->error_vcheck_vulnerable} {$names[$plugin['attributes'][$compare_by]]['name']}
</div>
<p> <b>{$lang->error_vcheck_vulnerable_notes}</b> <br /><br /> {$plugin['vulnerable']['value']}</p>");

				$table->construct_cell("<div class=\"error\" id=\"flash_message\">
{$lang->error_vcheck_vulnerable} {$names[$plugin['attributes'][$compare_by]]['name']}
</div>
<p> <b>{$lang->error_vcheck_vulnerable_notes}</b> <br /><br /> {$plugin['vulnerable']['value']}</p>");

			}

			}

			else
{
$table->construct_cell("<strong>{$names[$plugin['attributes'][$compare_by]]['name']}</strong>");

			else
{
$table->construct_cell("<strong>{$names[$plugin['attributes'][$compare_by]]['name']}</strong>");

			}

			}

			$table->construct_cell("{$names[$plugin['attributes'][$compare_by]]['version']}", array("class" => "align_center"));
$table->construct_cell("<strong><span style=\"color: #C00\">{$plugin['version']['value']}</span></strong>", array("class" => "align_center"));
if($is_vulnerable)

			$table->construct_cell("{$names[$plugin['attributes'][$compare_by]]['version']}", array("class" => "align_center"));
$table->construct_cell("<strong><span style=\"color: #C00\">{$plugin['version']['value']}</span></strong>", array("class" => "align_center"));
if($is_vulnerable)

Zeile 330Zeile 336
			}
$table->construct_row();
}

			}
$table->construct_row();
}

	}


	}


	if($table->num_rows() == 0)
{
flash_message($lang->success_plugins_up_to_date, 'success');

	if($table->num_rows() == 0)
{
flash_message($lang->success_plugins_up_to_date, 'success');

Zeile 342Zeile 348

$page->output_header($lang->plugin_updates);



$page->output_header($lang->plugin_updates);


	$sub_tabs['plugins'] = array(
'title' => $lang->plugins,
'link' => "index.php?module=config-plugins",
);

$sub_tabs['update_plugins'] = array(
'title' => $lang->plugin_updates,
'link' => "index.php?module=config-plugins&amp;action=check",
'description' => $lang->plugin_updates_desc
);


	$sub_tabs['plugins'] = array(
'title' => $lang->plugins,
'link' => "index.php?module=config-plugins",
);

$sub_tabs['update_plugins'] = array(
'title' => $lang->plugin_updates,
'link' => "index.php?module=config-plugins&amp;action=check",
'description' => $lang->plugin_updates_desc
);


	$sub_tabs['browse_plugins'] = array(
'title' => $lang->browse_plugins,
'link' => "index.php?module=config-plugins&amp;action=browse",

	$sub_tabs['browse_plugins'] = array(
'title' => $lang->browse_plugins,
'link' => "index.php?module=config-plugins&amp;action=browse",

Zeile 360Zeile 366
	);

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

	);

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





	$table->output($lang->plugin_updates);

$page->output_footer();

	$table->output($lang->plugin_updates);

$page->output_footer();

Zeile 369Zeile 375
// Activates or deactivates a specific plugin
if($mybb->input['action'] == "activate" || $mybb->input['action'] == "deactivate")
{

// Activates or deactivates a specific plugin
if($mybb->input['action'] == "activate" || $mybb->input['action'] == "deactivate")
{

	if(!verify_post_check($mybb->input['my_post_key']))

	if(!verify_post_check($mybb->get_input('my_post_key')))

	{
flash_message($lang->invalid_post_verify_key2, 'error');

	{
flash_message($lang->invalid_post_verify_key2, 'error');

		admin_redirect("index.php?module=config-plugins");
}

if($mybb->input['action'] == "activate")
{

		admin_redirect("index.php?module=config-plugins");
}

if($mybb->input['action'] == "activate")
{

		$plugins->run_hooks("admin_config_plugins_activate");
}
else
{
$plugins->run_hooks("admin_config_plugins_deactivate");

		$plugins->run_hooks("admin_config_plugins_activate");
}
else
{
$plugins->run_hooks("admin_config_plugins_deactivate");

	}


	}


	$codename = $mybb->input['plugin'];
$codename = str_replace(array(".", "/", "\\"), "", $codename);
$file = basename($codename.".php");

// Check if the file exists and throw an error if it doesn't
if(!file_exists(MYBB_ROOT."inc/plugins/$file"))

	$codename = $mybb->input['plugin'];
$codename = str_replace(array(".", "/", "\\"), "", $codename);
$file = basename($codename.".php");

// Check if the file exists and throw an error if it doesn't
if(!file_exists(MYBB_ROOT."inc/plugins/$file"))

	{

	{

		flash_message($lang->error_invalid_plugin, 'error');
admin_redirect("index.php?module=config-plugins");
}

$plugins_cache = $cache->read("plugins");

		flash_message($lang->error_invalid_plugin, 'error');
admin_redirect("index.php?module=config-plugins");
}

$plugins_cache = $cache->read("plugins");

	$active_plugins = $plugins_cache['active'];

	$active_plugins = isset($plugins_cache['active']) ? $plugins_cache['active'] : array();


require_once MYBB_ROOT."inc/plugins/$file";



require_once MYBB_ROOT."inc/plugins/$file";


Zeile 412Zeile 418
	if($mybb->input['action'] == "activate")
{
$message = $lang->success_plugin_activated;

	if($mybb->input['action'] == "activate")
{
$message = $lang->success_plugin_activated;





		// Plugin is compatible with this version?
if($plugins->is_compatible($codename) == false)
{

		// Plugin is compatible with this version?
if($plugins->is_compatible($codename) == false)
{

Zeile 445Zeile 451
			call_user_func("{$codename}_deactivate");
}


			call_user_func("{$codename}_deactivate");
}


		if($mybb->input['uninstall'] == 1 && function_exists("{$codename}_uninstall"))

		if($mybb->get_input('uninstall') == 1 && function_exists("{$codename}_uninstall"))

		{
call_user_func("{$codename}_uninstall");
$message = $lang->success_plugin_uninstalled;

		{
call_user_func("{$codename}_uninstall");
$message = $lang->success_plugin_uninstalled;

Zeile 501Zeile 507
	// Let's make things easier for our user - show them active
// and inactive plugins in different lists
$plugins_cache = $cache->read("plugins");

	// Let's make things easier for our user - show them active
// and inactive plugins in different lists
$plugins_cache = $cache->read("plugins");

	$active_plugins = $plugins_cache['active'];





	$active_plugins = array();
if(!empty($plugins_cache['active']))
{
$active_plugins = $plugins_cache['active'];
}


$plugins_list = get_plugins_list();



$plugins_list = get_plugins_list();


Zeile 520Zeile 530
			if(!function_exists($infofunc))
{
continue;

			if(!function_exists($infofunc))
{
continue;

			}


			}


			$plugininfo = $infofunc();
$plugininfo['codename'] = $codename;

			$plugininfo = $infofunc();
$plugininfo['codename'] = $codename;


if($active_plugins[$codename])
{


if(isset($active_plugins[$codename]))
{

				// This is an active plugin
$plugininfo['is_active'] = 1;

$a_plugins[] = $plugininfo;

				// This is an active plugin
$plugininfo['is_active'] = 1;

$a_plugins[] = $plugininfo;

				continue;

 
			}

			}


// Either installed and not active or completely inactive
$i_plugins[] = $plugininfo;




			else
{
// Either installed and not active or completely inactive
$plugininfo['is_active'] = 0;
$i_plugins[] = $plugininfo;
}

		}

$table = new Table;

		}

$table = new Table;

Zeile 619Zeile 631

foreach($plugin_list as $plugininfo)
{


foreach($plugin_list as $plugininfo)
{

		if($plugininfo['website'])

		if(!empty($plugininfo['website']))

		{
$plugininfo['name'] = "<a href=\"".$plugininfo['website']."\">".$plugininfo['name']."</a>";
}


		{
$plugininfo['name'] = "<a href=\"".$plugininfo['website']."\">".$plugininfo['name']."</a>";
}


		if($plugininfo['authorsite'])

		if(!empty($plugininfo['authorsite']))

		{
$plugininfo['author'] = "<a href=\"".$plugininfo['authorsite']."\">".$plugininfo['author']."</a>";
}

		{
$plugininfo['author'] = "<a href=\"".$plugininfo['authorsite']."\">".$plugininfo['author']."</a>";
}