本文整理汇总了C#中SobekCM.Library.Navigation.SobekCM_Navigation_Object.Redirect_URL方法的典型用法代码示例。如果您正苦于以下问题:C# SobekCM_Navigation_Object.Redirect_URL方法的具体用法?C# SobekCM_Navigation_Object.Redirect_URL怎么用?C# SobekCM_Navigation_Object.Redirect_URL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SobekCM.Library.Navigation.SobekCM_Navigation_Object
的用法示例。
在下文中一共展示了SobekCM_Navigation_Object.Redirect_URL方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Web_Content_HtmlSubwriter
/// <summary> Constructor for a new instance of the Web_Content_HtmlSubwriter class </summary>
/// <param name="Hierarchy_Object"> Current item aggregation object to display </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="HTML_Skin"> HTML Web skin which controls the overall appearance of this digital library </param>
/// <param name="Static_Web_Content"> Object contains all the basic information about this info display </param>
/// <param name="Site_Map"> Optional site map object used to render a navigational tree-view on left side of page</param>
public Web_Content_HtmlSubwriter(Item_Aggregation Hierarchy_Object, SobekCM_Navigation_Object Current_Mode, SobekCM_Skin_Object HTML_Skin, HTML_Based_Content Static_Web_Content, SobekCM_SiteMap Site_Map)
{
base.Current_Aggregation = Hierarchy_Object;
currentMode = Current_Mode;
Skin = HTML_Skin;
thisStaticBrowseObject = Static_Web_Content;
siteMap = Site_Map;
// If there is a sitemap, check if this is a robot request and then if the URL
// for the sitemap pages is URL restricted
if ((siteMap != null) && (siteMap.Is_URL_Restricted_For_Robots) && (currentMode.Is_Robot))
{
if (currentMode.Base_URL != siteMap.Restricted_Robot_URL)
{
currentMode.Base_URL = siteMap.Restricted_Robot_URL;
string redirect_url = currentMode.Redirect_URL();
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", redirect_url);
HttpContext.Current.ApplicationInstance.CompleteRequest();
currentMode.Request_Completed = true;
return;
}
}
}
示例2: Home_AdminViewer
/// <summary> Constructor for a new instance of the Home_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode">Mode / navigation information for the current request</param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public Home_AdminViewer(User_Object User, SobekCM_Navigation_Object Current_Mode, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Home_AdminViewer.Constructor", String.Empty);
if ((User == null) || ((!User.Is_Portal_Admin) && (!User.Is_System_Admin)))
{
Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(Current_Mode.Redirect_URL(), false);
}
}
示例3: Preferences_HtmlSubwriter
/// <summary> Constructor for a new instance of the Preferences_HtmlSubwriter class </summary>
public Preferences_HtmlSubwriter( SobekCM_Navigation_Object Current_Mode )
{
currentMode = Current_Mode;
// See if there was a hidden request
string hidden_request = HttpContext.Current.Request.Form["hidden_request"] ?? String.Empty;
if (hidden_request == "submit")
{
NameValueCollection form = HttpContext.Current.Request.Form;
string language_option = form["languageDropDown"];
switch (language_option)
{
case "en":
currentMode.Language = Web_Language_Enum.English;
break;
case "fr":
currentMode.Language = Web_Language_Enum.French;
break;
case "es":
currentMode.Language = Web_Language_Enum.Spanish;
break;
}
string defaultViewDropDown = form["defaultViewDropDown"];
HttpContext.Current.Session["User_Default_View"] = defaultViewDropDown;
int user_sort = Convert.ToInt32(form["defaultSortDropDown"]);
HttpContext.Current.Session["User_Default_Sort"] = user_sort;
currentMode.Mode = Display_Mode_Enum.Aggregation_Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL(), false);
}
}
示例4: Builder_AdminViewer
/// <summary> Constructor for a new instance of the Builder_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
public Builder_AdminViewer(User_Object User, SobekCM_Navigation_Object Current_Mode)
: base(User)
{
currentMode = Current_Mode;
// Ensure the user is the system admin
if ((User == null) || (!User.Is_System_Admin))
{
Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(Current_Mode.Redirect_URL(), false);
}
// If this is a postback, handle any events first
if (Current_Mode.isPostBack)
{
// Pull the hidden value
string save_value = HttpContext.Current.Request.Form["admin_builder_tosave"].ToUpper().Trim();
if (save_value.Length > 0)
{
// Set this value
SobekCM_Database.Set_Setting("Builder Operation Flag", save_value);
}
}
}
示例5: Edit_Item_Metadata_MySobekViewer
/// <summary> Constructor for a new instance of the Edit_Item_Metadata_MySobekViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="All_Items_Lookup"> Allows individual items to be retrieved by various methods as <see cref="Single_Item"/> objects.</param>
/// <param name="Current_Item"> Individual digital resource to be edited by the user </param>
/// <param name="Code_Manager"> Code manager contains the list of all valid aggregation codes </param>
/// <param name="HTML_Skin"> HTML Web skin which controls the overall appearance of this digital library </param>
/// <param name="Icon_Table"> Dictionary of all the wordmark/icons which can be tagged to the items </param>
/// <param name="HTML_Skin_Collection"> HTML Web skin collection which controls the overall appearance of this digital library </param>
/// <param name="Translator"> Language support object which handles simple translational duties </param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public Edit_Item_Metadata_MySobekViewer(User_Object User,
SobekCM_Navigation_Object Current_Mode,
Item_Lookup_Object All_Items_Lookup,
SobekCM_Item Current_Item, Aggregation_Code_Manager Code_Manager,
Dictionary<string, Wordmark_Icon> Icon_Table,
SobekCM_Skin_Object HTML_Skin,
Language_Support_Info Translator,
SobekCM_Skin_Collection HTML_Skin_Collection,
Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Edit_Item_Metadata_MySobekViewer.Constructor", String.Empty);
currentMode = Current_Mode;
item = Current_Item;
itemList = All_Items_Lookup;
codeManager = Code_Manager;
iconList = Icon_Table;
webSkin = HTML_Skin;
popUpFormsHtml = String.Empty;
delayed_popup = String.Empty;
base.Translator = Translator;
skins = HTML_Skin_Collection;
// If the user cannot edit this item, go back
if (!user.Can_Edit_This_Item( item ))
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
// Is this a project
isProject = item.Bib_Info.SobekCM_Type == TypeOfResource_SobekCM_Enum.Project;
string template_code = user.Edit_Template_Code;
if ((isProject) || (item.Contains_Complex_Content) || (item.Using_Complex_Template))
{
template_code = user.Edit_Template_MARC_Code;
}
template = Cached_Data_Manager.Retrieve_Template(template_code, Tracer);
if (template != null)
{
Tracer.Add_Trace("Edit_Item_Metadata_MySobekViewer.Constructor", "Found template in cache");
}
else
{
Tracer.Add_Trace("Edit_Item_Metadata_MySobekViewer.Constructor", "Reading template file");
// Read this template
Template_XML_Reader reader = new Template_XML_Reader();
template = new Template();
reader.Read_XML( SobekCM_Library_Settings.Base_MySobek_Directory + "templates\\edit\\" + template_code + ".xml", template, true);
// Add the current codes to this template
template.Add_Codes(Code_Manager);
// Save this into the cache
Cached_Data_Manager.Store_Template(template_code, template, Tracer);
}
// Get the current page number, or default to 1
page = 1;
if (currentMode.My_Sobek_SubMode.Length > 0)
{
if ((currentMode.My_Sobek_SubMode == "preview") || (currentMode.My_Sobek_SubMode == "marc") || (currentMode.My_Sobek_SubMode == "mets"))
{
page = 0;
}
else
{
page = 1;
bool isNumber = currentMode.My_Sobek_SubMode.All(Char.IsNumber);
if (isNumber)
{
if (isProject)
Double.TryParse(currentMode.My_Sobek_SubMode[0].ToString(), out page);
else
Double.TryParse(currentMode.My_Sobek_SubMode, out page);
}
else if ( isProject )
{
if ( Char.IsNumber(currentMode.My_Sobek_SubMode[0]))
Double.TryParse(currentMode.My_Sobek_SubMode[0].ToString(), out page);
}
}
}
// Handle post backs
if (Current_Mode.isPostBack)
//.........这里部分代码省略.........
示例6: Thematic_Headings_AdminViewer
/// <summary> Constructor for a new instance of the Thematic_Headings_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request </param>
/// <param name="Thematic_Headings"> Headings under which all the highlighted collections on the home page are organized </param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
/// <remarks> Postback from handling an edit or new thematic heading is handled here in the constructor </remarks>
public Thematic_Headings_AdminViewer(User_Object User,
SobekCM_Navigation_Object Current_Mode,
List<Thematic_Heading> Thematic_Headings,
Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Thematic_Headings_AdminViewer.Constructor", String.Empty);
// Get the current list of thematic headings
thematicHeadings = Thematic_Headings;
// Save the mode
currentMode = Current_Mode;
// Set action message to nothing to start
actionMessage = String.Empty;
// If the user cannot edit this, go back
if ((!user.Is_System_Admin) && ( !user.Is_Portal_Admin ))
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
// Handle any post backs
if (currentMode.isPostBack)
{
try
{
// Pull the standard values from the form
NameValueCollection form = HttpContext.Current.Request.Form;
string save_value = form["admin_heading_tosave"];
string action_value = form["admin_heading_action"];
// Switch, depending on the request
if (action_value != null)
{
switch (action_value.Trim().ToLower())
{
case "edit":
string new_name = form["form_heading_name"];
if (new_name != null)
{
int id = Convert.ToInt32(save_value);
int order = 1 + Thematic_Headings.TakeWhile(thisHeading => thisHeading.ThematicHeadingID != id).Count();
if (SobekCM_Database.Edit_Thematic_Heading(id, order, new_name, Tracer) < 1)
{
actionMessage = "Unable to edit existing thematic heading";
}
else
{
// For thread safety, lock the thematic headings list
lock (Thematic_Headings)
{
// Repopulate the thematic headings list
SobekCM_Database.Populate_Thematic_Headings(Thematic_Headings, Tracer);
}
actionMessage = "Thematic heading edits saved";
}
}
break;
case "delete":
int thematicDeleteId = Convert.ToInt32(save_value);
if (!SobekCM_Database.Delete_Thematic_Heading(thematicDeleteId, Tracer))
{
// Set action message
actionMessage = "Unable to delete existing thematic heading";
}
else
{
// For thread safety, lock the thematic headings list
lock (Thematic_Headings)
{
// Remove this thematic heading from the list
int i = 0;
while (i < Thematic_Headings.Count)
{
if (Thematic_Headings[i].ThematicHeadingID == thematicDeleteId)
Thematic_Headings.RemoveAt(i);
else
i++;
}
}
// Set action message
actionMessage = "Thematic heading deleted";
}
break;
case "new":
int new_order = Thematic_Headings.Count + 1;
if (SobekCM_Database.Edit_Thematic_Heading(-1, new_order, save_value, Tracer) < 1)
//.........这里部分代码省略.........
示例7: Projects_AdminViewer
/// <summary> Constructor for a new instance of the Projects_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="currentMode"> Mode / navigation information for the current request</param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
/// <remarks> Postback from handling a new project is handled here in the constructor </remarks>
public Projects_AdminViewer(User_Object User, SobekCM_Navigation_Object currentMode, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Projects_AdminViewer.Constructor", String.Empty);
// Save the mode and settings here
base.currentMode = currentMode;
// Set action message to nothing to start
actionMessage = String.Empty;
// If the user cannot edit this, go back
if ((!user.Is_System_Admin ) && ( !user.Is_Portal_Admin ))
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
// If this is a postback, handle any events first
if (currentMode.isPostBack)
{
try
{
// Pull the standard values
NameValueCollection form = HttpContext.Current.Request.Form;
string save_value = form["admin_project_tosave"].ToUpper().Trim();
string code_value = form["admin_project_code"].ToUpper().Trim();
// Or.. was this a save request
if (save_value.Length > 0)
{
Tracer.Add_Trace("Projects_AdminViewer.Constructor", "Save project '" + save_value + "'");
// Was this to save a new project (from the main page) or rename an existing (from the popup form)?
if (save_value == code_value)
{
string new_base_code = form["admin_project_base"].ToUpper().Trim();
string new_name = form["admin_project_name"].Trim();
// Save this new interface
if (SobekCM_Database.Save_Project(save_value.ToUpper(), new_name, Tracer))
{
actionMessage = "Saved new project <i>" + save_value + "</i>";
}
else
{
actionMessage = "Unable to save new project <i>" + save_value + "</i>";
}
// Try to creating the PMETS file if there was a base PMETS code provided
try
{
if (new_base_code.Length > 0)
{
string pmets_file = SobekCM_Library_Settings.Base_MySobek_Directory + "projects\\" + code_value + ".pmets";
string base_pmets_file = SobekCM_Library_Settings.Base_MySobek_Directory + "projects\\" + new_base_code + ".pmets";
if (File.Exists(base_pmets_file))
File.Copy(base_pmets_file, pmets_file, true);
}
}
catch ( Exception )
{
actionMessage = "Error copying new project METS to the project folder";
}
}
else
{
string edit_name = form["form_project_name"].Trim();
// Save this existing interface
if (SobekCM_Database.Save_Project(save_value.ToUpper(), edit_name, Tracer))
{
actionMessage = "Renamed existing project <i>" + save_value + "</i>";
}
else
{
actionMessage = "Unable to rename existing project <i>" + save_value + "</i>";
}
}
}
}
catch (Exception )
{
actionMessage = "Unknown exception occurred while processing your request";
}
}
}
示例8: Track_Item_MySobekViewer
/// <summary> Constructor for a new instance of the Track_Item_MySobekViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public Track_Item_MySobekViewer(User_Object User, SobekCM_Navigation_Object Current_Mode, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Track_Item_MySobekViewer.Constructor", String.Empty);
currentMode = Current_Mode;
//If there is no user, go back
if (user == null)
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
//Initialize variables
tracking_users = new DataTable();
user_list = new Dictionary<string, User_Object>();
scanners_list = new List<string>();
//Determine the page
page = 1;
if ((HttpContext.Current.Session["Selected_Tab"] != null) && !(String.IsNullOrEmpty(HttpContext.Current.Session["Selected_Tab"].ToString())) && HttpContext.Current.Session["Selected_Tab"] == "2")
page = 2;
string sub_page = HttpContext.Current.Request.Form["tracking_new_page"] ?? "";
if (sub_page == "2")
{
page = 2;
HttpContext.Current.Session["Selected_Tab"] = "2";
}
else if (sub_page == "1")
{
page = 1;
HttpContext.Current.Session["Selected_Tab"] = "1";
}
//Get the list of users who are possible Scanning/Processing technicians from the DB
tracking_users = Database.SobekCM_Database.Tracking_Get_Users_Scanning_Processing();
foreach (DataRow row in tracking_users.Rows)
{
User_Object temp_user = new User_Object();
temp_user.UserName = row["UserName"].ToString();
temp_user.Given_Name = row["FirstName"].ToString();
temp_user.Family_Name = row["LastName"].ToString();
temp_user.Email = row["EmailAddress"].ToString();
user_list.Add(temp_user.UserName, temp_user);
}
if (!user_list.ContainsKey(User.UserName))
user_list.Add(User.UserName, User);
//Get the list of scanning equipment
DataTable scanners = new DataTable();
scanners = Database.SobekCM_Database.Tracking_Get_Scanners_List();
foreach (DataRow row in scanners.Rows)
{
scanners_list.Add(row["ScanningEquipment"].ToString());
}
//See if there were any hidden requests
hidden_request = HttpContext.Current.Request.Form["Track_Item_behaviors_request"] ?? String.Empty;
hidden_value = HttpContext.Current.Request.Form["Track_Item_hidden_value"] ?? String.Empty;
//Get the equipment value
//if (HttpContext.Current.Session["Equipment"] != null && !String.IsNullOrEmpty(HttpContext.Current.Session["Equipment"].ToString()))
// equipment = HttpContext.Current.Session["Equipment"].ToString();
if (User.Get_Setting("Track_Item_MySobekViewer:Equipment") != null && !String.IsNullOrEmpty(User.Get_Setting("Track_Item_MySobekViewer:Equipment").ToString()))
equipment = User.Get_Setting("Track_Item_MySobekViewer:Equipment").ToString();
else
{
equipment = scanners_list[0];
User.Add_Setting("Track_Item_MySobekViewer:Equipment", equipment);
// HttpContext.Current.Session["Equipment"] = equipment;
}
//Check the hidden value to see if equipment was previously changed
if (!String.IsNullOrEmpty(HttpContext.Current.Request.Form["hidden_equipment"]))
{
equipment = HttpContext.Current.Request.Form["hidden_equipment"];
// HttpContext.Current.Session["equipment"] = equipment;
User.Add_Setting("Track_Item_MySobekViewer:Equipment", equipment);
}
//Also get the currently selected user
if (HttpContext.Current.Session["Selected_User"] != null)
current_selected_user = (User_Object)HttpContext.Current.Session["Selected_User"];
else
{
current_selected_user = User;
HttpContext.Current.Session["Selected_User"] = current_selected_user;
}
//.........这里部分代码省略.........
示例9: HTML_Helper_PageView
private static string HTML_Helper_PageView(string interface_code, string Viewer_Code, string Display_Text, SobekCM_Navigation_Object Current_Mode)
{
string previousViewerCode = Current_Mode.ViewerCode;
Current_Mode.ViewerCode = Viewer_Code;
string returnValue = "<a href=\"" + Current_Mode.Redirect_URL() + "\">" + Display_Text + "</a>";
Current_Mode.ViewerCode = previousViewerCode;
return returnValue;
}
示例10: Portals_AdminViewer
/// <summary> Constructor for a new instance of the Portals_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="URL_Portals"> List of all web portals into this system </param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public Portals_AdminViewer(User_Object User, SobekCM_Navigation_Object Current_Mode, Portal_List URL_Portals, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Portals_AdminViewer.Constructor", String.Empty);
portals = URL_Portals;
// Save the mode
currentMode = Current_Mode;
// Set action message to nothing to start
actionMessage = String.Empty;
// If the user cannot edit this, go back
if (!user.Is_System_Admin)
{
Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(Current_Mode.Redirect_URL());
}
// Handle any post backs
if (Current_Mode.isPostBack)
{
try
{
// Pull the standard values from the form
NameValueCollection form = HttpContext.Current.Request.Form;
string save_value = form["admin_portal_tosave"];
string action_value = form["admin_portal_action"];
// Switch, depending on the request
if (action_value != null)
{
switch (action_value.Trim().ToLower())
{
case "edit":
// Get the values from the form for this new portal
string edit_name = form["form_portal_name"].Trim();
string edit_abbr = form["form_portal_abbr"].Trim();
string edit_skin = form["form_portal_skin"].Trim();
string edit_aggr = form["form_portal_aggregation"].Trim();
string edit_url = form["form_portal_url"].Trim();
string edit_purl = form["form_portal_purl"].Trim();
int portalid = Convert.ToInt32(save_value);
// Look for this to see if this was the pre-existing default
bool isDefault = false;
if ( portals.Default_Portal.ID == portalid )
{
isDefault = true;
}
// Don't edit if the URL segment is empty and this is NOT default
if ((!isDefault) && (edit_url.Trim().Length == 0))
{
actionMessage = "ERROR: Non default portals MUST have a url segment associated.";
}
else
{
// Now, save this portal information
int edit_id = SobekCM_Database.Edit_URL_Portal(portalid, edit_url, true, isDefault, edit_abbr, edit_name, edit_aggr, edit_skin, edit_purl, Tracer);
if (edit_id > 0)
actionMessage = "Edited existing URL portal '" + edit_name + "'";
else
actionMessage = "Error editing URL portal.";
}
break;
case "delete":
actionMessage = SobekCM_Database.Delete_URL_Portal(Convert.ToInt32(save_value), Tracer) ? "URL portal deleted" : "Error deleting the URL portal";
break;
case "new":
// Get the values from the form for this new portal
string new_name = form["admin_portal_name"];
string new_abbr = form["admin_portal_abbr"];
string new_skin = form["admin_portal_skin"];
string new_aggr = form["admin_portal_aggregation"];
string new_url = form["admin_portal_url"];
string new_purl = form["admin_portal_purl"];
// Save this to the database
int new_id = SobekCM_Database.Edit_URL_Portal(-1, new_url, true, false, new_abbr, new_name, new_aggr, new_skin, new_purl, Tracer);
if (new_id > 0)
actionMessage = "Saved new URL portal '" + new_name + "'";
else
actionMessage = "Error saving URL portal.";
break;
}
}
}
catch (Exception)
{
actionMessage = "Exception caught while handling request";
}
//.........这里部分代码省略.........
示例11: Skins_AdminViewer
/// <summary> Constructor for a new instance of the Skins_AdminViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="currentMode"> Mode / navigation information for the current request</param>
/// <param name="Web_Skin_Collection"> Contains the collection of all the default skins and the data to create any additional skins on request</param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
/// <remarks> Postback from handling an edit or new html skin is handled here in the constructor </remarks>
public Skins_AdminViewer(User_Object User, SobekCM_Navigation_Object currentMode, SobekCM_Skin_Collection Web_Skin_Collection, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Skins_AdminViewer.Constructor", String.Empty);
// Save the mode and settings here
base.currentMode = currentMode;
skinCollection = Web_Skin_Collection;
// Set action message to nothing to start
actionMessage = String.Empty;
// If the user cannot edit this, go back
if ((!user.Is_System_Admin) && ( !user.Is_Portal_Admin ))
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
// If this is a postback, handle any events first
if (currentMode.isPostBack)
{
try
{
// Pull the standard values
NameValueCollection form = HttpContext.Current.Request.Form;
string reset_value = form["admin_interface_reset"].ToLower();
string save_value = form["admin_interface_tosave"].ToUpper().Trim();
string new_interface_code = form["admin_interface_code"].ToUpper().Trim();
// Was this a reset request?
if (reset_value.Length > 0)
{
Tracer.Add_Trace("Skins_AdminViewer.Constructor", "Reset html skin '" + reset_value + "'");
if (Web_Skin_Collection.Remove(reset_value))
{
actionMessage = "Removed skin <i>" + reset_value.ToUpper() + "</i> from the semi-permanent skin collection";
}
else
{
int values_cleared = Cached_Data_Manager.Remove_Skin(reset_value, Tracer);
if (values_cleared == 0)
{
actionMessage = "Html skin <i>" + reset_value.ToUpper() + "</i> was not in the application cache";
}
else
{
actionMessage = "Removed " + values_cleared + " values from the cache for <i>" + reset_value.ToUpper() + "</i>";
}
}
}
else
{
// Or.. was this a save request
if (save_value.Length > 0)
{
Tracer.Add_Trace("Skins_AdminViewer.Constructor", "Save html skin '" + save_value + "'");
bool override_banner = false;
bool override_header = false;
bool build_on_launch = false;
bool suppress_top_nav = false;
bool copycurrent = false;
object temp_object;
// Was this to save a new interface (from the main page) or edit an existing (from the popup form)?
if (save_value == new_interface_code)
{
string new_base_code = form["admin_interface_basecode"].ToUpper().Trim();
string new_banner_link = form["admin_interface_link"].Trim();
string new_notes = form["admin_interface_notes"].Trim();
temp_object = form["admin_interface_banner_override"];
if (temp_object != null)
{
override_banner = true;
}
temp_object = form["admin_interface_header_override"];
if (temp_object != null)
{
override_header = true;
}
temp_object = form["admin_interface_buildlaunch"];
if (temp_object != null)
{
build_on_launch = true;
}
//.........这里部分代码省略.........
示例12: Menu_HTML_Helper
private static string Menu_HTML_Helper(string SkinCode, Search_Type_Enum Search_Type, string Display_Text, SobekCM_Navigation_Object Current_Mode)
{
if (Current_Mode.Is_Robot)
{
if ((Current_Mode.Mode == Display_Mode_Enum.Search) && (Current_Mode.Search_Type == Search_Type))
{
return "<li class=\"selected-sf-menu-item-link\"><a href=\"\">" + Display_Text + "</a></li>" + Environment.NewLine;
}
else
{
return "<li><a href=\"\">" + Display_Text + "</a></li>" + Environment.NewLine;
}
}
if ((Current_Mode.Mode == Display_Mode_Enum.Search) && (Current_Mode.Search_Type == Search_Type))
{
return "<li class=\"selected-sf-menu-item-link\"><a href=\"" + Current_Mode.Redirect_URL() + "\">" + Display_Text + "</a></li>" + Environment.NewLine;
}
// else...
Search_Type_Enum currentSearchType2 = Current_Mode.Search_Type;
Display_Mode_Enum currentMode2 = Current_Mode.Mode;
Current_Mode.Search_Type = Search_Type;
Current_Mode.Mode = Display_Mode_Enum.Search;
string toReturn2 = "<li><a href=\"" + Current_Mode.Redirect_URL() + "\">" + Display_Text + "</a></li>" + Environment.NewLine;
Current_Mode.Search_Type = currentSearchType2;
Current_Mode.Mode = currentMode2;
return toReturn2;
}
示例13: Edit_Item_Behaviors_MySobekViewer
/// <summary> Constructor for a new instance of the Edit_Item_Behaviors_MySobekViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="Current_Item"> Individual digital resource to be edited by the user </param>
/// <param name="Code_Manager"> Code manager contains the list of all valid aggregation codes </param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public Edit_Item_Behaviors_MySobekViewer(User_Object User, SobekCM_Navigation_Object Current_Mode, SobekCM_Item Current_Item, Aggregation_Code_Manager Code_Manager, Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("Edit_Item_Behaviors_MySobekViewer.Constructor", String.Empty);
currentMode = Current_Mode;
item = Current_Item;
// If the user cannot edit this item, go back
if (!user.Can_Edit_This_Item(item))
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
const string templateCode = "itembehaviors";
template = Cached_Data_Manager.Retrieve_Template(templateCode, Tracer);
if (template != null)
{
Tracer.Add_Trace("Edit_Item_Behaviors_MySobekViewer.Constructor", "Found template in cache");
}
else
{
Tracer.Add_Trace("Edit_Item_Behaviors_MySobekViewer.Constructor", "Reading template file");
// Read this template
Template_XML_Reader reader = new Template_XML_Reader();
template = new Template();
reader.Read_XML(SobekCM_Library_Settings.Base_MySobek_Directory + "templates\\defaults\\" + templateCode + ".xml", template, true);
// Add the current codes to this template
template.Add_Codes(Code_Manager);
// Save this into the cache
Cached_Data_Manager.Store_Template(templateCode, template, Tracer);
}
// See if there was a hidden request
string hidden_request = HttpContext.Current.Request.Form["behaviors_request"] ?? String.Empty;
// If this was a cancel request do that
if (hidden_request == "cancel")
{
currentMode.Mode = Display_Mode_Enum.Item_Display;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
else if (hidden_request == "save")
{
// Changes to the tracking box require the metadata search citation be rebuilt for this item
// so save the old tracking box information first
string oldTrackingBox = item.Tracking.Tracking_Box;
// Save these changes to bib
template.Save_To_Bib(item, user, 1);
// Save the behaviors
SobekCM_Database.Save_Behaviors(item, item.Behaviors.Text_Searchable, false );
// Save the serial hierarchy as well (sort of a behavior)
SobekCM_Database.Save_Serial_Hierarchy_Information(item, item.Web.GroupID, item.Web.ItemID);
// Did the tracking box change?
if (item.Tracking.Tracking_Box != oldTrackingBox)
{
SobekCM_Database.Create_Full_Citation_Value(item.Web.ItemID);
}
// Remoe from the caches (to replace the other)
Cached_Data_Manager.Remove_Digital_Resource_Object(item.BibID, item.VID, Tracer);
// Also remove the list of volumes, since this may have changed
Cached_Data_Manager.Remove_Items_In_Title(item.BibID, Tracer);
// Forward
currentMode.Mode = Display_Mode_Enum.Item_Display;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
}
示例14: New_Group_And_Item_MySobekViewer
/// <summary> Constructor for a new instance of the New_Group_And_Item_MySobekViewer class </summary>
/// <param name="User"> Authenticated user information </param>
/// <param name="Current_Mode"> Mode / navigation information for the current request</param>
/// <param name="Item_List"> Allows individual items to be retrieved by various methods as <see cref="Single_Item"/> objects.</param>
/// <param name="Code_Manager"> Code manager contains the list of all valid aggregation codes </param>
/// <param name="HTML_Skin"> HTML Web skin which controls the overall appearance of this digital library </param>
/// <param name="Icon_Table"> Dictionary of all the wordmark/icons which can be tagged to the items </param>
/// <param name="Translator"> Language support object which handles simple translational duties </param>
/// <param name="Tracer">Trace object keeps a list of each method executed and important milestones in rendering</param>
public New_Group_And_Item_MySobekViewer(User_Object User,
SobekCM_Navigation_Object Current_Mode, Item_Lookup_Object Item_List,
Aggregation_Code_Manager Code_Manager,
Dictionary<string, Wordmark_Icon> Icon_Table,
SobekCM_Skin_Object HTML_Skin,
Language_Support_Info Translator,
Custom_Tracer Tracer)
: base(User)
{
Tracer.Add_Trace("New_Group_And_Item_MySobekViewer.Constructor", String.Empty);
// Save the parameters
currentMode = Current_Mode;
codeManager = Code_Manager;
iconList = Icon_Table;
webSkin = HTML_Skin;
base.Translator = Translator;
// If the user cannot submit items, go back
if (!user.Can_Submit)
{
currentMode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL());
}
itemList = Item_List;
// Determine the in process directory for this
if (user.UFID.Trim().Length > 0)
userInProcessDirectory = SobekCM_Library_Settings.In_Process_Submission_Location + "\\" + user.UFID + "\\newgroup";
else
userInProcessDirectory = SobekCM_Library_Settings.In_Process_Submission_Location + "\\" + user.UserName.Replace(".","").Replace("@","") + "\\newgroup";
// Handle postback for changing the template or project
templateCode = user.Current_Template;
if (currentMode.isPostBack)
{
string action1 = HttpContext.Current.Request.Form["action"];
if ((action1 != null) && ((action1 == "template") || (action1 == "project")))
{
string newvalue = HttpContext.Current.Request.Form["phase"];
if ((action1 == "template") && ( newvalue != templateCode ))
{
user.Current_Template = newvalue;
templateCode = user.Current_Template;
if (File.Exists(userInProcessDirectory + "\\agreement.txt"))
File.Delete(userInProcessDirectory + "\\agreement.txt");
}
if ((action1 == "project") && (newvalue != user.Current_Project))
{
user.Current_Project = newvalue;
}
HttpContext.Current.Session["item"] = null;
}
}
// Load the template
templateCode = user.Current_Template;
template = Cached_Data_Manager.Retrieve_Template(templateCode, Tracer);
if ( template != null )
{
Tracer.Add_Trace("New_Group_And_Item_MySobekViewer.Constructor", "Found template in cache");
}
else
{
Tracer.Add_Trace("New_Group_And_Item_MySobekViewer.Constructor", "Reading template");
// Read this template
Template_XML_Reader reader = new Template_XML_Reader();
template = new Template();
reader.Read_XML( SobekCM_Library_Settings.Base_MySobek_Directory + "templates\\" + templateCode + ".xml", template, true);
// Add the current codes to this template
template.Add_Codes(Code_Manager);
// Save this into the cache
Cached_Data_Manager.Store_Template(templateCode, template, Tracer);
}
// Determine the number of total template pages
totalTemplatePages = template.InputPages_Count;
if (template.Permissions_Agreement.Length > 0)
totalTemplatePages++;
if (template.Upload_Types != Template.Template_Upload_Types.None)
totalTemplatePages++;
// Determine the title for this template, or use a default
toolTitle = template.Title;
if (toolTitle.Length == 0)
toolTitle = "Self-Submittal Tool";
// Determine the current phase
//.........这里部分代码省略.........
示例15: Aggregation_Single_AdminViewer
//.........这里部分代码省略.........
return;
}
// Save the returned values, depending on the page
switch (page)
{
case 1:
Save_Page_1_Postback(form);
break;
case 2:
Save_Page_2_Postback(form);
break;
case 3:
Save_Page_3_Postback(form);
break;
case 4:
Save_Page_4_Postback(form);
break;
case 5:
Save_Page_5_Postback(form);
break;
case 6:
Save_Page_6_Postback(form);
break;
case 7:
Save_Page_7_Postback(form);
break;
case 8:
Save_Page_8_Postback(form);
break;
case 9:
Save_Page_CSS_Postback(form);
break;
case 10:
Save_Child_Page_Postback(form);
break;
}
// Should this be saved to the database?
if (action == "save")
{
// Save the new configuration file
bool successful_save = (itemAggregation.Write_Configuration_File(SobekCM_Library_Settings.Base_Design_Location + itemAggregation.ObjDirectory));
// Save to the database
if (!itemAggregation.Save_To_Database(user.Full_Name,null))
successful_save = false;
// Save the link between this item and the thematic heading
codeManager.Set_Aggregation_Thematic_Heading(itemAggregation.Code, itemAggregation.Thematic_Heading_ID);
// Clear the aggregation from the cache
Cached_Data_Manager.Remove_Item_Aggregation(itemAggregation.Code, null);
// Forward back to the aggregation home page, if this was successful
if (successful_save)
{
// Clear the aggregation from the sessions
HttpContext.Current.Session["Edit_Aggregation_" + itemAggregation.Code] = null;
HttpContext.Current.Session["Item_Aggr_Edit_" + itemAggregation.Code + "_NewLanguages"] = null;
// Redirect the user
currentMode.Mode = Display_Mode_Enum.Aggregation;
currentMode.Aggregation_Type = Aggregation_Type_Enum.Home;
currentMode.Redirect();
}
else
{
actionMessage = "Error saving aggregation information!";
}
}
else
{
// In some cases, skip this part
if (((page == 8) && (action == "h")) || ((page == 7) && (action == "g")))
return;
// Save to the admins session
HttpContext.Current.Session["Edit_Aggregation_" + itemAggregation.Code] = itemAggregation;
currentMode.My_Sobek_SubMode = action;
HttpContext.Current.Response.Redirect(currentMode.Redirect_URL(), false);
HttpContext.Current.ApplicationInstance.CompleteRequest();
currentMode.Request_Completed = true;
}
}
catch
{
actionMessage = "Unable to correctly parse postback data.";
}
}
}