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