mirror of
https://github.com/eddyem/eddys_snippets.git
synced 2025-12-06 18:55:16 +03:00
157 lines
4.3 KiB
HTML
157 lines
4.3 KiB
HTML
<html>
|
|
<head>
|
|
<style type="text/css">
|
|
.shadow{
|
|
display:none;
|
|
position:absolute;
|
|
top:0;
|
|
left:0;
|
|
width:100%;
|
|
height:100%;
|
|
}
|
|
.midmsg{
|
|
position:fixed;
|
|
top:50%;
|
|
left:50%;
|
|
margin-left:auto;
|
|
margin-right:auto;
|
|
}
|
|
.C{text-align:center;}
|
|
.R{text-align:right;}
|
|
</style>
|
|
<script src="/pass.js" type="text/javascript" language="javascript"></script>
|
|
<script>
|
|
var user="", passwd="", level="", url="";
|
|
const CGI_PATH = "https://ishtar.sao.ru/cgi-bin/auth";
|
|
function parseErr(txt){
|
|
$('msg').innerHTML = "ïÛÉÂËÁ!<p></p>" + txt.replace("\n", "<br>");
|
|
setTimeout(function(){$('msg').innerHTML = "";}, 3500);
|
|
}
|
|
function sendrequest(request, req_STR, onOK){
|
|
var timeout_id
|
|
request = new XMLHttpRequest();
|
|
request.open("POST", CGI_PATH, true);
|
|
request.setRequestHeader("Accept-Charset", "koi8-r");
|
|
request.overrideMimeType("multipart/form-data; charset=koi8-r");
|
|
request.setRequestHeader("Cookie", document.cookie);
|
|
request.onreadystatechange=function(){
|
|
if (request.readyState == 4){
|
|
if (request.status == 200){
|
|
clearTimeout(timeout_id);
|
|
onOK(request);
|
|
}
|
|
else{
|
|
clearTimeout(timeout_id);
|
|
parseErr("ïÛÉÂËÁ ÐÅÒÅÄÁÞÉ ÚÁÐÒÏÓÁ. ðÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ.");
|
|
}
|
|
}
|
|
}
|
|
request.send(req_STR);
|
|
timeout_id = setTimeout(function(){parseErr("ôÁÊÍÁÕÔ ÐÅÒÅÄÁÞÉ ÚÁÐÒÏÓÁ. ðÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ.");}, 3000);
|
|
}
|
|
function run(){
|
|
var QS;
|
|
sendrequest(QS, "admin=lsusers", lsusers);
|
|
}
|
|
function lsusers(QS){
|
|
var ans = QS.responseText;
|
|
var pars = ans.split("\n");
|
|
var i, l, s;
|
|
for(i=0, l=pars.length; i < l; i++){
|
|
s = pars[i].split(";");
|
|
if(pars[i].length < 2) continue;
|
|
if(s.length != 3){
|
|
parseErr(ans+"<br>str="+s);
|
|
return;
|
|
}
|
|
addUsersString(s);
|
|
}
|
|
}
|
|
function addUsersString(str){
|
|
var ulist = $('userlist');
|
|
var div = document.createElement('div');
|
|
ulist.appendChild(div);
|
|
var u = str[0];
|
|
div.innerHTML = "<span>"+u+"</span> <span>"+str[1]+"</span> <span>"+str[2]+"</span> "+
|
|
"<span onclick='delUser(\""+u+"\");'>delete</span> "+
|
|
"<span onclick='editUser(\""+u+"\",\""+str[1]+"\",\""+str[2]+"\");'>edit</span>";
|
|
}
|
|
function useradd(arg){
|
|
function pair(name){
|
|
var str = "<div class='R'>"+name+"<input type=text id="+
|
|
name+" onchange=\""+name+"=$('"+name+"').value;\""+
|
|
" onblur=\""+name+"=$('"+name+"').value;\" value='"+eval(name)+"'></div>"
|
|
return str;
|
|
}
|
|
var div = document.createElement('div');
|
|
$("box").style.display = "block";
|
|
div.className = "midmsg";
|
|
$("box").appendChild(div);
|
|
div.innerHTML = "<div class='C'>äÏÂÁ×ÉÔØ/ÉÚÍÅÎÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ</div>"+
|
|
pair("user")+pair("passwd")+pair("level")+pair("url")+
|
|
"<div class='C'><button onclick='addUser(\""+arg+"\");'>OK</button>"+
|
|
"<button onclick='cancelAdd();'>ïÔÍÅÎÁ</button></div>";
|
|
}
|
|
function chkAns(req, Msg){
|
|
if(req.responseText.length > 0)
|
|
parseErr(Msg);
|
|
else{
|
|
window.location.reload();
|
|
}
|
|
}
|
|
function addUser(arg){
|
|
var request;
|
|
function cantadd(req){
|
|
chkAns(req, "ÎÅ ÍÏÇÕ ÄÏÂÁ×ÉÔØ/ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ<br>"+req.responseText);
|
|
}
|
|
if(user==""){
|
|
parseErr("ïÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ");
|
|
return;
|
|
}
|
|
if(passwd==""){
|
|
parseErr("îÅ ÚÁÄÁÎ ÐÁÒÏÌØ ÐÏÌØÚÏ×ÁÔÅÌÑ");
|
|
return;
|
|
}
|
|
if(level=="" || Number(level) < 0){
|
|
parseErr("îÅ ÚÁÄÁÎ ÉÌÉ ÚÁÄÁÎ ÎÅ×ÅÒÎÏ ÕÒÏ×ÅÎØ ÄÏÓÔÕÐÁ ÐÏÌØÚÏ×ÁÔÅÌÑ");
|
|
return;
|
|
}
|
|
if(url==""){
|
|
parseErr("îÅ ÚÁÄÁÎ ÁÄÒÅÓ ÄÏÓÔÕÐÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÀ ÒÅÓÕÒÓÏ× (ÉÌÉ \"/\", ÅÓÌÉ ÄÏÓÔÕÐÎÏ ×ÓÅ)");
|
|
return;
|
|
}
|
|
sendrequest(request,
|
|
"admin="+arg+"&user="+user+"&passwd="+passwd+"&level="+level+"&URL="+url,
|
|
cantadd);
|
|
user = passwd = level = url = "";
|
|
}
|
|
function cancelAdd(){
|
|
user = passwd = level = url = "";
|
|
$("box").innerHTML = "";
|
|
$("box").style.display = "none";
|
|
}
|
|
function delUser(username){
|
|
var request;
|
|
function cantdel(req){
|
|
chkAns(req, "ÎÅ ÍÏÇÕ ÕÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ<br>"+req.responseText);
|
|
}
|
|
sendrequest(request, "admin=userdel&user="+username, cantdel);
|
|
}
|
|
function editUser(username, ulevl, uurl){
|
|
user = username; passwd = "";
|
|
level = ulevl; url = uurl;
|
|
useradd("usermod");
|
|
}
|
|
</script>
|
|
<title>õÐÒÁ×ÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ</title>
|
|
</head>
|
|
<body onload="getcookie(CGI_PATH); run();">
|
|
<div class="shadow" id="box"></div>
|
|
<div id="inout" style="position: fixed; top: 10px; right: 10px; cursor: pointer; font-weight: bold;" onclick="inout();" >÷ÈÏÄ</div>
|
|
<div onclick="useradd('useradd');">îÏ×ÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ</div>
|
|
<div id="userlist"></div>
|
|
|
|
<div id="msg" style="margin-top: 15px; color: red;"></div>
|
|
</body>
|
|
</html>
|