''このページは最新のrep2およびそれに準ずる拡張パックの類を対象にしています。''
''公開するpatchは、対応するp2のバージョン番号をわかるようにしてください。''
(ファイル名にバージョン番号を含めるなど)

892@part32さんのrep2実況モード (+live)

http://plus-live.main.jp/

+Wikiパッチ

下記に載っているパッチがほぼ全て入り、さらにプラグイン機能を備えたp2のパッチです。
設定フォームで有効/無効を切り替えてください。


対応バージョン:+live_061029_0420
パッチバージョン:061125_0215

機能

  • プラグイン(find.2ch.net, 2ken.net, みみずん検索など)
  • スレッドあぼーんワード
  • [[単語]]をWikipedia/Wapediaのリンクに変換
  • この期間、NG/あぼーんネーム/メール/メッセージ/ID/スレ都度にHITしなければ、登録ワードを自動的に外す
  • 「さぼり」「はきだめ」(あぼーんされたレスの表示)
  • 一定個数以上の新着があるスレッドをまとめ読みから除外
  • 投稿フォームに定型文メニューを追加
  • 名前をクリックすると名前でフィルタリング
  • メールをクリックするとメールでフィルタリング
  • 表示位置の移動をドロップダウンメニューにする(PC)
  • SPMをクリックで出す(PC)
  • レス番号にSPMをつける(携帯)
  • あぼーんされたレスを隠す(携帯)
  • 任意のスレッドのまとめ読み
  • 過去ログを各種DAT保管サイトから取得(プラグイン)
  • スレッド一覧のフィルタリングでAND/OR・本文検索を可能にする(携帯)
  • 書き込みフォームの幅(携帯)
  • 書き込みフォームの高さ(携帯)
  • RSS内2chリンクをp2で開く(携帯)
  • AAを自動で判定し、NGワードにする。(PC)
  • スレッド番号でinfoを開く(携帯)
  • スレッドあぼーんトグルスイッチをつける
  • 「ここから新着」を挿入
  • 書き込みフォームをダブルクリックするとテキストボックスを自動調整(PC)

[[単語]]の形式でWikipediaに飛ぶ

Wikipedia系のスレッドで使われている[[単語]]([]は半角)の表記でWikipediaに飛びます。
なお、rep2モバイルではモバイル用のWapediaに飛ぶようにオリジナルから改造してあります。
(元ネタ:本スレpart35の760-779)

まず、lib/showthread.class.phpの一番下(?>のすぐ上)に以下のように追記するんだぜ?

function wikipedia($msg) { // [[語句]]があった時にWikipediaへ自動リンクするんだぜ? 
global $_conf; 
$msg = mb_convert_encoding($msg, "UTF-8", "SJIS_win"); // SJISはうざいからUTF-8に変換するんだぜ? 
if($_conf['ktai']){
$wikipedia = "http://ja.wapedia.org/"; // WapediaのURLなんだぜ?
}else{
$wikipedia = "http://ja.wikipedia.org/wiki/"; // WikipediaのURLなんだぜ?
}
$search = "/\[\[[^\[\]\n<>]+\]\]+/"; // 目印となる正規表現なんだぜ?
preg_match_all($search, $msg, $matches); // [[語句]]を探すんだぜ?
$matched = preg_replace("/^\[\[|\]\]$/", "", $matches[0]); // いったん"[["と"]]"を取るんだぜ? 
foreach ($matched as $value) { // リンクに変換するんだぜ? 
$replaced[] = "[[<a href=?"" . P2Util::throughIme($wikipedia . rawurlencode($value)) . "?"" . $_conf['ext_win_target_at'] . ">$value</a>]]"; // しっかりimeを通すんだぜ?
} 
$msg = str_replace($matches[0], $replaced, $msg); // 変換後の本文を戻すんだぜ? 
$msg = mb_convert_encoding($msg, "SJIS_win", "UTF-8"); // UTF-8からSJISに戻すんだぜ? 
return $msg; 
} 

んでもってlib/showthreadk.class.phpの488行目とかlib/showthreadpc.class.phpの586行目とかの

$msg = preg_replace_callback($this->str_to_link_regex, array($this, 'link_callback'), $msg);

と、その下の

return $msg;

return $msg; の間に

$msg = wikipedia($msg); // Wikipediaへの自動リンクなんだぜ。

を追加しとくんだぜ?

にくちゃんねる・みみずん検索からDATを取得

スレッドが過去ログに収納されているとき、DAT保管サイトからDATを取得します。
なお、DATがなければデータがおかしくなります。
既得ログはいったん消してから取得した方が良いようです。
改造例(rep2-expack rev.060903.0030; based on rep2-1.7.29):


threadread.class.php 84行目あたり:

$this->downloadDat2ch($this->length);

$this->downloadDat2ch($this->length,$_GET["dat"]);

96行目あたり:

function downloadDat2ch($from_bytes)

function downloadDat2ch($from_bytes,$dat)

120行目あたり:

$url = 'http://' . $this->host . "/{$this->bbs}/dat/{$this->key}.dat";

switch($dat){
case 1:
if(strpos($this->host,"bbspink")){
$niku_host = "bbspink-";
}else{
$niku_host = "";
}
$niku_host .= substr($this->host,0,strpos($this->host,"."));
$url = 'http://makimo.to/cgi-bin/html2dat/html2dat.cgi?' . $niku_host . "_{$this->bbs}/" .substr($this->key,0,4) . "/{$this->key}.html";
break;
case 2:
$url = "http://mimizun.com:81/log/2ch/{$this->bbs}/{$this->host}/{$this->bbs}/kako/" .substr($this->key,0,4) . "/" . substr($this->key,0,5) . "/{$this->key}.dat";
break;
default:
$url = 'http://' . $this->host . "/{$this->bbs}/dat/{$this->key}.dat";
break;
}

804行目あたり:

$dat_response_msg = "<p>2ch info - このスレッドは過去ログ倉庫に格納されています。 [{$marutori_ht}]</p>";

$ktai = $_conf['ktai'] ? "&b=k" : "";
$nikutori_ht = "<a href=\"{$_conf['read_php']}?host={$this->host}&amp;bbs={$this->bbs}&amp;key={$this->key}&amp;ls={$this->ls}&amp;dat=1{$ktai}\">にくちゃんねるからp2に取り込む</a>";
$mimitori_ht = "<a href=\"{$_conf['read_php']}?host={$this->host}&amp;bbs={$this->bbs}&amp;key={$this->key}&amp;ls={$this->ls}&amp;dat=2{$ktai}\">みみずん検索からp2に取り込む</a>";
$dat_response_msg = "<p>2ch info - このスレッドは過去ログ倉庫に格納されています。 [{$marutori_ht}] [{$nikutori_ht}] [{$mimitori_ht}]</p>";

必死チェッカー(スレッド用)

スレッドのレスに必死チェッカーへのリンクボタン([check])を追加します。
必死チェッカーに対応していない板・IDがない場合はボタンを表示しません。
〜yyyy/mm/dd〜以外の日付形式ではボタンを生成しません。 なお、対応板リストは変更になったらその都度書き換えて下さい。
rep2-expack rev.060903.0030; based on rep2-1.7.29と+live 通常モードで確認。

2006/10/28:もう一度VIPの佐賀に対応・大幅に軽い正規表現にした 2006/10/26:p2imeを通すようにした・検索PHPを通さず直でHTMLにアクセスするようにした・ポップアップするようにした

無印:lib/showthreadpc.class.phpの$tores .= "</dt>\n";の上~(287行目あたり)
expack ASAP:lib/showthreadpc.class.phpの$tores .= "</dt>";の上~(425行目あたり)
live 通常モード:lib/live/default_view.inc.phpの$tores .= "</dt>";の上~(67行目あたり)
live 実況モードA:lib/live/live_view.inc.phpの116行目あたり
live 実況モードB:lib/live/live_view.inc.phpの110行目あたり
の上に

$board=array('ghard', 'gamenews', 'famicom', 'gamerpg', 'gamesrpg', 'handygame', 'gamerobo', 'ff', 'game', 'gamef', 'arc', 'wifi', 'gamechara', 'gamestg', 'gamemusic', 'gamefight', 'gal', 'gsaloon', 'gline', 'newsplus', 'news', 'mnewsplus', 'bizplus', 'news2', 'news4plus', 'aasaloon', 'occult', 'sfx', 'korea', 'av', 'pav', 'stock', 'market', 'baby', 'ms', 'campus', 'livevenus', 'livenhk', 'liveetv', 'liventv', 'livetbs', 'livecx', 'liveanb', 'livetx', 'livemarket1', 'livemarket2', 'jsaloon', 'kouri', 'dog', 'bike', 'f1', 'base', 'mlb', 'hsb', 'soccer', 'football', 'wres', 'keiba', 'ogame', 'ogame2', 'ogame3', 'netgame', 'mmo', 'mmominor', 'anime', 'anime2', 'voice', 'voiceactor', 'doujin', 'comic', 'wcomic', 'musicnews', 'musicj', 'musice', 'jisaku', 'software', 'swf', 'download', 'net', 'news4vip', 'neet4vip');
if($id && ereg("^[a-zA-Z0-9]+\.2ch\.net$",$this->thread->host)){
   if(array_search($this->thread->bbs,$board)){
               preg_match("/(\d{4})\/(\d{2})\/(\d{2})/i",$date_id,$date_array);
               $date = $date_array[1].$date_array[2].$date_array[3];
       if($date){
           $hissi_url=P2Util::throughIme("http://hissi.dyndns.ws/read.php/{$this->thread->bbs}/{$date}/".base64_encode($id).".html");
           $tores.= "<a href=\"{$hissi_url}\" onmouseover=\"showHtmlPopUp('{$hissi_url}',event,0.2)\" onmouseout=\"offHtmlPopUp()\" target=\"_blank\"><img src=\"img/check.png\"></a>";
       }
   }
}

を追加。

必死チェッカー(板用)

板(スレッド一覧)の下に必死チェッカーへのリンクをつけます。
p2imeを通します。

lib/sb_footer.inc.phpの46行目あたり

echo "</table>\n";

echo "</table>\n"; の上に

if(ereg("^[a-zA-Z0-9]+\.2ch\.net$",$aThreadList->host)){
   $board=array('ghard', 'gamenews', 'famicom', 'gamerpg', 'gamesrpg', 'handygame', 'gamerobo', 'ff', 'game', 'gamef', 'arc', 'wifi', 'gamechara', 'gamestg', 'gamemusic', 'gamefight', 'gal', 'gsaloon', 'gline', 'newsplus', 'news', 'mnewsplus', 'bizplus', 'news2', 'news4plus', 'aasaloon', 'occult', 'sfx', 'korea', 'av', 'pav', 'stock', 'market', 'baby', 'ms', 'campus', 'livevenus', 'livenhk', 'liveetv', 'liventv', 'livetbs', 'livecx', 'liveanb', 'livetx', 'livemarket1', 'livemarket2', 'jsaloon', 'kouri', 'dog', 'bike', 'f1', 'base', 'mlb', 'hsb', 'soccer', 'football', 'wres', 'keiba', 'ogame', 'ogame2', 'ogame3', 'netgame', 'mmo', 'mmominor', 'anime', 'anime2', 'voice', 'voiceactor', 'doujin', 'comic', 'wcomic', 'musicnews', 'musicj', 'musice', 'jisaku', 'software', 'swf', 'download', 'net', 'news4vip', 'neet4vip');
   if(array_search($aThreadList->bbs,$board)){
       require_once P2_LIBRARY_DIR . '/filectl.class.php';
       $hissi_url=P2Util::throughIme("http://hissi.dyndns.ws/read.php/{$aThreadList->bbs}/");
       $hissi_ht = <<<EOP
| <a href="{$hissi_url}" target="read">必死チェッカー</a>
EOP;
   }
}

を追加。
80行目あたりの

echo "</p>";

echo "</p>"; の上に

echo $hissi_ht;

を追加。

被参照レス

そのレスにレスしているレスを検索してポップアップします。
範囲指定(>>1-10のような形式)のレスは検索しません。
[Re:]という画像が追加されているので、それをポイントすると(>|>)(\d+,)*レス番号\Dが含まれたレスがポップアップされます。
rep2-expack rev.060903.0030; based on rep2-1.7.29および+live 通常モードで確認。
なお、re.pngは+liveに同梱されている画像です。

無印:lib/showthreadpc.class.phpの$tores .= "</dt>\n";の上~(287行目あたり)
expack ASAP:lib/showthreadpc.class.phpの$tores .= "</dt>";の上~(425行目あたり)
live 通常モード:lib/live/default_view.inc.phpの$tores .= "</dt>";の上~(67行目あたり)
live 実況モードA:lib/live/live_view.inc.phpの116行目あたり
live 実況モードB:lib/live/live_view.inc.phpの110行目あたり

$url_res = "read.php\?bbs={$this->thread->bbs}&key={$this->thread->key}&host={$this->thread->host}&ls=all&offline=1&field=msg&word=%28%3E%7C%81%84%29%28%5Cd%2B%2C%29*{$i}%5CD&method=reg

添付ファイル: filehuladance-20110414.zip 643件 [詳細] fileaozora_on_rep2ex-080917-0800.zip 579件 [詳細] filethread_aborn_word_rep2ex-080903-0012.zip 462件 [詳細] filethread_aborn_word_rep2ex-080721-0721.zip 462件 [詳細] filerep2-1.8.14-ic2.diff.bz2 452件 [詳細] fileres_memo_patch.diff 1013件 [詳細] filewiki070831.zip 521件 [詳細] filebeaborn-rep2ex-070818.zip 652件 [詳細] file20070821_imepita_pita.zip 591件 [詳細] fileimport_ex.zip 695件 [詳細] filekeyword.zip 687件 [詳細] filewiki_060104_1650.zip 487件 [詳細] fileplugin_061219_1230.zip 1205件 [詳細] fileplugin_find2ch.zip 502件 [詳細] filerep2too2on.zip 540件 [詳細] filewiki_061125_0215.zip 779件 [詳細] filefind2ch.zip 1189件 [詳細] filenikutori_sample.zip 975件 [詳細] filespm2_k.zip 1304件 [詳細] filerep2-expack rev.060903.0030_AAautoNg.diff 1307件 [詳細] filethread_aborn_word_rep2ex-060903-0030.zip 485件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-04-14 (木) 01:30:43 (2201d)