必死チェッカーもどき ([^><]+?)<\/title>/)
if(!ttl) {v2c.alert('この(ID|トリップ)に対応するファイルが存在しません。'); returnInputKeyWord(); return;}
ID = ttl[1].match(/> ([^; ]+$)/).pop();
IdList[IdPageIdx] = ID;
var dsp = new String(DATE).split("/");
var cld = new Date(dsp[0]-0,dsp[1]-1,dsp[2]-0).getTime()-0;
var cll = new Date(2008,7-1,9).getTime()-0;
var cl,cr;
if(cld >= cll){
cl = sh.match(/>(\d{1,} 位)<\/font>(\/\d{1,} ID中)<\/td>[^]+?(\d{1,})<\/td><\/tr><\/table>/);
if(!cl) {v2c.alert('順位と総レス数の取得に失敗しました。'); returnInputKeyWord(); return;}
cr = '
【'+cl[1]+cl[2]+'】【Total '+cl[3]+' res】
';
TotalPageNum[ID] = Math.ceil(parseInt(cl[3])/50);
} else {
cl = sh.match(/書き込み数<\/td>[^]+?(\d{1,})<\/td><\/tr><\/table>/);
if(!cl) {v2c.alert('総レス数の取得に失敗しました。'); returnInputKeyWord(); return;}
cr = '
【Total '+cl[1]+' res】
';
TotalPageNum[ID] = Math.ceil(parseInt(cl[1])/50);
}
var wl = sh.match(/書き込み数<\/td>([^]+?)<]+?>(\d+)<\/td><\/tr><\/table>/);
if(!wl) {v2c.alert('書き込み数の取得に失敗しました。'); returnInputKeyWord(); return;}
XXIVHourList[ID] = new Array(24);
XXIVHourList[ID] = wl[1].match(/(\d+)(?=<\/td>)/g);
SumIdResNum[ID] = wl[2];
var thl = sh.match(/>書き込んだスレッド一覧<[^]+? | ([^]+?)(?: |)<\/td> | ([^]+?) <\/td><\/tr><\/table>/);
if(!thl) {v2c.alert('スレッド一覧の取得に失敗しました。'); returnInputKeyWord(); return;}
thl[2] = thl[2].replace(/l50 target="_blank"/g,'');
NameList = thl[1].split(' ');
ThreadList = thl[2].split(' ');
var tnn = NameList.length;
var ttn = ThreadList.length;
PageData[ID] = new Array(TotalPageNum[ID]);
PageData[ID][0] = sh.match(/([^]+?)<\/dl>/g);
createArrayList(0,true);
createHtmlGraph(INPUT);
createHtmlList();
KEYNAME == 'trip' ? MainArray[1] = 'トリップ検索' : MainArray[1] = 'ID検索';
var ur0 = new Array(), ura = new Array(5);
ura[0] = '- ';
ura[4] = '
';
TotalIdNum = su.length;
for(var i = 0; i < TotalIdNum; i++){
ura[1] = su[i];
ura[3] = su[i];
ur0.push(ura.join(''));
}
MainArray[3] = TotalIdNum;
MainArray[5] = ur0.join('');
MainArray[7] = ttl[1]+cr;
MainArray[9] = tnn;
MainArray[11] = thl[1];
MainArray[13] = ttn;
MainArray[15] = thl[2];
MainArray[17] = KEYNAME;
MainArray[19] = KEYWORD;
MainArray[21] = createPageButton();
if(!INPUT){
MainArray[22] = '';
}
MainHtml[ID] = MainArray.join('');
vcx.setPopupHTML(MainHtml[ID]);
vcx.setRedirectURL(true);
vcx.setTrapFormSubmission(true);
}
function createURLString(sd) {
var ss = new Array(3), ss0;
ss[0] = 'http://hissi.org';
if(KEYNAME == 'trip') {
var pe = new Date();
var ada = new Date(pe.getFullYear(),pe.getMonth(),pe.getDate()).getTime()-1296000000;
var time;
if(INPUT) {
var ida = sd.match(/date=(\d{4})(\d{2})(\d{2})&/);
time = new Date(ida[1],eval(ida[2]-1),ida[3]).getTime();
} else {
time = parseInt(res.time);
}
(ada < time)? ss[1] = 'trip_search.php' : ss[1] = 'old_trip_search.php';
ss0 = ss.join('/');
} else {
ss[1] = 'read.php/'+BOARD;
ss[2] = 'search';
ss0 = ss.join('/');
}
v2c.setStatus('HTTPレスポンス待ち。 '+ss0+'?'+sd);
var hr = v2c.createHttpRequest(ss0,sd);
var sr = hr.getContentsAsString();
if(!sr) {v2c.alert('ページの取得に失敗しました。: '+hr.responseCode+' '+hr.responseMessage); returnInputKeyWord(); return;}
sr = sr+'';
v2c.setStatus('HTTPリクエスト完了。');
if(sr == ''){v2c.alert('ページの取得に失敗しました。: 空白のページ'); returnInputKeyWord(); return;}
if(KEYNAME == 'trip') {
ss[1] = 'read.php';
var sn = sr.match(/url=\.\/read\.php\/(.+)">$/);
if(!sn){
var idp = sr.match(/(\/read.php\/[^><]+?)(?=>[^><]+?<\/a> )/g);
if(idp) {
for(var j = 0, jlen = idp.length; j < jlen; j++){
IdUrlList[j] = ss[0]+idp[j];
}
v2c.setStatus('HTML受信待ち。:トリップ検索(複数ID) '+IdUrlList[0]+'?thread=all');
var sh = v2c.readURL(IdUrlList[0]+'?thread=all');
v2c.setStatus('HTML読み込み完了。:トリップ検索(複数ID)');
createMainPopupString(IdUrlList,sh); return;
} else if(sr.indexOf('対応してない') >= 0) {
v2c.alert('この日付の解析データはトリップ検索に対応してないようです'); returnInputKeyWord(); return;
} else if(sr.indexOf('存在しない') >= 0) {
v2c.alert('この日付の解析データには存在しないトリップのようです。'); returnInputKeyWord(); return;
} else {
v2c.alert('トリップ検索に失敗しました。'); returnInputKeyWord(); return;
}
}
} else {
var sn = sr.match(/url=\.\.\/(.+)">$/);
if(!sn) {
if(sr.indexOf('存在しません') >= 0) {
v2c.alert('対応してない日付、もしくは存在しないIDのようです。'); returnInputKeyWord(); return;
} else {
v2c.alert('ID検索に失敗しました。'); returnInputKeyWord(); return;
}
}
}
ss[2] = sn[1];
IdUrlList[0] = ss.join('/');
var wr; KEYNAME == 'trip' ? wr = 'トリップ検索' : wr = 'ID検索';
v2c.setStatus('HTML受信待ち。:'+wr+' '+IdUrlList[0]+'?thread=all');
var sh = v2c.readURL(IdUrlList[0]+'?thread=all');
v2c.setStatus('HTML読み込み完了。:'+wr);
createMainPopupString(IdUrlList,sh);
}
function returnInputKeyWord() {
if(INPUT) createInputKeyWord(true);
}
function createInputKeyWord(ri) {
var txt = v2c.getScriptDataFile('hissi_menu.txt');
var cecd = 'utf-8';
if(v2c.readFile(txt) == null){
var mu = 'http://hissi.org/menu.php';
v2c.setStatus('HTML受信待ち。:対応板 '+mu);
var rm = v2c.readURL(mu);
v2c.setStatus('HTML読み込み完了。:対応板');
var ptn = /((.+?)<\/b>|read\.php\/(.+?)\/>(.+?)<\/a>)/g;
var MenuList = new Array();
while(ptn.exec(rm) != null) {
MenuList.push(RegExp.$2+','+RegExp.$3+','+RegExp.$4);
v2c.writeLinesToFile(txt,MenuList,cecd);
}
}
var bka = v2c.readLinesFromFile(txt,cecd);
var alen = bka.length;
if(!ri){
var arg = vcx.args;
if(arg.length == 0) {
KEYNAME = 'id';
INPUT = false;
} else {
if(arg[0] != 'id' && arg[0] != 'trip') {
KEYNAME = 'id';
} else {
KEYNAME = arg[0]+'';
}
arg[1] == 'input' ? INPUT = true : INPUT = false;
}
if(res) {
DATE = res.date.match(/\d{4}\/\d{2}\/\d{2}/);
!DATE ? DATE = '' : DATE += ''
if(KEYNAME == 'trip') {
rnm = res.name.match(/◆([\.\/\w]{10,12}) /);
rnm ? KEYWORD = rnm.pop()+'' : KEYWORD = '';
} else {
KEYWORD = res.id;
if(!KEYWORD || KEYWORD.match(/^(\?\?\?(.|)|(O|P|Q|i|I|o|0|))$/)) {
KEYWORD = '';
} else {
KEYWORD=KEYWORD.replace('●','');
KEYWORD=KEYWORD.replace('!','');
}
}
} else {
if(INPUT) {
var pe= new Date();
var pm = pe.getMonth();
var pd = pe.getDate();
pm+1 < 10 ? pm = '0' + parseInt(pm+1) : pm = pm+1;
pd < 10 ? pd = '0' + pd : pd;
DATE = pe.getFullYear()+'/'+pm+'/'+pd;
} else {
DATE = '';
}
var key = v2c.getSelectedText();
if (key&&(key.length()>0)) {
KEYWORD = key;
} else {
KEYWORD = '';
}
}
if(th) {
BOARD = th.board.key+'';
} else {
BOARD = DefaultBoard;
}
var drp = new String(DATE).replace(/\//g,'');
for(var i = 0; i < alen; i++){
var b = bka[i].split(',')[1] + '';
if(BOARD == b) break
}
var tea = i == alen;
if(tea) BOARD = DefaultBoard;
}
if(!INPUT) {
if(DATE == '') {v2c.alert('日付が取得できません。'); return;}
if(tea) {v2c.alert('『必死チェッカーもどき』対応板ではありません。'); return;}
if(KEYNAME == 'trip') {
if(KEYWORD == '') {v2c.alert('トリップがありません。'); return;}
var sd = 'date='+drp+'&Trip='+encodeURIComponent(KEYWORD)+'&Bord='+BOARD;
} else if(KEYNAME == 'id') {
if(KEYWORD == '') {v2c.alert('IDがありません。'); return;}
var sd = 'date='+drp+'&ID='+encodeURIComponent(KEYWORD);
}
createURLString(sd);return;
} else {
var InputArray = new Array();
vcx.setPopupFocusable(true);
InputArray[0] = ''+InputCSS+' |