<% //====== Admin PAGE LOGIC ==================================== // Copyright 2005 SiC. All Rights Reserved. // Last Update: 2005-03-01 22:57:56 //============================================================ if(!theUser.loggedIn||theUser.groupID!=1) Response.Redirect("default.asp"); getAdminLanguage(lang); pageHeader(lang["administration"]); if(input["act"]=="login"){ adminLogin(); } if(input["act"]=="logout"){ Session("admin")=undefined; Response.Redirect("default.asp"); } if(Session("admin")==true){ // Admin has logged in switch(String(input["in"])){ case "settings": if(input["act"]=="update") updateSettings(); theCache.loadSettings(); outputSettings(); break; case "category": if(input["act"]) updateCategories(); theCache.loadCategories(); if(input["act"]!="move"||input["target"]){ outputCategories(); } break; case "group": if(input["act"]) updateUserGroup(); theCache.loadUserGroup(); outputUserGroup(); break; case "smilies": if(input["act"]) updateSmilies(); theCache.loadSmilies(); outputSmilies(); break; case "wordfilter": if(input["act"]) updateWordFilter(); theCache.loadWordFilter(); outputWordFilter(); break; case "database": showDatabase(); break; case "attachment": showAttachment(); break; case "announce": showAnnouncement(); break; case "links": showLinks(); break; case "misc": showMisc(); break; default: switch(String(input["act"])){ case "closesite": if(Session("admin")==true){ closeSite(); Response.Redirect("?"); } break; case "opensite": if(Session("admin")==true){ openSite(); Response.Redirect("?"); } break; default: showGeneralInfo(); } } }else{ // Admin has not logged in adminLoginForm(); } pageFooter(); // Admin Login Check /////////////////////////////////////////////////////////////////// function adminLogin(){ var tmpA=connBlog.query("SELECT user_password, user_salt FROM [blog_User] WHERE user_id="+theUser.id); if(!tmpA){ Session("admin")=undefined; redirectMessage(lang["error"], lang["user_not_found"], "", "", false, "errorbox"); write("
"); }else{ if(tmpA[0]["user_password"]!=func.SHA1(input["password"]+tmpA[0]["user_salt"])){ Session("admin")=undefined; redirectMessage(lang["error"], lang["password_invalid"], "", "", false, "errorbox"); write("
"); }else{ Session("admin")=true; } } } // Display General Information on the Server /////////////////////////////////////////////// function showGeneralInfo(){ var serverInfo={ "software": Request.ServerVariables("SERVER_SOFTWARE"), "ip": Request.ServerVariables("LOCAL_ADDR"), "scriptEngine": ScriptEngineMajorVersion()+"."+ScriptEngineMinorVersion()+"."+ScriptEngineBuildVersion(), "time": func.getDateTimeString("YY-MM-DD hh:ii:ss Z"), "path": Request.ServerVariables("APPL_PHYSICAL_PATH"), "objFSO": checkServerObject("Scripting.FileSystemObject"), "objStream": checkServerObject("ADODB.Stream"), "objXMLHTTP": checkServerObject("MSXML2.ServerXMLHTTP"), "objXMLDOM": checkServerObject("Microsoft.XMLDOM") } outputGeneralInfo(serverInfo); } // Check if the object is usable on the server function checkServerObject(strObjectName){ try{ var obj=Server.CreateObject(strObjectName); }catch(e){ return false; } delete obj; return true; } // Update Global Settings /////////////////////////////////////////////////////////////////// function updateSettings(){ // Check path if(input["baseurl"]){ input["baseurl"].replace(/\\/g,"/"); if(input["baseurl"].slice(-1)!="/") input["baseurl"]+="/"; } if(input["logoimage"]){ input["logoimage"].replace(/\\/g,"/"); if(input["logoimage"].slice(-1)=="/") input["logoimage"]=input["stylesheet"].substr(0,input["stylesheet"].length-1); } if(input["stylesheet"]){ input["stylesheet"].replace(/\\/g,"/"); if(input["stylesheet"].slice(-1)=="/") input["stylesheet"]=input["stylesheet"].substr(0,input["stylesheet"].length-1); } if(input["imagefolder"]){ input["imagefolder"].replace(/\\/g,"/"); if(input["imagefolder"].slice(-1)=="/") input["imagefolder"]=input["imagefolder"].substr(0,input["imagefolder"].length-1); } if(input["smiliesfolder"]){ input["smiliesfolder"].replace(/\\/g,"/"); if(input["smiliesfolder"].slice(-1)=="/") input["smiliesfolder"]=input["smiliesfolder"].substr(0,input["smiliesfolder"].length-1); } if(input["uploadpath"]){ input["uploadpath"].replace(/\\/g,"/"); if(input["uploadpath"].slice(-1)!="/") input["uploadpath"]+="/"; } // Do updates connBlog.exec(genStrUpdate("blogtitle")); connBlog.exec(genStrUpdate("blogdescription")); connBlog.exec(genStrUpdate("baseurl")); connBlog.exec(genStrUpdate("logoimage")); connBlog.exec(genStrUpdate("blogwebmaster")); connBlog.exec(genStrUpdate("blogwebmasteremail")); connBlog.exec(genStrUpdate("bloglanguage")); connBlog.exec(genBoolUpdate("defaultviewmode")); connBlog.exec(genIntUpdate("articleperpagenormal",0,21)); connBlog.exec(genIntUpdate("articleperpagelist",19,101)); connBlog.exec(genIntUpdate("listentryperpage",9,101)); connBlog.exec(genIntUpdate("commentperpage",-1,51)); connBlog.exec(genBoolUpdate("commenttimeorder")); connBlog.exec(genBoolUpdate("showtrackbackwithcomment")); connBlog.exec(genIntUpdate("showtrackbackposition",-1,3)); connBlog.exec(genIntUpdate("recentarticlelist",2,31)); connBlog.exec(genIntUpdate("recentcommentlist",2,31)); connBlog.exec(genBoolUpdate("enabledynamiccalendar")); connBlog.exec(genBoolUpdate("enablecontentautosplit")); connBlog.exec(genIntUpdate("contentautosplitchars",99,2001)); connBlog.exec(genBoolUpdate("enableregister")); connBlog.exec(genBoolUpdate("enablesecuritycode")); connBlog.exec(genBoolUpdate("enabletrackbackin")); connBlog.exec(genBoolUpdate("enabletrackbackout")); connBlog.exec(genBoolUpdate("enablecomment")); connBlog.exec(genIntUpdate("maxcommentlength",99,2001)); connBlog.exec(genBoolUpdate("enableguestbook")); connBlog.exec(genIntUpdate("entryperpageguestbook",2,31)); connBlog.exec(genStrUpdate("stylesheet")); connBlog.exec(genStrUpdate("imagefolder")); connBlog.exec(genStrUpdate("smiliesfolder")); connBlog.exec(genIntUpdate("smiliesperrow",0,31)); connBlog.exec(genIntUpdate("minpostduration",0,601)); connBlog.exec(genBoolUpdate("enablevisitorrecord")); connBlog.exec(genIntUpdate("maxvisitorrecord",0,301)); connBlog.exec(genBoolUpdate("enableupload")); connBlog.exec(genIntUpdate("uploadsize",1023,50000001)); connBlog.exec(genStrUpdate("uploadpath")); connBlog.exec(genStrUpdate("uploadtypes")); theCache.loadCalendar(); theCache.loadArticles(); theCache.loadComments(); function genStrUpdate(strName){ if(input[strName]){ return "UPDATE [blog_Settings] SET set_value1='"+func.checkStr(func.trim(input[strName]))+"' WHERE set_name='"+strName+"';"; }else{ return ""; } } function genBoolUpdate(strName){ input[strName] = input[strName] ? 1: 0; return "UPDATE [blog_Settings] SET set_value0="+input[strName]+" WHERE set_name='"+strName+"';"; } function genIntUpdate(strName,intMin, intMax){ input[strName]=func.checkInt(input[strName]); if(input[strName]>intMin&&input[strName]