欲しいプラグイン/394
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
**一定の時間ごとにメッセージを変えるプラグイン [#j711d959]
|RIGHT:70|LEFT:410|c
|~バージョン||
|~投稿者|[[aromatherapy]]|
|~状態|完了|
|~投稿日|&new{2012-05-28 (月) 14:24:07};|
***メッセージ [#i796e2a3]
例えば、周期を48時間として
start(開始時刻)を19:00として、その27時間後をend(終了)...
■開始~終了時刻まで好きなメッセージ表示
「開始してから19時間が経過。終了まで残り8時間です。」みた...
■時間外はまた違うメッセージを表示
「休憩中です」みたいに使おうと思ってるんですが、開始まで...
***とりあえず作ってみました。 [#y5575914]
&ctimer(開始時刻,期間,周期,表示形式){個別メッセージ};
''開始時刻'' php関数strtotimeが処理できる文字列.例えば...
''期間'' イベント期間を時間単位で~
''周期'' イベントの開始周期を時間単位で。省略時は...
''表示形式'' remain イベント期間中の場合、残り時間の...
past イベント期間中の場合、経過時間を表示。~
cdown イベント期間外の場合、次の開始時刻ま...
●1つのイベントを毎日(24時間毎に)実行する場合
&ctimer(2012/05/29 10:00:00,14,24,remain,cdown){''イベン...
上の例だと、毎日(24時間周期で) 10時~24時(14時間)を...
●2つを組み合わせて、時間帯別に表示を変える場合
&ctimer(2012/05/29 10:00:00,14,24,past,remain){開店 };&...
2つ組み合わせて、期間中は「開店 hh時間mm分が経過。残...
<?php
// License: The same as PukiWiki
// PukiWiki - Yet another WikiWikiWeb clone.
// $Id: ctimer.inc.php,v 0.02 2012/05/30 00:00:00 Kazuna...
define('PLUGIN_CTIMER_USAGE', '&ctimer(start,range,cycle...
define('PLUGIN_CTIMER_PAST','開始$1が経過。');
define('PLUGIN_CTIMER_REMAIN','残り$1です。');
define('PLUGIN_CTIMER_CDOWN','開始$1前です。');
define('PLUGIN_CTIMER_HOUR','$1時間');
define('PLUGIN_CTIMER_MINUTE','$1分');
define('PLUGIN_CTIMER_UNITS',3600); // Set unit i...
function plugin_ctimer_inline()
{
global $vars;
$now=time();
$args = func_get_args();
if (count($args)<2){ return(PLUGIN_CTIMER_USAGE);}
$mess0 =array_pop($args);
$start0=array_shift($args);
foreach($args as $v){
switch ($v){
case 'remain': $remain=1; break;
case 'past': $past=1; break;
case 'cdown': $cdown=1; break;
default:
if ($range0!=0){$cycle0=intval($v);}else{$range0...
}
}
$start=strtotime($start0);
if ($start<10000000){ return('ctimer error:illegal st...
$range=intval($range0);
$cycle=intval($cycle0);
$end=$start+$range*PLUGIN_CTIMER_UNITS;
if($cycle>0){
if ($cycle<$range){return('ctimer error:cycle too sm...
$cycle=$cycle*PLUGIN_CTIMER_UNITS;
if($start<$now){
$ctimes=floor(($now-$start)/$cycle);
$start+=($cycle*$ctimes);
$end +=($cycle*$ctimes);
}
if($end<$now){
$start+=$cycle;
$end +=$cycle;
}
}
$rr='';
if (( $cdown)&($now<$start)){
$rr.=str_replace("$1",plugin_ctimer_fmt($start-$no...
}
if (($start<=$now)&($now<=$end)){
if ( $past){
$rr.=str_replace("$1",plugin_ctimer_fmt($now-$star...
}
if ($remain){
$rr.=str_replace("$1",plugin_ctimer_fmt($end-$now ...
}
}
if ($rr!=''){$rr=$mess0.$rr;};
return ($rr);
}
function plugin_ctimer_fmt($p){
$r='';
if ($p>3600){
$ph=strval(intval($p/3600));
$r=str_replace("$1",$ph,PLUGIN_CTIMER_HOUR);
}
$pm=strval(intval(($p%3600)/60));
$r.=str_replace("$1",$pm,PLUGIN_CTIMER_MINUTE);
return($r);
}
?>
***コメント [#naf8d900]
- 迅速な対応に本当に感謝します。 -- [[aromatherapy]] &new...
- 周期開始の判定が誤っていたので修正&関数の整理 すみま...
- 修正と関数の整理ありがとうございます!いえ、私は全く解...
- cs wiki > http://cswiki.jp/ さんを使っているんです...
#comment
終了行:
**一定の時間ごとにメッセージを変えるプラグイン [#j711d959]
|RIGHT:70|LEFT:410|c
|~バージョン||
|~投稿者|[[aromatherapy]]|
|~状態|完了|
|~投稿日|&new{2012-05-28 (月) 14:24:07};|
***メッセージ [#i796e2a3]
例えば、周期を48時間として
start(開始時刻)を19:00として、その27時間後をend(終了)...
■開始~終了時刻まで好きなメッセージ表示
「開始してから19時間が経過。終了まで残り8時間です。」みた...
■時間外はまた違うメッセージを表示
「休憩中です」みたいに使おうと思ってるんですが、開始まで...
***とりあえず作ってみました。 [#y5575914]
&ctimer(開始時刻,期間,周期,表示形式){個別メッセージ};
''開始時刻'' php関数strtotimeが処理できる文字列.例えば...
''期間'' イベント期間を時間単位で~
''周期'' イベントの開始周期を時間単位で。省略時は...
''表示形式'' remain イベント期間中の場合、残り時間の...
past イベント期間中の場合、経過時間を表示。~
cdown イベント期間外の場合、次の開始時刻ま...
●1つのイベントを毎日(24時間毎に)実行する場合
&ctimer(2012/05/29 10:00:00,14,24,remain,cdown){''イベン...
上の例だと、毎日(24時間周期で) 10時~24時(14時間)を...
●2つを組み合わせて、時間帯別に表示を変える場合
&ctimer(2012/05/29 10:00:00,14,24,past,remain){開店 };&...
2つ組み合わせて、期間中は「開店 hh時間mm分が経過。残...
<?php
// License: The same as PukiWiki
// PukiWiki - Yet another WikiWikiWeb clone.
// $Id: ctimer.inc.php,v 0.02 2012/05/30 00:00:00 Kazuna...
define('PLUGIN_CTIMER_USAGE', '&ctimer(start,range,cycle...
define('PLUGIN_CTIMER_PAST','開始$1が経過。');
define('PLUGIN_CTIMER_REMAIN','残り$1です。');
define('PLUGIN_CTIMER_CDOWN','開始$1前です。');
define('PLUGIN_CTIMER_HOUR','$1時間');
define('PLUGIN_CTIMER_MINUTE','$1分');
define('PLUGIN_CTIMER_UNITS',3600); // Set unit i...
function plugin_ctimer_inline()
{
global $vars;
$now=time();
$args = func_get_args();
if (count($args)<2){ return(PLUGIN_CTIMER_USAGE);}
$mess0 =array_pop($args);
$start0=array_shift($args);
foreach($args as $v){
switch ($v){
case 'remain': $remain=1; break;
case 'past': $past=1; break;
case 'cdown': $cdown=1; break;
default:
if ($range0!=0){$cycle0=intval($v);}else{$range0...
}
}
$start=strtotime($start0);
if ($start<10000000){ return('ctimer error:illegal st...
$range=intval($range0);
$cycle=intval($cycle0);
$end=$start+$range*PLUGIN_CTIMER_UNITS;
if($cycle>0){
if ($cycle<$range){return('ctimer error:cycle too sm...
$cycle=$cycle*PLUGIN_CTIMER_UNITS;
if($start<$now){
$ctimes=floor(($now-$start)/$cycle);
$start+=($cycle*$ctimes);
$end +=($cycle*$ctimes);
}
if($end<$now){
$start+=$cycle;
$end +=$cycle;
}
}
$rr='';
if (( $cdown)&($now<$start)){
$rr.=str_replace("$1",plugin_ctimer_fmt($start-$no...
}
if (($start<=$now)&($now<=$end)){
if ( $past){
$rr.=str_replace("$1",plugin_ctimer_fmt($now-$star...
}
if ($remain){
$rr.=str_replace("$1",plugin_ctimer_fmt($end-$now ...
}
}
if ($rr!=''){$rr=$mess0.$rr;};
return ($rr);
}
function plugin_ctimer_fmt($p){
$r='';
if ($p>3600){
$ph=strval(intval($p/3600));
$r=str_replace("$1",$ph,PLUGIN_CTIMER_HOUR);
}
$pm=strval(intval(($p%3600)/60));
$r.=str_replace("$1",$pm,PLUGIN_CTIMER_MINUTE);
return($r);
}
?>
***コメント [#naf8d900]
- 迅速な対応に本当に感謝します。 -- [[aromatherapy]] &new...
- 周期開始の判定が誤っていたので修正&関数の整理 すみま...
- 修正と関数の整理ありがとうございます!いえ、私は全く解...
- cs wiki > http://cswiki.jp/ さんを使っているんです...
#comment
ページ名: