home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2002 July
/
VPR0207A.ISO
/
OLS
/
IRVINE0_4_1A
/
irvine0_4_1a.lzh
/
scripts
/
treelinkimport.dms
< prev
next >
Wrap
Text File
|
2002-04-08
|
5KB
|
196 lines
/*
スクリプト初期化データ
guid={F31667F9-E395-4303-B8BD-EFE975FD112F}
caption=フォルダのURLインポート
version=3
hint=フォルダに関連付けたURLをインポートします。Shiftを押しながらでURLを設定します
event=OnTreeMenuClick
match=
author=Wolfy
*/
SECTION = 'wolfy';
IDENT_COUNT = 'url_count';
IDENT = 'url_';
IDENT_THREAD = 'thread';
IDENT_DEPTH = 'depth';
IDENT_TAG = 'tag_';
IDENT_EXT = 'ext_';
TAG_ITEMS = "a href(通常)\nimg src(画像)\nframe src(フレーム)\niframe src(フローティング)\nmeta refresh(転送)\nbgsound(サウンド)\nその他(タグ以外のURL)";
EXT_ITEMS = "HTML\nテキスト\n画像\n書庫\n音楽\n動画\nその他\n正規表現";
TAG_ITEMCOUNT = 7;
TAGAHREF = 0;
TAGIMGSRC = 1;
TAGFRAMESRC = 2;
TAGIFRAMESRC = 3;
TAGMETAREFRESH = 4;
TAGBGSOUND = 5;
TAGOTHER = 6;
EXT_ITEMCOUNT = 8;
EXTHTML = 0;
EXTTEXT = 1;
EXTIMAGE = 2;
EXTARCHIVE = 3;
EXTAUDIO = 4;
EXTMOVIE = 5;
EXTETC = 6;
EXTREGEXP = 7;
function OnTreeMenuClick(irvine,action){
//キューフォルダメニューのクリックイベント
urls = new Strings;
//読み込み
count = irvine.FolderData[SECTION,IDENT_COUNT];
if(isNaN(count)){
count = 0;
}
else{
count = parseInt(count);
}
//urlを加える
for(i = 0;i < count;i++){
urls.add(irvine.FolderData[SECTION,IDENT + i]);
}
//スレッド数
thread = irvine.FolderData[SECTION,IDENT_THREAD];
if(isNaN(thread)){
thread = 1;
}
else{
thread = parseInt(thread);
}
//階層数
depth = irvine.FolderData[SECTION,IDENT_DEPTH];
if(isNaN(depth)){
depth = 0;
}
else{
depth = parseInt(depth);
}
//tag
tags = new Array;
for(i = 0; i < TAG_ITEMCOUNT; i++){
tags.add(parseInt(irvine.FolderData[SECTION,IDENT_TAG + i]));
}
//拡張子
exts = new Array;
for(i = 0; i < EXT_ITEMCOUNT; i++){
exts.add(parseInt(irvine.FolderData[SECTION,IDENT_EXT + i]));
}
//初期設定をする
key = new Keyboard;
if(key.shift){
//URL
ret = textArea('インポートするURLを設定してください',urls.text);
if(!(ret == null)){
urls.text = ret;
//空白を消す
for(i = urls.count - 1; i >= 0; i--){
if(urls[i] == ''){
urls.delete(i);
}
}
//書き込み
irvine.FolderData[SECTION,IDENT_COUNT] = urls.count;
for (i = 0;i < urls.count;i++){
irvine.FolderData[SECTION,IDENT + i] = urls[i];
}
}
//スレッド
ret = prompt('実行スレッド数を入力してください',thread);
if(!(ret == null)){
if(!isNaN(ret)){
thread = parseInt(ret);
irvine.FolderData[SECTION,IDENT_THREAD] = thread;
}
}
//階層
ret = prompt('階層数を入力してください',depth);
if(!(ret == null)){
if(!isNaN(ret)){
depth = parseInt(ret);
irvine.FolderData[SECTION,IDENT_DEPTH] = depth;
}
}
//Tag
clb = new CheckListBox;
clb.items.text = TAG_ITEMS;
//前設定
for(i = 0; i < clb.count; i++){
clb.setChecked(i,tags[i]);
}
if(clb.execute('タグ','取得するタグを指定してください')){
for(i = 0; i < clb.count; i ++){
irvine.FolderData[SECTION,IDENT_TAG + i] = parseInt(clb.getChecked(i));
tags[i] = clb.getChecked(i);
}
}
//拡張子設定
clb = new CheckListBox;
clb.items.text = EXT_ITEMS;
//前設定
for(i = 0; i < clb.count; i++){
clb.setChecked(i,exts[i]);
}
if(clb.execute('拡張子','選択する拡張子を指定してください')){
for(i = 0; i < clb.count; i ++){
irvine.FolderData[SECTION,IDENT_EXT + i] = parseInt(clb.getChecked(i));
exts[i] = clb.getChecked(i);
}
}
}
//チェック
ok = irvine.FolderDataExists(SECTION,IDENT_TAG + TAGAHREF);
//リンクのインポートを起動
if(ok && (urls.count > 0)){
mgr = new ActiveXObject('Irvine.UrlManager');
mgr.Clear();
mgr.Depth = depth;
mgr.ThreadCount = thread;
//tag
mgr.TagAHREF = tags[TAGAHREF];
mgr.TagIMGSRC = tags[TAGIMGSRC];
mgr.TagFRAMESRC = tags[TAGFRAMESRC];
mgr.TagIFRAMESRC = tags[TAGIFRAMESRC];
mgr.TagMETAREFRESH = tags[TAGMETAREFRESH];
mgr.TagBGSOUND = tags[TAGBGSOUND];
mgr.TagOther = tags[TAGOTHER];
//拡張子
mgr.ExtHTML = exts[EXTHTML];
mgr.ExtTEXT = exts[EXTTEXT];
mgr.ExtIMAGE = exts[EXTIMAGE];
mgr.ExtARCHIVE = exts[EXTARCHIVE];
mgr.ExtAUDIO = exts[EXTAUDIO];
mgr.ExtMOVIE = exts[EXTMOVIE];
mgr.ExtEtc = exts[EXTETC];
mgr.ExtRegExp = exts[EXTREGEXP];
//url
mgr.AddQueue(urls.text);
//開始
mgr.Start();
}
else{
alert('Shiftを押しながら実行して初期設定をしてください');
}
}
function OnMenuUpdate(irvine,action){
//メニューの更新イベント
}