自作プラグイン/switchSkin.inc.php
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** switchSkin.inc.php [#r41e10e2]
|RIGHT:100|LEFT:360|c
|~サマリ|クッキー情報によりスキンを変える|
|~リビジョン|1.0|
|~対応バージョン|All (未確認)|
|~投稿者|[[.>./]]|
|~投稿日|&new{2016-03-24 (木) 04:23:36};|
#setlinebreak
スマートフォン用スキンを導入時に簡単にPC用と切り替えでき...
なお、pukiwiki.inc.phpの細工が必要となる。
スマートフォン用スキンをsp.ini.php、パソコン用をpc.ini.ph...
一応default.ini.phpとkeitai.ini.phpもそのまま使えるが、正...
default.ini.phpをpc.ini.phpにコピーする必要がある。
*** ソース(plugin/switchSkin.inc.php) [#mcf54f07]
<?php
function plugin_switchSkin_convert()
{
$_body .= <<<_HTML_
<p>表示切り替え : <a href="?cmd=switchSkin">PC版 / スマ...
_HTML_;
return $_body;
}
function plugin_switchSkin_action()
{
$expire = time() + 60 * 60 * 24 * 30; //クッキーの有...
if ($_COOKIE['skin'] == 'pc') {
$skin = 'sp';
} else {
$skin = 'pc';
}
setcookie('skin', $skin, $expire);
header("Location: $_SERVER[HTTP_REFERER]");
}
?>
*** パッチ(addSwitch.patch) [#e2429bb8]
--- _pukiwiki.ini.php 2016-02-15 05:19:02.000000000 +0900
+++ pukiwiki.ini.php 2016-03-24 04:32:29.283189300 +0900
@@ -452,6 +452,7 @@ $usedatetime = 1;
// If you want to to ignore desktop-PC browsers for sim...
// copy keitai.ini.php to default.ini.php and customize...
+/*
$agents = array(
// pattern: A regular-expression that matches device(br...
// profile: A group of browsers
@@ -546,3 +547,5 @@ $agents = array(
array('pattern'=>'#^#', 'profile'=>'default'), // Sent...
);
+*/
+require 'uaSwitch.php';
*** ソース(uaSwitch.php) [#m3ef5dac]
<?php
///////////////////////////////
//// User-Agent settings
$sp_ua = array(
'iPhone', // iPhone
'iPod', // iPod touch
'Android', // Android
'BlackBerry', // Blackberry
'Windows Phone', // Windows Phone
);
$sp_ua_list = '/ ('.implode('|', $sp_ua).' )/i';
$kt_ua = array (
'DoCoMo', // docomo
'UP\.Browser', // au-kddi
'J\-PHONE/', // j-phone
'Vodafone', // vodafone
'SoftBank', // softbank
'WILLCOM', // willcom
'emobile', // emobile
);
$kt_ua_list = '/ ('.implode('|', $kt_ua).' )/i';
$expire = time() + 60 * 60 * 24 * 30 ; //クッキーの有効...
if (isset($_COOKIE['skin'])) {
$usr_skin = $_COOKIE['skin'];
} elseif (preg_match($sp_ua_list, $_SERVER['HTTP_USER_AG...
//setcookie('skin', 'sp', $expire);
$usr_skin = 'sp';
} elseif (preg_match($kt_ua_list, $_SERVER['HTTP_USER_AG...
//setcookie('skin', 'kt', $expire);
$usr_skin = 'kt';
} else {
//setcookie('skin', 'pc', $expire);
$usr_skin = 'pc';
}
setcookie('skin', $usr_skin, $expire);
switch ($usr_skin) {
case "kt":
$set_skin = "keitai";
break;
case "sp":
$set_skin = "sp";
break;
case "pc":
$set_skin = "pc";
break;
default:
$set_skin = "default";
break;
}
$set_skin = (is_file($set_skin.".ini.php")) ? $set_skin ...
$agents = array(
array('pattern' => '#^#', 'profile' => $set_skin),
);
** バグ等 [#g4ae90a5]
- 類似ネタ: [[dev:BugTrack/634]] スキンを定義でなく変数指...
- 新しくUAによりスマホとガラケーを選び直して残りをPCとし...
- switchSkin.inc.php→switchskin.inc.phpにし、ページに#swi...
#comment(noname)
終了行:
** switchSkin.inc.php [#r41e10e2]
|RIGHT:100|LEFT:360|c
|~サマリ|クッキー情報によりスキンを変える|
|~リビジョン|1.0|
|~対応バージョン|All (未確認)|
|~投稿者|[[.>./]]|
|~投稿日|&new{2016-03-24 (木) 04:23:36};|
#setlinebreak
スマートフォン用スキンを導入時に簡単にPC用と切り替えでき...
なお、pukiwiki.inc.phpの細工が必要となる。
スマートフォン用スキンをsp.ini.php、パソコン用をpc.ini.ph...
一応default.ini.phpとkeitai.ini.phpもそのまま使えるが、正...
default.ini.phpをpc.ini.phpにコピーする必要がある。
*** ソース(plugin/switchSkin.inc.php) [#mcf54f07]
<?php
function plugin_switchSkin_convert()
{
$_body .= <<<_HTML_
<p>表示切り替え : <a href="?cmd=switchSkin">PC版 / スマ...
_HTML_;
return $_body;
}
function plugin_switchSkin_action()
{
$expire = time() + 60 * 60 * 24 * 30; //クッキーの有...
if ($_COOKIE['skin'] == 'pc') {
$skin = 'sp';
} else {
$skin = 'pc';
}
setcookie('skin', $skin, $expire);
header("Location: $_SERVER[HTTP_REFERER]");
}
?>
*** パッチ(addSwitch.patch) [#e2429bb8]
--- _pukiwiki.ini.php 2016-02-15 05:19:02.000000000 +0900
+++ pukiwiki.ini.php 2016-03-24 04:32:29.283189300 +0900
@@ -452,6 +452,7 @@ $usedatetime = 1;
// If you want to to ignore desktop-PC browsers for sim...
// copy keitai.ini.php to default.ini.php and customize...
+/*
$agents = array(
// pattern: A regular-expression that matches device(br...
// profile: A group of browsers
@@ -546,3 +547,5 @@ $agents = array(
array('pattern'=>'#^#', 'profile'=>'default'), // Sent...
);
+*/
+require 'uaSwitch.php';
*** ソース(uaSwitch.php) [#m3ef5dac]
<?php
///////////////////////////////
//// User-Agent settings
$sp_ua = array(
'iPhone', // iPhone
'iPod', // iPod touch
'Android', // Android
'BlackBerry', // Blackberry
'Windows Phone', // Windows Phone
);
$sp_ua_list = '/ ('.implode('|', $sp_ua).' )/i';
$kt_ua = array (
'DoCoMo', // docomo
'UP\.Browser', // au-kddi
'J\-PHONE/', // j-phone
'Vodafone', // vodafone
'SoftBank', // softbank
'WILLCOM', // willcom
'emobile', // emobile
);
$kt_ua_list = '/ ('.implode('|', $kt_ua).' )/i';
$expire = time() + 60 * 60 * 24 * 30 ; //クッキーの有効...
if (isset($_COOKIE['skin'])) {
$usr_skin = $_COOKIE['skin'];
} elseif (preg_match($sp_ua_list, $_SERVER['HTTP_USER_AG...
//setcookie('skin', 'sp', $expire);
$usr_skin = 'sp';
} elseif (preg_match($kt_ua_list, $_SERVER['HTTP_USER_AG...
//setcookie('skin', 'kt', $expire);
$usr_skin = 'kt';
} else {
//setcookie('skin', 'pc', $expire);
$usr_skin = 'pc';
}
setcookie('skin', $usr_skin, $expire);
switch ($usr_skin) {
case "kt":
$set_skin = "keitai";
break;
case "sp":
$set_skin = "sp";
break;
case "pc":
$set_skin = "pc";
break;
default:
$set_skin = "default";
break;
}
$set_skin = (is_file($set_skin.".ini.php")) ? $set_skin ...
$agents = array(
array('pattern' => '#^#', 'profile' => $set_skin),
);
** バグ等 [#g4ae90a5]
- 類似ネタ: [[dev:BugTrack/634]] スキンを定義でなく変数指...
- 新しくUAによりスマホとガラケーを選び直して残りをPCとし...
- switchSkin.inc.php→switchskin.inc.phpにし、ページに#swi...
#comment(noname)
ページ名: