fahstats.inc.php †
名称 | Folding@home情報表示プラグイン |
---|---|
ファイル | fahstats.inc.php |
バージョン | 1.11 |
対象サーバー | PukiWiki 1.5.3 / PHP 7.4 / UTF-8 |
対象ブラウザー | Firefox, Chrome, Safari, Edge 各最新版 |
ライセンス | GPLv3 |
Folding@homeの統計情報を表示するPukiWiki用プラグイン。
ユーザー(ドナー)個人統計とチーム統計の2種類を表示できます。
統計情報は公式APIから取得します。負荷軽減のためと、API側の情報更新頻度が低いうえ応答を返さないこともあるため、結果はキャッシュして一定時間使い回します。
インストール †
fahstats.inc.phpをPukiWikiのpluginディレクトリに配置してください。
使い方 †
&fahstats(userName|teamID);
- userName … ユーザー名
- teamID … チームID
使用例 †
&fahstats(FahstatsSample);
Donor | FahstatsSample |
---|---|
Date of last Work Unit | 2020-04-04 20:17:39 |
Total score | 20,403,714 |
Total WUs | 272 |
Overall rank (if points are combined) | 16,076 of 2,506,022 |
Active clients (within 50 days) | 2 |
Active clients (within 7 days) | 2 |
&fahstats(999999);
Team | FahstatsSampleTeam |
---|---|
Date of last Work Unit | 2020-04-04 23:21:25 |
Active CPUs within 50 days | 18,791 |
Team ID | 999999 |
Grand score | 1,066,046,605,865 |
Work Unit count | 18,246,554 |
Team ranking | 1 of 248,004 |
設定 †
コード内の下記の定数で動作を制御することができます。
定数名 | 値 | 既定値 | 意味 |
---|---|---|---|
PLUGIN_FAHSTATS_API_INTERVAL | 数値 | (4 * 60 * 60) | APIアクセス間隔(秒)※短くしすぎてサーバーに負荷をかけないよう注意 |
PLUGIN_FAHSTATS_API_TIMEOUT | 数値 | 30 | APIタイムアウト時間(秒) |
PLUGIN_FAHSTATS_RECURSIVE | 0 or 1 | 0 | 1:入れ子の情報を再帰的に走査する。テキスト引数でより詳細な情報を表示したいときに使う |
高度な使い方:表形式ではなく、任意の文字列で表示 †
&fahstats(userName | teamId){text};
- text … 表示する文字列。文字列内の「%キー名%」が対応する値に置換される。主なキー/値は下表の通り。
キー | 値 |
---|---|
name | 名前 |
credit | ポイント |
wus | ワークユニット数 |
last | 最終処理日時 |
rank | 順位 |
active_50 | 過去50日間の使用クライアント数 |
active_7 | 過去7日間の使用クライアント数 |
team | チームID |
total_users | 総ユーザー数 |
total_teams | 総チーム数 |
※ドナー統計時のみ有効、チーム統計時のみ有効な値もあります。他のキー/値など、詳しくは本プラグイン実行後に生成されるキャッシュファイル cache/fahstats.*.dat 内を参照してください。
使用例・出力例
&fahstats(FahstatsSample){%name%さんのポイントは%credit%、処理したワークユニット数は%wus%です。};
FahstatsSampleさんのポイントは20,403,714、処理したワークユニット数は272です。
&fahstats(999999){%name%チームのポイントは%credit%、処理したワークユニット数は%wus%です。};
FahstatsSampleTeamチームのポイントは1,066,046,605,865、処理したワークユニット数は18,246,554です。
default.ini.phpへの設定 †
本プラグインの定数設定(ファイル内の下記のような行)は、PukiWikiルートディレクトリにある標準設定ファイルdefault.ini.phpにも記述することができます。本プラグインの定数設定行をdefault.ini.phpの末尾にそのままコピーしてください。default.ini.php側の設定値が優先されます。
///////////////////////////////////////////////// // ○○プラグイン設定(○○.inc.php) if (!defined('PLUGIN_○○_×××)) define('PLUGIN_○○_×××', △);
設定をdefault.ini.phpに記述することで、プラグインをアップデート(ファイル上書き)するたびに値を書き直す必要がなくなります。また、設定がdefault.ini.phpに集中することで、運用中の設定管理も楽になります。
凡例 †
プラグインの引数は下記の書式で表現しています。
- [] … 省略でき必要に応じて記述します
- | … |で区切られた項目のうち1つを記述します
- {} … 中カッコ内の引数は任意の順序で記述できます