📄 admin.js
字号:
var adminState=new Object();
Object.extend(adminState,{
menu:false,
editBox:false,
loginBox:false,
logList:false,
commentsList:false,
settings:false,
logined:false,
currentBox:"login"
});
var adminHandler=new Object();
Object.extend(adminHandler,{
show:function(obj){
adminTipBox.hide();
if(lb)lb.hide();
if(eb)eb.hide();
if(tl)tl.hide();
if(cl)cl.hide();
if(tbl)tbl.hide();
if(cb)cb.hide();
hidePager();
this.setCurrentMenu(obj);
switch(obj){
case "loginBox":
lb.show();
break;
case "editBox":
if(!checkLogin())return;
if(!eb)getEditBox();
eb.show();
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.setValue("adminAction","editBox");
rh.toHash();
break;
case "topicList":
if(!checkLogin())return;
if(!tl)getTopicList();
else tl.show();
showPager();
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.setValue("adminAction","topicList");
rh.toHash();
break;
case "adminCommentList":
if(!checkLogin())return;
if(!cl)getAdminCommentList();
else cl.show();
showPager();
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.setValue("adminAction","adminCommentList");
rh.toHash();
break;
case "adminTrackbackList":
if(!checkLogin())return;
if(!tbl)getAdminTrackbackList();
else tbl.show();
showPager();
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.setValue("adminAction","adminTrackbackList");
rh.toHash();
break;
case "configBox":
if(!checkLogin())return;
if(!cb)getConfigBox();
else cb.show();
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.setValue("adminAction","configBox");
rh.toHash();
break;
case "logOut":
if(!checkLogin())return;
logOut();
rh.reset();
rh.setValue("admin","admin");
rh.toHash();
break;
default:
return;
break;
}
},
setCurrentMenu:function(m){
for(var i=0;i<menu.childNodes.length;i++){
if(menu.childNodes[i].id.match(m)){
Element.addClassName(menu.childNodes[i],"current");
}else{
Element.removeClassName(menu.childNodes[i],"current");
}
}
}
});
/*
lb=loginBox
cb=configBox
eb=editBox
pb=previewBox
tl=topicList
tsb=topicSearchBox
sm=sortManager
s2s=sortToSort
opt=options
ss=sortSort
fsx=fixedSortXml
pmb=pwdModifyBox
tbl=trackbackList
tbsb=trackbackSearchBox
*/
var menu,lb,cb,eb,pb,tl,tsb,cl,tbl,csb,tbsb,sortXml,styleXml,defaultAuthor,userId="",userName,sm,s2s,options,opt,sortProperty,ss,fsx,pmb;
var adminTipBox;
options=new Object();
function adminInit(bil){
if(!menu)getMenu();
if(!lb)getLoginBox();
}
function getMenu(){
menu=$se("div");
menu.className="adminMenu";
getMenuItem(MultiLang.s1,"loginBox",true);
getMenuItem(MultiLang.s2,"editBox");
getMenuItem(MultiLang.s3,"topicList");
//getMenuItem(MultiLang.s4,"photoManage");
getMenuItem(MultiLang.s5,"adminCommentList");
getMenuItem(MultiLang.s6,"adminTrackbackList");
getMenuItem(MultiLang.s7,"configBox");
getMenuItem(MultiLang.s8,"logOut");
adminBil.appendChild(menu);
adminState.menu=true;
function getMenuItem(s,_target,current){
var _span=$se("span");
if(current)_span.className="current";
_span.onclick=function(){adminHandler.show(_target);}
_span.innerHTML=s;
_span.id="ms"+_target;
menu.appendChild(_span);
}
adminTipBox=new TipBox("",{elementName:"div",marginLeft:"12px",marginTop:"5px",marginRight:"12px",marginBottom:"0"});
adminBil.appendChild(adminTipBox.box);
//rh.check("login");
}
/*grr=getResponseResult*/
function grr(rp){
if(RegExp.$1)/(.*)/.exec("");
var re=new RegExp("<result>(.*)<\/result>");
re.exec(rp);
if(RegExp.$1)return RegExp.$1;
return "";
}
function logOut(){
adminTipBox.setText(MultiLang.s9,"noButton");
adminTipBox.show();
var option={
parameters:"s="+Math.random()+"&oper=logOut",
method:"get",
onSuccess:function(transport){
if(grr(transport.responseText)=="1"){
cb=eb=pb=tl=tsb=cl=csb=sortXml=styleXml=defaultAuthor=userId=userName=sm=s2s=options=opt=sortProperty=ss=fsx=pmb=null;
userId="";
adminTipBox.hide();
adminHandler.show("loginBox");
}else
adminTipBox.setText(MultiLang.s10+"<a href='javascript:logOut()'>"+MultiLang.s11+"</a>"+MultiLang.s12);
},
onFailure:function(transport){
adminTipBox.setText(MultiLang.s13+"<a href='javascript:logOut()'>"+MultiLang.s11+"</a>"+MultiLang.s12);
}
}
var request=new Ajax.Request("ajax.aspx",option);
}
function getLoginBox(){
lb=new FormBox("adminLoginBox");
adminBil.appendChild(lb.getBox());
lb.insertItem("text","userName",{attributes:{maxLength:20,value:'admin',disabled:'true'},foreLabel:MultiLang.s14});
lb.insertItem("password","pwd",{attributes:{maxLength:20},foreLabel:MultiLang.s15});
//lb.insertItem("checkbox","rememberMe",{backLabel:MultiLang.s16});
lb.insertItem("button","btnLogin",{sameLine:true,value:MultiLang.s1,className:'button'});
lb.items["btnLogin"].onclick=login;
lb.customReset=function(){
lb.setValue("userName","admin");
}
}
function login(){
adminTipBox.setText(MultiLang.s17,"noButton");
adminTipBox.show();
var option={
parameters:"s="+Math.random()+"&oper=login&userName="+escape2(lb.getValue("userName"))+"&pwd="+escape2(lb.getValue("pwd")),
method:"get",
onSuccess:function(transport){
var rp=transport.responseText;
var doc=new X2Doc(rp);
var loginResult=doc.root.getValue("result");
if(loginResult=="loginOk"){
adminTipBox.setText(MultiLang.s18,"noButton");
defaultAuthor=doc.root.getValue("defaultAuthor");
sortXml=doc.gnn(doc.root,"sortList");
fsx=doc.gnn(doc.root,"fixedSort");
userId=doc.root.getValue("userId");
userName=doc.root.getValue("userName");
styleXml=doc.gnn(doc.root,"style");
options=doc.gnn(doc.root,"options");
lb.reset();
lb.hide();
adminTipBox.setText(MultiLang.s19);
if(!rh.check("adminAction")){
rh.reset();
rh.setValue("admin","admin");
rh.setValue("action","login");
rh.toHash();
}
}else if(loginResult=="loginError"){
adminTipBox.setText(MultiLang.s20);
}else{
adminTipBox.setText(MultiLang.s21);
}
},
onFailure:function(transport){
adminTipBox.setText(MultiLang.s13+"<a href='javascript:login()'>"+MultiLang.s11+"</a>"+MultiLang.s12);
}
}
var request=new Ajax.Request("ajax.aspx",option);
}
function checkLogin(rp){
if(userId==""){
adminTipBox.hide();
adminHandler.show("loginBox");
return false;
}
if(grr(rp)=="notLogin"){
adminTipBox.setText(MultiLang.s22);
adminTipBox.show();
//userId="";
lb.show();
return false;
}
return true;
}
function getEditBox(){
adminTipBox.setText(MultiLang.s23,"noButton");
adminTipBox.show();
eb=new FormBox("adminEditBox");
adminBil.appendChild(eb.getBox());
eb.hide();
eb.insertItem("text","title",{attributes:{maxLength:50},foreLabel:MultiLang.s24,tip:'* '+MultiLang.s25+'50'+MultiLang.s26});
eb.insertItem("hidden","id",{attributes:{style:'display:none'},sameLine:true});
eb.insertItem("select","sortId",{foreLabel:MultiLang.s27,selectArray:[MultiLang.s28+',0']});
eb.insertItem("textarea","content",{foreLabel:MultiLang.s29});
eb.insertItem("text","author",{attributes:{value:defaultAuthor,maxLength:20},foreLabel:MultiLang.s30,tip:'* '+MultiLang.s25+'20'+MultiLang.s26});
eb.insertItem("","top",{foreLabel:MultiLang.s31,liClassName:'checkbox'});
eb.insertItem("checkbox","homeTop",{sameLine:true,backLabel:MultiLang.s32});
eb.insertItem("checkbox","sortTop",{sameLine:true,backLabel:MultiLang.s33});
eb.insertItem("text","link",{attributes:{maxLength:255},foreLabel:MultiLang.s34,tip:'* '+MultiLang.s35});
eb.insertItem("text","trackback",{attributes:{maxLength:255},foreLabel:'Track'+MultiLang.s36,tip:''});
//eb.insertItem("text","key",{attributes:{maxLength:255},foreLabel:MultiLang.s37,tip:'* '+MultiLang.s38+'5'+MultiLang.s39});
eb.insertItem("","abstractTag",{foreLabel:MultiLang.s40,liClassName:'checkbox'});
eb.insertItem("textarea","abstract",{attributes:{cols:90,rows:10},sameLine:true});
Element.hide(eb.items["author"].parentNode);
Element.hide(eb.items["top"].parentNode);
Element.hide(eb.items["link"].parentNode);
Element.hide(eb.items["trackback"].parentNode);
//Element.hide(eb.items["key"].parentNode);
Element.hide(eb.items["abstract"].parentNode);
eb.insertItem("button","btnNew",{liClassName:'button',className:'button',value:MultiLang.s41});
eb.insertItem("button","btnPublish",{sameLine:true,className:'button',value:MultiLang.s42});
eb.insertItem("button","btnPreview",{sameLine:true,className:'button',value:MultiLang.s43});
eb.insertItem("button","btnAdvance",{sameLine:true,className:'button',value:MultiLang.s44});
eb.insertItem("button","btnAbstract",{sameLine:true,className:'button',value:MultiLang.s45});
//eb.insertItem("button","btnSave",{sameLine:true,className:'button',value:MultiLang.s46});
Element.hide(eb.items["btnNew"]);
eb.customReset=function(){
eb.setValue("author",defaultAuthor);
}
for(var i=0;i<sortXml.contents.length;i++){
eb.addSelectValue("sortId",sortXml.contents[i].contents[0].value,sortXml.contents[i].attributes["id"]);
}
var editor = new FCKeditor( '',480,300,"x2","" ) ;
editor.BasePath = '' ;
adminTipBox.hide();
eb.onShow=function(){
if(eb.items["content"].id.match("fckeditor"))return;
editor.ReplaceTextarea2(eb.items["content"]);
}
eb.items["btnAdvance"].onclick=function(){
Element.toggle(eb.items["author"].parentNode);
Element.toggle(eb.items["top"].parentNode);
Element.toggle(eb.items["link"].parentNode);
Element.toggle(eb.items["trackback"].parentNode);
//Element.toggle(eb.items["key"].parentNode);
}
eb.items["btnAbstract"].onclick=function(){
Element.toggle(eb.items["abstract"].parentNode);
if(!eb.items["advance"]){
eb.items["advance"]=true;
editor.Height=200;
editor.ReplaceTextarea2(eb.items["abstract"]);
}
}
eb.items["btnNew"].onclick=function(){
Element.hide(eb.items["btnNew"]);
Element.hide(eb.items["author"].parentNode);
Element.hide(eb.items["top"].parentNode);
Element.hide(eb.items["link"].parentNode);
Element.hide(eb.items["trackback"].parentNode);
//Element.hide(eb.items["key"].parentNode);
Element.hide(eb.items["abstract"].parentNode);
if(pb)Element.hide(pb);
eb.setValue("btnPublish",MultiLang.s42);
eb.reset();
}
eb.items["btnPublish"].onclick=publishTopic;
eb.items["btnPreview"].onclick=previewTopic;
}
function publishTopic(){
scroll(0,0);
if(!checkEb())return;
adminTipBox.setText(MultiLang.s47,"noButton");
adminTipBox.show();
var option={
parameters:"xml="+escape2(eb.toXml()),
method:"post",
onSuccess:function(transport){
var rp=transport.responseText;
if(!checkLogin(rp))return;
if(!eb.getValue("id")){
adminTipBox.setText(MultiLang.s48);
eb.reset();
}else{
adminTipBox.setText(MultiLang.s49);
}
adminTipBox.show();
adminTipBox.hideAfterSeconds(3);
},
onFailure:function(transport){
adminTipBox.setText(MultiLang.s13+"<a href='javascript:publishTopic()'>"+MultiLang.s11+"</a>"+MultiLang.s12);
}
}
var request=new Ajax.Request("ajax.aspx?s="+Math.random()+"&oper=editTopic",option);
}
function previewTopic(){
if(!pb){
pb=$se("div");
eb.getBox().appendChild(pb);
pb.style.marginLeft="-10px";
}
if(pb.style.display=="block"){
pb.style.display="none";
return;
}
if(!checkEb())return;
pb.style.display="block";
var xml=eb.toXml();
/(<[^<>]+>)$/.exec(xml);
xml=xml.substring(0,xml.length-RegExp.$1.length);
var now=new Date();
xml+="<date>"+now.getYear()+"-"+(now.getMonth()+1)+"-"+now.getDate()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+"</date>";
xml+="<sortName>"+eb.items["sortId"].options[eb.items["sortId"].selectedIndex].text+"</sortName>";
xml+="<abstract><![CDATA["+eb.getValue("content")+"]]></abstract>";
xml+=RegExp.$1;
var doc=new X2Doc(xml);
var dl=createBlogItem(doc.root);
if(pb.hasChildNodes())pb.replaceChild(dl,pb.firstChild);
else pb.appendChild(dl);
if(document.X2Lighter==1)highLightCode();
}
function checkEb(){
var result="";
if(!eb.getValue("title")){
result+="<li>"+MultiLang.s50+"</li>";
}
if(eb.getValue("sortId")=="0"){
result+="<li>"+MultiLang.s51+"</li>";
}
if(!eb.getValue("content")){
result+="<li>"+MultiLang.s52+"</li>";
}
if(!eb.getValue("author")){
result+="<li>"+MultiLang.s53+"</li>";
}
if(result){
result="<font color='#ff0000'>"+MultiLang.s54+"</font><br/><ul style='margin:3px 20px;padding:0px'>"+result;
result+="</ul>";
}
if(result){
adminTipBox.setText(result);
adminTipBox.show();
scroll(0,0);
}
else adminTipBox.hide();
return !result;
}
function getTopicSearchBox(){
tsb=new FormBox("topicSearchBox");
tsb.insertItem("select","sortId",{liClassName:'button',foreLabel:'',selectArray:[MultiLang.s55+',0']});
//tsb.insertItem("select","state",{foreLabel:'',sameLine:true,selectArray:[MultiLang.s56+',0']});
tsb.insertItem("select","keyType",{foreLabel:'',sameLine:true,selectArray:[MultiLang.s57+',0']});
tsb.insertItem("text","key",{attributes:{maxLength:30},sameLine:true});
tsb.insertItem("button","btnSearch",{sameLine:true,className:'button',value:MultiLang.s58});
for(var i=0;i<sortXml.contents.length;i++){
tsb.addSelectValue("sortId",sortXml.contents[i].contents[0].value,sortXml.contents[i].attributes["id"]);
}
tsb.addSelectValue("keyType",MultiLang.s59,"1");
tsb.addSelectValue("keyType",MultiLang.s60,"2");
tsb.addSelectValue("keyType","IP","3");
tsb.addSelectValue("keyType",MultiLang.s61,"4");
//tsb.addSelectValue("state",MultiLang.s62,"1");
//tsb.addSelectValue("state",MultiLang.s63,"2");
tsb.items['btnSearch'].onclick=_getTopicList(1);
}
function getCommentSearchBox(){
csb=new FormBox("commentSearchBox");
csb.insertItem("select","keyType",{foreLabel:MultiLang.s37,selectArray:[MultiLang.s57+',0']});
csb.insertItem("text","key",{attributes:{maxLength:30,cols:50},sameLine:true});
csb.insertItem("button","btnSearch",{sameLine:true,className:'button',value:MultiLang.s58});
//
csb.addSelectValue("keyType",MultiLang.s60,"2");
csb.addSelectValue("keyType","IP","3");
csb.addSelectValue("keyType",MultiLang.s61,"4");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -