source: extensions/AntiAspi/admin.tpl @ 31953

Revision 31953, 5.5 KB checked in by plg, 13 months ago (diff)

Simpler user interface, display banned IP current status, regroup IP management

Line 
1{combine_script id='jquery.ui.slider' require='jquery.ui' load='footer' path='themes/default/js/ui/minified/jquery.ui.slider.min.js'}
2{combine_css path="themes/default/js/ui/theme/jquery.ui.slider.css"}
3{footer_script}
4
5jQuery(function($) {
6// slide
7    $('.range').each(function(){
8        var cls=$(this).attr('class');
9        var elem=$(this).parent();
10        var input=elem.find('input');
11        var options={};
12        elem.append('<div class="uirange"></div>');
13        options.slide=function(event,ui){
14            elem.find('label span').empty().append(ui.value);
15            input.val(ui.value);
16        }
17        options.value=input.val();
18        options.range='min';
19        options.min=$(this).data('min');
20        options.max=$(this).data('max');
21        elem.find('.uirange').slider(options);
22        elem.find('label span').empty().append(input.val());
23        input.hide();
24    });
25
26    jQuery('.add-ip-allowed-form-toggle').click(function(e) {
27        jQuery('.add-ip-allowed-form').toggle();
28        e.preventDefault();
29    })
30});
31
32{/footer_script}
33
34{html_style}
35.uirange{
36    margin:10px;
37    margin-left: 40px;
38}
39{/html_style}
40
41<div class="titrePage">
42  <h2>{'AntiAspi'|@translate}</h2>
43</div>
44{if isset ($ipbangest)}
45
46        <fieldset>
47          <legend>{'Banned IP addresses'|@translate}</legend>
48                <form method="post" >
49                        <div style="text-align:center;margin-bottom: 30px;">
50
51                                <button name="submitdeleteall" type="submit" class="buttonLike" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">
52                    <i class="icon-trash"></i> {'Delete all'|@translate}
53                </button>
54
55                                <button name="submitdeletedeprecated" type="submit" class="buttonLike" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');">
56                    <i class="icon-trash"></i> {'Delete deprecated only'|@translate}
57                </button>
58
59                        </div>
60                </form>
61         
62           <table class="lban">
63                {foreach from=$ipban2 item=ipban}
64                  <tr>
65                        <td><!-- {$ipban.ID} --> {$ipban.IP}</td>
66                        <td>{$ipban.DATE}</td>
67                        <td><span class="badge badge-{$ipban.STATUS}">{$ipban.STATUS}</span></td>
68                        <td>
69                        <a href="{$ipban.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
70                <i class="icon-trash" id="btn_delete" title="{'Delete'|@translate}"></i>
71                        </a>
72                        </td>
73                  </tr>
74                {/foreach}
75         </table>
76        </fieldset>
77
78         <fieldset class="antiaspi-whitelist">
79      <legend>{'Whitelist (allowed ip addresses)'|translate}</legend>
80        <form method="post">
81                        <a href="#" class="icon-plus-circled add-ip-allowed-form-toggle">{'Add allowed IP'|@translate}</a>
82                        <span class="add-ip-allowed-form">
83                        {'IP'|@translate} <input " type="text" name="insipallowed" data-ip placeholder="123.123.123.123" value="" size="50" maxlenght="50" required pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$">
84                        <input class="submit" name="submitaddipallowed" type="submit" value="{'Add IP'|@translate}" />
85                        </span>
86        </form>
87                <table class="lban">
88                        {foreach from=$allowip item=allowip2}
89                          <tr>
90                                <td>{$allowip2.IP}</td>
91                                <td>
92                                <a href="{$allowip2.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
93                                        <i class="icon-trash" id="btn_delete" title="{'Delete'|@translate}"></i>
94                                </a>
95                                </td>
96                          </tr>
97                        {/foreach}
98                 </table>
99         </fieldset>
100{/if}
101
102{if isset ($ipconfiggest)}
103<form method="post">
104 <fieldset>
105  <legend>{'Configuration'|translate}</legend>
106                <p class="input" style="width: 700px;">
107                  <label for="insdiffa"><strong>{'IP banned if '|@translate}<span></span></strong></label>
108                  <input type="text" name="insdiffa" data-min="10" data-max="500" class="range" value="{$ipconfiggest.DIFFA}"/> 
109                </p>   
110                <p class="input" style="width: 700px;">
111                        <label for="insdiffb"><strong>{' different pages viewed in <span></span> seconds'|@translate} </strong></label>
112                        <input type="text" name="insdiffb" data-min="5" data-max="3599" class="range" value="{$ipconfiggest.DIFFB}"/>
113                </p>
114
115                <p class="input" style="width: 700px;margin-top: 50px;">
116                  <label for="inssamea"><strong>{'IP banned if same '|@translate}<span></span></strong></label>
117                  <input type="text" name="inssamea" data-min="10" data-max="500" class="range" value="{$ipconfiggest.SAMEA}"/> 
118                </p>   
119                <p class="input" style="width: 700px;margin-bottom: 50px;">
120                        <label for="inssameb"><strong>{' different pages viewed in <span></span> seconds'|@translate} </strong></label>
121                        <input type="text" name="inssameb" data-min="5" data-max="3599" class="range" value="{$ipconfiggest.SAMEB}"/>
122                </p>
123
124        <p>
125        <strong>{'only guest'|@translate}</strong>
126        {html_radios separator="  " name="insonlyguest" values=$ipconfiggest.ONLYGUESTV output=$ipconfiggest.ONLYGUEST selected="{$ipconfiggest.ONLYGUESTSELECT}"}
127                ({'If yes, don\'t ban registered users'|@translate})
128    </p>
129        <p>
130        <strong>{'only picture'|@translate}</strong>
131        {html_radios separator="  " name="insonlypicturet" values=$ipconfiggest.ONLYPICTUREV output=$ipconfiggest.ONLYPICTURE selected="{$ipconfiggest.ONLYPICTURESELECT}"}
132                ({'If yes, apply antiaspi only on picture page'|@translate})
133    </p>
134    <p style="margin-top: 50px">
135        <button name="submitconfban" type="submit" class="buttonLike">
136            <i class="icon-floppy"></i> {'Save Settings'|@translate}
137        </button>
138    </p>
139 </fieldset>
140</form>
141{/if}
Note: See TracBrowser for help on using the repository browser.