Exemple #1
0
        public ActionResult GetPlugins(int id, [DataSourceRequest] DataSourceRequest request)
        {
            this.EnforceFeaturePermission("ModManager");
            var customModBase = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");

            return(Json(customModBase.Create <CustomModProvider>().GetMods(request)));
        }
Exemple #2
0
        public void InstallPlugin(int id, string modId)
        {
            this.EnforceFeaturePermission("ModManager");
            this.PrepareAjax();
            var logger = LogManager.Create <CustomModsController>(nameof(InstallPlugin));

            try
            {
                var customModBase     = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");
                var customModProvider = customModBase.Create <CustomModProvider>();
                var service           = Service.GetSelectedService();
                var genericMod        = customModProvider.GetMod(modId, ModSearchType.Id);
                this.WriteAjaxMessage($"Installing <strong>{genericMod.Name}</strong> via <strong>{customModBase.Name}</strong> provider", logger);
                customModProvider.PreInstallMod(service, genericMod);
                if (customModProvider.InstallMod(service, genericMod))
                {
                    customModProvider.AddInstalledPlugin(service, modId);
                    customModProvider.PostInstallMod(service, genericMod);
                    this.WriteAjaxMessage($"Successfully installed {genericMod.Name}".ToHtml().FontColor("green"), logger);
                    this.WriteAjaxSuccess();
                }
                else
                {
                    this.WriteAjaxMessage($"Could not install {genericMod.Name}".ToHtml().FontColor("red"), logger);
                    this.WriteAjaxError();
                }
            }
            catch (Exception exception)
            {
                logger.Fatal(exception);
                this.WriteAjaxMessage($"Failed to install mod - {exception.Message}", logger);
            }
        }
Exemple #3
0
        public ActionResult Configure(int id, FormCollection model)
        {
            var provider = DynamicTypeBase.GetCurrent <BackupProvider>();

            provider.UpdateConfigurationFromCollection(model, ControllerContext);
            return(this.SendSuccess("Updated configuration"));
        }
Exemple #4
0
        public ActionResult GetPlugin(int id, string modId)
        {
            this.EnforceFeaturePermission("ModManager");
            var customModBase = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");

            return(Json(customModBase.Create <CustomModProvider>().GetMod(modId, ModSearchType.Id), JsonRequestBehavior.AllowGet));
        }
Exemple #5
0
        public ActionResult PluginProvider(int id)
        {
            this.EnforceFeaturePermission("ModManager");
            var customModBase = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");

            return(View(customModBase.ViewName));
        }
Exemple #6
0
        public ActionResult ProviderConfigure(int id, FormCollection model)
        {
            var dnsProviderType = DynamicTypeBase.GetCurrent <DnsProviderType>();
            var bindModel       = model.Parse(ControllerContext, dnsProviderType.Configuration.Type);

            dnsProviderType.Configuration.SetConfiguration(bindModel);
            return(PartialView($"{dnsProviderType.Configuration.View}", bindModel));
        }
Exemple #7
0
        public static bool UpdateConfigurationFromCollection(this DynamicTypeBase dynamicTypeBase, FormCollection formCollection,
                                                             ControllerContext controllerContext)
        {
            var bindModel = formCollection.Parse(controllerContext, dynamicTypeBase.Configuration.Type,
                                                 dynamicTypeBase.Type.Name);

            return(dynamicTypeBase.Configuration.SetConfiguration(bindModel));
        }
Exemple #8
0
        public ActionResult Configure(int id)
        {
            var customModBase = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");
            var game          = TCAdmin.GameHosting.SDK.Objects.Game.GetSelectedGame();
            var config        = customModBase.GetConfigurationForGame(game);

            this.SetHtmlFieldPrefix(customModBase.Type.Name);
            return(View(customModBase.Configuration.View, config.ToObject(customModBase.Configuration.Type)));
        }
        public ActionResult Edit(int id, FormCollection model)
        {
            var provider = DynamicTypeBase.GetCurrent <OAuthProvider>();

            provider.UpdateConfigurationFromCollection(model, ControllerContext);
            return(Json(new
            {
                Message = provider.Name + " OAuth Settings successfully saved."
            }));
        }
Exemple #10
0
        public ActionResult ProviderConfigure(int id)
        {
            var dnsProviderType      = DynamicTypeBase.GetCurrent <DnsProviderType>();
            var configurationJObject = (JObject)dnsProviderType.Configuration.Parse <object>();
            var o = configurationJObject.ToObject(dnsProviderType.Configuration.Type);

            ViewData.TemplateInfo = new TemplateInfo
            {
                HtmlFieldPrefix = dnsProviderType.Configuration.Type.Name,
            };
            return(PartialView($"{dnsProviderType.Configuration.View}", o));
        }
