<?php
/**
 * Elgg plugin manifest class
 *
 * This file renders a plugin for the admin screen, including active/deactive, manifest details & display plugin
 * settings.
 *
 * @package Elgg
 * @subpackage Core
 * @author Curverider Ltd
 * @link http://elgg.org/
 */

$plugin = $vars['plugin'];
$details = $vars['details'];

$active = $details['active'];
$manifest = $details['manifest'];

$plugin_pretty_name = (isset($manifest['name'])) ? $manifest['name'] : $plugin;

// Check elgg version if available
$version_check_valid = false;
if ($manifest['elgg_version']) {
	$version_check_valid = check_plugin_compatibility($manifest['elgg_version']);
}

$ts = time();
$token = generate_action_token($ts);
$active_class = ($active) ? 'active' : 'not_active';

$top_url = $up_url = $down_url = $bottom_url = '';
if ($vars['order'] > 10) {
	$top_url = "{$vars['url']}action/admin/plugins/reorder?plugin={$plugin}&order=1&__elgg_token=$token&__elgg_ts=$ts";
	$top_link = '<a href="' . elgg_format_url($top_url) . '">' . elgg_echo('top') . '</a>';

	$order = $vars['order'] - 11;

	$up_url = "{$vars['url']}action/admin/plugins/reorder?plugin={$plugin}&order=$order&__elgg_token=$token&__elgg_ts=$ts";
	$up_link = '<a href="' . elgg_format_url($up_url) . '">' . elgg_echo('up') . '</a>';
}

if ($vars['order'] < $vars['maxorder']) {
	$order =  $vars['order'] + 11;
	$down_url = "{$vars['url']}action/admin/plugins/reorder?plugin={$plugin}&order=$order&__elgg_token=$token&__elgg_ts=$ts";
	$down_link = '<a href="' . elgg_format_url($down_url) . '">' . elgg_echo('down') . '</a>';

	$order = $vars['maxorder'] + 11;
	$bottom_url = "{$vars['url']}action/admin/plugins/reorder?plugin={$plugin}&order=$order&__elgg_token=$token&__elgg_ts=$ts";
	$bottom_link = '<a href="' . elgg_format_url($bottom_url) . '">' . elgg_echo('bottom') . '</a>';
}

if ($active) {
	$url = "{$vars['url']}action/admin/plugins/disable?plugin=$plugin&__elgg_token=$token&__elgg_ts=$ts";
	$enable_disable = '<a class="cancel_button" href="' . elgg_format_url($url) . '">' . elgg_echo('disable') . '</a>';
} else {
	$url = "{$vars['url']}action/admin/plugins/enable?plugin=$plugin&__elgg_token=$token&__elgg_ts=$ts";
	$enable_disable = '<a class="submit_button" href="' . elgg_format_url($url) . '">' . elgg_echo('enable') . '</a>';
}


$categories_list = '';
if ($manifest['category']) {
	$categories_arr = array();
	$base_url = "{$vars['url']}pg/admin/plugins?category=";

	foreach($manifest['category'] as $category) {
		$url = $base_url . urlencode($category);
		$categories_arr[] = "<a href=\"$url\">" . htmlspecialchars($category) . '</a>';
	}

	$categories_list = implode(', ', $categories_arr);
}

$screenshots = '';
if ($manifest['screenshot']) {
	$base_url = "{$vars['url']}mod/";

	$limit = 4;
	foreach ($manifest['screenshot'] as $screenshot) {
		if ($limit <= 0) {
			break;
		}

		$screenshot_src = $base_url . $plugin . "/$screenshot";
		$screenshots .= "<li class=\"plugin_screenshot\"><a href=\"$screenshot_src\"><img src=\"$screenshot_src\"></a></li>";

		$limit--;
	}
}

?>

<div class="plugin_details <?php echo $active_class ?>">
	<div class="admin_plugin_reorder">
	<?php echo "$top_link $up_link $down_link $bottom_link"; ?>
	</div><div class="clearfloat"></div>

	<div class="admin_plugin_enable_disable"><?php echo $enable_disable; ?></div>

	<?php
	if (elgg_view_exists("settings/{$plugin}/edit")) {
		$link = "{$vars['url']}pg/admin/plugin_settings/$plugin";
		$settings_link = "<a class='plugin_settings small link' href='$link'>[". elgg_echo('settings') ."]</a>";
	}
	?>
	<h3><?php echo "$plugin_pretty_name $settings_link"; ?></h3>
	<?php
	echo $settings_panel;

	if ($manifest) {
		?>
		<div class="plugin_description"><?php echo elgg_view('output/longtext',array('value' => $manifest['description'])); ?></div>
		<div><span class="plugin_label"><?php echo elgg_echo('admin:plugins:label:author') . "</span>: ". htmlspecialchars($manifest['author']) ?></div>
		<div><span class="plugin_label"><?php echo elgg_echo('admin:plugins:label:version') . "</span>: ". htmlspecialchars($manifest['version']) ?></div>

		<p><a class="manifest_details small link"><?php echo elgg_echo("admin:plugins:label:moreinfo"); ?></a></p>

		<div class="manifest_file hidden">

		<?php
		if ((!$version_check_valid) || (!isset($manifest['elgg_version']))) {
			?>
			<div id="version_check">
				<?php
					if (!isset($manifest['elgg_version'])) {
						echo elgg_echo('admin:plugins:warning:elggversionunknown');
					} else {
						echo elgg_echo('admin:plugins:warning:elggtoolow');
					}
				?>
			</div>
			<?php
		}

		?>
		<div><?php echo elgg_echo('admin:plugins:label:directory') . ": ". htmlspecialchars($plugin) ?></div>
		<?php
		if ($categories_list) {
			?>
			<div><?php echo elgg_echo('admin:plugins:label:categories') . ": ". $categories_list ?></div>
			<?php
		}
		if ($screenshots) {
			?>
			<div><ul><?php echo $screenshots; ?></ul></div>
			<?php
		}
		?>
		<div><?php echo elgg_echo('admin:plugins:label:copyright') . ": ". htmlspecialchars($manifest['copyright']) ?></div>
		<div><?php echo elgg_echo('admin:plugins:label:licence') . ": ". htmlspecialchars($manifest['licence'] . $manifest['license']) ?></div>
		<div><?php echo elgg_echo('admin:plugins:label:website') . ": "; ?><a href="<?php echo $manifest['website']; ?>"><?php echo $manifest['website']; ?></a></div>
	<?php } ?>
	</div>
</div>