/////////////////////////////////////////////////////////////////////// public static void sort_and_filter_buglist_dataview(DataView dv, bool IsPostBack, string actn_val, ref string filter_val, ref string sort_val, ref string prev_sort_val, ref string prev_dir_val) { if (dv == null) { return; } // remember filter if (!IsPostBack) { if (HttpContext.Current.Session["filter"] != null) { filter_val = (string)HttpContext.Current.Session["filter"]; try { dv.RowFilter = adjust_filter_val(filter_val).Replace("'", "''").Replace("$$$", "'"); } catch (Exception) { // just in case a filter in the Session is incompatible } } } else { HttpContext.Current.Session["filter"] = filter_val; try { string filter_string2 = adjust_filter_val(filter_val).Replace("'", "''").Replace("$$$", "'"); if (HttpContext.Current.Request["tags"] != null && HttpContext.Current.Request["tags"] != "") { filter_string2 += Tags.build_filter_clause( HttpContext.Current.Application, HttpContext.Current.Request["tags"]); } dv.RowFilter = filter_string2; } catch (Exception) { // just in case a filter in the Session is incompatible } } // Determine which column to sort // and toggle ASC DESC if (actn_val == "sort") { int sort_column = Convert.ToInt32(sort_val) + 1; string sort_expression = dv.Table.Columns[sort_column].ColumnName; if (sort_val == prev_sort_val) { if (prev_dir_val == "ASC") { prev_dir_val = "DESC"; sort_expression += " DESC"; } else { prev_dir_val = "ASC"; } } else { prev_sort_val = sort_val; prev_dir_val = "ASC"; } dv.Sort = sort_expression; HttpContext.Current.Session["sort"] = sort_expression; } else { // remember sort if (!IsPostBack) { if (HttpContext.Current.Session["sort"] != null) { try { dv.Sort = (string)HttpContext.Current.Session["sort"]; } catch (Exception) { // just in case a sort stored in Session is incompatible } } } } }
public void Application_OnStart(Object sender, EventArgs e) { string path = HttpContext.Current.Server.MapPath(null); HttpRuntime.Cache.Add("MapPath", path, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); HttpRuntime.Cache.Add("Application", Application, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); string dir = path + "\\App_Data"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } dir = path + "\\App_Data\\logs"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } dir = path + "\\App_Data\\uploads"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } dir = path + "\\App_Data\\lucene_index"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } Util.set_context(HttpContext.Current); // required for map path calls to work in util.cs StreamReader sr = File.OpenText(path + "\\custom\\custom_header.html"); Application["custom_header"] = sr.ReadToEnd(); sr.Close(); sr = File.OpenText(path + "\\custom\\custom_footer.html"); Application["custom_footer"] = sr.ReadToEnd(); sr.Close(); sr = File.OpenText(path + "\\custom\\custom_logo.html"); Application["custom_logo"] = sr.ReadToEnd(); sr.Close(); sr = File.OpenText(path + "\\custom\\custom_welcome.html"); Application["custom_welcome"] = sr.ReadToEnd(); sr.Close(); if (Util.get_setting("EnableVotes", "0") == "1") { Tags.count_votes(Application); // in tags file for convenience for me.... } if (Util.get_setting("EnableTags", "0") == "1") { Tags.build_tag_index(Application); } if (Util.get_setting("EnableLucene", "1") == "1") { MyLucene.build_lucene_index(Application); } if (Util.get_setting("EnablePop3", "0") == "1") { MyPop3.start_pop3(Application); } }