Version Description
Download this release
Release Info
Developer | poporon |
Plugin | Pz-LinkCard |
Version | 1.7.9 |
Comparing to | |
See all releases |
Code changes from version 1.7.8 to 1.7.9
- lib/pz-linkcard-style.php +3 -1
- pz-linkcard.php +59 -11
- readme.txt +6 -0
- templete/pz-linkcard-templete.css +1 -1
lib/pz-linkcard-style.php
CHANGED
@@ -24,7 +24,9 @@
|
|
24 |
|
25 |
$file_text = file_get_contents($temp_name);
|
26 |
if ($file_text) {
|
27 |
-
|
|
|
|
|
28 |
// オマケ書式
|
29 |
switch ($this->options['special-format']) {
|
30 |
case 'LkC': // Pz-LkC Default
|
24 |
|
25 |
$file_text = file_get_contents($temp_name);
|
26 |
if ($file_text) {
|
27 |
+
// バージョン
|
28 |
+
$file_text = str_replace('/*VERSION*/', $this->options['plugin-version'], $file_text );
|
29 |
+
|
30 |
// オマケ書式
|
31 |
switch ($this->options['special-format']) {
|
32 |
case 'LkC': // Pz-LkC Default
|
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: 1.7.
|
7 |
Author: poporon
|
8 |
Author URI: http://poporon.poponet.jp
|
9 |
License: GPLv2 or later
|
@@ -122,7 +122,7 @@ class Pz_LinkCard {
|
|
122 |
'presence' => null,
|
123 |
'plugin-link' => null,
|
124 |
'plugin-name' => 'Pz-LinkCard',
|
125 |
-
'plugin-version' => '1.7.
|
126 |
'plugin-url' => 'http://poporon.poponet.jp/pz-linkcard',
|
127 |
'pz-hbc-options' => null,
|
128 |
'debug-time' => null
|
@@ -148,8 +148,6 @@ class Pz_LinkCard {
|
|
148 |
// DB
|
149 |
global $wpdb;
|
150 |
$this->db_name = $wpdb->prefix.'pz_linkcard';
|
151 |
-
|
152 |
-
echo 'db_name='.$this->db_name.'<br>';
|
153 |
|
154 |
// バージョンが違っていたら、DBとオプションを更新する
|
155 |
if ($this->options['plugin-version'] <> $this->defaults['plugin-version']) {
|
@@ -271,10 +269,17 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
271 |
|
272 |
// キャッシュやリンク先からリンクカードのHTMLを生成
|
273 |
function pz_GetHTML($atts, $content = null) {
|
|
|
|
|
|
|
|
|
274 |
$url = $this->pz_TrimURL( $atts['url'] );
|
275 |
if (!isset($url) || $url == '' ) {
|
276 |
return null;
|
277 |
}
|
|
|
|
|
|
|
278 |
|
279 |
// モバイルチェック
|
280 |
if (function_exists('wp_is_mobile') && wp_is_mobile()) {
|
@@ -282,6 +287,9 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
282 |
} else {
|
283 |
$is_mobile = false;
|
284 |
}
|
|
|
|
|
|
|
285 |
|
286 |
// リンク先URLからドメイン名を抽出
|
287 |
if (preg_match('{https?://(.+?)/}i', $url.'/',$m)) {
|
@@ -303,6 +311,9 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
303 |
} else {
|
304 |
$link_type = 0; // 外部サイト
|
305 |
}
|
|
|
|
|
|
|
306 |
|
307 |
// モバイルかPCかのクラス名を追加
|
308 |
$class_id = 'linkcard';
|
@@ -322,6 +333,9 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
322 |
$data_id = $data['id'];
|
323 |
$url = $data['url'];
|
324 |
}
|
|
|
|
|
|
|
325 |
|
326 |
// 内部リンクの処理
|
327 |
if ( $link_type ) {
|
@@ -334,10 +348,22 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
334 |
$nofollow = '';
|
335 |
|
336 |
// キャッシュが無い、もしくは常に最新を取得する、もしくは強制取得
|
337 |
-
if ( is_null($data_id) ||
|
|
|
|
|
|
|
338 |
$data = $this->pz_GetPost( $data );
|
339 |
$data['link_type'] = 1;
|
|
|
|
|
|
|
340 |
$result = $this->pz_SetCache( $data );
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
}
|
342 |
}
|
343 |
|
@@ -354,6 +380,9 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
354 |
|
355 |
// キャッシュが無い、もしくは強制取得
|
356 |
if ( is_null($data_id) || ( isset($atts['force']) && $atts['force'] == true ) ) {
|
|
|
|
|
|
|
357 |
$result = $this->pz_GetCURL( $data );
|
358 |
if ( isset($result) && is_array($result) && isset($result['url']) ) {
|
359 |
$data = $result;
|
@@ -860,6 +889,9 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
860 |
|
861 |
// 記事内容
|
862 |
$post_id = url_to_postid( $data['url'] ); // 記事IDを取得
|
|
|
|
|
|
|
863 |
if ( $post_id ) {
|
864 |
$result_code = 200; // 外部取得と同じコードをセット
|
865 |
$post = get_post($post_id); // 記事情報
|
@@ -874,18 +906,30 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
874 |
}
|
875 |
}
|
876 |
$thumbnail_id = get_post_thumbnail_id( $post_id ); // サムネイル
|
|
|
|
|
|
|
877 |
$attach = wp_get_attachment_image_src( $thumbnail_id , true );
|
878 |
if (isset($attach) && count($attach) && isset($attach[0])) {
|
879 |
$thumbnail = $attach[0];
|
880 |
}
|
881 |
} else {
|
882 |
// カテゴリページ等は内部取得できないので外部取得する
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
889 |
}
|
890 |
|
891 |
// タイトル整形
|
@@ -1132,6 +1176,10 @@ echo 'db_name='.$this->db_name.'<br>';
|
|
1132 |
$match = null;
|
1133 |
preg_match_all('/<\s*meta\s(?=[^>]*?\b(?:name|property)\s*=\s*(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|([^"\'>]*?)(?=\s*\/?\s*>|\s\w+\s*=)))[^>]*?\bcontent\s*=\s*(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|([^"\'>]*?)(?=\s*\/?\s*>|\s\w+\s*=))[^>]*>/is', $html, $match);
|
1134 |
if (isset($match) && is_array($match) && count($match) == 3 && count($match[1]) > 0) {
|
|
|
|
|
|
|
|
|
1135 |
$tags += array_combine($match[1], $match[2]);
|
1136 |
}
|
1137 |
|
3 |
Plugin Name: Pz-LinkCard
|
4 |
Plugin URI: http://poporon.poponet.jp/pz-linkcard
|
5 |
Description: リンクをカード形式で表示します。
|
6 |
+
Version: 1.7.9
|
7 |
Author: poporon
|
8 |
Author URI: http://poporon.poponet.jp
|
9 |
License: GPLv2 or later
|
122 |
'presence' => null,
|
123 |
'plugin-link' => null,
|
124 |
'plugin-name' => 'Pz-LinkCard',
|
125 |
+
'plugin-version' => '1.7.9',
|
126 |
'plugin-url' => 'http://poporon.poponet.jp/pz-linkcard',
|
127 |
'pz-hbc-options' => null,
|
128 |
'debug-time' => null
|
148 |
// DB
|
149 |
global $wpdb;
|
150 |
$this->db_name = $wpdb->prefix.'pz_linkcard';
|
|
|
|
|
151 |
|
152 |
// バージョンが違っていたら、DBとオプションを更新する
|
153 |
if ($this->options['plugin-version'] <> $this->defaults['plugin-version']) {
|
269 |
|
270 |
// キャッシュやリンク先からリンクカードのHTMLを生成
|
271 |
function pz_GetHTML($atts, $content = null) {
|
272 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
273 |
+
echo PHP_EOL.'<!-- Pz-LkC [DEBUG INFORMATION] /-->'.PHP_EOL;
|
274 |
+
}
|
275 |
+
|
276 |
$url = $this->pz_TrimURL( $atts['url'] );
|
277 |
if (!isset($url) || $url == '' ) {
|
278 |
return null;
|
279 |
}
|
280 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
281 |
+
echo '<!-- Pz-LkC [URL='.$url.'] /-->'.PHP_EOL;
|
282 |
+
}
|
283 |
|
284 |
// モバイルチェック
|
285 |
if (function_exists('wp_is_mobile') && wp_is_mobile()) {
|
287 |
} else {
|
288 |
$is_mobile = false;
|
289 |
}
|
290 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
291 |
+
echo '<!-- Pz-LkC [MOBILE='.$is_mobile.'] /-->'.PHP_EOL;
|
292 |
+
}
|
293 |
|
294 |
// リンク先URLからドメイン名を抽出
|
295 |
if (preg_match('{https?://(.+?)/}i', $url.'/',$m)) {
|
311 |
} else {
|
312 |
$link_type = 0; // 外部サイト
|
313 |
}
|
314 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
315 |
+
echo '<!-- Pz-LkC [TYPE='.$link_type.'] /-->'.PHP_EOL;
|
316 |
+
}
|
317 |
|
318 |
// モバイルかPCかのクラス名を追加
|
319 |
$class_id = 'linkcard';
|
333 |
$data_id = $data['id'];
|
334 |
$url = $data['url'];
|
335 |
}
|
336 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
337 |
+
echo '<!-- Pz-LkC [CACHE='.$data_id.'] /-->'.PHP_EOL;
|
338 |
+
}
|
339 |
|
340 |
// 内部リンクの処理
|
341 |
if ( $link_type ) {
|
348 |
$nofollow = '';
|
349 |
|
350 |
// キャッシュが無い、もしくは常に最新を取得する、もしくは強制取得
|
351 |
+
if ( is_null($data_id) || ( isset($atts['force']) && $atts['force'] == true ) ) {
|
352 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
353 |
+
echo '<!-- Pz-LkC [IN-POST] /-->'.PHP_EOL;
|
354 |
+
}
|
355 |
$data = $this->pz_GetPost( $data );
|
356 |
$data['link_type'] = 1;
|
357 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
358 |
+
echo '<!-- Pz-LkC [IN-SET] /-->'.PHP_EOL;
|
359 |
+
}
|
360 |
$result = $this->pz_SetCache( $data );
|
361 |
+
} elseif ($this->options['in-get'] <> 2) {
|
362 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
363 |
+
echo '<!-- Pz-LkC [IN-POST] /-->'.PHP_EOL;
|
364 |
+
}
|
365 |
+
$data = $this->pz_GetPost( $data );
|
366 |
+
$data['link_type'] = 1;
|
367 |
}
|
368 |
}
|
369 |
|
380 |
|
381 |
// キャッシュが無い、もしくは強制取得
|
382 |
if ( is_null($data_id) || ( isset($atts['force']) && $atts['force'] == true ) ) {
|
383 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
384 |
+
echo '<!-- Pz-LkC [OUT-CURL] /-->'.PHP_EOL;
|
385 |
+
}
|
386 |
$result = $this->pz_GetCURL( $data );
|
387 |
if ( isset($result) && is_array($result) && isset($result['url']) ) {
|
388 |
$data = $result;
|
889 |
|
890 |
// 記事内容
|
891 |
$post_id = url_to_postid( $data['url'] ); // 記事IDを取得
|
892 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
893 |
+
echo '<!-- Pz-LkC [PID='.$post_id.'] /-->'.PHP_EOL;
|
894 |
+
}
|
895 |
if ( $post_id ) {
|
896 |
$result_code = 200; // 外部取得と同じコードをセット
|
897 |
$post = get_post($post_id); // 記事情報
|
906 |
}
|
907 |
}
|
908 |
$thumbnail_id = get_post_thumbnail_id( $post_id ); // サムネイル
|
909 |
+
if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
910 |
+
echo '<!-- Pz-LkC [TID='.$thumbnail_id.'] /-->'.PHP_EOL;
|
911 |
+
}
|
912 |
$attach = wp_get_attachment_image_src( $thumbnail_id , true );
|
913 |
if (isset($attach) && count($attach) && isset($attach[0])) {
|
914 |
$thumbnail = $attach[0];
|
915 |
}
|
916 |
} else {
|
917 |
// カテゴリページ等は内部取得できないので外部取得する
|
918 |
+
//if (isset($this->options['debug-time']) && $this->options['debug-time']) {
|
919 |
+
// echo '<!-- Pz-LkC [IN-CURL] /-->'.PHP_EOL;
|
920 |
+
//}
|
921 |
+
//$data = $this->pz_GetCURL( $data );
|
922 |
+
//$title = $data['title'];
|
923 |
+
//$excerpt = $data['excerpt'];
|
924 |
+
//$site_name = $data['site_name'];
|
925 |
+
//$thumbnail = $data['thumbnail'];
|
926 |
+
//$result_code = $data['result_code'];
|
927 |
+
// カテゴリページ等は内部取得できないのでサイト名をセットする
|
928 |
+
$title = get_bloginfo('name');
|
929 |
+
$excerpt = get_bloginfo('description');
|
930 |
+
$site_name = get_bloginfo('name');
|
931 |
+
$thumbnail = '';
|
932 |
+
$result_code = '200';
|
933 |
}
|
934 |
|
935 |
// タイトル整形
|
1176 |
$match = null;
|
1177 |
preg_match_all('/<\s*meta\s(?=[^>]*?\b(?:name|property)\s*=\s*(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|([^"\'>]*?)(?=\s*\/?\s*>|\s\w+\s*=)))[^>]*?\bcontent\s*=\s*(?|"\s*([^"]*?)\s*"|\'\s*([^\']*?)\s*\'|([^"\'>]*?)(?=\s*\/?\s*>|\s\w+\s*=))[^>]*>/is', $html, $match);
|
1178 |
if (isset($match) && is_array($match) && count($match) == 3 && count($match[1]) > 0) {
|
1179 |
+
foreach ($match[1] as &$m) {
|
1180 |
+
$m = strtolower($m);
|
1181 |
+
}
|
1182 |
+
unset($m);
|
1183 |
$tags += array_combine($match[1], $match[2]);
|
1184 |
}
|
1185 |
|
readme.txt
CHANGED
@@ -155,6 +155,12 @@ A5.
|
|
155 |
|
156 |
== Changelog ==
|
157 |
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
Ver1.7.8
|
159 |
* Fixed: Fixed a bug that table is not created.
|
160 |
|
155 |
|
156 |
== Changelog ==
|
157 |
|
158 |
+
Ver1.7.8.2
|
159 |
+
* Fixed: Fixed a bug that table is not created.
|
160 |
+
|
161 |
+
* METAタグの名前が大文字が混ざっていると取得できなかったのを修正。(Thanks @J_kindan)
|
162 |
+
* 内部リンクが取得できない時に外部アクセスしていたのが高負荷に繋がっていたため、外部アクセスしないように修正。(Thanks @J_kindan)
|
163 |
+
|
164 |
Ver1.7.8
|
165 |
* Fixed: Fixed a bug that table is not created.
|
166 |
|
templete/pz-linkcard-templete.css
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
/* [Pz-LkC][
|
2 |
.linkcard {
|
3 |
/*MARGIN-TOP*/
|
4 |
/*MARGIN-BOTTOM*/
|
1 |
+
/* [Pz-LkC][/*VERSION*/] CSS */
|
2 |
.linkcard {
|
3 |
/*MARGIN-TOP*/
|
4 |
/*MARGIN-BOTTOM*/
|