自作プラグイン/bugtrack_status.inc.php
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** bugtrack_status.inc.php [#edc979fc]
|RIGHT:100|LEFT:360|c
|~サマリ|bugtrackの状態書き換えプラグイン|
|~リビジョン|1.0|
|~対応バージョン|1.4.5_1で確認|
|~投稿者|[[a-isd]]|
|~投稿日|&new{2006-03-17 (金) 18:42:28};|
*概要 [#i1570bb2]
bugtrackは便利なんだが、ステータスを変える面倒くささを何...
状態のセレクションを出し、選んで「変更」ボタン1発で本文中の
-状態:
で始まる行を見つけて書き換えます。「着手」とすべきところ...
どう動くのか試すには、プラグインをインストールし、
-状態:
#bugtrack_status
だけ書いたページを作ってみてください。
変更ボタンを押すたびに状態行を書き換え、変更履歴を残してい...
*説明 [#hd2e22b7]
bugtrack_statusは引数をとります。
#bugtrack_status('提案','着手','テスト中','承認待ち','リ...
の様に。取った引数がセレクションに現れます。
引数がない場合、bugtrack標準の
'提案','着手','CVS待ち','完了','保留','却下'
がセレクションになります。
bugtrackにこれを組み込むには、bugtrack.inc.phpを書き換え...
*ライセンス [#t71482ef]
CC-GNU LGPL
*ソース [#tcead5b4]
bugtrack_status.inc.php
<?php
/* Bugtrack Status plugin
*
* Licence: CC-GNU LGPL
*
* rev1.0 by ISHIDA,Akiya (email:ishida-pkw63h@kardia.co...
*/
function plugin_bugtrack_status_action()
{
global $script, $vars, $now, $_title_updated, $_no_name;
global $_msg_comment_collided, $_title_comment_collided;
if (PKWK_READONLY) die_message('PKWK_READONLY prohibits...
$oldpage = get_source($vars['refer']);
foreach ($oldpage as $line) {
if (preg_match('/^-状態:/',$line)){
$page[]='-状態: '.$vars['status']."\n";
}
elseif (preg_match('/#bugtrack_status/',$line)){
$page[]='--'.$vars['status'].' '.$now."\n";
$page[]=$line;
}
else $page[]=$line;
}
$title = $_title_updated;
$body = '';
if (md5(@join('', $oldpage)) != $vars['digest']) {
$title = $_title_comment_collided;
$body = $_msg_comment_collided . make_pagelink($vars[...
}
page_write($vars['refer'], join('',$page));
$retvars['msg'] = $title;
$retvars['body'] = $body;
$vars['page'] = $vars['refer'];
return $retvars;
}
function plugin_bugtrack_status_convert()
{
global $script, $vars, $digest;
if (PKWK_READONLY) return ''; // Show nothing
$page = get_source($vars['page']);
foreach ($page as $line) {
if (preg_match('/^-状態:\s(\S+)/',$line,$m)){
$status=$m[1];
break;
}
}
$options = func_num_args() ? func_get_args() : array('...
$s_page = htmlspecialchars($vars['page']);
foreach ($options as $v){
$sels[]=sprintf('<option value="%s"%s>%s</option>',$v,...
}
$sels = join('',$sels);
$string = <<<EOD
<div>
<form action="$script" method="post">
<input type="hidden" name="refer" value="$s_page" />
<input type="hidden" name="plugin" value="bugtrack_sta...
<input type="hidden" name="digest" value="$digest" />
<select name="status">
$sels
</select>
<input type="submit" name="bugtrack_status" value="変...
</form>
</div>
EOD;
return $string;
}
終了行:
** bugtrack_status.inc.php [#edc979fc]
|RIGHT:100|LEFT:360|c
|~サマリ|bugtrackの状態書き換えプラグイン|
|~リビジョン|1.0|
|~対応バージョン|1.4.5_1で確認|
|~投稿者|[[a-isd]]|
|~投稿日|&new{2006-03-17 (金) 18:42:28};|
*概要 [#i1570bb2]
bugtrackは便利なんだが、ステータスを変える面倒くささを何...
状態のセレクションを出し、選んで「変更」ボタン1発で本文中の
-状態:
で始まる行を見つけて書き換えます。「着手」とすべきところ...
どう動くのか試すには、プラグインをインストールし、
-状態:
#bugtrack_status
だけ書いたページを作ってみてください。
変更ボタンを押すたびに状態行を書き換え、変更履歴を残してい...
*説明 [#hd2e22b7]
bugtrack_statusは引数をとります。
#bugtrack_status('提案','着手','テスト中','承認待ち','リ...
の様に。取った引数がセレクションに現れます。
引数がない場合、bugtrack標準の
'提案','着手','CVS待ち','完了','保留','却下'
がセレクションになります。
bugtrackにこれを組み込むには、bugtrack.inc.phpを書き換え...
*ライセンス [#t71482ef]
CC-GNU LGPL
*ソース [#tcead5b4]
bugtrack_status.inc.php
<?php
/* Bugtrack Status plugin
*
* Licence: CC-GNU LGPL
*
* rev1.0 by ISHIDA,Akiya (email:ishida-pkw63h@kardia.co...
*/
function plugin_bugtrack_status_action()
{
global $script, $vars, $now, $_title_updated, $_no_name;
global $_msg_comment_collided, $_title_comment_collided;
if (PKWK_READONLY) die_message('PKWK_READONLY prohibits...
$oldpage = get_source($vars['refer']);
foreach ($oldpage as $line) {
if (preg_match('/^-状態:/',$line)){
$page[]='-状態: '.$vars['status']."\n";
}
elseif (preg_match('/#bugtrack_status/',$line)){
$page[]='--'.$vars['status'].' '.$now."\n";
$page[]=$line;
}
else $page[]=$line;
}
$title = $_title_updated;
$body = '';
if (md5(@join('', $oldpage)) != $vars['digest']) {
$title = $_title_comment_collided;
$body = $_msg_comment_collided . make_pagelink($vars[...
}
page_write($vars['refer'], join('',$page));
$retvars['msg'] = $title;
$retvars['body'] = $body;
$vars['page'] = $vars['refer'];
return $retvars;
}
function plugin_bugtrack_status_convert()
{
global $script, $vars, $digest;
if (PKWK_READONLY) return ''; // Show nothing
$page = get_source($vars['page']);
foreach ($page as $line) {
if (preg_match('/^-状態:\s(\S+)/',$line,$m)){
$status=$m[1];
break;
}
}
$options = func_num_args() ? func_get_args() : array('...
$s_page = htmlspecialchars($vars['page']);
foreach ($options as $v){
$sels[]=sprintf('<option value="%s"%s>%s</option>',$v,...
}
$sels = join('',$sels);
$string = <<<EOD
<div>
<form action="$script" method="post">
<input type="hidden" name="refer" value="$s_page" />
<input type="hidden" name="plugin" value="bugtrack_sta...
<input type="hidden" name="digest" value="$digest" />
<select name="status">
$sels
</select>
<input type="submit" name="bugtrack_status" value="変...
</form>
</div>
EOD;
return $string;
}
ページ名: