/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { /*用于保持Session,解决发置换Session的问题*/ SessionRest.Rest(Request.Form["AUTHID"].ToString(), Response.Cookies); /*获取配置项中目录*/ string targetFolder = AppConfiger.GetSiteSetting(Server, "projectsz"); /*读出文件*/ HttpPostedFile file = Request.Files["FileData"]; /*获得上传目录*/ string uploadpath = Server.MapPath(targetFolder + "\\"); /*判断文件是否为空*/ if (file != null) { /*判断目录是否存在*/ if (!Directory.Exists(uploadpath)) { /*创建目录*/ Directory.CreateDirectory(uploadpath); } /*保存文件*/ string savePath = uploadpath + DateTime.Now.ToFileTime() + ".zip"; file.SaveAs(savePath); /*在Session中存入保存文件路径*/ /* CookiesHelper.SetCookie("savePath", savePath,DateTime.Now.AddHours(1));*/ } else { /*输出失败*/ Response.Write("0"); } }
/// <summary> /// Page_Load /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (UserOperation.CheckLoged(Session) == false) { SmallScript.goRedirect(Response, Session, "请登录后再浏览本页", "/Login.aspx"); } string id = Request.QueryString["id"].ToString(); try { codeEntity = CodeOperation.GetCode(int.Parse(id)); langEntity = LangOperation.GetLang(codeEntity.Lid); userEntity = UserOperation.GetUser(codeEntity.Uid); /*Pre += "<pre style=\"margin:auto;\" class=\"brush: " + langEntity.BrushAliases + ";toolbar: false;\">";*/ Pre += File.ReadAllText(Server.MapPath(AppConfiger.GetProjectsDir(Server) + codeEntity.Path), System.Text.Encoding.GetEncoding("GBK")); //取出相关的注释 List <NoteEntity> assnotes = CodeOperation.GetAssNotes(codeEntity.Id); //对注释进行分组 List <int> index = new List <int>(); List <int> indexCount = new List <int>(); foreach (NoteEntity ne in assnotes) { if (!index.Contains(ne.StartLine)) { index.Add(ne.StartLine); indexCount.Add(1); } else { int myindex = 0; while (index[myindex] != ne.StartLine) { myindex++; } indexCount[myindex]++; } } //编译成js支持的数组格式 jsaLineNum = complieArray(index); jsaLineCount = complieArray(indexCount); /* Pre += "</pre>";*/ if (index.Count == 0) { jsaLineNum = "[]"; jsaLineCount = "[]"; } } catch { } }
public SettingViewModel(IScreen screen) { HostScreen = screen; this.SaveCommand = ReactiveCommand.Create(); this.SaveCommand.Subscribe(p => { if (this.m_CurrAppTheme != null) { AppConfiger.AppCfg.AppTheme = this.m_CurrAppTheme.Name; } if (this.m_CurrAppAccent != null) { AppConfiger.AppCfg.AppAccent = this.m_CurrAppAccent.Name; } AppConfiger.Save(); m_DialogCoordinator.ShowMessageAsync(this, AppConfiger.AppCfg.AppName, "设置保存成功", MessageDialogStyle.Affirmative, new MetroDialogSettings() { AffirmativeButtonText = "确定" }); }); this.CancelCommand = ReactiveCommand.Create(); this.CancelCommand.Subscribe(p => { HostScreen.Router.NavigateCommandFor <HomeViewModel>().Execute(this.HostScreen); //HostScreen.Router.NavigateBack.Execute(null); }); this.AccentColorSelectionChangedCommand = ReactiveCommand.Create(); this.AccentColorSelectionChangedCommand.Subscribe(p => ChangeAccentColor(p)); this.AppThemeSelectionChangedCommand = ReactiveCommand.Create(); this.AppThemeSelectionChangedCommand.Subscribe(p => ChangeAppTheme(p)); this.AccentColors = ThemeManager.Accents.Select(a => new AccentColorData() { Name = a.Name, ColorBrush = a.Resources["AccentColorBrush"] as Brush }).ToList(); this.AppThemes = ThemeManager.AppThemes.Select(a => new AppThemeData() { Name = a.Name, BorderColorBrush = a.Resources["BlackColorBrush"] as Brush, ColorBrush = a.Resources["WhiteColorBrush"] as Brush }).ToList(); }
/// <summary> /// Page_Load /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (UserOperation.CheckLoged(Session) == false) { SmallScript.goRedirect(Response, Session, "请登录后再浏览本页", "/Login.aspx"); } if (!IsPostBack) { if (!Directory.Exists(Server.MapPath(AppConfiger.GetProjectsDir(Server) + "\\" + Request.QueryString["id"].ToString()))) { Directory.CreateDirectory(Server.MapPath(AppConfiger.GetProjectsDir(Server) + "\\" + Request.QueryString["id"].ToString())); } List <TreeNodeEntity> AllNodes = GetDirNode(Server.MapPath(AppConfiger.GetProjectsDir(Server) + "\\" + Request.QueryString["id"].ToString())); foreach (TreeNodeEntity node in AllNodes) { ProjectNodes += node.ToString() + ","; } if (!(ProjectNodes.Length == 0)) { ProjectNodes = ProjectNodes.Substring(0, ProjectNodes.Length - 1); } } }
/// <summary> /// 上传按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_OK_Click(object sender, EventArgs e) { if (btn_OK.Text == "完成") { Response.Redirect("RSManager.aspx?dir=" + AppConfiger.GetProjectsDir(Server) + "\\" + ddl_Project.SelectedValue); } /*找读取工程目录*/ string targetFolder = AppConfiger.GetSiteSetting(Server, "projects"); string zipPath = ""; /*获取解压路径*/ string UnzipPath = Server.MapPath(targetFolder + "\\" + ddl_Project.SelectedValue.ToString() + "\\"); /*检查是否已上传文件*/ if (this.FileUpload1.FileName.LastIndexOf(".rar") == -1 && this.FileUpload1.FileName.LastIndexOf(".zip") == -1) { AddInfo("只允许上传rar和zip文件,请检查文件格式。"); return; } int pid = int.Parse(ddl_Project.SelectedValue); string filename = this.FileUpload1.FileName; zipPath = Server.MapPath(AppConfiger.GetProjectsZDir(Server) + "\\" + DateTime.Now.ToFileTimeUtc() + filename.Substring(filename.LastIndexOf(".") + 1, filename.Length - filename.LastIndexOf(".") - 1) ); this.FileUpload1.SaveAs(zipPath); /*zipPath = CookiesHelper.GetCookieValue("savePath"); * if (zipPath == string.Empty || zipPath == null) * { * AddInfo("文件尚未上传!工程上传终止。"); * return; * }*/ /*如果已经勾选了清除工程*/ if (cb_Clear.Checked) { /*清除工程*/ ProjectManager.ClearDir(UnzipPath); AddInfo("已删除目录:" + UnzipPath); }/*End If*/ AddInfo("开始解压工程压缩包:" + zipPath); UnPackHelper uph = new UnPackHelper(zipPath, UnzipPath); uph.DoUnPack(); AddInfo("工程压缩包解压完成,开始整理代码。"); /*----------------------------------------------*/ ProjectManager.ClearCodes(pid); /*获取全部支持代码*/ List <LangEntity> langs = ProjectManager.GetLangs(); /*得到所有的工程内的文件*/ int count = 0; foreach (string fileName in Directory.GetFiles(UnzipPath, "*.*", SearchOption.AllDirectories)) { /*如果是已经支持的源码文件*/ string ext = GetExt(fileName); /*是否在支持的语言中*/ if (ProjectManager.IsLangsList(langs, ext)) { CodeEntity ce = new CodeEntity(); ce.Lid = ProjectManager.GetLid(langs, ext); ce.Pid = pid; ce.Uid = int.Parse(Session["uid"].ToString()); ce.UpTime = DateTime.Now; /*修正目录*/ ce.Path = fileName.Replace(Server.MapPath(AppConfiger.GetProjectsDir(Server)), ""); if (ProjectManager.AddCode(ce)) { count++; AddInfo("已将文件: " + ce.Path + " 加入代码库。"); } } } AddInfo("所有支持的代码已经入库,总共处理了 " + count.ToString() + " 份代码。"); btn_OK.Text = "完成"; Response.Cookies["savepath"].Expires = DateTime.Now; }
/// <summary> /// 修正链接 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void FixNameUrl(object sender, EventArgs e) { HyperLink hl = (HyperLink)sender; hl.NavigateUrl = "RSManager.aspx?dir=" + AppConfiger.GetProjectsDir(Server) + "\\" + hl.NavigateUrl + "&projectName=" + hl.Text; }
protected void FixUrl(object sender, EventArgs e) { HyperLink hl = (HyperLink)sender; if (hl.NavigateUrl == "..") { string tempDir = Dir.Substring(0, Dir.LastIndexOf("\\")); if (tempDir == AppConfiger.GetProjectsDir(Server)) { hl.NavigateUrl = ""; } else { hl.NavigateUrl = Request.Url.AbsolutePath + "?dir=" + tempDir; } } else {/*如果是是文件夹*/ if (Directory.Exists(Server.MapPath(Dir + "\\" + hl.NavigateUrl))) { hl.NavigateUrl = Request.Url.AbsolutePath + "?dir=" + Dir + "\\" + hl.NavigateUrl + (Request.QueryString["projectname"] != null? "&projectname=" + Request.QueryString["projectname"].ToString():""); } else { /*如果是普通文件*/ dir = Request.QueryString["dir"].ToString(); dir = dir.Replace(AppConfiger.GetProjectsDir(Server), ""); CodeEntity ce = CodeOperation.GetCodeFromPath(dir + "\\" + hl.NavigateUrl); /*如果该文件已经登记在案*/ if (ce != null) { /*指向*/ hl.NavigateUrl = "/Viewer.aspx?id=" + ce.Id.ToString(); } else { hl.ForeColor = System.Drawing.Color.Gray; hl.NavigateUrl = ""; } } } /* * if (btn.Text == "..") * { * string tempDir = Dir.Substring(0, Dir.LastIndexOf("\\") + 1); * if (tempDir == Server.MapPath(AppConfiger.GetProjectsDir(Server))) * { * return; * } * else * { * this.Dir = tempDir; * } * } * else * { * this.Dir = dir + "\\" + btn.Text; * } */ }
/// <summary> /// 获取文件 /// </summary> /// <param name="dir"></param> /// <returns></returns> private List <TreeNodeEntity> GetDirNode(string dir) { List <TreeNodeEntity> filesEntities = new List <TreeNodeEntity>(); string[] dirs = Directory.GetDirectories(dir); foreach (string InDir in dirs) { TreeNodeEntity dirNode = new TreeNodeEntity(); dirNode.Name = InDir.Substring(InDir.LastIndexOf("\\") + 1, InDir.Length - InDir.LastIndexOf("\\") - 1); dirNode.Open = false; dirNode.Children = GetDirNode(InDir); filesEntities.Add(dirNode); } string[] files = Directory.GetFiles(dir); foreach (string InFile in files) { TreeNodeEntity fileNode = new TreeNodeEntity(); CodeEntity ce = CodeOperation.GetCodeFromPath(dir.Replace( Server.MapPath(AppConfiger.GetProjectsDir(Server)), "") + "\\" + InFile.Substring(InFile.LastIndexOf("\\") + 1, InFile.Length - InFile.LastIndexOf("\\") - 1)); if (ce != null) { fileNode.Id = ce.Id; fileNode.Name = ce.Path.Substring(ce.Path.LastIndexOf("\\") + 1, ce.Path.Length - ce.Path.LastIndexOf("\\") - 1); fileNode.TargetName = "sourceFrame"; fileNode.UrlFormat = "/Viewer.aspx?id={0}"; filesEntities.Add(fileNode); } else { fileNode.Name = InFile.Substring(InFile.LastIndexOf("\\") + 1, InFile.Length - InFile.LastIndexOf("\\") - 1); filesEntities.Add(fileNode); } } return(filesEntities); }