@@ -249,149 +249,160 @@ function sakura_scripts()
249
249
function convertip ($ ip )
250
250
{
251
251
error_reporting (E_ALL ^ E_NOTICE );
252
- $ dat_path = dirname (__FILE__ ) . '/inc/QQWry.Dat ' ;
253
- if (!$ fd = @fopen ($ dat_path , 'rb ' )) {
254
- return 'IP date file not exists or access denied ' ;
255
- }
256
- $ ip = explode ('. ' , $ ip );
257
- $ ipNum = intval ($ ip [0 ]) * 16777216 + intval ($ ip [1 ]) * 65536 + intval ($ ip [2 ]) * 256 + intval ($ ip [3 ]);
258
- $ DataBegin = fread ($ fd , 4 );
259
- $ DataEnd = fread ($ fd , 4 );
260
- $ ipbegin = implode ('' , unpack ('L ' , $ DataBegin ));
261
- if ($ ipbegin < 0 ) {
262
- $ ipbegin += pow (2 , 32 );
263
- }
264
-
265
- $ ipend = implode ('' , unpack ('L ' , $ DataEnd ));
266
- if ($ ipend < 0 ) {
267
- $ ipend += pow (2 , 32 );
268
- }
269
-
270
- $ ipAllNum = ($ ipend - $ ipbegin ) / 7 + 1 ;
271
- $ BeginNum = 0 ;
272
- $ EndNum = $ ipAllNum ;
273
- while ($ ip1num > $ ipNum || $ ip2num < $ ipNum ) {
274
- $ Middle = intval (($ EndNum + $ BeginNum ) / 2 );
275
- fseek ($ fd , $ ipbegin + 7 * $ Middle );
276
- $ ipData1 = fread ($ fd , 4 );
277
- if (strlen ($ ipData1 ) < 4 ) {
278
- fclose ($ fd );
279
- return 'System Error ' ;
280
- }
281
- $ ip1num = implode ('' , unpack ('L ' , $ ipData1 ));
282
- if ($ ip1num < 0 ) {
283
- $ ip1num += pow (2 , 32 );
284
- }
285
-
286
- if ($ ip1num > $ ipNum ) {
287
- $ EndNum = $ Middle ;
288
- continue ;
252
+ if (!filter_var ($ ip , FILTER_VALIDATE_IP , FILTER_FLAG_IPV6 ) === false ) {
253
+ $ file_contents = file_get_contents ('http://ip.taobao.com/outGetIpInfo?accessKey=alibaba-inc&ip= ' .$ ip );
254
+ $ result = json_decode ($ file_contents ,true );
255
+ if ($ result ['data ' ]['country ' ] != '中国 ' ) {
256
+ return $ result ['data ' ]['country ' ];
257
+ } else {
258
+ return $ result ['data ' ]['region ' ].' · ' .$ result ['data ' ]['city ' ].' · ' .$ result ['data ' ]['isp ' ];
289
259
}
290
- $ DataSeek = fread ( $ fd , 3 );
291
- if ( strlen ( $ DataSeek ) < 3 ) {
292
- fclose ( $ fd );
293
- return 'System Error ' ;
260
+ } else {
261
+ $ dat_path = dirname ( __FILE__ ) . ' /inc/QQWry.Dat ' ;
262
+ if (! $ fd = @ fopen ( $ dat_path , ' rb ' )) {
263
+ return 'IP date file not exists or access denied ' ;
294
264
}
295
- $ DataSeek = implode ('' , unpack ('L ' , $ DataSeek . chr (0 )));
296
- fseek ($ fd , $ DataSeek );
297
- $ ipData2 = fread ($ fd , 4 );
298
- if (strlen ($ ipData2 ) < 4 ) {
299
- fclose ($ fd );
300
- return 'System Error ' ;
265
+ $ ip = explode ('. ' , $ ip );
266
+ $ ipNum = intval ($ ip [0 ]) * 16777216 + intval ($ ip [1 ]) * 65536 + intval ($ ip [2 ]) * 256 + intval ($ ip [3 ]);
267
+ $ DataBegin = fread ($ fd , 4 );
268
+ $ DataEnd = fread ($ fd , 4 );
269
+ $ ipbegin = implode ('' , unpack ('L ' , $ DataBegin ));
270
+ if ($ ipbegin < 0 ) {
271
+ $ ipbegin += pow (2 , 32 );
301
272
}
302
- $ ip2num = implode ('' , unpack ('L ' , $ ipData2 ));
303
- if ($ ip2num < 0 ) {
304
- $ ip2num += pow (2 , 32 );
273
+
274
+ $ ipend = implode ('' , unpack ('L ' , $ DataEnd ));
275
+ if ($ ipend < 0 ) {
276
+ $ ipend += pow (2 , 32 );
305
277
}
306
278
307
- if ($ ip2num < $ ipNum ) {
308
- if ($ Middle == $ BeginNum ) {
279
+ $ ipAllNum = ($ ipend - $ ipbegin ) / 7 + 1 ;
280
+ $ BeginNum = 0 ;
281
+ $ EndNum = $ ipAllNum ;
282
+ $ ip1num = $ ip2num = $ ipAddr1 = $ ipAddr2 = '' ;
283
+ while ($ ip1num > $ ipNum || $ ip2num < $ ipNum ) {
284
+ $ Middle = intval (($ EndNum + $ BeginNum ) / 2 );
285
+ fseek ($ fd , $ ipbegin + 7 * $ Middle );
286
+ $ ipData1 = fread ($ fd , 4 );
287
+ if (strlen ($ ipData1 ) < 4 ) {
309
288
fclose ($ fd );
310
- return 'Unknown ' ;
289
+ return 'System Error ' ;
311
290
}
312
- $ BeginNum = $ Middle ;
313
- }
314
- }
315
- $ ipFlag = fread ($ fd , 1 );
316
- if ($ ipFlag == chr (1 )) {
317
- $ ipSeek = fread ($ fd , 3 );
318
- if (strlen ($ ipSeek ) < 3 ) {
319
- fclose ($ fd );
320
- return 'System Error ' ;
321
- }
322
- $ ipSeek = implode ('' , unpack ('L ' , $ ipSeek . chr (0 )));
323
- fseek ($ fd , $ ipSeek );
324
- $ ipFlag = fread ($ fd , 1 );
325
- }
326
- if ($ ipFlag == chr (2 )) {
327
- $ AddrSeek = fread ($ fd , 3 );
328
- if (strlen ($ AddrSeek ) < 3 ) {
329
- fclose ($ fd );
330
- return 'System Error ' ;
331
- }
332
- $ ipFlag = fread ($ fd , 1 );
333
- if ($ ipFlag == chr (2 )) {
334
- $ AddrSeek2 = fread ($ fd , 3 );
335
- if (strlen ($ AddrSeek2 ) < 3 ) {
291
+ $ ip1num = implode ('' , unpack ('L ' , $ ipData1 ));
292
+ if ($ ip1num < 0 ) {
293
+ $ ip1num += pow (2 , 32 );
294
+ }
295
+
296
+ if ($ ip1num > $ ipNum ) {
297
+ $ EndNum = $ Middle ;
298
+ continue ;
299
+ }
300
+ $ DataSeek = fread ($ fd , 3 );
301
+ if (strlen ($ DataSeek ) < 3 ) {
336
302
fclose ($ fd );
337
303
return 'System Error ' ;
338
304
}
339
- $ AddrSeek2 = implode ('' , unpack ('L ' , $ AddrSeek2 . chr (0 )));
340
- fseek ($ fd , $ AddrSeek2 );
341
- } else {
342
- fseek ($ fd , -1 , SEEK_CUR );
343
- }
344
- while (($ char = fread ($ fd , 1 )) != chr (0 )) {
345
- $ ipAddr2 .= $ char ;
346
- }
347
-
348
- $ AddrSeek = implode ('' , unpack ('L ' , $ AddrSeek . chr (0 )));
349
- fseek ($ fd , $ AddrSeek );
350
- while (($ char = fread ($ fd , 1 )) != chr (0 )) {
351
- $ ipAddr1 .= $ char ;
352
- }
305
+ $ DataSeek = implode ('' , unpack ('L ' , $ DataSeek . chr (0 )));
306
+ fseek ($ fd , $ DataSeek );
307
+ $ ipData2 = fread ($ fd , 4 );
308
+ if (strlen ($ ipData2 ) < 4 ) {
309
+ fclose ($ fd );
310
+ return 'System Error ' ;
311
+ }
312
+ $ ip2num = implode ('' , unpack ('L ' , $ ipData2 ));
313
+ if ($ ip2num < 0 ) {
314
+ $ ip2num += pow (2 , 32 );
315
+ }
353
316
354
- } else {
355
- fseek ($ fd , -1 , SEEK_CUR );
356
- while (($ char = fread ($ fd , 1 )) != chr (0 )) {
357
- $ ipAddr1 .= $ char ;
317
+ if ($ ip2num < $ ipNum ) {
318
+ if ($ Middle == $ BeginNum ) {
319
+ fclose ($ fd );
320
+ return 'Unknown ' ;
321
+ }
322
+ $ BeginNum = $ Middle ;
323
+ }
358
324
}
359
-
360
325
$ ipFlag = fread ($ fd , 1 );
326
+ if ($ ipFlag == chr (1 )) {
327
+ $ ipSeek = fread ($ fd , 3 );
328
+ if (strlen ($ ipSeek ) < 3 ) {
329
+ fclose ($ fd );
330
+ return 'System Error ' ;
331
+ }
332
+ $ ipSeek = implode ('' , unpack ('L ' , $ ipSeek . chr (0 )));
333
+ fseek ($ fd , $ ipSeek );
334
+ $ ipFlag = fread ($ fd , 1 );
335
+ }
361
336
if ($ ipFlag == chr (2 )) {
362
- $ AddrSeek2 = fread ($ fd , 3 );
363
- if (strlen ($ AddrSeek2 ) < 3 ) {
337
+ $ AddrSeek = fread ($ fd , 3 );
338
+ if (strlen ($ AddrSeek ) < 3 ) {
364
339
fclose ($ fd );
365
340
return 'System Error ' ;
366
341
}
367
- $ AddrSeek2 = implode ('' , unpack ('L ' , $ AddrSeek2 . chr (0 )));
368
- fseek ($ fd , $ AddrSeek2 );
342
+ $ ipFlag = fread ($ fd , 1 );
343
+ if ($ ipFlag == chr (2 )) {
344
+ $ AddrSeek2 = fread ($ fd , 3 );
345
+ if (strlen ($ AddrSeek2 ) < 3 ) {
346
+ fclose ($ fd );
347
+ return 'System Error ' ;
348
+ }
349
+ $ AddrSeek2 = implode ('' , unpack ('L ' , $ AddrSeek2 . chr (0 )));
350
+ fseek ($ fd , $ AddrSeek2 );
351
+ } else {
352
+ fseek ($ fd , -1 , SEEK_CUR );
353
+ }
354
+ while (($ char = fread ($ fd , 1 )) != chr (0 )) {
355
+ $ ipAddr2 .= $ char ;
356
+ }
357
+
358
+ $ AddrSeek = implode ('' , unpack ('L ' , $ AddrSeek . chr (0 )));
359
+ fseek ($ fd , $ AddrSeek );
360
+ while (($ char = fread ($ fd , 1 )) != chr (0 )) {
361
+ $ ipAddr1 .= $ char ;
362
+ }
363
+
369
364
} else {
370
365
fseek ($ fd , -1 , SEEK_CUR );
366
+ while (($ char = fread ($ fd , 1 )) != chr (0 )) {
367
+ $ ipAddr1 .= $ char ;
368
+ }
369
+
370
+ $ ipFlag = fread ($ fd , 1 );
371
+ if ($ ipFlag == chr (2 )) {
372
+ $ AddrSeek2 = fread ($ fd , 3 );
373
+ if (strlen ($ AddrSeek2 ) < 3 ) {
374
+ fclose ($ fd );
375
+ return 'System Error ' ;
376
+ }
377
+ $ AddrSeek2 = implode ('' , unpack ('L ' , $ AddrSeek2 . chr (0 )));
378
+ fseek ($ fd , $ AddrSeek2 );
379
+ } else {
380
+ fseek ($ fd , -1 , SEEK_CUR );
381
+ }
382
+ while (($ char = fread ($ fd , 1 )) != chr (0 )) {
383
+ $ ipAddr2 .= $ char ;
384
+ }
371
385
}
372
- while (($ char = fread ($ fd , 1 )) != chr (0 )) {
373
- $ ipAddr2 .= $ char ;
386
+ fclose ($ fd );
387
+ if (preg_match ('/http/i ' , $ ipAddr2 )) {
388
+ $ ipAddr2 = '' ;
374
389
}
375
- }
376
- fclose ( $ fd );
377
- if ( preg_match ( ' /http/i ' , $ ipAddr2 )) {
378
- $ ipAddr2 = '' ;
379
- }
380
- $ ipaddr = " $ ipAddr1 $ ipAddr2 " ;
381
- $ ipaddr = preg_replace ( ' /CZ88.Net/is ' , '' , $ ipaddr );
382
- $ ipaddr = preg_replace ( ' /^s*/is ' , '' , $ ipaddr );
383
- $ ipaddr = preg_replace ( ' /s*$/is ' , '' , $ ipaddr );
384
- if ( preg_match ( ' /http/i ' , $ ipaddr ) || $ ipaddr == '' ) {
385
- $ ipaddr = ' Unknown ' ;
386
- }
387
- $ ipaddr = iconv ( ' gbk ' , ' utf-8//IGNORE ' , $ ipaddr );
388
- if ( $ ipaddr != ' ' ) {
390
+ $ ipaddr = " $ ipAddr1 $ ipAddr2 " ;
391
+ $ ipaddr = preg_replace ( ' /CZ88.Net/is ' , '' , $ ipaddr );
392
+ $ ipaddr = preg_replace ( ' /^s*/is ' , '' , $ ipaddr );
393
+ $ ipaddr = preg_replace ( ' /s*$/is ' , '' , $ ipaddr ) ;
394
+ if ( preg_match ( ' /http/i ' , $ ipaddr ) || $ ipaddr == '' ) {
395
+ $ ipaddr = ' Unknown ' ;
396
+ }
397
+ $ ipaddr = iconv ( ' gbk ' , 'utf-8//IGNORE ' , $ ipaddr );
398
+ if ( $ ipaddr != ' ' ) {
399
+ return $ ipaddr ;
400
+ } else {
401
+ $ ipaddr = ' Unknown ' ;
402
+ }
403
+
389
404
return $ ipaddr ;
390
- } else {
391
- $ ipaddr = 'Unknown ' ;
392
405
}
393
-
394
- return $ ipaddr ;
395
406
}
396
407
//Comment Location End
397
408
@@ -428,6 +439,7 @@ function akina_comment_format($comment, $args, $depth)
428
439
<?php if (current_user_can ('manage_options ' ) and (wp_is_mobile () == false )) {
429
440
$ comment_ID = $ comment ->comment_ID ;
430
441
$ i_private = get_comment_meta ($ comment_ID , '_private ' , true );
442
+ $ flag = '' ;
431
443
$ flag .= ' <i class="fa fa-snowflake-o" aria-hidden="true"></i> <a href="javascript:;" data-actionp="set_private" data-idp=" ' . get_comment_id () . '" id="sp" class="sm" style="color:rgba(0,0,0,.35)"> ' . __ ("Private " , "sakura " ) . ': <span class="has_set_private"> ' ;
432
444
if (!empty ($ i_private )) {
433
445
$ flag .= __ ("Yes " , "sakura " ) . ' <i class="fa fa-lock" aria-hidden="true"></i> ' ;
0 commit comments