source: extensions/AntiAspi/admin.tpl @ 31370

Last change on this file since 31370 was 31370, checked in by ddtddt, 5 years ago

[extensions] - AntiAspi - update admin config page

File size: 8.3 KB
Line 
1{include file='include/datepicker.inc.tpl'}
2{combine_script id='jquery.ui.slider' require='jquery.ui' load='footer' path='themes/default/js/ui/minified/jquery.ui.slider.min.js'}
3{combine_css path="themes/default/js/ui/theme/jquery.ui.slider.css"}
4{footer_script}
5
6jQuery.fn.banDatepicker = function(settings) {
7  var options = jQuery.extend(true, {
8    showTimepicker: true,
9    cancelButton: false,
10  }, settings || {});
11
12  return this.each(function() {
13    var $this = jQuery(this),
14        originalValue = $this.val(),
15        originalDate,
16        $target = jQuery('[name="'+ $this.data('datepicker') +'"]'),
17        linked = !!$target.length;
18               
19    // init picker
20    $this.datetimepicker(jQuery.extend({
21      dateFormat: linked ? 'DD d MM yy' : 'yy-mm-dd',
22      timeFormat: 'HH:mm:ss',
23      separator: options.showTimepicker ? ' ' : '',
24
25      altField: linked ? $target : null,
26      altFormat: 'yy-mm-dd',
27      altTimeFormat: options.showTimepicker ? 'HH:mm:ss' : '',
28                 
29      autoSize: true,
30      changeMonth : true,
31      changeYear: true,
32      altFieldTimeOnly: true,
33      showSecond: true,
34      alwaysSetTime: false,
35          }, options));
36
37    // autoSize not handled by timepicker
38    if (options.showTimepicker) {
39      $this.attr('size', parseInt($this.attr('size'))+6);
40    }
41  });
42};
43
44jQuery(function(){ {* <!-- onLoad needed to wait localization loads --> *}
45  jQuery('[data-datepickerban]').banDatepicker();
46  });
47
48jQuery(function($) {
49        $('input.dban').each(function(){
50                d = new Date();
51                var datestring = d.getFullYear() + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" + ("0" + d.getDate()).slice(-2) + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2) + ":" + ("0" + d.getSeconds()).slice(-2);
52                $(this).val(datestring);
53        });
54        $('input.dban2').each(function(){
55                d = $(this).attr('data-value');;
56                $(this).val(d);
57        });
58// slide
59    $('.range').each(function(){
60        var cls=$(this).attr('class');
61        var elem=$(this).parent();
62        var input=elem.find('input');
63        var options={};
64        elem.append('<div class="uirange"></div>');
65        options.slide=function(event,ui){
66            elem.find('label span').empty().append(ui.value);
67            input.val(ui.value);
68        }
69        options.value=input.val();
70        options.range='min';
71        options.min=$(this).data('min');
72        options.max=$(this).data('max');
73        elem.find('.uirange').slider(options);
74        elem.find('label span').empty().append(input.val());
75        input.hide();
76    });
77});
78
79{/footer_script}
80
81{html_style}
82.uirange{
83    margin:10px;
84    margin-left: 40px;
85}
86{/html_style}
87
88<div class="titrePage">
89  <h2>{'AntiAspi'|@translate}</h2>
90</div>
91{if isset ($ipbangest)}
92<form method="post" >
93        <fieldset>
94                <input class="submit" name="submitipban" type="submit" value="{'Add IP ban'|@translate}" />
95        </fieldset>
96</form>
97{/if}
98{if isset ($ipban_add)}
99        <form method="post">
100                <fieldset>
101                        <legend>{'Add IP ban'|@translate}</legend>
102                        {'IP'|@translate} <input " type="text" name="inserip" 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]?)$">
103                        {'Date'|@translate} <i class="icon-calendar"></i> <input class="dban" type="text" data-datepickerban name="inserdate" size="20" maxlenght="20" readonly>
104                        <br>
105                        <br>
106                                <div style="text-align:center;">
107                                <input class="submit" name="submitaddipban" type="submit" value="{'Submit'|@translate}" />
108                                </div>
109                </fieldset>
110        </form>
111{/if}
112{if isset ($ipbangest)}
113<form method="post" >
114        <fieldset>
115          <legend>{'List IP banned'|@translate}</legend>
116           <table class="lban">
117                {foreach from=$ipban2 item=ipban}
118                  <tr>
119                        <td><!-- {$ipban.ID} --> {$ipban.IP}</td>
120                        <td>{$ipban.DATE}</td>
121                        <td>
122                        <a href="{$ipban.U_EDIT}">
123                                <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png" alt="{'edit'|@translate}" title="{'edit'|@translate}" />
124                        </a>
125                        <a href="{$ipban.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
126                                <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" id="btn_delete" alt="{'delete'|@translate}" title="{'Delete'|@translate}" />
127                        </a>
128                        </td>
129                  </tr>
130                {/foreach}
131         </table>
132        </fieldset>
133</form>
134{/if}
135{if isset ($ipban_edit)}
136        <form method="post" >
137                <fieldset>
138                        <legend>{'IP banned edit'|@translate}</legend>
139                        <input type="hidden" name="invisibleID" value="{$ipban_edit.ID}">
140                        {'IP'|@translate} <input " type="text" name="inserip" data-ip placeholder="123.123.123.123" value="{$ipban_edit.IP}" 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]?)$">
141                        {'Date'|@translate} <i class="icon-calendar"></i> <input class="dban2" type="text" data-datepickerban name="inserdate" data-value="{$ipban_edit.DATE}" size="20" maxlenght="20">
142                        <br>   
143                        <br>
144                                <div style="text-align:center;">
145                                <input class="submit" name="submitaddipban2" data-ip type="submit" value="{'Submit'|@translate}" />
146                                </div>
147                </fieldset>
148        </form>
149{/if}
150
151{if isset ($ipconfiggest)}
152<form method="post">
153 <fieldset>
154  <legend>{'Configuration'|translate}</legend>
155         <fieldset>
156                <p class="input" style="width: 700px;">
157                  <label for="insdiffa"><strong>{'IP banned if '|@translate}<span></span></strong></label>
158                  <input type="text" name="insdiffa" data-min="10" data-max="500" class="range" value="{$ipconfiggest.DIFFA}"/> 
159                </p>   
160                <p class="input" style="width: 700px;">
161                        <label for="insdiffb"><strong>{' different pages viewed in <span></span> seconds'|@translate} </strong></label>
162                        <input type="text" name="insdiffb" data-min="5" data-max="3599" class="range" value="{$ipconfiggest.DIFFB}"/>
163                </p>
164        </fieldset>
165        <fieldset>
166                <p class="input" style="width: 700px;">
167                  <label for="inssamea"><strong>{'IP banned if same '|@translate}<span></span></strong></label>
168                  <input type="text" name="inssamea" data-min="10" data-max="500" class="range" value="{$ipconfiggest.SAMEA}"/> 
169                </p>   
170                <p class="input" style="width: 700px;">
171                        <label for="inssameb"><strong>{' different pages viewed in <span></span> seconds'|@translate} </strong></label>
172                        <input type="text" name="inssameb" data-min="5" data-max="3599" class="range" value="{$ipconfiggest.SAMEB}"/>
173                </p>
174        </fieldset>
175        <p>
176        <strong>{'only guest'|@translate}</strong>
177        {html_radios separator="  " name="insonlyguest" values=$ipconfiggest.ONLYGUESTV output=$ipconfiggest.ONLYGUEST selected="{$ipconfiggest.ONLYGUESTSELECT}"}
178                ({'If yes, don\'t ban registered users'|@translate})
179    </p>
180        <p>
181        <strong>{'only picture'|@translate}</strong>
182        {html_radios separator="  " name="insonlypicturet" values=$ipconfiggest.ONLYPICTUREV output=$ipconfiggest.ONLYPICTURE selected="{$ipconfiggest.ONLYPICTURESELECT}"}
183                ({'If yes, apply antiaspi only on picture page'|@translate})
184    </p>
185         <fieldset>
186      <legend>{'allowed ip'|translate}</legend>
187                <table class="lban">
188                        {foreach from=$allowip item=allowip2}
189                          <tr>
190                                <td>{$allowip2.IP}</td>
191                                <td>
192                                <a href="{$allowip2.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
193                                        <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" id="btn_delete" alt="{'delete'|@translate}" title="{'Delete'|@translate}" />
194                                </a>
195                                </td>
196                          </tr>
197                        {/foreach}
198                 </table>
199         </fieldset>
200    <p>
201        <input class="submit" type="submit" name="submitconfban" value="{'Submit'|@translate}">
202    </p>
203 </fieldset>
204</form>
205  {if isset ($ipconfiggest)}
206        <form method="post">
207                <fieldset>
208                        <legend>{'Add IP allowed'|@translate}</legend>
209                        {'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]?)$">
210                        <br>
211                        <br>
212                                <div style="text-align:center;">
213                                <input class="submit" name="submitaddipallowed" type="submit" value="{'Submit'|@translate}" />
214                                </div>
215                </fieldset>
216        </form>
217{/if}
218{/if}
Note: See TracBrowser for help on using the repository browser.