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 | |
---|
6 | jQuery.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 | |
---|
44 | jQuery(function(){ {* <!-- onLoad needed to wait localization loads --> *} |
---|
45 | jQuery('[data-datepickerban]').banDatepicker(); |
---|
46 | }); |
---|
47 | |
---|
48 | jQuery(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} |
---|