diff --git a/README-en.md b/README-en.md
index 62b91f7..1c21ddc 100644
--- a/README-en.md
+++ b/README-en.md
@@ -3,10 +3,10 @@ Sakura🌸: A Wonderful WordPress Theme
[ä¸æ–‡](README.md) | Engilsh
-![Sakura](https://view.moezx.cc/images/2018/05/26/sakura.png)
+![Sakura](screenshot.jpg)
-![PHP version](https://img.shields.io/badge/PHP-7.1+-4F5B93.svg?style=flat-square)
-![WP version](https://img.shields.io/badge/WordPress-5.0+-0073aa.svg?style=flat-square)
+![PHP version](https://img.shields.io/badge/PHP-7.1+-4F5B93.svg?style=flat-square&logo=php)
+![WP version](https://img.shields.io/badge/WordPress-5.3-0073aa.svg?style=flat-square&logo=wordpress)
[![GitHub release](https://img.shields.io/github/release/mashirozx/Sakura.svg?style=flat-square)](https://github.com/mashirozx/Sakura/releases/latest)
[![Github commits (since latest release)](https://img.shields.io/github/commits-since/mashirozx/Sakura/latest/dev.svg?style=flat-square)](https://github.com/mashirozx/Sakura/commits/dev)
[![](https://data.jsdelivr.com/v1/package/gh/moezx/cdn/badge)](https://www.jsdelivr.com/package/gh/moezx/cdn)
diff --git a/README.md b/README.md
index cbdcb19..cb2a801 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,10 @@
ä¸æ–‡ | [Engilsh](README-en.md)
-![Sakura](https://view.moezx.cc/images/2018/05/26/sakura.png)
+![Sakura](screenshot.jpg)
-![PHP version](https://shader.2heng.xin/badge/PHP-7.1+-4F5B93.svg?style=flat-square&logo=php)
-![WP version](https://shader.2heng.xin/badge/WordPress-5.3-0073aa.svg?style=flat-square&logo=wordpress)
+![PHP version](https://img.shields.io/badge/PHP-7.1+-4F5B93.svg?style=flat-square&logo=php)
+![WP version](https://img.shields.io/badge/WordPress-5.3-0073aa.svg?style=flat-square&logo=wordpress)
[![GitHub release](https://img.shields.io/github/v/release/mashirozx/Sakura.svg?style=flat-square&logo=github)](https://github.com/mashirozx/Sakura/releases/latest)
[![Github commits (since latest release)](https://img.shields.io/github/commits-since/mashirozx/Sakura/latest/dev.svg?style=flat-square&logo=git&color=important)](https://github.com/mashirozx/Sakura/commits/dev)
[![](https://data.jsdelivr.com/v1/package/gh/moezx/cdn/badge)](https://www.jsdelivr.com/package/gh/moezx/cdn)
diff --git a/comments.php b/comments.php
index a343540..1b2f935 100644
--- a/comments.php
+++ b/comments.php
@@ -48,7 +48,7 @@
'.__('I\'m not a robot', 'sakura').'';
$private_ms = akina_option('open_private_message') ? '' : '';
diff --git a/functions.php b/functions.php
index 2c7135c..15d05ae 100644
--- a/functions.php
+++ b/functions.php
@@ -249,149 +249,160 @@ require get_template_directory() . '/inc/categories-images.php';
function convertip($ip)
{
error_reporting(E_ALL ^ E_NOTICE);
- $dat_path = dirname(__FILE__) . '/inc/QQWry.Dat';
- if (!$fd = @fopen($dat_path, 'rb')) {
- return 'IP date file not exists or access denied';
- }
- $ip = explode('.', $ip);
- $ipNum = intval($ip[0]) * 16777216 + intval($ip[1]) * 65536 + intval($ip[2]) * 256 + intval($ip[3]);
- $DataBegin = fread($fd, 4);
- $DataEnd = fread($fd, 4);
- $ipbegin = implode('', unpack('L', $DataBegin));
- if ($ipbegin < 0) {
- $ipbegin += pow(2, 32);
- }
-
- $ipend = implode('', unpack('L', $DataEnd));
- if ($ipend < 0) {
- $ipend += pow(2, 32);
- }
-
- $ipAllNum = ($ipend - $ipbegin) / 7 + 1;
- $BeginNum = 0;
- $EndNum = $ipAllNum;
- while ($ip1num > $ipNum || $ip2num < $ipNum) {
- $Middle = intval(($EndNum + $BeginNum) / 2);
- fseek($fd, $ipbegin + 7 * $Middle);
- $ipData1 = fread($fd, 4);
- if (strlen($ipData1) < 4) {
- fclose($fd);
- return 'System Error';
- }
- $ip1num = implode('', unpack('L', $ipData1));
- if ($ip1num < 0) {
- $ip1num += pow(2, 32);
- }
-
- if ($ip1num > $ipNum) {
- $EndNum = $Middle;
- continue;
- }
- $DataSeek = fread($fd, 3);
- if (strlen($DataSeek) < 3) {
- fclose($fd);
- return 'System Error';
- }
- $DataSeek = implode('', unpack('L', $DataSeek . chr(0)));
- fseek($fd, $DataSeek);
- $ipData2 = fread($fd, 4);
- if (strlen($ipData2) < 4) {
- fclose($fd);
- return 'System Error';
- }
- $ip2num = implode('', unpack('L', $ipData2));
- if ($ip2num < 0) {
- $ip2num += pow(2, 32);
- }
-
- if ($ip2num < $ipNum) {
- if ($Middle == $BeginNum) {
- fclose($fd);
- return 'Unknown';
- }
- $BeginNum = $Middle;
- }
- }
- $ipFlag = fread($fd, 1);
- if ($ipFlag == chr(1)) {
- $ipSeek = fread($fd, 3);
- if (strlen($ipSeek) < 3) {
- fclose($fd);
- return 'System Error';
- }
- $ipSeek = implode('', unpack('L', $ipSeek . chr(0)));
- fseek($fd, $ipSeek);
- $ipFlag = fread($fd, 1);
- }
- if ($ipFlag == chr(2)) {
- $AddrSeek = fread($fd, 3);
- if (strlen($AddrSeek) < 3) {
- fclose($fd);
- return 'System Error';
- }
- $ipFlag = fread($fd, 1);
- if ($ipFlag == chr(2)) {
- $AddrSeek2 = fread($fd, 3);
- if (strlen($AddrSeek2) < 3) {
- fclose($fd);
- return 'System Error';
- }
- $AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
- fseek($fd, $AddrSeek2);
+ if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
+ $file_contents = file_get_contents('http://ip.taobao.com/outGetIpInfo?accessKey=alibaba-inc&ip='.$ip);
+ $result = json_decode($file_contents,true);
+ if ($result['data']['country'] != 'ä¸å›½') {
+ return $result['data']['country'];
} else {
- fseek($fd, -1, SEEK_CUR);
+ return $result['data']['region'].' · '.$result['data']['city'].' · '.$result['data']['isp'];
}
- while (($char = fread($fd, 1)) != chr(0)) {
- $ipAddr2 .= $char;
- }
-
- $AddrSeek = implode('', unpack('L', $AddrSeek . chr(0)));
- fseek($fd, $AddrSeek);
- while (($char = fread($fd, 1)) != chr(0)) {
- $ipAddr1 .= $char;
- }
-
} else {
- fseek($fd, -1, SEEK_CUR);
- while (($char = fread($fd, 1)) != chr(0)) {
- $ipAddr1 .= $char;
+ $dat_path = dirname(__FILE__) . '/inc/QQWry.Dat';
+ if (!$fd = @fopen($dat_path, 'rb')) {
+ return 'IP date file not exists or access denied';
+ }
+ $ip = explode('.', $ip);
+ $ipNum = intval($ip[0]) * 16777216 + intval($ip[1]) * 65536 + intval($ip[2]) * 256 + intval($ip[3]);
+ $DataBegin = fread($fd, 4);
+ $DataEnd = fread($fd, 4);
+ $ipbegin = implode('', unpack('L', $DataBegin));
+ if ($ipbegin < 0) {
+ $ipbegin += pow(2, 32);
}
- $ipFlag = fread($fd, 1);
- if ($ipFlag == chr(2)) {
- $AddrSeek2 = fread($fd, 3);
- if (strlen($AddrSeek2) < 3) {
+ $ipend = implode('', unpack('L', $DataEnd));
+ if ($ipend < 0) {
+ $ipend += pow(2, 32);
+ }
+
+ $ipAllNum = ($ipend - $ipbegin) / 7 + 1;
+ $BeginNum = 0;
+ $EndNum = $ipAllNum;
+ $ip1num = $ip2num = $ipAddr1 = $ipAddr2 = '';
+ while ($ip1num > $ipNum || $ip2num < $ipNum) {
+ $Middle = intval(($EndNum + $BeginNum) / 2);
+ fseek($fd, $ipbegin + 7 * $Middle);
+ $ipData1 = fread($fd, 4);
+ if (strlen($ipData1) < 4) {
fclose($fd);
return 'System Error';
}
- $AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
- fseek($fd, $AddrSeek2);
+ $ip1num = implode('', unpack('L', $ipData1));
+ if ($ip1num < 0) {
+ $ip1num += pow(2, 32);
+ }
+
+ if ($ip1num > $ipNum) {
+ $EndNum = $Middle;
+ continue;
+ }
+ $DataSeek = fread($fd, 3);
+ if (strlen($DataSeek) < 3) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $DataSeek = implode('', unpack('L', $DataSeek . chr(0)));
+ fseek($fd, $DataSeek);
+ $ipData2 = fread($fd, 4);
+ if (strlen($ipData2) < 4) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $ip2num = implode('', unpack('L', $ipData2));
+ if ($ip2num < 0) {
+ $ip2num += pow(2, 32);
+ }
+
+ if ($ip2num < $ipNum) {
+ if ($Middle == $BeginNum) {
+ fclose($fd);
+ return 'Unknown';
+ }
+ $BeginNum = $Middle;
+ }
+ }
+ $ipFlag = fread($fd, 1);
+ if ($ipFlag == chr(1)) {
+ $ipSeek = fread($fd, 3);
+ if (strlen($ipSeek) < 3) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $ipSeek = implode('', unpack('L', $ipSeek . chr(0)));
+ fseek($fd, $ipSeek);
+ $ipFlag = fread($fd, 1);
+ }
+ if ($ipFlag == chr(2)) {
+ $AddrSeek = fread($fd, 3);
+ if (strlen($AddrSeek) < 3) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $ipFlag = fread($fd, 1);
+ if ($ipFlag == chr(2)) {
+ $AddrSeek2 = fread($fd, 3);
+ if (strlen($AddrSeek2) < 3) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
+ fseek($fd, $AddrSeek2);
+ } else {
+ fseek($fd, -1, SEEK_CUR);
+ }
+ while (($char = fread($fd, 1)) != chr(0)) {
+ $ipAddr2 .= $char;
+ }
+
+ $AddrSeek = implode('', unpack('L', $AddrSeek . chr(0)));
+ fseek($fd, $AddrSeek);
+ while (($char = fread($fd, 1)) != chr(0)) {
+ $ipAddr1 .= $char;
+ }
+
} else {
fseek($fd, -1, SEEK_CUR);
+ while (($char = fread($fd, 1)) != chr(0)) {
+ $ipAddr1 .= $char;
+ }
+
+ $ipFlag = fread($fd, 1);
+ if ($ipFlag == chr(2)) {
+ $AddrSeek2 = fread($fd, 3);
+ if (strlen($AddrSeek2) < 3) {
+ fclose($fd);
+ return 'System Error';
+ }
+ $AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
+ fseek($fd, $AddrSeek2);
+ } else {
+ fseek($fd, -1, SEEK_CUR);
+ }
+ while (($char = fread($fd, 1)) != chr(0)) {
+ $ipAddr2 .= $char;
+ }
}
- while (($char = fread($fd, 1)) != chr(0)) {
- $ipAddr2 .= $char;
+ fclose($fd);
+ if (preg_match('/http/i', $ipAddr2)) {
+ $ipAddr2 = '';
}
- }
- fclose($fd);
- if (preg_match('/http/i', $ipAddr2)) {
- $ipAddr2 = '';
- }
- $ipaddr = "$ipAddr1 $ipAddr2";
- $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);
- $ipaddr = preg_replace('/^s*/is', '', $ipaddr);
- $ipaddr = preg_replace('/s*$/is', '', $ipaddr);
- if (preg_match('/http/i', $ipaddr) || $ipaddr == '') {
- $ipaddr = 'Unknown';
- }
- $ipaddr = iconv('gbk', 'utf-8//IGNORE', $ipaddr);
- if ($ipaddr != ' ') {
+ $ipaddr = "$ipAddr1 $ipAddr2";
+ $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);
+ $ipaddr = preg_replace('/^s*/is', '', $ipaddr);
+ $ipaddr = preg_replace('/s*$/is', '', $ipaddr);
+ if (preg_match('/http/i', $ipaddr) || $ipaddr == '') {
+ $ipaddr = 'Unknown';
+ }
+ $ipaddr = iconv('gbk', 'utf-8//IGNORE', $ipaddr);
+ if ($ipaddr != ' ') {
+ return $ipaddr;
+ } else {
+ $ipaddr = 'Unknown';
+ }
+
return $ipaddr;
- } else {
- $ipaddr = 'Unknown';
}
-
- return $ipaddr;
}
//Comment Location End
@@ -428,6 +439,7 @@ if (!function_exists('akina_comment_format')) {
comment_ID;
$i_private = get_comment_meta($comment_ID, '_private', true);
+ $flag = '';
$flag .= ' ' . __("Private", "sakura") . ': ';
if (!empty($i_private)) {
$flag .= __("Yes", "sakura") . ' ';
diff --git a/inc/classes/Meting.php b/inc/classes/Meting.php
index c274e80..c37f53b 100755
--- a/inc/classes/Meting.php
+++ b/inc/classes/Meting.php
@@ -496,7 +496,7 @@ class Meting
case 'netease':
$api = array(
'method' => 'POST',
- 'url' => 'http://music.163.com/api/v3/playlist/detail',
+ 'url' => 'http://music.163.com/api/v6/playlist/detail',
'body' => array(
's' => '0',
'id' => $id,
@@ -1362,4 +1362,4 @@ class Meting
return $result;
}
-}
+}
\ No newline at end of file
diff --git a/style.css b/style.css
index 9c01b52..83cb3b8 100644
--- a/style.css
+++ b/style.css
@@ -5,7 +5,7 @@ Theme URI: https://github.com/mashirozx/Sakura/
Author: Mashiro, Spirit, Louie, Fuzzz
Author URI: http://2heng.xin
Description: A wonderful branch of theme Akina
-Version: 3.3.9
+Version: 3.4.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sakura