public string GetLatestVersionNumber(string id) { if (ProgramSettings.Settings.CheckUpdate) { if (UpdateController.IsUpdateAvaiable(id)) { var updater = UpdateController.GetUpdater(id); return(updater.GetLatestVersionNumber(false).Result); } } return(null); }
public override async Task <string> Handle(HttpRequest request, HttpResponse response) { var items = new List <IItem>(); await Task.Run((() => { if (ProgramSettings.Settings.CheckUpdate) { if (UpdateController.IsUpdateAvaiable("RemoteFork")) { items.Add( new FileItem() { Title = $"Доступна новая версия: {UpdateController.GetUpdater("RemoteFork").GetLatestVersionNumber(false).Result}", Link = "http://newversion.m3u" } ); } } if (ProgramSettings.Settings.Dlna) { if (ProgramSettings.Settings.DlnaFilterType == FilterMode.INCLUSION) { if (ProgramSettings.Settings.DlnaDirectories != null) { foreach (string directory in ProgramSettings.Settings.DlnaDirectories) { Console.WriteLine(directory); if (FileManager.DirectoryExists(directory)) { Console.WriteLine(true); items.Add(DlnaDirectoryRequestHandler.CreateDirectoryItem(request, directory)); Log.LogDebug($"Filtering directory: {directory}"); } } } } else { var drives = FileManager.GetDrives(); foreach (var drive in drives.Where(i => Tools.Tools.CheckAccessPath(i.Name))) { if (drive.IsReady) { string mainText = $"{drive.Name} ({Tools.Tools.FSize(drive.AvailableFreeSpace)} свободно из {Tools.Tools.FSize(drive.TotalSize)})"; string subText = $"<br>Метка диска: {drive.VolumeLabel}<br>Тип носителя: {drive.DriveType}"; items.Add(new DirectoryItem() { Title = mainText + subText, Link = DlnaDirectoryRequestHandler.CreateDriveItem(request, drive.Name) }); Log.LogDebug($"Drive: {mainText}{subText}"); } } } } if ((ProgramSettings.Settings.UserUrls != null) && (ProgramSettings.Settings.UserUrls.Length > 0)) { items.Add( new DirectoryItem() { Title = "Пользовательские ссылки", Link = CreateUrl(request, UserUrlsRequestHandler.URL_PATH, new NameValueCollection() { { string.Empty, UserUrlsRequestHandler.PARAM_URLS } }) } ); Log.LogDebug("User urls: {0}", ProgramSettings.Settings.UserUrls.Length); } foreach (var plugin in PluginManager.Instance.GetPlugins()) { var item = new DirectoryItem() { Title = plugin.Value.Name, Link = PluginRequestHandler.CreatePluginUrl(request, plugin.Key) }; if (ProgramSettings.Settings.PluginIcons) { item.ImageLink = plugin.Value.Attribute.ImageLink; } items.Add(item); Log.LogDebug("Plugin: {0}", plugin.Value.ToString()); } })); PlayList playList = null; if (ProgramSettings.Settings.StartPageModernStyle) { playList = new RootPlayList(); } else { playList = new PlayList(); } playList.Items = items.ToArray(); return(ResponseManager.CreateResponse(playList)); }
public static SettingsModel GetModel(dynamic viewBag) { var ipAddresses = Tools.Tools.GetIPAddresses(); var ipList = ipAddresses.Select(ip => new SelectListItem() { Text = ip.ToString(), Value = ip.ToString() }).ToList(); var logLevels = Enum.GetValues(typeof(LogLevel)).Cast <LogLevel>(); var logList = logLevels.Select(log => new SelectListItem() { Text = log.ToString(), Value = ((byte)log).ToString() }).ToList(); viewBag.Ips = new SelectList(ipList, "Value", "Text", ProgramSettings.Settings.IpAddress); viewBag.Logs = new SelectList(logList, "Value", "Text", ProgramSettings.Settings.LogLevel); viewBag.AceStreamCheck = $"http://{ProgramSettings.Settings.IpAddress}:{ProgramSettings.Settings.AceStreamPort}/webui/api/service?method=get_version&format=jsonp&callback=mycallback"; var proxyType = Enum.GetValues(typeof(ProxyType)).Cast <ProxyType>(); var proxyTypeList = proxyType.Select(proxy => new SelectListItem() { Text = proxy.ToString(), Value = ((byte)proxy).ToString() }) .ToList(); viewBag.ProxyType = new SelectList(proxyTypeList, "Value", "Text", ((byte)ProgramSettings.Settings.ProxyType).ToString()); var model = new SettingsModel() { IP = ProgramSettings.Settings.IpAddress, Port = ProgramSettings.Settings.Port, ListenLocalhost = ProgramSettings.Settings.ListenLocalhost, ProxyEnable = ProgramSettings.Settings.UseProxy, ProxyAddress = ProgramSettings.Settings.ProxyAddress, ProxyPort = ProgramSettings.Settings.ProxyPort, ProxyUserName = ProgramSettings.Settings.ProxyUserName, ProxyPassword = ProgramSettings.Settings.ProxyPassword, ProxyNotDefaultEnable = ProgramSettings.Settings.ProxyNotDefaultEnable, ProxyType = ((byte)ProgramSettings.Settings.ProxyType).ToString(), AceStreamPort = ProgramSettings.Settings.AceStreamPort, CheckUpdate = ProgramSettings.Settings.CheckUpdate, UserAgent = ProgramSettings.Settings.UserAgent, DeveloperMode = ProgramSettings.Settings.DeveloperMode, StartPageModernStyle = ProgramSettings.Settings.StartPageModernStyle, }; if (ProgramSettings.Settings.CheckUpdate) { if (UpdateController.IsUpdateAvaiable("RemoteFork")) { var updater = UpdateController.GetUpdater("RemoteFork"); model.DownloadLink = updater.GetDownloadLinkLastVersion(); model.LatestVersion = updater.GetLatestVersionNumber(false).Result; } } return(model); }