Version Description
- URLThanks @tannpura00 Modified: Deleted "URL correction" setting from "Advanced" tab of the setting screen. (It wasn't the cause of the problem.)
- URL % %25 Thanks @tannpura00 Fixed: Fixed a bug that the correct page was not linked when "%" in the URL was encoded as "%25".
Download this release
Release Info
Developer | poporon |
Plugin | Pz-LinkCard |
Version | 2.4.3.3 |
Comparing to | |
See all releases |
Code changes from version 2.4.3.2 to 2.4.3.3
- lib/pz-linkcard-settings.php +0 -8
- pz-linkcard.php +25 -53
- readme.txt +13 -4
lib/pz-linkcard-settings.php
CHANGED
@@ -1080,14 +1080,6 @@
|
|
1080 |
<td><label><input name="properties[flg-amp-url]" type="checkbox" value="1" <?php checked($this->options['flg-amp-url'] ); ?> /><?php echo __('If the URL is AMP, display simple.', $this->text_domain ).__('(Deprecated)', $this->text_domain ); ?></label></td>
|
1081 |
</tr>
|
1082 |
|
1083 |
-
<tr>
|
1084 |
-
<th scope="row"><?php _e('URL Correction', $this->text_domain ); ?></th>
|
1085 |
-
<td>
|
1086 |
-
<label><input name="properties[flg-nocorrect]" type="checkbox" value="1" <?php checked($this->options['flg-nocorrect'] ); ?> /><?php echo __('Disable both sanitize and correction for URL.', $this->text_domain ).__('(Deprecated)', $this->text_domain ); ?></label><br>
|
1087 |
-
<span><?php echo __('*', $this->text_domain ).' '.__('If many link cards suddenly break, it may be resolved.', $this->text_domain ); ?></span>
|
1088 |
-
</td>
|
1089 |
-
</tr>
|
1090 |
-
|
1091 |
<tr>
|
1092 |
<th scope="row"><?php _e('Hide URL Error', $this->text_domain ); ?></th>
|
1093 |
<td><label><input name="properties[flg-invalid-hide]" type="checkbox" value="1" <?php checked($this->options['flg-invalid-hide'] ); ?> /><?php echo __('Do not display an error on the admin page.', $this->text_domain ).__('(Deprecated)', $this->text_domain ); ?></label></td>
|
1080 |
<td><label><input name="properties[flg-amp-url]" type="checkbox" value="1" <?php checked($this->options['flg-amp-url'] ); ?> /><?php echo __('If the URL is AMP, display simple.', $this->text_domain ).__('(Deprecated)', $this->text_domain ); ?></label></td>
|
1081 |
</tr>
|
1082 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1083 |
<tr>
|
1084 |
<th scope="row"><?php _e('Hide URL Error', $this->text_domain ); ?></th>
|
1085 |
<td><label><input name="properties[flg-invalid-hide]" type="checkbox" value="1" <?php checked($this->options['flg-invalid-hide'] ); ?> /><?php echo __('Do not display an error on the admin page.', $this->text_domain ).__('(Deprecated)', $this->text_domain ); ?></label></td>
|
pz-linkcard.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Pz-LinkCard
|
4 |
Plugin URI: http://poporon.poponet.jp/pz-linkcard
|
5 |
Description: リンクをカード形式で表示します。
|
6 |
-
Version: 2.4.3.
|
7 |
Author: Poporon
|
8 |
Author URI: http://poporon.poponet.jp
|
9 |
Text Domain: pz-linkcard
|
@@ -17,7 +17,7 @@ class Pz_LinkCard {
|
|
17 |
protected $defaults = array(
|
18 |
'plugin-abbreviation' => 'Pz-LkC',
|
19 |
'plugin-name' => 'Pz-LinkCard',
|
20 |
-
'plugin-version' => '2.4.3.
|
21 |
'plugin-path' => '/pz-linkcard',
|
22 |
'author-url' => 'https://popozure.info',
|
23 |
'author-name' => 'Poporon',
|
@@ -170,7 +170,6 @@ class Pz_LinkCard {
|
|
170 |
'flg-initialize' => null,
|
171 |
'flg-compress' => 1,
|
172 |
'flg-amp-url' => null,
|
173 |
-
'flg-nocorrect' => null,
|
174 |
'flg-invalid-hide' => null,
|
175 |
'saved-date' => null,
|
176 |
'admin-mode' => null,
|
@@ -919,24 +918,16 @@ class Pz_LinkCard {
|
|
919 |
|
920 |
// URLのエンコード(DB格納用のURL作成)
|
921 |
private function pz_EncodeURL($url = null, $sanitize = false ) {
|
|
|
|
|
|
|
|
|
|
|
922 |
// URL指定なし
|
923 |
if (!$url ) {
|
924 |
return null;
|
925 |
}
|
926 |
|
927 |
-
// URLのサニタイズ
|
928 |
-
if ($sanitize ) {
|
929 |
-
if (!$this->options['flg-nocorrect'] ) {
|
930 |
-
$url = $this->pz_SanitizeURL($url );
|
931 |
-
if (!$url ) {
|
932 |
-
return null;
|
933 |
-
}
|
934 |
-
} else {
|
935 |
-
echo '<!-- [Pz-LkC] E-1-S-U="'.esc_html($url ).'" -->'.PHP_EOL;
|
936 |
-
echo '<!-- [Pz-LkC] E-2-S-U="'.esc_html($this->pz_SanitizeURL($url ) ).'" -->'.PHP_EOL;
|
937 |
-
}
|
938 |
-
}
|
939 |
-
|
940 |
// 日本語がある
|
941 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
942 |
// 国際ドメイン対応(日本語ドメイン対応)
|
@@ -949,38 +940,26 @@ class Pz_LinkCard {
|
|
949 |
|
950 |
// 日本語がある
|
951 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
952 |
-
|
953 |
-
$url = $this->pz_EncodeURI($url ); // エンティティ化
|
954 |
-
} else {
|
955 |
-
echo '<!-- [Pz-LkC] E-3-E-U="'.esc_html($url ).'" -->'.PHP_EOL;
|
956 |
-
echo '<!-- [Pz-LkC] E-4-E-U="'.esc_html($this->pz_EncodeURI($url ) ).'" -->'.PHP_EOL;
|
957 |
-
}
|
958 |
}
|
959 |
}
|
960 |
|
|
|
961 |
return $url;
|
962 |
}
|
963 |
|
964 |
// URLのデコード(表示用URL作成)
|
965 |
private function pz_DecodeURL($url = null, $sanitize = false ) {
|
|
|
|
|
|
|
|
|
|
|
966 |
// URL指定なし
|
967 |
if (!$url ) {
|
968 |
return null;
|
969 |
}
|
970 |
|
971 |
-
// URLのサニタイズ
|
972 |
-
if ($sanitize ) {
|
973 |
-
if (!$this->options['flg-nocorrect'] ) {
|
974 |
-
$url = $this->pz_SanitizeURL($url );
|
975 |
-
if (!$url ) {
|
976 |
-
return null;
|
977 |
-
}
|
978 |
-
} else {
|
979 |
-
echo '<!-- [Pz-LkC] D-1-S-U="'.esc_html($url ).'" -->'.PHP_EOL;
|
980 |
-
echo '<!-- [Pz-LkC] D-2-S-U="'.esc_html($this->pz_SanitizeURL($url ) ).'" -->'.PHP_EOL;
|
981 |
-
}
|
982 |
-
}
|
983 |
-
|
984 |
// 国際ドメイン対応(日本語ドメイン対応)
|
985 |
$url_info = $this->pz_GetURLInfo($url );
|
986 |
if (function_exists('idn_to_utf8' ) && substr($url_info['domain'], 0, 4 ) == 'xn--' ) {
|
@@ -990,24 +969,19 @@ class Pz_LinkCard {
|
|
990 |
}
|
991 |
|
992 |
// エンティティ文字のデコード
|
993 |
-
|
|
|
|
|
|
|
994 |
$url = rawurldecode($url );
|
995 |
-
} else {
|
996 |
-
echo '<!-- [Pz-LkC] D-1-D-U="'.esc_html($url ).'" -->'.PHP_EOL;
|
997 |
-
echo '<!-- [Pz-LkC] D-2-D-U="'.esc_html(rawurldecode($url ) ).'" -->'.PHP_EOL;
|
998 |
}
|
999 |
|
|
|
1000 |
return $url;
|
1001 |
}
|
1002 |
|
1003 |
// URLのサニタイズ
|
1004 |
private function pz_SanitizeURL($url = null ) {
|
1005 |
-
if ($this->options['debug-mode'] ) {
|
1006 |
-
echo '<!-- Pz-LkC [pz_SanitizeURL]'.PHP_EOL;
|
1007 |
-
echo '$url='.html_entity_decode($url ).PHP_EOL;
|
1008 |
-
echo '/-->'.PHP_EOL;
|
1009 |
-
}
|
1010 |
-
|
1011 |
// URL指定なし
|
1012 |
if (!$url ) {
|
1013 |
return null;
|
@@ -1017,12 +991,14 @@ class Pz_LinkCard {
|
|
1017 |
$url = preg_replace('/\A[ \'\"‘’“”″]+|[ \'\"‘’“”″]+\z/', '', $url );
|
1018 |
$url = str_replace('”', '', $url );
|
1019 |
|
|
|
|
|
|
|
|
|
|
|
1020 |
// 日本語がある
|
1021 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
1022 |
-
$multibyte = true;
|
1023 |
$url = $this->pz_EncodeURL($url, false);
|
1024 |
-
} else {
|
1025 |
-
$multibyte = false;
|
1026 |
}
|
1027 |
|
1028 |
// Aタグがあったら最初にあるAタグのhrefを持ってくる
|
@@ -1051,11 +1027,7 @@ class Pz_LinkCard {
|
|
1051 |
break;
|
1052 |
}
|
1053 |
|
1054 |
-
//
|
1055 |
-
if ($multibyte ) {
|
1056 |
-
$url = $this->pz_DecodeURL($url, false);
|
1057 |
-
}
|
1058 |
-
|
1059 |
return $url;
|
1060 |
}
|
1061 |
|
3 |
Plugin Name: Pz-LinkCard
|
4 |
Plugin URI: http://poporon.poponet.jp/pz-linkcard
|
5 |
Description: リンクをカード形式で表示します。
|
6 |
+
Version: 2.4.3.3
|
7 |
Author: Poporon
|
8 |
Author URI: http://poporon.poponet.jp
|
9 |
Text Domain: pz-linkcard
|
17 |
protected $defaults = array(
|
18 |
'plugin-abbreviation' => 'Pz-LkC',
|
19 |
'plugin-name' => 'Pz-LinkCard',
|
20 |
+
'plugin-version' => '2.4.3.3',
|
21 |
'plugin-path' => '/pz-linkcard',
|
22 |
'author-url' => 'https://popozure.info',
|
23 |
'author-name' => 'Poporon',
|
170 |
'flg-initialize' => null,
|
171 |
'flg-compress' => 1,
|
172 |
'flg-amp-url' => null,
|
|
|
173 |
'flg-invalid-hide' => null,
|
174 |
'saved-date' => null,
|
175 |
'admin-mode' => null,
|
918 |
|
919 |
// URLのエンコード(DB格納用のURL作成)
|
920 |
private function pz_EncodeURL($url = null, $sanitize = false ) {
|
921 |
+
// URLのサニタイズ
|
922 |
+
if ($sanitize ) {
|
923 |
+
$url = $this->pz_SanitizeURL($url );
|
924 |
+
}
|
925 |
+
|
926 |
// URL指定なし
|
927 |
if (!$url ) {
|
928 |
return null;
|
929 |
}
|
930 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
931 |
// 日本語がある
|
932 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
933 |
// 国際ドメイン対応(日本語ドメイン対応)
|
940 |
|
941 |
// 日本語がある
|
942 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
943 |
+
$url = $this->pz_EncodeURI($url ); // エンティティ化
|
|
|
|
|
|
|
|
|
|
|
944 |
}
|
945 |
}
|
946 |
|
947 |
+
// エンコードしたURLを返却
|
948 |
return $url;
|
949 |
}
|
950 |
|
951 |
// URLのデコード(表示用URL作成)
|
952 |
private function pz_DecodeURL($url = null, $sanitize = false ) {
|
953 |
+
// URLのサニタイズ
|
954 |
+
if ($sanitize ) {
|
955 |
+
$url = $this->pz_SanitizeURL($url );
|
956 |
+
}
|
957 |
+
|
958 |
// URL指定なし
|
959 |
if (!$url ) {
|
960 |
return null;
|
961 |
}
|
962 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
963 |
// 国際ドメイン対応(日本語ドメイン対応)
|
964 |
$url_info = $this->pz_GetURLInfo($url );
|
965 |
if (function_exists('idn_to_utf8' ) && substr($url_info['domain'], 0, 4 ) == 'xn--' ) {
|
969 |
}
|
970 |
|
971 |
// エンティティ文字のデコード
|
972 |
+
$url = rawurldecode($url );
|
973 |
+
|
974 |
+
// % が %25 だったらもう一度デコード
|
975 |
+
if (mb_strpos($url, '%' ) !== false) {
|
976 |
$url = rawurldecode($url );
|
|
|
|
|
|
|
977 |
}
|
978 |
|
979 |
+
// デコードしたURLを返却
|
980 |
return $url;
|
981 |
}
|
982 |
|
983 |
// URLのサニタイズ
|
984 |
private function pz_SanitizeURL($url = null ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
985 |
// URL指定なし
|
986 |
if (!$url ) {
|
987 |
return null;
|
991 |
$url = preg_replace('/\A[ \'\"‘’“”″]+|[ \'\"‘’“”″]+\z/', '', $url );
|
992 |
$url = str_replace('”', '', $url );
|
993 |
|
994 |
+
// エンティティ文字がある
|
995 |
+
if (mb_strpos($url, '%' ) !== false) {
|
996 |
+
$url = $this->pz_DecodeURL($url ,false );
|
997 |
+
}
|
998 |
+
|
999 |
// 日本語がある
|
1000 |
if (!preg_match("/^[\x20-\x7E]+$/", $url ) ) {
|
|
|
1001 |
$url = $this->pz_EncodeURL($url, false);
|
|
|
|
|
1002 |
}
|
1003 |
|
1004 |
// Aタグがあったら最初にあるAタグのhrefを持ってくる
|
1027 |
break;
|
1028 |
}
|
1029 |
|
1030 |
+
// サニタイズしたURLを返却する(エンティティ化済)
|
|
|
|
|
|
|
|
|
1031 |
return $url;
|
1032 |
}
|
1033 |
|
readme.txt
CHANGED
@@ -151,8 +151,15 @@ Ver.2.1.2から200px四方に変更、Ver.2.4.1から自由に指定できるよ
|
|
151 |
|
152 |
== Changelog ==
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
= 2.4.3.2 =
|
155 |
-
* 設定画面の「上級者向け」タブに「URL
|
|
|
156 |
|
157 |
= 2.4.3.1 =
|
158 |
* 設定画面で「変更を保存」を実行した際、一部の設定値が正常に保存されていなかった不具合を修正。
|
@@ -197,8 +204,8 @@ Ver.2.1.2から200px四方に変更、Ver.2.4.1から自由に指定できるよ
|
|
197 |
Modified: Moved the setting item of "Relative URL" on the setting screen from the "Advanced" tab to the "Link Check" tab.
|
198 |
* 設定画面の「基本」タブに、「更新履歴」の表示を追加。
|
199 |
Added: Added the display of "Changelog" to the "Basic" tab of the setting screen.
|
200 |
-
* 設定画面の「リンク先の検査」タブに「相対指定URL
|
201 |
-
Added: Added "Relative URL" to
|
202 |
* 設定画面の「Web API」タブ、「画像」タブ、「CSS」タブを削除。
|
203 |
Modified: Removed "Web API" tab, "Image" tab, and "CSS" tab on the setting screen.
|
204 |
* 設定画面に「その他」タブを追加。(「Web API」「画像」「CSS」の内容を統合)
|
@@ -211,12 +218,14 @@ Ver.2.1.2から200px四方に変更、Ver.2.4.1から自由に指定できるよ
|
|
211 |
Modified: Modified the initial selection of "Relative URL" on the "Link Check" tab of the setting screen to Checked.
|
212 |
* 設定画面に「マルチサイト」タブを追加。(マルチサイト設定時のみ表示されます)
|
213 |
Added: Added "Multi Site" tab to the setting screen. (Displayed only when multi-site is set)
|
|
|
|
|
214 |
* 設定画面の「上級者向け」タブに「ファイルメニュー」の設定を追加。
|
215 |
Added: Added settings of "File Menu" to the "Advanced" tab of the setting screen.
|
216 |
* 設定画面の「上級者向け」タブに「初期化タブ」を表示する設定を追加。
|
217 |
Added: Added a setting to display the "Initialization Tab" in the "Advanced" tab of the setting screen.
|
218 |
* 設定画面の「上級者向け」タブから「実行時間の表示」の設定を削除。
|
219 |
-
Modified: Deleted
|
220 |
* 設定画面の「上級者向け」タブに「調査モード」の設定を追加。(通常は使用しないでください)
|
221 |
Added a setting to display the "Survey Mode" in the "Advanced" tab of the setting screen. (Do not use normally)
|
222 |
* 設定画面の「上級者向け」タブに「管理者モード」の設定を追加。(動作無能に陥る設定が可能なため、通常は使用しないでください。)
|
151 |
|
152 |
== Changelog ==
|
153 |
|
154 |
+
= 2.4.3.3 =
|
155 |
+
* 設定画面の「上級者向け」タブに「URLの補正」の設定を削除。(不具合が解消されなかったため。)(Thanks @tannpura00)
|
156 |
+
Modified: Deleted "URL correction" setting from "Advanced" tab of the setting screen. (It wasn't the cause of the problem.)
|
157 |
+
* URL内の % が %25 とエンコードされていた際に正しいページにリンクがされなかった不具合を修正。(Thanks @tannpura00)
|
158 |
+
Fixed: Fixed a bug that the correct page was not linked when "%" in the URL was encoded as "%25".
|
159 |
+
|
160 |
= 2.4.3.2 =
|
161 |
+
* 設定画面の「上級者向け」タブに「URLの補正」の設定を追加。パスに日本語を使用している場合等にリンクが大量にリンク切れになる不具合に対応。(Thanks @tannpura00)
|
162 |
+
Added: Added "URL correction" setting to "Advanced" tab of the setting screen.
|
163 |
|
164 |
= 2.4.3.1 =
|
165 |
* 設定画面で「変更を保存」を実行した際、一部の設定値が正常に保存されていなかった不具合を修正。
|
204 |
Modified: Moved the setting item of "Relative URL" on the setting screen from the "Advanced" tab to the "Link Check" tab.
|
205 |
* 設定画面の「基本」タブに、「更新履歴」の表示を追加。
|
206 |
Added: Added the display of "Changelog" to the "Basic" tab of the setting screen.
|
207 |
+
* 設定画面の「リンク先の検査」タブに「相対指定URL」の設定を追加。
|
208 |
+
Added: Added "Relative URL" setting to "Link Check" tab of the setting screen.
|
209 |
* 設定画面の「Web API」タブ、「画像」タブ、「CSS」タブを削除。
|
210 |
Modified: Removed "Web API" tab, "Image" tab, and "CSS" tab on the setting screen.
|
211 |
* 設定画面に「その他」タブを追加。(「Web API」「画像」「CSS」の内容を統合)
|
218 |
Modified: Modified the initial selection of "Relative URL" on the "Link Check" tab of the setting screen to Checked.
|
219 |
* 設定画面に「マルチサイト」タブを追加。(マルチサイト設定時のみ表示されます)
|
220 |
Added: Added "Multi Site" tab to the setting screen. (Displayed only when multi-site is set)
|
221 |
+
* 設定画面の「上級者向け」タブに「圧縮」の設定を追加。
|
222 |
+
Added: Added settings of "Compress" to the "Advanced" tab of the setting screen.
|
223 |
* 設定画面の「上級者向け」タブに「ファイルメニュー」の設定を追加。
|
224 |
Added: Added settings of "File Menu" to the "Advanced" tab of the setting screen.
|
225 |
* 設定画面の「上級者向け」タブに「初期化タブ」を表示する設定を追加。
|
226 |
Added: Added a setting to display the "Initialization Tab" in the "Advanced" tab of the setting screen.
|
227 |
* 設定画面の「上級者向け」タブから「実行時間の表示」の設定を削除。
|
228 |
+
Modified: Deleted "Display Execution Time" setting from "Advanced" tab of the setting screen.
|
229 |
* 設定画面の「上級者向け」タブに「調査モード」の設定を追加。(通常は使用しないでください)
|
230 |
Added a setting to display the "Survey Mode" in the "Advanced" tab of the setting screen. (Do not use normally)
|
231 |
* 設定画面の「上級者向け」タブに「管理者モード」の設定を追加。(動作無能に陥る設定が可能なため、通常は使用しないでください。)
|