1{title url="tiki-plugins.php" help="Wiki Plugins"}{tr}Plugin Approval{/tr}{/title}
2
3{remarksbox type="tip" title="{tr}Tip{/tr}"}
4	{tr}For security, grant the <strong>tiki_p_plugin_approve</strong> permission only to trusted user groups.{/tr} {tr}Use the <a href="tiki-admin.php?page=textarea" class="alert-link">Admin: Text Area page</a> to deactivate potentially risky plugins.{/tr}
5{/remarksbox}
6
7<p>
8{tr}This page lists the plugins that require validation, the first time they are encountered.{/tr} {tr}Each plugin contains a unique <em>signature</em> that is preserved.{/tr}</p>
9<p>{tr}When you upgrade from an old version, you may need to reparse all the pages.{/tr} {button href="tiki-plugins.php?refresh=y" _text="{tr}Refresh{/tr}"}</p>
10
11{if $plugin_list}
12	<p>{tr}If a plugin is no longer in use (for example, it has been removed from the wiki page), use <strong>Clear</strong> to remove it from this list.{/tr} {tr}The plugin will automatically be added if it is encountered.{/tr}</p>
13	<p>{tr}Plugins can be individually previewed, approved, or rejected from the particular location that contains the plugin.{/tr} {tr}For security, you should review each plugin to ensure it is safe to approve.{/tr}</p>
14	<form method="post" action="#">
15
16		{listfilter selectors='#plugins_list tr.odd,#plugins_list tr.even'}
17		<div {if $js}class="table-responsive"{/if}>
18			<table class="table table-hover table-striped" id="plugins_list">
19				<tr>
20					<th>{select_all checkbox_names='clear[]'}</th>
21					<th>{tr}Plugin{/tr} </th>
22					<th>{tr}Location{/tr} </th>
23					<th>{tr}Added By{/tr} </th>
24					<th></th>
25				</tr>
26				{foreach name=foo from=$plugin_list item=plugin}
27					<tr>
28						<td class="checkbox-cell"><div class="form-check"><input type="checkbox" name="clear[]" value="{$plugin.fingerprint|escape}" id="{$plugin.fingerprint|escape}"></div></td>
29						<td class="text"><label for="{$plugin.fingerprint|escape}"><strong>{$plugin.fingerprint|substring:0:20|escape|replace:"-":"</strong> <br>{tr}Signature:{/tr} "}...</label></td>
30						<td class="text">
31							{if $plugin.last_objectType eq 'wiki page'}
32								{tr _0=$plugin.last_objectId|sefurl:'wiki page' _1=$plugin.last_objectId|escape _2=$plugin.fingerprint}Wiki page: <a href="%0#%2" title="View this page.">%1</a>{/tr}
33							{else}
34								{tr}Unknown{/tr}
35							{/if}
36						</td>
37						<td class="text">{if $plugin.added_by}{$plugin.added_by|userlink}{else}{tr}Unknown{/tr}{/if}</td>
38						<td class="action">
39							{actions}
40								{strip}
41									<action>
42										<a href="tiki-plugins.php?approveone={$plugin.fingerprint}" title="{tr}Approve{/tr}">
43											{icon name='ok' _menu_text='y' _menu_icon='y' alt="{tr}Approve{/tr}"}
44										</a>
45									</action>
46									<action>
47										<a href="tiki-plugins.php?clearone={$plugin.fingerprint}" title="{tr}Clear{/tr}">
48											{icon name='trash' _menu_text='y' _menu_icon='y' alt="{tr}Clear{/tr}"}
49										</a>
50									</action>
51									{if $plugin.last_objectType eq 'wiki page'}
52										<action>
53											<a href="{$plugin.last_objectId|sefurl:'wiki page'}#{$plugin.fingerprint}" title="{tr}View this page{/tr}">
54												{icon name='textfile' _menu_text='y' _menu_icon='y' alt="{tr}View this page{/tr}"}
55											</a>
56										</action>
57									{/if}
58								{/strip}
59							{/actions}
60						</td>
61					</tr>
62				{/foreach}
63			</table>
64		</div>
65
66		<p>
67			<label for="submit_mult">{tr}Perform action with checked:{/tr}</label>
68			<select name="submit_mult" id="submit_mult" onchange="this.form.submit();">
69				<option value="" selected="selected">...</option>
70				<option value="clear" >Clear</option>
71				<option value="approve">Approve</option>
72			</select>
73			{tr}or{/tr}
74			<input type="submit" class="btn btn-primary btn-sm" name="approveall" value="{tr}Approve all pending plugins{/tr}">
75		</p>
76		{remarksbox type="warning" title="{tr}Warning{/tr}"}
77			{tr}Using <strong>Approve</strong> or <strong>Approve All</strong> will approve and activate the pending plugins.{/tr} {tr}Use this feature <strong>only</strong> if you have verified that all the pending plugins are safe.{/tr}
78		{/remarksbox}
79
80		<script type='text/javascript'>
81			<!--
82			// Fake js to allow the use of the <noscript> tag (so non-js-users can still submit)
83			//-->
84		</script>
85		<noscript>
86			<input type="submit" class="btn btn-primary btn-sm" value="{tr}OK{/tr}">
87		</noscript>
88	</form>
89{else}
90	<p>{tr}No plugins pending approval.{/tr}</p>
91{/if}
92