public virtual StatsSite GetSite(string siteId) { string configFileName = ConfigFileName.Replace("[DOMAIN_NAME]", siteId); string configFilePath = Path.Combine(AwStatsFolder, configFileName); if (!File.Exists(configFilePath)) { return(null); } StatsSite site = new StatsSite(); site.Name = siteId; site.SiteId = siteId; // process stats URL string url = null; if (!String.IsNullOrEmpty(StatisticsUrl)) { url = StringUtils.ReplaceStringVariable(StatisticsUrl, "domain_name", site.Name); url = StringUtils.ReplaceStringVariable(url, "site_id", siteId); } site.StatisticsUrl = url; return(site); }
public string AddSite(StatsSite site) { object[] results = this.Invoke("AddSite", new object[] { site }); return((string)(results[0])); }
private void BindItem() { try { if (!IsPostBack) { // load item if required if (PanelRequest.ItemID > 0) { // existing item item = ES.Services.StatisticsServers.GetSite(PanelRequest.ItemID); if (item != null) { // save package info ViewState["PackageId"] = item.PackageId; } else RedirectToBrowsePage(); } else { // new item ViewState["PackageId"] = PanelSecurity.PackageId; BindWebSites(PanelSecurity.PackageId); } } // load provider control LoadProviderControl((int)ViewState["PackageId"], "Statistics", providerControl, "EditSite.ascx"); if (!IsPostBack) { // bind item to controls if (item != null) { // bind item to controls lblDomainName.Text = item.Name; if (String.Compare(Request["Mode"], "view", true) == 0 && !String.IsNullOrEmpty(item.StatisticsUrl)) { // view mode Response.Redirect(item.StatisticsUrl); } // other controls IStatsEditInstallationControl ctrl = (IStatsEditInstallationControl)providerControl.Controls[0]; ctrl.BindItem(item); } } } catch { ShowWarningMessage("INIT_SERVICE_ITEM_FORM"); DisableFormControls(this, btnCancel); return; } }
public virtual string AddSite(StatsSite site) { // generate unique SiteID //int iSiteId = site.Name.GetHashCode(); //if (iSiteId < 0) // iSiteId *= -1; //string siteId = iSiteId.ToString(); // create logs folder if not exists //if (!FileUtils.DirectoryExists(site.LogDirectory)) // FileUtils.CreateDirectory(site.LogDirectory); // add site SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); if (site.Users == null || site.Users.Length == 0) { throw new Exception("At least one user (site owner) should be specified when creating new statistics site"); } string ownerUsername = site.Users[0].Username.ToLower(); GenericResult1 result = stAdmin.AddSite(Username, Password, site.Users[0].Username, site.Users[0].Password, site.Users[0].FirstName, site.Users[0].LastName, ServerId, 0, site.Name, site.LogDirectory, LogFormat, LogWildcard, LogDeleteDays, SmarterLogsPath, SmarterLogDeleteMonths, "", "", TimeZoneId); if (!result.Result) { throw new Exception("Error creating statistics site: " + result.Message); } string siteId = GetSiteId(site.Name); int iSiteId = Int32.Parse(siteId); // add other users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); foreach (StatsUser user in site.Users) { if (user.Username.ToLower() != ownerUsername) { // add user GenericResult2 r = usrAdmin.AddUser(Username, Password, iSiteId, user.Username, user.Password, user.FirstName, user.LastName, user.IsAdmin); if (!r.Result) { throw new Exception("Error adding site user: " + r.Message); } } } return(siteId); }
/// <remarks/> public void UpdateSiteAsync(StatsSite site, object userState) { if ((this.UpdateSiteOperationCompleted == null)) { this.UpdateSiteOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSiteOperationCompleted); } this.InvokeAsync("UpdateSite", new object[] { site }, this.UpdateSiteOperationCompleted, userState); }
public void BindItem(StatsSite item) { LocalizeGridView(gvUsers); if (item == null) return; txtSiteId.Text = item.SiteId; litSiteStatus.Text = item.Status; // users List<StatsUser> users = new List<StatsUser>(); users.AddRange(item.Users); if (users.Count == 0) AddNewUser(users, true, true); // bind users gvUsers.DataSource = users; gvUsers.DataBind(); ViewState["binded"] = true; }
/// <remarks/> public void UpdateSiteAsync(StatsSite site) { this.UpdateSiteAsync(site, null); }
public void UpdateSite(StatsSite site) { this.Invoke("UpdateSite", new object[] { site}); }
public string AddSite(StatsSite site) { object[] results = this.Invoke("AddSite", new object[] { site}); return ((string)(results[0])); }
public virtual string AddSite(StatsSite site) { // generate unique SiteID //int iSiteId = site.Name.GetHashCode(); //if (iSiteId < 0) // iSiteId *= -1; //string siteId = iSiteId.ToString(); // create logs folder if not exists //if (!FileUtils.DirectoryExists(site.LogDirectory)) // FileUtils.CreateDirectory(site.LogDirectory); // add site SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); if (site.Users == null || site.Users.Length == 0) throw new Exception("At least one user (site owner) should be specified when creating new statistics site"); string ownerUsername = site.Users[0].Username.ToLower(); GenericResult1 result = stAdmin.AddSite(Username, Password, site.Users[0].Username, site.Users[0].Password, site.Users[0].FirstName, site.Users[0].LastName, ServerId, 0, site.Name, site.LogDirectory, LogFormat, LogWildcard, LogDeleteDays, SmarterLogsPath, SmarterLogDeleteMonths, "", "", TimeZoneId); if (!result.Result) throw new Exception("Error creating statistics site: " + result.Message); string siteId = GetSiteId(site.Name); int iSiteId = Int32.Parse(siteId); // add other users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); foreach (StatsUser user in site.Users) { if (user.Username.ToLower() != ownerUsername) { // add user GenericResult2 r = usrAdmin.AddUser(Username, Password, iSiteId, user.Username, user.Password, user.FirstName, user.LastName, user.IsAdmin); if (!r.Result) throw new Exception("Error adding site user: " + r.Message); } } return siteId; }
public int UpdateSite(StatsSite item) { object[] results = this.Invoke("UpdateSite", new object[] { item}); return ((int)(results[0])); }
private void SaveItem() { if (!Page.IsValid) return; // get form data StatsSite item = new StatsSite(); item.Id = PanelRequest.ItemID; item.PackageId = PanelSecurity.PackageId; item.Name = ddlWebSites.SelectedValue; // get other props IStatsEditInstallationControl ctrl = (IStatsEditInstallationControl)providerControl.Controls[0]; ctrl.SaveItem(item); if (PanelRequest.ItemID == 0) { // new item try { int result = ES.Services.StatisticsServers.AddSite(item); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("STATS_ADD_STAT", ex); return; } } else { // existing item try { int result = ES.Services.StatisticsServers.UpdateSite(item); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("STATS_UPDATE_STAT", ex); return; } } // return RedirectSpaceHomePage(); }
public void BindItem(StatsSite item) { }
/// <remarks/> public System.IAsyncResult BeginUpdateSite(StatsSite site, System.AsyncCallback callback, object asyncState) { return(this.BeginInvoke("UpdateSite", new object[] { site }, callback, asyncState)); }
public void UpdateSite(StatsSite site) { this.Invoke("UpdateSite", new object[] { site }); }
/// <remarks/> public void AddSiteAsync(StatsSite site) { this.AddSiteAsync(site, null); }
/// <remarks/> public void AddSiteAsync(StatsSite item) { this.AddSiteAsync(item, null); }
/// <remarks/> public void UpdateSiteAsync(StatsSite item) { this.UpdateSiteAsync(item, null); }
public int AddSite(StatsSite item) { return StatisticsServerController.AddSite(item); }
public virtual void UpdateSite(StatsSite site) { // update site SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); int siteId = Int32.Parse(site.SiteId); // get original site SiteInfoResult siteResult = stAdmin.GetSite(Username, Password, siteId); if (siteResult.Site == null) { return; } SiteInfo origSite = siteResult.Site; // update site with only required properties GenericResult1 result = stAdmin.UpdateSite(Username, Password, siteId, site.Name, origSite.LogDirectory, origSite.LogFormat, origSite.LogWildcard, origSite.LogDaysBeforeDelete, origSite.SmarterLogDirectory, origSite.SmarterLogMonthsBeforeDelete, origSite.ExportPath, origSite.ExportPathURL, origSite.TimeZoneID); if (!result.Result) { throw new Exception("Error updating statistics site: " + result.Message); } // update site users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); // get original users if (site.Users != null) { List <string> origUsers = new List <string>(); List <string> newUsers = new List <string>(); string ownerUsername = null; UserInfoResultArray usrResult = usrAdmin.GetUsers(Username, Password, siteId); foreach (UserInfo user in usrResult.user) { // add to original users origUsers.Add(user.UserName.ToLower()); // remember owner (he can't be deleted) if (user.IsSiteOwner) { ownerUsername = user.UserName.ToLower(); } } // add, update users foreach (StatsUser user in site.Users) { if (!origUsers.Contains(user.Username.ToLower())) { // add user GenericResult2 r = usrAdmin.AddUser(Username, Password, siteId, user.Username, user.Password, user.FirstName, user.LastName, user.IsAdmin); if (!r.Result) { throw new Exception("Error adding site user: "******"Error updating site user: " + r.Message); } } // add to new users list newUsers.Add(user.Username.ToLower()); } // delete users foreach (string username in origUsers) { if (!newUsers.Contains(username) && username != ownerUsername) { // delete user GenericResult2 r = usrAdmin.DeleteUser(Username, Password, siteId, username); } } } }
/// <remarks/> public System.IAsyncResult BeginAddSite(StatsSite item, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("AddSite", new object[] { item}, callback, asyncState); }
public void SaveItem(StatsSite item) { }
public virtual void UpdateSite(StatsSite site) { // nope }
public string AddSite(StatsSite site) { try { Log.WriteStart("'{0}' AddSite", ProviderSettings.ProviderName); string result = StatsProvider.AddSite(site); Log.WriteEnd("'{0}' AddSite", ProviderSettings.ProviderName); return result; } catch (Exception ex) { Log.WriteError(String.Format("'{0}' AddSite", ProviderSettings.ProviderName), ex); throw; } }
/// <remarks/> public void AddSiteAsync(StatsSite item, object userState) { if ((this.AddSiteOperationCompleted == null)) { this.AddSiteOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddSiteOperationCompleted); } this.InvokeAsync("AddSite", new object[] { item}, this.AddSiteOperationCompleted, userState); }
public int UpdateSite(StatsSite item) { return StatisticsServerController.UpdateSite(item); }
public void UpdateSite(StatsSite site) { try { Log.WriteStart("'{0}' UpdateSite", ProviderSettings.ProviderName); StatsProvider.UpdateSite(site); Log.WriteEnd("'{0}' UpdateSite", ProviderSettings.ProviderName); } catch (Exception ex) { Log.WriteError(String.Format("'{0}' UpdateSite", ProviderSettings.ProviderName), ex); throw; } }
public virtual string AddSite(StatsSite site) { // check for AWStats folder existance string awFolder = AwStatsFolder; if (!Directory.Exists(awFolder)) { // try to create directory Directory.CreateDirectory(awFolder); } // create a new configuration file string configFileName = ConfigFileName; // ...and substitute variables configFileName = configFileName.Replace("[DOMAIN_NAME]", site.Name); string configFilePath = Path.Combine(awFolder, configFileName); // check if the file already exists if (File.Exists(configFilePath)) { return(site.Name); // nothing to create } // get config file template string configFileTemplate = ConfigFileTemplate; if (!String.IsNullOrEmpty(ConfigFileTemplatePath) && File.Exists(ConfigFileTemplatePath)) { // read template from file StreamReader reader = new StreamReader(ConfigFileTemplatePath); configFileTemplate = reader.ReadToEnd(); reader.Close(); } // ...and substitute variables configFileTemplate = configFileTemplate.Replace("[DOMAIN_NAME]", site.Name); configFileTemplate = site.DomainAliases.Length == 0 ? configFileTemplate.Replace("[DOMAIN_ALIASES]", "localhost 127.0.0.1") : configFileTemplate.Replace("[DOMAIN_ALIASES]", String.Join(" ", site.DomainAliases)); configFileTemplate = configFileTemplate.Replace("[LOGS_FOLDER]", site.LogDirectory); // create config file StreamWriter writer = new StreamWriter(configFilePath); writer.Write(configFileTemplate); writer.Close(); // add line to the batch file string batchFilePath = Path.Combine(awFolder, BatchFileName); // create file if not exists if (!File.Exists(batchFilePath)) { writer = new StreamWriter(batchFilePath); writer.Close(); } // read batch file List <string> lines = LoadBatchFile(batchFilePath); // check if the record is already added bool exists = false; foreach (string line in lines) { if (line.IndexOf("=" + site.Name) != -1) { exists = true; break; } } if (!exists) { // add new line to the batch string line = BatchLineTemplate; line = line.Replace("[DOMAIN_NAME]", site.Name); lines.Add(line); // save batch file SaveBatchFile(batchFilePath, lines); } return(site.Name); }
public virtual StatsSite GetSite(string siteId) { string configFileName = ConfigFileName.Replace("[DOMAIN_NAME]", siteId); string configFilePath = Path.Combine(AwStatsFolder, configFileName); if (!File.Exists(configFilePath)) return null; StatsSite site = new StatsSite(); site.Name = siteId; site.SiteId = siteId; // process stats URL string url = null; if (!String.IsNullOrEmpty(StatisticsUrl)) { url = StringUtils.ReplaceStringVariable(StatisticsUrl, "domain_name", site.Name); url = StringUtils.ReplaceStringVariable(url, "site_id", siteId); } site.StatisticsUrl = url; return site; }
public virtual StatsSite GetSite(string siteId) { SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); int sid = Int32.Parse(siteId); SiteInfoResult result = stAdmin.GetSite(Username, Password, sid); if (result.Site == null) return null; StatsSite site = new StatsSite(); site.Name = result.Site.DomainName; site.ExportPath = result.Site.ExportPath; site.ExportPathUrl = result.Site.ExportPathURL; site.LogDirectory = result.Site.LogDirectory; site.TimeZoneId = TimeZoneId; site.Status = result.Site.SiteStatus; // process stats URL string url = null; if (!String.IsNullOrEmpty(StatisticsUrl)) { url = StringUtils.ReplaceStringVariable(StatisticsUrl, "domain_name", site.Name); url = StringUtils.ReplaceStringVariable(url, "site_id", siteId); } // get site users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); UserInfoResultArray usrResult = usrAdmin.GetUsers(Username, Password, sid); if (usrResult.user != null) { site.Users = new StatsUser[usrResult.user.Length]; for (int i = 0; i < site.Users.Length; i++) { site.Users[i] = new StatsUser(); site.Users[i].Username = usrResult.user[i].UserName; site.Users[i].Password = usrResult.user[i].Password; site.Users[i].FirstName = usrResult.user[i].FirstName; site.Users[i].LastName = usrResult.user[i].LastName; site.Users[i].IsAdmin = usrResult.user[i].IsAdmin; site.Users[i].IsOwner = usrResult.user[i].IsSiteOwner; } if (site.Users.Length > 0 && !String.IsNullOrEmpty(url)) { url = StringUtils.ReplaceStringVariable(url, "username", site.Users[0].Username); url = StringUtils.ReplaceStringVariable(url, "password", site.Users[0].Password); } } site.StatisticsUrl = url; return site; }
public virtual string AddSite(StatsSite site) { // check for AWStats folder existance string awFolder = AwStatsFolder; if (!Directory.Exists(awFolder)) { // try to create directory Directory.CreateDirectory(awFolder); } // create a new configuration file string configFileName = ConfigFileName; // ...and substitute variables configFileName = configFileName.Replace("[DOMAIN_NAME]", site.Name); string configFilePath = Path.Combine(awFolder, configFileName); // check if the file already exists if (File.Exists(configFilePath)) { return site.Name; // nothing to create } // get config file template string configFileTemplate = ConfigFileTemplate; if (!String.IsNullOrEmpty(ConfigFileTemplatePath) && File.Exists(ConfigFileTemplatePath)) { // read template from file StreamReader reader = new StreamReader(ConfigFileTemplatePath); configFileTemplate = reader.ReadToEnd(); reader.Close(); } // ...and substitute variables configFileTemplate = configFileTemplate.Replace("[DOMAIN_NAME]", site.Name); configFileTemplate = site.DomainAliases.Length == 0 ? configFileTemplate.Replace("[DOMAIN_ALIASES]", "localhost 127.0.0.1") : configFileTemplate.Replace("[DOMAIN_ALIASES]", String.Join(" ", site.DomainAliases)); configFileTemplate = configFileTemplate.Replace("[LOGS_FOLDER]", site.LogDirectory); // create config file StreamWriter writer = new StreamWriter(configFilePath); writer.Write(configFileTemplate); writer.Close(); // add line to the batch file string batchFilePath = Path.Combine(awFolder, BatchFileName); // create file if not exists if (!File.Exists(batchFilePath)) { writer = new StreamWriter(batchFilePath); writer.Close(); } // read batch file List<string> lines = LoadBatchFile(batchFilePath); // check if the record is already added bool exists = false; foreach (string line in lines) { if (line.IndexOf("=" + site.Name) != -1) { exists = true; break; } } if (!exists) { // add new line to the batch string line = BatchLineTemplate; line = line.Replace("[DOMAIN_NAME]", site.Name); lines.Add(line); // save batch file SaveBatchFile(batchFilePath, lines); } return site.Name; }
public virtual void UpdateSite(StatsSite site) { // update site SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); int siteId = Int32.Parse(site.SiteId); // get original site SiteInfoResult siteResult = stAdmin.GetSite(Username, Password, siteId); if (siteResult.Site == null) return; SiteInfo origSite = siteResult.Site; // update site with only required properties GenericResult1 result = stAdmin.UpdateSite(Username, Password, siteId, site.Name, origSite.LogDirectory, origSite.LogFormat, origSite.LogWildcard, origSite.LogDaysBeforeDelete, origSite.SmarterLogDirectory, origSite.SmarterLogMonthsBeforeDelete, origSite.ExportPath, origSite.ExportPathURL, origSite.TimeZoneID); if (!result.Result) throw new Exception("Error updating statistics site: " + result.Message); // update site users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); // get original users if (site.Users != null) { List<string> origUsers = new List<string>(); List<string> newUsers = new List<string>(); string ownerUsername = null; UserInfoResultArray usrResult = usrAdmin.GetUsers(Username, Password, siteId); foreach (UserInfo user in usrResult.user) { // add to original users origUsers.Add(user.UserName.ToLower()); // remember owner (he can't be deleted) if (user.IsSiteOwner) ownerUsername = user.UserName.ToLower(); } // add, update users foreach (StatsUser user in site.Users) { if (!origUsers.Contains(user.Username.ToLower())) { // add user GenericResult2 r = usrAdmin.AddUser(Username, Password, siteId, user.Username, user.Password, user.FirstName, user.LastName, user.IsAdmin); if (!r.Result) throw new Exception("Error adding site user: "******"Error updating site user: " + r.Message); } // add to new users list newUsers.Add(user.Username.ToLower()); } // delete users foreach (string username in origUsers) { if (!newUsers.Contains(username) && username != ownerUsername) { // delete user GenericResult2 r = usrAdmin.DeleteUser(Username, Password, siteId, username); } } } }
public static int AddSite(StatsSite item) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; // check package int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); if (packageCheck < 0) return packageCheck; // check quota QuotaValueInfo quota = PackageController.GetPackageQuota(item.PackageId, Quotas.STATS_SITES); if (quota.QuotaExhausted) return BusinessErrorCodes.ERROR_STATS_RESOURCE_QUOTA_LIMIT; // check if stats resource is available int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.Statistics); if (serviceId == 0) return BusinessErrorCodes.ERROR_STATS_RESOURCE_UNAVAILABLE; // check package items if (PackageController.GetPackageItemByName(item.PackageId, item.Name, typeof(StatsSite)) != null) return BusinessErrorCodes.ERROR_STATS_PACKAGE_ITEM_EXISTS; // place log record TaskManager.StartTask("STATS_SITE", "ADD", item.Name); try { // load web site WebSite siteItem = (WebSite)PackageController.GetPackageItemByName(item.PackageId, item.Name, typeof(WebSite)); if (siteItem == null) return BusinessErrorCodes.ERROR_WEB_SITE_SERVICE_UNAVAILABLE; // get service web site WebServer web = new WebServer(); ServiceProviderProxy.Init(web, siteItem.ServiceId); WebSite site = web.GetSite(siteItem.SiteId); List<DomainInfo> pointers = WebServerController.GetWebSitePointers(siteItem.Id); List<string> aliases = new List<string>(); foreach(DomainInfo pointer in pointers) aliases.Add(pointer.DomainName); StatisticsServer stats = new StatisticsServer(); ServiceProviderProxy.Init(stats, serviceId); string siteNumber = (site.IIs7) ? site[WebSite.IIS7_SITE_ID] : siteItem.SiteId.Replace("/", ""); string logsCommonFolder = site.LogsPath; string logsFolder = Path.Combine(logsCommonFolder, siteNumber); // get service settings StringDictionary settings = ServerController.GetServiceSettings(serviceId); if (Utils.ParseBool(settings["BuildUncLogsPath"], false)) { logsFolder = FilesController.ConvertToUncPath(siteItem.ServiceId, logsFolder); } item.LogDirectory = logsFolder; item.DomainAliases = aliases.ToArray(); // install statistics item.SiteId = stats.AddSite(item); // save statistics item item.ServiceId = serviceId; int itemId = PackageController.AddPackageItem(item); TaskManager.ItemId = itemId; return itemId; } catch (Exception ex) { throw TaskManager.WriteError(ex); } finally { TaskManager.CompleteTask(); } }
/// <remarks/> public System.IAsyncResult BeginUpdateSite(StatsSite site, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("UpdateSite", new object[] { site}, callback, asyncState); }
public static int UpdateSite(StatsSite item) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; // load original meta item StatsSite origItem = (StatsSite)PackageController.GetPackageItem(item.Id); if (origItem == null) return BusinessErrorCodes.ERROR_STATS_PACKAGE_ITEM_NOT_FOUND; // check package int packageCheck = SecurityContext.CheckPackage(origItem.PackageId, DemandPackage.IsActive); if (packageCheck < 0) return packageCheck; // update statistics site item.Name = origItem.Name; item.SiteId = origItem.SiteId; // place log record TaskManager.StartTask("STATS_SITE", "UPDATE", origItem.Name); TaskManager.ItemId = origItem.Id; try { StatisticsServer stats = new StatisticsServer(); ServiceProviderProxy.Init(stats, origItem.ServiceId); stats.UpdateSite(item); // update service item PackageController.UpdatePackageItem(item); return 0; } catch (Exception ex) { throw TaskManager.WriteError(ex); } finally { TaskManager.CompleteTask(); } }
/// <remarks/> public void UpdateSiteAsync(StatsSite site, object userState) { if ((this.UpdateSiteOperationCompleted == null)) { this.UpdateSiteOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSiteOperationCompleted); } this.InvokeAsync("UpdateSite", new object[] { site}, this.UpdateSiteOperationCompleted, userState); }
public void ImportItem(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group, string itemName) { // get service id int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); if (serviceId == 0) return; StatisticsServer stats = new StatisticsServer(); ServiceProviderProxy.Init(stats, serviceId); if (itemType == typeof(StatsSite)) { // import statistics site StatsSite site = new StatsSite(); site.ServiceId = serviceId; site.PackageId = packageId; site.Name = itemName; site.GroupName = group.GroupName; // load site id site.SiteId = stats.GetSiteId(itemName); PackageController.AddPackageItem(site); } }
public void SaveItem(StatsSite item) { // users item.Users = CollectFormData(false).ToArray(); }
public virtual StatsSite GetSite(string siteId) { SiteAdmin stAdmin = new SiteAdmin(); PrepareProxy(stAdmin); int sid = Int32.Parse(siteId); SiteInfoResult result = stAdmin.GetSite(Username, Password, sid); if (result.Site == null) { return(null); } StatsSite site = new StatsSite(); site.Name = result.Site.DomainName; site.ExportPath = result.Site.ExportPath; site.ExportPathUrl = result.Site.ExportPathURL; site.LogDirectory = result.Site.LogDirectory; site.TimeZoneId = TimeZoneId; site.Status = result.Site.SiteStatus; // process stats URL string url = null; if (!String.IsNullOrEmpty(StatisticsUrl)) { url = StringUtils.ReplaceStringVariable(StatisticsUrl, "domain_name", site.Name); url = StringUtils.ReplaceStringVariable(url, "site_id", siteId); } // get site users UserAdmin usrAdmin = new UserAdmin(); PrepareProxy(usrAdmin); UserInfoResultArray usrResult = usrAdmin.GetUsers(Username, Password, sid); if (usrResult.user != null) { site.Users = new StatsUser[usrResult.user.Length]; for (int i = 0; i < site.Users.Length; i++) { site.Users[i] = new StatsUser(); site.Users[i].Username = usrResult.user[i].UserName; site.Users[i].Password = usrResult.user[i].Password; site.Users[i].FirstName = usrResult.user[i].FirstName; site.Users[i].LastName = usrResult.user[i].LastName; site.Users[i].IsAdmin = usrResult.user[i].IsAdmin; site.Users[i].IsOwner = usrResult.user[i].IsSiteOwner; } if (site.Users.Length > 0 && !String.IsNullOrEmpty(url)) { url = StringUtils.ReplaceStringVariable(url, "username", site.Users[0].Username); url = StringUtils.ReplaceStringVariable(url, "password", site.Users[0].Password); } } site.StatisticsUrl = url; return(site); }