Exemple #11
0
        public ActionResult Configure(int id, FormCollection formCollection)
        {
            TCAdmin.SDK.Cache.ClearCache("__SECURITY");
            var game = TCAdmin.GameHosting.SDK.Objects.Game.GetSelectedGame();
            var customModProvider = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");
            var bindModel         = formCollection.Parse(ControllerContext, customModProvider.Configuration.Type,
                                                         customModProvider.Type.Name);

            return(customModProvider.SetConfigurationForGame(game, bindModel)
                ? this.SendSuccess("Successfully saved the mod settings")
                : this.SendError("Unable to save custom mod settings!"));
        }
Exemple #12
0
        public static ActionResult GetConfigurationResultView(this DynamicTypeBase dynamicTypeBase,
                                                              ControllerBase controllerBase, string htmlFieldPrefix)
        {
            var config  = dynamicTypeBase.Configuration;
            var jObject = config.Parse <JObject>();

            controllerBase.ViewData.Model        = jObject.ToObject(config.Type);
            controllerBase.ViewData.TemplateInfo = new TemplateInfo
            {
                HtmlFieldPrefix = htmlFieldPrefix,
            };
            return(new PartialViewResult
            {
                ViewName = config.View,
                ViewData = controllerBase.ViewData,
                TempData = controllerBase.TempData,
            });
        }
        public async Task <ActionResult> Login(int id)
        {
            using (var securityBypass = new SecurityBypass(true))
            {
                var provider = DynamicTypeBase.GetCurrent <OAuthProvider>();
                Console.WriteLine(provider.GetType());
                var guid = Guid.NewGuid();
                var oAuthRequestState = new OAuthRequestState
                {
                    Provider          = provider,
                    RequestLoginState = TCAdmin.SDK.Session.IsAuthenticated()
                        ? OAuthRequestLoginState.Link
                        : OAuthRequestLoginState.Login,
                    UserId = TCAdmin.SDK.Session.IsAuthenticated() ? TCAdmin.SDK.Session.GetCurrentUser().UserId : -1
                };
                OAuthRequests.Add(guid, oAuthRequestState);

                var redirectUri = new Uri(await provider.ToClient().GetLoginLinkUriAsync(guid.ToString()));
                return(Redirect(redirectUri.ToString()));
            }
        }
Exemple #14
0
        public ActionResult InstallPluginWithTask(int id, string modId)
        {
            this.EnforceFeaturePermission("ModManager");
            this.PrepareAjax();
            var logger = LogManager.Create <CustomModsController>(nameof(InstallPlugin));

            try
            {
                var customModBase     = DynamicTypeBase.GetCurrent <CustomModBase>("providerId");
                var customModProvider = customModBase.Create <CustomModProvider>();
                var service           = Service.GetSelectedService();
                var genericMod        = customModProvider.GetMod(modId, ModSearchType.Id);
                customModProvider.PreInstallMod(service, genericMod);
                var taskid = customModProvider.InstallModWithTask(service, genericMod);
                return(Json(new { TaskId = taskid, Status = "success" }));
            }
            catch (Exception exception)
            {
                logger.Fatal(exception.ToString());
                return(Json(new { TaskId = -1, Status = "error", Message = exception.Message }));
            }
        }
        public ActionResult RunCronNow(int id)
        {
            var cronJob = DynamicTypeBase.GetCurrent <CronJob>();
            var master  = TCAdmin.GameHosting.SDK.Objects.Server.GetEnabledServers().Cast <Server>()
                          .FirstOrDefault(x => x.IsMaster);

            if (master == null)
            {
                return(Json(new { }));
            }

            var virtualDirectorySecurity = new VirtualDirectorySecurity();

            System.Threading.Tasks.Task.Run(() => cronJob.ExecuteCron());
            var consoleLog = cronJob.GetLogFile();
            var rt         = new RemoteTail(master, virtualDirectorySecurity, consoleLog, "Console Log", string.Empty,
                                            string.Empty);

            return(Json(new
            {
                url = rt.GetUrl()
            }));
        }
 public void Unpublish(DynamicTypeBase item)
 {
     this.Unpublish(item);
 }
 public void SchedulePublish(DynamicTypeBase item, DateTime publishDate)
 {
     this.SchedulePublish(item, publishDate);
 }
 public void Publish(DynamicTypeBase item)
 {
     this.Publish(item);
 }
 public void MarkAsDraft(DynamicTypeBase item)
 {
     this.MarkAsDraft(item);
 }
 public DynamicTypeBase GetEditableItem(DynamicTypeBase originalItem)
 {
     return(this.GetEditableItem(originalItem));
 }
 public void Delete(DynamicTypeBase item)
 {
     this.Delete(item);
 }
Exemple #22
0
        public ActionResult Configure(int id)
        {
            var provider = DynamicTypeBase.GetCurrent <BackupProvider>();

            return(provider.GetConfigurationResultView(this));
        }
Exemple #23
0
 public static ActionResult GetConfigurationResultView(this DynamicTypeBase dynamicTypeBase,
                                                       ControllerBase controllerBase)
 {
     return(GetConfigurationResultView(dynamicTypeBase, controllerBase, dynamicTypeBase.Type.Name));
 }