aboutsummaryrefslogtreecommitdiff
path: root/views/default/admin/plugins/simple.php
blob: e9d7d5ffb9cc813c79fda1dcf0aed74f4d703d6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
/**
 * Elgg administration simple plugin screen
 *
 * Shows an alphabetical list of "simple" plugins.
 *
 * @package Elgg
 * @subpackage Core
 */

elgg_generate_plugin_entities();
$installed_plugins = elgg_get_plugins('any');
$plugin_list = array();

foreach ($installed_plugins as $plugin) {
	if (!$plugin->isValid()) {
		continue;
	}
	$interface = $plugin->manifest->getAdminInterface();
	if ($interface == 'simple') {
		$plugin_list[$plugin->manifest->getName()] = $plugin;
	}
}

ksort($plugin_list);

$form_body  .= <<<___END
	<ul class="admin_plugins margin-top">
___END;

$actions_base = '/action/admin/plugins/';
$ts = time();
$token = generate_action_token($ts);

foreach ($plugin_list as $name => $plugin) {
	$plugin_guid = $plugin->guid;
	$plugin_id = $plugin->getID();
	$active = $plugin->isActive();
	$can_activate = $plugin->canActivate();
	$author = $plugin->manifest->getAuthor();
	$version = $plugin->manifest->getVersion();
	$website = $plugin->manifest->getWebsite();
	$description = $plugin->manifest->getDescription();

	if ($active) {
		$active_class = 'active';
		$checked = 'checked="checked"';
	} else {
		$active_class = 'not_active';
		$checked = '';
	}

	if ($can_activate) {
		$disabled = '';
	} else {
		$disabled = 'disabled="disabled"';
		$description .= '<p>' . elgg_echo('admin:plugins:simple:cannot_activate') . '</p>';
	}

	$description = elgg_view('output/longtext', array('value' => $description));

	$author_html = $link_html = $version_html = $settings_html = '';

	if ($author) {
		$author_html = elgg_echo('admin:plugins:author', array($author));
	}

	if ($version) {
		$version_html = ' | ' . elgg_echo('admin:plugins:version', array($version));
	}

	if ($website) {
		$link_html = " | <a href=\"$website\">" . elgg_echo('admin:plugins:plugin_website') . '</a>';
	}

	if (elgg_view_exists("settings/$plugin_id/edit")) {
		$settings_href = elgg_get_site_url() . "pg/admin/plugin_settings/$plugin_id";
		$settings_html = " | <a class='plugin_settings link' href='$settings_href'>" . elgg_echo('settings') . "</a>";
	}

	$form_body .= <<<___END
	<li class="plugin_details $active_class">
		<span class="plugin_controls">
			<input type="checkbox" id="$plugin_guid" class="plugin_enabled" $checked $disabled name="active_plugin_guids[]" value="$plugin_guid"/>
			<label for="$plugin_guid">$name</label>
		</span>

		<span class="plugin_info">
			<span class="plugin_description">
				$description
			</span>
			<span class="plugin_metadata small">
				$author_html
				$version_html
				$link_html
				$settings_html
			</span>
		</span>
	</li>
___END;
}

$form_body .= '</ul>';
$form_body .= elgg_view('input/submit', array('value' => elgg_echo('save')));
$form_body .= elgg_view('input/reset', array('value' => elgg_echo('reset'), 'class' => 'elgg-action-button disabled'));

echo elgg_view('input/form', array(
	'action' => "action/admin/plugins/simple_update_states",
	'body' => $form_body,
	'class' => 'admin_plugins_simpleview'
));