領域確保
💚領域確保




imageentry = e =\3e {
// 画像のエントリ先
let o = e.classlist;
let w = e.naturalwidth;
let h = e.naturalheight;
if(w \3e 150) o.add("big");
if(w \3c 100 && h \3c 100) o.add("mini");

};

upsgetlinks = (obj, par, user, file, g) =\3e {
// カテゴリ&リンク取得
let cgi = `/cgi-bin/diary.cgi?oid=${user};n=1;`;
let a = par.children[0].children;
let fs = `s=${file}`;
xhr(cgi + fs, null, e =\3e {
e = e.replace(/^.+\x3cdiv class="entry c/, "");
let c = e.replace(/".+$/g, "");
a[3].lastchild.value = c;
let f1 = e.match(/(\d{4} \d\d\/\d\d \d\d:\d\d)/) ? regexp.$1 : "";
let f2 = e.match(/(\x3ca href=".+?html")/) ? regexp.$1 : "";
echo(par.children[3].children[2], `
| \3cb\3e${f1}\3c/b\3e | ${f2} target="_blank"\3ehtml\3c/a\3e
| ${f2.replace(/[^\/]+$/, "\"")} target="_blank"\3emonth\3c/a\3e
| \3ca target="_blank" href="${cgi}c=${c};${fs}"\3ecgi(1)\3c/a\3e`, "add"
);
obj.classlist.add("loaded");
});
};

upssetcookie = e =\3e {
// sidのみクッキー書き換え、空文字は消去になる
let exp = `tue, 31-dec-20${e == "" ? 0 : 3}0 23:59:59;`;
doc.cookie = `sid=${ escape(e) };domain=.www.eclat.cc; path=/; expires=${ exp }`;
};

upscookieenter = oid =\3e {
// ファイル送信前のクッキー書き換え
let c = window.main_default.document.cookie; // 全てを管理しているからここから取得
let key = ""; // 戻り値で、ない場合は空文字
let len = c.indexof(oid + "ss"); // 保持しているキーを探す
if(len != -1){ // 私以外は取得が出来ない
if(c.match(/sid=([0-9a-z]+)/)) key = regexp.$1; // ログイン中のsidの値を保持
let st = len + oid.length + 3; // 値のオフセット
upssetcookie(c.substring(st, st + 40)); // sidをoidのキーに上書き
}
return key; // 元々のログインのキーを返す
};

upsdata = key =\3e {
// 汎用データの取り込み
// データの前後の空白と空行は取り除かれる
let s = fid("upsdata_" + key).textcontent;
s = s.replace(/^\s+|\s+$/g, "");
return s;
};



upscreatedocument = vol =\3e {
// 左側のリストの生成
ups1st = doc.url.match(/ups1st=(\d+)/) ? regexp.$1 - 0 : 0;
let s0 = `\3cdiv class="exec box1" id="spgroupexec" onclick="execentry(0)"\3e
spgroup\3cspan class="exec-num"\3e`;
let s1 = "\3c/span\3e\3c/div\3e";
let s2 = "", cnt, c1 = 0;
let user = "";
let defuser = "";
let file = "";
let gnum = ""; // グループ番号 00 - 99まで
for(let i = 0; i \3c upsgroupname.length; i++){ // グループネームでループ
gnum = ("0" + i).slice(-2);
s1 += `
\3cdiv class="sp-par go-2"\3e
\3cdiv id="g${ gnum }" class="sp-top box1" onclick="groupchg(this)"\3e
g${ gnum } ${ upsgroupname[i] }\3cspan\3e`;
s2 = `/\3ci\3e0\3c/i\3e\3c/span\3e\3c/div\3e`;
let group = upsgrouplist[i].split(","); // カンマ配列になってる
cnt = 0;
for(let j = 0; j \3c group.length; j++){
file = group[j].replace(/ /g, ""); // 空白を取り除く
if(file.charat(0) == ":"){ // 基準ユーザーの指定でコロンが識別子
defuser = file.substring(1); // 変数で保持
user = defuser; // 基準のuser
continue;
}
if(file.match(/([0-9a-z_\.]+)u([0-9a-z_\.\-]+)/)){
file = regexp.$1; // 直接指定のファイル
user = regexp.$2; // 局所の値で指定
}
// ファイル別のクラスの生成
let type = 0; // 0:日記 1:css 2:html 3:upload
let cls = "sp-arc"; // クラスリスト
if(file.match(/\.(.+)/)){
let a = regexp.$1;
cls = "sp-" + a;
type = a == "css" ? 1 : a == "html" ? 2 : 3;
}
// 取得コマンドの生成
s2 += `\3cdiv id="spg${ gnum }t${ type }f${ file }u${ user }" class="sp ${
cls }"\3e\3cspan class="exe" onclick="parmove(this)"\3e${
file }/${ user }\3c/span\3e\3cspan class="del" onclick="delsentry(this, 1)"\3ex\3c/span\3e\3c/div\3e`;
cnt++; c1++;
}
s1 += `\3cb\3e${ cnt }\3c/b\3e${ s2 }
\3c/div\3e`;
}
echo("upsmenu", `
\3cdiv id="upslogo"\3e
\3ca class="box" id="upsmas"href="javascript:execentry(1)" title="uspgroup open"\3e\3c/a\3e
\3cdiv id="upslogotop"\3e
\3ca href="/home/new-diary/diary/2019/10/1570803812.html"\3eups1.0\3c/a\3e |
\3ca target="_blank"href="/home/new-diary/diary/2020/06/1591011443.html"\3e取得3.0.1\3c/a\3e
\3c/div\3e
\3cdiv id="visinfo"\3e\3c/div\3e
\3c/div\3e
\3cdiv id="upsbox"\3e
\3cdiv id="upsspbox"\3e
\3cdiv class="exec box1"\3eups box\3c/div\3e
\3c/div\3e
\3cdiv id="upsgroup"\3e${ s0 + "\3cb\3e" + c1 + "\3c/b\3e/\3ci\3e0\3c/i\3e" + s1 }
\3cdiv id="upsbefore"\3e
\3cdiv class="exec box1"\3eups before\3c/div\3e
\3c/div\3e
\3cdiv id="upsdoc"\3e
\3cdiv class="exec box1"\3eups document\3c/div\3e
\3c/div\3e
\3cdiv id="upsafter"\3eups after\3c/div\3e
\3c/div\3e`);

const bcc = doc.body.classlist;
settimeout(() =\3e {
bcc.remove("ups-out", "box-out");
settimeout(() =\3e {
echo("upsafter",
`\3ciframe name="main_default" src="/home/default/friends.html" onload="cooentry()"\3e\3c/iframe\3e`
);
}, 200);
}, 500);
};

upsystem_ini = vol =\3e {
// bodyの初期構築とcssの組込み
let obj = fce("style");
obj.type = "text/css";
echo(obj, cssdec(tagdec(fid("upsstyle").textcontent)));
doc.head.append(obj);
let bcc = doc.body.classlist;
bcc.add("menu-out", "link-out", "com-out", "mas-out", "ups-out", "box-out", "bsc-out");
settimeout(() =\3e {
bcc.add("main-out");
settimeout(() =\3e {
echo(doc.body, `\3cdiv id="upsmenu"\3e\3c/div\3e\3cdiv id="upsdisp"\3e
\3cdiv id="ups1st"\3e\3c/div\3e
\3c/div\3e
\3cspan id="bsc0" class="bsc" onclick="bscentry(-1)"\3e↑\3c/span\3e
\3cspan id="bsc1" class="bsc" onclick="bscentry(0)"\3e・\3c/span\3e
\3cspan id="bsc2" class="bsc" onclick="bscentry(1)"\3e↓\3c/span\3e`
);
upscreatedocument(vol);
}, 800);
}, 400);
};

{
let ico = document.createelement("link");
ico.rel = "shortcut icon";
ico.href = "http://nancyan.main.jp/image/icon/favicon2.ico";
ico.type = "image/vnd.microsoft.icon";
doc.head.append(ico);

let site = upsdata("site").split(" "); // このシステムに入れるサイト
let file = upsdata("file"); // ファイルエディターとcssエディター
upsgroupname = upsdata("groupname"); // グローバル変数
upsgrouplist = upsdata("grouplist").replace(/\r?\n/g, "\t"); // グローバル変数 タブ区切り
for(let i = 0; i \3c site.length; i++){
upsgroupname += `,file:${ site[i] }`;
upsgrouplist += `\t:${ site[i] },${ file }`;
}

upsgroupname += ",imageupload"; // 最後にグループの追加
upsgrouplist += "\tupload.cgiu" + site.join(",upload.cgiu"); // リストの追加でuploadを
upsgroupname = upsgroupname.split(","); // 配列にして置く
upsgrouplist = upsgrouplist.split("\t"); // 同じく

visuser = null;
upsystem_ini(3);
// getuserinfo();
}
*/