コード例 #1
0
    /// <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");
        }
    }
コード例 #2
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 { }
    }
コード例 #3
0
ファイル: SettingViewModel.cs プロジェクト: ajayumi/AiXin
        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();
        }
コード例 #4
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");
     }
     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);
         }
     }
 }
コード例 #5
0
    /// <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;
    }
コード例 #6
0
    /// <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;
    }
コード例 #7
0
    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;
         * }
         */
    }
コード例 #8
0
    /// <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);
    }