Version Description
- WordPress 5.7.1 Compatible with WordPress 5.7.1.
- WordPress 5.7.2 Compatible with WordPress 5.7.2.
- WordPress 5.8 Compatible with WordPress 5.8.
- WordPress 5.8.1 Compatible with WordPress 5.8.1.
- Added: Added escape sequence to the character string displayed on the list of the card management screen.
- Added: Added escape sequence to the character string displayed on the editor of the card management screen.
- Added: Added escape sequence to the character string when displaying the link-card.
Download this release
Release Info
Developer | poporon |
Plugin | Pz-LinkCard |
Version | 2.4.4.4 |
Comparing to | |
See all releases |
Code changes from version 2.4.4.3 to 2.4.4.4
- lib/pz-linkcard-cacheman-list.php +79 -93
- lib/pz-linkcard-cacheman.php +22 -21
- pz-linkcard.php +5 -2
- readme.txt +17 -1
lib/pz-linkcard-cacheman-list.php
CHANGED
@@ -1,38 +1,41 @@
|
|
1 |
<?php defined('ABSPATH' ) || wp_die; ?>
|
2 |
<?php
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
case 'use_post_id4':
|
23 |
-
case 'use_post_id5':
|
24 |
-
case 'use_post_id6':
|
25 |
-
case 'update_result':
|
26 |
-
case 'alive_result':
|
27 |
-
break;
|
28 |
-
default:
|
29 |
-
$orderby = 'id';
|
30 |
-
$order = 'desc';
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
// 抽出条件
|
@@ -64,55 +67,53 @@
|
|
64 |
}
|
65 |
}
|
66 |
|
67 |
-
//
|
68 |
-
$
|
69 |
-
$
|
70 |
-
|
71 |
-
|
72 |
-
$
|
73 |
-
$key2 = $keyword;
|
74 |
if ($where ) {
|
75 |
-
$where
|
76 |
-
} else {
|
77 |
-
$where .= " ( title LIKE '%%%s%%' OR excerpt LIKE '%%%s%%' )";
|
78 |
}
|
|
|
79 |
}
|
80 |
|
81 |
// ドメイン指定
|
82 |
-
if (
|
83 |
-
|
84 |
-
$key3 = $refine;
|
85 |
-
} else {
|
86 |
-
$key1 = $refine;
|
87 |
-
}
|
88 |
if ($where ) {
|
89 |
-
$where
|
90 |
-
} else {
|
91 |
-
$where .= " domain = %s";
|
92 |
}
|
|
|
93 |
}
|
94 |
|
95 |
// 検索SQL作成
|
96 |
-
$sql
|
97 |
-
if (
|
98 |
-
$sql
|
99 |
}
|
100 |
-
if (
|
101 |
-
$sql
|
102 |
}
|
103 |
-
if (
|
104 |
-
|
105 |
}
|
106 |
|
107 |
// データ抽出
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
$data_now = $wpdb->get_results($wpdb->prepare($sql, $
|
114 |
-
|
|
|
|
|
|
|
|
|
115 |
$data_now = $wpdb->get_results($sql );
|
|
|
116 |
}
|
117 |
$count_now = count($data_now );
|
118 |
|
@@ -125,13 +126,6 @@
|
|
125 |
$page_next = intval(($page_now < $page_max ) ? $page_now + 1 : null ); // 次のページ数
|
126 |
$page_top = intval(($page_now < 1 ) ? 0 : (($page_now - 1 ) * $page_limit ) ); // ページの最初(0 origin)
|
127 |
|
128 |
-
// ドメイン一覧作成
|
129 |
-
$sql = "SELECT domain, site_name, count(*) AS count FROM $this->db_name GROUP BY DOMAIN ASC";
|
130 |
-
if (strpos($sql, '--' ) || strpos($sql, 'UPDATE' ) || strpos($sql, 'UNION' ) ) { // 気持ち程度のインジェクション対策
|
131 |
-
die;
|
132 |
-
}
|
133 |
-
$domain_list = $wpdb->get_results($sql ); // テーブルデータ
|
134 |
-
|
135 |
// 件数確認
|
136 |
$sql = "SELECT COUNT( * ) AS count_all, ";
|
137 |
$sql .= "COUNT( CASE WHEN url LIKE '".get_bloginfo('url' )."%' THEN 1 END ) AS count_internal, ";
|
@@ -196,9 +190,9 @@
|
|
196 |
<option value="" selected="selected"><?php _e('All Domain', $this->text_domain ); ?></option>
|
197 |
<?php
|
198 |
foreach ($domain_list as $rec ) {
|
199 |
-
$disp_domain = (function_exists('idn_to_utf8' ) && mb_substr($rec
|
200 |
-
$selected = $rec
|
201 |
-
echo '<option value="'
|
202 |
}
|
203 |
?>
|
204 |
</select>
|
@@ -306,26 +300,26 @@
|
|
306 |
}
|
307 |
}
|
308 |
if ($is_internal ) {
|
309 |
-
$html_url .= '<a href="'
|
310 |
} else {
|
311 |
-
$html_url .= '<a href="'
|
312 |
}
|
313 |
-
$html_url .= $this->pz_DecodeURL($url ).'</a>';
|
314 |
|
315 |
// タイトル
|
316 |
-
$title =
|
317 |
if ($data->regist_title == $data->title ) {
|
318 |
-
$html_title = $title;
|
319 |
} else {
|
320 |
-
$html_title = '<b>'
|
321 |
}
|
322 |
|
323 |
// 抜粋文
|
324 |
-
$excerpt =
|
325 |
if ($data->regist_excerpt == $data->excerpt ) {
|
326 |
-
$html_excerpt = $excerpt;
|
327 |
} else {
|
328 |
-
$html_excerpt = '<b>'
|
329 |
}
|
330 |
|
331 |
// SNSカウント
|
@@ -366,14 +360,6 @@
|
|
366 |
}
|
367 |
}
|
368 |
|
369 |
-
// $html_post_id = null;
|
370 |
-
// $html_post_id .= $data->use_post_id1 > 0 ? '<a href="'.get_permalink($data->use_post_id1 ).'" target="_blank" title="'.get_the_title($data->use_post_id1 ).'">'.$data->use_post_id1.'</a><br>' : null;
|
371 |
-
// $html_post_id .= $data->use_post_id2 > 0 ? '<a href="'.get_permalink($data->use_post_id2 ).'" target="_blank" title="'.get_the_title($data->use_post_id2 ).'">'.$data->use_post_id2.'</a><br>' : null;
|
372 |
-
// $html_post_id .= $data->use_post_id3 > 0 ? '<a href="'.get_permalink($data->use_post_id3 ).'" target="_blank" title="'.get_the_title($data->use_post_id3 ).'">'.$data->use_post_id3.'</a><br>' : null;
|
373 |
-
// $html_post_id .= $data->use_post_id4 > 0 ? '<a href="'.get_permalink($data->use_post_id4 ).'" target="_blank" title="'.get_the_title($data->use_post_id4 ).'">'.$data->use_post_id4.'</a><br>' : null;
|
374 |
-
// $html_post_id .= $data->use_post_id5 > 0 ? '<a href="'.get_permalink($data->use_post_id5 ).'" target="_blank" title="'.get_the_title($data->use_post_id5 ).'">'.$data->use_post_id5.'</a><br>' : null;
|
375 |
-
// $html_post_id .= $data->use_post_id6 > 0 ? '<a href="'.get_permalink($data->use_post_id6 ).'" target="_blank" title="'.get_the_title($data->use_post_id6 ).'">'.$data->use_post_id6.'</a><br>' : null;
|
376 |
-
|
377 |
// HTTPレスポンス
|
378 |
$html_result = '<span class="pz-lkc-man-body-result-update">'.strHTTPCode($data->update_result, $this->pz_HTTPMessage($data->update_result ) ).'</span>';
|
379 |
if ($data->update_result <> $data->alive_result ) {
|
@@ -398,8 +384,8 @@
|
|
398 |
</div>
|
399 |
</td>
|
400 |
<td><div class="pz-lkc-man-body-excerpt" title="<?php echo $excerpt; ?>"><?php echo $html_excerpt; ?></div></td>
|
401 |
-
<td class="pz-lkc-man-body-charset pz-lkc-admin-only"><?php echo $data->charset; ?></td>
|
402 |
-
<td><div class="pz-lkc-man-body-domain"><div title="<?php echo $domain; ?>"><?php if (function_exists('idn_to_utf8' ) && mb_substr($domain, 0, 4) == 'xn--') { echo idn_to_utf8($domain ); } else { echo $domain; } ?></div><span class="pz-lkc-man-body-sitename" title="<?php echo $data->site_name; ?>"><?php echo $data->site_name; ?></span></div></td>
|
403 |
<td class="pz-lkc-man-body-sns"><?php echo $html_sns; ?></td>
|
404 |
<td class="pz-lkc-man-body-resist-time pz-lkc-admin-only"><?php $dt=$data->regist_time; ?><span title="<?php echo date($this->datetime_format, $dt); ?>"><?php echo date('Y', $dt ); ?><br><?php echo date('m/d', $dt ); ?><br><?php echo date('H:i', $dt ); ?></span></td></td>
|
405 |
<td class="pz-lkc-man-body-update-time"><?php $dt=$data->update_time; ?><span title="<?php echo date($this->datetime_format, $dt); ?>"><?php echo date('Y', $dt ); ?><br><?php echo date('m/d', $dt ); ?><br><?php echo date('H:i', $dt ); ?></span></td></td>
|
1 |
<?php defined('ABSPATH' ) || wp_die; ?>
|
2 |
<?php
|
3 |
+
// ドメイン一覧作成
|
4 |
+
$domain_list = $wpdb->get_results("SELECT domain, site_name, count(*) AS count FROM $this->db_name GROUP BY DOMAIN ASC", ARRAY_A );
|
5 |
+
|
6 |
+
// ドメイン存在チェック
|
7 |
+
$refine = null;
|
8 |
+
if ($param_refine ) {
|
9 |
+
foreach ($domain_list as $item ) {
|
10 |
+
if ($param_refine == $item['domain'] ) {
|
11 |
+
$refine = $item['domain'];
|
12 |
+
break;
|
13 |
+
}
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
// キーワード
|
18 |
+
if ($param_keyword ) {
|
19 |
+
$keyword = stripslashes($param_keyword );
|
20 |
+
} else {
|
21 |
+
$keyword = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
24 |
+
// ソート項目パラメータ
|
25 |
+
$column_rec = $wpdb->get_results("SELECT * FROM $this->db_name LIMIT 1", ARRAY_A ); // 1レコード目を取得
|
26 |
+
$param_orderby = strtolower($param_orderby );
|
27 |
+
if (isset($column_rec[0] ) && array_key_exists($param_orderby, $column_rec[0] ) ) { // 項目名に存在するかチェック
|
28 |
+
$orderby = $param_orderby; // 存在したら項目名にセットする
|
29 |
+
} else {
|
30 |
+
$orderby = 'id'; // 存在しない項目名の場合 'id' をセットする
|
31 |
+
}
|
32 |
+
|
33 |
+
// ソート順パラメータ
|
34 |
+
$param_order = strtolower($param_order );
|
35 |
+
if ($param_order == 'asc' ) {
|
36 |
+
$order = 'asc'; // 昇順
|
37 |
+
} else {
|
38 |
+
$order = 'desc'; // 降順
|
39 |
}
|
40 |
|
41 |
// 抽出条件
|
67 |
}
|
68 |
}
|
69 |
|
70 |
+
// キーワード指定
|
71 |
+
$param = array();
|
72 |
+
if ($keyword ) {
|
73 |
+
$like = '%' . $wpdb->esc_like($keyword ) . '%';
|
74 |
+
$param[] = $like;
|
75 |
+
$param[] = $like;
|
|
|
76 |
if ($where ) {
|
77 |
+
$where .= " AND ";
|
|
|
|
|
78 |
}
|
79 |
+
$where .= "( title LIKE '%s' OR excerpt LIKE '%s' )";
|
80 |
}
|
81 |
|
82 |
// ドメイン指定
|
83 |
+
if ($refine ) {
|
84 |
+
$param[] = $refine;
|
|
|
|
|
|
|
|
|
85 |
if ($where ) {
|
86 |
+
$where .= " AND ";
|
|
|
|
|
87 |
}
|
88 |
+
$where .= "domain = %s";
|
89 |
}
|
90 |
|
91 |
// 検索SQL作成
|
92 |
+
$sql = "SELECT * FROM $this->db_name";
|
93 |
+
if ($where ) {
|
94 |
+
$sql .= " WHERE $where";
|
95 |
}
|
96 |
+
if ($orderby ) {
|
97 |
+
$sql .= " ORDER BY $orderby $order";
|
98 |
}
|
99 |
+
if (strpos($sql, 'UPDATE' ) || strpos($sql, 'UNION' ) ) { // 気持ち程度のインジェクション対策
|
100 |
+
$sql = null;
|
101 |
}
|
102 |
|
103 |
// データ抽出
|
104 |
+
switch (count($param ) ) {
|
105 |
+
case 1:
|
106 |
+
$data_now = $wpdb->get_results($wpdb->prepare($sql, $param[0] ) );
|
107 |
+
break;
|
108 |
+
case 2:
|
109 |
+
$data_now = $wpdb->get_results($wpdb->prepare($sql, $param[0], $param[1] ) );
|
110 |
+
break;
|
111 |
+
case 3:
|
112 |
+
$data_now = $wpdb->get_results($wpdb->prepare($sql, $param[0], $param[1], $param[2] ) );
|
113 |
+
break;
|
114 |
+
default:
|
115 |
$data_now = $wpdb->get_results($sql );
|
116 |
+
break;
|
117 |
}
|
118 |
$count_now = count($data_now );
|
119 |
|
126 |
$page_next = intval(($page_now < $page_max ) ? $page_now + 1 : null ); // 次のページ数
|
127 |
$page_top = intval(($page_now < 1 ) ? 0 : (($page_now - 1 ) * $page_limit ) ); // ページの最初(0 origin)
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
// 件数確認
|
130 |
$sql = "SELECT COUNT( * ) AS count_all, ";
|
131 |
$sql .= "COUNT( CASE WHEN url LIKE '".get_bloginfo('url' )."%' THEN 1 END ) AS count_internal, ";
|
190 |
<option value="" selected="selected"><?php _e('All Domain', $this->text_domain ); ?></option>
|
191 |
<?php
|
192 |
foreach ($domain_list as $rec ) {
|
193 |
+
$disp_domain = (function_exists('idn_to_utf8' ) && mb_substr($rec[domain], 0, 4) == 'xn--') ? idn_to_utf8($rec[domain] ) : $rec[domain] ;
|
194 |
+
$selected = $rec[domain] == $refine ? ' selected="selected"' : null ;
|
195 |
+
echo '<option value="'.htmlspecialchars($rec[domain] ).'"'.$selected.'>'.htmlspecialchars($disp_domain ).' ('.$rec[count].')</option>';
|
196 |
}
|
197 |
?>
|
198 |
</select>
|
300 |
}
|
301 |
}
|
302 |
if ($is_internal ) {
|
303 |
+
$html_url .= '<a href="'.htmlspecialchars($url ).'" title="'.htmlspecialchars($url ).'" rel="internal" target="_self">';
|
304 |
} else {
|
305 |
+
$html_url .= '<a href="'.htmlspecialchars($url ).'" title="'.htmlspecialchars($url ).'" rel="external noopenner noreferrer" target="_blank">';
|
306 |
}
|
307 |
+
$html_url .= htmlspecialchars($this->pz_DecodeURL($url ) ).'</a>';
|
308 |
|
309 |
// タイトル
|
310 |
+
$title = $data->title;
|
311 |
if ($data->regist_title == $data->title ) {
|
312 |
+
$html_title = htmlspecialchars($title );
|
313 |
} else {
|
314 |
+
$html_title = '<b>'.htmlspecialchars($title ).'</b>';
|
315 |
}
|
316 |
|
317 |
// 抜粋文
|
318 |
+
$excerpt = $data->excerpt;
|
319 |
if ($data->regist_excerpt == $data->excerpt ) {
|
320 |
+
$html_excerpt = htmlspecialchars($excerpt );
|
321 |
} else {
|
322 |
+
$html_excerpt = '<b>'.htmlspecialchars($excerpt ).'</b>';
|
323 |
}
|
324 |
|
325 |
// SNSカウント
|
360 |
}
|
361 |
}
|
362 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
// HTTPレスポンス
|
364 |
$html_result = '<span class="pz-lkc-man-body-result-update">'.strHTTPCode($data->update_result, $this->pz_HTTPMessage($data->update_result ) ).'</span>';
|
365 |
if ($data->update_result <> $data->alive_result ) {
|
384 |
</div>
|
385 |
</td>
|
386 |
<td><div class="pz-lkc-man-body-excerpt" title="<?php echo $excerpt; ?>"><?php echo $html_excerpt; ?></div></td>
|
387 |
+
<td class="pz-lkc-man-body-charset pz-lkc-admin-only"><?php echo htmlspecialchars($data->charset ); ?></td>
|
388 |
+
<td><div class="pz-lkc-man-body-domain"><div title="<?php echo $domain; ?>"><?php if (function_exists('idn_to_utf8' ) && mb_substr($domain, 0, 4) == 'xn--') { echo idn_to_utf8($domain ); } else { echo $domain; } ?></div><span class="pz-lkc-man-body-sitename" title="<?php echo htmlspecialchars($data->site_name ); ?>"><?php echo htmlspecialchars($data->site_name ); ?></span></div></td>
|
389 |
<td class="pz-lkc-man-body-sns"><?php echo $html_sns; ?></td>
|
390 |
<td class="pz-lkc-man-body-resist-time pz-lkc-admin-only"><?php $dt=$data->regist_time; ?><span title="<?php echo date($this->datetime_format, $dt); ?>"><?php echo date('Y', $dt ); ?><br><?php echo date('m/d', $dt ); ?><br><?php echo date('H:i', $dt ); ?></span></td></td>
|
391 |
<td class="pz-lkc-man-body-update-time"><?php $dt=$data->update_time; ?><span title="<?php echo date($this->datetime_format, $dt); ?>"><?php echo date('Y', $dt ); ?><br><?php echo date('m/d', $dt ); ?><br><?php echo date('H:i', $dt ); ?></span></td></td>
|
lib/pz-linkcard-cacheman.php
CHANGED
@@ -8,33 +8,34 @@
|
|
8 |
<input type="text" class="pz-lkc-display pz-lkc-hide" name="pz-lkc-admin" value="<?php echo $this->options['admin-mode']; ?>" />
|
9 |
<input type="text" class="pz-lkc-display pz-lkc-hide" name="pz-lkc-develop" value="<?php echo $this->options['develop-mode']; ?>" />
|
10 |
<?php
|
11 |
-
$data
|
12 |
if (isset($_REQUEST['update'] ) ) {
|
13 |
-
$action
|
14 |
if (isset($_REQUEST['data'] ) && is_array($_REQUEST['data'] ) ) {
|
15 |
-
$data
|
16 |
}
|
17 |
-
$bulk_id
|
18 |
} elseif (isset($_REQUEST['cancel'] ) ) {
|
19 |
-
$action
|
20 |
-
$bulk_id
|
21 |
} else {
|
22 |
-
$action
|
23 |
-
$bulk_id
|
24 |
}
|
25 |
-
|
26 |
-
$
|
27 |
-
$
|
28 |
-
$
|
29 |
-
$
|
30 |
-
|
31 |
-
$extraction
|
32 |
-
$cache_id
|
33 |
-
$confirm
|
34 |
-
$update_result
|
35 |
-
$alive_result
|
36 |
-
|
37 |
-
$paged
|
|
|
38 |
|
39 |
$mydomain = null;
|
40 |
if (preg_match('{https?://(.*)/}i', $this->home_url.'/',$m ) ) {
|
8 |
<input type="text" class="pz-lkc-display pz-lkc-hide" name="pz-lkc-admin" value="<?php echo $this->options['admin-mode']; ?>" />
|
9 |
<input type="text" class="pz-lkc-display pz-lkc-hide" name="pz-lkc-develop" value="<?php echo $this->options['develop-mode']; ?>" />
|
10 |
<?php
|
11 |
+
$data = null;
|
12 |
if (isset($_REQUEST['update'] ) ) {
|
13 |
+
$action = 'update';
|
14 |
if (isset($_REQUEST['data'] ) && is_array($_REQUEST['data'] ) ) {
|
15 |
+
$data = $_REQUEST['data'];
|
16 |
}
|
17 |
+
$bulk_id = null;
|
18 |
} elseif (isset($_REQUEST['cancel'] ) ) {
|
19 |
+
$action = null;
|
20 |
+
$bulk_id = null;
|
21 |
} else {
|
22 |
+
$action = isset($_REQUEST['action'] ) ? $_REQUEST['action'] : null;
|
23 |
+
$bulk_id = isset($_REQUEST['id'] ) ? $_REQUEST['id'] : null;
|
24 |
}
|
25 |
+
|
26 |
+
$param_refine = isset($_REQUEST['refine'] ) ? $_REQUEST['refine'] : null;
|
27 |
+
$param_keyword = isset($_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : null;
|
28 |
+
$param_orderby = isset($_REQUEST['orderby'] ) ? $_REQUEST['orderby'] : null;
|
29 |
+
$param_order = isset($_REQUEST['order'] ) ? $_REQUEST['order'] : null;
|
30 |
+
|
31 |
+
$extraction = isset($_REQUEST['extraction'] ) ? $_REQUEST['extraction'] : null;
|
32 |
+
$cache_id = isset($_REQUEST['cache_id'] ) ? $_REQUEST['cache_id'] : null;
|
33 |
+
$confirm = isset($_REQUEST['confirm'] ) ? $_REQUEST['confirm'] : null;
|
34 |
+
$update_result = isset($_REQUEST['update_result'] ) ? $_REQUEST['update_result'] : null;
|
35 |
+
$alive_result = isset($_REQUEST['alive_result'] ) ? $_REQUEST['alive_result'] : null;
|
36 |
+
|
37 |
+
$paged = isset($_REQUEST['paged'] ) ? $_REQUEST['paged'] : 1;
|
38 |
+
$paged = intval($paged ) - 0;
|
39 |
|
40 |
$mydomain = null;
|
41 |
if (preg_match('{https?://(.*)/}i', $this->home_url.'/',$m ) ) {
|
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.4.
|
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.4.
|
21 |
'plugin-path' => '/pz-linkcard',
|
22 |
'author-url' => 'https://popozure.info',
|
23 |
'author-name' => 'Poporon',
|
@@ -994,6 +994,9 @@ class Pz_LinkCard {
|
|
994 |
// 半角空白があったらエンティティ化(エンコード)
|
995 |
$url = str_replace(' ', '%20', $url );
|
996 |
|
|
|
|
|
|
|
997 |
// デコードしたURLを返却
|
998 |
return $url;
|
999 |
}
|
3 |
Plugin Name: Pz-LinkCard
|
4 |
Plugin URI: http://poporon.poponet.jp/pz-linkcard
|
5 |
Description: リンクをカード形式で表示します。
|
6 |
+
Version: 2.4.4.4
|
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.4.4',
|
21 |
'plugin-path' => '/pz-linkcard',
|
22 |
'author-url' => 'https://popozure.info',
|
23 |
'author-name' => 'Poporon',
|
994 |
// 半角空白があったらエンティティ化(エンコード)
|
995 |
$url = str_replace(' ', '%20', $url );
|
996 |
|
997 |
+
// HTMLタグをエスケープ
|
998 |
+
$url = htmlspecialchars($url );
|
999 |
+
|
1000 |
// デコードしたURLを返却
|
1001 |
return $url;
|
1002 |
}
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: Poporon
|
3 |
Tags: LinkCard, BlogCard, Internal Link, External Link
|
4 |
Requires at least: 4.3
|
5 |
-
Tested up to: 5.
|
6 |
Stable tag: trunk
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -151,6 +151,22 @@ Ver.2.1.2から200px四方に変更、Ver.2.4.1から自由に指定できるよ
|
|
151 |
|
152 |
== Changelog ==
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
= 2.4.4.3 =
|
155 |
* 設定画面の「エディタ」タブの「テキストリンク行を変換」を有効にした場合、行の始めから終わりまでAタグで囲われている場合、画像等があっても変換してしまう不具合を修正。(Thanks @magemagemaaage)
|
156 |
Fixed: Fixed a bug that "Convert text link line" on the "Editor" tab of the setting screen converts even if there is something other than text.
|
2 |
Contributors: Poporon
|
3 |
Tags: LinkCard, BlogCard, Internal Link, External Link
|
4 |
Requires at least: 4.3
|
5 |
+
Tested up to: 5.8.1
|
6 |
Stable tag: trunk
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
151 |
|
152 |
== Changelog ==
|
153 |
|
154 |
+
= 2.4.4.4 =
|
155 |
+
* WordPress 5.7.1 での動作確認。
|
156 |
+
Compatible with WordPress 5.7.1.
|
157 |
+
* WordPress 5.7.2 での動作確認。
|
158 |
+
Compatible with WordPress 5.7.2.
|
159 |
+
* WordPress 5.8 での動作確認。
|
160 |
+
Compatible with WordPress 5.8.
|
161 |
+
* WordPress 5.8.1 での動作確認。
|
162 |
+
Compatible with WordPress 5.8.1.
|
163 |
+
* カード管理画面の一覧画面に表示される文字列にエスケープ処理を追加。
|
164 |
+
Added: Added escape sequence to the character string displayed on the list of the card management screen.
|
165 |
+
* カード管理画面の編集画面に表示される文字列にエスケープ処理を追加。
|
166 |
+
Added: Added escape sequence to the character string displayed on the editor of the card management screen.
|
167 |
+
* リンクカードを表示する際の文字列にエスケープ処理を追加。
|
168 |
+
Added: Added escape sequence to the character string when displaying the link-card.
|
169 |
+
|
170 |
= 2.4.4.3 =
|
171 |
* 設定画面の「エディタ」タブの「テキストリンク行を変換」を有効にした場合、行の始めから終わりまでAタグで囲われている場合、画像等があっても変換してしまう不具合を修正。(Thanks @magemagemaaage)
|
172 |
Fixed: Fixed a bug that "Convert text link line" on the "Editor" tab of the setting screen converts even if there is something other than text.
|