<% ' TConfig 配置管理类(业务功能) ' include const.asp,file_define.asp,system.asp Class TConfig Private FFilename,FXML,FFSO Dim MSG_FILE_NOT_EXISTS,MSG_PATH_NOT_EXISTS,SQL_CONFIG Sub Class_Initialize MSG_FILE_NOT_EXISTS = FILE_CONFIG & " 不存在!" MSG_PATH_NOT_EXISTS = "系统路径:{0} 不存在!请重新安装" SQL_CONFIG = "select * from " & TAB_CONFIG FFilename = FILE_CONFIG Set FFSO = sys.getOBJ(SO_FSO) If Not Loaded(0) Then load 0 '默认检查文件配置载入 'If Not Loaded(1) Then load 1 '数据库配置 End sub Sub Class_Terminate If IsObject(FXML) Then Set FXML = Nothing If IsObject(FFSO) Then Set FFSO = nothing End Sub '------------------------------- property begin --------- Private Property Get Loaded(index) If index = 0 Then Loaded = (ConnStr <> "") Else Loaded = item(SESS_CONFIG_LOADED) = true End if End Property Private Property Get FileExists() Dim f : f = sys.getPath(FFilename) If FFSO.FileExists(f) Then FileExists = True Else f = sys.getPath("../" & FFilename) If FFSO.FileExists(f) Then FileExists = True FFilename = "../" & FFilename Else FileExists = False sys.print MSG_FILE_NOT_EXISTS sys.halt End If End If End Property Property Let Item(key,value) If Not checkXML Then Exit property setNodeText key,value End Property Property Get Item(key) Item = sys.getSession(key) End Property Property Get ConnStr() ConnStr = Item(SESS_CONN_STR) End Property Property Get URLRoot() URLRoot = sys.toDir(Item(SESS_URL_ROOT)) End Property Property Get PathRoot() Dim p : p = sys.toPath(Item(SESS_PATH_ROOT)) If Not FFSO.FolderExists(p) Then sys.print Replace(MSG_PATH_NOT_EXISTS,"{0}",p) sys.halt End if PathRoot = p End Property Property Get SysName() If item(SESS_SHOW_NAME) <> "" Then SysName = item(SESS_SHOW_NAME) Else SysName = item(SESS_COM_NAME) End if End property Property Get LoginPage() LoginPage = URLRoot & FILE_LOGIN End Property Property get ImagePath() ImagePath = ThemePath & sys.toDir(PATH_IMAGES) End Property Property get ThemePath() ThemePath = URLRoot & sys.toDir(PATH_THEME) & sys.toDir(Item(SESS_THEME)) End Property '=============================== property end ================== Private function checkXML() If not FileExists Then checkXML = False Exit function End if If Not isobject(FXML) Then Set FXML = sys.getObj(SO_XML) FXML.load sys.getPath(FFilename) End If checkXML = true End Function Private Function getNodeText(aNode) Dim node Set node = FXML.selectsinglenode("//" & aNode) If Not node is nothing Then getNodeText = node.text End Function Private Function setNodeText(aNode,aText) Dim node,root Set node = FXML.selectsinglenode("//" & aNode) If Not node is nothing Then node.text = aText Else Set root = FXML.documentElement Set node = FXML.createElement(aNode) node.text = aText root.appendChild(node) End if End Function ' 信息载入SESSION Sub Load(index) If index = 0 then If Not checkXML Then Exit Sub sys.setSession SESS_VERSION,getNodeText(SESS_VERSION) sys.setSession SESS_CONN_STR,getNodeText(SESS_CONN_STR) sys.setSession SESS_COM_NAME,getNodeText(SESS_COM_NAME) sys.setSession SESS_URL_ROOT,getNodeText(SESS_URL_ROOT) sys.setSession SESS_PATH_ROOT,getNodeText(SESS_PATH_ROOT) sys.setSession SESS_THEME,getNodeText(SESS_THEME) Else If sys.getSession(SESS_USERID) = "" Then Exit Sub '登录后方可加载 Set rs = mgr.db.execute(SQL_CONFIG) If Not rs.eof Then sys.setSession SESS_SHOW_NAME,rs("show_name").value sys.setSession SESS_PIC_SHOW,rs("pic_show").value sys.setSession SESS_RECORD_MAX,rs("record_max").value sys.setSession SESS_PRODUCT_MAX,rs("product_max").value sys.setSession SESS_CONFIG_LOADED,True End If mgr.db.closeObj rs End if End Sub Sub ReLoad() Load 0 load 1 End Sub Sub save() If IsObject(FXML) Then FXML.save sys.getPath(FFilename) End sub End Class %>