public IActionResult AdminPanel(AdminPanelPages pageID, int?itemID, string path, IFormFile uploadedFile) { AccessLevelConfiguration accessLevelConfiguration = HttpContext.RequestServices.GetService <AccessLevelConfiguration>(); HttpContext.Items["AccessLevelConfiguration"] = accessLevelConfiguration; User user = SecurityFunctions.CheckCookies(db, HttpContext); if (!SecurityFunctions.HasAccessTo(pageID, user, HttpContext)) { return(RedirectToAction(nameof(AdminPanel))); } HttpContext.Items["User"] = user; HttpContext.Items["LogLocalization"] = localization; switch (pageID) { case AdminPanelPages.AddProductImage: ImagesManagementFunctions.UploadProductImageToServer(db, uploadedFile, itemID, HttpContext, out bool successfullyUploadedImage); if (successfullyUploadedImage) { return(StatusCode(200)); } else { return(StatusCode(415)); } case AdminPanelPages.UploadFile: FileManagerManagementFunctions.UploadFileToServer(db, path, uploadedFile, HttpContext, out bool successfullyUploadedFile); if (successfullyUploadedFile) { return(StatusCode(200)); } else { return(StatusCode(415)); } default: return(RedirectToAction(nameof(AdminPanel))); } }
public IActionResult AdminPanel(AdminPanelPages pageID, int?itemID, int?imageID, string path) { AccessLevelConfiguration accessLevelConfiguration = HttpContext.RequestServices.GetService <AccessLevelConfiguration>(); HttpContext.Items["AccessLevelConfiguration"] = accessLevelConfiguration; User user = SecurityFunctions.CheckCookies(db, HttpContext); if (pageID == AdminPanelPages.Exit) { DatabaseInteraction.Exit(db, user, HttpContext, out int exitStatusCode); return(StatusCode(exitStatusCode)); } if (!SecurityFunctions.HasAccessTo(pageID, user, HttpContext)) { return(RedirectToAction(nameof(AdminPanel))); } HttpContext.Items["User"] = user; HttpContext.Items["LogLocalization"] = localization; switch (pageID) { case AdminPanelPages.DeletePage: DatabaseInteraction.DeletePage(db, PageType.Usual, itemID, HttpContext, out bool pageDeleted); if (pageDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteCategory: DatabaseInteraction.DeletePage(db, PageType.Category, itemID, HttpContext, out bool categoryDeleted); if (categoryDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteProduct: DatabaseInteraction.DeleteProduct(db, itemID, HttpContext, out bool productDeleted); if (productDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteProductImage: ImagesManagementFunctions.DeleteProductImage(db, itemID, imageID, HttpContext, out bool productImageDeleted); if (productImageDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteRedirection: DatabaseInteraction.DeleteRedirection(db, itemID, HttpContext, out bool redirectionDeleted); if (redirectionDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteTemplate: DatabaseInteraction.DeleteTemplate(db, itemID, HttpContext, out bool templateDeleted); if (templateDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteChunk: DatabaseInteraction.DeleteChunk(db, itemID, HttpContext, out bool chunkDeleted); if (chunkDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteFileOrFolder: FileManagerManagementFunctions.DeleteFileOrFolder(db, path, HttpContext, out string redirectPath); if (redirectPath == null) { return(StatusCode(404)); } else { string redirectUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}{HttpContext.Request.Path}?pageID={(int)AdminPanelPages.FileManager}&path={redirectPath}"; HttpContext.Response.Headers.Add("location", redirectUrl); return(StatusCode(200)); } case AdminPanelPages.DeleteUser: DatabaseInteraction.DeleteUser(db, itemID, HttpContext, out int userDeletionStatusCode); return(StatusCode(userDeletionStatusCode)); case AdminPanelPages.DeleteUserType: DatabaseInteraction.DeleteUserType(db, itemID, HttpContext, out bool userTypeDeleted); if (userTypeDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } case AdminPanelPages.DeleteSynonymForString: DatabaseInteraction.DeleteSynonymForString(db, itemID, HttpContext, out bool synonymForStringDeleted); if (synonymForStringDeleted) { return(StatusCode(200)); } else { return(StatusCode(404)); } default: return(RedirectToAction(nameof(AdminPanel))); } }
#pragma warning disable 1998 public async override global::System.Threading.Tasks.Task ExecuteAsync() { #line 2 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" User user = Context.Items["User"] as User; AdminPanelPages pageID = (AdminPanelPages)Context.Items["pageID"]; string pageName = Context.Items["PageName"] as string; Dictionary <AdminPanelPages, string> pages = new Dictionary <AdminPanelPages, string>(); if (SecurityFunctions.HasAccessTo(AdminPanelPages.MainPage, user, Context)) { pages.Add(AdminPanelPages.MainPage, localization.MainPage); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Pages, user, Context)) { pages.Add(AdminPanelPages.Pages, localization.Pages); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Categories, user, Context)) { pages.Add(AdminPanelPages.Categories, localization.CategoriesAndProducts); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Redirections, user, Context)) { pages.Add(AdminPanelPages.Redirections, localization.Redirections); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Templates, user, Context)) { pages.Add(AdminPanelPages.Templates, localization.Templates); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Chunks, user, Context)) { pages.Add(AdminPanelPages.Chunks, localization.Chunks); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.FileManager, user, Context)) { pages.Add(AdminPanelPages.FileManager, localization.FileManager); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Users, user, Context)) { pages.Add(AdminPanelPages.Users, localization.Users); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.UserTypes, user, Context)) { pages.Add(AdminPanelPages.UserTypes, localization.UserTypes); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.SynonymsForStrings, user, Context)) { pages.Add(AdminPanelPages.SynonymsForStrings, localization.SynonymsForStrings); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.UserProfile, user, Context)) { pages.Add(AdminPanelPages.UserProfile, localization.UserProfile); } if (SecurityFunctions.HasAccessTo(AdminPanelPages.Settings, user, Context)) { pages.Add(AdminPanelPages.Settings, localization.Settings); } #line default #line hidden BeginContext(2358, 25, true); WriteLiteral("<!doctype html>\r\n<html>\r\n"); EndContext(); BeginContext(2383, 540, false); __tagHelperExecutionContext = __tagHelperScopeManager.Begin("head", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "858d12a1d7ade2ddbefe7ddba788e5c2d1333e656533", async() => { BeginContext(2389, 13, true); WriteLiteral("\r\n <title>"); EndContext(); BeginContext(2403, 60, false); #line 60 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" Write(Html.Raw(pageName == null ? string.Empty : $"{pageName} - ")); #line default #line hidden EndContext(); BeginContext(2464, 28, false); #line 60 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" Write(Html.Raw(localization.Title)); #line default #line hidden EndContext(); BeginContext(2492, 215, true); WriteLiteral("</title>\r\n <meta charset=\"utf-8\" />\r\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/styles/admin_panel/common.css\" />\r\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/styles/admin_panel/admin_panel.css\" />\r\n"); EndContext(); #line 64 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" if (Context.Items["PageStyle"] != null) { #line default #line hidden BeginContext(2760, 42, true); WriteLiteral(" <link rel=\"stylesheet\" type=\"text/css\""); EndContext(); BeginWriteAttribute("href", " href=\"", 2802, "\"", 2846, 1); #line 66 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" WriteAttributeValue("", 2809, Html.Raw(Context.Items["PageStyle"]), 2809, 37, false); #line default #line hidden EndWriteAttribute(); BeginContext(2847, 5, true); WriteLiteral(" />\r\n"); EndContext(); #line 67 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" } #line default #line hidden BeginContext(2859, 57, true); WriteLiteral(" <meta name=\"viewport\" content=\"width=device-width\">\r\n"); EndContext(); } ); __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_HeadTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper>(); __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_HeadTagHelper); await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); if (!__tagHelperExecutionContext.Output.IsContentModified) { await __tagHelperExecutionContext.SetOutputContentAsync(); } Write(__tagHelperExecutionContext.Output); __tagHelperExecutionContext = __tagHelperScopeManager.End(); EndContext(); BeginContext(2923, 2, true); WriteLiteral("\r\n"); EndContext(); BeginContext(2925, 1353, false); __tagHelperExecutionContext = __tagHelperScopeManager.Begin("body", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "858d12a1d7ade2ddbefe7ddba788e5c2d1333e659768", async() => { BeginContext(2931, 71, true); WriteLiteral("\r\n <div class=\"common-container\">\r\n <ul class=\"menu-block\">\r\n"); EndContext(); #line 73 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" foreach (var p in pages) { if (pageID == p.Key) { #line default #line hidden BeginContext(3113, 37, true); WriteLiteral(" <li class=\"with-padding\">"); EndContext(); BeginContext(3151, 17, false); #line 77 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" Write(Html.Raw(p.Value)); #line default #line hidden EndContext(); BeginContext(3168, 7, true); WriteLiteral("</li>\r\n"); EndContext(); #line 78 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" } else { #line default #line hidden BeginContext(3235, 18, true); WriteLiteral(" <li><a"); EndContext(); BeginWriteAttribute("href", " href=\"", 3253, "\"", 3302, 3); #line 81 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" WriteAttributeValue("", 3260, Context.Request.Path, 3260, 21, false); #line default #line hidden WriteAttributeValue("", 3281, "?pageID=", 3281, 8, true); #line 81 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" WriteAttributeValue("", 3289, (int)p.Key, 3289, 13, false); #line default #line hidden EndWriteAttribute(); BeginContext(3303, 22, true); WriteLiteral(" class=\"with-padding\">"); EndContext(); BeginContext(3326, 17, false); #line 81 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" Write(Html.Raw(p.Value)); #line default #line hidden EndContext(); BeginContext(3343, 11, true); WriteLiteral("</a></li>\r\n"); EndContext(); #line 82 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" } } #line default #line hidden BeginContext(3388, 106, true); WriteLiteral(" <li>\r\n <form id=\"exit\">\r\n <input type=\"hidden\" name=\"pageID\""); EndContext(); BeginWriteAttribute("value", " value=\"", 3494, "\"", 3530, 1); #line 86 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" WriteAttributeValue("", 3502, (int)AdminPanelPages.Exit, 3502, 28, false); #line default #line hidden EndWriteAttribute(); BeginContext(3531, 60, true); WriteLiteral(">\r\n <input type=\"submit\" id=\"exit-button\""); EndContext(); BeginWriteAttribute("value", " value=\"", 3591, "\"", 3627, 1); #line 87 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" WriteAttributeValue("", 3599, Html.Raw(localization.Exit), 3599, 28, false); #line default #line hidden EndWriteAttribute(); BeginContext(3628, 596, true); WriteLiteral(@"> </form> <script src=""/scripts/admin_panel/send_data.js""></script> <script> function responseFromExitRequest(request) { if (request.status == 200) { location.reload(); } } document.getElementById('exit-button').addEventListener('click', createSendDataEventHandler('DELETE', 'exit', responseFromExitRequest)); </script> </li> </ul> <content> "); EndContext(); BeginContext(4225, 12, false); #line 101 "C:\Users\79622\Desktop\Github\StoreCMS\StoreCMS\Views\AdminPanel\CommonPage.cshtml" Write(RenderBody()); #line default #line hidden EndContext(); BeginContext(4237, 34, true); WriteLiteral("\r\n </content>\r\n </div>\r\n"); EndContext(); } ); __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper>(); __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper); await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); if (!__tagHelperExecutionContext.Output.IsContentModified) { await __tagHelperExecutionContext.SetOutputContentAsync(); } Write(__tagHelperExecutionContext.Output); __tagHelperExecutionContext = __tagHelperScopeManager.End(); EndContext(); BeginContext(4278, 9, true); WriteLiteral("\r\n</html>"); EndContext(); }